<!doctypehtml><html dir=ltr xmlns=http://www.w3.org/1999/xhtml><head lang=en><meta http-equiv=X-UA-Compatible content="IE=edge"><meta content="text/html; charset=utf-8"http-equiv=Content-Type><meta name=viewport content="user-scalable=1,initial-scale=1,minimum-scale=1,maximum-scale=1"><meta name=apple-mobile-web-app-capable content=yes><meta name=format-detection content="telephone=no"><meta name=robots content=noindex,nofollow><link rel=manifest href={{{domainurl}}}manifest.json><link rel="shortcut icon"type=image/x-icon href={{{domainurl}}}favicon.ico><link keeplink=1 type=text/css href=styles/style.css media=screen rel=stylesheet title=CSS><link rel=apple-touch-icon href=/favicon-303x303.png><script src=scripts/common-0.0.1{{min}}.js></script><script keeplink=1 src=scripts/u2f-api{{min}}.js></script><title>{{{title}}} - Login</title><style>#body{background-color:#5f9ea0;background:linear-gradient(to bottom right,#369,#036)}#flink a:link{color:#c8c8c8}#flink a:visited{color:#c8c8c8}#flink a:hover{color:#c8c8c8}#flink a:active{color:#c8c8c8}#welcomeText a:link{color:#fff}#welcomeText a:visited{color:#fff}#welcomeText a:hover{color:#fff}#welcomeText a:active{color:#fff}</style><body id=body onload='"undefined"!=typeof startup&&startup()'class="arg_hide login"><div id=backgroundImage style="position:absolute;left:0;bottom:0;z-index:-1;height:60%;width:100%;opacity:.1;background-image:url(welcome.png);background-repeat:no-repeat;background-position:left bottom;background-size:contain"></div><table id=centralTable class=container style=height:100%;z-index:1><tr><td id=logincell>{{{titlehtml}}} <img id=loginPicture><div style="font-size:46px;font-family:Arial,Helvetica,sans-serif;font-weight:700;padding-bottom:10px;color:#c8c8c8;text-shadow:2px 2px 2px #000">{{{title1}}}<sup style=font-size:20px> {{{title2}}}</sup></div><div id=loginpanel style="display:none;box-shadow:1px 1px 4px #000"><form id=loginpanelform method=post><input type=hidden name=action value=login><div id=message1></div><div id=loginuserpassdiv style=display:none><table style=width:100%><tr><td><input id=username title=Benutzername style=box-sizing:border-box;width:280px;border:0;border-radius:4px;padding:8px;background-color:#fff8cc {{{autocomplete}}}=username placeholder=Benutzername maxlength=64 name=username required onchange=validateLogin(1) onkeyup=validateLogin(1,event)><tr><td><input id=password title=Passwort style=box-sizing:border-box;width:280px;border:0;border-radius:4px;padding:8px;background-color:#fff8cc {{{autocomplete}}}=current-password placeholder=Passwort type=password maxlength=256 name=password required onchange=validateLogin(2) onkeyup=validateLogin(2,event)><tr><td><div id=showPassHintLink title=Passwort-Tipp style=box-sizing:border-box;width:280px;border:0;border-radius:4px;padding:8px;background-color:#fff8cc;display:none><a onclick="return showPassHint(event)"href=# style=cursor:pointer>Hinweis anzeigen</a></div><tr><td><input id=loginButton style=box-sizing:border-box;width:280px;border:0;border-radius:4px;padding:6px onclick='submitButtonClicked("loginpanelform")'type=button value=Anmelden><tr id=topLanguageSelectRow style=display:none><td id=topLanguageSelect></table><div id=hrAccountDiv style=display:none><hr></div><div id=resetAccountDiv style=display:none;padding:2px><span id=resetAccountSpan>Benutzername/Passwort vergessen?</span> <a onclick="return xgo(3,event)"href=# style=cursor:pointer>Konto zurücksetzen</a>.</div><div id=newAccountDiv style=display:none;padding:2px;padding-top:10px>Sie haben kein Konto? <a onclick="return xgo(2,event)"href=# style=cursor:pointer>Erstelle eines</a>.</div></div><input id=loginformargs name=urlargs type=hidden><div id=authStrategies style=display:none><hr id=loginuserpasshr style=display:none><div style=margin-bottom:8px>Melden Sie sich mit einem vorhandenen Konto an</div><a id=auth-twitter href=auth-twitter style=display:none><img src=images/login/twitter32.png srcset="images/login/twitter64.png 2x"loading=lazy width=32 height=32 style="margin-left:3px;margin-right:3px;border-radius:3px;box-shadow:2px 2px 5px #000;cursor:pointer"title="Melden Sie sich über Twitter an"></a><a id=auth-google href=auth-google style=display:none><img src=images/login/google32.png srcset="images/login/google64.png 2x"loading=lazy width=32 height=32 style="margin-left:3px;margin-right:3px;border-radius:3px;box-shadow:2px 2px 5px #000;cursor:pointer"title="Melden Sie sich mit Google an"></a><a id=auth-github href=auth-github style=display:none><img src=images/login/github32.png srcset="images/login/github64.png 2x"loading=lazy width=32 height=32 style="margin-left:3px;margin-right:3px;border-radius:3px;box-shadow:2px 2px 5px #000;cursor:pointer"title="Melden Sie sich mit GitHub an"></a><a id=auth-azure href=auth-azure style=display:none><img src=images/login/azure32.png srcset="images/login/azure64.png 2x"loading=lazy width=32 height=32 style="margin-left:3px;margin-right:3px;border-radius:3px;box-shadow:2px 2px 5px #000;cursor:pointer"title="Melden Sie sich mit Azure an"></a><a id=auth-oidc href=auth-oidc style=display:none><img src=images/login/oidc32.png srcset="images/login/oidc64.png 2x"loading=lazy width=32 height=32 style="margin-left:3px;margin-right:3px;border-radius:3px;box-shadow:2px 2px 5px #000;cursor:pointer"title="Melden Sie sich mit OpenID an"></a><a id=auth-oidc-azure href=auth-oidc style=display:none><img src=images/login/azure32.png srcset="images/login/azure64.png 2x"loading=lazy width=32 height=32 style="margin-left:3px;margin-right:3px;border-radius:3px;box-shadow:2px 2px 5px #000;cursor:pointer"title="Sign-in with Azure using OpenID Connect"></a><a id=auth-oidc-google href=auth-oidc style=display:none><img src=images/login/google32.png srcset="images/login/google64.png 2x"loading=lazy width=32 height=32 style="margin-left:3px;margin-right:3px;border-radius:3px;box-shadow:2px 2px 5px #000;cursor:pointer"title="Sign-in with Google using OpenID Connect"></a><a id=auth-jumpcloud href=auth-jumpcloud style=display:none><img src=images/login/jumpcloud32.png srcset="images/login/jumpcloud64.png 2x"loading=lazy width=32 height=32 style="margin-left:3px;margin-right:3px;border-radius:3px;box-shadow:2px 2px 5px #000;cursor:pointer"title="Melden Sie sich mit JumpCloud an"></a><a id=auth-intel href=auth-intel style=display:none><img src=images/login/intel32.png srcset="images/login/intel64.png 2x"loading=lazy width=32 height=32 style="margin-left:3px;margin-right:3px;border-radius:3px;box-shadow:2px 2px 5px #000;cursor:pointer"title="Melden Sie sich mit Intel an"></a><a id=auth-saml href=auth-saml style=display:none><img src=images/login/generic32.png srcset="images/login/generic64.png 2x"loading=lazy width=32 height=32 style="margin-left:3px;margin-right:3px;border-radius:3px;box-shadow:2px 2px 5px #000;cursor:pointer"title="Single Sign-In"></a></div></form></div><div id=createpanel style=display:none;position:relative><form id=createpanelform method=post><input type=hidden name=action value=createaccount><div id=message2></div><div><b>Konto-Erzeugung</b></div><div id=passwordPolicyCallout style=display:none></div><table><tr id=nuUserRow><td id=nuUser align=right width=100>Benutzername:<td><input id=ausername {{{autocomplete}}}=username name=username onchange=validateCreate(1) maxlength=64 onkeydown=haltReturn(event) onkeyup=validateCreate(1,event)><tr><td id=nuEmail align=right width=100>E-Mail:<td><input id=aemail {{{autocomplete}}}=email inputmode=email name=email onchange=validateCreate(2) maxlength=256 onkeydown=haltReturn(event) onkeyup=validateCreate(2,event)><tr><td id=nuPass1 align=right>Passwort:<td><input id=apassword1 type=password name=password1 {{{autocomplete}}}=new-password maxlength=256 onkeydown=haltReturn(event) onchange=validateCreate(3,event) onkeyup=validateCreate(3,event)><tr><td id=nuPass2 align=right>Passwort:<td><input id=apassword2 type=password name=password2 {{{autocomplete}}}=new-password maxlength=256 onkeydown=haltReturn(event) onchange=validateCreate(4,event) onkeyup=validateCreate(4,event)><tr id=createPanelHint style=display:none><td id=nuHint align=right>Passwort-Tipp:<td><input id=apasswordhint name=apasswordhint {{{autocomplete}}}=off maxlength=256 onkeydown=haltReturn(event) onchange=validateCreate(5,event) onkeyup=validateCreate(5,event)><tr id=newAccountPass title="Geben Sie das Kontoerstellungstoken ein"><td id=nuToken align=right>Erzeugungs-Token:<td><input id=anewaccountpass type=password name=anewaccountpass {{{autocomplete}}}=off maxlength=256 onkeydown=haltReturn(event) onchange=validateCreate(6,event) onkeyup=validateCreate(6,event)><tr id=newAccountCaptchaImg title="CAPTCHA Bild"><td><td colspan=2><img src={{{newAccountCaptchaImage}}} loading=lazy><tr id=newAccountCaptcha title=Sicherheitsprüfung><td id=nuCaptcha align=right>Sicherheitsprüfung:<td><input id=anewaccountcaptcha name=anewaccountcaptcha {{{autocomplete}}}=off maxlength=256 onkeydown=haltReturn(event) onchange=validateCreate(7,event) onkeyup=validateCreate(7,event)><tr><td colspan=2><div style=float:right><input id=createButton type=button onclick='submitButtonClicked("createpanelform")'value="Konto erstellen"disabled></div><div id=passWarning style=padding-top:6px></div></table><hr><a onclick="return xgo(1,event)"href=# style=cursor:pointer>Zurück zur Anmeldung</a> <input id=createformargs name=urlargs type=hidden> <input id=createformcaptcha name=captchaargs type=hidden value={{{newAccountCaptcha}}}></form></div><div id=resetpanel style=display:none><form id=resetpanelform method=post><input type=hidden name=action value=resetaccount><div id=message3></div><div><b>Konto-Rücksetzung</b></div><table style=width:100%;margin-top:4px;margin-bottom:4px><tr><td><input id=remail title=E-Mail style=box-sizing:border-box;width:280px;border:0;border-radius:4px;padding:8px;background-color:#fff8cc {{{autocomplete}}}=username placeholder=E-Mail maxlength=256 name=email onchange=validateReset() onkeyup=validateReset(event)><tr><td><input id=eresetButton style=box-sizing:border-box;width:280px;border:0;border-radius:4px;padding:6px type=button onclick='submitButtonClicked("resetpanelform")'value="Konto zurücksetzen"disabled></table><hr><a onclick="return xgo(1,event)"href=# style=cursor:pointer>Zurück zur Anmeldung</a> <input id=resetformargs name=urlargs type=hidden></form></div><div id=tokenpanel style=display:none><form id=tokenpanelform method=post {{{autocomplete}}}=off><input type=hidden name=action value=tokenlogin> <input type=hidden name=hwstate value={{{hwstate}}}><div id=message4></div><table style=width:100%><tr><td><input id=tokenInput {{{autocomplete}}}=one-time-code title=Token style=box-sizing:border-box;width:280px;border:0;border-radius:4px;padding:8px;background-color:#fff8cc placeholder=Token maxlength=50 name=token onchange=checkToken(event) onpaste=checkToken(event) onkeyup=checkToken(event) onkeydown=checkToken(event)><br><input id=hwtokenInput name=hwtoken style=display:none><tr><td><div><input id=tokenOkButton style=box-sizing:border-box;width:280px;border:0;border-radius:4px;padding:6px type=button onclick='submitButtonClicked("tokenpanelform")'value=Anmelden disabled></div><tr><td style=align-content:center;padding-top:10px><label id=tokenInputRememberLabel><input id=tokenInputRemember name=remembertoken type=checkbox><span id=tokenInputRememberSpan></span></label><tr id=2farow><td><hr><div><img id=securityKeyButton src=images/login/2fa-key-48.png srcset="images/login/2fa-key-96.png 2x"title="Verwende Sicherheitsschlüssel"loading=lazy width=48 height=48 style="display:none;margin-left:3px;margin-right:3px;border-radius:3px;box-shadow:2px 2px 5px #000;cursor:pointer;background-color:#fff"onclick=useSecurityKey(1)> <img id=smsKeyButton src=images/login/2fa-sms-48.png srcset="images/login/2fa-sms-96.png 2x"title=SMS loading=lazy width=48 height=48 style="display:none;margin-left:3px;margin-right:3px;border-radius:3px;box-shadow:2px 2px 5px #000;cursor:pointer;background-color:#fff"onclick=useSMSToken(1)> <img id=msgKeyButton src=images/login/2fa-messaging-48.png srcset="images/login/2fa-messaging-96.png 2x"title=Benachrichtigung loading=lazy width=48 height=48 style="display:none;margin-left:3px;margin-right:3px;border-radius:3px;box-shadow:2px 2px 5px #000;cursor:pointer;background-color:#fff"onclick=useMsgToken(1)> <img id=emailKeyButton src=images/login/2fa-mail-48.png srcset="images/login/2fa-mail-96.png 2x"title=E-Mail loading=lazy width=48 height=48 style="display:none;margin-left:3px;margin-right:3px;border-radius:3px;box-shadow:2px 2px 5px #000;cursor:pointer;background-color:#fff"onclick=useEmailToken(1)> <img id=pushKeyButton src=images/login/2fa-push-48.png srcset="images/login/2fa-push-96.png 2x"title=Geräteauthentifizierung loading=lazy width=48 height=48 style="display:none;margin-left:3px;margin-right:3px;border-radius:3px;box-shadow:2px 2px 5px #000;cursor:pointer;background-color:#fff"onclick=usePushToken(1)> <img id=duoKeyButton src=images/login/2fa-duo-48.png srcset="images/login/2fa-duo-96.png 2x"title="Duo Authentication"loading=lazy width=48 height=48 style="display:none;margin-left:3px;margin-right:3px;border-radius:3px;box-shadow:2px 2px 5px #000;cursor:pointer;background-color:#fff"onclick=useDuoToken(1)></div></table><hr><a onclick="return xgo(1,event)"href=# style=cursor:pointer>Zurück zur Anmeldung</a> <input id=tokenformargs name=urlargs type=hidden></form></div><div id=resettokenpanel style=display:none><form id=resettokenpanelform method=post><input type=hidden name=action value=resetaccount><div id=message5></div><table style=width:100%><tr><td><input id=resetTokenInput {{{autocomplete}}}=one-time-code title=Token style=box-sizing:border-box;width:280px;border:0;border-radius:4px;padding:8px;background-color:#fff8cc placeholder=Token maxlength=50 name=token onchange=resetCheckToken(event) onpaste=resetCheckToken(event) onkeyup=resetCheckToken(event) onkeydown=resetCheckToken(event)><br><input id=resetHwtokenInput name=hwtoken style=display:none><tr><td><div><input id=resetTokenOkButton style=box-sizing:border-box;width:280px;border:0;border-radius:4px;padding:6px type=button onclick='submitButtonClicked("resettokenpanelform")'value=Anmelden disabled></div><tr id=2farow2><td colspan=2><hr><div><img id=securityKeyButton2 src=images/login/2fa-key-48.png srcset="images/login/2fa-key-96.png 2x"title="Verwende Sicherheitsschlüssel"loading=lazy width=48 height=48 style="display:none;margin-left:3px;margin-right:3px;border-radius:3px;box-shadow:2px 2px 5px #000;cursor:pointer;background-color:#fff"onclick=useSecurityKey(2)> <img id=smsKeyButton2 src=images/login/2fa-sms-48.png srcset="images/login/2fa-sms-96.png 2x"title=SMS loading=lazy width=48 height=48 style="display:none;margin-left:3px;margin-right:3px;border-radius:3px;box-shadow:2px 2px 5px #000;cursor:pointer;background-color:#fff"onclick=useSMSToken(2)> <img id=msgKeyButton2 src=images/login/2fa-msg-48.png srcset="images/login/2fa-msg-96.png 2x"title=SMS loading=lazy width=48 height=48 style="display:none;margin-left:3px;margin-right:3px;border-radius:3px;box-shadow:2px 2px 5px #000;cursor:pointer;background-color:#fff"onclick=useMsgToken(2)> <img id=emailKeyButton2 src=images/login/2fa-mail-48.png srcset="images/login/2fa-mail-96.png 2x"title=E-Mail loading=lazy width=48 height=48 style="display:none;margin-left:3px;margin-right:3px;border-radius:3px;box-shadow:2px 2px 5px #000;cursor:pointer;background-color:#fff"onclick=useEmailToken(2)> <img id=pushKeyButton2 src=images/login/2fa-push-48.png srcset="images/login/2fa-push-96.png 2x"title=Geräteauthentifizierung loading=lazy width=48 height=48 style="display:none;margin-left:3px;margin-right:3px;border-radius:3px;box-shadow:2px 2px 5px #000;cursor:pointer;background-color:#fff"onclick=usePushToken(2)> <img id=duoKeyButton2 src=images/login/2fa-duo-48.png srcset="images/login/2fa-duo-96.png 2x"title="Duo Authentication"loading=lazy width=48 height=48 style="display:none;margin-left:3px;margin-right:3px;border-radius:3px;box-shadow:2px 2px 5px #000;cursor:pointer;background-color:#fff"onclick=useDuoToken(2)></div></table><hr><a onclick="return xgo(1,event)"href=# style=cursor:pointer>Zurück zur Anmeldung</a> <input id=resettokenformargs name=urlargs type=hidden></form></div><div id=resetpasswordpanel style=display:none;position:relative><form id=resetpasswordpanelform method=post><input type=hidden name=action value=resetpassword><div id=message6></div><div id=rpasswordPolicyCallout style=display:none></div><table><tr><td id=rnuPass1 width=100 align=right>Passwort:<td><input id=rapassword1 type=password name=rpassword1 {{{autocomplete}}}=off maxlength=256 onkeydown=haltReturn(event) onchange=validatePassReset(3,event) onkeyup=validatePassReset(3,event)><tr><td id=rnuPass2 align=right>Passwort:<td><input id=rapassword2 type=password name=rpassword2 {{{autocomplete}}}=off maxlength=256 onkeydown=haltReturn(event) onchange=validatePassReset(4,event) onkeyup=validatePassReset(4,event)><tr id=resetpasswordpanelHint style=display:none><td id=rnuHint align=right>Passwort-Tipp:<td><input id=rapasswordhint name=rpasswordhint {{{autocomplete}}}=off maxlength=256 onkeydown=haltReturn(event) onchange=validatePassReset(5,event) onkeyup=validatePassReset(5,event)><tr><td colspan=2><div style=float:right><input id=resetPassButton type=button onclick='submitButtonClicked("resetpasswordpanelform")'value="Passwort zurücksetzen"disabled></div><div id=rpassWarning style=padding-top:6px></div></table><hr><a onclick="return xgo(1,event)"href=# style=cursor:pointer>Zurück zur Anmeldung</a> <input id=resetpasswordformargs name=urlargs type=hidden></form></div><div id=checkemailpanel style=display:none;position:relative><form id=checkemailpanelform method=post><input type=hidden name=action value=checkemail><div id=message7></div><table id=checkCheckOperations style=width:100%;display:none><tr><td><div id=unconfirmedEmail></div><br><tr><td><div><input id=changeEmailButton type=button value="E-Mail Adresse ändern"onclick=changeEmailAddress()> <input id=checkEmailButton2 type=button value="Bestätigungsmail erneut senden"onclick=resentEmailConfirmation()> <input id=checkEmailButton type=button onclick='submitButtonClicked("checkemailpanelform")'style=display:none> <input id=checkEmailVal name=email type=hidden></div></table><hr><a onclick="return xgo(1,event)"href=# style=cursor:pointer>Zurück zur Anmeldung</a> <input id=checkemailformargs name=urlargs type=hidden></form></div><div id=waitpushpanel style=display:none><form id=waitpushpanelform method=post><input type=hidden name=action value=pushlogin><div id=message8></div><table style=width:100%><tr><td style=align-content:center;padding-top:10px><img id=waitpushpanelimage src=images/login/push-150.png srcset="images/login/push-300.png 2x"style=opacity:.3 loading=lazy width=265 height=150><tr><td style=align-content:center;padding-top:10px><label id=tokenInputRememberLabel2><input id=tokenInputRemember2 name=remembertoken type=checkbox><span id=tokenInputRememberSpan2></span></label></table><hr><a onclick="return xgo(1,event)"href=# style=cursor:pointer>Zurück zur Anmeldung</a> <input id=pushtokenformargs name=urlargs type=hidden> <input id=pushtokenInput name=hwstate type=hidden> <input id=pushOkButton onclick='submitButtonClicked("waitpushpanelform")'style=display:none></form></div><tr id=welcomeTextRow><td><div id=welcomeText style=color:#fff;text-align:center;margin-left:20px;margin-right:20px></div><tr id=bottomLanguageSelectRow style=display:none;text-align:center><td id=bottomLanguageSelect><tr style=height:20px><td><div><div id=flink style=float:right;margin-right:4px;color:#c8c8c8>{{{rootCertLink}}}&nbsp;<a href=terms>Nutzungsbedingungen &amp; Datenschutz</a></div><div id=flink style=margin-left:4px;color:#c8c8c8>{{{footer}}}</div></div></table><div id=dialog style=display:none><div id=dialogHeader><div id=id_dialogclose style=float:right;padding:5px;cursor:pointer onclick=setDialogMode()><b>X</b></div><div id=id_dialogtitle style=padding:5px></div><div style=width:100%;margin:6px></div></div><div id=dialogBody><div id=dialog1><div id=id_dialogMessage></div></div><div id=dialog2><div id=id_dialogOptions></div></div></div><div id=idx_dlgButtonBar><input id=idx_dlgCancelButton type=button value=Abbrechen onclick=dialogclose(0)> <input id=idx_dlgOkButton type=button value=OK onclick=dialogclose(1)></div></div><script>var xxdialogMode,xxdialogFunc,xxdialogButtons,xxdialogTag,random="{{{randomlength}}}",welcomePictureFullScreen="true"===decodeURIComponent("{{{welcomePictureFullScreen}}}"),passlogin="{{{passlogin}}}",passhint="{{{passhint}}}",loginMode="{{{loginmode}}}",newAccount="{{{newAccount}}}",newAccountPass=parseInt("{{{newAccountPass}}}"),newAccountCaptcha="{{{newAccountCaptcha}}}",emailCheck="{{{emailcheck}}}",passRequirements="{{{passRequirements}}}",hardwareKeyChallenge=decodeURIComponent("{{{hkey}}}"),passRequirementsEx=null!=(passRequirements=""!=passRequirements?JSON.parse(decodeURIComponent(passRequirements)):{}).min||null!=passRequirements.max||null!=passRequirements.upper||null!=passRequirements.lower||null!=passRequirements.numeric||null!=passRequirements.nonalpha,features=parseInt("{{{features}}}"),welcomeText=decodeURIComponent("{{{welcometext}}}"),currentpanel=0,publicKeyCredentialRequestOptions=null,otpduo="true"===decodeURIComponent("{{{otpduo}}}"),otpemail="true"===decodeURIComponent("{{{otpemail}}}"),otpsms="true"===decodeURIComponent("{{{otpsms}}}"),otpmsg="true"===decodeURIComponent("{{{otpmsg}}}"),otppush="true"===decodeURIComponent("{{{otppush}}}"),autofido="true"===decodeURIComponent("{{{autofido}}}"),twoFactorCookieDays=parseInt("{{{twoFactorCookieDays}}}"),authStrategies="{{{authStrategies}}}".split(","),tokenTimeout=parseInt("{{{tokenTimeout}}}"),websocket=null,formSubmitted=!1,serverLangs="{{{renderLanguages}}}".split(","),loclist={af:"Afrikaans",sq:"Albanian",ar:"Arabisch (Standard)","ar-dz":"Arabisch (Algerien)","ar-bh":"Arabisch (Bahrain)","ar-eg":"Arabisch (Ägypten)","ar-iq":"Arabisch (Irak)","ar-jo":"Arabisch (Jordanien)","ar-kw":"Arabisch (Kuwait)","ar-lb":"Arabisch (Libanon)","ar-ly":"Arabisch (Libyen)","ar-ma":"Arabisch (Marokko)","ar-om":"Arabisch (Oman)","ar-qa":"Arabisch (Katar)","ar-sa":"Arabisch (Saudi-Arabien)","ar-sy":"Arabisch (Syrien)","ar-tn":"Arabisch (Tunesien)","ar-ae":"Arabisch (V.A.E.)","ar-ye":"Arabisch (Jemen)",an:"Aragonesisch",hy:"Armenisch",as:"Assamesisch",ast:"Asturisch",az:"Aserbaidschanisch",eu:"Baskisch",bg:"Bulgarisch",be:"Belarussisch",bn:"Bengali",bs:"Bosnisch",br:"Bretonisch",my:"Birmanisch",ca:"Katalanisch",ch:"Chamorro",ce:"Tschetschenisch",zh:"Chinesisch","zh-hk":"Chinesisch (Hong Kong)","zh-cn":"Chinesisch (VR China)","zh-sg":"Chinesisch (Singapur)","zh-tw":"Chinesisch (Taiwan)",cv:"Tschuwaschisch",co:"Korsisch",cr:"Cree",hr:"Kroatisch",cs:"Tschechisch",da:"Dänisch",nl:"Niederländisch (Standard)","nl-be":"Niederländisch (Belgisch)",en:"Englisch","en-au":"Englisch (Australien)","en-bz":"Englisch (Belize)","en-ca":"Englisch (Kanada)","en-ie":"Englisch (Irland)","en-jm":"Englisch (Jamaika)","en-nz":"Englisch (Neuseeland)","en-ph":"Englisch (Philippinen)","en-za":"Englisch (Südafrika)","en-tt":"Englisch (Trinidad Tobago)","en-gb":"Englisch (Vereinigtes Königreich)","en-us":"Englisch (USA)","en-zw":"Englisch (Simbabwe)",eo:"Esperanto",et:"Estnisch",fo:"Färöisch",fa:"Persisch",fj:"Fidschianisch",fi:"Finnisch",fr:"Französisch (Standard)","fr-be":"Französisch (Belgien)","fr-ca":"Französisch (Kanada)","fr-fr":"Französisch (Frankreich)","fr-lu":"Französisch (Luxemburg)","fr-mc":"Französisch (Monaco)","fr-ch":"Französisch (Schweiz)",fy:"Friesisch",fur:"Friaulisch",gd:"Gälisch (Schottisch)","gd-ie":"Gälisch (Irisch)",gl:"Galicisch",ka:"georgisch",de:"Deutsch (Standard)","de-at":"Deutsch (Österreich)","de-de":"Deutsch (Deutschland)","de-li":"Deutsch (Liechtenstein)","de-lu":"Deutsch (Luxemburg)","de-ch":"Deutsch (Schweiz)",el:"Griechisch",gu:"Gujurati",ht:"Haitianisch",he:"Hebräisch",hi:"Hindi",hu:"Ungarisch",is:"Isländisch",id:"Indonesisch",iu:"Inuktitut",ga:"Irisch",it:"Italienisch (Standard)","it-ch":"Italienisch (Schweiz)",ja:"Japanisch",kn:"Kannada",ks:"Kashmiri",kk:"Kasachisch",km:"Khmer",ky:"Kirgisisch",tlh:"Klingonisch",ko:"Koreanisch","ko-kp":"Koreanisch (Nordkorea)","ko-kr":"Koreanisch (Südkorea)",la:"Latein",lv:"Lettisch",lt:"Litauisch",lb:"Luxemburgisch",mk:"Mazedonisch (EJRM)",ms:"Malaiisch",ml:"Malayalam",mt:"Maltesisch",mi:"Maori",mr:"Marathi",mo:"Moldawisch",nv:"Navajo",ng:"Ndonga",ne:"Nepali",no:"Norwegisch",nb:"Norwegisch (Bokmal)",nn:"Norwegisch (Nynorsk)",oc:"Okzitanisch",or:"Oriya",om:"Oromo","fa-ir":"Persisch (Iran)",pl:"Polnisch",pt:"Portugiesisch","pt-br":"Portugiesisch (Brasilien)",pa:"Punjabi","pa-in":"Punjabi (Indien)","pa-pk":"Punjabi (Pakistan)",qu:"Quechua",rm:"Rätoromanisch",ro:"Rumänisch","ro-mo":"Rumänisch (Moldawien)",ru:"Russisch","ru-mo":"Russisch (Moldawien)",sz:"Sami (Lappisch)",sg:"Sango",sa:"Sanskrit",sc:"Sardisch",sd:"Sindhi",si:"Singhalesisch",sr:"Serbisch",sk:"Slowakisch",sl:"Slowenisch",so:"Somani",sb:"Sorbisch",es:"Spanisch","es-ar":"Spanisch (Argentinien)","es-bo":"Spanisch (Bolivien)","es-cl":"Spanisch (Chile)","es-co":"Spanisch (Kolumbien)","es-cr":"Spanisch (Costa Rica)","es-do":"Spanisch (Dominikanische Republik)","es-ec":"Spanisch (Ecuador)","es-sv":"Spanisch (El Salvador)","es-gt":"Spanisch (Guatemala)","es-hn":"Spanisch (Honduras)","es-mx":"Spanisch (Mexiko)","es-ni":"Spanisch (Nicaragua)","es-pa":"Spanisch (Panama)","es-py":"Spanisch (Paraguay)","es-pe":"Spanisch (Peru)","es-pr":"Spanisch (Puerto Rico)","es-es":"Spanisch (Spanien)","es-uy":"Spanisch (Uruguay)","es-ve":"Spanisch (Venezuela)",sx:"Sutu",sw:"Suaheli",sv:"Schwedisch","sv-fi":"Schwedisch (Finnland)","sv-sv":"Schwedisch (Schweden)",ta:"Tamil",tt:"Tatar",te:"Teluga",th:"Thai",tig:"Tigre",ts:"Tsonga",tn:"Tswana",tr:"Türkisch",tk:"Turkmenisch",uk:"Ukrainisch",hsb:"Obersorbisch",ur:"Urdu",ve:"Venda",vi:"Vietnamesisch",vo:"Volapuk",wa:"Wallonisch",cy:"Walisisch",xh:"Xhosa",ji:"Jiddisch",zu:"Zulu"},loclistex={"zh-chs":"Vereinfachtes Chinesisch","zh-cht":"Chinesische Tradition)"},showLanguageSelect="{{{showLanguageSelect}}}";function startup(){"true"==decodeURIComponent("{{{loginpicture}}}")&&(Q("loginPicture").src="loginlogo.png"),QV("welcomeTextRow",""!=welcomeText),QH("welcomeText",welcomeText),welcomePictureFullScreen&&(QS("backgroundImage").height="100%",QS("backgroundImage").opacity="1",QS("backgroundImage")["background-position"]="center center",QS("backgroundImage")["background-size"]="cover");var e=parseInt("{{{messageid}}}"),n=["","Falls gültig, gesendete E-Mail zurücksetzen.","E-Mail gesendet.","E-Mail-Bestätigung erforderlich, überprüfen Sie Ihre Mailbox und klicken Sie auf den Bestätigungslink.","SMS gesendet.","Benachrichtigung wird gesendet...","Nachricht gesendet."],a=["Konto kann nicht anlegen werden","Konten-Obergrenze erreicht.","Bestehendes Konto mit dieser E-Mail-Adresse.","Ungültiges Kontoerstellungstoken.","Benutzername existiert bereits.","Passwort abgelehnt, verwenden Sie ein anderes.","Ungültige E-Mail.","Konto nicht gefunden.","Ungültiges Token, versuchen Sie es erneut.","E-Mail kann nicht gesendet werden.","Konto gesperrt.","Zugriff verweigert.","Anmeldung fehlgeschlagen, Benutzername und Passwort prüfen.","Passwortänderung angefragt.","IP-Adresse gesperrt, versuchen Sie es später erneut.","Server in Wartung.","Gerätebenachrichtigung kann nicht gesendet werden.","Ungültiger Sicherheitscheck"];if(0<e){var t="";if(e<100&&e<n.length?t=n[e]:100<=e&&e-100<a.length&&(t=a[e-100]),""!=t)for(t=100<=e?'<span class="msg error"><b style=color:#8C001A>'+t+"<b></span><br /><br />":'<span class="msg success"><b>'+t+"</b></span><br /><br />",r=1;r<9;r++)QH("message"+r,t)}var s=JSON.parse("{{{flashErrors}}}");if(s&&0<s.length){t="";for(r=0;r<s.length;r++)s[r]&&(t+='<span class="msg error"><b style=color:#8C001A>'+s[r]+"<b></span><br /><br />");QH("message1",t),QV("message1",!0)}var o=parseUriArgs();if("top"===showLanguageSelect||"bottom"===showLanguageSelect){var r,i='<select id=d2langselect style="box-sizing:border-box;width:280px;border:0;border-radius:4px;padding:8px" onChange="changeLanguage()">';for(r in i+='<option value="*">Use Browser Language</option>',serverLangs){var l=serverLangs[r];i+='<option value="'+l+'"'+(o.lang==l?" selected":"")+">"+l+" - "+(loclist[l]||loclistex[l])+"</option>"}QH(showLanguageSelect+"LanguageSelect",i),"top"===showLanguageSelect&&(QS(showLanguageSelect+"LanguageSelect")["padding-top"]="5px"),QV(showLanguageSelect+"LanguageSelectRow",!0)}if(passlogin="true"==passlogin,1===o.passlogin&&(passlogin=!0),0===o.passlogin&&(passlogin=!1),QV("loginuserpassdiv",passlogin),QV("loginuserpasshr",passlogin),0<twoFactorCookieDays?(QV("tokenInputRememberLabel",!0),QH("tokenInputRememberSpan",format("Erinnern Sie sich an dieses Gerät für {0} Tage.",twoFactorCookieDays)),QV("tokenInputRememberLabel2",!0),QH("tokenInputRememberSpan2",format("Erinnern Sie sich an dieses Gerät für {0} Tage.",twoFactorCookieDays))):(QV("tokenInputRememberLabel",!1),QV("tokenInputRememberLabel2",!1)),0<window.location.href.indexOf("?")&&(n=window.location.href.substring(window.location.href.indexOf("?")),Q("loginformargs").value=n,Q("createformargs").value=n,Q("resetformargs").value=n,Q("tokenformargs").value=n,Q("pushtokenformargs").value=n,Q("resettokenformargs").value=n,Q("resetpasswordformargs").value=n,Q("checkemailformargs").value=n),0==(32&features)){a=null;try{a=top.location.toString().toLowerCase()}catch(e){}if(top!=self&&(null==a||0==top.active))return void(top.location=self.location)}if(2097152&features&&(Q("username").placeholder="E-Mail",QH("resetAccountSpan","Passwort vergessen?"),QV("nuUserRow",!1)),QV("createPanelHint",!0===passRequirements.hint),QV("resetpasswordpanelHint",!0===passRequirements.hint),""!=authStrategies&&(QV("authStrategies",!0),0<=authStrategies.indexOf("twitter")&&QV("auth-twitter",!0),0<=authStrategies.indexOf("google")&&QV("auth-google",!0),0<=authStrategies.indexOf("github")&&QV("auth-github",!0),0<=authStrategies.indexOf("azure")&&QV("auth-azure",!0),0<=authStrategies.indexOf("oidc")&&QV("auth-oidc",!0),0<=authStrategies.indexOf("oidc-azure")&&QV("auth-oidc-azure",!0),0<=authStrategies.indexOf("oidc-google")&&QV("auth-oidc-google",!0),0<=authStrategies.indexOf("jumpcloud")&&QV("auth-jumpcloud",!0),0<=authStrategies.indexOf("intel")&&QV("auth-intel",!0),0<=authStrategies.indexOf("saml"))&&QV("auth-saml",!0),validateCreate(),0!=loginMode.length?go(parseInt(loginMode)):go(1),QV("newAccountDiv","1"===newAccount||"true"===newAccount),null!=passhint&&0<passhint.length&&QV("showPassHintLink",!0),QV("newAccountPass",1==newAccountPass),QV("newAccountCaptcha",""!=newAccountCaptcha),QV("newAccountCaptchaImg",""!=newAccountCaptcha),QV("resetAccountDiv","true"==emailCheck),QV("hrAccountDiv","true"==emailCheck||1==newAccountPass),"4"==loginMode){0<tokenTimeout&&setTimeout(function(){Q("hwtokenInput").value="**timeout**",QE("tokenOkButton",!0),Q("tokenOkButton").click()},tokenTimeout);try{hardwareKeyChallenge=0<hardwareKeyChallenge.length?JSON.parse(hardwareKeyChallenge):null}catch(e){hardwareKeyChallenge=null}var c=null!=hardwareKeyChallenge&&"webAuthn"==hardwareKeyChallenge.type,u=otpemail&&2!=e&&4!=e&&6!=e,h=otpsms&&2!=e&&4!=e&&6!=e,p=otpmsg&&2!=e&&4!=e&&6!=e,g=otppush&&2!=e&&4!=e&&6!=e,d=otpduo&&2!=e&&4!=e&&6!=e;QV("securityKeyButton",c),QV("emailKeyButton",u),QV("smsKeyButton",h),QV("msgKeyButton",p),QV("pushKeyButton",g),QV("duoKeyButton",d),QV("2farow",c||u||h||p||g||d),autofido&&c&&setTimeout(function(){useSecurityKey(1)},300)}if("5"==loginMode){0<tokenTimeout&&setTimeout(function(){Q("hwtokenInput").value="**timeout**",QE("tokenOkButton",!0),Q("tokenOkButton").click()},tokenTimeout);try{hardwareKeyChallenge=0<hardwareKeyChallenge.length?JSON.parse(hardwareKeyChallenge):null}catch(e){hardwareKeyChallenge=null}c=null!=hardwareKeyChallenge&&"webAuthn"==hardwareKeyChallenge.type,u=otpemail&&2!=e&&4!=e&&6!=e,h=otpsms&&2!=e&&4!=e&&6!=e,p=otpmsg&&2!=e&&4!=e&&6!=e,g=otppush&&2!=e&&4!=e&&6!=e,d=otpduo&&2!=e&&4!=e&&6!=e;QV("securityKeyButton2",c),QV("emailKeyButton2",u),QV("smsKeyButton2",h),QV("msgKeyButton2",p),QV("pushKeyButton2",g),QV("duoKeyButton2",d),QV("2farow2",c||u||h||p||g||d),autofido&&c&&setTimeout(function(){useSecurityKey(2)},300)}"8"==loginMode&&((websocket=new WebSocket(passhint)).onopen=function(e){QS("waitpushpanelimage").opacity="1"},websocket.onmessage=function(e){"string"!=typeof e.data&&this.close();var n=null;try{n=JSON.parse(e.data)}catch(e){}!0===n.sent?QH("message8",'<span class="msg success"><b>'+format("Anfrage gesendet, {0}.",n.code)+"</b></span><br /><br />"):!1===n.sent?(QH("message8",'<span class="msg error"><b style=color:#8C001A>Anfrage konnte nicht gesendet werden.<b></span><br /><br />'),QV("tokenInputRememberLabel2",!1),this.close()):!0===n.approved?(this.close(),QV("tokenInputRememberLabel2",!1),QH("message8",'<span class="msg success"><b>Anfrage akzeptiert.</b></span><br /><br />'),Q("pushtokenInput").value=n.token,Q("pushOkButton").click()):(QH("message8",'<span class="msg error"><b style=color:#8C001A>Zugriff abgelehnt.<b></span><br /><br />'),QV("tokenInputRememberLabel2",!1),this.close())},websocket.onclose=function(e){QS("waitpushpanelimage").opacity="0.3"},websocket.onerror=function(e){QH("message8",'<span class="msg error"><b style=color:#8C001A>Verbindungsfehler<b></span><br /><br />'),QS("waitpushpanelimage").opacity="0.5"})}function changeLanguage(){var e=Q("d2langselect").value,n=new URLSearchParams(window.location.search),e=("*"==e?n.delete("lang"):n.set("lang",e),window.location.pathname+"?"+n.toString());window.location.href=e}function useSecurityKey(n){if(null!=hardwareKeyChallenge&&"webAuthn"==hardwareKeyChallenge.type){"string"==typeof hardwareKeyChallenge.challenge&&(hardwareKeyChallenge.challenge=Uint8Array.from(atob(hardwareKeyChallenge.challenge),function(e){return e.charCodeAt(0)}).buffer),publicKeyCredentialRequestOptions={challenge:hardwareKeyChallenge.challenge,allowCredentials:[],timeout:hardwareKeyChallenge.timeout};for(var e=0;e<hardwareKeyChallenge.keyIds.length;e++)publicKeyCredentialRequestOptions.allowCredentials.push({id:Uint8Array.from(atob(hardwareKeyChallenge.keyIds[e]),function(e){return e.charCodeAt(0)}),type:"public-key",transports:["usb","ble","nfc","internal"]});navigator.credentials.get({publicKey:publicKeyCredentialRequestOptions}).then(function(e){e={id:btoa(String.fromCharCode.apply(null,new Uint8Array(e.rawId))),clientDataJSON:btoa(String.fromCharCode.apply(null,new Uint8Array(e.response.clientDataJSON))),userHandle:btoa(String.fromCharCode.apply(null,new Uint8Array(e.response.userHandle))),signature:btoa(String.fromCharCode.apply(null,new Uint8Array(e.response.signature))),authenticatorData:btoa(String.fromCharCode.apply(null,new Uint8Array(e.response.authenticatorData)))};1==n?(Q("hwtokenInput").value=JSON.stringify(e),QE("tokenOkButton",!0),Q("tokenOkButton").click()):2==n&&(Q("resetHwtokenInput").value=JSON.stringify(e),QE("resetTokenOkButton",!0),Q("resetTokenOkButton").click())},function(e){console.log("credentials-get error",e)})}}function useEmailToken(e){1==otpemail&&setDialogMode(1,"Sicherheits Login",3,useEmailKeyEx,"Token an registrierte E-Mail-Adresse senden?",e)}function useEmailKeyEx(e,n){1==n?(Q("hwtokenInput").value="**email**",QE("tokenOkButton",!0),Q("tokenOkButton").click()):2==n&&(Q("resetHwtokenInput").value="**email**",QE("resetTokenOkButton",!0),Q("resetTokenOkButton").click())}function useSMSToken(e){1==otpsms&&setDialogMode(1,"Sicherheits Login",3,useSMSTokenEx,"Token an registrierte Telefonnummer senden?",e)}function useSMSTokenEx(e,n){1==n?(Q("hwtokenInput").value="**sms**",QE("tokenOkButton",!0),Q("tokenOkButton").click()):2==n&&(Q("resetHwtokenInput").value="**sms**",QE("resetTokenOkButton",!0),Q("resetTokenOkButton").click())}function useMsgToken(e){1==otpmsg&&setDialogMode(1,"Sicherheits Login",3,useMsgTokenEx,"Token an Nachrichten-App senden?",e)}function useMsgTokenEx(e,n){1==n?(Q("hwtokenInput").value="**msg**",QE("tokenOkButton",!0),Q("tokenOkButton").click()):2==n&&(Q("resetHwtokenInput").value="**msg**",QE("resetTokenOkButton",!0),Q("resetTokenOkButton").click())}function usePushToken(e){1==e?(Q("hwtokenInput").value="**push**",QE("tokenOkButton",!0),Q("tokenOkButton").click()):2==e&&(Q("resetHwtokenInput").value="**push**",QE("resetTokenOkButton",!0),Q("resetTokenOkButton").click())}function useDuoToken(e){1==e?(Q("hwtokenInput").value="**duo**",QE("tokenOkButton",!0),Q("tokenOkButton").click()):2==e&&(Q("resetHwtokenInput").value="**duo**",QE("resetTokenOkButton",!0),Q("resetTokenOkButton").click())}function showPassHint(e){return messagebox("Passwort-Tipp",passhint),haltEvent(e),!1}function xgo(e,n){return QV("message1",!1),QV("message2",!1),QV("message3",!1),QV("message4",!1),QV("message5",!1),QV("message6",!1),QV("message7",!1),go(e),haltEvent(n),!1}function go(e){currentpanel=e,setDialogMode(0),QV("showPassHintLink",!1),QV("loginpanel",1==e),QV("createpanel",2==e),QV("resetpanel",3==e),QV("tokenpanel",4==e),QV("resettokenpanel",5==e),QV("resetpasswordpanel",6==e),QV("checkemailpanel",7==e),QV("waitpushpanel",8==e),1==e&&Q("username").focus(),2==e&&(2097152&features?Q("aemail"):Q("ausername")).focus(),3==e&&Q("remail").focus(),4==e&&Q("tokenInput").focus(),5==e&&Q("resetTokenInput").focus(),6==e&&Q("rapassword1").focus(),7==e&&(QH("unconfirmedEmail",passhint),QV("checkCheckOperations",""!=Q("unconfirmedEmail").innerHTML),QH("checkEmailVal",passhint))}function submitButtonClicked(e){formSubmitted||(formSubmitted=!0,document.getElementById(e).submit())}function validateLogin(e,n){setTimeout(function(){setDialogMode(0),null!=n&&13==n.keyCode&&(1==e&&""!=Q("username").value?Q("password").focus():2==e&&""!=Q("password").value&&Q("loginButton").click()),null!=n&&haltEvent(n)},100)}function validateCreate(e,n){setDialogMode(0);var a=!1,a=!!(2097152&features)||0<Q("ausername").value.length&&-1==Q("ausername").value.indexOf(" ")&&-1==Q("ausername").value.indexOf('"')&&-1==Q("ausername").value.indexOf(","),t=1==validateEmail(Q("aemail").value),s=0<Q("apassword1").value.length,o=0<Q("apassword2").value.length&&Q("apassword2").value==Q("apassword1").value,r=0==newAccountPass||0<Q("anewaccountpass").value.length,i=""==newAccountCaptcha||0<Q("anewaccountcaptcha").value.length,l=a&&t&&s&&o&&r;QS("nuUser").color=a?"black":"#7b241c",QS("nuEmail").color=t?"black":"#7b241c",QS("nuPass1").color=s?"black":"#7b241c",QS("nuPass2").color=o?"black":"#7b241c",QS("nuToken").color=r?"black":"#7b241c",QS("nuCaptcha").color=i?"black":"#7b241c",""==Q("apassword1").value?(QH("passWarning",""),QV("passwordPolicyCallout",!1)):passRequirementsEx?0==checkPasswordRequirements(Q("apassword1").value,passRequirements)?(l=!1,QS("nuPass1").color="#7b241c",QS("nuPass2").color="#7b241c",QH("passWarning","<div style=color:red;cursor:pointer onclick=showPasswordPolicy()><b>Passwort-Richtlinie</b><div>"),QV("passwordPolicyCallout",!0),QH("passwordPolicyCallout",passwordPolicyText(Q("apassword1").value))):(QH("passWarning",""),QV("passwordPolicyCallout",!1)):80<=(r=checkPasswordStrength(Q("apassword1").value))?QH("passWarning","<span style=color:green><b>Starkes Passwort</b><span>"):60<=r?QH("passWarning","<span style=color:blue><b>Gutes Passwort</b><span>"):QH("passWarning","<span style=color:red><b>Schwaches Passwort</b><span>"),null!=n&&13==n.keyCode&&(1==e&&a&&Q("aemail").focus(),2==e&&t&&Q("apassword1").focus(),3==e&&s&&Q("apassword2").focus(),4==e&&o&&(!0===passRequirements.hint?Q("apasswordhint").focus():e=5),5==e&&(1==newAccountPass?Q("anewaccountpass").focus():e=6),6==e&&(""!=newAccountCaptcha?Q("anewaccountcaptcha").focus():e=7),7==e)&&Q("createButton").click(),null!=n&&haltEvent(n),QE("createButton",l)}function validatePassReset(e,n){setDialogMode(0);var a=0<Q("rapassword1").value.length,t=0<Q("rapassword2").value.length&&Q("rapassword2").value==Q("rapassword1").value,s=a&&t;QS("rnuPass1").color=a?"black":"#7b241c",QS("rnuPass2").color=t?"black":"#7b241c",""==Q("rapassword1").value?(QH("rpassWarning",""),QV("rpasswordPolicyCallout",!1)):passRequirementsEx?0==checkPasswordRequirements(Q("rapassword1").value,passRequirements)?(s=!1,QS("rnuPass1").color="#7b241c",QS("rnuPass2").color="#7b241c",QH("rpassWarning","<div style=color:red;cursor:pointer onclick=showPasswordPolicy()><b>Passwort-Richtlinie</b><div>"),QV("rpasswordPolicyCallout",!0),QH("rpasswordPolicyCallout",passwordPolicyText(Q("rapassword1").value))):(QH("rpassWarning",""),QV("rpasswordPolicyCallout",!1)):80<=(a=checkPasswordStrength(Q("rapassword1").value))?QH("rpassWarning","<span style=color:green><b>Starkes Passwort</b><span>"):60<=a?QH("rpassWarning","<span style=color:blue><b>Gutes Passwort</b><span>"):QH("rpassWarning","<span style=color:red><b>Schwaches Passwort</b><span>"),null!=n&&13==n.keyCode&&(2==e&&Q("rapassword1").focus(),3==e&&Q("rapassword2").focus(),4==e&&Q("rapasswordhint").focus(),6==e)&&Q("resetPassButton").click(),null!=n&&haltEvent(n),QE("resetPassButton",s)}function passwordPolicyText(e){var n="<div style=text-align:left>",a=strCount(e);return passRequirements.min&&(null==e||e.length<passRequirements.min)&&(n+=format("Mindestlänge von {0}",passRequirements.min)+"<br />"),passRequirements.max&&(null==e||e.length>passRequirements.max)&&(n+=format("Maximale Länge von {0}",passRequirements.max)+"<br />"),passRequirements.upper&&(null==e||a.upper<passRequirements.upper)&&(n+=format("{0} Großbuchstaben",passRequirements.upper)+"<br />"),passRequirements.lower&&(null==e||a.lower<passRequirements.lower)&&(n+=format("{0} Kleinbuchstaben",passRequirements.lower)+"<br />"),passRequirements.numeric&&(null==e||a.numeric<passRequirements.numeric)&&(n+=format("{0} numerisch",passRequirements.numeric)+"<br />"),passRequirements.nonalpha&&(null==e||a.nonalpha<passRequirements.nonalpha)&&(n+=format("{0} nicht-alphanumerisch",passRequirements.nonalpha)+"<br />"),n+="</div>"}function showPasswordPolicy(){messagebox("Passwort-Richtlinie",passwordPolicyText())}function validateReset(e){setDialogMode(0);var n=validateEmail(Q("remail").value);QE("eresetButton",n),null!=e&&13==e.keyCode&&1==n&&Q("eresetButton").click(),null!=e&&haltEvent(e)}function checkPasswordStrength(e){var n=0,a={},t=0,s={digits:/\d/.test(e),lower:/[a-z]/.test(e),upper:/[A-Z]/.test(e),nonWords:/\W/.test(e)};if(!e)return 0;for(var o,r=0;r<e.length;r++)a[e[r]]=(a[e[r]]||0)+1,n+=5/a[e[r]];for(o in s)t+=1==s[o]?1:0;return parseInt(n+10*(t-1))}function checkPasswordRequirements(e,n){return null==n||""==n||"object"!=typeof n||!(n.min&&e.length<n.min||n.max&&e.length>n.max||(e=strCount(e),n.numeric&&e.numeric<n.numeric)||n.lower&&e.lower<n.lower||n.upper&&e.upper<n.upper||n.nonalpha&&e.nonalpha<n.nonalpha)}function strCount(e){var n={numeric:0,lower:0,upper:0,nonalpha:0};if("string"==typeof e)for(var a=0;a<e.length;a++)/\d/.test(e[a])&&n.numeric++,/[a-z]/.test(e[a])&&n.lower++,/[A-Z]/.test(e[a])&&n.upper++,/\W/.test(e[a])&&n.nonalpha++;return n}function checkToken(e){var n=Q("tokenInput").value,a=n.split(" ").join(""),n=(n!=a&&(Q("tokenInput").value=a),6==Q("tokenInput").value.length||8==Q("tokenInput").value.length||44==Q("tokenInput").value.length);QE("tokenOkButton",n),n&&null!=e&&13==e.keyCode&&submitButtonClicked("tokenpanelform")}function resetCheckToken(e){var n=Q("resetTokenInput").value,a=n.split(" ").join(""),n=(n!=a&&(Q("resetTokenInput").value=a),6==Q("resetTokenInput").value.length||8==Q("resetTokenInput").value.length||44==Q("resetTokenInput").value.length);QE("resetTokenOkButton",n),n&&null!=e&&13==e.keyCode&&submitButtonClicked("resettokenpanelform")}function changeEmailAddress(){setDialogMode(1,"E-Mail Bestätigung",3,changeEmailAddressEx,addHtmlValue("E-Mail",'<input id=dp1email style=width:230px maxlength=256 value="'+Q("unconfirmedEmail").innerHTML+'" {{{autocomplete}}}=off onchange=validateEmailAddress() onkeyup=validateEmailAddress() />')),validateEmailAddress()}function validateEmailAddress(){QE("idx_dlgOkButton",1==validateEmail(Q("dp1email").value))}function changeEmailAddressEx(){Q("checkEmailVal").value=Q("dp1email").value,QH("unconfirmedEmail",Q("dp1email").value),Q("checkEmailButton").click()}function resentEmailConfirmation(){Q("checkEmailVal").value=Q("unconfirmedEmail").innerHTML,Q("checkEmailButton").click()}var xxcurrentView=0;function setDialogMode(e,n,a,t,s,o){xxdialogMode=e,xxdialogFunc=t,xxdialogButtons=a,xxdialogTag=o,QE("idx_dlgOkButton",!0),QV("idx_dlgOkButton",1&a),QV("idx_dlgCancelButton",2&a),QV("id_dialogclose",2&a||8&a),QV("idx_dlgButtonBar",7&a),n&&QH("id_dialogtitle",n);for(var r=1;r<24;r++)QV("dialog"+r,r==e);QV("dialog",e),s&&(2==e?QH("id_dialogOptions",s):QH("id_dialogMessage",s))}function dialogclose(e){var n=xxdialogFunc,a=xxdialogButtons,t=xxdialogTag;setDialogMode(),(8&a||e)&&n&&n(e,t)}function messagebox(e,n){QH("id_dialogMessage",n),setDialogMode(1,e,1)}function statusbox(e,n){QH("id_dialogMessage",n),setDialogMode(1,e)}function getDocWidth(){return window.innerWidth||(document.documentElement&&document.documentElement.clientWidth&&0!=document.documentElement.clientWidth?document.documentElement:document.getElementsByTagName("body")[0]).clientWidth}function haltEvent(e){return e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),!1}function haltReturn(e){13==e.keyCode&&haltEvent(e)}function validateEmail(e){return/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(e)}function putstore(e,n){try{"undefined"!=typeof localStorage&&localStorage.setItem(e,n)}catch(e){}}function getstore(e,n){try{var a;return"undefined"==typeof localStorage?n:null==(a=localStorage.getItem(e))?n:a}catch(e){return n}}function format(e){var a=Array.prototype.slice.call(arguments,1);return e.replace(/{(\d+)}/g,function(e,n){return void 0!==a[n]?a[n]:e})}function addTextLink(e,n,a){var t=n.toLowerCase().indexOf(e.toLowerCase());return-1==t?n:n.substring(0,t)+'<a href="'+a+'">'+e+"</a>"+n.substring(t+e.length)}function addHtmlValue(e,n){return"<table><td style=width:120px;text-align:left>"+e+"<td><b>"+n+"</b></table>"}</script>