Updating minified JavaScript files
authorwoltlab.com <woltlab@woltlab.com>
Sun, 12 Jul 2015 15:07:17 +0000 (17:07 +0200)
committerwoltlab.com <woltlab@woltlab.com>
Sun, 12 Jul 2015 15:07:17 +0000 (17:07 +0200)
wcfsetup/install/files/js/WCF.Combined.min.js
wcfsetup/install/files/js/WCF.Core.min.js

index 2ea00c6936c29c018cdfbc9f37dec5490e80d1cd..a4193c44a2bbc8a40c8f30b44a8329e5f37bb89f 100755 (executable)
@@ -64,8 +64,8 @@ i&&i.element!==s.element[0]&&("touch"===n.tolerance?l=!(i.left>r||a>i.right||i.t
 (function (window, undefined) {!function(){var e=!1,t=/xyz/.test(function(){xyz})?/\b_super\b/:/.*/;this.Class=function(){},Class.extend=function(n){function i(){!e&&this.init&&this.init.apply(this,arguments)}var r=this.prototype;e=!0;var o=new this;e=!1;for(var a in n)o[a]="function"==typeof n[a]&&"function"==typeof r[a]&&t.test(n[a])?function(e,t){return function(){var n=this._super;this._super=r[e];var i=t.apply(this,arguments);return this._super=n,i}}(a,n[a]):n[a];return i.prototype=o,i.prototype.constructor=i,i.extend=arguments.callee,i}}(),function(e,t){"use strict";function n(){}function i(e,t){if(e){"object"==typeof e&&(e=[].slice.call(e));for(var n=0,i=e.length;i>n;n++)t.call(e,e[n],n)}}function r(e,n){var i=Object.prototype.toString.call(n).slice(8,-1);return n!==t&&null!==n&&i===e}function o(e){return r("Function",e)}function a(e){return r("Array",e)}function u(e){var t=e.split("/"),n=t[t.length-1],i=n.indexOf("?");return-1!==i?n.substring(0,i):n}function l(e){e=e||n,e._done||(e(),e._done=1)}function s(e,t,i,r){var o="object"==typeof e?e:{test:e,success:t?a(t)?t:[t]:!1,failure:i?a(i)?i:[i]:!1,callback:r||n},u=!!o.test;return u&&o.success?(o.success.push(o.callback),A.load.apply(null,o.success)):u||!o.failure?r():(o.failure.push(o.callback),A.load.apply(null,o.failure)),A}function c(e){var t,n,i={};if("object"==typeof e)for(t in e)!e[t]||(i={name:t,url:e[t]});else i={name:u(e),url:e};return n=M[i.name],n&&n.url===i.url?n:(M[i.name]=i,i)}function d(e){e=e||M;for(var t in e)if(e.hasOwnProperty(t)&&e[t].state!==R)return!1;return!0}function p(e){e.state=I,i(e.onpreload,function(e){e.call()})}function f(e){e.state===t&&(e.state=P,e.onpreload=[],w({url:e.url,type:"cache"},function(){p(e)}))}function h(){var e=arguments,t=e[e.length-1],n=[].slice.call(e,1),r=n[0];return o(t)||(t=null),a(e[0])?(e[0].push(t),A.load.apply(null,e[0]),A):(r?(i(n,function(e){o(e)||!e||f(c(e))}),v(c(e[0]),o(r)?r:function(){A.load.apply(null,n)})):v(c(e[0])),A)}function g(){var e=arguments,t=e[e.length-1],n={};return o(t)||(t=null),a(e[0])?(e[0].push(t),A.load.apply(null,e[0]),A):(i(e,function(e){e!==t&&(e=c(e),n[e.name]=e)}),i(e,function(e){e!==t&&(e=c(e),v(e,function(){d(n)&&l(t)}))}),A)}function v(e,t){return t=t||n,e.state===R?void t():e.state===D?void A.ready(e.name,t):e.state===P?void e.onpreload.push(function(){v(e,t)}):(e.state=D,void w(e,function(){e.state=R,t(),i(O[e.name],function(e){l(e)}),E&&d()&&i(O.ALL,function(e){l(e)})}))}function m(e){e=e||"";var t=e.split("?")[0].split(".");return t[t.length-1].toLowerCase()}function w(t,i){function r(t){t=t||e.event,u.onload=u.onreadystatechange=u.onerror=null,i()}function o(n){n=n||e.event,("load"===n.type||/loaded|complete/.test(u.readyState)&&(!S.documentMode||S.documentMode<9))&&(e.clearTimeout(t.errorTimeout),e.clearTimeout(t.cssTimeout),u.onload=u.onreadystatechange=u.onerror=null,i())}function a(){if(t.state!==R&&t.cssRetries<=20){for(var n=0,i=S.styleSheets.length;i>n;n++)if(S.styleSheets[n].href===u.href)return void o({type:"load"});t.cssRetries++,t.cssTimeout=e.setTimeout(a,250)}}var u,l,s;i=i||n,l=m(t.url),"css"===l?(u=S.createElement("link"),u.type="text/"+(t.type||"css"),u.rel="stylesheet",u.href=t.url,t.cssRetries=0,t.cssTimeout=e.setTimeout(a,500)):(u=S.createElement("script"),u.type="text/"+(t.type||"javascript"),u.src=t.url),u.onload=u.onreadystatechange=o,u.onerror=r,u.async=!1,u.defer=!1,t.errorTimeout=e.setTimeout(function(){r({type:"timeout"})},7e3),s=S.head||S.getElementsByTagName("head")[0],s.insertBefore(u,s.lastChild)}function b(){for(var e,t=S.getElementsByTagName("script"),n=0,i=t.length;i>n;n++)if(e=t[n].getAttribute("data-headjs-load"),!!e)return void A.load(e)}function y(e,t){var n,r,u;return e===S?(E?l(t):L.push(t),A):(o(e)&&(t=e,e="ALL"),a(e)?(n={},i(e,function(e){n[e]=M[e],A.ready(e,function(){d(n)&&l(t)})}),A):"string"==typeof e&&o(t)?(r=M[e],r&&r.state===R||"ALL"===e&&d()&&E?(l(t),A):(u=O[e],u?u.push(t):u=O[e]=[t],A)):A)}function T(){return S.body?void(E||(E=!0,b(),i(L,function(e){l(e)}))):(e.clearTimeout(A.readyTimeout),void(A.readyTimeout=e.setTimeout(T,50)))}function x(){S.addEventListener?(S.removeEventListener("DOMContentLoaded",x,!1),T()):"complete"===S.readyState&&(S.detachEvent("onreadystatechange",x),T())}var E,k,S=e.document,L=[],O={},M={},z="async"in S.createElement("script")||"MozAppearance"in S.documentElement.style||e.opera,j=e.head_conf&&e.head_conf.head||"head",A=e[j]=e[j]||function(){A.ready.apply(null,arguments)},P=1,I=2,D=3,R=4;if("complete"===S.readyState)T();else if(S.addEventListener)S.addEventListener("DOMContentLoaded",x,!1),e.addEventListener("load",T,!1);else{S.attachEvent("onreadystatechange",x),e.attachEvent("onload",T),k=!1;try{k=!e.frameElement&&S.documentElement}catch(e){}k&&k.doScroll&&function t(){if(!E){try{k.doScroll("left")}catch(n){return e.clearTimeout(A.readyTimeout),void(A.readyTimeout=e.setTimeout(t,50))}T()}}()}A.load=A.js=z?g:h,A.test=s,A.ready=y,A.ready(S,function(){d()&&i(O.ALL,function(e){l(e)}),A.feature&&A.feature("domloaded",!0)})}(window),function(e){"function"==typeof define&&define.amd&&define.amd.jQuery?define(["jquery"],e):e(jQuery)}(function(e){function t(t){return!t||void 0!==t.allowPageScroll||void 0===t.swipe&&void 0===t.swipeStatus||(t.allowPageScroll=s),void 0!==t.click&&void 0===t.tap&&(t.tap=t.click),t||(t={}),t=e.extend({},e.fn.swipe.defaults,t),this.each(function(){var i=e(this),r=i.data(O);r||(r=new n(this,t),i.data(O,r))})}function n(t,n){function M(t){if(!(se()||e(t.target).closest(n.excludedElements,Be).length>0)){var i,r=t.originalEvent?t.originalEvent:t,o=k?r.touches[0]:r;return Fe=y,k?We=r.touches.length:t.preventDefault(),Re=0,_e=null,qe=null,Ne=0,Ue=0,Ce=0,He=1,Qe=0,Ye=he(),Xe=me(),ue(),!k||We===n.fingers||n.fingers===w||X()?(de(0,o),Ve=Le(),2==We&&(de(1,r.touches[1]),Ue=Ce=ye(Ye[0].start,Ye[1].start)),(n.swipeStatus||n.pinchStatus)&&(i=R(r,Fe))):i=!1,i===!1?(Fe=E,R(r,Fe),i):(n.hold&&(et=setTimeout(e.proxy(function(){Be.trigger("hold",[r.target]),n.hold&&(i=n.hold.call(Be,r,r.target))},this),n.longTapThreshold)),ce(!0),null)}}function z(e){var t=e.originalEvent?e.originalEvent:e;if(Fe!==x&&Fe!==E&&!le()){var i,r=k?t.touches[0]:t,o=pe(r);if(Ge=Le(),k&&(We=t.touches.length),n.hold&&clearTimeout(et),Fe=T,2==We&&(0==Ue?(de(1,t.touches[1]),Ue=Ce=ye(Ye[0].start,Ye[1].start)):(pe(t.touches[1]),Ce=ye(Ye[0].end,Ye[1].end),qe=xe(Ye[0].end,Ye[1].end)),He=Te(Ue,Ce),Qe=Math.abs(Ue-Ce)),We===n.fingers||n.fingers===w||!k||X()){if(_e=Se(o.start,o.end),Q(e,_e),Re=Ee(o.start,o.end),Ne=be(),ge(_e,Re),(n.swipeStatus||n.pinchStatus)&&(i=R(t,Fe)),!n.triggerOnTouchEnd||n.triggerOnTouchLeave){var a=!0;if(n.triggerOnTouchLeave){var u=Oe(this);a=Me(o.end,u)}!n.triggerOnTouchEnd&&a?Fe=D(T):n.triggerOnTouchLeave&&!a&&(Fe=D(x)),(Fe==E||Fe==x)&&R(t,Fe)}}else Fe=E,R(t,Fe);i===!1&&(Fe=E,R(t,Fe))}}function j(e){var t=e.originalEvent;return k&&t.touches.length>0?(ae(),!0):(le()&&(We=Je),Ge=Le(),Ne=be(),U()||!N()?(Fe=E,R(t,Fe)):n.triggerOnTouchEnd||0==n.triggerOnTouchEnd&&Fe===T?(e.preventDefault(),Fe=x,R(t,Fe)):!n.triggerOnTouchEnd&&Z()?(Fe=x,_(t,Fe,f)):Fe===T&&(Fe=E,R(t,Fe)),ce(!1),null)}function A(){We=0,Ge=0,Ve=0,Ue=0,Ce=0,He=1,ue(),ce(!1)}function P(e){var t=e.originalEvent;n.triggerOnTouchLeave&&(Fe=D(x),R(t,Fe))}function I(){Be.unbind(je,M),Be.unbind(De,A),Be.unbind(Ae,z),Be.unbind(Pe,j),Ie&&Be.unbind(Ie,P),ce(!1)}function D(e){var t=e,i=H(),r=N(),o=U();return!i||o?t=E:!r||e!=T||n.triggerOnTouchEnd&&!n.triggerOnTouchLeave?!r&&e==x&&n.triggerOnTouchLeave&&(t=E):t=x,t}function R(e,t){var n=void 0;return Y()||W()?n=_(e,t,d):(B()||X())&&n!==!1&&(n=_(e,t,p)),re()&&n!==!1?n=_(e,t,h):oe()&&n!==!1?n=_(e,t,g):ie()&&n!==!1&&(n=_(e,t,f)),t===E&&A(e),t===x&&(k?0==e.touches.length&&A(e):A(e)),n}function _(t,s,c){var v=void 0;if(c==d){if(Be.trigger("swipeStatus",[s,_e||null,Re||0,Ne||0,We,Ye]),n.swipeStatus&&(v=n.swipeStatus.call(Be,t,s,_e||null,Re||0,Ne||0,We,Ye),v===!1))return!1;if(s==x&&F()){if(Be.trigger("swipe",[_e,Re,Ne,We,Ye]),n.swipe&&(v=n.swipe.call(Be,t,_e,Re,Ne,We,Ye),v===!1))return!1;switch(_e){case i:Be.trigger("swipeLeft",[_e,Re,Ne,We,Ye]),n.swipeLeft&&(v=n.swipeLeft.call(Be,t,_e,Re,Ne,We,Ye));break;case r:Be.trigger("swipeRight",[_e,Re,Ne,We,Ye]),n.swipeRight&&(v=n.swipeRight.call(Be,t,_e,Re,Ne,We,Ye));break;case o:Be.trigger("swipeUp",[_e,Re,Ne,We,Ye]),n.swipeUp&&(v=n.swipeUp.call(Be,t,_e,Re,Ne,We,Ye));break;case a:Be.trigger("swipeDown",[_e,Re,Ne,We,Ye]),n.swipeDown&&(v=n.swipeDown.call(Be,t,_e,Re,Ne,We,Ye))}}}if(c==p){if(Be.trigger("pinchStatus",[s,qe||null,Qe||0,Ne||0,We,He,Ye]),n.pinchStatus&&(v=n.pinchStatus.call(Be,t,s,qe||null,Qe||0,Ne||0,We,He,Ye),v===!1))return!1;if(s==x&&q())switch(qe){case u:Be.trigger("pinchIn",[qe||null,Qe||0,Ne||0,We,He,Ye]),n.pinchIn&&(v=n.pinchIn.call(Be,t,qe||null,Qe||0,Ne||0,We,He,Ye));break;case l:Be.trigger("pinchOut",[qe||null,Qe||0,Ne||0,We,He,Ye]),n.pinchOut&&(v=n.pinchOut.call(Be,t,qe||null,Qe||0,Ne||0,We,He,Ye))}}return c==f?(s===E||s===x)&&(clearTimeout($e),clearTimeout(et),J()&&!ee()?(Ke=Le(),$e=setTimeout(e.proxy(function(){Ke=null,Be.trigger("tap",[t.target]),n.tap&&(v=n.tap.call(Be,t,t.target))},this),n.doubleTapThreshold)):(Ke=null,Be.trigger("tap",[t.target]),n.tap&&(v=n.tap.call(Be,t,t.target)))):c==h?(s===E||s===x)&&(clearTimeout($e),Ke=null,Be.trigger("doubletap",[t.target]),n.doubleTap&&(v=n.doubleTap.call(Be,t,t.target))):c==g&&(s===E||s===x)&&(clearTimeout($e),Ke=null,Be.trigger("longtap",[t.target]),n.longTap&&(v=n.longTap.call(Be,t,t.target))),v}function N(){var e=!0;return null!==n.threshold&&(e=Re>=n.threshold),e}function U(){var e=!1;return null!==n.cancelThreshold&&null!==_e&&(e=ve(_e)-Re>=n.cancelThreshold),e}function C(){return null!==n.pinchThreshold?Qe>=n.pinchThreshold:!0}function H(){var e;return e=n.maxTimeThreshold&&Ne>=n.maxTimeThreshold?!1:!0}function Q(e,t){if(n.allowPageScroll===s||X())e.preventDefault();else{var u=n.allowPageScroll===c;switch(t){case i:(n.swipeLeft&&u||!u&&n.allowPageScroll!=v)&&e.preventDefault();break;case r:(n.swipeRight&&u||!u&&n.allowPageScroll!=v)&&e.preventDefault();break;case o:(n.swipeUp&&u||!u&&n.allowPageScroll!=m)&&e.preventDefault();break;case a:(n.swipeDown&&u||!u&&n.allowPageScroll!=m)&&e.preventDefault()}}}function q(){var e=V(),t=G(),n=C();return e&&t&&n}function X(){return!!(n.pinchStatus||n.pinchIn||n.pinchOut)}function B(){return!(!q()||!X())}function F(){var e=H(),t=N(),n=V(),i=G(),r=U(),o=!r&&i&&n&&t&&e;return o}function W(){return!!(n.swipe||n.swipeStatus||n.swipeLeft||n.swipeRight||n.swipeUp||n.swipeDown)}function Y(){return!(!F()||!W())}function V(){return We===n.fingers||n.fingers===w||!k}function G(){return 0!==Ye[0].end.x}function Z(){return!!n.tap}function J(){return!!n.doubleTap}function K(){return!!n.longTap}function $(){if(null==Ke)return!1;var e=Le();return J()&&e-Ke<=n.doubleTapThreshold}function ee(){return $()}function te(){return(1===We||!k)&&(isNaN(Re)||Re<n.threshold)}function ne(){return Ne>n.longTapThreshold&&b>Re}function ie(){return!(!te()||!Z())}function re(){return!(!$()||!J())}function oe(){return!(!ne()||!K())}function ae(){Ze=Le(),Je=event.touches.length+1}function ue(){Ze=0,Je=0}function le(){var e=!1;if(Ze){var t=Le()-Ze;t<=n.fingerReleaseThreshold&&(e=!0)}return e}function se(){return!(Be.data(O+"_intouch")!==!0)}function ce(e){e===!0?(Be.bind(Ae,z),Be.bind(Pe,j),Ie&&Be.bind(Ie,P)):(Be.unbind(Ae,z,!1),Be.unbind(Pe,j,!1),Ie&&Be.unbind(Ie,P,!1)),Be.data(O+"_intouch",e===!0)}function de(e,t){var n=void 0!==t.identifier?t.identifier:0;return Ye[e].identifier=n,Ye[e].start.x=Ye[e].end.x=t.pageX||t.clientX,Ye[e].start.y=Ye[e].end.y=t.pageY||t.clientY,Ye[e]}function pe(e){var t=void 0!==e.identifier?e.identifier:0,n=fe(t);return n.end.x=e.pageX||e.clientX,n.end.y=e.pageY||e.clientY,n}function fe(e){for(var t=0;t<Ye.length;t++)if(Ye[t].identifier==e)return Ye[t]}function he(){for(var e=[],t=0;5>=t;t++)e.push({start:{x:0,y:0},end:{x:0,y:0},identifier:0});return e}function ge(e,t){t=Math.max(t,ve(e)),Xe[e].distance=t}function ve(e){return Xe[e]?Xe[e].distance:void 0}function me(){var e={};return e[i]=we(i),e[r]=we(r),e[o]=we(o),e[a]=we(a),e}function we(e){return{direction:e,distance:0}}function be(){return Ge-Ve}function ye(e,t){var n=Math.abs(e.x-t.x),i=Math.abs(e.y-t.y);return Math.round(Math.sqrt(n*n+i*i))}function Te(e,t){var n=t/e*1;return n.toFixed(2)}function xe(){return 1>He?l:u}function Ee(e,t){return Math.round(Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2)))}function ke(e,t){var n=e.x-t.x,i=t.y-e.y,r=Math.atan2(i,n),o=Math.round(180*r/Math.PI);return 0>o&&(o=360-Math.abs(o)),o}function Se(e,t){var n=ke(e,t);return 45>=n&&n>=0?i:360>=n&&n>=315?i:n>=135&&225>=n?r:n>45&&135>n?a:o}function Le(){var e=new Date;return e.getTime()}function Oe(t){t=e(t);var n=t.offset(),i={left:n.left,right:n.left+t.outerWidth(),top:n.top,bottom:n.top+t.outerHeight()};return i}function Me(e,t){return e.x>t.left&&e.x<t.right&&e.y>t.top&&e.y<t.bottom}var ze=k||L||!n.fallbackToMouseEvents,je=ze?L?S?"MSPointerDown":"pointerdown":"touchstart":"mousedown",Ae=ze?L?S?"MSPointerMove":"pointermove":"touchmove":"mousemove",Pe=ze?L?S?"MSPointerUp":"pointerup":"touchend":"mouseup",Ie=ze?null:"mouseleave",De=L?S?"MSPointerCancel":"pointercancel":"touchcancel",Re=0,_e=null,Ne=0,Ue=0,Ce=0,He=1,Qe=0,qe=0,Xe=null,Be=e(t),Fe="start",We=0,Ye=null,Ve=0,Ge=0,Ze=0,Je=0,Ke=0,$e=null,et=null;try{Be.bind(je,M),Be.bind(De,A)}catch(t){e.error("events not supported "+je+","+De+" on jQuery.swipe")}this.enable=function(){return Be.bind(je,M),Be.bind(De,A),Be},this.disable=function(){return I(),Be},this.destroy=function(){return I(),Be.data(O,null),Be},this.option=function(t,i){if(void 0!==n[t]){if(void 0===i)return n[t];n[t]=i}else e.error("Option "+t+" does not exist on jQuery.swipe.options");return null}}var i="left",r="right",o="up",a="down",u="in",l="out",s="none",c="auto",d="swipe",p="pinch",f="tap",h="doubletap",g="longtap",v="horizontal",m="vertical",w="all",b=10,y="start",T="move",x="end",E="cancel",k="ontouchstart"in window,S=window.navigator.msPointerEnabled&&!window.navigator.pointerEnabled,L=window.navigator.pointerEnabled||window.navigator.msPointerEnabled,O="TouchSwipe",M={fingers:1,threshold:75,cancelThreshold:null,pinchThreshold:20,maxTimeThreshold:null,fingerReleaseThreshold:250,longTapThreshold:500,doubleTapThreshold:200,swipe:null,swipeLeft:null,swipeRight:null,swipeUp:null,swipeDown:null,swipeStatus:null,pinchIn:null,pinchOut:null,pinchStatus:null,click:null,tap:null,doubleTap:null,longTap:null,hold:null,triggerOnTouchEnd:!0,triggerOnTouchLeave:!1,allowPageScroll:"auto",fallbackToMouseEvents:!0,excludedElements:"label, button, input, select, textarea, a, .noSwipe"};e.fn.swipe=function(n){var i=e(this),r=i.data(O);if(r&&"string"==typeof n){if(r[n])return r[n].apply(this,Array.prototype.slice.call(arguments,1));e.error("Method "+n+" does not exist on jQuery.swipe")}else if(!(r||"object"!=typeof n&&n))return t.apply(this,arguments);return i},e.fn.swipe.defaults=M,e.fn.swipe.phases={PHASE_START:y,PHASE_MOVE:T,PHASE_END:x,PHASE_CANCEL:E},e.fn.swipe.directions={LEFT:i,RIGHT:r,UP:o,DOWN:a,IN:u,OUT:l},e.fn.swipe.pageScroll={NONE:s,HORIZONTAL:v,VERTICAL:m,AUTO:c},e.fn.swipe.fingers={ONE:1,TWO:2,THREE:3,ALL:w}}),function(e){(jQuery.browser=jQuery.browser||{}).mobile=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od|ad)|iris|kindle|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(e)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(e.substr(0,4))}(navigator.userAgent||navigator.vendor||window.opera),function(e){var t={init:function(){var t=["paddingTop","paddingRight","paddingBottom","paddingLeft","fontSize","lineHeight","fontFamily","width","fontWeight","border-top-width","border-right-width","border-bottom-width","border-left-width","-moz-box-sizing","-webkit-box-sizing","box-sizing"];return this.each(function(){function n(){for(var e=0;e<t.length;e++)a.css(t[e],o.css(t[e]))}function i(){var e=o.val().replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/&/g,"&").replace(/\n/g,"<br/>");a.html(e+"&nbsp;"),r()}function r(){var e=a.height(),t="hidden",n=u?e+c+l:e+c;n>p?(n=p,t="auto"):d>n&&(n=d),o.height()!==n&&o.css({overflow:t,height:n+"px"})}if("textarea"!==this.type)return!1;var o=e(this).css({resize:"none",overflow:"hidden"}),a=e("<div></div>").css({position:"absolute",display:"none","word-wrap":"break-word","white-space":"pre-wrap","border-style":"solid"}).appendTo(document.body);n();var u="border-box"==o.css("box-sizing")||"border-box"==o.css("-moz-box-sizing")||"border-box"==o.css("-webkit-box-sizing"),l=parseInt(o.css("border-top-width"))+parseInt(o.css("padding-top"))+parseInt(o.css("padding-bottom"))+parseInt(o.css("border-bottom-width")),s=parseInt(o.css("height"),10),c=parseInt(o.css("line-height"),10)||parseInt(o.css("font-size"),10),d=2*c>s?2*c:s,p=parseInt(o.css("max-height"),10)>-1?parseInt(o.css("max-height"),10):Number.MAX_VALUE;o.bind("keyup change cut paste",function(){i()}),e(window).bind("resize",function(){var e=parseInt(o.width(),10);a.width()!==e&&(a.css({width:e+"px"}),i())}),o.bind("blur",function(){r()}),o.bind("updateHeight",function(){n(),i()}),e(function(){i()})})}};e.fn.flexible=function(n){return t[n]?t[n].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof n&&n?void e.error("Method "+n+" does not exist on jQuery.flexible"):t.init.apply(this,arguments)}}(jQuery); })(this);
 
 // WCF.js
-(function (window, undefined) {"use strict";function wcfEval(expression){return eval(expression)}!function(){var e=jQuery.fn.data;jQuery.fn.data=function(t,i){if(t)switch(typeof t){case"object":for(var n in t)if(n.match(/ID$/)){var s=t[n];delete t[n],n=n.replace(/ID$/,"-id"),t[n]=s}arguments[0]=t;break;case"string":t.match(/ID$/)&&(arguments[0]=t.replace(/ID$/,"-id"))}var a=e.apply(this,arguments);if(void 0===t)for(var n in a)n.match(/Id$/)&&(a[n.replace(/Id$/,"ID")]=a[n],delete a[n]);return a},window.console||(window.console={});for(var t=["log","info","warn","exception","assert","dir","dirxml","trace","group","groupEnd","groupCollapsed","profile","profileEnd","count","clear","time","timeEnd","timeStamp","table","error"],i=0;i<t.length;i++)"undefined"==typeof console[t[i]]&&(console[t[i]]=function(){});"undefined"==typeof console.debug&&(console.debug=function(e){console.log(e)})}(),String.prototype.hashCode=function(){var e,t=0;if(this.length)for(var i=0,n=this.length;n>i;i++)e=this.charCodeAt(i),t=(t<<5)-t+e,t&=t;return t},window.shuffle=function(e){for(var t,i,n=e.length;0!==n;)i=Math.floor(Math.random()*n),n-=1,t=e[n],e[n]=e[i],e[i]=t;return this},function(){var e=navigator.userAgent.toLowerCase(),t=/(chrome)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e)||/(msie) ([\w.]+)/.exec(e)||e.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(e)||[],i={browser:t[1]||"",version:t[2]||"0"},n={};i.browser&&(n[i.browser]=!0,n.version=i.version),n.chrome?n.webkit=!0:n.webkit&&(n.safari=!0),jQuery.browser=jQuery.browser||{},jQuery.browser=$.extend(jQuery.browser,n),jQuery.browser.touch=!!("ontouchstart"in window)||!!("msMaxTouchPoints"in window.navigator)&&window.navigator.msMaxTouchPoints>0,jQuery.browser.smartphone="bottom"==$("html").css("caption-side"),jQuery.browser.mozilla&&e.match(/trident/)&&(jQuery.browser.mozilla=!1,jQuery.browser.msie=!0),jQuery.browser.iOS=/\((ipad|iphone|ipod);/.test(e),jQuery.browser.iOS&&$("html").addClass("iOS"),jQuery.browser.android=-1!==e.indexOf("android"),jQuery.browser.editor="redactor",jQuery.browser.ckeditor=!1,jQuery.browser.redactor=!0}(),null==window.WCF&&(window.WCF={}),$.extend(!0,{removeArrayValue:function(e,t){return $.grep(e,function(e,i){return t!==e})},wcfEscapeID:function(e){return e.replace(/(:|\.)/g,"\\$1")},wcfIsset:function(e){return!!$("#"+$.wcfEscapeID(e)).length},getLength:function(e){var t=0;for(var i in e)e.hasOwnProperty(i)&&t++;return t}}),$.fn.extend({getTagName:function(){return this.length?this.get(0).tagName.toLowerCase():""},getDimensions:function(e){var t={},i={},n=!1;switch(this.is(":hidden")&&(t=WCF.getInlineCSS(this),n=!0,this.css({display:"block",visibility:"hidden"})),e){case"inner":i={height:this.innerHeight(),width:this.innerWidth()};break;case"outer":i={height:this.outerHeight(),width:this.outerWidth()};break;default:i={height:this.height(),width:this.width()}}return n&&WCF.revertInlineCSS(this,t,["display","visibility"]),i},getOffsets:function(e){var t={},i={},n=!1;switch(this.is(":hidden")&&(t=WCF.getInlineCSS(this),n=!0,this.css({display:"block",visibility:"hidden"})),e){case"offset":i=this.offset();break;case"position":default:i=this.position()}return n&&WCF.revertInlineCSS(this,t,["display","visibility"]),i},makePositioned:function(e,t){"absolute"!=e&&"fixed"!=e&&(e="absolute");var i=this.getOffsets("position");return this.css({position:e,left:i.left,margin:0,top:i.top}),t&&this.remove().appentTo("body"),this},disable:function(){return this.attr("disabled","disabled")},enable:function(){return this.removeAttr("disabled")},wcfIdentify:function(){return window.bc_wcfDomUtil.identify(this[0])},getCaret:function(){if(this.is("input")){if("text"!=this.attr("type")&&"password"!=this.attr("type"))return-1}else if(!this.is("textarea"))return-1;var e=0,t=this.get(0);if(document.selection){this.focus();var i=document.selection.createRange();i.moveStart("character",-this.val().length),e=i.text.length}else(t.selectionStart||"0"==t.selectionStart)&&(e=parseInt(t.selectionStart));return e},setCaret:function(e){if(this.is("input")){if("text"!=this.attr("type")&&"password"!=this.attr("type"))return!1}else if(!this.is("textarea"))return!1;var t=this.get(0);if(this.focus(),document.selection){var i=document.selection.createRange();i.moveStart("character",e),i.moveEnd("character",0),i.select()}else(t.selectionStart||"0"==t.selectionStart)&&(t.selectionStart=e,t.selectionEnd=e);return!0},wcfDropIn:function(e,t,i){return e||(e="up"),i&&parseInt(i)||(i=200),this.show(WCF.getEffect(this,"drop"),{direction:e},i,t)},wcfDropOut:function(e,t,i){return e||(e="down"),i&&parseInt(i)||(i=200),this.hide(WCF.getEffect(this,"drop"),{direction:e},i,t)},wcfBlindIn:function(e,t,i){return e||(e="vertical"),i&&parseInt(i)||(i=200),this.show(WCF.getEffect(this,"blind"),{direction:e},i,t)},wcfBlindOut:function(e,t,i){return e||(e="vertical"),i&&parseInt(i)||(i=200),this.hide(WCF.getEffect(this,"blind"),{direction:e},i,t)},wcfHighlight:function(e,t){return this.effect("highlight",e,600,t)},wcfFadeIn:function(e,t){return t&&parseInt(t)||(t=200),this.show(WCF.getEffect(this,"fade"),{},t,e)},wcfFadeOut:function(e,t){return t&&parseInt(t)||(t=200),this.hide(WCF.getEffect(this,"fade"),{},t,e)},cssAsNumber:function(e){if(this.length){var t=this.css(e);if(void 0!==t)return parseInt(t.replace(/px$/,""))}return 0},perfectScrollbar:function(e){var t=require("perfect-scrollbar");return this.each(function(){if("object"==typeof e||"undefined"==typeof e){var i=e;$(this).data("psID")||t.initialize(this,i)}else{var n=e;"update"===n?t.update(this):"destroy"===n&&t.destroy(this)}return jQuery(this)})}}),$.extend(WCF,{activeDialogs:0,_idCounter:0,getRandomID:function(){return window.bc_wcfDomUtil.getUniqueId()},inArray:function(e,t){return-1!=$.inArray(e,t)},getEffect:function(e,t){return e.is("tr")?"highlight":t},getInlineCSS:function(e){var t={},i=e.attr("style");if(!i)return{};i=i.split(";");for(var n=0,s=i.length;s>n;n++){var a=$.trim(i[n]);""!=a&&(a=a.split(":"),t[$.trim(a[0])]=$.trim(a[1]))}return t},revertInlineCSS:function(e,t,i){for(var n=0,s=i.length;s>n;n++){var a=i[n];t[a]?e.css(a,t[a]):e.css(a,"")}},getUUID:function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var t=16*Math.random()|0,i="x"==e?t:3&t|8;return i.toString(16)})},base64toBlob:function(e,t,i){t=t||"",i=i||512;for(var n=atob(e),s=[],a=0;a<n.length;a+=i){for(var o=n.slice(a,a+i),r=new Array(o.length),l=0;l<o.length;l++)r[l]=o.charCodeAt(l);var c=new Uint8Array(r);s.push(c)}return new Blob(s,{type:t})},convertLegacyURL:function(e){return URL_LEGACY_MODE?e:e.replace(/^index\.php\/(.*?)\/\?/,function(e,t){for(var i=t.split(/([A-Z][a-z0-9]+)/),n="",s=0,a=i.length;a>s;s++){var o=i[s].trim();o.length&&(n.length&&(n+="-"),n+=o.toLowerCase())}return"index.php?"+n+"/&"})}}),WCF.Browser={_isChrome:null,isChrome:function(){return null===this._isChrome&&(this._isChrome=!1,/chrom(e|ium)/.test(navigator.userAgent.toLowerCase())&&(this._isChrome=!0)),this._isChrome}},WCF.Dropdown={init:function(e){window.bc_wcfSimpleDropdown.initAll()},initDropdown:function(e,t){window.bc_wcfSimpleDropdown.init(e[0],t)},removeDropdown:function(e){window.bc_wcfSimpleDropdown.remove(e)},initDropdownFragment:function(e,t){window.bc_wcfSimpleDropdown.initFragment(e[0],t[0])},registerCallback:function(e,t){window.bc_wcfSimpleDropdown.registerCallback(e,t)},_toggle:function(e,t){window.bc_wcfSimpleDropdown._toggle(e,t)},toggleDropdown:function(e){window.bc_wcfSimpleDropdown._toggle(null,e)},getDropdown:function(e){var t=window.bc_wcfSimpleDropdown.getDropdown(e);return t?$(t):null},getDropdownMenu:function(e){var t=window.bc_wcfSimpleDropdown.getDropdownMenu(e);return t?$(t):null},setAlignmentByID:function(e){window.bc_wcfSimpleDropdown.setAlignmentById(e)},setAlignment:function(e,t){window.bc_wcfSimpleDropdown.setAlignment(e[0],t[0])},_closeAll:function(){window.bc_wcfSimpleDropdown.closeAll()},close:function(e){window.bc_wcfSimpleDropdown.close(e)},destroy:function(e){window.bc_wcfSimpleDropdown.destroy(e)}},WCF.Dropdown.Interactive={},WCF.Dropdown.Interactive.Handler={_dropdownContainer:null,_dropdownMenus:{},create:function(e,t,i){null===this._dropdownContainer&&(this._dropdownContainer=$('<div class="dropdownMenuContainer" />').appendTo(document.body),WCF.CloseOverlayHandler.addCallback("WCF.Dropdown.Interactive.Handler",$.proxy(this.closeAll,this)));var n=new WCF.Dropdown.Interactive.Instance(this._dropdownContainer,e,t,i);return this._dropdownMenus[t]=n,n},open:function(e){return this._dropdownMenus[e]?(this._dropdownMenus[e].open(),!0):!1},close:function(e){return this._dropdownMenus[e]?(this._dropdownMenus[e].close(),!0):!1},closeAll:function(){$.each(this._dropdownMenus,function(e,t){t.close()})}},WCF.Dropdown.Interactive.Instance=Class.extend({_container:null,_itemList:null,_linkList:null,_options:{},_pointer:null,_triggerElement:null,init:function(e,t,i,n){this._options=n||{},this._triggerElement=t;var s=null;if(n.staticDropdown===!0)this._container=this._triggerElement.find(".interactiveDropdownStatic:eq(0)").data("source",i).click(function(e){e.stopPropagation()});else{this._container=$('<div class="interactiveDropdown" data-source="'+i+'" />').click(function(e){e.stopPropagation()});var a=$('<div class="interactiveDropdownHeader" />').appendTo(this._container);$('<span class="interactiveDropdownTitle">'+n.title+"</span>").appendTo(a),this._linkList=$('<ul class="interactiveDropdownLinks"></ul>').appendTo(a),s=$('<div class="interactiveDropdownItemsContainer" />').appendTo(this._container),this._itemList=$('<ul class="interactiveDropdownItems" />').appendTo(s),$('<a href="'+n.showAllLink+'" class="interactiveDropdownShowAll">'+WCF.Language.get("wcf.user.panel.showAll")+"</a>").appendTo(this._container)}this._pointer=$('<span class="pointer"><span /></span>').appendTo(this._container),$.browser.mobile||null===s||s.perfectScrollbar({suppressScrollX:!0}),this._container.appendTo(e)},getContainer:function(){return this._container},getItemList:function(){return this._itemList},getLinkList:function(){return this._linkList},open:function(){WCF.Dropdown._closeAll(),this._container.addClass("open"),this.render()},close:function(){this._container.removeClass("open")},toggle:function(){return this._container.hasClass("open")?(this.close(),!1):(WCF.Dropdown.Interactive.Handler.closeAll(),this.open(),!0)},resetItems:function(){this._itemList.empty(),this.close()},render:function(){var e=WCF.Language.get("wcf.global.pageDirection");"bottom"===$("html").css("caption-side")?this._renderMobile(e):this._renderDesktop(e)},rebuildScrollbar:function(){if(!$.browser.mobile){var e=this._itemList.parent();e.perfectScrollbar("destroy"),e.perfectScrollbar({suppressScrollX:!0})}},_renderMobile:function(e){var t=this._triggerElement.getDimensions("outer"),i=Math.floor(t.width/2),n=this._triggerElement.getOffsets("offset"),s=Math.floor(this._pointer.outerWidth()/2);this._container.css({top:n.top+t.height+"px"}),this._pointer.css({left:n.left+i-s+"px"})},_renderDesktop:function(e){var t=this._triggerElement.getDimensions("outer"),i=this._triggerElement.getOffsets("offset"),n=this._container.getDimensions(),s=$(window).width(),a=null,o=null;"ltr"===e?(a=this._getPositionLeft(i,n,s),a.result||(o=this._getPositionRight(i,n,t,s),o.result?a=null:o=null)):(o=this._getPositionRight(i,n,t,s),o.result||(a=this._getPositionLeft(i,n,s),a.result?o=null:a=null)),null===o?(this._container.css({left:a.left+"px",top:i.top+t.height+"px"}),this._pointer.css({left:this._options.pointerOffset?this._options.pointerOffset:"4px"})):(this._container.css({right:o.right+"px",top:i.top+t.height+"px"}),this._pointer.css({right:this._options.pointerOffset?this._options.pointerOffset:"4px"}))},_getPositionLeft:function(e,t,i){var n=e.left,s=e.left+t.width;return{left:n,result:i>s}},_getPositionRight:function(e,t,i,n){var s=e.left+i.width-t.width,a=n-(e.left+i.width);return{result:s>0,right:a}}}),WCF.Clipboard={init:function(e,t,i,n){require(["WoltLab/WCF/Controller/Clipboard"],function(i){i.setup({hasMarkedItems:t>0,pageClassName:e,pageObjectId:n})})},reload:function(){require(["WoltLab/WCF/Controller/Clipboard"],function(e){e.reload()})}},WCF.PeriodicalExecuter=Class.extend({_callback:null,_delay:0,_intervalID:null,_isExecuting:!1,init:function(e,t){return $.isFunction(e)?(this._callback=e,this._interval=t,void this.resume()):void console.debug("[WCF.PeriodicalExecuter] Given callback is invalid, aborting.")},_execute:function(){if(!this._isExecuting)try{this._isExecuting=!0,this._callback(this),this._isExecuting=!1}catch(e){throw this._isExecuting=!1,e}},stop:function(){this._intervalID&&clearInterval(this._intervalID)},resume:function(){this.restart()},restart:function(){this._intervalID&&this.stop(),this._intervalID=setInterval($.proxy(this._execute,this),this._interval)},setInterval:function(e){this._interval=e,this.restart()}}),WCF.LoadingOverlayHandler={show:function(){require(["WoltLab/WCF/Ajax/Status"],function(e){e.show()})},hide:function(){require(["WoltLab/WCF/Ajax/Status"],function(e){e.hide()})},updateIcon:function(e,t){var i=void 0===t||t?"addClass":"removeClass";e.find(".icon")[i]("icon-spinner"),e.hasClass("icon")&&e[i]("icon-spinner")}},WCF.Action={},WCF.Action.Proxy=Class.extend({_ajaxRequest:null,init:function(e){this._ajaxRequest=null,e=$.extend(!0,{autoSend:!1,data:{},dataType:"json",after:null,init:null,jsonp:"callback",async:!0,failure:null,showLoadingOverlay:!0,success:null,suppressErrors:!1,type:"POST",url:"index.php/AJAXProxy/?t="+SECURITY_TOKEN+SID_ARG_2ND,aborted:null,autoAbortPrevious:!1},e),"jsonp"===e.dataType?require(["AjaxJsonp"],function(t){t.send(e.url,e.success,e.failure,{parameterName:e.jsonp})}):require(["AjaxRequest"],function(t){this._ajaxRequest=new t({data:e.data,type:e.type,url:e.url,autoAbort:e.autoAbortPrevious,ignoreError:e.suppressErrors,silent:e.suppressErrors,failure:e.failure,finalize:e.after,success:e.success}),e.autoSend&&this._ajaxRequest.sendRequest()}.bind(this))},sendRequest:function(e){require(["AjaxRequest"],function(t){null!==this._ajaxRequest&&this._ajaxRequest.sendRequest(e)}.bind(this))},abortPrevious:function(){require(["AjaxRequest"],function(e){null!==this._ajaxRequest&&this._ajaxRequest.abortPrevious()}.bind(this))},setOption:function(e,t){require(["AjaxRequest"],function(i){null!==this._ajaxRequest&&this._ajaxRequest.setOption(e,t)}.bind(this))},showLoadingOverlayOnce:function(){},suppressErrors:function(){},_failure:function(e,t,i){},_success:function(e,t,i){},_after:function(){}}),WCF.Action.SimpleProxy=Class.extend({init:function(e,t){this.options=$.extend(!0,{action:"",className:"",elements:null,eventName:"click"},e),this.callbacks=$.extend(!0,{after:null,failure:null,init:null,success:null},t),this.options.elements&&(this.proxy=new WCF.Action.Proxy(this.callbacks),this.options.elements.each($.proxy(function(e,t){$(t).bind(this.options.eventName,$.proxy(this._handleEvent,this))},this)))},_handleEvent:function(e){this.proxy.setOption("data",{actionName:this.options.action,className:this.options.className,objectIDs:[$(e.target).data("objectID")]}),this.proxy.sendRequest()}}),WCF.Action.Delete=Class.extend({_buttonSelector:"",_className:"",_containerSelector:"",_containers:[],init:function(e,t,i){this._containerSelector=t,this._className=e,this._buttonSelector=i?i:".jsDeleteButton",this.proxy=new WCF.Action.Proxy({success:$.proxy(this._success,this)}),this._initElements(),WCF.DOMNodeInsertedHandler.addCallback("WCF.Action.Delete"+this._className.hashCode(),$.proxy(this._initElements,this))},_initElements:function(){$(this._containerSelector).each(function(e,t){var i=$(t),n=i.wcfIdentify();if(!WCF.inArray(n,this._containers)){var s=i.find(this._buttonSelector);s.length&&(this._containers.push(n),s.click($.proxy(this._click,this)))}}.bind(this))},_click:function(e){var t=$(e.currentTarget);e.preventDefault(),t.data("confirmMessage")?WCF.System.Confirmation.show(t.data("confirmMessage"),$.proxy(this._execute,this),{target:t}):(WCF.LoadingOverlayHandler.updateIcon(t),this._sendRequest(t))},_didTriggerEffect:function(e){},_execute:function(e,t){"cancel"!==e&&(WCF.LoadingOverlayHandler.updateIcon(t.target),this._sendRequest(t.target))},_sendRequest:function(e){this.proxy.setOption("data",{actionName:"delete",className:this._className,interfaceName:"wcf\\data\\IDeleteAction",objectIDs:[$(e).data("objectID")]}),this.proxy.sendRequest()},_success:function(e,t,i){this.triggerEffect(e.objectIDs)},triggerEffect:function(e){for(var t in this._containers){var i=$("#"+this._containers[t]),n=i.find(this._buttonSelector);if(WCF.inArray(n.data("objectID"),e)){var s=this;i.wcfBlindOut("up",function(){var e=$(this).remove();s._containers.splice(s._containers.indexOf(e.wcfIdentify()),1),s._didTriggerEffect(e),n.data("eventName")&&WCF.System.Event.fireEvent("com.woltlab.wcf.action.delete",n.data("eventName"),{button:n,container:e})})}}}}),WCF.Action.NestedDelete=WCF.Action.Delete.extend({triggerEffect:function(e){for(var t in this._containers){var i=$("#"+this._containers[t]);if(WCF.inArray(i.find(this._buttonSelector).data("objectID"),e))if(i.has("ol").has("li").length)i.is(":only-child")?i.parent().replaceWith(i.find("> ol")):i.replaceWith(i.find("> ol > li")),this._containers.splice(this._containers.indexOf(i.wcfIdentify()),1),this._didTriggerEffect(i);else{var n=this;i.wcfBlindOut("up",function(){$(this).remove(),n._containers.splice(n._containers.indexOf($(this).wcfIdentify()),1),n._didTriggerEffect($(this))})}}}}),WCF.Action.Toggle=Class.extend({_buttonSelector:".jsToggleButton",_className:"",_containerSelector:"",_containers:[],init:function(e,t,i){this._containerSelector=t,this._className=e,this._buttonSelector=i?i:".jsToggleButton",this._containers=[];var n={success:$.proxy(this._success,this)};this.proxy=new WCF.Action.Proxy(n),this._initElements(),WCF.DOMNodeInsertedHandler.addCallback("WCF.Action.Toggle"+this._className.hashCode(),$.proxy(this._initElements,this))},_initElements:function(){$(this._containerSelector).each($.proxy(function(e,t){var i=$(t),n=i.wcfIdentify();WCF.inArray(n,this._containers)||(this._containers.push(n),i.find(this._buttonSelector).click($.proxy(this._click,this)))},this))},_click:function(e){var t=$(e.currentTarget);e.preventDefault(),t.data("confirmMessage")?WCF.System.Confirmation.show(t.data("confirmMessage"),$.proxy(this._execute,this),{target:t}):(WCF.LoadingOverlayHandler.updateIcon(t),this._sendRequest(t))},_execute:function(e,t){"cancel"!==e&&(WCF.LoadingOverlayHandler.updateIcon(t.target),this._sendRequest(t.target))},_sendRequest:function(e){this.proxy.setOption("data",{actionName:"toggle",className:this._className,interfaceName:"wcf\\data\\IToggleAction",objectIDs:[$(e).data("objectID")]}),this.proxy.sendRequest()},_success:function(e,t,i){this.triggerEffect(e.objectIDs)},triggerEffect:function(e){for(var t in this._containers){var i=$("#"+this._containers[t]),n=i.find(this._buttonSelector);WCF.inArray(n.data("objectID"),e)&&(i.wcfHighlight(),this._toggleButton(i,n))}},_toggleButton:function(e,t){var i="";WCF.LoadingOverlayHandler.updateIcon(t,!1),t.hasClass("icon-check-empty")?(t.removeClass("icon-check-empty").addClass("icon-check"),i=t.data("disableTitle")?t.data("disableTitle"):WCF.Language.get("wcf.global.button.disable"),t.attr("title",i)):(t.removeClass("icon-check").addClass("icon-check-empty"),i=t.data("enableTitle")?t.data("enableTitle"):WCF.Language.get("wcf.global.button.enable"),t.attr("title",i)),e.toggleClass("disabled")}}),WCF.Action.Scroll=Class.extend({_callback:null,_reference:null,_target:null,_threshold:0,init:function(e,t,i,n){return this._threshold=parseInt(e),0===this._threshold?void console.debug("[WCF.Action.Scroll] Given threshold is invalid, aborting."):($.isFunction(t)&&(this._callback=t),null===this._callback?void console.debug("[WCF.Action.Scroll] Given callback is invalid, aborting."):(this._reference=$(i?i:window),this._target=$(n?n:document),this.start(),void this._scroll()))},_scroll:function(){var e=this._target.height(),t=this._reference.scrollTop(),i=this._reference.height();e-(i+t)<this._threshold&&this._callback(this)},start:function(){this._reference.on("scroll",$.proxy(this._scroll,this))},stop:function(){this._reference.off("scroll")}}),WCF.Date={},WCF.Date.Picker={init:function(){}},WCF.Date.Util={gmdate:function(e){var t=e?e:new Date;return Math.round(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDay(),t.getUTCHours(),t.getUTCMinutes(),t.getUTCSeconds())/1e3)},getTimezoneDate:function(e,t){var i=new Date(e),n=6e4*i.getTimezoneOffset();return new Date(e+n+t)}},WCF.Dictionary=Class.extend({_variables:{},init:function(){this._variables={}},add:function(e,t){this._variables[e]=t},addObject:function(e){for(var t in e)this.add(t,e[t])},addDictionary:function(e){e.each($.proxy(function(e){this.add(e.key,e.value)},this))},get:function(e){return this.isset(e)?this._variables[e]:null},isset:function(e){return this._variables.hasOwnProperty(e)},remove:function(e){delete this._variables[e]},each:function(e){if($.isFunction(e))for(var t in this._variables){var i=this._variables[t],n={key:t,value:i};e(n)}},count:function(){return $.getLength(this._variables)},isEmpty:function(){return!this.count()}}),null==window.WCF.Language&&(WCF.Language={add:function(e,t){require(["WoltLab/WCF/Language"],function(i){i.add(e,t)})},addObject:function(e){require(["WoltLab/WCF/Language"],function(t){t.addObject(e)})},get:function(e,t){throw new Error('Call to deprecated WCF.Language.get("'+e+'")')}}),WCF.MultipleLanguageInput=Class.extend({_availableLanguages:{},_button:null,_didInit:!1,_element:null,_insertedDataAfterInit:!1,_isEnabled:!1,_forceSelection:!1,_languageID:0,_list:null,_values:null,init:function(e,t,i,n){if(this._button=null,this._element=$("#"+$.wcfEscapeID(e)),this._forceSelection=t,this._values=i,this._availableLanguages=n,$.getLength(this._values))for(var s in this._values)this._values[s]=WCF.String.unescapeHTML(this._values[s]);if(this._languageID=LANGUAGE_ID,0==this._element.length)return void console.debug("[WCF.MultipleLanguageInput] element id '"+e+"' is unknown");var a=$.getLength(this._values)>0?!0:!1;this._insertedDataAfterInit=a,this._prepareElement(a),this._element.parents("form").submit($.proxy(this._submit,this)),this._didInit=!0},_prepareElement:function(e){this._element.wrap('<div class="dropdown preInput" />');var t=this._element.parent();this._button=$('<p class="button dropdownToggle"><span>'+WCF.Language.get("wcf.global.button.disabledI18n")+"</span></p>").prependTo(t),this._list=$('<ul class="dropdownMenu"></ul>').insertAfter(this._button),this._button.nextAll("textarea").length?this._button.addClass("dropdownCaptionTextarea"):this._button.addClass("dropdownCaption");for(var i in this._availableLanguages)$("<li><span>"+this._availableLanguages[i]+"</span></li>").data("languageID",i).click($.proxy(this._changeLanguage,this)).appendTo(this._list);this._forceSelection||($('<li class="dropdownDivider" />').appendTo(this._list),$("<li><span>"+WCF.Language.get("wcf.global.button.disabledI18n")+"</span></li>").click($.proxy(this._disable,this)).appendTo(this._list)),WCF.Dropdown.initDropdown(this._button,e),(e||this._forceSelection)&&(this._isEnabled=!0,this._list.children("li").each($.proxy(function(e,t){var i=$(t);i.data("languageID")==this._languageID&&i.trigger("click")},this))),WCF.Dropdown.registerCallback(t.wcfIdentify(),$.proxy(this._handleAction,this))},_handleAction:function(e,t){"open"===t?this._enable():this._closeSelection()},_enable:function(e){if(!this._isEnabled){var t=this._button.is("p")?this._button.children("span:eq(0)"):this._button;t.addClass("active"),this._isEnabled=!0}this._list.is(":visible")&&this._showSelection()},_showSelection:function(){this._isEnabled&&this._list.children("li").each($.proxy(function(e,t){var i=$(t),n=i.data("languageID");n&&(this._values[n]&&""!=this._values[n]?i.removeClass("missingValue"):i.addClass("missingValue"))},this))},_closeSelection:function(){this._disable()},_changeLanguage:function(e){var t=$(e.currentTarget);this._insertedDataAfterInit=!0,this._didInit&&(this._values[this._languageID]=this._element.val()),this._languageID=t.data("languageID"),this._values[this._languageID]?this._element.val(this._values[this._languageID]):this._element.val(""),this._list.children("li").removeClass("active"),t.addClass("active"),this._button.children("span").addClass("active").text(this._availableLanguages[this._languageID]),this._didInit&&this._element.blur().focus()},_disable:function(e){void 0===e&&this._insertedDataAfterInit&&(e=null),!this._forceSelection&&this._list&&null!==e&&(this._button.children("span").removeClass("active").text(WCF.Language.get("wcf.global.button.disabledI18n")),this._values[LANGUAGE_ID]?this._element.val(this._values[LANGUAGE_ID]):this._element.val(),e&&(this._list.children("li").removeClass("active"),$(e.currentTarget).addClass("active")),this._element.blur().focus(),this._insertedDataAfterInit=!1,this._isEnabled=!1,this._values={})},_submit:function(){if(!this._isEnabled)return 3735928559;this._languageID&&(this._values[this._languageID]=this._element.val());var e=$(this._element.parents("form")[0]),t=this._element.wcfIdentify();for(var i in this._availableLanguages)void 0===this._values[i]&&(this._values[i]=""),$('<input type="hidden" name="'+t+"_i18n["+i+']" value="'+WCF.String.escapeHTML(this._values[i])+'" />').appendTo(e);this._element.removeAttr("name")}}),WCF.Number={round:function(e,t){return t=Math.pow(10,t||0),Math.round(e*t)/t}},WCF.String={addThousandsSeparator:function(e){return String(e).replace(/(^-?\d{1,3}|\d{3})(?=(?:\d{3})+(?:$|\.))/g,"$1"+WCF.Language.get("wcf.global.thousandsSeparator"))},escapeHTML:function(e){return String(e).replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")},escapeRegExp:function(e){return String(e).replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")},formatNumeric:function(e,t){e=String(WCF.Number.round(e,t||2));var i=e.split(".");return e=this.addThousandsSeparator(i[0]),i.length>1&&(e+=WCF.Language.get("wcf.global.decimalPoint")+i[1]),e=e.replace("-","−")},lcfirst:function(e){return String(e).substring(0,1).toLowerCase()+e.substring(1)},ucfirst:function(e){return String(e).substring(0,1).toUpperCase()+e.substring(1)},unescapeHTML:function(e){return String(e).replace(/&amp;/g,"&").replace(/&quot;/g,'"').replace(/&lt;/g,"<").replace(/&gt;/g,">")}},WCF.TabMenu={_containers:{},_didInit:!1,init:function(){return void require(["WoltLab/WCF/UI/TabMenu"],function(e){e.setup()})},reload:function(){this._containers={},this.init()},_selectErroneousTab:function(){var e=!1;for(var t in this._containers){var i=this._containers[t];if(i.find(".formError").length&&(e=!0,!i.data("isParent"))){for(;;){if(i.data("parent")===!1)break;i=i.data("parent").wcfTabs("selectTab",i.wcfIdentify())}return!0}}if(e)for(var t in this._containers){var i=this._containers[t],n=i.find(".formError:eq(0)");if(n.length){for(i.wcfTabs("selectTab",n.parents(".tabMenuContent").wcfIdentify());;){if(i.data("parent")===!1)break;i=i.data("parent").wcfTabs("selectTab",i.wcfIdentify())}return!0}}return!1},_selectActiveTab:function(){for(var e in this._containers){var t=this._containers[e];if(t.data("active")){var i=t.data("active"),n=null;if(/-/.test(i)){var s=i.split("-");i=s[0],n=s[1]}t.find(".tabMenuContent").each(function(e,s){var a=$(s);return a.wcfIdentify()==i?(t.wcfTabs("select",e),null!==n&&(a.hasClass("tabMenuContainer")?a.wcfTabs("selectTab",t.data("active")):t.wcfTabs("selectTab",t.data("active"))),!1):void 0})}}},selectTabs:function(){if(location.hash){var e=location.hash.substr(1),t=$("#"+$.wcfEscapeID(e));if(1===t.length&&t.hasClass("ui-tabs-panel")&&(t=t.parent(".ui-tabs"),t.length))return t.wcfTabs("selectTab",e),t.hasClass("ui-tabs-panel")&&(e=t.wcfIdentify(),t=t.parent(".ui-tabs"),t.length&&t.wcfTabs("selectTab",e)),!0}return!1}},WCF.Template=Class.extend({init:function(e){var t=new WCF.Dictionary,i=0;e=e.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/(\r\n|\n|\r)/g,"\\n"),e=e.replace(/\{literal\}(.*?)\{\/literal\}/g,$.proxy(function(e){var i="@@@@@@@@@@@"+Math.random()+"@@@@@@@@@@@";return t.add(i,e.replace(/\{\/?literal\}/g,"")),i},this)),e=e.replace(/\{\*.*?\*\}/g,"");var n=function(e){for(var t=e.split(""),i={},n=!0,s="",a="",o=!1,r=!1,l=!1,c=0,h=t.length;h>c;c++){var d=t[c];n&&"="!=d&&" "!=d?s+=d:n&&"="==d?(n=!1,r=!1,o=!1,l=!1):n||r||o||" "!=d?n||!r||l||"'"!=d?n||r||o||"'"!=d?n||!o||l||'"'!=d?n||r||o||'"'!=d?n||!o&&!r||l||"\\"!=d?n||(l=!1,a+=d):(l=!0,a+=d):(o=!0,a+=d):(o=!1,a+=d):(r=!0,a+=d):(r=!1,a+=d):(n=!0,i[s]=a,a=s="")}if(i[s]=a,o||r||l)throw new Error('Syntax error in parameterList: "'+e+'"');return i},s=function(e){return e.replace(/\\n/g,"\n").replace(/\\\\/g,"\\").replace(/\\'/g,"'")};e=e.replace(/\{(\$[^\}]+?)\}/g,function(e,t){return t=s(t.replace(/\$([^.\[\(\)\]\s]+)/g,"(v['$1'])")),"' + WCF.String.escapeHTML("+t+") + '"}).replace(/\{#(\$[^\}]+?)\}/g,function(e,t){return t=s(t.replace(/\$([^.\[\(\)\]\s]+)/g,"(v['$1'])")),"' + WCF.String.formatNumeric("+t+") + '"}).replace(/\{@(\$[^\}]+?)\}/g,function(e,t){return t=s(t.replace(/\$([^.\[\(\)\]\s]+)/g,"(v['$1'])")),"' + "+t+" + '"}).replace(/\{lang\}(.+?)\{\/lang\}/g,function(e,t){return"' + WCF.Language.get('"+t+"', v) + '"}).replace(/\{include (.+?)\}/g,function(e,t){t=t.replace(/\\\\/g,"\\").replace(/\\'/g,"'");var i=n(t);if("undefined"==typeof i.file)throw new Error("Missing file attribute in include-tag");return i.file=i.file.replace(/\$([^.\[\(\)\]\s]+)/g,"(v.$1)"),"' + "+i.file+".fetch(v) + '"}).replace(/\{if (.+?)\}/g,function(e,t){return t=s(t.replace(/\$([^.\[\(\)\]\s]+)/g,"(v['$1'])")),"';\nif ("+t+") {\n  $output += '"}).replace(/\{else ?if (.+?)\}/g,function(e,t){return t=s(t.replace(/\$([^.\[\(\)\]\s]+)/g,"(v['$1'])")),"';\n}\nelse if ("+t+") {\n       $output += '"}).replace(/\{implode (.+?)\}/g,function(e,t){i++,t=t.replace(/\\\\/g,"\\").replace(/\\'/g,"'");var s=n(t);if("undefined"==typeof s.from)throw new Error("Missing from attribute in implode-tag");if("undefined"==typeof s.item)throw new Error("Missing item attribute in implode-tag");return"undefined"==typeof s.glue&&(s.glue="', '"),s.from=s.from.replace(/\$([^.\[\(\)\]\s]+)/g,"(v.$1)"),"';\nvar $implode_"+i+" = false;\nfor ($implodeKey_"+i+" in "+s.from+") {\n      v["+s.item+"] = "+s.from+"[$implodeKey_"+i+"];\n"+("undefined"!=typeof s.key?"          v["+s.key+"] = $implodeKey_"+i+";\n":"")+"      if ($implode_"+i+") $output += "+s.glue+";\n    $implode_"+i+" = true;\n        $output += '"}).replace(/\{foreach (.+?)\}/g,function(e,t){i++,t=t.replace(/\\\\/g,"\\").replace(/\\'/g,"'");var s=n(t);if("undefined"==typeof s.from)throw new Error("Missing from attribute in foreach-tag");if("undefined"==typeof s.item)throw new Error("Missing item attribute in foreach-tag");return s.from=s.from.replace(/\$([^.\[\(\)\]\s]+)/g,"(v.$1)"),"';\n$foreach_"+i+" = false;\nfor ($foreachKey_"+i+" in "+s.from+") {\n     $foreach_"+i+" = true;\n        break;\n}\nif ($foreach_"+i+") {\n      for ($foreachKey_"+i+" in "+s.from+") {\n               v["+s.item+"] = "+s.from+"[$foreachKey_"+i+"];\n"+("undefined"!=typeof s.key?"          v["+s.key+"] = $foreachKey_"+i+";\n":"")+"              $output += '"}).replace(/\{foreachelse\}/g,"';\n        }\n}\nelse {\n  {\n             $output += '").replace(/\{\/foreach\}/g,"';\n   }\n}\n$output += '").replace(/\{else\}/g,"';\n}\nelse {\n       $output += '").replace(/\{\/(if|implode)\}/g,"';\n}\n$output += '");for(var a in WCF.Template.callbacks)e=WCF.Template.callbacks[a](e);e=e.replace("{ldelim}","{").replace("{rdelim}","}"),t.each(function(t){e=e.replace(t.key,t.value)}),e="$output += '"+e+"';";try{this.fetch=new Function("v","v = window.$.extend({}, v, { __wcf: window.WCF, __window: window }); var $output = ''; "+e+" return $output;")}catch(t){throw console.debug("var $output = ''; "+e+" return $output;"),t}},fetch:function(e){}}),WCF.Template.callbacks=[],WCF.ToggleOptions=Class.extend({_element:null,
-_showItems:[],_hideItems:[],_callback:null,init:function(e,t,i,n){this._element=$("#"+e),this._showItems=t,this._hideItems=i,void 0!==n&&(this._callback=n),this._element.click($.proxy(this._toggle,this)),this._toggle()},_toggle:function(){if(this._element.prop("checked")){for(var e=0,t=this._showItems.length;t>e;e++){var i=this._showItems[e];$("#"+i).show()}for(var e=0,t=this._hideItems.length;t>e;e++){var i=this._hideItems[e];$("#"+i).hide()}null!==this._callback&&this._callback()}}}),WCF.Collapsible={},WCF.Collapsible.Simple={init:function(){$(".jsCollapsible").each($.proxy(function(e,t){this._initButton(t)},this))},_initButton:function(e){var t=$(e),i=t.data("isOpen");i||$("#"+t.data("collapsibleContainer")).hide(),t.click($.proxy(this._toggle,this))},_toggle:function(e){var t=$(e.currentTarget),i=t.data("isOpen"),n=$("#"+$.wcfEscapeID(t.data("collapsibleContainer")));return i?(n.stop().wcfBlindOut("vertical",$.proxy(function(){this._toggleImage(t)},this)),i=!1):(n.stop().wcfBlindIn("vertical",$.proxy(function(){this._toggleImage(t)},this)),i=!0),t.data("isOpen",i),e.stopPropagation(),!1},_toggleImage:function(e){var t=e.find("span.icon");e.data("isOpen")?t.removeClass("icon-chevron-right").addClass("icon-chevron-down"):t.removeClass("icon-chevron-down").addClass("icon-chevron-right")}},WCF.Collapsible.Remote=Class.extend({_className:"",_containers:{},_containerData:{},_proxy:null,init:function(e){this._className=e,this._proxy=new WCF.Action.Proxy({success:$.proxy(this._success,this)}),this._init(),WCF.DOMNodeInsertedHandler.addCallback("WCF.Collapsible.Remote",$.proxy(this._init,this))},_init:function(e){this._getContainers().each($.proxy(function(e,t){var i=$(t),n=i.wcfIdentify();void 0===this._containers[n]&&(this._containers[n]=i,this._initContainer(n))},this))},_initContainer:function(e){var t=this._getTarget(e),i=this._getButtonContainer(e),n=this._createButton(e,i);this._containerData[e]={button:n,buttonContainer:i,isOpen:this._containers[e].data("isOpen"),target:t},this._containers[e].data("isOpen")||$("#"+e).addClass("jsCollapsed")},_getContainers:function(){},_getTarget:function(e){},_getButtonContainer:function(e){},_createButton:function(e,t){var i=this._containers[e].data("isOpen"),n=$('<span class="collapsibleButton jsTooltip pointer icon icon16 icon-'+(i?"chevron-down":"chevron-right")+'" title="'+WCF.Language.get("wcf.global.button.collapsible")+'">').prependTo(t);return n.data("containerID",e).click($.proxy(this._toggleContainer,this)),n},_toggleContainer:function(e){var t=$(e.currentTarget),i=t.data("containerID"),n=this._containerData[i].isOpen,s=n?"open":"close",a=n?"close":"open";this._proxy.setOption("data",{actionName:"loadContainer",className:this._className,interfaceName:"wcf\\data\\ILoadableContainerAction",objectIDs:[this._getObjectID(i)],parameters:$.extend(!0,{containerID:i,currentState:s,newState:a},this._getAdditionalParameters(i))}),this._proxy.sendRequest(),$("#"+i).toggleClass("jsCollapsed")},_exchangeIcon:function(e,t){t=t||"spinner",e.removeClass("icon-chevron-down icon-chevron-right icon-spinner").addClass("icon-"+t)},_getObjectID:function(e){return $("#"+e).data("objectID")},_getAdditionalParameters:function(e){return{}},_updateContent:function(e,t,i){this._containerData[e].target.html(t)},_success:function(e,t,i){if(e.returnValues.containerID){var n=e.returnValues.containerID;if(this._containers[n]){this._containerData[n].isOpen=e.returnValues.isOpen?!0:!1;var s=e.returnValues.isOpen?"open":"close";this._updateContent(n,$.trim(e.returnValues.content),s),this._exchangeIcon(this._containerData[n].button,e.returnValues.isOpen?"chevron-down":"chevron-right")}}}}),WCF.Collapsible.SimpleRemote=WCF.Collapsible.Remote.extend({init:function(e){this._super(e),this._proxy=new WCF.Action.Proxy({showLoadingOverlay:!1})},_initContainer:function(e){this._super(e),this._containerData[e].isOpen||(this._containerData[e].target.hide(),this._exchangeIcon(this._containerData[e].button,"chevron-right"))},_toggleContainer:function(e){var t=$(e.currentTarget),i=t.data("containerID"),n=this._containerData[i].isOpen,s=n?"open":"close",a=n?"close":"open";this._proxy.setOption("data",{actionName:"toggleContainer",className:this._className,interfaceName:"wcf\\data\\IToggleContainerAction",objectIDs:[this._getObjectID(i)],parameters:$.extend(!0,{containerID:i,currentState:s,newState:a},this._getAdditionalParameters(i))}),this._proxy.sendRequest(),this._exchangeIcon(this._containerData[i].button,"open"===a?"chevron-down":"chevron-right"),"open"===a?this._containerData[i].target.show():this._containerData[i].target.hide(),$("#"+i).toggleClass("jsCollapsed"),this._containerData[i].isOpen="open"===a?!0:!1}}),WCF.User={userID:0,username:"",init:function(e,t){this.userID=e,this.username=t}},WCF.Effect={},WCF.Effect.Scroll=Class.extend({scrollTo:function(e,t,i){if(!e.length)return!0;var n=e.getOffsets("offset").top,s=$(document).height(),a=$(window).height();return n>s-a&&(n=s-a,0>n&&(n=0)),i===!0?$("html,body").scrollTop(n):$("html,body").animate({scrollTop:n},400,function(e,t,i,n,s){return-n*((t=t/s-1)*t*t*t-1)+i}),!1}}),WCF.Effect.SmoothScroll=WCF.Effect.Scroll.extend({init:function(){var e=this;$(document).on("click","a[href$=#top],a[href$=#bottom]",function(){var t=$(this.hash);return e.scrollTo(t,!0),!1})}}),WCF.CloseOverlayHandler={addCallback:function(e,t){require(["UI/CloseOverlay"],function(i){i.add(e,t)})},removeCallback:function(e){require(["UI/CloseOverlay"],function(t){t.remove(e)})},forceExecution:function(){require(["UI/CloseOverlay"],function(e){e.execute()})}},WCF.DOMNodeInsertedHandler={addCallback:function(e,t){require(["WoltLab/WCF/Dom/Change/Listener"],function(e){e.add("__legacy__",t)})},_executeCallbacks:function(){require(["WoltLab/WCF/Dom/Change/Listener"],function(e){e.trigger()})},execute:function(){this._executeCallbacks()}},WCF.DOMNodeRemovedHandler={_callbacks:new WCF.Dictionary,_isExecuting:!1,_isListening:!1,addCallback:function(e,t){return this._bindListener(),this._callbacks.isset(e)?(console.debug("[WCF.DOMNodeRemovedHandler] identifier '"+e+"' is already bound to a callback"),!1):void this._callbacks.add(e,t)},removeCallback:function(e){this._callbacks.isset(e)&&this._callbacks.remove(e)},_bindListener:function(){if(!this._isListening){if(window.MutationObserver){var e=new MutationObserver(function(e){var t=!1;e.forEach(function(e){e.removedNodes.length&&(t=!0)}.bind(this)),t&&this._executeCallbacks({})}.bind(this));e.observe(document.body,{childList:!0,subtree:!0})}else $(document).bind("DOMNodeRemoved",$.proxy(this._executeCallbacks,this));this._isListening=!0}},_executeCallbacks:function(e){this._isExecuting||(this._isExecuting=!0,this._callbacks.each(function(t){t.value(e)}),this._isExecuting=!1)}},WCF.Option={},WCF.Option.Handler=Class.extend({init:function(){this._initOptions(),WCF.DOMNodeInsertedHandler.addCallback("WCF.Option.Handler",$.proxy(this._initOptions,this))},_initOptions:function(){$(".jsEnablesOptions").each($.proxy(this._initOption,this))},_initOption:function(e,t){this._change(t),$(t).change($.proxy(this._handleChange,this))},_handleChange:function(e){this._change($(e.target))},_change:function(option){option=$(option);var $disableOptions=eval(option.data("disableOptions")),$enableOptions=eval(option.data("enableOptions"));switch(option.getTagName()){case"input":switch(option.attr("type")){case"checkbox":this._execute(option.prop("checked"),$disableOptions,$enableOptions);break;case"radio":if(option.prop("checked")){var isActive=!0;option.data("isBoolean")&&1!=option.val()&&(isActive=!1),this._execute(isActive,$disableOptions,$enableOptions)}}break;case"select":var $value=option.val(),$disableOptions=$enableOptions=[];if(option.data("disableOptions").length>0)for(var $index in option.data("disableOptions")){var $item=option.data("disableOptions")[$index];$item.value==$value&&$disableOptions.push($item.option)}if(option.data("enableOptions").length>0)for(var $index in option.data("enableOptions")){var $item=option.data("enableOptions")[$index];$item.value==$value&&$enableOptions.push($item.option)}this._execute(!0,$disableOptions,$enableOptions)}},_execute:function(e,t,i){if(t.length>0)for(var n=0,s=t.length;s>n;n++){var a=t[n];if($.wcfIsset(a))this._enableOption(a,!e);else{var o=$("."+a+"Input");o.length&&this._enableOptions(o.children("dd").find("input, select, textarea"),!e)}}if(i.length>0)for(var n=0,s=i.length;s>n;n++){var a=i[n];if($.wcfIsset(a))this._enableOption(a,e);else{var o=$("."+a+"Input");o.length&&this._enableOptions(o.children("dd").find("input, select, textarea"),e)}}},_enableOption:function(e,t){this._enableOptionElement($("#"+$.wcfEscapeID(e)),t)},_enableOptionElement:function(e,t){e=$(e);var i=e.getTagName();"select"==i||"input"==i&&("checkbox"==e.attr("type")||"file"==e.attr("type")||"radio"==e.attr("type"))?t?e.enable():e.disable():t?e.removeAttr("readonly"):e.attr("readonly",!0),t?e.closest("dl").removeClass("disabled"):e.closest("dl").addClass("disabled")},_enableOptions:function(e,t){for(var i=0,n=e.length;n>i;i++)this._enableOptionElement(e[i],t)}}),WCF.PageVisibilityHandler={_callbacks:new WCF.Dictionary,_isListening:!1,_hiddenFieldName:"",addCallback:function(e,t){return this._bindListener(),this._callbacks.isset(e)?(console.debug("[WCF.PageVisibilityHandler] identifier '"+e+"' is already bound to a callback"),!1):void this._callbacks.add(e,t)},removeCallback:function(e){this._callbacks.isset(e)&&this._callbacks.remove(e)},_bindListener:function(){if(!this._isListening){var e=null;"undefined"!=typeof document.hidden?(this._hiddenFieldName="hidden",e="visibilitychange"):"undefined"!=typeof document.mozHidden?(this._hiddenFieldName="mozHidden",e="mozvisibilitychange"):"undefined"!=typeof document.msHidden?(this._hiddenFieldName="msHidden",e="msvisibilitychange"):"undefined"!=typeof document.webkitHidden&&(this._hiddenFieldName="webkitHidden",e="webkitvisibilitychange"),null===e?console.debug("[WCF.PageVisibilityHandler] This browser does not support the page visibility API."):$(document).on(e,$.proxy(this._executeCallbacks,this)),this._isListening=!0}},_executeCallbacks:function(e){if(!this._isExecuting){this._isExecuting=!0;var t=document[this._hiddenFieldName];this._callbacks.each(function(e){e.value(t)}),this._isExecuting=!1}}},WCF.Table={},WCF.Table.EmptyTableHandler=Class.extend({_options:{},_rowClassName:"",init:function(e,t,i){this._rowClassName=t,this._tableContainer=e,this._options=$.extend(!0,{emptyMessage:null,messageType:"info",refreshPage:!1,updatePageNumber:!1},i||{}),WCF.DOMNodeRemovedHandler.addCallback("WCF.Table.EmptyTableHandler."+t,$.proxy(this._remove,this))},_getRowCount:function(){return this._tableContainer.find("table tr."+this._rowClassName).length},_handleEmptyTable:function(){if(this._options.emptyMessage)this._tableContainer.replaceWith($("<p />").addClass(this._options.messageType).text(this._options.emptyMessage));else if(this._options.refreshPage)if(this._options.updatePageNumber){var e=window.location.href.match(/(\?|&)pageNo=(\d+)/g);if(e){var t=e[e.length-1].match(/\d+/g);this._options.updatePageNumber>0?t++:t--,window.location=window.location.href.replace(e[e.length-1],e[e.length-1][0]+"pageNo="+t)}}else window.location.reload();else this._tableContainer.remove()},_remove:function(e){if($.getLength(e)){var t=$(e.target);if(t.hasClass(this._rowClassName)){var i=t.parents("tbody:eq(0)");1==i.children("tr").length&&this._handleEmptyTable()}}else this._getRowCount()||this._handleEmptyTable()}}),WCF.Search={},WCF.Search.Base=Class.extend({_callback:null,_caretAt:-1,_className:"",_commaSeperated:!1,_delay:0,_excludedSearchValues:[],_itemCount:0,_itemIndex:-1,_list:null,_oldSearchString:[],_proxy:null,_searchInput:null,_triggerLength:3,_timer:null,init:function(e,t,i,n,s){return null===t||void 0===t||$.isFunction(t)?(this._callback=t?t:null,this._caretAt=-1,this._delay=0,this._excludedSearchValues=[],i&&(this._excludedSearchValues=i),this._searchInput=$(e),this._searchInput.length?(this._searchInput.keydown($.proxy(this._keyDown,this)).keyup($.proxy(this._keyUp,this)).wrap('<span class="dropdown" />'),$.browser.mozilla&&$.browser.touch&&this._searchInput.on("input",$.proxy(this._keyUp,this)),this._list=$('<ul class="dropdownMenu" />').insertAfter(this._searchInput),this._commaSeperated=n?!0:!1,this._oldSearchString=[],this._itemCount=0,this._itemIndex=-1,this._proxy=new WCF.Action.Proxy({showLoadingOverlay:s!==!0?!1:!0,success:$.proxy(this._success,this),autoAbortPrevious:!0}),this._searchInput.is("input")&&this._searchInput.attr("autocomplete","off"),this._searchInput.blur($.proxy(this._blur,this)),void WCF.Dropdown.initDropdownFragment(this._searchInput.parent(),this._list)):void console.debug("[WCF.Search.Base] Selector '"+e+"' for search input is invalid, aborting.")):void console.debug("[WCF.Search.Base] The given callback is invalid, aborting.")},_blur:function(){var e=this;new WCF.PeriodicalExecuter(function(t){e._list.is(":visible")&&e._clearList(!1),t.stop()},250)},_keyDown:function(e){if(e.which===$.ui.keyCode.ENTER){var t=this._searchInput.parents(".dropdown");t.data("disableAutoFocus")?-1!==this._itemIndex&&e.preventDefault():(t.data("preventSubmit")||-1!==this._itemIndex)&&e.preventDefault()}},_keyUp:function(e){switch(e.which){case 37:case 39:return;case 38:return void this._selectPreviousItem();case 40:return void this._selectNextItem();case 13:return this._selectElement(e)}var t=this._getSearchString(e);if(""===t)this._clearList(!1);else if(t.length>=this._triggerLength){var i={data:{excludedSearchValues:this._excludedSearchValues,searchString:t}};if(this._delay){null!==this._timer&&this._timer.stop();var n=this;this._timer=new WCF.PeriodicalExecuter(function(){n._queryServer(i),n._timer.stop(),n._timer=null},this._delay)}else this._queryServer(i)}else this._clearList(!1)},_queryServer:function(e){this._searchInput.parents(".searchBar").addClass("loading"),this._proxy.setOption("data",{actionName:"getSearchResultList",className:this._className,interfaceName:"wcf\\data\\ISearchAction",parameters:this._getParameters(e)}),this._proxy.sendRequest()},setDelay:function(e){this._delay=e},_selectNextItem:function(){0!==this._itemCount&&(this._itemIndex++,this._itemIndex===this._itemCount&&(this._itemIndex=0),this._highlightSelectedElement())},_selectPreviousItem:function(){0!==this._itemCount&&(this._itemIndex--,-1===this._itemIndex&&(this._itemIndex=this._itemCount-1),this._highlightSelectedElement())},_highlightSelectedElement:function(){this._list.find("li").removeClass("dropdownNavigationItem"),this._list.find("li:eq("+this._itemIndex+")").addClass("dropdownNavigationItem")},_selectElement:function(e){return 0===this._itemCount?!0:(this._list.find("li.dropdownNavigationItem").trigger("click"),!1)},_getSearchString:function(e){var t=$.trim(this._searchInput.val());if(this._commaSeperated){var i=e.keyCode||e.which;if(i==$.ui.keyCode.COMMA)return"";for(var n=t.split(","),s=n.length,a=0;s>a;a++)n[a]=$.trim(n[a]);for(var a=0;s>a;a++){var o=n[a];if(!this._oldSearchString[a]){t=o;break}if(o!=this._oldSearchString[a]){t=o,this._caretAt=a;break}}this._oldSearchString=n}return t},_getParameters:function(e){return e},_success:function(e,t,i){if(this._clearList(!1),this._searchInput.parents(".searchBar").removeClass("loading"),$.getLength(e.returnValues))for(var n in e.returnValues){var s=e.returnValues[n];this._createListItem(s)}else if(!this._handleEmptyResult())return;WCF.CloseOverlayHandler.addCallback("WCF.Search.Base",$.proxy(function(){this._clearList()},this));var a=this._searchInput.parents(".dropdown").wcfIdentify();WCF.Dropdown.getDropdownMenu(a).hasClass("dropdownOpen")||WCF.Dropdown.toggleDropdown(a),this._itemIndex=-1,WCF.Dropdown.getDropdown(a).data("disableAutoFocus")||this._selectNextItem()},_handleEmptyResult:function(){return!1},_createListItem:function(e){var t=$("<li><span>"+WCF.String.escapeHTML(e.label)+"</span></li>").appendTo(this._list);return t.data("objectID",e.objectID).data("label",e.label).click($.proxy(this._executeCallback,this)),this._itemCount++,t},_executeCallback:function(e){var t=!1,i=$(e.currentTarget);if(this._commaSeperated){var n=i.data("label");this._oldSearchString[this._caretAt]=n,this._searchInput.val(this._oldSearchString.join(", ")),$.browser.webkit&&this._searchInput.css({display:"block"});var s=this._searchInput.val().toLowerCase().indexOf(n.toLowerCase())+n.length;this._searchInput.focus().setCaret(s)}else null===this._callback?this._searchInput.val(i.data("label")):t=this._callback(i.data())===!0?!0:!1;this._clearList(t)},_clearList:function(e){e&&!this._commaSeperated&&this._searchInput.val(""),WCF.Dropdown.getDropdown(this._searchInput.parents(".dropdown").wcfIdentify()).removeClass("dropdownOpen"),WCF.Dropdown.getDropdownMenu(this._searchInput.parents(".dropdown").wcfIdentify()).removeClass("dropdownOpen"),this._list.end().empty(),WCF.CloseOverlayHandler.removeCallback("WCF.Search.Base"),this._itemCount=0,this._itemIndex=-1},addExcludedSearchValue:function(e){WCF.inArray(e,this._excludedSearchValues)||this._excludedSearchValues.push(e)},removeExcludedSearchValue:function(e){var t=$.inArray(e,this._excludedSearchValues);-1!=t&&this._excludedSearchValues.splice(t,1)}}),WCF.Search.User=WCF.Search.Base.extend({_className:"wcf\\data\\user\\UserAction",_includeUserGroups:!1,init:function(e,t,i,n,s){this._includeUserGroups=i,this._super(e,t,n,s)},_getParameters:function(e){return e.data.includeUserGroups=this._includeUserGroups?1:0,e},_createListItem:function(e){var t=this._super(e),i=null;if(e.icon?i=$(e.icon):this._includeUserGroups&&"group"===e.type&&(i=$('<span class="icon icon16 icon-group" />')),i){var n=t.find("span").detach(),s=$("<div />").addClass("box16").appendTo(t);s.append(i),s.append($("<div />").append(n))}return t.data("type",e.type),t}}),WCF.System={},WCF.System.Dependency={},WCF.System.Dependency.Manager={_callbacks:{},_loaded:[],_setupCallbacks:{},register:function(e,t){return $.isFunction(t)?void(WCF.inArray(e,this._loaded)?setTimeout(function(){t()},1):(this._callbacks[e]||(this._callbacks[e]=[]),this._callbacks[e].push(t))):void console.debug("[WCF.System.Dependency.Manager] Callback for identifier '"+e+"' is invalid, aborting.")},setup:function(e,t){return $.isFunction(t)?(this._setupCallbacks[e]||(this._setupCallbacks[e]=[]),void this._setupCallbacks[e].push(t)):void console.debug("[WCF.System.Dependency.Manager] Setup callback for identifier '"+e+"' is invalid, aborting.")},invoke:function(e){if(this._setupCallbacks[e]){for(var t=0,i=this._setupCallbacks[e].length;i>t;t++)this._setupCallbacks[e][t]();delete this._setupCallbacks[e]}if(this._loaded.push(e),this._callbacks[e]){for(var t=0,i=this._callbacks[e].length;i>t;t++)this._callbacks[e][t]();delete this._callbacks[e]}}},WCF.System.FlexibleMenu={init:function(){},registerMenu:function(e){require(["WoltLab/WCF/UI/FlexibleMenu"],function(t){t.register(e)})},rebuild:function(e){require(["WoltLab/WCF/UI/FlexibleMenu"],function(t){t.rebuild(e)})}},WCF.System.Mobile={},WCF.System.ObjectStore={_objects:{},add:function(e,t){void 0===this._objects[e]&&(this._objects[e]=[]),this._objects[e].push(t)},invoke:function(e,t){if(this._objects[e])for(var i=0;i<this._objects[e].length;i++)t(this._objects[e][i])}},WCF.System.Captcha={_captchas:{},addCallback:function(e,t){return $.isFunction(t)?void(this._captchas[e]=t):void console.debug("[WCF.System.Captcha] Given callback is no function")},getData:function(e){return void 0===this._captchas[e]?void console.debug('[WCF.System.Captcha] Unknow captcha id "'+e+'"'):this._captchas[e]()},removeCallback:function(e){delete this._captchas[e]}},WCF.System.Page={},WCF.System.Page.Multiple=Class.extend({_cache:{},_options:{},_pageNo:1,_pages:0,_previousPageNo:0,init:function(e){this._options=$.extend({container:null,pagination:null,loadItems:null},e),this._cache={},this._pageNo=1,this._pages=0,this._previousPageNo=0,this._pagination.data("pages")&&this._pagination.wcfPages({maxPage:this._pagination.data("pages")}).on("wcfpagesswitched",$.proxy(this._showPage,this))},_showPage:function(e,t){t&&t.activePage&&(t.template||(this._previousPageNo=this._pageNo),this._pageNo=t.activePage),this._cache[this._pageNo]||t&&t.template?(this._cache[this._previousPageNo]=this._list.children().detach(),t&&t.template?this._list.html(t.template):this._list.append(this._cache[this._pageNo])):this._options.loadItems()},showPage:function(e,t){this._showPage(null,{activePage:e,template:t})},getPageNo:function(){return this._pageNo}}),WCF.System.Notification=Class.extend({_callback:null,_cssClassNames:"",_message:"",_overlay:null,_timer:null,init:function(e,t){this._cssClassNames=t||"success",this._message=e||WCF.Language.get("wcf.global.success"),this._overlay=$("#systemNotification"),this._timer=null,this._overlay.length||(this._overlay=$('<div id="systemNotification"><p></p></div>').hide().appendTo(document.body),this._overlay.children("p").click(function(){this._hide()}.bind(this)))},show:function(e,t,i,n){t=parseInt(t),t||(t=2e3),e&&$.isFunction(e)&&(this._callback=e),this._overlay.children("p").html(i||this._message),this._overlay.children("p").removeClass().addClass(n||this._cssClassNames),this._timer=new WCF.PeriodicalExecuter($.proxy(this._hide,this),t),this._overlay.wcfFadeIn(void 0,300)},_hide:function(e){e=e?e:this._timer,null!==this._callback&&this._callback(),this._overlay.wcfFadeOut(void 0,300),e.stop(),e=null}}),WCF.System.Confirmation={show:function(e,t,i,n){require(["UI/Confirmation"],function(s){s.show({legacyCallback:t,message:e,parameters:i,template:"object"==typeof n?n.html():""})})}},WCF.System.DisableScrolling={_depth:0,_oldOverflow:null,disable:function(){$.browser.touch||(0===this._depth&&(this._oldOverflow=$(document.body).css("overflow"),$(document.body).css("overflow","hidden")),this._depth++)},enable:function(){0!==this._depth&&(this._depth--,0===this._depth&&$(document.body).css("overflow",this._oldOverflow))}},WCF.System.DisableZoom={_depth:0,_oldViewportSettings:null,disable:function(){if(0===this._depth){var e=$("meta[name=viewport]");this._oldViewportSettings=e.attr("content"),e.attr("content",this._oldViewportSettings+",maximum-scale=1")}this._depth++},enable:function(){0!==this._depth&&(this._depth--,0===this._depth&&$("meta[name=viewport]").attr("content",this._oldViewportSettings))}},WCF.System.Fullscreen={enterFullscreen:function(e){e.requestFullscreen?e.requestFullscreen():e.msRequestFullscreen?e.msRequestFullscreen():e.mozRequestFullScreen?e.mozRequestFullScreen():e.webkitRequestFullscreen&&e.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)},toggleFullscreen:function(e){null===this.getFullscreenElement()?this.enterFullscreen(e):this.exitFullscreen()},getFullscreenElement:function(){return document.fullscreenElement?document.fullscreenElement:document.mozFullScreenElement?document.mozFullScreenElement:document.webkitFullscreenElement?document.webkitFullscreenElement:document.msFullscreenElement?document.msFullscreenElement:null},exitFullscreen:function(){document.exitFullscreen?document.exitFullscreen():document.msExitFullscreen?document.msExitFullscreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitExitFullscreen&&document.webkitExitFullscreen()},isSupported:function(){return document.documentElement.requestFullscreen||document.documentElement.msRequestFullscreen||document.documentElement.mozRequestFullScreen||document.documentElement.webkitRequestFullscreen?!0:!1}},WCF.System.PageNavigation={_button:null,_description:null,_dialog:null,_elementID:"",_elements:{},_pageNo:null,init:function(e,t){var i=$(e);if(i.length)return t=t||null,null===t||$.isFunction(t)?void this._initElements(i,t):void console.debug("[WCF.System.PageNavigation] Callback for selector '"+e+"' is invalid, aborting.")},_initElements:function(e,t){var i=this;e.each(function(e,t){var n=$(t),s=n.wcfIdentify();void 0===i._elements[s]&&(i._elements[s]=n,n.find("li.jumpTo").data("elementID",s).click($.proxy(i._click,i)))}).data("callback",t)},_click:function(e){if(this._elementID=$(e.currentTarget).data("elementID"),null===this._dialog){this._dialog=$('<div id="pageNavigationOverlay" />').hide().appendTo(document.body);var t=$("<fieldset><legend>"+WCF.Language.get("wcf.global.page.jumpTo")+"</legend></fieldset>").appendTo(this._dialog);$('<dl><dt><label for="jsPageNavigationPageNo">'+WCF.Language.get("wcf.global.page.jumpTo")+"</label></dt><dd></dd></dl>").appendTo(t),this._pageNo=$('<input type="number" id="jsPageNavigationPageNo" value="1" min="1" max="1" class="tiny" />').keyup($.proxy(this._keyUp,this)).appendTo(t.find("dd")),this._description=$("<small></small>").insertAfter(this._pageNo);var i=$('<div class="formSubmit" />').appendTo(this._dialog);this._button=$('<button class="buttonPrimary">'+WCF.Language.get("wcf.global.button.submit")+"</button>").click($.proxy(this._submit,this)).appendTo(i)}this._button.enable(),this._description.html(WCF.Language.get("wcf.global.page.jumpTo.description").replace(/#pages#/,this._elements[this._elementID].data("pages"))),this._pageNo.val(this._elements[this._elementID].data("pages")).attr("max",this._elements[this._elementID].data("pages")),this._dialog.wcfDialog({title:WCF.Language.get("wcf.global.page.pageNavigation")})},_keyUp:function(e){if(e.which==$.ui.keyCode.ENTER&&!this._button.prop("disabled"))return void this._submit();var t=parseInt(this._pageNo.val())||0;1>t||t>this._pageNo.attr("max")?this._button.disable():this._button.enable()},_submit:function(){var e=this._elements[this._elementID];if(null===e.data("callback")){var t=e.data("link").replace(/pageNo=%d/,"pageNo="+this._pageNo.val());window.location=t}else e.data("callback")(this._pageNo.val()),this._dialog.wcfDialog("close")}},WCF.System.KeepAlive=Class.extend({init:function(e){new WCF.PeriodicalExecuter(function(e){new WCF.Action.Proxy({autoSend:!0,data:{actionName:"keepAlive",className:"wcf\\data\\session\\SessionAction"},failure:function(){e.stop()},showLoadingOverlay:!1,success:function(e){WCF.System.PushNotification.executeCallbacks(e)},suppressErrors:!0})},1e3*e)}}),WCF.System.PushNotification={_callbacks:{},addCallback:function(e,t){void 0===this._callbacks[e]&&(this._callbacks[e]=[]),this._callbacks[e].push(t)},executeCallbacks:function(e){for(var t in e.returnValues)if(void 0!==this._callbacks[t])for(var i=0;i<this._callbacks[t].length;i++)this._callbacks[t][i](e.returnValues[t])}},WCF.System.Event={_listeners:{},addListener:function(e,t,i){"undefined"==typeof this._listeners[e]&&(this._listeners[e]={}),"undefined"==typeof this._listeners[e][t]&&(this._listeners[e][t]=[]);var n=WCF.getUUID();return this._listeners[e][t].push({callback:i,uuid:n}),n},removeListener:function(e,t,i){if(this._listeners[e]&&this._listeners[e][t])for(var n=0;n<this._listeners[e][t].length;n++)if(this._listeners[e][t][n].uuid==i)return this._listeners[e][t].splice(n,1),!0;return!1},removeAllListeners:function(e,t){return this._listeners[e]&&this._listeners[e][t]?(delete this._listeners[e][t],!0):!1},fireEvent:function(e,t,i){if(i=i||{},this._listeners[e]&&this._listeners[e][t])for(var n=0;n<this._listeners[e][t].length;n++)this._listeners[e][t][n].callback(i)}},WCF.System.Worker=Class.extend({_aborted:!1,_actionName:"",_callback:null,_className:"",_dialog:null,_proxy:null,_title:"",init:function(e,t,i,n,s){this._aborted=!1,this._actionName=e,this._callback=s||null,this._className=t,this._dialog=null,this._proxy=new WCF.Action.Proxy({autoSend:!0,data:{actionName:this._actionName,className:this._className,parameters:n||{}},showLoadingOverlay:!1,success:$.proxy(this._success,this)}),this._title=i},_success:function(e){if(null===this._dialog&&(this._dialog=$("<div />").hide().appendTo(document.body),this._dialog.wcfDialog({closeConfirmMessage:WCF.Language.get("wcf.worker.abort.confirmMessage"),closeViaModal:!1,onClose:$.proxy(function(){this._aborted=!0,this._proxy.abortPrevious(),window.location.reload()},this),title:this._title})),!this._aborted)if(e.returnValues.template&&this._dialog.html(e.returnValues.template),this._dialog.find("progress").attr("value",e.returnValues.progress).text(e.returnValues.progress+"%").next("span").text(e.returnValues.progress+"%"),e.returnValues.progress<100){var t=e.returnValues.parameters||{};t.loopCount=e.returnValues.loopCount,this._proxy.setOption("data",{actionName:this._actionName,className:this._className,parameters:t}),this._proxy.sendRequest()}else if(null!==this._callback)this._callback(this,e);else{this._dialog.find(".fa-spinner").removeClass("fa-spinner").addClass("fa-check green"),this._dialog.find(".boxHeadline h1").text(WCF.Language.get("wcf.global.worker.completed"));var i=$('<div class="formSubmit" />').appendTo(this._dialog);$('<button class="buttonPrimary">'+WCF.Language.get("wcf.global.button.next")+"</button>").appendTo(i).focus().click(function(){e.returnValues.redirectURL?window.location=e.returnValues.redirectURL:window.location.reload()}),this._dialog.wcfDialog("render")}}}),WCF.InlineEditor=Class.extend({_callbacks:[],_dropdowns:{},_elements:{},_notification:null,_options:[],_proxy:null,_triggerElements:{},_updateData:[],init:function(e){var t=$(e);if(t.length){this._setOptions();for(var i="",n=0,s=this._options.length;s>n;n++)if(this._options[n].isQuickOption){i=this._options[n].optionName;break}var a=this;t.each(function(e,t){var n=$(t),s=n.wcfIdentify(),o=a._getTriggerElement(n);null!==o&&1===o.length&&(o.click($.proxy(a._show,a)).data("elementID",s),i&&o.disableSelection().data("optionName",i).dblclick($.proxy(a._click,a)),a._elements[s]=n)}),this._proxy=new WCF.Action.Proxy({success:$.proxy(this._success,this)}),WCF.CloseOverlayHandler.addCallback("WCF.InlineEditor",$.proxy(this._closeAll,this)),this._notification=new WCF.System.Notification(WCF.Language.get("wcf.global.success"),"success")}},_closeAll:function(){for(var e in this._elements)this._hide(e)},_setOptions:function(){this._options=[]},registerCallback:function(e){$.isFunction(e)&&this._callbacks.push(e)},_getTriggerElement:function(e){return null},_show:function(e){e.preventDefault();var t=$(e.currentTarget).data("elementID"),i=null;this._dropdowns[t]||(this._triggerElements[t]=i=this._getTriggerElement(this._elements[t]).addClass("dropdownToggle").wrap('<span class="dropdown" />'),this._dropdowns[t]=$('<ul class="dropdownMenu" />').insertAfter(i)),this._dropdowns[t].empty();for(var n=!1,s="",a=0,o=this._options.length;o>a;a++){var r=this._options[a];if("divider"===r.optionName)""!==s&&"divider"!==s&&($('<li class="dropdownDivider" />').appendTo(this._dropdowns[t]),s=r.optionName);else if(this._validate(t,r.optionName)||this._validateCallbacks(t,r.optionName)){var l=$("<li><span>"+r.label+"</span></li>").appendTo(this._dropdowns[t]);l.data("elementID",t).data("optionName",r.optionName).data("isQuickOption",r.isQuickOption?!0:!1).click($.proxy(this._click,this)),n=!0,s=r.optionName}}if(n){var c=this._dropdowns[t].children().last();c.hasClass("dropdownDivider")&&c.remove();var h=null,d=0;if(this._dropdowns[t].children().each(function(e,t){var i=$(t);i.hasClass("dropdownDivider")||(i.data("isQuickOption")?h=i:d++)}),!d)return h.trigger("click"),this._triggerElements[t]&&WCF.Dropdown.close(this._triggerElements[t].parents(".dropdown").wcfIdentify()),!1}return null!==i&&WCF.Dropdown.initDropdown(i,!0),!1},_validate:function(e,t){return!1},_validateCallbacks:function(e,t){var i=this._callbacks.length;if(i)for(var n=0;i>n;n++)if(this._callbacks[n].validate(this._elements[e],t))return!0;return!1},_success:function(e,t,i){var n=this._updateData.length;n&&(this._updateState(e),this._updateData=[])},_updateState:function(e){},_click:function(e){var t=$(e.currentTarget),i=t.data("elementID"),n=t.data("optionName");this._execute(i,n)||this._executeCallback(i,n),this._hide(i)},_execute:function(e,t){return!1},_executeCallback:function(e,t){var i=this._callbacks.length;if(i)for(var n=0;i>n;n++)if(this._callbacks[n].execute(this._elements[e],t))return!0;
+(function (window, undefined) {"use strict";function wcfEval(expression){return eval(expression)}!function(){var e=jQuery.fn.data;jQuery.fn.data=function(t,i){if(t)switch(typeof t){case"object":for(var n in t)if(n.match(/ID$/)){var s=t[n];delete t[n],n=n.replace(/ID$/,"-id"),t[n]=s}arguments[0]=t;break;case"string":t.match(/ID$/)&&(arguments[0]=t.replace(/ID$/,"-id"))}var a=e.apply(this,arguments);if(void 0===t)for(var n in a)n.match(/Id$/)&&(a[n.replace(/Id$/,"ID")]=a[n],delete a[n]);return a},window.console||(window.console={});for(var t=["log","info","warn","exception","assert","dir","dirxml","trace","group","groupEnd","groupCollapsed","profile","profileEnd","count","clear","time","timeEnd","timeStamp","table","error"],i=0;i<t.length;i++)"undefined"==typeof console[t[i]]&&(console[t[i]]=function(){});"undefined"==typeof console.debug&&(console.debug=function(e){console.log(e)})}(),String.prototype.hashCode=function(){var e,t=0;if(this.length)for(var i=0,n=this.length;n>i;i++)e=this.charCodeAt(i),t=(t<<5)-t+e,t&=t;return t},window.shuffle=function(e){for(var t,i,n=e.length;0!==n;)i=Math.floor(Math.random()*n),n-=1,t=e[n],e[n]=e[i],e[i]=t;return this},function(){var e=navigator.userAgent.toLowerCase(),t=/(chrome)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e)||/(msie) ([\w.]+)/.exec(e)||e.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(e)||[],i={browser:t[1]||"",version:t[2]||"0"},n={};i.browser&&(n[i.browser]=!0,n.version=i.version),n.chrome?n.webkit=!0:n.webkit&&(n.safari=!0),jQuery.browser=jQuery.browser||{},jQuery.browser=$.extend(jQuery.browser,n),jQuery.browser.touch=!!("ontouchstart"in window)||!!("msMaxTouchPoints"in window.navigator)&&window.navigator.msMaxTouchPoints>0,jQuery.browser.smartphone="bottom"==$("html").css("caption-side"),jQuery.browser.mozilla&&e.match(/trident/)&&(jQuery.browser.mozilla=!1,jQuery.browser.msie=!0),jQuery.browser.iOS=/\((ipad|iphone|ipod);/.test(e),jQuery.browser.iOS&&$("html").addClass("iOS"),jQuery.browser.android=-1!==e.indexOf("android"),jQuery.browser.editor="redactor",jQuery.browser.ckeditor=!1,jQuery.browser.redactor=!0}(),null==window.WCF&&(window.WCF={}),$.extend(!0,{removeArrayValue:function(e,t){return $.grep(e,function(e,i){return t!==e})},wcfEscapeID:function(e){return e.replace(/(:|\.)/g,"\\$1")},wcfIsset:function(e){return!!$("#"+$.wcfEscapeID(e)).length},getLength:function(e){var t=0;for(var i in e)e.hasOwnProperty(i)&&t++;return t}}),$.fn.extend({getTagName:function(){return this.length?this.get(0).tagName.toLowerCase():""},getDimensions:function(e){var t={},i={},n=!1;switch(this.is(":hidden")&&(t=WCF.getInlineCSS(this),n=!0,this.css({display:"block",visibility:"hidden"})),e){case"inner":i={height:this.innerHeight(),width:this.innerWidth()};break;case"outer":i={height:this.outerHeight(),width:this.outerWidth()};break;default:i={height:this.height(),width:this.width()}}return n&&WCF.revertInlineCSS(this,t,["display","visibility"]),i},getOffsets:function(e){var t={},i={},n=!1;switch(this.is(":hidden")&&(t=WCF.getInlineCSS(this),n=!0,this.css({display:"block",visibility:"hidden"})),e){case"offset":i=this.offset();break;case"position":default:i=this.position()}return n&&WCF.revertInlineCSS(this,t,["display","visibility"]),i},makePositioned:function(e,t){"absolute"!=e&&"fixed"!=e&&(e="absolute");var i=this.getOffsets("position");return this.css({position:e,left:i.left,margin:0,top:i.top}),t&&this.remove().appentTo("body"),this},disable:function(){return this.attr("disabled","disabled")},enable:function(){return this.removeAttr("disabled")},wcfIdentify:function(){return window.bc_wcfDomUtil.identify(this[0])},getCaret:function(){if(this.is("input")){if("text"!=this.attr("type")&&"password"!=this.attr("type"))return-1}else if(!this.is("textarea"))return-1;var e=0,t=this.get(0);if(document.selection){this.focus();var i=document.selection.createRange();i.moveStart("character",-this.val().length),e=i.text.length}else(t.selectionStart||"0"==t.selectionStart)&&(e=parseInt(t.selectionStart));return e},setCaret:function(e){if(this.is("input")){if("text"!=this.attr("type")&&"password"!=this.attr("type"))return!1}else if(!this.is("textarea"))return!1;var t=this.get(0);if(this.focus(),document.selection){var i=document.selection.createRange();i.moveStart("character",e),i.moveEnd("character",0),i.select()}else(t.selectionStart||"0"==t.selectionStart)&&(t.selectionStart=e,t.selectionEnd=e);return!0},wcfDropIn:function(e,t,i){return e||(e="up"),i&&parseInt(i)||(i=200),this.show(WCF.getEffect(this,"drop"),{direction:e},i,t)},wcfDropOut:function(e,t,i){return e||(e="down"),i&&parseInt(i)||(i=200),this.hide(WCF.getEffect(this,"drop"),{direction:e},i,t)},wcfBlindIn:function(e,t,i){return e||(e="vertical"),i&&parseInt(i)||(i=200),this.show(WCF.getEffect(this,"blind"),{direction:e},i,t)},wcfBlindOut:function(e,t,i){return e||(e="vertical"),i&&parseInt(i)||(i=200),this.hide(WCF.getEffect(this,"blind"),{direction:e},i,t)},wcfHighlight:function(e,t){return this.effect("highlight",e,600,t)},wcfFadeIn:function(e,t){return t&&parseInt(t)||(t=200),this.show(WCF.getEffect(this,"fade"),{},t,e)},wcfFadeOut:function(e,t){return t&&parseInt(t)||(t=200),this.hide(WCF.getEffect(this,"fade"),{},t,e)},cssAsNumber:function(e){if(this.length){var t=this.css(e);if(void 0!==t)return parseInt(t.replace(/px$/,""))}return 0},perfectScrollbar:function(e){var t=require("perfect-scrollbar");return this.each(function(){if("object"==typeof e||"undefined"==typeof e){var i=e;$(this).data("psID")||t.initialize(this,i)}else{var n=e;"update"===n?t.update(this):"destroy"===n&&t.destroy(this)}return jQuery(this)})}}),$.extend(WCF,{activeDialogs:0,_idCounter:0,getRandomID:function(){return window.bc_wcfDomUtil.getUniqueId()},inArray:function(e,t){return-1!=$.inArray(e,t)},getEffect:function(e,t){return e.is("tr")?"highlight":t},getInlineCSS:function(e){var t={},i=e.attr("style");if(!i)return{};i=i.split(";");for(var n=0,s=i.length;s>n;n++){var a=$.trim(i[n]);""!=a&&(a=a.split(":"),t[$.trim(a[0])]=$.trim(a[1]))}return t},revertInlineCSS:function(e,t,i){for(var n=0,s=i.length;s>n;n++){var a=i[n];t[a]?e.css(a,t[a]):e.css(a,"")}},getUUID:function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var t=16*Math.random()|0,i="x"==e?t:3&t|8;return i.toString(16)})},base64toBlob:function(e,t,i){t=t||"",i=i||512;for(var n=atob(e),s=[],a=0;a<n.length;a+=i){for(var o=n.slice(a,a+i),r=new Array(o.length),l=0;l<o.length;l++)r[l]=o.charCodeAt(l);var c=new Uint8Array(r);s.push(c)}return new Blob(s,{type:t})},convertLegacyURL:function(e){return URL_LEGACY_MODE?e:e.replace(/^index\.php\/(.*?)\/\?/,function(e,t){for(var i=t.split(/([A-Z][a-z0-9]+)/),n="",s=0,a=i.length;a>s;s++){var o=i[s].trim();o.length&&(n.length&&(n+="-"),n+=o.toLowerCase())}return"index.php?"+n+"/&"})}}),WCF.Browser={_isChrome:null,isChrome:function(){return null===this._isChrome&&(this._isChrome=!1,/chrom(e|ium)/.test(navigator.userAgent.toLowerCase())&&(this._isChrome=!0)),this._isChrome}},WCF.Dropdown={init:function(e){window.bc_wcfSimpleDropdown.initAll()},initDropdown:function(e,t){window.bc_wcfSimpleDropdown.init(e[0],t)},removeDropdown:function(e){window.bc_wcfSimpleDropdown.remove(e)},initDropdownFragment:function(e,t){window.bc_wcfSimpleDropdown.initFragment(e[0],t[0])},registerCallback:function(e,t){window.bc_wcfSimpleDropdown.registerCallback(e,t)},_toggle:function(e,t){window.bc_wcfSimpleDropdown._toggle(e,t)},toggleDropdown:function(e){window.bc_wcfSimpleDropdown._toggle(null,e)},getDropdown:function(e){var t=window.bc_wcfSimpleDropdown.getDropdown(e);return t?$(t):null},getDropdownMenu:function(e){var t=window.bc_wcfSimpleDropdown.getDropdownMenu(e);return t?$(t):null},setAlignmentByID:function(e){window.bc_wcfSimpleDropdown.setAlignmentById(e)},setAlignment:function(e,t){window.bc_wcfSimpleDropdown.setAlignment(e[0],t[0])},_closeAll:function(){window.bc_wcfSimpleDropdown.closeAll()},close:function(e){window.bc_wcfSimpleDropdown.close(e)},destroy:function(e){window.bc_wcfSimpleDropdown.destroy(e)}},WCF.Dropdown.Interactive={},WCF.Dropdown.Interactive.Handler={_dropdownContainer:null,_dropdownMenus:{},create:function(e,t,i){null===this._dropdownContainer&&(this._dropdownContainer=$('<div class="dropdownMenuContainer" />').appendTo(document.body),WCF.CloseOverlayHandler.addCallback("WCF.Dropdown.Interactive.Handler",$.proxy(this.closeAll,this)));var n=new WCF.Dropdown.Interactive.Instance(this._dropdownContainer,e,t,i);return this._dropdownMenus[t]=n,n},open:function(e){return this._dropdownMenus[e]?(this._dropdownMenus[e].open(),!0):!1},close:function(e){return this._dropdownMenus[e]?(this._dropdownMenus[e].close(),!0):!1},closeAll:function(){$.each(this._dropdownMenus,function(e,t){t.close()})}},WCF.Dropdown.Interactive.Instance=Class.extend({_container:null,_itemList:null,_linkList:null,_options:{},_pointer:null,_triggerElement:null,init:function(e,t,i,n){this._options=n||{},this._triggerElement=t;var s=null;if(n.staticDropdown===!0)this._container=this._triggerElement.find(".interactiveDropdownStatic:eq(0)").data("source",i).click(function(e){e.stopPropagation()});else{this._container=$('<div class="interactiveDropdown" data-source="'+i+'" />').click(function(e){e.stopPropagation()});var a=$('<div class="interactiveDropdownHeader" />').appendTo(this._container);$('<span class="interactiveDropdownTitle">'+n.title+"</span>").appendTo(a),this._linkList=$('<ul class="interactiveDropdownLinks"></ul>').appendTo(a),s=$('<div class="interactiveDropdownItemsContainer" />').appendTo(this._container),this._itemList=$('<ul class="interactiveDropdownItems" />').appendTo(s),$('<a href="'+n.showAllLink+'" class="interactiveDropdownShowAll">'+WCF.Language.get("wcf.user.panel.showAll")+"</a>").appendTo(this._container)}this._pointer=$('<span class="pointer"><span /></span>').appendTo(this._container),$.browser.mobile||null===s||s.perfectScrollbar({suppressScrollX:!0}),this._container.appendTo(e)},getContainer:function(){return this._container},getItemList:function(){return this._itemList},getLinkList:function(){return this._linkList},open:function(){WCF.Dropdown._closeAll(),this._container.addClass("open"),this.render()},close:function(){this._container.removeClass("open")},toggle:function(){return this._container.hasClass("open")?(this.close(),!1):(WCF.Dropdown.Interactive.Handler.closeAll(),this.open(),!0)},resetItems:function(){this._itemList.empty(),this.close()},render:function(){var e=WCF.Language.get("wcf.global.pageDirection");"bottom"===$("html").css("caption-side")?this._renderMobile(e):this._renderDesktop(e)},rebuildScrollbar:function(){if(!$.browser.mobile){var e=this._itemList.parent();e.perfectScrollbar("destroy"),e.perfectScrollbar({suppressScrollX:!0})}},_renderMobile:function(e){var t=this._triggerElement.getDimensions("outer"),i=Math.floor(t.width/2),n=this._triggerElement.getOffsets("offset"),s=Math.floor(this._pointer.outerWidth()/2);this._container.css({top:n.top+t.height+"px"}),this._pointer.css({left:n.left+i-s+"px"})},_renderDesktop:function(e){var t=this._triggerElement.getDimensions("outer"),i=this._triggerElement.getOffsets("offset"),n=this._container.getDimensions(),s=$(window).width(),a=null,o=null;"ltr"===e?(a=this._getPositionLeft(i,n,s),a.result||(o=this._getPositionRight(i,n,t,s),o.result?a=null:o=null)):(o=this._getPositionRight(i,n,t,s),o.result||(a=this._getPositionLeft(i,n,s),a.result?o=null:a=null)),null===o?(this._container.css({left:a.left+"px",top:i.top+t.height+"px"}),this._pointer.css({left:this._options.pointerOffset?this._options.pointerOffset:"4px"})):(this._container.css({right:o.right+"px",top:i.top+t.height+"px"}),this._pointer.css({right:this._options.pointerOffset?this._options.pointerOffset:"4px"}))},_getPositionLeft:function(e,t,i){var n=e.left,s=e.left+t.width;return{left:n,result:i>s}},_getPositionRight:function(e,t,i,n){var s=e.left+i.width-t.width,a=n-(e.left+i.width);return{result:s>0,right:a}}}),WCF.Clipboard={init:function(e,t,i,n){require(["WoltLab/WCF/Controller/Clipboard"],function(i){i.setup({hasMarkedItems:t>0,pageClassName:e,pageObjectId:n})})},reload:function(){require(["WoltLab/WCF/Controller/Clipboard"],function(e){e.reload()})}},WCF.PeriodicalExecuter=Class.extend({_callback:null,_delay:0,_intervalID:null,_isExecuting:!1,init:function(e,t){return $.isFunction(e)?(this._callback=e,this._interval=t,void this.resume()):void console.debug("[WCF.PeriodicalExecuter] Given callback is invalid, aborting.")},_execute:function(){if(!this._isExecuting)try{this._isExecuting=!0,this._callback(this),this._isExecuting=!1}catch(e){throw this._isExecuting=!1,e}},stop:function(){this._intervalID&&clearInterval(this._intervalID)},resume:function(){this.restart()},restart:function(){this._intervalID&&this.stop(),this._intervalID=setInterval($.proxy(this._execute,this),this._interval)},setInterval:function(e){this._interval=e,this.restart()}}),WCF.LoadingOverlayHandler={show:function(){require(["WoltLab/WCF/Ajax/Status"],function(e){e.show()})},hide:function(){require(["WoltLab/WCF/Ajax/Status"],function(e){e.hide()})},updateIcon:function(e,t){var i=void 0===t||t?"addClass":"removeClass";e.find(".icon")[i]("icon-spinner"),e.hasClass("icon")&&e[i]("icon-spinner")}},WCF.Action={},WCF.Action.Proxy=Class.extend({_ajaxRequest:null,init:function(e){this._ajaxRequest=null,e=$.extend(!0,{autoSend:!1,data:{},dataType:"json",after:null,init:null,jsonp:"callback",async:!0,failure:null,showLoadingOverlay:!0,success:null,suppressErrors:!1,type:"POST",url:"index.php/AJAXProxy/?t="+SECURITY_TOKEN+SID_ARG_2ND,aborted:null,autoAbortPrevious:!1},e),"jsonp"===e.dataType?require(["AjaxJsonp"],function(t){t.send(e.url,e.success,e.failure,{parameterName:e.jsonp})}):require(["AjaxRequest"],function(t){this._ajaxRequest=new t({data:e.data,type:e.type,url:e.url,autoAbort:e.autoAbortPrevious,ignoreError:e.suppressErrors,silent:e.suppressErrors,failure:e.failure,finalize:e.after,success:e.success}),e.autoSend&&this._ajaxRequest.sendRequest()}.bind(this))},sendRequest:function(e){require(["AjaxRequest"],function(t){null!==this._ajaxRequest&&this._ajaxRequest.sendRequest(e)}.bind(this))},abortPrevious:function(){require(["AjaxRequest"],function(e){null!==this._ajaxRequest&&this._ajaxRequest.abortPrevious()}.bind(this))},setOption:function(e,t){require(["AjaxRequest"],function(i){null!==this._ajaxRequest&&this._ajaxRequest.setOption(e,t)}.bind(this))},showLoadingOverlayOnce:function(){},suppressErrors:function(){},_failure:function(e,t,i){},_success:function(e,t,i){},_after:function(){}}),WCF.Action.SimpleProxy=Class.extend({init:function(e,t){this.options=$.extend(!0,{action:"",className:"",elements:null,eventName:"click"},e),this.callbacks=$.extend(!0,{after:null,failure:null,init:null,success:null},t),this.options.elements&&(this.proxy=new WCF.Action.Proxy(this.callbacks),this.options.elements.each($.proxy(function(e,t){$(t).bind(this.options.eventName,$.proxy(this._handleEvent,this))},this)))},_handleEvent:function(e){this.proxy.setOption("data",{actionName:this.options.action,className:this.options.className,objectIDs:[$(e.target).data("objectID")]}),this.proxy.sendRequest()}}),WCF.Action.Delete=Class.extend({_buttonSelector:"",_className:"",_containerSelector:"",_containers:[],init:function(e,t,i){this._containerSelector=t,this._className=e,this._buttonSelector=i?i:".jsDeleteButton",this.proxy=new WCF.Action.Proxy({success:$.proxy(this._success,this)}),this._initElements(),WCF.DOMNodeInsertedHandler.addCallback("WCF.Action.Delete"+this._className.hashCode(),$.proxy(this._initElements,this))},_initElements:function(){$(this._containerSelector).each(function(e,t){var i=$(t),n=i.wcfIdentify();if(!WCF.inArray(n,this._containers)){var s=i.find(this._buttonSelector);s.length&&(this._containers.push(n),s.click($.proxy(this._click,this)))}}.bind(this))},_click:function(e){var t=$(e.currentTarget);e.preventDefault(),t.data("confirmMessage")?WCF.System.Confirmation.show(t.data("confirmMessage"),$.proxy(this._execute,this),{target:t}):(WCF.LoadingOverlayHandler.updateIcon(t),this._sendRequest(t))},_didTriggerEffect:function(e){},_execute:function(e,t){"cancel"!==e&&(WCF.LoadingOverlayHandler.updateIcon(t.target),this._sendRequest(t.target))},_sendRequest:function(e){this.proxy.setOption("data",{actionName:"delete",className:this._className,interfaceName:"wcf\\data\\IDeleteAction",objectIDs:[$(e).data("objectID")]}),this.proxy.sendRequest()},_success:function(e,t,i){this.triggerEffect(e.objectIDs)},triggerEffect:function(e){for(var t in this._containers){var i=$("#"+this._containers[t]),n=i.find(this._buttonSelector);if(WCF.inArray(n.data("objectID"),e)){var s=this;i.wcfBlindOut("up",function(){var e=$(this).remove();s._containers.splice(s._containers.indexOf(e.wcfIdentify()),1),s._didTriggerEffect(e),n.data("eventName")&&WCF.System.Event.fireEvent("com.woltlab.wcf.action.delete",n.data("eventName"),{button:n,container:e})})}}}}),WCF.Action.NestedDelete=WCF.Action.Delete.extend({triggerEffect:function(e){for(var t in this._containers){var i=$("#"+this._containers[t]);if(WCF.inArray(i.find(this._buttonSelector).data("objectID"),e))if(i.has("ol").has("li").length)i.is(":only-child")?i.parent().replaceWith(i.find("> ol")):i.replaceWith(i.find("> ol > li")),this._containers.splice(this._containers.indexOf(i.wcfIdentify()),1),this._didTriggerEffect(i);else{var n=this;i.wcfBlindOut("up",function(){$(this).remove(),n._containers.splice(n._containers.indexOf($(this).wcfIdentify()),1),n._didTriggerEffect($(this))})}}}}),WCF.Action.Toggle=Class.extend({_buttonSelector:".jsToggleButton",_className:"",_containerSelector:"",_containers:[],init:function(e,t,i){this._containerSelector=t,this._className=e,this._buttonSelector=i?i:".jsToggleButton",this._containers=[];var n={success:$.proxy(this._success,this)};this.proxy=new WCF.Action.Proxy(n),this._initElements(),WCF.DOMNodeInsertedHandler.addCallback("WCF.Action.Toggle"+this._className.hashCode(),$.proxy(this._initElements,this))},_initElements:function(){$(this._containerSelector).each($.proxy(function(e,t){var i=$(t),n=i.wcfIdentify();WCF.inArray(n,this._containers)||(this._containers.push(n),i.find(this._buttonSelector).click($.proxy(this._click,this)))},this))},_click:function(e){var t=$(e.currentTarget);e.preventDefault(),t.data("confirmMessage")?WCF.System.Confirmation.show(t.data("confirmMessage"),$.proxy(this._execute,this),{target:t}):(WCF.LoadingOverlayHandler.updateIcon(t),this._sendRequest(t))},_execute:function(e,t){"cancel"!==e&&(WCF.LoadingOverlayHandler.updateIcon(t.target),this._sendRequest(t.target))},_sendRequest:function(e){this.proxy.setOption("data",{actionName:"toggle",className:this._className,interfaceName:"wcf\\data\\IToggleAction",objectIDs:[$(e).data("objectID")]}),this.proxy.sendRequest()},_success:function(e,t,i){this.triggerEffect(e.objectIDs)},triggerEffect:function(e){for(var t in this._containers){var i=$("#"+this._containers[t]),n=i.find(this._buttonSelector);WCF.inArray(n.data("objectID"),e)&&(i.wcfHighlight(),this._toggleButton(i,n))}},_toggleButton:function(e,t){var i="";WCF.LoadingOverlayHandler.updateIcon(t,!1),t.hasClass("icon-check-empty")?(t.removeClass("icon-check-empty").addClass("icon-check"),i=t.data("disableTitle")?t.data("disableTitle"):WCF.Language.get("wcf.global.button.disable"),t.attr("title",i)):(t.removeClass("icon-check").addClass("icon-check-empty"),i=t.data("enableTitle")?t.data("enableTitle"):WCF.Language.get("wcf.global.button.enable"),t.attr("title",i)),e.toggleClass("disabled")}}),WCF.Action.Scroll=Class.extend({_callback:null,_reference:null,_target:null,_threshold:0,init:function(e,t,i,n){return this._threshold=parseInt(e),0===this._threshold?void console.debug("[WCF.Action.Scroll] Given threshold is invalid, aborting."):($.isFunction(t)&&(this._callback=t),null===this._callback?void console.debug("[WCF.Action.Scroll] Given callback is invalid, aborting."):(this._reference=$(i?i:window),this._target=$(n?n:document),this.start(),void this._scroll()))},_scroll:function(){var e=this._target.height(),t=this._reference.scrollTop(),i=this._reference.height();e-(i+t)<this._threshold&&this._callback(this)},start:function(){this._reference.on("scroll",$.proxy(this._scroll,this))},stop:function(){this._reference.off("scroll")}}),WCF.Date={},WCF.Date.Picker={init:function(){}},WCF.Date.Util={gmdate:function(e){var t=e?e:new Date;return Math.round(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDay(),t.getUTCHours(),t.getUTCMinutes(),t.getUTCSeconds())/1e3)},getTimezoneDate:function(e,t){var i=new Date(e),n=6e4*i.getTimezoneOffset();return new Date(e+n+t)}},WCF.Dictionary=Class.extend({_variables:{},init:function(){this._variables={}},add:function(e,t){this._variables[e]=t},addObject:function(e){for(var t in e)this.add(t,e[t])},addDictionary:function(e){e.each($.proxy(function(e){this.add(e.key,e.value)},this))},get:function(e){return this.isset(e)?this._variables[e]:null},isset:function(e){return this._variables.hasOwnProperty(e)},remove:function(e){delete this._variables[e]},each:function(e){if($.isFunction(e))for(var t in this._variables){var i=this._variables[t],n={key:t,value:i};e(n)}},count:function(){return $.getLength(this._variables)},isEmpty:function(){return!this.count()}}),null==window.WCF.Language&&(WCF.Language={add:function(e,t){require(["WoltLab/WCF/Language"],function(i){i.add(e,t)})},addObject:function(e){require(["WoltLab/WCF/Language"],function(t){t.addObject(e)})},get:function(e,t){throw new Error('Call to deprecated WCF.Language.get("'+e+'")')}}),WCF.MultipleLanguageInput=Class.extend({_availableLanguages:{},_button:null,_didInit:!1,_element:null,_insertedDataAfterInit:!1,_isEnabled:!1,_forceSelection:!1,_languageID:0,_list:null,_values:null,init:function(e,t,i,n){if(this._button=null,this._element=$("#"+$.wcfEscapeID(e)),this._forceSelection=t,this._values=i,this._availableLanguages=n,$.getLength(this._values))for(var s in this._values)this._values[s]=WCF.String.unescapeHTML(this._values[s]);if(this._languageID=LANGUAGE_ID,0==this._element.length)return void console.debug("[WCF.MultipleLanguageInput] element id '"+e+"' is unknown");var a=$.getLength(this._values)>0?!0:!1;this._insertedDataAfterInit=a,this._prepareElement(a),this._element.parents("form").submit($.proxy(this._submit,this)),this._didInit=!0},_prepareElement:function(e){this._element.wrap('<div class="dropdown preInput" />');var t=this._element.parent();this._button=$('<p class="button dropdownToggle"><span>'+WCF.Language.get("wcf.global.button.disabledI18n")+"</span></p>").prependTo(t),this._list=$('<ul class="dropdownMenu"></ul>').insertAfter(this._button),this._button.nextAll("textarea").length?this._button.addClass("dropdownCaptionTextarea"):this._button.addClass("dropdownCaption");for(var i in this._availableLanguages)$("<li><span>"+this._availableLanguages[i]+"</span></li>").data("languageID",i).click($.proxy(this._changeLanguage,this)).appendTo(this._list);this._forceSelection||($('<li class="dropdownDivider" />').appendTo(this._list),$("<li><span>"+WCF.Language.get("wcf.global.button.disabledI18n")+"</span></li>").click($.proxy(this._disable,this)).appendTo(this._list)),WCF.Dropdown.initDropdown(this._button,e),(e||this._forceSelection)&&(this._isEnabled=!0,this._list.children("li").each($.proxy(function(e,t){var i=$(t);i.data("languageID")==this._languageID&&i.trigger("click")},this))),WCF.Dropdown.registerCallback(t.wcfIdentify(),$.proxy(this._handleAction,this))},_handleAction:function(e,t){"open"===t?this._enable():this._closeSelection()},_enable:function(e){if(!this._isEnabled){var t=this._button.is("p")?this._button.children("span:eq(0)"):this._button;t.addClass("active"),this._isEnabled=!0}this._list.is(":visible")&&this._showSelection()},_showSelection:function(){this._isEnabled&&this._list.children("li").each($.proxy(function(e,t){var i=$(t),n=i.data("languageID");n&&(this._values[n]&&""!=this._values[n]?i.removeClass("missingValue"):i.addClass("missingValue"))},this))},_closeSelection:function(){this._disable()},_changeLanguage:function(e){var t=$(e.currentTarget);this._insertedDataAfterInit=!0,this._didInit&&(this._values[this._languageID]=this._element.val()),this._languageID=t.data("languageID"),this._values[this._languageID]?this._element.val(this._values[this._languageID]):this._element.val(""),this._list.children("li").removeClass("active"),t.addClass("active"),this._button.children("span").addClass("active").text(this._availableLanguages[this._languageID]),this._didInit&&this._element.blur().focus()},_disable:function(e){void 0===e&&this._insertedDataAfterInit&&(e=null),!this._forceSelection&&this._list&&null!==e&&(this._button.children("span").removeClass("active").text(WCF.Language.get("wcf.global.button.disabledI18n")),this._values[LANGUAGE_ID]?this._element.val(this._values[LANGUAGE_ID]):this._element.val(),e&&(this._list.children("li").removeClass("active"),$(e.currentTarget).addClass("active")),this._element.blur().focus(),this._insertedDataAfterInit=!1,this._isEnabled=!1,this._values={})},_submit:function(){if(!this._isEnabled)return 3735928559;this._languageID&&(this._values[this._languageID]=this._element.val());var e=$(this._element.parents("form")[0]),t=this._element.wcfIdentify();for(var i in this._availableLanguages)void 0===this._values[i]&&(this._values[i]=""),$('<input type="hidden" name="'+t+"_i18n["+i+']" value="'+WCF.String.escapeHTML(this._values[i])+'" />').appendTo(e);this._element.removeAttr("name")}}),WCF.Number={round:function(e,t){return t=Math.pow(10,t||0),Math.round(e*t)/t}},WCF.String={addThousandsSeparator:function(e){return String(e).replace(/(^-?\d{1,3}|\d{3})(?=(?:\d{3})+(?:$|\.))/g,"$1"+WCF.Language.get("wcf.global.thousandsSeparator"))},escapeHTML:function(e){return String(e).replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")},escapeRegExp:function(e){return String(e).replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")},formatNumeric:function(e,t){e=String(WCF.Number.round(e,t||2));var i=e.split(".");return e=this.addThousandsSeparator(i[0]),i.length>1&&(e+=WCF.Language.get("wcf.global.decimalPoint")+i[1]),e=e.replace("-","−")},lcfirst:function(e){return String(e).substring(0,1).toLowerCase()+e.substring(1)},ucfirst:function(e){return String(e).substring(0,1).toUpperCase()+e.substring(1)},unescapeHTML:function(e){return String(e).replace(/&amp;/g,"&").replace(/&quot;/g,'"').replace(/&lt;/g,"<").replace(/&gt;/g,">")}},WCF.TabMenu={_containers:{},_didInit:!1,init:function(){return void require(["WoltLab/WCF/Ui/TabMenu"],function(e){e.setup()})},reload:function(){this._containers={},this.init()},_selectErroneousTab:function(){var e=!1;for(var t in this._containers){var i=this._containers[t];if(i.find(".formError").length&&(e=!0,!i.data("isParent"))){for(;;){if(i.data("parent")===!1)break;i=i.data("parent").wcfTabs("selectTab",i.wcfIdentify())}return!0}}if(e)for(var t in this._containers){var i=this._containers[t],n=i.find(".formError:eq(0)");if(n.length){for(i.wcfTabs("selectTab",n.parents(".tabMenuContent").wcfIdentify());;){if(i.data("parent")===!1)break;i=i.data("parent").wcfTabs("selectTab",i.wcfIdentify())}return!0}}return!1},_selectActiveTab:function(){for(var e in this._containers){var t=this._containers[e];if(t.data("active")){var i=t.data("active"),n=null;if(/-/.test(i)){var s=i.split("-");i=s[0],n=s[1]}t.find(".tabMenuContent").each(function(e,s){var a=$(s);return a.wcfIdentify()==i?(t.wcfTabs("select",e),null!==n&&(a.hasClass("tabMenuContainer")?a.wcfTabs("selectTab",t.data("active")):t.wcfTabs("selectTab",t.data("active"))),!1):void 0})}}},selectTabs:function(){if(location.hash){var e=location.hash.substr(1),t=$("#"+$.wcfEscapeID(e));if(1===t.length&&t.hasClass("ui-tabs-panel")&&(t=t.parent(".ui-tabs"),t.length))return t.wcfTabs("selectTab",e),t.hasClass("ui-tabs-panel")&&(e=t.wcfIdentify(),t=t.parent(".ui-tabs"),t.length&&t.wcfTabs("selectTab",e)),!0}return!1}},WCF.Template=Class.extend({init:function(e){var t=new WCF.Dictionary,i=0;e=e.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/(\r\n|\n|\r)/g,"\\n"),e=e.replace(/\{literal\}(.*?)\{\/literal\}/g,$.proxy(function(e){var i="@@@@@@@@@@@"+Math.random()+"@@@@@@@@@@@";return t.add(i,e.replace(/\{\/?literal\}/g,"")),i},this)),e=e.replace(/\{\*.*?\*\}/g,"");var n=function(e){for(var t=e.split(""),i={},n=!0,s="",a="",o=!1,r=!1,l=!1,c=0,h=t.length;h>c;c++){var d=t[c];n&&"="!=d&&" "!=d?s+=d:n&&"="==d?(n=!1,r=!1,o=!1,l=!1):n||r||o||" "!=d?n||!r||l||"'"!=d?n||r||o||"'"!=d?n||!o||l||'"'!=d?n||r||o||'"'!=d?n||!o&&!r||l||"\\"!=d?n||(l=!1,a+=d):(l=!0,a+=d):(o=!0,a+=d):(o=!1,a+=d):(r=!0,a+=d):(r=!1,a+=d):(n=!0,i[s]=a,a=s="")}if(i[s]=a,o||r||l)throw new Error('Syntax error in parameterList: "'+e+'"');return i},s=function(e){return e.replace(/\\n/g,"\n").replace(/\\\\/g,"\\").replace(/\\'/g,"'")};e=e.replace(/\{(\$[^\}]+?)\}/g,function(e,t){return t=s(t.replace(/\$([^.\[\(\)\]\s]+)/g,"(v['$1'])")),"' + WCF.String.escapeHTML("+t+") + '"}).replace(/\{#(\$[^\}]+?)\}/g,function(e,t){return t=s(t.replace(/\$([^.\[\(\)\]\s]+)/g,"(v['$1'])")),"' + WCF.String.formatNumeric("+t+") + '"}).replace(/\{@(\$[^\}]+?)\}/g,function(e,t){return t=s(t.replace(/\$([^.\[\(\)\]\s]+)/g,"(v['$1'])")),"' + "+t+" + '"}).replace(/\{lang\}(.+?)\{\/lang\}/g,function(e,t){return"' + WCF.Language.get('"+t+"', v) + '"}).replace(/\{include (.+?)\}/g,function(e,t){t=t.replace(/\\\\/g,"\\").replace(/\\'/g,"'");var i=n(t);if("undefined"==typeof i.file)throw new Error("Missing file attribute in include-tag");return i.file=i.file.replace(/\$([^.\[\(\)\]\s]+)/g,"(v.$1)"),"' + "+i.file+".fetch(v) + '"}).replace(/\{if (.+?)\}/g,function(e,t){return t=s(t.replace(/\$([^.\[\(\)\]\s]+)/g,"(v['$1'])")),"';\nif ("+t+") {\n  $output += '"}).replace(/\{else ?if (.+?)\}/g,function(e,t){return t=s(t.replace(/\$([^.\[\(\)\]\s]+)/g,"(v['$1'])")),"';\n}\nelse if ("+t+") {\n       $output += '"}).replace(/\{implode (.+?)\}/g,function(e,t){i++,t=t.replace(/\\\\/g,"\\").replace(/\\'/g,"'");var s=n(t);if("undefined"==typeof s.from)throw new Error("Missing from attribute in implode-tag");if("undefined"==typeof s.item)throw new Error("Missing item attribute in implode-tag");return"undefined"==typeof s.glue&&(s.glue="', '"),s.from=s.from.replace(/\$([^.\[\(\)\]\s]+)/g,"(v.$1)"),"';\nvar $implode_"+i+" = false;\nfor ($implodeKey_"+i+" in "+s.from+") {\n      v["+s.item+"] = "+s.from+"[$implodeKey_"+i+"];\n"+("undefined"!=typeof s.key?"          v["+s.key+"] = $implodeKey_"+i+";\n":"")+"      if ($implode_"+i+") $output += "+s.glue+";\n    $implode_"+i+" = true;\n        $output += '"}).replace(/\{foreach (.+?)\}/g,function(e,t){i++,t=t.replace(/\\\\/g,"\\").replace(/\\'/g,"'");var s=n(t);if("undefined"==typeof s.from)throw new Error("Missing from attribute in foreach-tag");if("undefined"==typeof s.item)throw new Error("Missing item attribute in foreach-tag");return s.from=s.from.replace(/\$([^.\[\(\)\]\s]+)/g,"(v.$1)"),"';\n$foreach_"+i+" = false;\nfor ($foreachKey_"+i+" in "+s.from+") {\n     $foreach_"+i+" = true;\n        break;\n}\nif ($foreach_"+i+") {\n      for ($foreachKey_"+i+" in "+s.from+") {\n               v["+s.item+"] = "+s.from+"[$foreachKey_"+i+"];\n"+("undefined"!=typeof s.key?"          v["+s.key+"] = $foreachKey_"+i+";\n":"")+"              $output += '"}).replace(/\{foreachelse\}/g,"';\n        }\n}\nelse {\n  {\n             $output += '").replace(/\{\/foreach\}/g,"';\n   }\n}\n$output += '").replace(/\{else\}/g,"';\n}\nelse {\n       $output += '").replace(/\{\/(if|implode)\}/g,"';\n}\n$output += '");for(var a in WCF.Template.callbacks)e=WCF.Template.callbacks[a](e);e=e.replace("{ldelim}","{").replace("{rdelim}","}"),t.each(function(t){e=e.replace(t.key,t.value)}),e="$output += '"+e+"';";try{this.fetch=new Function("v","v = window.$.extend({}, v, { __wcf: window.WCF, __window: window }); var $output = ''; "+e+" return $output;")}catch(t){throw console.debug("var $output = ''; "+e+" return $output;"),t}},fetch:function(e){}}),WCF.Template.callbacks=[],WCF.ToggleOptions=Class.extend({_element:null,
+_showItems:[],_hideItems:[],_callback:null,init:function(e,t,i,n){this._element=$("#"+e),this._showItems=t,this._hideItems=i,void 0!==n&&(this._callback=n),this._element.click($.proxy(this._toggle,this)),this._toggle()},_toggle:function(){if(this._element.prop("checked")){for(var e=0,t=this._showItems.length;t>e;e++){var i=this._showItems[e];$("#"+i).show()}for(var e=0,t=this._hideItems.length;t>e;e++){var i=this._hideItems[e];$("#"+i).hide()}null!==this._callback&&this._callback()}}}),WCF.Collapsible={},WCF.Collapsible.Simple={init:function(){$(".jsCollapsible").each($.proxy(function(e,t){this._initButton(t)},this))},_initButton:function(e){var t=$(e),i=t.data("isOpen");i||$("#"+t.data("collapsibleContainer")).hide(),t.click($.proxy(this._toggle,this))},_toggle:function(e){var t=$(e.currentTarget),i=t.data("isOpen"),n=$("#"+$.wcfEscapeID(t.data("collapsibleContainer")));return i?(n.stop().wcfBlindOut("vertical",$.proxy(function(){this._toggleImage(t)},this)),i=!1):(n.stop().wcfBlindIn("vertical",$.proxy(function(){this._toggleImage(t)},this)),i=!0),t.data("isOpen",i),e.stopPropagation(),!1},_toggleImage:function(e){var t=e.find("span.icon");e.data("isOpen")?t.removeClass("icon-chevron-right").addClass("icon-chevron-down"):t.removeClass("icon-chevron-down").addClass("icon-chevron-right")}},WCF.Collapsible.Remote=Class.extend({_className:"",_containers:{},_containerData:{},_proxy:null,init:function(e){this._className=e,this._proxy=new WCF.Action.Proxy({success:$.proxy(this._success,this)}),this._init(),WCF.DOMNodeInsertedHandler.addCallback("WCF.Collapsible.Remote",$.proxy(this._init,this))},_init:function(e){this._getContainers().each($.proxy(function(e,t){var i=$(t),n=i.wcfIdentify();void 0===this._containers[n]&&(this._containers[n]=i,this._initContainer(n))},this))},_initContainer:function(e){var t=this._getTarget(e),i=this._getButtonContainer(e),n=this._createButton(e,i);this._containerData[e]={button:n,buttonContainer:i,isOpen:this._containers[e].data("isOpen"),target:t},this._containers[e].data("isOpen")||$("#"+e).addClass("jsCollapsed")},_getContainers:function(){},_getTarget:function(e){},_getButtonContainer:function(e){},_createButton:function(e,t){var i=this._containers[e].data("isOpen"),n=$('<span class="collapsibleButton jsTooltip pointer icon icon16 icon-'+(i?"chevron-down":"chevron-right")+'" title="'+WCF.Language.get("wcf.global.button.collapsible")+'">').prependTo(t);return n.data("containerID",e).click($.proxy(this._toggleContainer,this)),n},_toggleContainer:function(e){var t=$(e.currentTarget),i=t.data("containerID"),n=this._containerData[i].isOpen,s=n?"open":"close",a=n?"close":"open";this._proxy.setOption("data",{actionName:"loadContainer",className:this._className,interfaceName:"wcf\\data\\ILoadableContainerAction",objectIDs:[this._getObjectID(i)],parameters:$.extend(!0,{containerID:i,currentState:s,newState:a},this._getAdditionalParameters(i))}),this._proxy.sendRequest(),$("#"+i).toggleClass("jsCollapsed")},_exchangeIcon:function(e,t){t=t||"spinner",e.removeClass("icon-chevron-down icon-chevron-right icon-spinner").addClass("icon-"+t)},_getObjectID:function(e){return $("#"+e).data("objectID")},_getAdditionalParameters:function(e){return{}},_updateContent:function(e,t,i){this._containerData[e].target.html(t)},_success:function(e,t,i){if(e.returnValues.containerID){var n=e.returnValues.containerID;if(this._containers[n]){this._containerData[n].isOpen=e.returnValues.isOpen?!0:!1;var s=e.returnValues.isOpen?"open":"close";this._updateContent(n,$.trim(e.returnValues.content),s),this._exchangeIcon(this._containerData[n].button,e.returnValues.isOpen?"chevron-down":"chevron-right")}}}}),WCF.Collapsible.SimpleRemote=WCF.Collapsible.Remote.extend({init:function(e){this._super(e),this._proxy=new WCF.Action.Proxy({showLoadingOverlay:!1})},_initContainer:function(e){this._super(e),this._containerData[e].isOpen||(this._containerData[e].target.hide(),this._exchangeIcon(this._containerData[e].button,"chevron-right"))},_toggleContainer:function(e){var t=$(e.currentTarget),i=t.data("containerID"),n=this._containerData[i].isOpen,s=n?"open":"close",a=n?"close":"open";this._proxy.setOption("data",{actionName:"toggleContainer",className:this._className,interfaceName:"wcf\\data\\IToggleContainerAction",objectIDs:[this._getObjectID(i)],parameters:$.extend(!0,{containerID:i,currentState:s,newState:a},this._getAdditionalParameters(i))}),this._proxy.sendRequest(),this._exchangeIcon(this._containerData[i].button,"open"===a?"chevron-down":"chevron-right"),"open"===a?this._containerData[i].target.show():this._containerData[i].target.hide(),$("#"+i).toggleClass("jsCollapsed"),this._containerData[i].isOpen="open"===a?!0:!1}}),WCF.User={userID:0,username:"",init:function(e,t){this.userID=e,this.username=t}},WCF.Effect={},WCF.Effect.Scroll=Class.extend({scrollTo:function(e,t,i){if(!e.length)return!0;var n=e.getOffsets("offset").top,s=$(document).height(),a=$(window).height();return n>s-a&&(n=s-a,0>n&&(n=0)),i===!0?$("html,body").scrollTop(n):$("html,body").animate({scrollTop:n},400,function(e,t,i,n,s){return-n*((t=t/s-1)*t*t*t-1)+i}),!1}}),WCF.Effect.SmoothScroll=WCF.Effect.Scroll.extend({init:function(){var e=this;$(document).on("click","a[href$=#top],a[href$=#bottom]",function(){var t=$(this.hash);return e.scrollTo(t,!0),!1})}}),WCF.CloseOverlayHandler={addCallback:function(e,t){require(["Ui/CloseOverlay"],function(i){i.add(e,t)})},removeCallback:function(e){require(["Ui/CloseOverlay"],function(t){t.remove(e)})},forceExecution:function(){require(["Ui/CloseOverlay"],function(e){e.execute()})}},WCF.DOMNodeInsertedHandler={addCallback:function(e,t){require(["WoltLab/WCF/Dom/Change/Listener"],function(e){e.add("__legacy__",t)})},_executeCallbacks:function(){require(["WoltLab/WCF/Dom/Change/Listener"],function(e){e.trigger()})},execute:function(){this._executeCallbacks()}},WCF.DOMNodeRemovedHandler={_callbacks:new WCF.Dictionary,_isExecuting:!1,_isListening:!1,addCallback:function(e,t){return this._bindListener(),this._callbacks.isset(e)?(console.debug("[WCF.DOMNodeRemovedHandler] identifier '"+e+"' is already bound to a callback"),!1):void this._callbacks.add(e,t)},removeCallback:function(e){this._callbacks.isset(e)&&this._callbacks.remove(e)},_bindListener:function(){if(!this._isListening){if(window.MutationObserver){var e=new MutationObserver(function(e){var t=!1;e.forEach(function(e){e.removedNodes.length&&(t=!0)}.bind(this)),t&&this._executeCallbacks({})}.bind(this));e.observe(document.body,{childList:!0,subtree:!0})}else $(document).bind("DOMNodeRemoved",$.proxy(this._executeCallbacks,this));this._isListening=!0}},_executeCallbacks:function(e){this._isExecuting||(this._isExecuting=!0,this._callbacks.each(function(t){t.value(e)}),this._isExecuting=!1)}},WCF.Option={},WCF.Option.Handler=Class.extend({init:function(){this._initOptions(),WCF.DOMNodeInsertedHandler.addCallback("WCF.Option.Handler",$.proxy(this._initOptions,this))},_initOptions:function(){$(".jsEnablesOptions").each($.proxy(this._initOption,this))},_initOption:function(e,t){this._change(t),$(t).change($.proxy(this._handleChange,this))},_handleChange:function(e){this._change($(e.target))},_change:function(option){option=$(option);var $disableOptions=eval(option.data("disableOptions")),$enableOptions=eval(option.data("enableOptions"));switch(option.getTagName()){case"input":switch(option.attr("type")){case"checkbox":this._execute(option.prop("checked"),$disableOptions,$enableOptions);break;case"radio":if(option.prop("checked")){var isActive=!0;option.data("isBoolean")&&1!=option.val()&&(isActive=!1),this._execute(isActive,$disableOptions,$enableOptions)}}break;case"select":var $value=option.val(),$disableOptions=$enableOptions=[];if(option.data("disableOptions").length>0)for(var $index in option.data("disableOptions")){var $item=option.data("disableOptions")[$index];$item.value==$value&&$disableOptions.push($item.option)}if(option.data("enableOptions").length>0)for(var $index in option.data("enableOptions")){var $item=option.data("enableOptions")[$index];$item.value==$value&&$enableOptions.push($item.option)}this._execute(!0,$disableOptions,$enableOptions)}},_execute:function(e,t,i){if(t.length>0)for(var n=0,s=t.length;s>n;n++){var a=t[n];if($.wcfIsset(a))this._enableOption(a,!e);else{var o=$("."+a+"Input");o.length&&this._enableOptions(o.children("dd").find("input, select, textarea"),!e)}}if(i.length>0)for(var n=0,s=i.length;s>n;n++){var a=i[n];if($.wcfIsset(a))this._enableOption(a,e);else{var o=$("."+a+"Input");o.length&&this._enableOptions(o.children("dd").find("input, select, textarea"),e)}}},_enableOption:function(e,t){this._enableOptionElement($("#"+$.wcfEscapeID(e)),t)},_enableOptionElement:function(e,t){e=$(e);var i=e.getTagName();"select"==i||"input"==i&&("checkbox"==e.attr("type")||"file"==e.attr("type")||"radio"==e.attr("type"))?t?e.enable():e.disable():t?e.removeAttr("readonly"):e.attr("readonly",!0),t?e.closest("dl").removeClass("disabled"):e.closest("dl").addClass("disabled")},_enableOptions:function(e,t){for(var i=0,n=e.length;n>i;i++)this._enableOptionElement(e[i],t)}}),WCF.PageVisibilityHandler={_callbacks:new WCF.Dictionary,_isListening:!1,_hiddenFieldName:"",addCallback:function(e,t){return this._bindListener(),this._callbacks.isset(e)?(console.debug("[WCF.PageVisibilityHandler] identifier '"+e+"' is already bound to a callback"),!1):void this._callbacks.add(e,t)},removeCallback:function(e){this._callbacks.isset(e)&&this._callbacks.remove(e)},_bindListener:function(){if(!this._isListening){var e=null;"undefined"!=typeof document.hidden?(this._hiddenFieldName="hidden",e="visibilitychange"):"undefined"!=typeof document.mozHidden?(this._hiddenFieldName="mozHidden",e="mozvisibilitychange"):"undefined"!=typeof document.msHidden?(this._hiddenFieldName="msHidden",e="msvisibilitychange"):"undefined"!=typeof document.webkitHidden&&(this._hiddenFieldName="webkitHidden",e="webkitvisibilitychange"),null===e?console.debug("[WCF.PageVisibilityHandler] This browser does not support the page visibility API."):$(document).on(e,$.proxy(this._executeCallbacks,this)),this._isListening=!0}},_executeCallbacks:function(e){if(!this._isExecuting){this._isExecuting=!0;var t=document[this._hiddenFieldName];this._callbacks.each(function(e){e.value(t)}),this._isExecuting=!1}}},WCF.Table={},WCF.Table.EmptyTableHandler=Class.extend({_options:{},_rowClassName:"",init:function(e,t,i){this._rowClassName=t,this._tableContainer=e,this._options=$.extend(!0,{emptyMessage:null,messageType:"info",refreshPage:!1,updatePageNumber:!1},i||{}),WCF.DOMNodeRemovedHandler.addCallback("WCF.Table.EmptyTableHandler."+t,$.proxy(this._remove,this))},_getRowCount:function(){return this._tableContainer.find("table tr."+this._rowClassName).length},_handleEmptyTable:function(){if(this._options.emptyMessage)this._tableContainer.replaceWith($("<p />").addClass(this._options.messageType).text(this._options.emptyMessage));else if(this._options.refreshPage)if(this._options.updatePageNumber){var e=window.location.href.match(/(\?|&)pageNo=(\d+)/g);if(e){var t=e[e.length-1].match(/\d+/g);this._options.updatePageNumber>0?t++:t--,window.location=window.location.href.replace(e[e.length-1],e[e.length-1][0]+"pageNo="+t)}}else window.location.reload();else this._tableContainer.remove()},_remove:function(e){if($.getLength(e)){var t=$(e.target);if(t.hasClass(this._rowClassName)){var i=t.parents("tbody:eq(0)");1==i.children("tr").length&&this._handleEmptyTable()}}else this._getRowCount()||this._handleEmptyTable()}}),WCF.Search={},WCF.Search.Base=Class.extend({_callback:null,_caretAt:-1,_className:"",_commaSeperated:!1,_delay:0,_excludedSearchValues:[],_itemCount:0,_itemIndex:-1,_list:null,_oldSearchString:[],_proxy:null,_searchInput:null,_triggerLength:3,_timer:null,init:function(e,t,i,n,s){return null===t||void 0===t||$.isFunction(t)?(this._callback=t?t:null,this._caretAt=-1,this._delay=0,this._excludedSearchValues=[],i&&(this._excludedSearchValues=i),this._searchInput=$(e),this._searchInput.length?(this._searchInput.keydown($.proxy(this._keyDown,this)).keyup($.proxy(this._keyUp,this)).wrap('<span class="dropdown" />'),$.browser.mozilla&&$.browser.touch&&this._searchInput.on("input",$.proxy(this._keyUp,this)),this._list=$('<ul class="dropdownMenu" />').insertAfter(this._searchInput),this._commaSeperated=n?!0:!1,this._oldSearchString=[],this._itemCount=0,this._itemIndex=-1,this._proxy=new WCF.Action.Proxy({showLoadingOverlay:s!==!0?!1:!0,success:$.proxy(this._success,this),autoAbortPrevious:!0}),this._searchInput.is("input")&&this._searchInput.attr("autocomplete","off"),this._searchInput.blur($.proxy(this._blur,this)),void WCF.Dropdown.initDropdownFragment(this._searchInput.parent(),this._list)):void console.debug("[WCF.Search.Base] Selector '"+e+"' for search input is invalid, aborting.")):void console.debug("[WCF.Search.Base] The given callback is invalid, aborting.")},_blur:function(){var e=this;new WCF.PeriodicalExecuter(function(t){e._list.is(":visible")&&e._clearList(!1),t.stop()},250)},_keyDown:function(e){if(e.which===$.ui.keyCode.ENTER){var t=this._searchInput.parents(".dropdown");t.data("disableAutoFocus")?-1!==this._itemIndex&&e.preventDefault():(t.data("preventSubmit")||-1!==this._itemIndex)&&e.preventDefault()}},_keyUp:function(e){switch(e.which){case 37:case 39:return;case 38:return void this._selectPreviousItem();case 40:return void this._selectNextItem();case 13:return this._selectElement(e)}var t=this._getSearchString(e);if(""===t)this._clearList(!1);else if(t.length>=this._triggerLength){var i={data:{excludedSearchValues:this._excludedSearchValues,searchString:t}};if(this._delay){null!==this._timer&&this._timer.stop();var n=this;this._timer=new WCF.PeriodicalExecuter(function(){n._queryServer(i),n._timer.stop(),n._timer=null},this._delay)}else this._queryServer(i)}else this._clearList(!1)},_queryServer:function(e){this._searchInput.parents(".searchBar").addClass("loading"),this._proxy.setOption("data",{actionName:"getSearchResultList",className:this._className,interfaceName:"wcf\\data\\ISearchAction",parameters:this._getParameters(e)}),this._proxy.sendRequest()},setDelay:function(e){this._delay=e},_selectNextItem:function(){0!==this._itemCount&&(this._itemIndex++,this._itemIndex===this._itemCount&&(this._itemIndex=0),this._highlightSelectedElement())},_selectPreviousItem:function(){0!==this._itemCount&&(this._itemIndex--,-1===this._itemIndex&&(this._itemIndex=this._itemCount-1),this._highlightSelectedElement())},_highlightSelectedElement:function(){this._list.find("li").removeClass("dropdownNavigationItem"),this._list.find("li:eq("+this._itemIndex+")").addClass("dropdownNavigationItem")},_selectElement:function(e){return 0===this._itemCount?!0:(this._list.find("li.dropdownNavigationItem").trigger("click"),!1)},_getSearchString:function(e){var t=$.trim(this._searchInput.val());if(this._commaSeperated){var i=e.keyCode||e.which;if(i==$.ui.keyCode.COMMA)return"";for(var n=t.split(","),s=n.length,a=0;s>a;a++)n[a]=$.trim(n[a]);for(var a=0;s>a;a++){var o=n[a];if(!this._oldSearchString[a]){t=o;break}if(o!=this._oldSearchString[a]){t=o,this._caretAt=a;break}}this._oldSearchString=n}return t},_getParameters:function(e){return e},_success:function(e,t,i){if(this._clearList(!1),this._searchInput.parents(".searchBar").removeClass("loading"),$.getLength(e.returnValues))for(var n in e.returnValues){var s=e.returnValues[n];this._createListItem(s)}else if(!this._handleEmptyResult())return;WCF.CloseOverlayHandler.addCallback("WCF.Search.Base",$.proxy(function(){this._clearList()},this));var a=this._searchInput.parents(".dropdown").wcfIdentify();WCF.Dropdown.getDropdownMenu(a).hasClass("dropdownOpen")||WCF.Dropdown.toggleDropdown(a),this._itemIndex=-1,WCF.Dropdown.getDropdown(a).data("disableAutoFocus")||this._selectNextItem()},_handleEmptyResult:function(){return!1},_createListItem:function(e){var t=$("<li><span>"+WCF.String.escapeHTML(e.label)+"</span></li>").appendTo(this._list);return t.data("objectID",e.objectID).data("label",e.label).click($.proxy(this._executeCallback,this)),this._itemCount++,t},_executeCallback:function(e){var t=!1,i=$(e.currentTarget);if(this._commaSeperated){var n=i.data("label");this._oldSearchString[this._caretAt]=n,this._searchInput.val(this._oldSearchString.join(", ")),$.browser.webkit&&this._searchInput.css({display:"block"});var s=this._searchInput.val().toLowerCase().indexOf(n.toLowerCase())+n.length;this._searchInput.focus().setCaret(s)}else null===this._callback?this._searchInput.val(i.data("label")):t=this._callback(i.data())===!0?!0:!1;this._clearList(t)},_clearList:function(e){e&&!this._commaSeperated&&this._searchInput.val(""),WCF.Dropdown.getDropdown(this._searchInput.parents(".dropdown").wcfIdentify()).removeClass("dropdownOpen"),WCF.Dropdown.getDropdownMenu(this._searchInput.parents(".dropdown").wcfIdentify()).removeClass("dropdownOpen"),this._list.end().empty(),WCF.CloseOverlayHandler.removeCallback("WCF.Search.Base"),this._itemCount=0,this._itemIndex=-1},addExcludedSearchValue:function(e){WCF.inArray(e,this._excludedSearchValues)||this._excludedSearchValues.push(e)},removeExcludedSearchValue:function(e){var t=$.inArray(e,this._excludedSearchValues);-1!=t&&this._excludedSearchValues.splice(t,1)}}),WCF.Search.User=WCF.Search.Base.extend({_className:"wcf\\data\\user\\UserAction",_includeUserGroups:!1,init:function(e,t,i,n,s){this._includeUserGroups=i,this._super(e,t,n,s)},_getParameters:function(e){return e.data.includeUserGroups=this._includeUserGroups?1:0,e},_createListItem:function(e){var t=this._super(e),i=null;if(e.icon?i=$(e.icon):this._includeUserGroups&&"group"===e.type&&(i=$('<span class="icon icon16 icon-group" />')),i){var n=t.find("span").detach(),s=$("<div />").addClass("box16").appendTo(t);s.append(i),s.append($("<div />").append(n))}return t.data("type",e.type),t}}),WCF.System={},WCF.System.Dependency={},WCF.System.Dependency.Manager={_callbacks:{},_loaded:[],_setupCallbacks:{},register:function(e,t){return $.isFunction(t)?void(WCF.inArray(e,this._loaded)?setTimeout(function(){t()},1):(this._callbacks[e]||(this._callbacks[e]=[]),this._callbacks[e].push(t))):void console.debug("[WCF.System.Dependency.Manager] Callback for identifier '"+e+"' is invalid, aborting.")},setup:function(e,t){return $.isFunction(t)?(this._setupCallbacks[e]||(this._setupCallbacks[e]=[]),void this._setupCallbacks[e].push(t)):void console.debug("[WCF.System.Dependency.Manager] Setup callback for identifier '"+e+"' is invalid, aborting.")},invoke:function(e){if(this._setupCallbacks[e]){for(var t=0,i=this._setupCallbacks[e].length;i>t;t++)this._setupCallbacks[e][t]();delete this._setupCallbacks[e]}if(this._loaded.push(e),this._callbacks[e]){for(var t=0,i=this._callbacks[e].length;i>t;t++)this._callbacks[e][t]();delete this._callbacks[e]}}},WCF.System.FlexibleMenu={init:function(){},registerMenu:function(e){require(["WoltLab/WCF/Ui/FlexibleMenu"],function(t){t.register(e)})},rebuild:function(e){require(["WoltLab/WCF/Ui/FlexibleMenu"],function(t){t.rebuild(e)})}},WCF.System.Mobile={},WCF.System.ObjectStore={_objects:{},add:function(e,t){void 0===this._objects[e]&&(this._objects[e]=[]),this._objects[e].push(t)},invoke:function(e,t){if(this._objects[e])for(var i=0;i<this._objects[e].length;i++)t(this._objects[e][i])}},WCF.System.Captcha={_captchas:{},addCallback:function(e,t){return $.isFunction(t)?void(this._captchas[e]=t):void console.debug("[WCF.System.Captcha] Given callback is no function")},getData:function(e){return void 0===this._captchas[e]?void console.debug('[WCF.System.Captcha] Unknow captcha id "'+e+'"'):this._captchas[e]()},removeCallback:function(e){delete this._captchas[e]}},WCF.System.Page={},WCF.System.Page.Multiple=Class.extend({_cache:{},_options:{},_pageNo:1,_pages:0,_previousPageNo:0,init:function(e){this._options=$.extend({container:null,pagination:null,loadItems:null},e),this._cache={},this._pageNo=1,this._pages=0,this._previousPageNo=0,this._pagination.data("pages")&&this._pagination.wcfPages({maxPage:this._pagination.data("pages")}).on("wcfpagesswitched",$.proxy(this._showPage,this))},_showPage:function(e,t){t&&t.activePage&&(t.template||(this._previousPageNo=this._pageNo),this._pageNo=t.activePage),this._cache[this._pageNo]||t&&t.template?(this._cache[this._previousPageNo]=this._list.children().detach(),t&&t.template?this._list.html(t.template):this._list.append(this._cache[this._pageNo])):this._options.loadItems()},showPage:function(e,t){this._showPage(null,{activePage:e,template:t})},getPageNo:function(){return this._pageNo}}),WCF.System.Notification=Class.extend({_callback:null,_cssClassNames:"",_message:"",_overlay:null,_timer:null,init:function(e,t){this._cssClassNames=t||"success",this._message=e||WCF.Language.get("wcf.global.success"),this._overlay=$("#systemNotification"),this._timer=null,this._overlay.length||(this._overlay=$('<div id="systemNotification"><p></p></div>').hide().appendTo(document.body),this._overlay.children("p").click(function(){this._hide()}.bind(this)))},show:function(e,t,i,n){t=parseInt(t),t||(t=2e3),e&&$.isFunction(e)&&(this._callback=e),this._overlay.children("p").html(i||this._message),this._overlay.children("p").removeClass().addClass(n||this._cssClassNames),this._timer=new WCF.PeriodicalExecuter($.proxy(this._hide,this),t),this._overlay.wcfFadeIn(void 0,300)},_hide:function(e){e=e?e:this._timer,null!==this._callback&&this._callback(),this._overlay.wcfFadeOut(void 0,300),e.stop(),e=null}}),WCF.System.Confirmation={show:function(e,t,i,n){require(["Ui/Confirmation"],function(s){s.show({legacyCallback:t,message:e,parameters:i,template:"object"==typeof n?n.html():""})})}},WCF.System.DisableScrolling={_depth:0,_oldOverflow:null,disable:function(){$.browser.touch||(0===this._depth&&(this._oldOverflow=$(document.body).css("overflow"),$(document.body).css("overflow","hidden")),this._depth++)},enable:function(){0!==this._depth&&(this._depth--,0===this._depth&&$(document.body).css("overflow",this._oldOverflow))}},WCF.System.DisableZoom={_depth:0,_oldViewportSettings:null,disable:function(){if(0===this._depth){var e=$("meta[name=viewport]");this._oldViewportSettings=e.attr("content"),e.attr("content",this._oldViewportSettings+",maximum-scale=1")}this._depth++},enable:function(){0!==this._depth&&(this._depth--,0===this._depth&&$("meta[name=viewport]").attr("content",this._oldViewportSettings))}},WCF.System.Fullscreen={enterFullscreen:function(e){e.requestFullscreen?e.requestFullscreen():e.msRequestFullscreen?e.msRequestFullscreen():e.mozRequestFullScreen?e.mozRequestFullScreen():e.webkitRequestFullscreen&&e.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)},toggleFullscreen:function(e){null===this.getFullscreenElement()?this.enterFullscreen(e):this.exitFullscreen()},getFullscreenElement:function(){return document.fullscreenElement?document.fullscreenElement:document.mozFullScreenElement?document.mozFullScreenElement:document.webkitFullscreenElement?document.webkitFullscreenElement:document.msFullscreenElement?document.msFullscreenElement:null},exitFullscreen:function(){document.exitFullscreen?document.exitFullscreen():document.msExitFullscreen?document.msExitFullscreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitExitFullscreen&&document.webkitExitFullscreen()},isSupported:function(){return document.documentElement.requestFullscreen||document.documentElement.msRequestFullscreen||document.documentElement.mozRequestFullScreen||document.documentElement.webkitRequestFullscreen?!0:!1}},WCF.System.PageNavigation={_button:null,_description:null,_dialog:null,_elementID:"",_elements:{},_pageNo:null,init:function(e,t){var i=$(e);if(i.length)return t=t||null,null===t||$.isFunction(t)?void this._initElements(i,t):void console.debug("[WCF.System.PageNavigation] Callback for selector '"+e+"' is invalid, aborting.")},_initElements:function(e,t){var i=this;e.each(function(e,t){var n=$(t),s=n.wcfIdentify();void 0===i._elements[s]&&(i._elements[s]=n,n.find("li.jumpTo").data("elementID",s).click($.proxy(i._click,i)))}).data("callback",t)},_click:function(e){if(this._elementID=$(e.currentTarget).data("elementID"),null===this._dialog){this._dialog=$('<div id="pageNavigationOverlay" />').hide().appendTo(document.body);var t=$("<fieldset><legend>"+WCF.Language.get("wcf.global.page.jumpTo")+"</legend></fieldset>").appendTo(this._dialog);$('<dl><dt><label for="jsPageNavigationPageNo">'+WCF.Language.get("wcf.global.page.jumpTo")+"</label></dt><dd></dd></dl>").appendTo(t),this._pageNo=$('<input type="number" id="jsPageNavigationPageNo" value="1" min="1" max="1" class="tiny" />').keyup($.proxy(this._keyUp,this)).appendTo(t.find("dd")),this._description=$("<small></small>").insertAfter(this._pageNo);var i=$('<div class="formSubmit" />').appendTo(this._dialog);this._button=$('<button class="buttonPrimary">'+WCF.Language.get("wcf.global.button.submit")+"</button>").click($.proxy(this._submit,this)).appendTo(i)}this._button.enable(),this._description.html(WCF.Language.get("wcf.global.page.jumpTo.description").replace(/#pages#/,this._elements[this._elementID].data("pages"))),this._pageNo.val(this._elements[this._elementID].data("pages")).attr("max",this._elements[this._elementID].data("pages")),this._dialog.wcfDialog({title:WCF.Language.get("wcf.global.page.pageNavigation")})},_keyUp:function(e){if(e.which==$.ui.keyCode.ENTER&&!this._button.prop("disabled"))return void this._submit();var t=parseInt(this._pageNo.val())||0;1>t||t>this._pageNo.attr("max")?this._button.disable():this._button.enable()},_submit:function(){var e=this._elements[this._elementID];if(null===e.data("callback")){var t=e.data("link").replace(/pageNo=%d/,"pageNo="+this._pageNo.val());window.location=t}else e.data("callback")(this._pageNo.val()),this._dialog.wcfDialog("close")}},WCF.System.KeepAlive=Class.extend({init:function(e){new WCF.PeriodicalExecuter(function(e){new WCF.Action.Proxy({autoSend:!0,data:{actionName:"keepAlive",className:"wcf\\data\\session\\SessionAction"},failure:function(){e.stop()},showLoadingOverlay:!1,success:function(e){WCF.System.PushNotification.executeCallbacks(e)},suppressErrors:!0})},1e3*e)}}),WCF.System.PushNotification={_callbacks:{},addCallback:function(e,t){void 0===this._callbacks[e]&&(this._callbacks[e]=[]),this._callbacks[e].push(t)},executeCallbacks:function(e){for(var t in e.returnValues)if(void 0!==this._callbacks[t])for(var i=0;i<this._callbacks[t].length;i++)this._callbacks[t][i](e.returnValues[t])}},WCF.System.Event={_listeners:{},addListener:function(e,t,i){"undefined"==typeof this._listeners[e]&&(this._listeners[e]={}),"undefined"==typeof this._listeners[e][t]&&(this._listeners[e][t]=[]);var n=WCF.getUUID();return this._listeners[e][t].push({callback:i,uuid:n}),n},removeListener:function(e,t,i){if(this._listeners[e]&&this._listeners[e][t])for(var n=0;n<this._listeners[e][t].length;n++)if(this._listeners[e][t][n].uuid==i)return this._listeners[e][t].splice(n,1),!0;return!1},removeAllListeners:function(e,t){return this._listeners[e]&&this._listeners[e][t]?(delete this._listeners[e][t],!0):!1},fireEvent:function(e,t,i){if(i=i||{},this._listeners[e]&&this._listeners[e][t])for(var n=0;n<this._listeners[e][t].length;n++)this._listeners[e][t][n].callback(i)}},WCF.System.Worker=Class.extend({_aborted:!1,_actionName:"",_callback:null,_className:"",_dialog:null,_proxy:null,_title:"",init:function(e,t,i,n,s){this._aborted=!1,this._actionName=e,this._callback=s||null,this._className=t,this._dialog=null,this._proxy=new WCF.Action.Proxy({autoSend:!0,data:{actionName:this._actionName,className:this._className,parameters:n||{}},showLoadingOverlay:!1,success:$.proxy(this._success,this)}),this._title=i},_success:function(e){if(null===this._dialog&&(this._dialog=$("<div />").hide().appendTo(document.body),this._dialog.wcfDialog({closeConfirmMessage:WCF.Language.get("wcf.worker.abort.confirmMessage"),closeViaModal:!1,onClose:$.proxy(function(){this._aborted=!0,this._proxy.abortPrevious(),window.location.reload()},this),title:this._title})),!this._aborted)if(e.returnValues.template&&this._dialog.html(e.returnValues.template),this._dialog.find("progress").attr("value",e.returnValues.progress).text(e.returnValues.progress+"%").next("span").text(e.returnValues.progress+"%"),e.returnValues.progress<100){var t=e.returnValues.parameters||{};t.loopCount=e.returnValues.loopCount,this._proxy.setOption("data",{actionName:this._actionName,className:this._className,parameters:t}),this._proxy.sendRequest()}else if(null!==this._callback)this._callback(this,e);else{this._dialog.find(".fa-spinner").removeClass("fa-spinner").addClass("fa-check green"),this._dialog.find(".boxHeadline h1").text(WCF.Language.get("wcf.global.worker.completed"));var i=$('<div class="formSubmit" />').appendTo(this._dialog);$('<button class="buttonPrimary">'+WCF.Language.get("wcf.global.button.next")+"</button>").appendTo(i).focus().click(function(){e.returnValues.redirectURL?window.location=e.returnValues.redirectURL:window.location.reload()}),this._dialog.wcfDialog("render")}}}),WCF.InlineEditor=Class.extend({_callbacks:[],_dropdowns:{},_elements:{},_notification:null,_options:[],_proxy:null,_triggerElements:{},_updateData:[],init:function(e){var t=$(e);if(t.length){this._setOptions();for(var i="",n=0,s=this._options.length;s>n;n++)if(this._options[n].isQuickOption){i=this._options[n].optionName;break}var a=this;t.each(function(e,t){var n=$(t),s=n.wcfIdentify(),o=a._getTriggerElement(n);null!==o&&1===o.length&&(o.click($.proxy(a._show,a)).data("elementID",s),i&&o.disableSelection().data("optionName",i).dblclick($.proxy(a._click,a)),a._elements[s]=n)}),this._proxy=new WCF.Action.Proxy({success:$.proxy(this._success,this)}),WCF.CloseOverlayHandler.addCallback("WCF.InlineEditor",$.proxy(this._closeAll,this)),this._notification=new WCF.System.Notification(WCF.Language.get("wcf.global.success"),"success")}},_closeAll:function(){for(var e in this._elements)this._hide(e)},_setOptions:function(){this._options=[]},registerCallback:function(e){$.isFunction(e)&&this._callbacks.push(e)},_getTriggerElement:function(e){return null},_show:function(e){e.preventDefault();var t=$(e.currentTarget).data("elementID"),i=null;this._dropdowns[t]||(this._triggerElements[t]=i=this._getTriggerElement(this._elements[t]).addClass("dropdownToggle").wrap('<span class="dropdown" />'),this._dropdowns[t]=$('<ul class="dropdownMenu" />').insertAfter(i)),this._dropdowns[t].empty();for(var n=!1,s="",a=0,o=this._options.length;o>a;a++){var r=this._options[a];if("divider"===r.optionName)""!==s&&"divider"!==s&&($('<li class="dropdownDivider" />').appendTo(this._dropdowns[t]),s=r.optionName);else if(this._validate(t,r.optionName)||this._validateCallbacks(t,r.optionName)){var l=$("<li><span>"+r.label+"</span></li>").appendTo(this._dropdowns[t]);l.data("elementID",t).data("optionName",r.optionName).data("isQuickOption",r.isQuickOption?!0:!1).click($.proxy(this._click,this)),n=!0,s=r.optionName}}if(n){var c=this._dropdowns[t].children().last();c.hasClass("dropdownDivider")&&c.remove();var h=null,d=0;if(this._dropdowns[t].children().each(function(e,t){var i=$(t);i.hasClass("dropdownDivider")||(i.data("isQuickOption")?h=i:d++)}),!d)return h.trigger("click"),this._triggerElements[t]&&WCF.Dropdown.close(this._triggerElements[t].parents(".dropdown").wcfIdentify()),!1}return null!==i&&WCF.Dropdown.initDropdown(i,!0),!1},_validate:function(e,t){return!1},_validateCallbacks:function(e,t){var i=this._callbacks.length;if(i)for(var n=0;i>n;n++)if(this._callbacks[n].validate(this._elements[e],t))return!0;return!1},_success:function(e,t,i){var n=this._updateData.length;n&&(this._updateState(e),this._updateData=[])},_updateState:function(e){},_click:function(e){var t=$(e.currentTarget),i=t.data("elementID"),n=t.data("optionName");this._execute(i,n)||this._executeCallback(i,n),this._hide(i)},_execute:function(e,t){return!1},_executeCallback:function(e,t){var i=this._callbacks.length;if(i)for(var n=0;i>n;n++)if(this._callbacks[n].execute(this._elements[e],t))return!0;
 return!1},_hide:function(e){this._dropdowns[e]&&this._dropdowns[e].empty().removeClass("dropdownOpen")}}),WCF.Upload=Class.extend({_name:"__files[]",_buttonSelector:null,_fileListSelector:null,_fileUpload:null,_className:"",_iframe:null,_internalFileID:0,_options:{},_uploadMatrix:[],_supportsAJAXUpload:!0,_overlay:null,init:function(e,t,i,n){this._buttonSelector=e,this._fileListSelector=t,this._className=i,this._internalFileID=0,this._options=$.extend(!0,{action:"upload",multiple:!1,url:"index.php/AJAXUpload/?t="+SECURITY_TOKEN+SID_ARG_2ND},n||{}),this._options.url=WCF.convertLegacyURL(this._options.url);var s=new XMLHttpRequest;this._supportsAJAXUpload=s&&"upload"in s&&"onprogress"in s.upload,this._createButton()},_createButton:function(){if(this._supportsAJAXUpload){this._fileUpload=$('<input type="file" name="'+this._name+'" '+(this._options.multiple?'multiple="true" ':"")+"/>"),this._fileUpload.change($.proxy(this._upload,this));var e=$('<p class="button uploadButton"><span>'+WCF.Language.get("wcf.global.button.upload")+"</span></p>");e.prepend(this._fileUpload)}else{var e=$('<p class="button uploadFallbackButton"><span>'+WCF.Language.get("wcf.global.button.upload")+"</span></p>");e.click($.proxy(this._showOverlay,this))}this._insertButton(e)},_insertButton:function(e){this._buttonSelector.prepend(e)},_removeButton:function(){var e=".uploadButton";this._supportsAJAXUpload||(e=".uploadFallbackButton"),this._buttonSelector.find(e).remove()},_upload:function(e,t,i){var n=null,s=[];if(t)s.push(t);else if(i){var a="";switch(i.type){case"image/png":a=".png";break;case"image/jpeg":a=".jpg";break;case"image/gif":a=".gif"}s.push({name:"pasted-from-clipboard"+a})}else s=this._fileUpload.prop("files");if(s.length){var o=new FormData;if(n=this._createUploadMatrix(s),!this._uploadMatrix[n].length)return null;for(var r=0,l=s.length;l>r;r++)if(this._uploadMatrix[n][r]){var c=this._uploadMatrix[n][r].data("internalFileID");i?o.append("__files["+c+"]",i,s[r].name):o.append("__files["+c+"]",s[r])}o.append("actionName",this._options.action),o.append("className",this._className);var h=this._getParameters();for(var d in h)o.append("parameters["+d+"]",h[d]);var u=this;$.ajax({type:"POST",url:this._options.url,enctype:"multipart/form-data",data:o,contentType:!1,processData:!1,success:function(e,t,i){u._success(n,e)},error:$.proxy(this._error,this),xhr:function(){var e=$.ajaxSettings.xhr();return e&&e.upload.addEventListener("progress",function(e){u._progress(n,e)},!1),e}})}return n},_createUploadMatrix:function(e){if(e.length){var t=this._uploadMatrix.length;this._uploadMatrix[t]=[];for(var i=0,n=e.length;n>i;i++){var s=e[i],a=this._initFile(s);a.hasClass("uploadFailed")||(a.data("filename",s.name).data("internalFileID",this._internalFileID++),this._uploadMatrix[t][i]=a)}return t}return null},_success:function(e,t){},_error:function(e,t,i){},_progress:function(e,t){var i=Math.round(100*t.loaded/t.total);for(var n in this._uploadMatrix[e])this._uploadMatrix[e][n].find("progress").attr("value",i)},_getParameters:function(){return{}},_initFile:function(e){return $("<li>"+e.name+" ("+e.size+')<progress max="100" /></li>').appendTo(this._fileListSelector)},_showOverlay:function(){if(null===this._iframe&&(this._iframe=$('<iframe name="__fileUploadIFrame" />').hide().appendTo(document.body)),!this._overlay){this._overlay=$('<div><form enctype="multipart/form-data" method="post" action="'+this._options.url+'" target="__fileUploadIFrame" /></div>').hide().appendTo(document.body);var e=this._overlay.find("form");$('<dl class="wide"><dd><input type="file" id="__fileUpload" name="'+this._name+'" '+(this._options.multiple?'multiple="true" ':"")+"/></dd></dl>").appendTo(e),$('<div class="formSubmit"><input type="submit" value="Upload" accesskey="s" /></div></form>').appendTo(e),$('<input type="hidden" name="isFallback" value="1" />').appendTo(e),$('<input type="hidden" name="actionName" value="'+this._options.action+'" />').appendTo(e),$('<input type="hidden" name="className" value="'+this._className+'" />').appendTo(e);var t=this._getParameters();for(var i in t)$('<input type="hidden" name="'+i+'" value="'+t[i]+'" />').appendTo(e);e.submit($.proxy(function(){var e={name:this._getFilename(),size:""},t=this._createUploadMatrix([e]),i=this;this._iframe.data("loading",!0).off("load").load(function(){i._evaluateResponse(t)}),this._overlay.wcfDialog("close")},this))}this._overlay.wcfDialog({title:WCF.Language.get("wcf.global.button.upload")})},_evaluateResponse:function(e){var t=$.parseJSON(this._iframe.contents().find("pre").html());this._success(e,t)},_getFilename:function(){return $("#__fileUpload").val().split("\\").pop()}}),WCF.Upload.Parallel=WCF.Upload.extend({init:function(e,t,i,n){n=$.extend(!0,n||{},{multiple:!0}),this._super(e,t,i,n)},_upload:function(){for(var e=this._fileUpload.prop("files"),t=0,i=e.length;i>t;t++){var n=e[t],s=new FormData,a=this._createUploadMatrix(n);if(this._uploadMatrix[a].length){s.append("__files["+a+"]",n),s.append("actionName",this._options.action),s.append("className",this._className);var o=this._getParameters();for(var r in o)s.append("parameters["+r+"]",o[r]);this._sendRequest(a,s)}}},_sendRequest:function(e,t){var i=this;$.ajax({type:"POST",url:this._options.url,enctype:"multipart/form-data",data:t,contentType:!1,processData:!1,success:function(t,n,s){i._success(e,t)},error:$.proxy(this._error,this),xhr:function(){var t=$.ajaxSettings.xhr();return t&&t.upload.addEventListener("progress",function(t){i._progress(e,t)},!1),t}})},_createUploadMatrix:function(e){var t=this._initFile(e);return t.hasClass("uploadFailed")?null:(t.data("filename",e.name).data("internalFileID",this._internalFileID),this._uploadMatrix[this._internalFileID++]=t,this._internalFileID-1)},_success:function(e,t){},_progress:function(e,t){var i=Math.round(100*t.loaded/t.total);this._uploadMatrix[e].find("progress").attr("value",i)},_showOverlay:function(){if(null===this._iframe&&(this._iframe=$('<iframe name="__fileUploadIFrame" />').hide().appendTo(document.body)),!this._overlay){this._overlay=$('<div><form enctype="multipart/form-data" method="post" action="'+this._options.url+'" target="__fileUploadIFrame" /></div>').hide().appendTo(document.body);var e=this._overlay.find("form");$('<dl class="wide"><dd><input type="file" id="__fileUpload" name="'+this._name+'" '+(this._options.multiple?'multiple="true" ':"")+"/></dd></dl>").appendTo(e),$('<div class="formSubmit"><input type="submit" value="Upload" accesskey="s" /></div></form>').appendTo(e),$('<input type="hidden" name="isFallback" value="1" />').appendTo(e),$('<input type="hidden" name="actionName" value="'+this._options.action+'" />').appendTo(e),$('<input type="hidden" name="className" value="'+this._className+'" />').appendTo(e);var t=this._getParameters();for(var i in t)$('<input type="hidden" name="'+i+'" value="'+t[i]+'" />').appendTo(e);e.submit($.proxy(function(){var e={name:this._getFilename(),size:""},t=this._createUploadMatrix(e),i=this;this._iframe.data("loading",!0).off("load").load(function(){i._evaluateResponse(t)}),this._overlay.wcfDialog("close")},this))}this._overlay.wcfDialog({title:WCF.Language.get("wcf.global.button.upload")})},_evaluateResponse:function(e){var t=$.parseJSON(this._iframe.contents().find("pre").html());this._success(e,t)}}),WCF.Sortable={},WCF.Sortable.List=Class.extend({_additionalParameters:{},_className:"",_containerID:"",_container:null,_notification:null,_offset:0,_options:{},_proxy:null,_structure:{},init:function(e,t,i,n,s,a){if(this._additionalParameters=a||{},this._containerID=$.wcfEscapeID(e),this._container=$("#"+this._containerID),this._className=t,this._offset=i?i:0,this._proxy=new WCF.Action.Proxy({success:$.proxy(this._success,this)}),this._structure={},this._options=$.extend(!0,{axis:"y",connectWith:"#"+this._containerID+" .sortableList",disableNesting:"sortableNoNesting",doNotClear:!0,errorClass:"sortableInvalidTarget",forcePlaceholderSize:!0,helper:"clone",items:"li:not(.sortableNoSorting)",opacity:.6,placeholder:"sortablePlaceholder",tolerance:"pointer",toleranceElement:"> span"},n||{}),s?$("#"+this._containerID+" .sortableList").sortable(this._options):$("#"+this._containerID+" > .sortableList").nestedSortable(this._options),this._className){var o=this._container.find(".formSubmit");if(!o.length&&(o=this._container.next(".formSubmit"),!o.length))return void console.debug("[WCF.Sortable.Simple] Unable to find form submit for saving, aborting.");o.children('button[data-type="submit"]').click($.proxy(this._submit,this))}},_submit:function(){this._structure={},this._container.find(".sortableList").each($.proxy(function(e,t){var i=$(t),n=i.data("objectID");void 0!==n&&i.children(this._options.items).each($.proxy(function(e,t){var i=$(t).data("objectID");this._structure[n]||(this._structure[n]=[]),this._structure[n].push(i)},this))},this));var e=$.extend(!0,{data:{offset:this._offset,structure:this._structure}},this._additionalParameters);this._proxy.setOption("data",{actionName:"updatePosition",className:this._className,interfaceName:"wcf\\data\\ISortableAction",parameters:e}),this._proxy.sendRequest()},_success:function(e,t,i){null===this._notification&&(this._notification=new WCF.System.Notification(WCF.Language.get("wcf.global.success.edit"))),this._notification.show()}}),WCF.Popover=Class.extend({_activeElementID:"",_identifier:"",_popoverObj:null,init:function(e){$.browser.mobile||(this._activeElementID="",this._identifier=e,require(["WoltLab/WCF/Controller/Popover"],function(t){t.init({attributeName:"legacy",className:e,identifier:this._identifier,legacy:!0,loadCallback:this._legacyLoad.bind(this)})}.bind(this)))},_initContainers:function(){},_legacyLoad:function(e,t){this._activeElementID=e,this._popoverObj=t,this._loadContent()},_insertContent:function(e,t){this._popoverObj.setContent(this._identifier,e,t)}}),WCF.EditableItemList=Class.extend({_allowCustomInput:!1,_className:"",_data:{},_form:null,_itemList:null,_objectID:0,_objectTypeID:0,_search:null,_searchInput:null,init:function(e,t){if(this._itemList=$(e),this._searchInput=$(t),this._data={},!this._itemList.length||!this._searchInput.length)return void console.debug("[WCF.EditableItemList] Item list and/or search input do not exist, aborting.");if(this._objectID=this._getObjectID(),this._objectTypeID=this._getObjectTypeID(),this._itemList.find(".jsEditableItem").click($.proxy(this._click,this)),this._itemList.children("ul").length||$("<ul />").appendTo(this._itemList),this._itemList=this._itemList.children("ul"),this._form=this._itemList.parents("form").submit($.proxy(this._submit,this)),this._allowCustomInput){var i=this;this._searchInput.keydown($.proxy(this._keyDown,this)).keypress($.proxy(this._keyPress,this)).on("paste",function(){setTimeout(function(){i._onPaste()},100)})}this._searchInput.parents(".dropdown").data("preventSubmit",!0)},_keyDown:function(e){return null===e?this._keyPress(null):!0},_keyPress:function(e){if(null===e||44===e.charCode||e.charCode===$.ui.keyCode.ENTER||$.browser.mozilla&&e.keyCode===$.ui.keyCode.ENTER){if(null!==e&&e.charCode===$.ui.keyCode.ENTER&&this._search&&-1!==this._search._itemIndex)return!1;var t=$.trim(this._searchInput.val());return e&&44===e.charCode&&(t=t.substring(0,this._searchInput.getCaret())),""===t?!0:(this.addItem({objectID:0,label:t}),e&&44===e.charCode?this._searchInput.val($.trim(this._searchInput.val().substr(this._searchInput.getCaret()))):this._searchInput.val(""),null!==e&&e.stopPropagation(),!1)}return!0},_onPaste:function(){var e=$.trim(this._searchInput.val());e=e.split(",");for(var t=0,i=e.length;i>t;t++){var n=$.trim(e[t]);""!==n&&this.addItem({objectID:0,label:n})}this._searchInput.val("")},load:function(e){},_click:function(e){var t=$(e.currentTarget),i=t.data("objectID"),n=t.data("label");return this._search&&this._search.removeExcludedSearchValue(n),this._removeItem(i,n),t.remove(),e.stopPropagation(),!1},_getObjectID:function(){return 0},_getObjectTypeID:function(){return 0},addItem:function(e){if(this._data[e.objectID]&&(0!==e.objectID||!this._allowCustomInput))return!0;var t=$('<li class="badge">'+WCF.String.escapeHTML(e.label)+"</li>").data("objectID",e.objectID).data("label",e.label).appendTo(this._itemList);return t.click($.proxy(this._click,this)),this._search&&this._search.addExcludedSearchValue(e.label),this._addItem(e.objectID,e.label),!0},clearList:function(){this._itemList.children("li").each($.proxy(function(e,t){var i=$(t);this._search&&this._search.removeExcludedSearchValue(i.data("label")),i.remove(),this._removeItem(i.data("objectID"),i.data("label"))},this))},_submit:function(){this._keyDown(null)},_addItem:function(e,t){this._data[e]=t},_removeItem:function(e,t){delete this._data[e]},getSearchInput:function(){return this._searchInput}}),WCF.Language.Chooser=Class.extend({_callback:null,_dropdown:null,_input:null,init:function(e,t,i,n,s,a){var o=$("#"+e);if(1!=o.length)return void console.debug("[WCF.Language.Chooser] Invalid container id '"+e+"' given");if(this._input=$("#"+t),this._input.length||(this._input=$('<input type="hidden" name="'+t+'" value="'+i+'" />').appendTo(o)),void 0!==s){if(!$.isFunction(s))return void console.debug("[WCF.Language.Chooser] Given callback is invalid");this._callback=s}this._dropdown=$('<div class="dropdown" id="'+e+'-languageChooser" />').appendTo(o),$('<div class="dropdownToggle boxFlag box24" data-toggle="'+e+'-languageChooser"></div>').appendTo(this._dropdown);var r=$('<ul class="dropdownMenu" />').appendTo(this._dropdown);for(var l in n){var c=n[l],h=$('<li class="boxFlag"><a class="box24"><div class="framed"><img src="'+c.iconPath+'" alt="" class="iconFlag" /></div> <div><h3>'+c.languageName+"</h3></div></a></li>").appendTo(r);if(h.data("languageID",l).click($.proxy(this._click,this)),l==i){var d=$(""+h.html()),u=d.children().detach();this._dropdown.children(".dropdownToggle").empty().append(u)}}if(a){$('<li class="dropdownDivider" />').appendTo(r);var h=$("<li><a>"+WCF.Language.get("wcf.global.language.noSelection")+"</a></li>").data("languageID",0).click($.proxy(this._click,this)).appendTo(r);0===i&&this._dropdown.children(".dropdownToggle").empty().append(h.html())}else if(0===i){var p=$('<div><span class="icon icon24 fa-question" /></div> <div><h3>'+WCF.Language.get("wcf.global.language.noSelection")+"</h3></div>");this._dropdown.children(".dropdownToggle").empty().append(p)}WCF.Dropdown.destroy(e+"-languageChooser"),WCF.Dropdown.init()},_click:function(e){var t=$(e.currentTarget),i=t.data("languageID");this._input.val(i);var n=$(""+t.html()),s=0===i?n:n.children().detach();this._dropdown.children(".dropdownToggle").empty().append(s),null!==this._callback&&this._callback(t)}}),WCF.Style={},WCF.UserPanel=Class.extend({_container:null,_didLoad:!1,_link:null,_noItems:"",_revertOnEmpty:!0,init:function(e){return this._container=$("#"+e),this._didLoad=!1,this._revertOnEmpty=!0,1!=this._container.length?void console.debug("[WCF.UserPanel] Unable to find container identfied by '"+e+"', aborting."):void this._convert()},_convert:function(){this._container.addClass("dropdown"),this._link=this._container.children("a").remove();var e=$('<a href="'+this._link.attr("href")+'" class="dropdownToggle">'+this._link.html()+"</a>").appendTo(this._container).click($.proxy(this._click,this)),t=$('<ul class="dropdownMenu" />').appendTo(this._container);$('<li class="jsDropdownPlaceholder"><span>'+WCF.Language.get("wcf.global.loading")+"</span></li>").appendTo(t),this._addDefaultItems(t),this._container.dblclick($.proxy(function(){return window.location=this._link.attr("href"),!1},this)),WCF.Dropdown.initDropdown(e,!1)},_addDefaultItems:function(e){},_addDivider:function(e){$('<li class="dropdownDivider" />').appendTo(e)},_click:function(e){e.preventDefault(),this._didLoad||(new WCF.Action.Proxy({autoSend:!0,data:this._getParameters(),success:$.proxy(this._success,this)}),this._didLoad=!0)},_getParameters:function(){return{}},_success:function(e,t,i){var n=WCF.Dropdown.getDropdownMenu(this._container.wcfIdentify());n.children(".jsDropdownPlaceholder").remove(),e.returnValues&&e.returnValues.template?($(""+e.returnValues.template).prependTo(n),this._updateBadge(e.returnValues.totalCount),this._after(n)):($("<li><span>"+WCF.Language.get(this._noItems)+"</span></li>").prependTo(n),this._updateBadge(0))},_updateBadge:function(e){if(e=parseInt(e)||0){var t=this._container.find(".badge");t.length||(t=$('<span class="badge badgeInverse" />').appendTo(this._container.children(".dropdownToggle")),t.before(" ")),t.html(e)}else this._container.find(".badge").remove()},_after:function(e){}}),jQuery.fn.extend({wcfDialog:function(e){var t=arguments;require(["Dom/Util","Ui/Dialog"],function(i,n){var s=i.identify(this[0]);"close"===e?n.close(s):"render"===e?n.rebuild(s):"option"===e?3===t.length&&"title"===t[1]&&"string"==typeof t[2]&&n.setTitle(s,t[2]):(this[0].parentNode.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&document.body.appendChild(this[0]),n.openStatic(s,null,1===t.length&&"object"==typeof t[0]?t[0]:{}))}.bind(this))}}),$.widget("ui.wcfSlideshow",{_buttonList:null,_count:0,_index:0,_itemList:null,_items:null,_timer:null,_width:0,options:{cycle:!0,cycleInterval:5,itemGap:50},_create:function(){this._itemList=this.element.children("ul"),this._items=this._itemList.children("li"),this._count=this._items.length,this._index=0,this._count>1&&this._initSlideshow()},_initSlideshow:function(){var e=$(this._items.get(0)).outerHeight();this._items.addClass("slideshowItem"),this._width=this.element.css("height",e).innerWidth(),this._itemList.addClass("slideshowItemList").css("left",0),this._items.each($.proxy(function(t,i){$(i).show().css({height:e,left:(this._width+this.options.itemGap)*t,width:this._width})},this)),this.element.css({height:e,width:this._width}).hover($.proxy(this._hoverIn,this),$.proxy(this._hoverOut,this)),this._buttonList=$('<ul class="slideshowButtonList" />').appendTo(this.element);for(var t=0;t<this._count;t++){var i=$('<li><a><span class="icon icon16 icon-circle" /></a></li>').data("index",t).click($.proxy(this._click,this)).appendTo(this._buttonList);0==t&&i.find(".icon").addClass("active")}this._resetTimer(),$(window).resize($.proxy(this._resize,this))},rebuildHeight:function(){var e=$(this._items.get(0)).css("height","auto"),t=e.outerHeight();this._items.css("height",t+"px"),this.element.css("height",t+"px")},_resize:function(){this._width=this.element.css("width","auto").innerWidth(),this._items.each($.proxy(function(e,t){$(t).css({left:(this._width+this.options.itemGap)*e,width:this._width})},this)),this._index--,this.moveTo(null)},_hoverIn:function(){null!==this._timer&&this._timer.stop()},_hoverOut:function(){this._resetTimer()},_resetTimer:function(){if(this.options.cycle){null!==this._timer&&this._timer.stop();var e=this;this._timer=new WCF.PeriodicalExecuter(function(){e.moveTo(null)},1e3*this.options.cycleInterval)}},_click:function(e){this.moveTo($(e.currentTarget).data("index")),this._resetTimer()},moveTo:function(e){this._index=null===e?this._index+1:e,this._index==this._count&&(this._index=0),$(this._buttonList.find(".icon").removeClass("active").get(this._index)).addClass("active"),this._itemList.css("left",this._index*(this._width+this.options.itemGap)*-1),this._trigger("moveTo",null,{index:this._index})},getItem:function(e){return this._items[e]?this._items[e]:null}}),jQuery.fn.extend({datepicker:function(e){var t=this[0],i=Array.prototype.slice.call(arguments,1);switch(e){case"destroy":window.__wcf_bc_datePicker.destroy(t);break;case"getDate":return window.__wcf_bc_datePicker.getDate(t);case"option":if("onClose"===i[0])return function(){};console.warn("datepicker('option') supports only 'onClose'.");break;case"setDate":window.__wcf_bc_datePicker.setDate(t,i[0]);break;case"setOption":"onClose"===i[0]?window.__wcf_bc_datePicker.setCloseCallback(t,i[1]):console.warn("datepicker('setOption') supports only 'onClose'.");break;default:console.debug("Unsupported method '"+e+"' for datepicker()")}}}),jQuery.fn.extend({wcfTabs:function(e){var t=this[0],i=Array.prototype.slice.call(arguments,1);require(["Dom/Util","WoltLab/WCF/Ui/TabMenu"],function(n,s){var a=s.getTabMenu(n.identify(t));null!==a&&a[e].apply(a,i)})}}),$.widget("ui.wcfPages",{SHOW_LINKS:11,SHOW_SUB_LINKS:20,options:{activePage:1,maxPage:1,nextPage:null,previousPage:null},_create:function(){null===this.options.nextPage&&(this.options.nextPage=WCF.Language.get("wcf.global.page.next")),null===this.options.previousPage&&(this.options.previousPage=WCF.Language.get("wcf.global.page.previous")),this.element.addClass("pageNavigation"),this._render()},destroy:function(){$.Widget.prototype.destroy.apply(this,arguments),this.element.children().remove()},_render:function(){if(!this.options.disabled&&this.options.maxPage>1){var e=!1;this.element.hasClass("hidden")&&this.element.removeClass("hidden"),this.element.show(),this.element.children().remove();var t=$("<ul />");this.element.append(t);var i=$('<li class="button skip" />');if(t.append(i),this.options.activePage>1){var n=$("<a"+(null!=this.options.previousPage?' title="'+this.options.previousPage+'"':"")+"></a>");i.append(n),this._bindSwitchPage(n,this.options.activePage-1);var s=$('<span class="icon icon16 icon-double-angle-left" />');n.append(s)}else{var s=$('<span class="icon icon16 icon-double-angle-left" />');i.append(s),i.addClass("disabled").removeClass("button"),s.addClass("disabled")}t.append(this._renderLink(1));var a=this.SHOW_LINKS-4,o=this.options.activePage-2;0>o&&(o=0);var r=this.options.maxPage-(this.options.activePage+1);0>r&&(r=0),this.options.activePage>1&&this.options.activePage<this.options.maxPage&&a--;var l=a/2,c=this.options.activePage,h=this.options.activePage;1>c&&(c=1),1>h&&(h=1),h>this.options.maxPage-1&&(h=this.options.maxPage-1),o>=l?c-=l:(c-=o,h+=l-o),r>=l?h+=l:(h+=r,c-=l-r),h=Math.ceil(h),c=Math.ceil(c),1>c&&(c=1),h>this.options.maxPage&&(h=this.options.maxPage),c>1&&(2>c-1?t.append(this._renderLink(2)):($('<li class="button jumpTo"><a title="'+WCF.Language.get("wcf.global.page.jumpTo")+'" class="jsTooltip">...</a></li>').appendTo(t),e=!0));for(var d=c+1;h>d;d++)t.append(this._renderLink(d));h<this.options.maxPage&&(this.options.maxPage-h<2?t.append(this._renderLink(this.options.maxPage-1)):($('<li class="button jumpTo"><a title="'+WCF.Language.get("wcf.global.page.jumpTo")+'" class="jsTooltip">...</a></li>').appendTo(t),e=!0)),t.append(this._renderLink(this.options.maxPage));var u=$('<li class="button skip" />');if(t.append(u),this.options.activePage<this.options.maxPage){var p=$("<a"+(null!=this.options.nextPage?' title="'+this.options.nextPage+'"':"")+"></a>");u.append(p),this._bindSwitchPage(p,this.options.activePage+1);var _=$('<span class="icon icon16 icon-double-angle-right" />');p.append(_)}else{var _=$('<span class="icon icon16 icon-double-angle-right" />');u.append(_),u.addClass("disabled").removeClass("button"),_.addClass("disabled")}e&&(t.data("pages",this.options.maxPage),WCF.System.PageNavigation.init("#"+t.wcfIdentify(),$.proxy(function(e){this.switchPage(e)},this)))}else this.element.hide()},_renderLink:function(e,t){var i=$('<li class="button"></li>');if(void 0!=t&&t&&i.addClass("break"),e!=this.options.activePage){var n=$("<a>"+WCF.String.addThousandsSeparator(e)+"</a>");i.append(n),this._bindSwitchPage(n,e)}else{i.addClass("active");var s=$("<span>"+WCF.String.addThousandsSeparator(e)+'</span><span class="invisible">'+WCF.Language.get("wcf.page.pagePosition",{pageNo:e,pages:this.options.maxPage})+"</span>");i.append(s)}return i},_bindSwitchPage:function(e,t){var i=this;e.click(function(){i.switchPage(t)})},switchPage:function(e){this._setOption("activePage",e)},_setOption:function(e,t){if("activePage"==e){if(t!=this.options[e]&&t>0&&t<=this.options.maxPage){var i=this._trigger("shouldSwitch",void 0,{nextPage:t});i||void 0!==i?(this.options[e]=t,this._render(),this._trigger("switched",void 0,{activePage:t})):this._trigger("notSwitched",void 0,{activePage:t})}}else this.options[e]=t,"disabled"==e?t?this.element.children().remove():this._render():"maxPage"==e&&this._render();return this},_startInput:function(e){var t=$(e.currentTarget);t.is("a")||(t=t.parent("a")),t.hide();var i=t.parent("li").children("input").css("display","block").val("");i.focus()},_stopInput:function(e){var t=$(e.currentTarget);t.css("display","none");var i=t.parent("li");void 0!=i&&null!=i&&i.children("a").show()},_handleInput:function(e){var t=$.browser.msie&&"7.0"==$.browser.version;("keyup"!=e.type||t)&&(t&&(13!=e.which&&27!=e.which||"keyup"!=e.type)||(13==e.which&&this.switchPage(parseInt($(e.currentTarget).val())),(13==e.which||27==e.which)&&(this._stopInput(e),e.stopPropagation())))}}),WCF.Category={},WCF.Category.NestedList=Class.extend({_categories:{},init:function(){var e=this;$(".jsCategory").each(function(t,i){var n=$(i).data("parentCategoryID",null).change($.proxy(e._updateSelection,e));e._categories[n.val()]=n;var s=[];n.parents("li").find(".jsChildCategory").each(function(t,i){var a=$(i).data("parentCategoryID",n.val()).change($.proxy(e._updateSelection,e));e._categories[a.val()]=a,s.push(a.val()),a.is(":checked")&&n.prop("checked","checked")}),n.data("childCategoryIDs",s)})},_updateSelection:function(e){var t=$(e.currentTarget),i=t.data("parentCategoryID");if(t.is(":checked"))null!==i&&this._categories[i].prop("checked","checked");else if(null===i)for(var n=t.data("childCategoryIDs"),s=0,a=n.length;a>s;s++)this._categories[n[s]].prop("checked",!1)}}),WCF.Category.FlexibleCategoryList=Class.extend({_list:null,_categories:{},init:function(e){return this._list=$("#"+e),this._buildStructure(),this._list.find("input:checked").each(function(){$(this).trigger("change")}),this._list.children("li").length<2?void this._list.addClass("flexibleCategoryListDisabled"):void($.browser.chrome&&(this._resize(),$(window).resize(this._resize.bind(this))))},_buildStructure:function(){var e=this;this._list.find(".jsCategory").each(function(t,i){var n=$(i).change(e._updateSelection.bind(e)),s=parseInt(n.val()),a=[];n.parents("li:eq(0)").find(".jsChildCategory").each(function(t,i){var s=$(i);s.data("parentCategory",n).change(e._updateSelection.bind(e));var o=parseInt(s.val());a.push(s);var r=[];s.parents("li:eq(0)").find(".jsSubChildCategory").each(function(t,i){var n=$(i);n.data("parentCategory",s).change(e._updateSelection.bind(e)),r.push(n)}),e._categories[o]=r}),e._categories[s]=a})},_resize:function(){var e=-1,t=0,i=this._list.children("li");i.each(function(n,s){if(-1===e||n+1===i.length||i[n+1].offsetLeft!=e){var a=$(s),o=a.outerHeight(!0),r=a.position();t=Math.max(t,r.top+o),e=s.offsetLeft}}),this._list.css("max-height",t+"px")},_updateSelection:function(e){var t=$(e.currentTarget),i=parseInt(t.val()),n=t.data("parentCategory");if(t.is(":checked"))n&&(n.prop("checked","checked"),n=n.data("parentCategory"),n&&n.prop("checked","checked"));else{if(this._categories[i])for(var s=0,a=this._categories[i].length;a>s;s++){var o=this._categories[i][s];o.prop("checked",!1);var r=parseInt(o.val());if(this._categories[r])for(var l=0,c=this._categories[r].length;c>l;l++)this._categories[r][l].prop("checked",!1)}if(n){for(var h=parseInt(n.val()),s=0,a=this._categories[h].length;a>s;s++)if(this._categories[h][s].prop("checked"))return;if(n=n.data("parentCategory")){h=parseInt(n.val());for(var s=0,a=this._categories[h].length;a>s;s++)if(this._categories[h][s].prop("checked"))return}}}}}),WCF.Condition={},WCF.Condition.PageControllerDependence=Class.extend({_pageControllerSelection:null,_supportedPageObjectTypeIDs:[],init:function(e,t){this._supportedPageObjectTypeIDs=t,this._pageControllerSelection=$("#pageControllers").change($.proxy(this._checkVisibility,this)),this._pageControllerContainer=this._pageControllerSelection.parents("dl:eq(0)"),this._fieldset=this._pageControllerContainer.parent("fieldset"),this._nextFieldset=this._fieldset.next("fieldset"),this._nextFieldset&&this._nextFieldset.data("margin-top",this._nextFieldset.css("margin-top")),this._input=$("#"+e),this._inputContainer=this._input.parents("dl:eq(0)"),this._checkVisibility()},_checkVisibility:function(){var e=this._pageControllerSelection.val()||[],t=!0;if(e.length){for(var i=0,n=e.length;n>i;i++)if(-1==this._supportedPageObjectTypeIDs.indexOf(parseInt(e[i]))){t=!1;break}}else t=!1;t?(this._inputContainer.show(),this._input.enable(),this._fieldset.show(),this._nextFieldset&&this._nextFieldset.css("margin-top",this._nextFieldset.data("margin-top"))):(this._inputContainer.hide(),this._input.disable(),this._fieldset.children("dl:visible").length||(this._fieldset.hide(),this._nextFieldset&&this._nextFieldset.css("margin-top",0)))}}),WCF.Notice={}; })(this);
 
 // WCF.Like.js
index 613ead6c14ac5615f481c1d8e172eafaed0e8f1c..bb870b7345a20e61d88d5e938dbf46ce04a96e58 100644 (file)
@@ -1,6 +1,6 @@
-var requirejs,require,define;!function(ba){function G(e){return"[object Function]"===K.call(e)}function H(e){return"[object Array]"===K.call(e)}function v(e,t){if(e){var n;for(n=0;n<e.length&&(!e[n]||!t(e[n],n,e));n+=1);}}function T(e,t){if(e){var n;for(n=e.length-1;n>-1&&(!e[n]||!t(e[n],n,e));n-=1);}}function t(e,t){return fa.call(e,t)}function m(e,n){return t(e,n)&&e[n]}function B(e,n){for(var i in e)if(t(e,i)&&n(e[i],i))break}function U(e,n,i,r){return n&&B(n,function(n,a){(i||!t(e,a))&&(!r||"object"!=typeof n||!n||H(n)||G(n)||n instanceof RegExp?e[a]=n:(e[a]||(e[a]={}),U(e[a],n,i,r)))}),e}function u(e,t){return function(){return t.apply(e,arguments)}}function ca(e){throw e}function da(e){if(!e)return e;var t=ba;return v(e.split("."),function(e){t=t[e]}),t}function C(e,t,n,i){return t=Error(t+"\nhttp://requirejs.org/docs/errors.html#"+e),t.requireType=e,t.requireModules=i,n&&(t.originalError=n),t}function ga(e){function n(e,t,n){var i,r,a,o,l,s,c,u,t=t&&t.split("/"),d=A.map,h=d&&d["*"];if(e){for(e=e.split("/"),r=e.length-1,A.nodeIdCompat&&Q.test(e[r])&&(e[r]=e[r].replace(Q,"")),"."===e[0].charAt(0)&&t&&(r=t.slice(0,t.length-1),e=r.concat(e)),r=e,a=0;a<r.length;a++)o=r[a],"."===o?(r.splice(a,1),a-=1):".."===o&&0!==a&&(1!==a||".."!==r[2])&&".."!==r[a-1]&&a>0&&(r.splice(a-1,2),a-=2);e=e.join("/")}if(n&&d&&(t||h)){r=e.split("/"),a=r.length;e:for(;a>0;a-=1){if(l=r.slice(0,a).join("/"),t)for(o=t.length;o>0;o-=1)if((n=m(d,t.slice(0,o).join("/")))&&(n=m(n,l))){i=n,s=a;break e}!c&&h&&m(h,l)&&(c=m(h,l),u=a)}!i&&c&&(i=c,s=u),i&&(r.splice(0,s,i),e=r.join("/"))}return(i=m(A.pkgs,e))?i:e}function i(e){z&&v(document.getElementsByTagName("script"),function(t){return t.getAttribute("data-requiremodule")===e&&t.getAttribute("data-requirecontext")===L.contextName?(t.parentNode.removeChild(t),!0):void 0})}function r(e){var t=m(A.paths,e);return t&&H(t)&&1<t.length?(t.shift(),L.require.undef(e),L.makeRequire(null,{skipMap:!0})([e]),!0):void 0}function a(e){var t,n=e?e.indexOf("!"):-1;return n>-1&&(t=e.substring(0,n),e=e.substring(n+1,e.length)),[t,e]}function o(e,t,i,r){var o,l,s=null,c=t?t.name:null,u=e,d=!0,h="";return e||(d=!1,e="_@r"+(P+=1)),e=a(e),s=e[0],e=e[1],s&&(s=n(s,c,r),l=m(O,s)),e&&(s?h=l&&l.normalize?l.normalize(e,function(e){return n(e,c,r)}):-1===e.indexOf("!")?n(e,c,r):e:(h=n(e,c,r),e=a(h),s=e[0],h=e[1],i=!0,o=L.nameToUrl(h))),i=!s||l||i?"":"_unnormalized"+(q+=1),{prefix:s,name:h,parentMap:t,unnormalized:!!i,url:o,originalName:u,isDefine:d,id:(s?s+"!"+h:h)+i}}function l(e){var t=e.id,n=m(S,t);return n||(n=S[t]=new L.Module(e)),n}function s(e,n,i){var r=e.id,a=m(S,r);!t(O,r)||a&&!a.defineEmitComplete?(a=l(e),a.error&&"error"===n?i(a.error):a.on(n,i)):"defined"===n&&i(O[r])}function c(e,t){var n=e.requireModules,i=!1;t?t(e):(v(n,function(t){(t=m(S,t))&&(t.error=e,t.events.error&&(i=!0,t.emit("error",e)))}),i||g.onError(e))}function d(){R.length&&(ha.apply(I,[I.length,0].concat(R)),R=[])}function h(e){delete S[e],delete D[e]}function f(e,t,n){var i=e.map.id;e.error?e.emit("error",e.error):(t[i]=!0,v(e.depMaps,function(i,r){var a=i.id,o=m(S,a);o&&!e.depMatched[r]&&!n[a]&&(m(t,a)?(e.defineDep(r,O[a]),e.check()):f(o,t,n))}),n[i]=!0)}function p(){var e,t,n=(e=1e3*A.waitSeconds)&&L.startTime+e<(new Date).getTime(),a=[],o=[],l=!1,s=!0;if(!_){if(_=!0,B(D,function(e){var c=e.map,u=c.id;if(e.enabled&&(c.isDefine||o.push(e),!e.error))if(!e.inited&&n)r(u)?l=t=!0:(a.push(u),i(u));else if(!e.inited&&e.fetched&&c.isDefine&&(l=!0,!c.prefix))return s=!1}),n&&a.length)return e=C("timeout","Load timeout for modules: "+a,null,a),e.contextName=L.contextName,c(e);s&&v(o,function(e){f(e,{},{})}),n&&!t||!l||!z&&!ea||k||(k=setTimeout(function(){k=0,p()},50)),_=!1}}function b(e){t(O,e[0])||l(o(e[0],null,!0)).init(e[1],e[2])}function y(e){var e=e.currentTarget||e.srcElement,t=L.onScriptLoad;return e.detachEvent&&!Y?e.detachEvent("onreadystatechange",t):e.removeEventListener("load",t,!1),t=L.onScriptError,(!e.detachEvent||Y)&&e.removeEventListener("error",t,!1),{node:e,id:e&&e.getAttribute("data-requiremodule")}}function w(){var e;for(d();I.length;){if(e=I.shift(),null===e[0])return c(C("mismatch","Mismatched anonymous define() module: "+e[e.length-1]));b(e)}}var _,x,L,E,k,A={waitSeconds:7,baseUrl:"./",paths:{},bundles:{},pkgs:{},shim:{},config:{}},S={},D={},W={},I=[],O={},j={},F={},P=1,q=1;return E={require:function(e){return e.require?e.require:e.require=L.makeRequire(e.map)},exports:function(e){return e.usingExports=!0,e.map.isDefine?e.exports?O[e.map.id]=e.exports:e.exports=O[e.map.id]={}:void 0},module:function(e){return e.module?e.module:e.module={id:e.map.id,uri:e.map.url,config:function(){return m(A.config,e.map.id)||{}},exports:e.exports||(e.exports={})}}},x=function(e){this.events=m(W,e.id)||{},this.map=e,this.shim=m(A.shim,e.id),this.depExports=[],this.depMaps=[],this.depMatched=[],this.pluginMaps={},this.depCount=0},x.prototype={init:function(e,t,n,i){i=i||{},this.inited||(this.factory=t,n?this.on("error",n):this.events.error&&(n=u(this,function(e){this.emit("error",e)})),this.depMaps=e&&e.slice(0),this.errback=n,this.inited=!0,this.ignore=i.ignore,i.enabled||this.enabled?this.enable():this.check())},defineDep:function(e,t){this.depMatched[e]||(this.depMatched[e]=!0,this.depCount-=1,this.depExports[e]=t)},fetch:function(){if(!this.fetched){this.fetched=!0,L.startTime=(new Date).getTime();var e=this.map;if(!this.shim)return e.prefix?this.callPlugin():this.load();L.makeRequire(this.map,{enableBuildCallback:!0})(this.shim.deps||[],u(this,function(){return e.prefix?this.callPlugin():this.load()}))}},load:function(){var e=this.map.url;j[e]||(j[e]=!0,L.load(this.map.id,e))},check:function(){if(this.enabled&&!this.enabling){var e,t,n=this.map.id;t=this.depExports;var i=this.exports,r=this.factory;if(this.inited){if(this.error)this.emit("error",this.error);else if(!this.defining){if(this.defining=!0,1>this.depCount&&!this.defined){if(G(r)){if(this.events.error&&this.map.isDefine||g.onError!==ca)try{i=L.execCb(n,r,t,i)}catch(a){e=a}else i=L.execCb(n,r,t,i);if(this.map.isDefine&&void 0===i&&((t=this.module)?i=t.exports:this.usingExports&&(i=this.exports)),e)return e.requireMap=this.map,e.requireModules=this.map.isDefine?[this.map.id]:null,e.requireType=this.map.isDefine?"define":"require",c(this.error=e)}else i=r;this.exports=i,this.map.isDefine&&!this.ignore&&(O[n]=i,g.onResourceLoad)&&g.onResourceLoad(L,this.map,this.depMaps),h(n),this.defined=!0}this.defining=!1,this.defined&&!this.defineEmitted&&(this.defineEmitted=!0,this.emit("defined",this.exports),this.defineEmitComplete=!0)}}else this.fetch()}},callPlugin:function(){var e=this.map,i=e.id,r=o(e.prefix);this.depMaps.push(r),s(r,"defined",u(this,function(r){var a,d;d=m(F,this.map.id);var f=this.map.name,p=this.map.parentMap?this.map.parentMap.name:null,v=L.makeRequire(e.parentMap,{enableBuildCallback:!0});this.map.unnormalized?(r.normalize&&(f=r.normalize(f,function(e){return n(e,p,!0)})||""),r=o(e.prefix+"!"+f,this.map.parentMap),s(r,"defined",u(this,function(e){this.init([],function(){return e},null,{enabled:!0,ignore:!0})})),(d=m(S,r.id))&&(this.depMaps.push(r),this.events.error&&d.on("error",u(this,function(e){this.emit("error",e)})),d.enable())):d?(this.map.url=L.nameToUrl(d),this.load()):(a=u(this,function(e){this.init([],function(){return e},null,{enabled:!0})}),a.error=u(this,function(e){this.inited=!0,this.error=e,e.requireModules=[i],B(S,function(e){0===e.map.id.indexOf(i+"_unnormalized")&&h(e.map.id)}),c(e)}),a.fromText=u(this,function(n,r){var s=e.name,u=o(s),d=M;r&&(n=r),d&&(M=!1),l(u),t(A.config,i)&&(A.config[s]=A.config[i]);try{g.exec(n)}catch(h){return c(C("fromtexteval","fromText eval for "+i+" failed: "+h,h,[i]))}d&&(M=!0),this.depMaps.push(u),L.completeLoad(s),v([s],a)}),r.load(e.name,v,a,A))})),L.enable(r,this),this.pluginMaps[r.id]=r},enable:function(){D[this.map.id]=this,this.enabling=this.enabled=!0,v(this.depMaps,u(this,function(e,n){var i,r;if("string"==typeof e){if(e=o(e,this.map.isDefine?this.map:this.map.parentMap,!1,!this.skipMap),this.depMaps[n]=e,i=m(E,e.id))return void(this.depExports[n]=i(this));this.depCount+=1,s(e,"defined",u(this,function(e){this.defineDep(n,e),this.check()})),this.errback?s(e,"error",u(this,this.errback)):this.events.error&&s(e,"error",u(this,function(e){this.emit("error",e)}))}i=e.id,r=S[i],!t(E,i)&&r&&!r.enabled&&L.enable(e,this)})),B(this.pluginMaps,u(this,function(e){var t=m(S,e.id);t&&!t.enabled&&L.enable(e,this)})),this.enabling=!1,this.check()},on:function(e,t){var n=this.events[e];n||(n=this.events[e]=[]),n.push(t)},emit:function(e,t){v(this.events[e],function(e){e(t)}),"error"===e&&delete this.events[e]}},L={config:A,contextName:e,registry:S,defined:O,urlFetched:j,defQueue:I,Module:x,makeModuleMap:o,nextTick:g.nextTick,onError:c,configure:function(e){e.baseUrl&&"/"!==e.baseUrl.charAt(e.baseUrl.length-1)&&(e.baseUrl+="/");var t=A.shim,n={paths:!0,bundles:!0,config:!0,map:!0};B(e,function(e,t){n[t]?(A[t]||(A[t]={}),U(A[t],e,!0,!0)):A[t]=e}),e.bundles&&B(e.bundles,function(e,t){v(e,function(e){e!==t&&(F[e]=t)})}),e.shim&&(B(e.shim,function(e,n){H(e)&&(e={deps:e}),!e.exports&&!e.init||e.exportsFn||(e.exportsFn=L.makeShimExports(e)),t[n]=e}),A.shim=t),e.packages&&v(e.packages,function(e){var t,e="string"==typeof e?{name:e}:e;t=e.name,e.location&&(A.paths[t]=e.location),A.pkgs[t]=e.name+"/"+(e.main||"main").replace(ia,"").replace(Q,"")}),B(S,function(e,t){!e.inited&&!e.map.unnormalized&&(e.map=o(t))}),(e.deps||e.callback)&&L.require(e.deps||[],e.callback)},makeShimExports:function(e){return function(){var t;return e.init&&(t=e.init.apply(ba,arguments)),t||e.exports&&da(e.exports)}},makeRequire:function(r,a){function s(n,i,u){var d,h;return a.enableBuildCallback&&i&&G(i)&&(i.__requireJsBuild=!0),"string"==typeof n?G(i)?c(C("requireargs","Invalid require call"),u):r&&t(E,n)?E[n](S[r.id]):g.get?g.get(L,n,r,s):(d=o(n,r,!1,!0),d=d.id,t(O,d)?O[d]:c(C("notloaded",'Module name "'+d+'" has not been loaded yet for context: '+e+(r?"":". Use require([])")))):(w(),L.nextTick(function(){w(),h=l(o(null,r)),h.skipMap=a.skipMap,h.init(n,i,u,{enabled:!0}),p()}),s)}return a=a||{},U(s,{isBrowser:z,toUrl:function(e){var t,i=e.lastIndexOf("."),a=e.split("/")[0];return-1!==i&&("."!==a&&".."!==a||i>1)&&(t=e.substring(i,e.length),e=e.substring(0,i)),L.nameToUrl(n(e,r&&r.id,!0),t,!0)},defined:function(e){return t(O,o(e,r,!1,!0).id)},specified:function(e){return e=o(e,r,!1,!0).id,t(O,e)||t(S,e)}}),r||(s.undef=function(e){d();var t=o(e,r,!0),n=m(S,e);i(e),delete O[e],delete j[t.url],delete W[e],T(I,function(t,n){t[0]===e&&I.splice(n,1)}),n&&(n.events.defined&&(W[e]=n.events),h(e))}),s},enable:function(e){m(S,e.id)&&l(e).enable()},completeLoad:function(e){var n,i,a=m(A.shim,e)||{},o=a.exports;for(d();I.length;){if(i=I.shift(),null===i[0]){if(i[0]=e,n)break;n=!0}else i[0]===e&&(n=!0);b(i)}if(i=m(S,e),!n&&!t(O,e)&&i&&!i.inited){if(A.enforceDefine&&(!o||!da(o)))return r(e)?void 0:c(C("nodefine","No define call for "+e,null,[e]));b([e,a.deps||[],a.exportsFn])}p()},nameToUrl:function(e,t,n){var i,r,a;if((i=m(A.pkgs,e))&&(e=i),i=m(F,e))return L.nameToUrl(i,t,n);if(g.jsExtRegExp.test(e))i=e+(t||"");else{for(i=A.paths,e=e.split("/"),r=e.length;r>0;r-=1)if(a=e.slice(0,r).join("/"),a=m(i,a)){H(a)&&(a=a[0]),e.splice(0,r,a);break}i=e.join("/"),i+=t||(/^data\:|\?/.test(i)||n?"":".js"),i=("/"===i.charAt(0)||i.match(/^[\w\+\.\-]+:/)?"":A.baseUrl)+i}return A.urlArgs?i+((-1===i.indexOf("?")?"?":"&")+A.urlArgs):i},load:function(e,t){g.load(L,e,t)},execCb:function(e,t,n,i){return t.apply(i,n)},onScriptLoad:function(e){("load"===e.type||ja.test((e.currentTarget||e.srcElement).readyState))&&(N=null,e=y(e),L.completeLoad(e.id))},onScriptError:function(e){var t=y(e);return r(t.id)?void 0:c(C("scripterror","Script error for: "+t.id,e,[t.id]))}},L.require=L.makeRequire(),L}var g,x,y,D,I,E,N,J,s,O,ka=/(\/\*([\s\S]*?)\*\/|([^:]|^)\/\/(.*)$)/gm,la=/[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g,Q=/\.js$/,ia=/^\.\//;x=Object.prototype;var K=x.toString,fa=x.hasOwnProperty,ha=Array.prototype.splice,z=!("undefined"==typeof window||"undefined"==typeof navigator||!window.document),ea=!z&&"undefined"!=typeof importScripts,ja=z&&"PLAYSTATION 3"===navigator.platform?/^complete$/:/^(complete|loaded)$/,Y="undefined"!=typeof opera&&"[object Opera]"===opera.toString(),F={},q={},R=[],M=!1;if("undefined"==typeof define){if("undefined"!=typeof requirejs){if(G(requirejs))return;q=requirejs,requirejs=void 0}"undefined"!=typeof require&&!G(require)&&(q=require,require=void 0),g=requirejs=function(e,t,n,i){var r,a="_";return!H(e)&&"string"!=typeof e&&(r=e,H(t)?(e=t,t=n,n=i):e=[]),r&&r.context&&(a=r.context),(i=m(F,a))||(i=F[a]=g.s.newContext(a)),r&&i.configure(r),i.require(e,t,n)},g.config=function(e){return g(e)},g.nextTick="undefined"!=typeof setTimeout?function(e){setTimeout(e,4)}:function(e){e()},require||(require=g),g.version="2.1.17",g.jsExtRegExp=/^\/|:|\?|\.js$/,g.isBrowser=z,x=g.s={contexts:F,newContext:ga},g({}),v(["toUrl","undef","defined","specified"],function(e){g[e]=function(){var t=F._;return t.require[e].apply(t,arguments)}}),z&&(y=x.head=document.getElementsByTagName("head")[0],D=document.getElementsByTagName("base")[0])&&(y=x.head=D.parentNode),g.onError=ca,g.createNode=function(e){var t=e.xhtml?document.createElementNS("http://www.w3.org/1999/xhtml","html:script"):document.createElement("script");return t.type=e.scriptType||"text/javascript",t.charset="utf-8",t.async=!0,t},g.load=function(e,t,n){var i=e&&e.config||{};if(z)return i=g.createNode(i,t,n),i.setAttribute("data-requirecontext",e.contextName),i.setAttribute("data-requiremodule",t),!i.attachEvent||i.attachEvent.toString&&0>i.attachEvent.toString().indexOf("[native code")||Y?(i.addEventListener("load",e.onScriptLoad,!1),i.addEventListener("error",e.onScriptError,!1)):(M=!0,i.attachEvent("onreadystatechange",e.onScriptLoad)),i.src=n,J=i,D?y.insertBefore(i,D):y.appendChild(i),J=null,i;if(ea)try{importScripts(n),e.completeLoad(t)}catch(r){e.onError(C("importscripts","importScripts failed for "+t+" at "+n,r,[t]))}},z&&!q.skipDataMain&&T(document.getElementsByTagName("script"),function(e){return y||(y=e.parentNode),(I=e.getAttribute("data-main"))?(s=I,q.baseUrl||(E=s.split("/"),s=E.pop(),O=E.length?E.join("/")+"/":"./",q.baseUrl=O),s=s.replace(Q,""),g.jsExtRegExp.test(s)&&(s=I),q.deps=q.deps?q.deps.concat(s):[s],!0):void 0}),define=function(e,t,n){var i,r;"string"!=typeof e&&(n=t,t=e,e=null),H(t)||(n=t,t=null),!t&&G(n)&&(t=[],n.length&&(n.toString().replace(ka,"").replace(la,function(e,n){t.push(n)}),t=(1===n.length?["require"]:["require","exports","module"]).concat(t))),M&&((i=J)||(N&&"interactive"===N.readyState||T(document.getElementsByTagName("script"),function(e){return"interactive"===e.readyState?N=e:void 0}),i=N),i&&(e||(e=i.getAttribute("data-requiremodule")),r=F[i.getAttribute("data-requirecontext")])),(r?r.defQueue:R).push([e,t,n])},define.amd={jQuery:!0},g.exec=function(b){return eval(b)},g(q)}}(this),define("requireLib",function(){}),define("WoltLab/WCF/Core",[],function(){"use strict";var e=function(e){return"object"==typeof e&&(Array.isArray(e)||n.isPlainObject(e))?t(e):e},t=function(t){if(!t)return null;if(Array.isArray(t))return t.slice();var n={};for(var i in t)t.hasOwnProperty(i)&&"undefined"!=typeof t[i]&&(n[i]=e(t[i]));return n},n={clone:function(t){return e(t)},convertLegacyUrl:function(e){return URL_LEGACY_MODE?e:e.replace(/^index\.php\/(.*?)\/\?/,function(e,t){for(var n=t.split(/([A-Z][a-z0-9]+)/),t="",i=0,r=n.length;r>i;i++){var a=n[i].trim();a.length&&(t.length&&(t+="-"),t+=a.toLowerCase())}return"index.php?"+t+"/&"})},extend:function(e){e=e||{};for(var t=this.clone(e),n=1,i=arguments.length;i>n;n++){var r=arguments[n];if(r)for(var a in r)r.hasOwnProperty(a)&&(t[a]=Array.isArray(r[a])||"object"!=typeof r[a]?r[a]:this.isPlainObject(r[a])?this.extend(e[a],r[a]):r[a])}return t},isPlainObject:function(e){return"object"!=typeof e||null===e||e.nodeType?!1:Object.getPrototypeOf(e)===Object.prototype},getType:function(e){return Object.prototype.toString.call(e).replace(/^\[object (.+)\]$/,"$1")},getUuid:function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var t=16*Math.random()|0,n="x"==e?t:3&t|8;return n.toString(16)})},serialize:function(e,t){var n=[];for(var i in e)if(e.hasOwnProperty(i)){var r=t?t+"["+i+"]":i,a=e[i];n.push("object"==typeof a?this.serialize(a,r):encodeURIComponent(r)+"="+encodeURIComponent(a))}return n.join("&")},triggerEvent:function(e,t){var n;try{n=new Event(t,{bubbles:!0,cancelable:!0})}catch(i){n=document.createEvent("Event"),n.initEvent(t,!0,!0)}e.dispatchEvent(n)}};return n}),define("WoltLab/WCF/Dictionary",[],function(){"use strict";function e(){this._dictionary=t?new Map:{}}var t=objOwns(window,"Map")&&"function"==typeof window.Map;return e.prototype={set:function(e,n){if("number"==typeof e&&(e=e.toString()),"string"!=typeof e)throw new TypeError("Only strings can be used as keys, rejected '"+e+"' ("+typeof e+").");t?this._dictionary.set(e,n):this._dictionary[e]=n},"delete":function(e){"number"==typeof e&&(e=e.toString()),t?this._dictionary["delete"](e):this._dictionary[e]=void 0},has:function(e){return"number"==typeof e&&(e=e.toString()),t?this._dictionary.has(e):this._dictionary.hasOwnProperty(e)&&"undefined"!=typeof this._dictionary[e]},get:function(e){return"number"==typeof e&&(e=e.toString()),this.has(e)?t?this._dictionary.get(e):this._dictionary[e]:void 0},forEach:function(e){if("function"!=typeof e)throw new TypeError("forEach() expects a callback as first parameter.");if(t)this._dictionary.forEach(e);else for(var n=Object.keys(this._dictionary),i=0,r=n.length;r>i;i++)e(this._dictionary[n[i]],n[i])},merge:function(){for(var t=0,n=arguments.length;n>t;t++){var i=arguments[t];if(!(i instanceof e))throw new TypeError("Expected an object of type Dictionary, but argument "+t+" is not.");i.forEach(function(e,t){this.set(t,e)}.bind(this))}}},e.fromObject=function(t){var n=new e;for(var i in t)t.hasOwnProperty(i)&&n.set(i,t[i]);return n},Object.defineProperty(e.prototype,"size",{enumerable:!1,configurable:!0,get:function(){return t?this._dictionary.size:Object.keys(this._dictionary).length}}),e}),define("WoltLab/WCF/Template.grammar",["require"],function(){var e=function(e,t,n,i){for(n=n||{},i=e.length;i--;n[e[i]]=t);return n},t=[2,47],n=[5,9,11,12,13,14,15,16,17,18,19,20,21,22,23,24,28,29,31,32,33,35,36,37,39,40,41,42,44,46,48],i=[1,33],r=[1,37],a=[1,38],o=[1,39],l=[1,42],s=[1,40],c=[1,44],u=[11,12,14,15,17,20,21,22,23],d=[11,12,14,15,16,17,18,19,20,21,22,23],h=[9,11,12,13,14,15,16,17,18,19,20,21,22,23,24,28,29,31,33,36,39,40,41,42,44,46],f=[28,44,46],p=[12,14],m={trace:function(){},yy:{},symbols_:{error:2,TEMPLATE:3,CHUNK_STAR:4,EOF:5,CHUNK_STAR_repetition0:6,CHUNK:7,PLAIN_ANY:8,T_LITERAL:9,COMMAND:10,T_ANY:11,"}":12,"{":13,T_WS:14,"]":15,"[":16,")":17,"(":18,".":19,"=":20,T_VARIABLE:21,T_VARIABLE_NAME:22,T_QUOTED_STRING:23,"{if":24,COMMAND_PARAMETERS:25,COMMAND_repetition0:26,COMMAND_option0:27,"{/if}":28,"{include":29,COMMAND_PARAMETER_LIST:30,"{implode":31,"{/implode}":32,"{foreach":33,COMMAND_option1:34,"{/foreach}":35,"{lang}":36,"{/lang}":37,VARIABLE:38,"{#":39,"{@":40,"{ldelim}":41,"{rdelim}":42,ELSE:43,"{else}":44,ELSE_IF:45,"{elseif":46,FOREACH_ELSE:47,"{foreachelse}":48,VARIABLE_repetition0:49,VARIABLE_SUFFIX:50,VARIABLE_SUFFIX_option0:51,COMMAND_PARAMETER_VALUE:52,COMMAND_PARAMETERS_repetition_plus0:53,COMMAND_PARAMETER:54,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",9:"T_LITERAL",11:"T_ANY",12:"}",13:"{",14:"T_WS",15:"]",16:"[",17:")",18:"(",19:".",20:"=",21:"T_VARIABLE",22:"T_VARIABLE_NAME",23:"T_QUOTED_STRING",24:"{if",28:"{/if}",29:"{include",31:"{implode",32:"{/implode}",33:"{foreach",35:"{/foreach}",36:"{lang}",37:"{/lang}",39:"{#",40:"{@",41:"{ldelim}",42:"{rdelim}",44:"{else}",46:"{elseif",48:"{foreachelse}"},productions_:[0,[3,2],[4,1],[7,1],[7,1],[7,1],[8,1],[8,1],[8,2],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[10,7],[10,3],[10,5],[10,6],[10,3],[10,3],[10,3],[10,3],[10,1],[10,1],[43,2],[45,4],[47,2],[38,3],[50,3],[50,2],[50,3],[30,5],[30,3],[52,1],[52,1],[25,1],[54,1],[54,1],[54,1],[54,1],[54,1],[54,1],[6,0],[6,2],[26,0],[26,2],[27,0],[27,1],[34,0],[34,1],[49,0],[49,2],[51,0],[51,1],[53,1],[53,2]],performAction:function(e,t,n,i,r,a){var o=a.length-1;switch(r){case 1:return a[o-1]+";";case 2:var l=a[o].reduce(function(e,t){return t.encode&&!e[1]?e[0]+=" + '"+t.value:t.encode&&e[1]?e[0]+=t.value:!t.encode&&e[1]?e[0]+="' + "+t.value:t.encode||e[1]||(e[0]+=" + "+t.value),e[1]=t.encode,e},["''",!1]);l[1]&&(l[0]+="'"),this.$=l[0];break;case 3:case 4:this.$={encode:!0,value:a[o].replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/(\r\n|\n|\r)/g,"\\n")};break;case 5:this.$={encode:!1,value:a[o]};break;case 8:this.$=a[o-1]+a[o];break;case 19:this.$="(function() { if ("+a[o-5]+") { return "+a[o-3]+"; } "+a[o-2].join(" ")+" "+(a[o-1]||"")+" return ''; })()";break;case 20:if(!a[o-1].file)throw new Error("Missing parameter file");this.$=a[o-1].file+".fetch(v)";break;case 21:if(!a[o-3].from)throw new Error("Missing parameter from");if(!a[o-3].item)throw new Error("Missing parameter item");a[o-3].glue||(a[o-3].glue="', '"),this.$="(function() { return "+a[o-3].from+".map(function(item) { v["+a[o-3].item+"] = item; return "+a[o-1]+"; }).join("+a[o-3].glue+"); })()";break;case 22:if(!a[o-4].from)throw new Error("Missing parameter from");if(!a[o-4].item)throw new Error("Missing parameter item");this.$="(function() {var looped = false, result = '';if ("+a[o-4].from+" instanceof Array) {for (var i = 0; i < "+a[o-4].from+".length; i++) { looped = true;v["+a[o-4].key+"] = i;v["+a[o-4].item+"] = "+a[o-4].from+"[i];result += "+a[o-2]+";}} else {for (var key in "+a[o-4].from+") {if (!"+a[o-4].from+".hasOwnProperty(key)) continue;looped = true;v["+a[o-4].key+"] = key;v["+a[o-4].item+"] = "+a[o-4].from+"[key];result += "+a[o-2]+";}}return (looped ? result : "+(a[o-1]||"''")+"); })()";break;case 23:this.$="Language.get("+a[o-1]+")";break;case 24:this.$="StringUtil.escapeHTML("+a[o-1]+")";break;case 25:this.$="StringUtil.formatNumeric("+a[o-1]+")";break;case 26:this.$=a[o-1];break;case 27:this.$="'{'";break;case 28:this.$="'}'";break;case 29:this.$="else { return "+a[o]+"; }";break;case 30:this.$="else if ("+a[o-2]+") { return "+a[o]+"; }";break;case 31:this.$=a[o];break;case 32:this.$="v['"+a[o-1]+"']"+a[o].join("");break;case 33:this.$=a[o-2]+a[o-1]+a[o];break;case 34:this.$="['"+a[o]+"']";break;case 35:this.$=a[o-2]+(a[o-1]||"")+a[o];break;case 36:this.$=a[o],this.$[a[o-4]]=a[o-2];break;case 37:this.$={},this.$[a[o-2]]=a[o];break;case 40:this.$=a[o].join("");break;case 47:case 49:case 55:this.$=[];break;case 48:case 50:case 56:case 60:a[o-1].push(a[o]);break;case 59:this.$=[a[o]]}},table:[e([5,9,11,12,13,14,15,16,17,18,19,20,21,22,23,24,29,31,33,36,39,40,41,42],t,{3:1,4:2,6:3}),{1:[3]},{5:[1,4]},e([5,28,32,35,37,44,46,48],[2,2],{7:5,8:6,10:8,9:[1,7],11:[1,9],12:[1,10],13:[1,11],14:[1,21],15:[1,12],16:[1,13],17:[1,14],18:[1,15],19:[1,16],20:[1,17],21:[1,18],22:[1,19],23:[1,20],24:[1,22],29:[1,23],31:[1,24],33:[1,25],36:[1,26],39:[1,27],40:[1,28],41:[1,29],42:[1,30]}),{1:[2,1]},e(n,[2,48]),e(n,[2,3]),e(n,[2,4]),e(n,[2,5]),e(n,[2,6]),e(n,[2,7]),{14:[1,31],21:i,38:32},e(n,[2,9]),e(n,[2,10]),e(n,[2,11]),e(n,[2,12]),e(n,[2,13]),e(n,[2,14]),e(n,[2,15]),e(n,[2,16]),e(n,[2,17]),e(n,[2,18]),{11:r,14:a,20:o,21:i,22:l,23:s,25:34,38:41,53:35,54:36},{22:c,30:43},{22:c,30:45},{22:c,30:46},e([9,11,12,13,14,15,16,17,18,19,20,21,22,23,24,29,31,33,36,37,39,40,41,42],t,{6:3,4:47}),{21:i,38:48},{21:i,38:49},e(n,[2,27]),e(n,[2,28]),e(n,[2,8]),{12:[1,50]},{22:[1,51]},{12:[1,52]},e([12,15,17],[2,40],{38:41,54:53,11:r,14:a,20:o,21:i,22:l,23:s}),e(u,[2,59]),e(u,[2,41]),e(u,[2,42]),e(u,[2,43]),e(u,[2,44]),e(u,[2,45]),e(u,[2,46]),{12:[1,54]},{20:[1,55]},{12:[1,56]},{12:[1,57]},{37:[1,58]},{12:[1,59]},{12:[1,60]},e(n,[2,24]),e(d,[2,55],{49:61}),e(h,t,{6:3,4:62}),e(u,[2,60]),e(n,[2,20]),{21:i,23:[1,64],38:65,52:63},e([9,11,12,13,14,15,16,17,18,19,20,21,22,23,24,29,31,32,33,36,39,40,41,42],t,{6:3,4:66}),e([9,11,12,13,14,15,16,17,18,19,20,21,22,23,24,29,31,33,35,36,39,40,41,42,48],t,{6:3,4:67}),e(n,[2,23]),e(n,[2,25]),e(n,[2,26]),e(u,[2,32],{50:68,16:[1,69],18:[1,71],19:[1,70]}),e(f,[2,49],{26:72}),{12:[2,37],14:[1,73]},e(p,[2,38]),e(p,[2,39]),{32:[1,74]},{34:75,35:[2,53],47:76,48:[1,77]},e(d,[2,56]),{11:r,14:a,20:o,21:i,22:l,23:s,25:78,38:41,53:35,54:36},{22:[1,79]},{11:r,14:a,17:[2,57],20:o,21:i,22:l,23:s,25:81,38:41,51:80,53:35,54:36},{27:82,28:[2,51],43:84,44:[1,86],45:83,46:[1,85]},{22:c,30:87},e(n,[2,21]),{35:[1,88]},{35:[2,54]},e([9,11,12,13,14,15,16,17,18,19,20,21,22,23,24,29,31,33,35,36,39,40,41,42],t,{6:3,4:89}),{15:[1,90]},e(d,[2,34]),{17:[1,91]},{17:[2,58]},{28:[1,92]},e(f,[2,50]),{28:[2,52]},{11:r,14:a,20:o,21:i,22:l,23:s,25:93,38:41,53:35,54:36},e([9,11,12,13,14,15,16,17,18,19,20,21,22,23,24,28,29,31,33,36,39,40,41,42],t,{6:3,4:94}),{12:[2,36]},e(n,[2,22]),{35:[2,31]},e(d,[2,33]),e(d,[2,35]),e(n,[2,19]),{12:[1,95]},{28:[2,29]},e(h,t,{6:3,4:96}),e(f,[2,30])],defaultActions:{4:[2,1],76:[2,54],81:[2,58],84:[2,52],87:[2,36],89:[2,31],94:[2,29]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=p.lex()||h,"number"!=typeof e&&(e=n.symbols_[e]||e),e}var n=this,i=[0],r=[null],a=[],o=this.table,l="",s=0,c=0,u=0,d=2,h=1,f=a.slice.call(arguments,1),p=Object.create(this.lexer),m={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(m.yy[g]=this.yy[g]);p.setInput(e,m.yy),m.yy.lexer=p,m.yy.parser=this,"undefined"==typeof p.yylloc&&(p.yylloc={});var v=p.yylloc;a.push(v);var b=p.options&&p.options.ranges;this.parseError="function"==typeof m.yy.parseError?m.yy.parseError:Object.getPrototypeOf(this).parseError;for(var y,w,C,_,x,L,E,T,k,A={};;){if(C=i[i.length-1],this.defaultActions[C]?_=this.defaultActions[C]:((null===y||"undefined"==typeof y)&&(y=t()),_=o[C]&&o[C][y]),"undefined"==typeof _||!_.length||!_[0]){var S="";k=[];for(L in o[C])this.terminals_[L]&&L>d&&k.push("'"+this.terminals_[L]+"'");S=p.showPosition?"Parse error on line "+(s+1)+":\n"+p.showPosition()+"\nExpecting "+k.join(", ")+", got '"+(this.terminals_[y]||y)+"'":"Parse error on line "+(s+1)+": Unexpected "+(y==h?"end of input":"'"+(this.terminals_[y]||y)+"'"),this.parseError(S,{text:p.match,token:this.terminals_[y]||y,line:p.yylineno,loc:v,expected:k})}if(_[0]instanceof Array&&_.length>1)throw new Error("Parse Error: multiple actions possible at state: "+C+", token: "+y);switch(_[0]){case 1:i.push(y),r.push(p.yytext),a.push(p.yylloc),i.push(_[1]),y=null,w?(y=w,w=null):(c=p.yyleng,l=p.yytext,s=p.yylineno,v=p.yylloc,u>0&&u--);break;case 2:if(E=this.productions_[_[1]][1],A.$=r[r.length-E],A._$={first_line:a[a.length-(E||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(E||1)].first_column,last_column:a[a.length-1].last_column},b&&(A._$.range=[a[a.length-(E||1)].range[0],a[a.length-1].range[1]]),x=this.performAction.apply(A,[l,c,s,m.yy,_[1],r,a].concat(f)),"undefined"!=typeof x)return x;E&&(i=i.slice(0,-1*E*2),r=r.slice(0,-1*E),a=a.slice(0,-1*E)),i.push(this.productions_[_[1]][0]),r.push(A.$),a.push(A._$),T=o[i[i.length-2]][i[i.length-1]],i.push(T);break;case 3:return!0}}return!0}},g=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,n=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===i.length?this.yylloc.first_column:0)+i[i.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var n,i,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),i=e[0].match(/(?:\r\n?|\n).*/g),i&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],n=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in r)this[a]=r[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,n,i;this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),a=0;a<r.length;a++)if(n=this._input.match(this.rules[r[a]]),n&&(!t||n[0].length>t[0].length)){if(t=n,i=a,this.options.backtrack_lexer){if(e=this.test_match(n,r[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,r[i]),e!==!1?e:!1):""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules
-},topState:function(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,n,i){switch(n){case 0:break;case 1:return t.yytext=t.yytext.substring(9,t.yytext.length-10),9;case 2:return 23;case 3:return 23;case 4:return 21;case 5:return 22;case 6:return 19;case 7:return 16;case 8:return 15;case 9:return 18;case 10:return 17;case 11:return 20;case 12:return 41;case 13:return 42;case 14:return 39;case 15:return 40;case 16:return this.begin("command"),24;case 17:return this.begin("command"),46;case 18:return this.begin("command"),46;case 19:return 44;case 20:return 28;case 21:return 36;case 22:return 37;case 23:return this.begin("command"),29;case 24:return this.begin("command"),31;case 25:return 32;case 26:return this.begin("command"),33;case 27:return 48;case 28:return 35;case 29:return 13;case 30:return this.popState(),12;case 31:return 12;case 32:return 14;case 33:return 5;case 34:return 11}},rules:[/^(?:\{\*.*\*\})/,/^(?:\{literal\}.*?\{\/literal\})/,/^(?:"([^"]|\\\.)*")/,/^(?:'([^']|\\\.)*')/,/^(?:\$)/,/^(?:[_a-zA-Z][_a-zA-Z0-9]*)/,/^(?:\.)/,/^(?:\[)/,/^(?:\])/,/^(?:\()/,/^(?:\))/,/^(?:=)/,/^(?:\{ldelim\})/,/^(?:\{rdelim\})/,/^(?:\{#)/,/^(?:\{@)/,/^(?:\{if )/,/^(?:\{else if )/,/^(?:\{elseif )/,/^(?:\{else\})/,/^(?:\{\/if\})/,/^(?:\{lang\})/,/^(?:\{\/lang\})/,/^(?:\{include )/,/^(?:\{implode )/,/^(?:\{\/implode\})/,/^(?:\{foreach )/,/^(?:\{foreachelse\})/,/^(?:\{\/foreach\})/,/^(?:\{)/,/^(?:\})/,/^(?:\})/,/^(?:\s+)/,/^(?:$)/,/^(?:[^{])/],conditions:{command:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34],inclusive:!0},INITIAL:{rules:[0,1,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,31,32,33,34],inclusive:!0}}};return e}();return m.lexer=g,m}),define("WoltLab/WCF/NumberUtil",[],function(){"use strict";var e={round:function(e,t){return"undefined"==typeof t||0===+t?Math.round(e):(e=+e,t=+t,isNaN(e)||"number"!=typeof t||t%1!==0?0/0:(e=e.toString().split("e"),e=Math.round(+(e[0]+"e"+(e[1]?+e[1]-t:-t))),e=e.toString().split("e"),+(e[0]+"e"+(e[1]?+e[1]+t:t))))}};return e}),define("WoltLab/WCF/StringUtil",["Language","./NumberUtil"],function(e,t){"use strict";var n={addThousandsSeparator:function(t){return void 0===e&&(e=require("Language")),String(t).replace(/(^-?\d{1,3}|\d{3})(?=(?:\d{3})+(?:$|\.))/g,"$1"+e.get("wcf.global.thousandsSeparator"))},escapeHTML:function(e){return String(e).replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")},escapeRegExp:function(e){return String(e).replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")},formatNumeric:function(n,i){void 0===e&&(e=require("Language")),n=String(t.round(n,i||-2));var r=n.split(".");return n=this.addThousandsSeparator(r[0]),r.length>1&&(n+=e.get("wcf.global.decimalPoint")+r[1]),n=n.replace("-","−")},lcfirst:function(e){return String(e).substring(0,1).toLowerCase()+e.substring(1)},ucfirst:function(e){return String(e).substring(0,1).toUpperCase()+e.substring(1)},unescapeHTML:function(e){return String(e).replace(/&amp;/g,"&").replace(/&quot;/g,'"').replace(/&lt;/g,"<").replace(/&gt;/g,">")}};return n}),define("WoltLab/WCF/Template",["./Template.grammar","./StringUtil","Language"],function(e,t,n){"use strict";function i(){this.yy={}}function r(i){void 0===n&&(n=require("Language"));try{i=e.parse(i),i="var tmp = {};\nfor (var key in v) tmp[key] = v[key];\nv = tmp;\nv.__wcf = window.WCF; v.__window = window;\nreturn "+i,this.fetch=new Function("StringUtil","Language","v",i).bind(void 0,t,n)}catch(r){throw console.debug(r.message),r}}return i.prototype=e,e.Parser=i,e=new i,Object.defineProperty(r,"callbacks",{enumerable:!1,configurable:!1,get:function(){throw new Error("WCF.Template.callbacks is no longer supported")},set:function(){throw new Error("WCF.Template.callbacks is no longer supported")}}),r.prototype={fetch:function(){throw new Error("This Template is not initialized.")}},r}),define("WoltLab/WCF/Language",["Dictionary","./Template"],function(e,t){"use strict";var n=new e,i={addObject:function(t){n.merge(e.fromObject(t))},add:function(e,t){n.set(e,t)},get:function(e,i){i||(i={});var r=n.get(e);return void 0===r?(console.warn("Attempt to retrieve unknown phrase '"+e+"'."),console.warn((new Error).stack),e):("string"==typeof r&&(n.set(e,new t(r)),r=n.get(e)),r instanceof t&&(r=r.fetch(i)),r)}};return i}),define("WoltLab/WCF/CallbackList",["Dictionary"],function(e){"use strict";function t(){this._dictionary=new e}return t.prototype={add:function(e,t){if("function"!=typeof t)throw new TypeError("Expected a valid callback as second argument for identifier '"+e+"'.");this._dictionary.has(e)||this._dictionary.set(e,[]),this._dictionary.get(e).push(t)},remove:function(e){this._dictionary["delete"](e)},forEach:function(e,t){if(null===e)this._dictionary.forEach(function(e){e.forEach(t)});else{var n=this._dictionary.get(e);void 0!==n&&n.forEach(t)}}},t}),define("WoltLab/WCF/Dom/Change/Listener",["CallbackList"],function(e){"use strict";var t=new e,n=!1,i={add:t.add.bind(t),remove:t.remove.bind(t),trigger:function(){if(!n)try{n=!0,t.forEach(null,function(e){e()})}finally{n=!1}}};return i}),define("WoltLab/WCF/Dom/Util",[],function(){"use strict";for(var e="",t=["matches","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector"],n=0;4>n;n++)if(Element.prototype.hasOwnProperty(t[n])){e=t[n];break}var i=0,r={createFragmentFromHtml:function(e){var t=elCreate("div");t.innerHTML=e;for(var n=document.createDocumentFragment();t.childNodes.length;)n.appendChild(t.childNodes[0]);return n},getUniqueId:function(){var e;do e="wcf"+i++;while(null!==elById(e));return e},identify:function(e){if(!(e&&e instanceof Element))return null;var t=elAttr(e,"id");return t||(t=this.getUniqueId(),elAttr(e,"id",t)),t},matches:function(t,n){return t[e](n)},outerHeight:function(e,t){t=t||window.getComputedStyle(e);var n=e.offsetHeight;return n+=~~t.marginTop+~~t.marginBottom},outerWidth:function(e,t){t=t||window.getComputedStyle(e);var n=e.offsetWidth;return n+=~~t.marginLeft+~~t.marginRight},outerDimensions:function(e){var t=window.getComputedStyle(e);return{height:this.outerHeight(e,t),width:this.outerWidth(e,t)}},offset:function(e){var t=e.getBoundingClientRect();return{top:t.top+document.body.scrollTop,left:t.left+document.body.scrollLeft}},prepend:function(e,t){0===t.childElementCount?t.appendChild(e):t.insertBefore(e,t.children[0])},insertAfter:function(e,t){null!==t.nextElementSibling?t.parentNode.insertBefore(e,t.nextElementSibling):t.parentNode.appendChild(e)},setStyles:function(e,t){for(var n in t)t.hasOwnProperty(n)&&e.style.setProperty(n,t[n])},styleAsInt:function(e,t){var n=e.getPropertyValue(t);return null===n?0:parseInt(n)}};return window.bc_wcfDomUtil=r,r}),function(e,t,n){var i=window.matchMedia;"undefined"!=typeof module&&module.exports?module.exports=n(i):"function"==typeof define&&define.amd?define("enquire",[],function(){return t[e]=n(i)}):t[e]=n(i)}("enquire",this,function(e){"use strict";function t(e,t){var n,i=0,r=e.length;for(i;r>i&&(n=t(e[i],i),n!==!1);i++);}function n(e){return"[object Array]"===Object.prototype.toString.apply(e)}function i(e){return"function"==typeof e}function r(e){this.options=e,!e.deferSetup&&this.setup()}function a(t,n){this.query=t,this.isUnconditional=n,this.handlers=[],this.mql=e(t);var i=this;this.listener=function(e){i.mql=e,i.assess()},this.mql.addListener(this.listener)}function o(){if(!e)throw new Error("matchMedia not present, legacy browsers require a polyfill");this.queries={},this.browserIsIncapable=!e("only all").matches}return r.prototype={setup:function(){this.options.setup&&this.options.setup(),this.initialised=!0},on:function(){!this.initialised&&this.setup(),this.options.match&&this.options.match()},off:function(){this.options.unmatch&&this.options.unmatch()},destroy:function(){this.options.destroy?this.options.destroy():this.off()},equals:function(e){return this.options===e||this.options.match===e}},a.prototype={addHandler:function(e){var t=new r(e);this.handlers.push(t),this.matches()&&t.on()},removeHandler:function(e){var n=this.handlers;t(n,function(t,i){return t.equals(e)?(t.destroy(),!n.splice(i,1)):void 0})},matches:function(){return this.mql.matches||this.isUnconditional},clear:function(){t(this.handlers,function(e){e.destroy()}),this.mql.removeListener(this.listener),this.handlers.length=0},assess:function(){var e=this.matches()?"on":"off";t(this.handlers,function(t){t[e]()})}},o.prototype={register:function(e,r,o){var l=this.queries,s=o&&this.browserIsIncapable;return l[e]||(l[e]=new a(e,s)),i(r)&&(r={match:r}),n(r)||(r=[r]),t(r,function(t){i(t)&&(t={match:t}),l[e].addHandler(t)}),this},unregister:function(e,t){var n=this.queries[e];return n&&(t?n.removeHandler(t):(n.clear(),delete this.queries[e])),this}},new o}),define("WoltLab/WCF/Environment",[],function(){"use strict";var e="other",t="none",n="desktop",i=!1,r={setup:function(){if("object"==typeof window.chrome)e="chrome";else for(var r=window.getComputedStyle(document.documentElement),a=0,o=r.length;o>a;a++){var l=r[a];0===l.indexOf("-ms-")?e="microsoft":0===l.indexOf("-moz-")?e="firefox":0===l.indexOf("-webkit-")&&(e="safari")}var s=window.navigator.userAgent.toLowerCase();-1!==s.indexOf("crios")?(e="chrome",n="ios"):/(?:iphone|ipad|ipod)/.test(s)?(e="safari",n="ios"):-1!==s.indexOf("android")?n="android":-1!==s.indexOf("iemobile")&&(e="microsoft",n="windows"),"desktop"!==n||-1===s.indexOf("mobile")&&-1===s.indexOf("tablet")||(n="mobile"),t="redactor",i=!!("ontouchstart"in window)||!!("msMaxTouchPoints"in window.navigator)&&window.navigator.msMaxTouchPoints>0||window.DocumentTouch&&document instanceof DocumentTouch},browser:function(){return e},editor:function(){return t},platform:function(){return n},touch:function(){return i}};return r}),define("WoltLab/WCF/ObjectMap",[],function(){"use strict";function e(){this._map=t?new WeakMap:{key:[],value:[]}}var t=objOwns(window,"WeakMap")&&"function"==typeof window.WeakMap;return e.prototype={set:function(e,n){if("object"!=typeof e||null===e)throw new TypeError("Only objects can be used as key");if("object"!=typeof n||null===n)throw new TypeError("Only objects can be used as value");t?this._map.set(e,n):(this._map.key.push(e),this._map.value.push(n))},"delete":function(e){if(t)this._map["delete"](e);else{var n=this._map.key.indexOf(e);this._map.key.splice(n),this._map.value.splice(n)}},has:function(e){return t?this._map.has(e):-1!==this._map.key.indexOf(e)},get:function(e){if(t)return this._map.get(e);var n=this._map.key.indexOf(e);return-1!==n?this._map.value[n]:void 0}},e}),define("WoltLab/WCF/Ui/Confirmation",["Core","Language","Ui/Dialog"],function(e,t,n){"use strict";var i=!1,r=null,a=null,o={},l=null,s={show:function(t){if(void 0===n&&(n=require("Ui/Dialog")),!i){if(o=e.extend({cancel:null,confirm:null,legacyCallback:null,message:"",parameters:{},template:""},t),o.message="string"==typeof o.message?o.message.trim():"",!o.message.length)throw new Error("Expected a non-empty string for option 'message'.");if("function"!=typeof o.confirm&&"function"!=typeof o.legacyCallback)throw new TypeError("Expected a valid callback for option 'confirm'.");null===a&&this._createDialog(),a.innerHTML="string"==typeof t.template?t.template.trim():"",l.textContent=o.message,i=!0,n.open(this)}},_dialogSetup:function(){return{id:"wcfSystemConfirmation",options:{onClose:this._onClose.bind(this),onShow:this._onShow.bind(this),title:t.get("wcf.global.confirmation.title")}}},getContentElement:function(){return a},_createDialog:function(){var e=elCreate("div");elAttr(e,"id","wcfSystemConfirmation"),e.classList.add("systemConfirmation"),l=elCreate("p"),e.appendChild(l),a=elCreate("div"),elAttr(a,"id","wcfSystemConfirmationContent"),e.appendChild(a);var i=elCreate("div");i.classList.add("formSubmit"),e.appendChild(i),r=elCreate("button"),r.classList.add("buttonPrimary"),r.textContent=t.get("wcf.global.confirmation.confirm"),r.addEventListener("click",this._confirm.bind(this)),i.appendChild(r);var o=elCreate("button");o.textContent=t.get("wcf.global.confirmation.cancel"),o.addEventListener("click",function(){n.close("wcfSystemConfirmation")}),i.appendChild(o),document.body.appendChild(e)},_confirm:function(){"function"==typeof o.legacyCallback?o.legacyCallback("confirm",o.parameters):o.confirm(o.parameters),i=!1,n.close("wcfSystemConfirmation")},_onClose:function(){i&&(r.blur(),i=!1,"function"==typeof o.legacyCallback?o.legacyCallback("cancel",o.parameters):"function"==typeof o.cancel&&o.cancel(o.parameters))},_onShow:function(){r.blur(),r.focus()}};return s}),define("WoltLab/WCF/Ui/Dialog",["enquire","Ajax","Core","Dictionary","Environment","Language","ObjectMap","Dom/ChangeListener","Dom/Util","Ui/Confirmation"],function(e,t,n,i,r,a,o,l,s,c){"use strict";var u=null,d=null,h=new i,f=new o,p=!1,m=null,g={setup:function(){void 0===t&&(t=require("Ajax")),d=elCreate("div"),d.classList.add("dialogOverlay"),elAttr(d,"aria-hidden","true"),d.addEventListener("click",this._closeOnBackdrop.bind(this)),document.body.appendChild(d),m=function(e){return 27===e.keyCode&&"INPUT"!==e.target.nodeName&&"TEXTAREA"!==e.target.nodeName?(this.close(u),!1):!0}.bind(this),e.register("screen and (max-width: 800px)",{match:function(){p=!0},unmatch:function(){p=!1},setup:function(){p=!0},deferSetup:!0})},open:function(e,i){var r=f.get(e);if(n.isPlainObject(r))return this.openStatic(r.id,i);if("function"!=typeof e._dialogSetup)throw new Error("Callback object does not implement the method '_dialogSetup()'.");var a=e._dialogSetup();if(!n.isPlainObject(a))throw new Error("Expected an object literal as return value of '_dialogSetup()'.");r={id:a.id};var o=!0;if(void 0===a.source){var l=elById(a.id);if(null===l)throw new Error("Element id '"+a.id+"' is invalid and no source attribute was given.");a.source=document.createDocumentFragment(),a.source.appendChild(l)}else if(null===a.source)a.source=i;else if("function"==typeof a.source)a.source();else if(n.isPlainObject(a.source))t.api(this,a.source.data,function(t){t.returnValues&&"string"==typeof t.returnValues.template&&(this.open(e,t.returnValues.template),"function"==typeof a.source.after&&a.source.after(h.get(a.id).content,t))}.bind(this));else{if("string"==typeof a.source){var l=elCreate("div");elAttr(l,"id",a.id),l.innerHTML=a.source,a.source=document.createDocumentFragment(),a.source.appendChild(l)}if(!a.source.nodeType||a.source.nodeType!==Node.DOCUMENT_FRAGMENT_NODE)throw new Error("Expected at least a document fragment as 'source' attribute.");o=!1}return f.set(e,r),this.openStatic(a.id,a.source,a.options,o)},openStatic:function(e,t,i){return h.has(e)?this._updateDialog(e,t):(i=n.extend({backdropCloseOnClick:!0,closable:!0,closeButtonLabel:a.get("wcf.global.button.close"),closeConfirmMessage:"",disableContentPadding:!1,disposeOnClose:!1,title:"",onBeforeClose:null,onClose:null,onShow:null},i),i.closable||(i.backdropCloseOnClick=!1),i.closeConfirmMessage&&(i.onBeforeClose=function(e){c.show({confirm:this.close.bind(this,e),message:i.closeConfirmMessage})}.bind(this)),this._createDialog(e,t,i)),h.get(e)},setTitle:function(e,t){var n=h.get(e);if(void 0===n)throw new Error("Expected a valid dialog id, '"+e+"' does not match any active dialog.");var i=DomTraverse.childrenByTag(n.dialog,"HEADER");DomTraverse.childrenByTag(i[0],"SPAN").textContent=t},_createDialog:function(e,t,n,i){var r=null;if(null===t&&(r=elById(e),null===r))throw new Error("Expected either a HTML string or an existing element id.");var a=elCreate("div");a.classList.add("dialogContainer"),elAttr(a,"aria-hidden","true"),elAttr(a,"role","dialog"),elAttr(a,"data-id",e),n.disposeOnClose&&elAttr(a,"data-dispose-on-close",!0);var o=elCreate("header");if(a.appendChild(o),n.title){var l=s.getUniqueId();elAttr(a,"aria-labelledby",l);var c=elCreate("span");c.classList.add("dialogTitle"),c.textContent=n.title,elAttr(c,"id",l),o.appendChild(c)}if(n.closable){var u=elCreate("a");u.className="dialogCloseButton jsTooltip",elAttr(u,"title",n.closeButtonLabel),elAttr(u,"aria-label",n.closeButtonLabel),u.addEventListener("click",this._close.bind(this)),o.appendChild(u);var f=elCreate("span");f.textContent=n.closeButtonLabel,u.appendChild(f)}var p=elCreate("div");p.classList.add("dialogContent"),n.disableContentPadding&&p.classList.add("dialogContentNoPadding"),a.appendChild(p);var m;null===r?(m=elCreate("div"),"string"==typeof t?m.innerHTML=t:t instanceof DocumentFragment&&("div"!==t.children[0].nodeName||t.childElementCount>1?m.appendChild(t):m=t.children[0]),m.id=e):m=r,p.appendChild(m),"none"===m.style.getPropertyValue("display")&&m.style.removeProperty("display"),h.set(e,{backdropCloseOnClick:n.backdropCloseOnClick,content:m,dialog:a,header:o,onBeforeClose:n.onBeforeClose,onClose:n.onClose,onShow:n.onShow}),s.prepend(a,d),i!==!0&&this._updateDialog(e,null)},_updateDialog:function(e,t){var n=h.get(e);if(void 0===n)throw new Error("Expected a valid dialog id, '"+e+"' does not match any active dialog.");if("string"==typeof t){n.content.innerHTML="";var i=elCreate("div");i.innerHTML=t,n.content.appendChild(i)}"true"===elAttr(n.dialog,"aria-hidden")&&("true"===elAttr(d,"aria-hidden")&&window.addEventListener("keyup",m),elAttr(n.dialog,"aria-hidden","false"),elAttr(d,"aria-hidden","false"),elAttr(d,"data-close-on-click",n.backdropCloseOnClick?"true":"false"),u=e,this.rebuild(e),"function"==typeof n.onShow&&n.onShow(e)),l.trigger()},rebuild:function(e){var t=h.get(e);if(void 0===t)throw new Error("Expected a valid dialog id, '"+e+"' does not match any active dialog.");if("true"!==elAttr(t.dialog,"aria-hidden")){var n=t.content.parentNode,i=elBySel(".formSubmit",t.content),a=0;null!==i?(n.classList.add("dialogForm"),i.classList.add("dialogFormSubmit"),a+=s.outerHeight(i),n.style.setProperty("margin-bottom",a+"px")):n.classList.remove("dialogForm"),a+=s.outerHeight(t.header);var o=window.innerHeight*(p?1:.8)-a;n.style.setProperty("max-height",~~o+"px"),"chrome"===r.browser()&&(t.content.scrollHeight>o?t.content.style.setProperty("margin-right","-1px"):t.content.style.removeProperty("margin-right"))}},_close:function(e){e.preventDefault();var t=h.get(u);return"function"==typeof t.onBeforeClose?(t.onBeforeClose(u),!1):void this.close(u)},_closeOnBackdrop:function(e){return e.target!==d?!0:void("true"===elAttr(d,"data-close-on-click")?this._close(e):e.preventDefault())},close:function(e){if("object"==typeof e){var t=f.get(e);void 0!==t&&(e=t.id)}var n=h.get(e);if(void 0===n)throw new Error("Expected a valid dialog id, '"+e+"' does not match any active dialog.");"function"==typeof n.onClose&&n.onClose(e),elAttr(n.dialog,"data-dispose-on-close")?setTimeout(function(){"true"===elAttr(n.dialog,"aria-hidden")&&(d.removeChild(n.dialog),h["delete"](e))},5e3):elAttr(n.dialog,"aria-hidden","true"),u=null;for(var i=0;i<d.childElementCount;i++){var r=d.children[i];if("false"===elAttr(r,"aria-hidden")){u=elAttr(r,"data-id");break}}null===u?(elAttr(d,"aria-hidden","true"),elAttr(d,"data-close-on-click","false"),window.removeEventListener("keyup",m)):(n=h.get(u),elAttr(d,"data-close-on-click",n.backdropCloseOnClick?"true":"false"))},getDialog:function(e){return h.get(e)},_ajaxSetup:function(){return{}}};return g}),define("WoltLab/WCF/Ajax/Status",["Language"],function(e){"use strict";var t=0,n=null,i=null,r={_init:function(){n=elCreate("div"),n.classList.add("spinner");var t=elCreate("span");t.className="icon icon48 fa-spinner",n.appendChild(t);var i=elCreate("span");i.textContent=e.get("wcf.global.loading"),n.appendChild(i),document.body.appendChild(n)},show:function(){null===n&&this._init(),t++,null===i&&(i=window.setTimeout(function(){t&&n.classList.add("active"),i=null},250))},hide:function(){t--,0===t&&(null!==i&&window.clearTimeout(i),n.classList.remove("active"))}};return r}),define("WoltLab/WCF/Ajax/Request",["Core","Language","Dom/ChangeListener","Dom/Util","Ui/Dialog","WoltLab/WCF/Ajax/Status"],function(e,t,n,i,r,a){"use strict";function o(e){this._data=null,this._options={},this._previousXhr=null,this._xhr=null,this._init(e)}var l=!1,s=!1;return o.prototype={_init:function(t){this._options=e.extend({data:{},responseType:"application/json",type:"POST",url:"",autoAbort:!1,ignoreError:!1,pinData:!1,silent:!1,failure:null,finalize:null,success:null,callbackObject:null},t),"object"==typeof t.callbackObject&&(this._options.callbackObject=t.callbackObject),this._options.url=e.convertLegacyUrl(this._options.url),this._options.pinData&&(this._data=e.extend({},this._options.data)),null!==this._options.callbackObject&&("function"==typeof this._options.callbackObject._ajaxFailure&&(this._options.failure=this._options.callbackObject._ajaxFailure.bind(this._options.callbackObject)),"function"==typeof this._options.callbackObject._ajaxFinalize&&(this._options.finalize=this._options.callbackObject._ajaxFinalize.bind(this._options.callbackObject)),"function"==typeof this._options.callbackObject._ajaxSuccess&&(this._options.success=this._options.callbackObject._ajaxSuccess.bind(this._options.callbackObject))),l===!1&&(l=!0,window.addEventListener("beforeunload",function(){s=!0}))},sendRequest:function(t){(t===!0||this._options.autoAbort)&&this.abortPrevious(),this._options.silent||a.show(),this._xhr instanceof XMLHttpRequest&&(this._previousXhr=this._xhr),this._xhr=new XMLHttpRequest,this._xhr.open(this._options.type,this._options.url,!0),this._xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8"),this._xhr.setRequestHeader("X-Requested-With","XMLHttpRequest");var n=this,i=e.clone(this._options);if(this._xhr.onload=function(){this.readyState===XMLHttpRequest.DONE&&(this.status>=200&&this.status<300||304===this.status?i.responseType&&i.responseType!==this.getResponseHeader("Content-Type")?n._failure(this,i):n._success(this,i):n._failure(this,i))},this._xhr.onerror=function(){n._failure(this,i)},"POST"===this._options.type){var r=this._options.data;"object"==typeof r&&(r=e.serialize(r)),this._xhr.send(r)}else this._xhr.send()},abortPrevious:function(){null!==this._previousXhr&&(this._previousXhr.abort(),this._previousXhr=null,this._options.silent||a.hide())},setOption:function(e,t){this._options[e]=t},getOption:function(e){return this._options.hasOwnProperty(e)?this._options[e]:null},setData:function(t){null!==this._data&&(t=e.extend(this._data,t)),this._options.data=t},_success:function(e,t){if(t.silent||a.hide(),"function"==typeof t.success){var n=null;if("application/json"===e.getResponseHeader("Content-Type")){try{n=JSON.parse(e.responseText)}catch(i){return void this._failure(e,t)}n&&n.returnValues&&void 0!==n.returnValues.template&&(n.returnValues.template=n.returnValues.template.trim())}t.success(n,e.responseText,e,t.data)}this._finalize(t)},_failure:function(e,n){if(!s){n.silent||a.hide();var o=null;try{o=JSON.parse(e.responseText)}catch(l){}var c=!0;if("function"==typeof n.failure&&(c=n.failure(o,e.responseText,e,n.data)),n.ignoreError!==!0&&c!==!1){var u="",d="";if(null!==o?(o.stacktrace?u="<br /><p>Stacktrace:</p><p>"+o.stacktrace+"</p>":o.exceptionID&&(u="<br /><p>Exception ID: <code>"+o.exceptionID+"</code></p>"),d=o.message):d=e.responseText,!d||"undefined"===d)return;var h='<div class="ajaxDebugMessage"><p>'+d+"</p>"+u+"</div>";r.openStatic(i.getUniqueId(),h,{title:t.get("wcf.global.error.title")})}this._finalize(n)}},_finalize:function(e){"function"==typeof e.finalize&&e.finalize(this._xhr),this._previousXhr=null,n.trigger();for(var t=elBySelAll('a[href*="#"]'),i=0,r=t.length;r>i;i++){var a=t[i],o=elAttr(a,"href");(-1!==o.indexOf("AJAXProxy")||-1!==o.indexOf("ajax-proxy"))&&(o=o.substr(o.indexOf("#")),elAttr(a,"href",document.location.toString().replace(/#.*/,"")+o))}}},o}),define("WoltLab/WCF/Ajax",["AjaxRequest","Core","ObjectMap"],function(e,t,n){"use strict";var i=new n,r={api:function(t,n,r,a){"object"!=typeof n&&(n={});var o=i.get(t);if(void 0===o){if("function"!=typeof t._ajaxSetup)throw new TypeError("Callback object must implement at least _ajaxSetup().");var l=t._ajaxSetup();l.pinData=!0,l.callbackObject=t,l.url||(l.url="index.php/AJAXProxy/?t="+SECURITY_TOKEN),o=new e(l),i.set(t,o)}var s=null,c=null;return"function"==typeof r&&(s=o.getOption("success"),o.setOption("success",r)),"function"==typeof a&&(c=o.getOption("failure"),o.setOption("failure",a)),o.setData(n),o.sendRequest(),null!==s&&o.setOption("success",s),null!==c&&o.setOption("failure",c),o},apiOnce:function(t){t.pinData=!1,t.callbackObject=null,t.url||(t.url="index.php/AJAXProxy/?t="+SECURITY_TOKEN);var n=new e(t);n.sendRequest()}};return r}),function(){var e=function(e){"use strict";function t(e){if(e.paused||e.ended||g)return!1;try{u.clearRect(0,0,s,l),u.drawImage(e,0,0,s,l)}catch(n){}y=setTimeout(t,D.duration,e),M.setIcon(c)}function n(e){var t=/^#?([a-f\d])([a-f\d])([a-f\d])$/i;e=e.replace(t,function(e,t,n,i){return t+t+n+n+i+i});var n=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return n?{r:parseInt(n[1],16),g:parseInt(n[2],16),b:parseInt(n[3],16)}:!1}function i(e,t){var n,i={};for(n in e)i[n]=e[n];for(n in t)i[n]=t[n];return i}function r(){return document.hidden||document.msHidden||document.webkitHidden||document.mozHidden}e=e?e:{};var a,o,l,s,c,u,d,h,f,p,m,g,v,b,y,w={bgColor:"#d00",textColor:"#fff",fontFamily:"sans-serif",fontStyle:"bold",type:"circle",position:"down",animation:"slide",elementId:!1,dataUrl:!1};v={},v.ff="undefined"!=typeof InstallTrigger,v.chrome=!!window.chrome,v.opera=!!window.opera||navigator.userAgent.indexOf("Opera")>=0,v.ie=!1,v.safari=Object.prototype.toString.call(window.HTMLElement).indexOf("Constructor")>0,v.supported=v.chrome||v.ff||v.opera;var C=[];m=function(){},h=g=!1;var _=function(){a=i(w,e),a.bgColor=n(a.bgColor),a.textColor=n(a.textColor),a.position=a.position.toLowerCase(),a.animation=D.types[""+a.animation]?a.animation:w.animation;var t=a.position.indexOf("up")>-1,r=a.position.indexOf("left")>-1;if(t||r)for(var h=0;h<D.types[""+a.animation].length;h++){var f=D.types[""+a.animation][h];t&&(f.y=f.y<.6?f.y-.4:f.y-2*f.y+(1-f.w)),r&&(f.x=f.x<.6?f.x-.4:f.x-2*f.x+(1-f.h)),D.types[""+a.animation][h]=f}a.type=L[""+a.type]?a.type:w.type,o=M.getIcon(),c=document.createElement("canvas"),d=document.createElement("img"),o.hasAttribute("href")?(d.setAttribute("src",o.getAttribute("href")),d.onload=function(){l=d.height>0?d.height:32,s=d.width>0?d.width:32,c.height=l,c.width=s,u=c.getContext("2d"),x.ready()}):(d.setAttribute("src",""),l=32,s=32,d.height=l,d.width=s,c.height=l,c.width=s,u=c.getContext("2d"),x.ready())},x={};x.ready=function(){h=!0,x.reset(),m()},x.reset=function(){h&&(C=[],f=!1,p=!1,u.clearRect(0,0,s,l),u.drawImage(d,0,0,s,l),M.setIcon(c),window.clearTimeout(b),window.clearTimeout(y))},x.start=function(){if(h&&!p){var e=function(){f=C[0],p=!1,C.length>0&&(C.shift(),x.start())};if(C.length>0){p=!0;var t=function(){["type","animation","bgColor","textColor","fontFamily","fontStyle"].forEach(function(e){e in C[0].options&&(a[e]=C[0].options[e])}),D.run(C[0].options,function(){e()},!1)};f?D.run(f.options,function(){t()},!0):t()}}};var L={},E=function(e){return e.n="number"==typeof e.n?Math.abs(0|e.n):e.n,e.x=s*e.x,e.y=l*e.y,e.w=s*e.w,e.h=l*e.h,e.len=(""+e.n).length,e};L.circle=function(e){e=E(e);var t=!1;2===e.len?(e.x=e.x-.4*e.w,e.w=1.4*e.w,t=!0):e.len>=3&&(e.x=e.x-.65*e.w,e.w=1.65*e.w,t=!0),u.clearRect(0,0,s,l),u.drawImage(d,0,0,s,l),u.beginPath(),u.font=a.fontStyle+" "+Math.floor(e.h*(e.n>99?.85:1))+"px "+a.fontFamily,u.textAlign="center",t?(u.moveTo(e.x+e.w/2,e.y),u.lineTo(e.x+e.w-e.h/2,e.y),u.quadraticCurveTo(e.x+e.w,e.y,e.x+e.w,e.y+e.h/2),u.lineTo(e.x+e.w,e.y+e.h-e.h/2),u.quadraticCurveTo(e.x+e.w,e.y+e.h,e.x+e.w-e.h/2,e.y+e.h),u.lineTo(e.x+e.h/2,e.y+e.h),u.quadraticCurveTo(e.x,e.y+e.h,e.x,e.y+e.h-e.h/2),u.lineTo(e.x,e.y+e.h/2),u.quadraticCurveTo(e.x,e.y,e.x+e.h/2,e.y)):u.arc(e.x+e.w/2,e.y+e.h/2,e.h/2,0,2*Math.PI),u.fillStyle="rgba("+a.bgColor.r+","+a.bgColor.g+","+a.bgColor.b+","+e.o+")",u.fill(),u.closePath(),u.beginPath(),u.stroke(),u.fillStyle="rgba("+a.textColor.r+","+a.textColor.g+","+a.textColor.b+","+e.o+")","number"==typeof e.n&&e.n>999?u.fillText((e.n>9999?9:Math.floor(e.n/1e3))+"k+",Math.floor(e.x+e.w/2),Math.floor(e.y+e.h-.2*e.h)):u.fillText(e.n,Math.floor(e.x+e.w/2),Math.floor(e.y+e.h-.15*e.h)),u.closePath()},L.rectangle=function(e){e=E(e);var t=!1;2===e.len?(e.x=e.x-.4*e.w,e.w=1.4*e.w,t=!0):e.len>=3&&(e.x=e.x-.65*e.w,e.w=1.65*e.w,t=!0),u.clearRect(0,0,s,l),u.drawImage(d,0,0,s,l),u.beginPath(),u.font=a.fontStyle+" "+Math.floor(e.h*(e.n>99?.9:1))+"px "+a.fontFamily,u.textAlign="center",u.fillStyle="rgba("+a.bgColor.r+","+a.bgColor.g+","+a.bgColor.b+","+e.o+")",u.fillRect(e.x,e.y,e.w,e.h),u.fillStyle="rgba("+a.textColor.r+","+a.textColor.g+","+a.textColor.b+","+e.o+")","number"==typeof e.n&&e.n>999?u.fillText((e.n>9999?9:Math.floor(e.n/1e3))+"k+",Math.floor(e.x+e.w/2),Math.floor(e.y+e.h-.2*e.h)):u.fillText(e.n,Math.floor(e.x+e.w/2),Math.floor(e.y+e.h-.15*e.h)),u.closePath()};var T=function(e,t){t=("string"==typeof t?{animation:t}:t)||{},m=function(){try{if("number"==typeof e?e>0:""!==e){var i={type:"badge",options:{n:e}};if("animation"in t&&D.types[""+t.animation]&&(i.options.animation=""+t.animation),"type"in t&&L[""+t.type]&&(i.options.type=""+t.type),["bgColor","textColor"].forEach(function(e){e in t&&(i.options[e]=n(t[e]))}),["fontStyle","fontFamily"].forEach(function(e){e in t&&(i.options[e]=t[e])}),C.push(i),C.length>100)throw"Too many badges requests in queue.";x.start()}else x.reset()}catch(r){throw"Error setting badge. Message: "+r.message}},h&&m()},k=function(e){m=function(){try{var t=e.width,n=e.height,i=document.createElement("img"),r=n/l>t/s?t/s:n/l;i.setAttribute("src",e.getAttribute("src")),i.height=n/r,i.width=t/r,u.clearRect(0,0,s,l),u.drawImage(i,0,0,s,l),M.setIcon(c)}catch(a){throw"Error setting image. Message: "+a.message}},h&&m()},A=function(e){m=function(){try{if("stop"===e)return g=!0,x.reset(),void(g=!1);e.addEventListener("play",function(){t(this)},!1)}catch(n){throw"Error setting video. Message: "+n.message}},h&&m()},S=function(e){if(window.URL&&window.URL.createObjectURL||(window.URL=window.URL||{},window.URL.createObjectURL=function(e){return e}),v.supported){var n=!1;navigator.getUserMedia=navigator.getUserMedia||navigator.oGetUserMedia||navigator.msGetUserMedia||navigator.mozGetUserMedia||navigator.webkitGetUserMedia,m=function(){try{if("stop"===e)return g=!0,x.reset(),void(g=!1);n=document.createElement("video"),n.width=s,n.height=l,navigator.getUserMedia({video:!0,audio:!1},function(e){n.src=URL.createObjectURL(e),n.play(),t(n)},function(){})}catch(i){throw"Error setting webcam. Message: "+i.message}},h&&m()}},M={};M.getIcon=function(){var e=!1,t=function(){for(var e=document.getElementsByTagName("head")[0].getElementsByTagName("link"),t=e.length,n=t-1;n>=0;n--)if(/(^|\s)icon(\s|$)/i.test(e[n].getAttribute("rel")))return e[n];return!1};return a.element?e=a.element:a.elementId?(e=document.getElementById(a.elementId),e.setAttribute("href",e.getAttribute("src"))):(e=t(),e===!1&&(e=document.createElement("link"),e.setAttribute("rel","icon"),document.getElementsByTagName("head")[0].appendChild(e))),e.setAttribute("type","image/png"),e},M.setIcon=function(e){var t=e.toDataURL("image/png");if(a.dataUrl&&a.dataUrl(t),a.element)a.element.setAttribute("src",t);else if(a.elementId)document.getElementById(a.elementId).setAttribute("src",t);else if(v.ff||v.opera){var n=o;o=document.createElement("link"),v.opera&&o.setAttribute("rel","icon"),o.setAttribute("rel","icon"),o.setAttribute("type","image/png"),document.getElementsByTagName("head")[0].appendChild(o),o.setAttribute("href",t),n.parentNode&&n.parentNode.removeChild(n)}else o.setAttribute("href",t)};var D={};return D.duration=40,D.types={},D.types.fade=[{x:.4,y:.4,w:.6,h:.6,o:0},{x:.4,y:.4,w:.6,h:.6,o:.1},{x:.4,y:.4,w:.6,h:.6,o:.2},{x:.4,y:.4,w:.6,h:.6,o:.3},{x:.4,y:.4,w:.6,h:.6,o:.4},{x:.4,y:.4,w:.6,h:.6,o:.5},{x:.4,y:.4,w:.6,h:.6,o:.6},{x:.4,y:.4,w:.6,h:.6,o:.7},{x:.4,y:.4,w:.6,h:.6,o:.8},{x:.4,y:.4,w:.6,h:.6,o:.9},{x:.4,y:.4,w:.6,h:.6,o:1}],D.types.none=[{x:.4,y:.4,w:.6,h:.6,o:1}],D.types.pop=[{x:1,y:1,w:0,h:0,o:1},{x:.9,y:.9,w:.1,h:.1,o:1},{x:.8,y:.8,w:.2,h:.2,o:1},{x:.7,y:.7,w:.3,h:.3,o:1},{x:.6,y:.6,w:.4,h:.4,o:1},{x:.5,y:.5,w:.5,h:.5,o:1},{x:.4,y:.4,w:.6,h:.6,o:1}],D.types.popFade=[{x:.75,y:.75,w:0,h:0,o:0},{x:.65,y:.65,w:.1,h:.1,o:.2},{x:.6,y:.6,w:.2,h:.2,o:.4},{x:.55,y:.55,w:.3,h:.3,o:.6},{x:.5,y:.5,w:.4,h:.4,o:.8},{x:.45,y:.45,w:.5,h:.5,o:.9},{x:.4,y:.4,w:.6,h:.6,o:1}],D.types.slide=[{x:.4,y:1,w:.6,h:.6,o:1},{x:.4,y:.9,w:.6,h:.6,o:1},{x:.4,y:.9,w:.6,h:.6,o:1},{x:.4,y:.8,w:.6,h:.6,o:1},{x:.4,y:.7,w:.6,h:.6,o:1},{x:.4,y:.6,w:.6,h:.6,o:1},{x:.4,y:.5,w:.6,h:.6,o:1},{x:.4,y:.4,w:.6,h:.6,o:1}],D.run=function(e,t,n,o){var l=D.types[r()?"none":a.animation];
-return o=n===!0?"undefined"!=typeof o?o:l.length-1:"undefined"!=typeof o?o:0,t=t?t:function(){},o<l.length&&o>=0?(L[a.type](i(e,l[o])),b=setTimeout(function(){n?o-=1:o+=1,D.run(e,t,n,o)},D.duration),M.setIcon(c),void 0):void t()},_(),{badge:T,video:A,image:k,webcam:S,reset:x.reset,browser:{supported:v.supported}}};"undefined"!=typeof define&&define.amd?define("favico",[],function(){return e}):"undefined"!=typeof module&&module.exports?module.exports=e:this.Favico=e}(),function e(t,n,i){function r(o,l){if(!n[o]){if(!t[o]){var s="function"==typeof require&&require;if(!l&&s)return s(o,!0);if(a)return a(o,!0);var c=new Error("Cannot find module '"+o+"'");throw c.code="MODULE_NOT_FOUND",c}var u=n[o]={exports:{}};t[o][0].call(u.exports,function(e){var n=t[o][1][e];return r(n?n:e)},u,u.exports,e,t,n,i)}return n[o].exports}for(var a="function"==typeof require&&require,o=0;o<i.length;o++)r(i[o]);return r}({1:[function(e){"use strict";var t=e("../main");"function"==typeof define&&define.amd?define("perfect-scrollbar",t):(window.PerfectScrollbar=t,"undefined"==typeof window.Ps&&(window.Ps=t))},{"../main":7}],2:[function(e,t,n){"use strict";function i(e,t){var n=e.className.split(" ");n.indexOf(t)<0&&n.push(t),e.className=n.join(" ")}function r(e,t){var n=e.className.split(" "),i=n.indexOf(t);i>=0&&n.splice(i,1),e.className=n.join(" ")}n.add=function(e,t){e.classList?e.classList.add(t):i(e,t)},n.remove=function(e,t){e.classList?e.classList.remove(t):r(e,t)},n.list=function(e){return e.classList?e.classList:e.className.split(" ")}},{}],3:[function(e,t,n){"use strict";function i(e,t){return window.getComputedStyle(e)[t]}function r(e,t,n){return"number"==typeof n&&(n=n.toString()+"px"),e.style[t]=n,e}function a(e,t){for(var n in t){var i=t[n];"number"==typeof i&&(i=i.toString()+"px"),e.style[n]=i}return e}n.e=function(e,t){var n=document.createElement(e);return n.className=t,n},n.appendTo=function(e,t){return t.appendChild(e),e},n.css=function(e,t,n){return"object"==typeof t?a(e,t):"undefined"==typeof n?i(e,t):r(e,t,n)},n.matches=function(e,t){return"undefined"!=typeof e.matches?e.matches(t):"undefined"!=typeof e.matchesSelector?e.matchesSelector(t):"undefined"!=typeof e.webkitMatchesSelector?e.webkitMatchesSelector(t):"undefined"!=typeof e.mozMatchesSelector?e.mozMatchesSelector(t):"undefined"!=typeof e.msMatchesSelector?e.msMatchesSelector(t):void 0},n.remove=function(e){"undefined"!=typeof e.remove?e.remove():e.parentNode&&e.parentNode.removeChild(e)}},{}],4:[function(e,t){"use strict";var n=function(e){this.element=e,this.events={}};n.prototype.bind=function(e,t){"undefined"==typeof this.events[e]&&(this.events[e]=[]),this.events[e].push(t),this.element.addEventListener(e,t,!1)},n.prototype.unbind=function(e,t){var n="undefined"!=typeof t;this.events[e]=this.events[e].filter(function(i){return n&&i!==t?!0:(this.element.removeEventListener(e,i,!1),!1)},this)},n.prototype.unbindAll=function(){for(var e in this.events)this.unbind(e)};var i=function(){this.eventElements=[]};i.prototype.eventElement=function(e){var t=this.eventElements.filter(function(t){return t.element===e})[0];return"undefined"==typeof t&&(t=new n(e),this.eventElements.push(t)),t},i.prototype.bind=function(e,t,n){this.eventElement(e).bind(t,n)},i.prototype.unbind=function(e,t,n){this.eventElement(e).unbind(t,n)},i.prototype.unbindAll=function(){for(var e=0;e<this.eventElements.length;e++)this.eventElements[e].unbindAll()},i.prototype.once=function(e,t,n){var i=this.eventElement(e),r=function(e){i.unbind(t,r),n(e)};i.bind(t,r)},t.exports=i},{}],5:[function(e,t){"use strict";t.exports=function(){function e(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}return function(){return e()+e()+"-"+e()+"-"+e()+"-"+e()+"-"+e()+e()+e()}}()},{}],6:[function(e,t,n){"use strict";var i=e("./class"),r=e("./dom");n.toInt=function(e){return"string"==typeof e?parseInt(e,10):~~e},n.clone=function(e){if(null===e)return null;if("object"==typeof e){var t={};for(var n in e)t[n]=this.clone(e[n]);return t}return e},n.extend=function(e,t){var n=this.clone(e);for(var i in t)n[i]=this.clone(t[i]);return n},n.isEditable=function(e){return r.matches(e,"input,[contenteditable]")||r.matches(e,"select,[contenteditable]")||r.matches(e,"textarea,[contenteditable]")||r.matches(e,"button,[contenteditable]")},n.removePsClasses=function(e){for(var t=i.list(e),n=0;n<t.length;n++){var r=t[n];0===r.indexOf("ps-")&&i.remove(e,r)}},n.outerWidth=function(e){return this.toInt(r.css(e,"width"))+this.toInt(r.css(e,"paddingLeft"))+this.toInt(r.css(e,"paddingRight"))+this.toInt(r.css(e,"borderLeftWidth"))+this.toInt(r.css(e,"borderRightWidth"))},n.startScrolling=function(e,t){i.add(e,"ps-in-scrolling"),"undefined"!=typeof t?i.add(e,"ps-"+t):(i.add(e,"ps-x"),i.add(e,"ps-y"))},n.stopScrolling=function(e,t){i.remove(e,"ps-in-scrolling"),"undefined"!=typeof t?i.remove(e,"ps-"+t):(i.remove(e,"ps-x"),i.remove(e,"ps-y"))},n.env={isWebKit:"WebkitAppearance"in document.documentElement.style,supportsTouch:"ontouchstart"in window||window.DocumentTouch&&document instanceof window.DocumentTouch,supportsIePointer:null!==window.navigator.msMaxTouchPoints}},{"./class":2,"./dom":3}],7:[function(e,t){"use strict";var n=e("./plugin/destroy"),i=e("./plugin/initialize"),r=e("./plugin/update");t.exports={initialize:i,update:r,destroy:n}},{"./plugin/destroy":9,"./plugin/initialize":17,"./plugin/update":20}],8:[function(e,t){"use strict";t.exports={wheelSpeed:1,wheelPropagation:!1,swipePropagation:!0,minScrollbarLength:null,maxScrollbarLength:null,useBothWheelAxes:!1,useKeyboard:!0,suppressScrollX:!1,suppressScrollY:!1,scrollXMarginOffset:0,scrollYMarginOffset:0}},{}],9:[function(e,t){"use strict";var n=e("../lib/dom"),i=e("../lib/helper"),r=e("./instances");t.exports=function(e){var t=r.get(e);t.event.unbindAll(),n.remove(t.scrollbarX),n.remove(t.scrollbarY),n.remove(t.scrollbarXRail),n.remove(t.scrollbarYRail),i.removePsClasses(e),r.remove(e)}},{"../lib/dom":3,"../lib/helper":6,"./instances":18}],10:[function(e,t){"use strict";function n(e,t){function n(e){return e.getBoundingClientRect()}var r=window.Event.prototype.stopPropagation.bind;t.event.bind(t.scrollbarY,"click",r),t.event.bind(t.scrollbarYRail,"click",function(r){var o=i.toInt(t.scrollbarYHeight/2),l=r.pageY-n(t.scrollbarYRail).top-o,s=t.containerHeight-t.scrollbarYHeight,c=l/s;0>c?c=0:c>1&&(c=1),e.scrollTop=(t.contentHeight-t.containerHeight)*c,a(e)}),t.event.bind(t.scrollbarX,"click",r),t.event.bind(t.scrollbarXRail,"click",function(r){var o=i.toInt(t.scrollbarXWidth/2),l=r.pageX-n(t.scrollbarXRail).left-o;console.log(r.pageX,t.scrollbarXRail.offsetLeft);var s=t.containerWidth-t.scrollbarXWidth,c=l/s;0>c?c=0:c>1&&(c=1),e.scrollLeft=(t.contentWidth-t.containerWidth)*c,a(e)})}var i=e("../../lib/helper"),r=e("../instances"),a=e("../update-geometry");t.exports=function(e){var t=r.get(e);n(e,t)}},{"../../lib/helper":6,"../instances":18,"../update-geometry":19}],11:[function(e,t){"use strict";function n(e,t){function n(n){var r=i+n,o=t.containerWidth-t.scrollbarXWidth;t.scrollbarXLeft=0>r?0:r>o?o:r;var l=a.toInt(t.scrollbarXLeft*(t.contentWidth-t.containerWidth)/(t.containerWidth-t.scrollbarXWidth));e.scrollLeft=l}var i=null,o=null,s=function(t){n(t.pageX-o),l(e),t.stopPropagation(),t.preventDefault()},c=function(){a.stopScrolling(e,"x"),t.event.unbind(t.ownerDocument,"mousemove",s)};t.event.bind(t.scrollbarX,"mousedown",function(n){o=n.pageX,i=a.toInt(r.css(t.scrollbarX,"left")),a.startScrolling(e,"x"),t.event.bind(t.ownerDocument,"mousemove",s),t.event.once(t.ownerDocument,"mouseup",c),n.stopPropagation(),n.preventDefault()})}function i(e,t){function n(n){var r=i+n,o=t.containerHeight-t.scrollbarYHeight;t.scrollbarYTop=0>r?0:r>o?o:r;var l=a.toInt(t.scrollbarYTop*(t.contentHeight-t.containerHeight)/(t.containerHeight-t.scrollbarYHeight));e.scrollTop=l}var i=null,o=null,s=function(t){n(t.pageY-o),l(e),t.stopPropagation(),t.preventDefault()},c=function(){a.stopScrolling(e,"y"),t.event.unbind(t.ownerDocument,"mousemove",s)};t.event.bind(t.scrollbarY,"mousedown",function(n){o=n.pageY,i=a.toInt(r.css(t.scrollbarY,"top")),a.startScrolling(e,"y"),t.event.bind(t.ownerDocument,"mousemove",s),t.event.once(t.ownerDocument,"mouseup",c),n.stopPropagation(),n.preventDefault()})}var r=e("../../lib/dom"),a=e("../../lib/helper"),o=e("../instances"),l=e("../update-geometry");t.exports=function(e){var t=o.get(e);n(e,t),i(e,t)}},{"../../lib/dom":3,"../../lib/helper":6,"../instances":18,"../update-geometry":19}],12:[function(e,t){"use strict";function n(e,t){function n(n,i){var r=e.scrollTop;if(0===n){if(!t.scrollbarYActive)return!1;if(0===r&&i>0||r>=t.contentHeight-t.containerHeight&&0>i)return!t.settings.wheelPropagation}var a=e.scrollLeft;if(0===i){if(!t.scrollbarXActive)return!1;if(0===a&&0>n||a>=t.contentWidth-t.containerWidth&&n>0)return!t.settings.wheelPropagation}return!0}var r=!1;t.event.bind(e,"mouseenter",function(){r=!0}),t.event.bind(e,"mouseleave",function(){r=!1});var o=!1;t.event.bind(t.ownerDocument,"keydown",function(l){if((!l.isDefaultPrevented||!l.isDefaultPrevented())&&r){var s=document.activeElement?document.activeElement:t.ownerDocument.activeElement;if(s){for(;s.shadowRoot;)s=s.shadowRoot.activeElement;if(i.isEditable(s))return}var c=0,u=0;switch(l.which){case 37:c=-30;break;case 38:u=30;break;case 39:c=30;break;case 40:u=-30;break;case 33:u=90;break;case 32:case 34:u=-90;break;case 35:u=l.ctrlKey?-t.contentHeight:-t.containerHeight;break;case 36:u=l.ctrlKey?e.scrollTop:t.containerHeight;break;default:return}e.scrollTop=e.scrollTop-u,e.scrollLeft=e.scrollLeft+c,a(e),o=n(c,u),o&&l.preventDefault()}})}var i=e("../../lib/helper"),r=e("../instances"),a=e("../update-geometry");t.exports=function(e){var t=r.get(e);n(e,t)}},{"../../lib/helper":6,"../instances":18,"../update-geometry":19}],13:[function(e,t){"use strict";function n(e,t){function n(n,i){var r=e.scrollTop;if(0===n){if(!t.scrollbarYActive)return!1;if(0===r&&i>0||r>=t.contentHeight-t.containerHeight&&0>i)return!t.settings.wheelPropagation}var a=e.scrollLeft;if(0===i){if(!t.scrollbarXActive)return!1;if(0===a&&0>n||a>=t.contentWidth-t.containerWidth&&n>0)return!t.settings.wheelPropagation}return!0}function r(e){var t=e.deltaX,n=-1*e.deltaY;return("undefined"==typeof t||"undefined"==typeof n)&&(t=-1*e.wheelDeltaX/6,n=e.wheelDeltaY/6),e.deltaMode&&1===e.deltaMode&&(t*=10,n*=10),t!==t&&n!==n&&(t=0,n=e.wheelDelta),[t,n]}function o(t,n){var i=e.querySelector("textarea:hover");if(i){var r=i.scrollHeight-i.clientHeight;if(r>0&&!(0===i.scrollTop&&n>0||i.scrollTop===r&&0>n))return!0;var a=i.scrollLeft-i.clientWidth;if(a>0&&!(0===i.scrollLeft&&0>t||i.scrollLeft===a&&t>0))return!0}return!1}function l(l){if(i.env.isWebKit||!e.querySelector("select:focus")){var c=r(l),u=c[0],d=c[1];o(u,d)||(s=!1,t.settings.useBothWheelAxes?t.scrollbarYActive&&!t.scrollbarXActive?(e.scrollTop=d?e.scrollTop-d*t.settings.wheelSpeed:e.scrollTop+u*t.settings.wheelSpeed,s=!0):t.scrollbarXActive&&!t.scrollbarYActive&&(e.scrollLeft=u?e.scrollLeft+u*t.settings.wheelSpeed:e.scrollLeft-d*t.settings.wheelSpeed,s=!0):(e.scrollTop=e.scrollTop-d*t.settings.wheelSpeed,e.scrollLeft=e.scrollLeft+u*t.settings.wheelSpeed),a(e),s=s||n(u,d),s&&(l.stopPropagation(),l.preventDefault()))}}var s=!1;"undefined"!=typeof window.onwheel?t.event.bind(e,"wheel",l):"undefined"!=typeof window.onmousewheel&&t.event.bind(e,"mousewheel",l)}var i=e("../../lib/helper"),r=e("../instances"),a=e("../update-geometry");t.exports=function(e){var t=r.get(e);n(e,t)}},{"../../lib/helper":6,"../instances":18,"../update-geometry":19}],14:[function(e,t){"use strict";function n(e,t){t.event.bind(e,"scroll",function(){r(e)})}var i=e("../instances"),r=e("../update-geometry");t.exports=function(e){var t=i.get(e);n(e,t)}},{"../instances":18,"../update-geometry":19}],15:[function(e,t){"use strict";function n(e,t){function n(){var e=window.getSelection?window.getSelection():document.getSelection?document.getSelection():"";return 0===e.toString().length?null:e.getRangeAt(0).commonAncestorContainer}function o(){s||(s=setInterval(function(){return r.get(e)?(e.scrollTop=e.scrollTop+c.top,e.scrollLeft=e.scrollLeft+c.left,void a(e)):void clearInterval(s)},50))}function l(){s&&(clearInterval(s),s=null),i.stopScrolling(e)}var s=null,c={top:0,left:0},u=!1;t.event.bind(t.ownerDocument,"selectionchange",function(){e.contains(n())?u=!0:(u=!1,l())}),t.event.bind(window,"mouseup",function(){u&&(u=!1,l())}),t.event.bind(window,"mousemove",function(t){if(u){var n={x:t.pageX,y:t.pageY},r={left:e.offsetLeft,right:e.offsetLeft+e.offsetWidth,top:e.offsetTop,bottom:e.offsetTop+e.offsetHeight};n.x<r.left+3?(c.left=-5,i.startScrolling(e,"x")):n.x>r.right-3?(c.left=5,i.startScrolling(e,"x")):c.left=0,n.y<r.top+3?(c.top=r.top+3-n.y<5?-5:-20,i.startScrolling(e,"y")):n.y>r.bottom-3?(c.top=n.y-r.bottom+3<5?5:20,i.startScrolling(e,"y")):c.top=0,0===c.top&&0===c.left?l():o()}})}var i=e("../../lib/helper"),r=e("../instances"),a=e("../update-geometry");t.exports=function(e){var t=r.get(e);n(e,t)}},{"../../lib/helper":6,"../instances":18,"../update-geometry":19}],16:[function(e,t){"use strict";function n(e,t,n,a){function o(n,i){var r=e.scrollTop,a=e.scrollLeft,o=Math.abs(n),l=Math.abs(i);if(l>o){if(0>i&&r===t.contentHeight-t.containerHeight||i>0&&0===r)return!t.settings.swipePropagation}else if(o>l&&(0>n&&a===t.contentWidth-t.containerWidth||n>0&&0===a))return!t.settings.swipePropagation;return!0}function l(t,n){e.scrollTop=e.scrollTop-n,e.scrollLeft=e.scrollLeft-t,r(e)}function s(){y=!0}function c(){y=!1}function u(e){return e.targetTouches?e.targetTouches[0]:e}function d(e){return e.targetTouches&&1===e.targetTouches.length?!0:e.pointerType&&"mouse"!==e.pointerType&&e.pointerType!==e.MSPOINTER_TYPE_MOUSE?!0:!1}function h(e){if(d(e)){w=!0;var t=u(e);m.pageX=t.pageX,m.pageY=t.pageY,g=(new Date).getTime(),null!==b&&clearInterval(b),e.stopPropagation()}}function f(e){if(!y&&w&&d(e)){var t=u(e),n={pageX:t.pageX,pageY:t.pageY},i=n.pageX-m.pageX,r=n.pageY-m.pageY;l(i,r),m=n;var a=(new Date).getTime(),s=a-g;s>0&&(v.x=i/s,v.y=r/s,g=a),o(i,r)&&(e.stopPropagation(),e.preventDefault())}}function p(){!y&&w&&(w=!1,clearInterval(b),b=setInterval(function(){return i.get(e)?Math.abs(v.x)<.01&&Math.abs(v.y)<.01?void clearInterval(b):(l(30*v.x,30*v.y),v.x*=.8,void(v.y*=.8)):void clearInterval(b)},10))}var m={},g=0,v={},b=null,y=!1,w=!1;n&&(t.event.bind(window,"touchstart",s),t.event.bind(window,"touchend",c),t.event.bind(e,"touchstart",h),t.event.bind(e,"touchmove",f),t.event.bind(e,"touchend",p)),a&&(window.PointerEvent?(t.event.bind(window,"pointerdown",s),t.event.bind(window,"pointerup",c),t.event.bind(e,"pointerdown",h),t.event.bind(e,"pointermove",f),t.event.bind(e,"pointerup",p)):window.MSPointerEvent&&(t.event.bind(window,"MSPointerDown",s),t.event.bind(window,"MSPointerUp",c),t.event.bind(e,"MSPointerDown",h),t.event.bind(e,"MSPointerMove",f),t.event.bind(e,"MSPointerUp",p)))}var i=e("../instances"),r=e("../update-geometry");t.exports=function(e,t,r){var a=i.get(e);n(e,a,t,r)}},{"../instances":18,"../update-geometry":19}],17:[function(e,t){"use strict";var n=e("../lib/class"),i=e("../lib/helper"),r=e("./instances"),a=e("./update-geometry"),o=e("./handler/click-rail"),l=e("./handler/drag-scrollbar"),s=e("./handler/keyboard"),c=e("./handler/mouse-wheel"),u=e("./handler/native-scroll"),d=e("./handler/selection"),h=e("./handler/touch");t.exports=function(e,t){t="object"==typeof t?t:{},n.add(e,"ps-container");var f=r.add(e);f.settings=i.extend(f.settings,t),o(e),l(e),c(e),u(e),d(e),(i.env.supportsTouch||i.env.supportsIePointer)&&h(e,i.env.supportsTouch,i.env.supportsIePointer),f.settings.useKeyboard&&s(e),a(e)}},{"../lib/class":2,"../lib/helper":6,"./handler/click-rail":10,"./handler/drag-scrollbar":11,"./handler/keyboard":12,"./handler/mouse-wheel":13,"./handler/native-scroll":14,"./handler/selection":15,"./handler/touch":16,"./instances":18,"./update-geometry":19}],18:[function(e,t,n){"use strict";function i(e){var t=this;t.settings=d.clone(s),t.containerWidth=null,t.containerHeight=null,t.contentWidth=null,t.contentHeight=null,t.isRtl="rtl"===l.css(e,"direction"),t.event=new c,t.ownerDocument=e.ownerDocument||document,t.scrollbarXRail=l.appendTo(l.e("div","ps-scrollbar-x-rail"),e),t.scrollbarX=l.appendTo(l.e("div","ps-scrollbar-x"),t.scrollbarXRail),t.scrollbarXActive=null,t.scrollbarXWidth=null,t.scrollbarXLeft=null,t.scrollbarXBottom=d.toInt(l.css(t.scrollbarXRail,"bottom")),t.isScrollbarXUsingBottom=t.scrollbarXBottom===t.scrollbarXBottom,t.scrollbarXTop=t.isScrollbarXUsingBottom?null:d.toInt(l.css(t.scrollbarXRail,"top")),t.railBorderXWidth=d.toInt(l.css(t.scrollbarXRail,"borderLeftWidth"))+d.toInt(l.css(t.scrollbarXRail,"borderRightWidth")),t.railXMarginWidth=d.toInt(l.css(t.scrollbarXRail,"marginLeft"))+d.toInt(l.css(t.scrollbarXRail,"marginRight")),t.railXWidth=null,t.scrollbarYRail=l.appendTo(l.e("div","ps-scrollbar-y-rail"),e),t.scrollbarY=l.appendTo(l.e("div","ps-scrollbar-y"),t.scrollbarYRail),t.scrollbarYActive=null,t.scrollbarYHeight=null,t.scrollbarYTop=null,t.scrollbarYRight=d.toInt(l.css(t.scrollbarYRail,"right")),t.isScrollbarYUsingRight=t.scrollbarYRight===t.scrollbarYRight,t.scrollbarYLeft=t.isScrollbarYUsingRight?null:d.toInt(l.css(t.scrollbarYRail,"left")),t.scrollbarYOuterWidth=t.isRtl?d.outerWidth(t.scrollbarY):null,t.railBorderYWidth=d.toInt(l.css(t.scrollbarYRail,"borderTopWidth"))+d.toInt(l.css(t.scrollbarYRail,"borderBottomWidth")),t.railYMarginHeight=d.toInt(l.css(t.scrollbarYRail,"marginTop"))+d.toInt(l.css(t.scrollbarYRail,"marginBottom")),t.railYHeight=null}function r(e){return"undefined"==typeof e.dataset?e.getAttribute("data-ps-id"):e.dataset.psId}function a(e,t){"undefined"==typeof e.dataset?e.setAttribute("data-ps-id",t):e.dataset.psId=t}function o(e){"undefined"==typeof e.dataset?e.removeAttribute("data-ps-id"):delete e.dataset.psId}var l=e("../lib/dom"),s=e("./default-setting"),c=e("../lib/event-manager"),u=e("../lib/guid"),d=e("../lib/helper"),h={};n.add=function(e){var t=u();return a(e,t),h[t]=new i(e),h[t]},n.remove=function(e){delete h[r(e)],o(e)},n.get=function(e){return h[r(e)]}},{"../lib/dom":3,"../lib/event-manager":4,"../lib/guid":5,"../lib/helper":6,"./default-setting":8}],19:[function(e,t){"use strict";function n(e,t){return e.settings.minScrollbarLength&&(t=Math.max(t,e.settings.minScrollbarLength)),e.settings.maxScrollbarLength&&(t=Math.min(t,e.settings.maxScrollbarLength)),t}function i(e,t){var n={width:t.railXWidth};n.left=t.isRtl?e.scrollLeft+t.containerWidth-t.contentWidth:e.scrollLeft,t.isScrollbarXUsingBottom?n.bottom=t.scrollbarXBottom-e.scrollTop:n.top=t.scrollbarXTop+e.scrollTop,a.css(t.scrollbarXRail,n);var i={top:e.scrollTop,height:t.railYHeight};t.isScrollbarYUsingRight?i.right=t.isRtl?t.contentWidth-e.scrollLeft-t.scrollbarYRight-t.scrollbarYOuterWidth:t.scrollbarYRight-e.scrollLeft:i.left=t.isRtl?e.scrollLeft+2*t.containerWidth-t.contentWidth-t.scrollbarYLeft-t.scrollbarYOuterWidth:t.scrollbarYLeft+e.scrollLeft,a.css(t.scrollbarYRail,i),a.css(t.scrollbarX,{left:t.scrollbarXLeft,width:t.scrollbarXWidth-t.railBorderXWidth}),a.css(t.scrollbarY,{top:t.scrollbarYTop,height:t.scrollbarYHeight-t.railBorderYWidth})}var r=e("../lib/class"),a=e("../lib/dom"),o=e("../lib/helper"),l=e("./instances");t.exports=function(e){var t=l.get(e);t.containerWidth=e.clientWidth,t.containerHeight=e.clientHeight,t.contentWidth=e.scrollWidth,t.contentHeight=e.scrollHeight,e.contains(t.scrollbarXRail)||a.appendTo(t.scrollbarXRail,e),e.contains(t.scrollbarYRail)||a.appendTo(t.scrollbarYRail,e),!t.settings.suppressScrollX&&t.containerWidth+t.settings.scrollXMarginOffset<t.contentWidth?(t.scrollbarXActive=!0,t.railXWidth=t.containerWidth-t.railXMarginWidth,t.scrollbarXWidth=n(t,o.toInt(t.railXWidth*t.containerWidth/t.contentWidth)),t.scrollbarXLeft=o.toInt(e.scrollLeft*(t.railXWidth-t.scrollbarXWidth)/(t.contentWidth-t.containerWidth))):(t.scrollbarXActive=!1,t.scrollbarXWidth=0,t.scrollbarXLeft=0,e.scrollLeft=0),!t.settings.suppressScrollY&&t.containerHeight+t.settings.scrollYMarginOffset<t.contentHeight?(t.scrollbarYActive=!0,t.railYHeight=t.containerHeight-t.railYMarginHeight,t.scrollbarYHeight=n(t,o.toInt(t.railYHeight*t.containerHeight/t.contentHeight)),t.scrollbarYTop=o.toInt(e.scrollTop*(t.railYHeight-t.scrollbarYHeight)/(t.contentHeight-t.containerHeight))):(t.scrollbarYActive=!1,t.scrollbarYHeight=0,t.scrollbarYTop=0,e.scrollTop=0),t.scrollbarXLeft>=t.railXWidth-t.scrollbarXWidth&&(t.scrollbarXLeft=t.railXWidth-t.scrollbarXWidth),t.scrollbarYTop>=t.railYHeight-t.scrollbarYHeight&&(t.scrollbarYTop=t.railYHeight-t.scrollbarYHeight),i(e,t),r[t.scrollbarXActive?"add":"remove"](e,"ps-active-x"),r[t.scrollbarYActive?"add":"remove"](e,"ps-active-y")}},{"../lib/class":2,"../lib/dom":3,"../lib/helper":6,"./instances":18}],20:[function(e,t){"use strict";var n=e("../lib/dom"),i=e("./instances"),r=e("./update-geometry");t.exports=function(e){var t=i.get(e);n.css(t.scrollbarXRail,"display","none"),n.css(t.scrollbarYRail,"display","none"),r(e),n.css(t.scrollbarXRail,"display","block"),n.css(t.scrollbarYRail,"display","block")}},{"../lib/dom":3,"./instances":18,"./update-geometry":19}]},{},[1]),define("WoltLab/WCF/Date/Util",["Language"],function(e){"use strict";var t={formatDate:function(t){return this.format(t,e.get("wcf.date.dateFormat"))},formatTime:function(t){return this.format(t,e.get("wcf.date.timeFormat"))},formatDateTime:function(t){return this.format(t,e.get("wcf.date.dateTimeFormat").replace(/%date%/,e.get("wcf.date.dateFormat")).replace(/%time%/,e.get("wcf.date.timeFormat")))},format:function(t,n){var i,r="";"c"===n&&(n="Y-m-dTH:i:sP");for(var a=0,o=n.length;o>a;a++){switch(n[a]){case"s":i=("0"+t.getSeconds().toString()).slice(-2);break;case"i":i=t.getMinutes();break;case"a":i=t.getHours()>11?"pm":"am";break;case"g":i=t.getHours(),0===i?i=12:i>12&&(i-=12);break;case"h":i=t.getHours(),0===i?i=12:i>12&&(i-=12),i=("0"+i.toString()).slice(-2);break;case"A":i=t.getHours()>11?"PM":"AM";break;case"G":i=t.getHours();break;case"H":i=t.getHours(),i=("0"+i.toString()).slice(-2);break;case"d":i=t.getDate(),i=("0"+i.toString()).slice(-2);break;case"j":i=t.getDate();break;case"l":i=e.get("__days")[t.getDay()];break;case"D":i=e.get("__daysShort")[t.getDay()];break;case"S":i="";break;case"m":i=t.getMonth()+1,i=("0"+i.toString()).slice(-2);break;case"n":i=t.getMonth()+1;break;case"F":i=e.get("__months")[t.getMonth()];break;case"M":i=e.get("__monthsShort")[t.getMonth()];break;case"y":i=t.getYear().toString().replace(/^\d{2}/,"");break;case"Y":i=t.getFullYear();break;case"P":var l=t.getTimezoneOffset();i=l>0?"-":"+",l=Math.abs(l),i+=("0"+(~~(l/60)).toString()).slice(-2),i+=":",i+=("0"+(l%60).toString()).slice(-2);break;case"r":i=t.toString();break;case"U":i=Math.round(t.getTime()/1e3);break;default:i=n[a]}r+=i}return r},gmdate:function(){return date instanceof Date||(date=new Date),Math.round(Date.UTC(date.getUTCFullYear(),date.getUTCMonth(),date.getUTCDay(),date.getUTCHours(),date.getUTCMinutes(),date.getUTCSeconds())/1e3)},getTimezoneDate:function(e,t){var n=new Date(e),i=6e4*n.getTimezoneOffset();return new Date(e+i+t)}};return t}),define("WoltLab/WCF/Timer/Repeating",[],function(){"use strict";function e(e,t){if("function"!=typeof e)throw new TypeError("Expected a valid callback as first argument.");if(0>t||t>864e5)throw new RangeError("Invalid delta "+t+". Delta must be in the interval [0, 86400000].");this._callback=e.bind(void 0,this),this._delta=t,this._timer=void 0,this.restart()}return e.prototype={restart:function(){this.stop(),this._timer=setInterval(this._callback,this._delta)},stop:function(){void 0!==this._timer&&(clearInterval(this._timer),this._timer=void 0)},setDelta:function(e){this._delta=e,this.restart()}},e}),define("WoltLab/WCF/Date/Time/Relative",["Dom/ChangeListener","Language","WoltLab/WCF/Date/Util","WoltLab/WCF/Timer/Repeating"],function(e,t,n,i){"use strict";var r=elByTag("time"),a=null,o={setup:function(){this._refresh(),new i(this._refresh.bind(this),6e4),e.add("WoltLab/WCF/Date/Time/Relative",this._refresh.bind(this))},_refresh:function(){var e=new Date,i=(e.getTime()-e.getMilliseconds())/1e3;null===a&&(a=i-TIME_NOW);for(var o=0,l=r.length;l>o;o++){var s=r[o];if(s.classList.contains("datetime")&&!elAttr(s,"data-is-future-date")){s.getAttribute("title")||elAttr(s,"title",s.textContent.trim());var c=~~s.getAttribute("data-timestamp")+a,u=elAttr(s,"data-date"),d=elAttr(s,"data-time"),h=elAttr(s,"data-offset");if(c>=i||c+60>i)s.textContent=t.get("wcf.date.relative.now");else if(c+3540>i){var f=Math.max(Math.round((i-c)/60),1);s.textContent=t.get("wcf.date.relative.minutes",{minutes:f})}else if(c+86400>i){var p=Math.round((i-c)/3600);s.textContent=t.get("wcf.date.relative.hours",{hours:p})}else if(c+518400>i){var m=new Date(e.getFullYear(),e.getMonth(),e.getDate()),g=Math.ceil((m/1e3-c)/86400),v=n.getTimezoneDate(1e3*c,1e3*h),b=v.getDay(),y=t.get("__days")[b];s.textContent=t.get("wcf.date.relative.pastDays",{days:g,day:y,time:d})}else s.textContent=t.get("wcf.date.shortDateTimeFormat").replace(/\%date\%/,u).replace(/\%time\%/,d)}}}};return o}),define("WoltLab/WCF/Dom/Traverse",["Dom/Util"],function(e){"use strict";var t=0,n=1,i=2,r=3,a=[function(){return!0},function(t,n){return e.matches(t,n)},function(e,t){return e.classList.contains(t)},function(e,t){return e.nodeName===t}],o=function(e,t,n){if(!(e instanceof Element))throw new TypeError("Expected a valid element as first argument.");for(var i=[],r=0;r<e.childElementCount;r++)a[t](e.children[r],n)&&i.push(e.children[r]);return i},l=function(e,t,n,i){if(!(e instanceof Element))throw new TypeError("Expected a valid element as first argument.");for(e=e.parentNode;e instanceof Element;){if(e===i)return null;if(a[t](e,n))return e;e=e.parentNode}return null},s=function(e,t,n,i){if(!(e instanceof Element))throw new TypeError("Expected a valid element as first argument.");return e instanceof Element&&null!==e[t]&&a[n](e[t],i)?e[t]:null},c={childBySel:function(e,t){return o(e,n,t)[0]||null},childByClass:function(e,t){return o(e,i,t)[0]||null},childByTag:function(e,t){return o(e,r,t)[0]||null},childrenBySel:function(e,t){return o(e,n,t)},childrenByClass:function(e,t){return o(e,i,t)},childrenByTag:function(e,t){return o(e,r,t)},parentBySel:function(e,t,i){return l(e,n,t,i)},parentByClass:function(e,t,n){return l(e,i,t,n)},parentByTag:function(e,t,n){return l(e,r,t,n)},next:function(e){return s(e,"nextElementSibling",t,null)},nextBySel:function(e,t){return s(e,"nextElementSibling",n,t)},nextByClass:function(e,t){return s(e,"nextElementSibling",i,t)},nextByTag:function(e){return s(e,"nextElementSibling",i,className)},prev:function(e){return s(e,"previousElementSibling",t,null)},prevBySel:function(e,t){return s(e,"previousElementSibling",n,t)},prevByClass:function(e,t){return s(e,"previousElementSibling",i,t)},prevByTag:function(e){return s(e,"previousElementSibling",i,className)}};return c}),define("WoltLab/WCF/Ui/Alignment",["Core","Language","Dom/Traverse","Dom/Util"],function(e,t,n,i){"use strict";var r={set:function(r,a,o){o=e.extend({verticalOffset:7,pointer:!1,pointerOffset:4,pointerClassNames:[],refDimensionsElement:null,horizontal:"left",vertical:"bottom",allowFlip:"both"},o),Array.isArray(o.pointerClassNames)&&o.pointerClassNames.length===(o.pointer?1:2)||(o.pointerClassNames=[]),-1===["left","right","center"].indexOf(o.horizontal)&&(o.horizontal="left"),"bottom"!==o.vertical&&(o.vertical="top"),-1===["both","horizontal","vertical","none"].indexOf(o.allowFlip)&&(o.allowFlip="both"),i.setStyles(r,{bottom:"auto !important",left:"0 !important",right:"auto !important",top:"0 !important"});var l=i.outerDimensions(r),s=i.outerDimensions(o.refDimensionsElement instanceof Element?o.refDimensionsElement:a),c=i.offset(a),u=window.innerHeight,d=document.body.clientWidth,h={result:null},f=!1;if("center"===o.horizontal&&(f=!0,h=this._tryAlignmentHorizontal(o.horizontal,l,s,c,d),h.result||("both"===o.allowFlip||"horizontal"===o.allowFlip?o.horizontal="left":h.result=!0)),"rtl"===t.get("wcf.global.pageDirection")&&(o.horizontal="left"===o.horizontal?"right":"left"),!h.result){var p=h;if(h=this._tryAlignmentHorizontal(o.horizontal,l,s,c,d),!h.result&&("both"===o.allowFlip||"horizontal"===o.allowFlip)){var m=this._tryAlignmentHorizontal("left"===o.horizontal?"right":"left",l,s,c,d);m.result?h=m:f&&(h=p)}}var g=h.left,v=h.right,b=this._tryAlignmentVertical(o.vertical,l,s,c,u,o.verticalOffset);if(!b.result&&("both"===o.allowFlip||"vertical"===o.allowFlip)){var y=this._tryAlignmentVertical("top"===o.vertical?"bottom":"top",l,s,c,u,o.verticalOffset);y.result&&(b=y)}var w=b.bottom,C=b.top;if(o.pointer){var _=n.childrenByClass(r,"elementPointer");if(_=_[0]||null,null===_)throw new Error("Expected the .elementPointer element to be a direct children.");"center"===h.align?(_.classList.add("center"),_.classList.remove("left"),_.classList.remove("right")):(_.classList.add(h.align),_.classList.remove("center"),_.classList.remove("left"===h.align?"right":"left")),"top"===b.align?_.classList.add("flipVertical"):_.classList.remove("flipVertical")}else if(2===o.pointerClassNames.length){var x=0,L=1;r.classList["auto"===C?"add":"remove"](o.pointerClassNames[L]),r.classList["auto"===g?"add":"remove"](o.pointerClassNames[x])}i.setStyles(r,{bottom:w+("auto"!==w?"px":""),left:g+("auto"!==g?"px":""),right:v+("auto"!==v?"px":""),top:C+("auto"!==C?"px":"")})},_tryAlignmentHorizontal:function(e,t,n,i,r){var a="auto",o="auto",l=!0;return"left"===e?(a=i.left,a+t.width>r&&(l=!1)):"right"===e?(o=r-(i.left+n.width),0>o&&(l=!1)):(a=i.left+n.width/2-t.width/2,a=~~a,(0>a||a+t.width>r)&&(l=!1)),{align:e,left:a,right:o,result:l}},_tryAlignmentVertical:function(e,t,n,i,r,a){var o="auto",l="auto",s=!0;if("top"===e){var c=document.body.clientHeight;o=c-i.top+a,c-(o+t.height)<document.body.scrollTop&&(s=!1)}else l=i.top+n.height+a,l+t.height>r&&(s=!1);return{align:e,bottom:o,top:l,result:s}}};return r}),define("WoltLab/WCF/Ui/CloseOverlay",["CallbackList"],function(e){"use strict";var t=new e,n={setup:function(){document.body.addEventListener("click",this.execute.bind(this))},add:t.add.bind(t),remove:t.remove.bind(t),execute:function(){t.forEach(null,function(e){e()})}};return n.setup(),n}),define("WoltLab/WCF/Ui/Dropdown/Simple",["CallbackList","Core","Dictionary","Ui/Alignment","Dom/ChangeListener","Dom/Traverse","Dom/Util","Ui/CloseOverlay"],function(e,t,n,i,r,a,o,l){"use strict";var s=null,c=new e,u=!1,d=new n,h=new n,f=null,p={setup:function(){u||(u=!0,f=elCreate("div"),elAttr(f,"id","dropdownMenuContainer"),document.body.appendChild(f),s=elByClass("dropdownToggle"),this.initAll(),l.add("WoltLab/WCF/Ui/Dropdown/Simple",this.closeAll.bind(this)),r.add("WoltLab/WCF/Ui/Dropdown/Simple",this.initAll.bind(this)),document.addEventListener("scroll",this._onScroll.bind(this)),window.bc_wcfSimpleDropdown=this)},initAll:function(){for(var e=0,t=s.length;t>e;e++)this.init(s[e],!1)},init:function(e,n){if(this.setup(),e.classList.contains("jsDropdownEnabled")||elAttr(e,"data-target"))return!1;var i=a.parentByClass(e,"dropdown");if(null===i)throw new Error("Invalid dropdown passed, button '"+o.identify(e)+"' does not have a parent with .dropdown.");var r=a.nextByClass(e,"dropdownMenu");if(null===r)throw new Error("Invalid dropdown passed, button '"+o.identify(e)+"' does not have a menu as next sibling.");f.appendChild(r);var l=o.identify(i);d.has(l)||(e.classList.add("jsDropdownEnabled"),e.addEventListener("click",this._toggle.bind(this)),d.set(l,i),h.set(l,r),l.match(/^wcf\d+$/)||elAttr(r,"data-source",l)),elAttr(e,"data-target",l),n&&setTimeout(function(){t.triggerEvent(e,"click")},10)},initFragment:function(e,t){if(this.setup(),!d.has(e)){var n=o.identify(e);d.set(n,e),f.appendChild(t),h.set(n,t)}},registerCallback:function(e,t){c.add(e,t)},getDropdown:function(e){return d.get(e)},getDropdownMenu:function(e){return h.get(e)},toggleDropdown:function(e){this._toggle(null,e)
-},setAlignment:function(e,t){var n=elBySel(".dropdownToggle",e),r=null;null!==n&&n.classList.contains("dropdownCaptionTextarea")&&(r=n),i.set(t,e,{pointerClassNames:["dropdownArrowBottom","dropdownArrowRight"],refDimensionsElement:r})},setAlignmentById:function(e){var t=d.get(e);if(void 0===t)throw new Error("Unknown dropdown identifier '"+e+"'.");var n=h.get(e);this.setAlignment(t,n)},isOpen:function(e){var t=h.get(e);return void 0!==t&&t.classList.contains("dropdownOpen")?!0:!1},open:function(e){var t=h.get(e);void 0===t||t.classList.contains("dropdownOpen")||this.toggleDropdown(e)},close:function(e){var t=d.get(e);void 0!==t&&(t.classList.remove("dropdownOpen"),h.get(e).classList.remove("dropdownOpen"))},closeAll:function(){d.forEach(function(e,t){e.classList.contains("dropdownOpen")&&(e.classList.remove("dropdownOpen"),h.get(t).classList.remove("dropdownOpen"),this._notifyCallbacks(t,"close"))}.bind(this))},destroy:function(e){if(!d.has(e))return!1;this.close(e);var t=h.get(e);return h.parentNode.removeChild(t),h["delete"](e),d["delete"](e),!0},_onDialogScroll:function(e){for(var t=e.currentTarget,n=elBySelAll(".dropdown.dropdownOpen",t),i=0,r=n.length;r>i;i++){var a=n[i],l=o.identify(a),s=o.offset(a),c=o.offset(t);s.top+a.clientHeight<=c.top?this.toggleDropdown(l):s.top>=c.top+t.offsetHeight?this.toggleDropdown(l):s.left<=c.left?this.toggleDropdown(l):s.left>=c.left+t.offsetWidth?this.toggleDropdown(l):this.setAlignment(l,h.get(l))}},_onScroll:function(){d.forEach(function(e,t){elAttr(e,"data-is-overlay-dropdown-button")===!0&&e.classList.contains("dropdownOpen")&&this.setAlignment(e,h.get(t))}.bind(this))},_notifyCallbacks:function(e,t){c.forEach(e,function(n){n(e,t)})},_toggle:function(e,t){null!==e&&(e.preventDefault(),e.stopPropagation(),t=elAttr(e.currentTarget,"data-target"));var n=d.get(t);if(void 0!==n&&null===elAttr(n,"data-is-overlay-dropdown-button")){var i=a.parentByClass(n,"dialogContent");elAttr(n,"data-is-overlay-dropdown-button",null!==i),null!==i&&i.addEventListener("scroll",this._onDialogScroll.bind(this))}return d.forEach(function(e,n){var i=h.get(n);e.classList.contains("dropdownOpen")?(e.classList.remove("dropdownOpen"),i.classList.remove("dropdownOpen"),this._notifyCallbacks(n,"close")):n===t&&i.childElementCount>0&&(e.classList.add("dropdownOpen"),i.classList.add("dropdownOpen"),this._notifyCallbacks(n,"open"),this.setAlignment(e,i))}.bind(this)),WCF.Dropdown.Interactive.Handler.closeAll(),null===e}};return p}),define("WoltLab/WCF/Ui/Mobile",["enquire","Environment","Language","Dom/ChangeListener","Dom/Traverse","Ui/CloseOverlay"],function(e,t,n,i,r,a){"use strict";var o=null,l=!1,s=null,c=null,u={setup:function(){o=elByClass("buttonGroupNavigation"),s=elById("main"),c=elBySel("#main > div > div > .sidebar",s),t.touch()&&document.documentElement.classList.add("touch"),"desktop"!==t.platform()&&document.documentElement.classList.add("mobile"),e.register("screen and (max-width: 800px)",{match:this.enable.bind(this),unmatch:this.disable.bind(this),setup:this._init.bind(this),deferSetup:!0}),"microsoft"===t.browser()&&null!==c&&c.clientWidth>305&&this._fixSidebarIE()},enable:function(){l=!0,"microsoft"===t.browser()&&this._fixSidebarIE()},disable:function(){l=!1,"microsoft"===t.browser()&&this._fixSidebarIE()},_fixSidebarIE:function(){null!==c&&(c.style.setProperty("display","none"),c.style.removeProperty("display"))},_init:function(){this._initSidebarToggleButtons(),this._initSearchBar(),this._initButtonGroupNavigation(),a.add("WoltLab/WCF/Ui/Mobile",this._closeAllMenus.bind(this)),i.add("WoltLab/WCF/Ui/Mobile",this._initButtonGroupNavigation.bind(this))},_initSidebarToggleButtons:function(){if(null!==c){var e=s.classList.contains("sidebarOrientationLeft")?"Left":"";if(e=e?e:s.classList.contains("sidebarOrientationRight")?"Right":""){var t="wcf.global.sidebar.show"+e+"Sidebar";(t===n.get(t)||""===n.get(t))&&(t=elCreate("span"),t.className="icon icon16 fa-angle-double-"+e.toLowerCase());var i="wcf.global.sidebar.hide"+e+"Sidebar";(i===n.get(i)||""===n.get(i))&&(i=elCreate("span"),i.className="icon icon16 fa-angle-double-"+("Left"===e?"right":"left"));var r=elCreate("span");r.className="button small mobileSidebarToggleButton",r.addEventListener("click",function(){s.classList.add("mobileShowSidebar")}),t instanceof Element?r.appendChild(t):r.textContent=t;var a=elCreate("span");a.className="button small mobileSidebarToggleButton",a.addEventListener("click",function(){s.classList.remove("mobileShowSidebar")}),i instanceof Element?a.appendChild(i):a.textContent=i,elBySel(".content").appendChild(r),c.appendChild(a)}}},_initSearchBar:function(){var e=elBySel(".searchBar");e.addEventListener("click",function(){return l?(e.classList.add("searchBarOpen"),!1):!1}),s.addEventListener("click",function(){e.classList.remove("searchBarOpen")})},_initButtonGroupNavigation:function(){for(var e=0,t=o.length;t>e;e++){var n=o[e];if(!n.classList.contains("jsMobileButtonGroupNavigation")){n.classList.add("jsMobileButtonGroupNavigation");var i=elCreate("a");i.classList.add("dropdownLabel");var a=elCreate("span");a.className="icon icon24 fa-list",i.appendChild(a),i.addEventListener("click",function(e){var t=r.next(i);return null!==t?(t.classList.toggle("open"),e.stopPropagation(),!1):!0}),n.insertBefore(i,n.firstChild)}}},_closeAllMenus:function(){for(var e=elBySelAll(".jsMobileButtonGroupNavigation > ul.open"),t=0,n=e.length;n>t;t++)e[t].classList.remove("open")}};return u}),define("WoltLab/WCF/Event/Handler",["Core","Dictionary"],function(e,t){"use strict";var n=new t,i={add:function(i,r,a){if("function"!=typeof a)throw new TypeError("[WoltLab/WCF/Event/Handler] Expected a valid callback for '"+r+"@"+i+"'.");var o=n.get(i);void 0===o&&(o=new t,n.set(i,o));var l=o.get(r);void 0===l&&(l=new t,o.set(r,l));var s=e.getUuid();return l.set(s,a),s},fire:function(e,t,i){i=i||{};var r=n.get(e);if(void 0!==r){var a=r.get(t);void 0!==a&&a.forEach(function(e){e(i)})}},remove:function(e,t,i){var r=n.get(e);if(void 0!==r){var a=r.get(t);void 0!==a&&a["delete"](i)}},removeAll:function(e,t){"string"!=typeof t&&(t=void 0);var i=n.get(e);void 0!==i&&("undefined"==typeof t?n["delete"](e):i["delete"](t))}};return i}),define("WoltLab/WCF/Ui/TabMenu/Simple",["Dictionary","Dom/Traverse","Dom/Util","EventHandler"],function(e,t,n,i){"use strict";function r(t){this._container=t,this._containers=new e,this._isLegacy=null,this._tabs=new e}return r.prototype={validate:function(){if(!this._container.classList.contains("tabMenuContainer"))return!1;var e=t.childByTag(this._container,"NAV");if(null===e)return!1;var i=elByTag("li",e);if(null===i.length)return!1;for(var r,a,o=t.childrenByTag(this._container,"DIV"),l=0,s=o.length;s>l;l++)r=o[l],a=elAttr(r,"data-name"),a||(a=n.identify(r)),elAttr(r,"data-name",a),this._containers.set(a,r);for(var c,u=this._container.id,l=0,s=i.length;s>l;l++)if(c=i[l],a=this._getTabName(c)){if(this._tabs.has(a))throw new Error("Tab names must be unique, li[data-name='"+a+"'] (tab menu id: '"+u+"') exists more than once.");if(r=this._containers.get(a),void 0===r)throw new Error("Expected content element for li[data-name='"+a+"'] (tab menu id: '"+u+"').");if(r.parentNode!==this._container)throw new Error("Expected content element '"+a+"' (tab menu id: '"+u+"') to be a direct children.");if(1!==c.childElementCount||"A"!==c.children[0].nodeName)throw new Error("Expected exactly one <a> as children for li[data-name='"+a+"'] (tab menu id: '"+u+"').");this._tabs.set(a,c)}if(!this._tabs.size)throw new Error("Expected at least one tab (tab menu id: '"+u+"').");return this._isLegacy&&(elAttr(this._container,"data-is-legacy",!0),this._tabs.forEach(function(e,t){elAttr(e,"aria-controls",t)})),!0},init:function(e){e=e||null,this._tabs.forEach(function(t){e&&e.get(elAttr(t,"data-name"))===t||t.children[0].addEventListener("click",this._onClick.bind(this))}.bind(this));var t=null;if(!e){var n=window.location.hash.replace(/^#/,""),i=null;if(""!==n&&(i=this._tabs.get(n),i&&this._container.parentNode.classList.contains("tabMenuContainer")&&(t=this._container)),!i){var r=elAttr(this._container,"data-preselect");"true"!==r&&r||(r=!0),r===!0?this._tabs.forEach(function(e){i||e.previousElementSibling||(i=e)}):"false"!==r&&(i=this._tabs.get(r))}i&&(this._containers.forEach(function(e){e.classList.add("hidden")}),this.select(null,i,!0))}return t},select:function(e,t,n){if(t=t||this._tabs.get(e),!t){if(~~e==e){e=~~e;var r=0;this._tabs.forEach(function(n){r===e&&(t=n),r++})}if(!t)throw new Error("Expected a valid tab name, '"+e+"' given (tab menu id: '"+this._container.id+"').")}e=e||elAttr(t,"data-name");var a=elBySel("#"+this._container.id+" > nav > ul > li.active"),o=null;a&&(a.classList.remove("active"),o=this._containers.get(elAttr(a,"data-name")),o.classList.remove("active"),o.classList.add("hidden"),this._isLegacy&&(a.classList.remove("ui-state-active"),o.classList.remove("ui-state-active"))),t.classList.add("active");var l=this._containers.get(e);if(l.classList.add("active"),this._isLegacy&&(t.classList.add("ui-state-active"),l.classList.add("ui-state-active"),l.classList.remove("hidden")),!n){i.fire("com.woltlab.wcf.simpleTabMenu_"+this._container.id,"select",{active:t,activeName:e,previous:a,previousName:a?elAttr(a,"data-name"):null});var s=this._isLegacy&&"function"==typeof window.jQuery?window.jQuery:null;s&&s(this._container).trigger("wcftabsbeforeactivate",{newTab:s(t),oldTab:s(a),newPanel:s(l),oldPanel:s(o)}),window.history.replaceState(void 0,void 0,window.location.href.replace(/#[^#]+$/,"")+"#"+e)}},rebuild:function(){var t=new e;t.merge(this._tabs),this.validate(),this.init(t)},_onClick:function(e){e.preventDefault(),this.select(null,e.currentTarget.parentNode)},_getTabName:function(e){var t=elAttr(e,"data-name");return t||1===e.childElementCount&&"A"===e.children[0].nodeName&&e.children[0].href.match(/#([^#]+)$/)&&(t=RegExp.$1,null===elById(t)?t=null:(this._isLegacy=!0,elAttr(e,"data-name",t))),t},getContainers:function(){return this._containers},getTabs:function(){return this._tabs}},r}),define("WoltLab/WCF/Ui/TabMenu",["Dictionary","Dom/ChangeListener","Dom/Util","./TabMenu/Simple"],function(e,t,n,i){"use strict";var r=new e,a={setup:function(){this._init(),this._selectErroneousTabs(),t.add("WoltLab/WCF/Ui/TabMenu",this._init.bind(this))},_init:function(){for(var e,t,a,o,l=elBySelAll(".tabMenuContainer:not(.staticTabMenuContainer)"),s=0,c=l.length;c>s;s++)e=l[s],t=n.identify(e),r.has(t)||(o=new i(e),o.validate()&&(a=o.init(),r.set(t,o),a instanceof Element&&(o=this.getTabMenu(a.parentNode.id),o.select(a.id,null,!0))))},_selectErroneousTabs:function(){r.forEach(function(e){var t=!1;e.getContainers().forEach(function(n){!t&&elByClass("formError",n).length&&(t=!0,e.select(n.id))})})},getTabMenu:function(e){return r.get(e)}};return a}),define("WoltLab/WCF/Ui/FlexibleMenu",["Core","Dictionary","Dom/ChangeListener","Dom/Traverse","Dom/Util","Ui/SimpleDropdown"],function(e,t,n,i,r,a){"use strict";var o=new t,l=new t,s=new t,c=new t,u={setup:function(){null!==elById("mainMenu")&&this.register("mainMenu");var e=elBySel(".navigationHeader");null!==e&&this.register(r.identify(e)),window.addEventListener("resize",this.rebuildAll.bind(this)),n.add("WoltLab/WCF/Ui/FlexibleMenu",this.registerTabMenus.bind(this))},register:function(e){var t=elById(e);if(null===t)throw"Expected a valid element id, '"+e+"' does not exist.";if(!o.has(e)){var n=i.childByTag(t,"UL");if(null===n)throw"Expected an <ul> element as child of container '"+e+"'.";o.set(e,t),c.set(e,n),this.rebuild(e)}},registerTabMenus:function(){for(var e=elBySelAll(".tabMenuContainer:not(.jsFlexibleMenuEnabled), .messageTabMenu:not(.jsFlexibleMenuEnabled)"),t=0,n=e.length;n>t;t++){var a=e[t],o=i.childByTag(a,"NAV");null!==o&&(a.classList.add("jsFlexibleMenuEnabled"),this.register(r.identify(o)))}},rebuildAll:function(){o.forEach(function(e,t){this.rebuild(t)}.bind(this))},rebuild:function(t){var n=o.get(t);if(void 0===n)throw"Expected a valid element id, '"+t+"' is unknown.";var u=window.getComputedStyle(n),d=n.parentNode.clientWidth;d-=r.styleAsInt(u,"margin-left"),d-=r.styleAsInt(u,"margin-right");var h=c.get(t),f=i.childrenByTag(h,"LI"),p=l.get(t),m=0;if(void 0!==p){for(var g=0,v=f.length;v>g;g++){var b=f[g];b.classList.contains("dropdown")||b.style.removeProperty("display")}null!==p.parentNode&&(m=r.outerWidth(p))}var y=h.scrollWidth-m,w=[];if(y>d)for(var g=f.length-1;g>=0;g--){var b=f[g];if(!(b.classList.contains("dropdown")||b.classList.contains("active")||b.classList.contains("ui-state-active"))&&(w.push(b),b.style.setProperty("display","none"),h.scrollWidth<d))break}if(w.length){var C;if(void 0===p){p=elCreate("li"),p.className="dropdown jsFlexibleMenuDropdown";var _=elCreate("a");_.className="icon icon16 fa-list",p.appendChild(_),C=elCreate("ul"),C.classList.add("dropdownMenu"),p.appendChild(C),l.set(t,p),s.set(t,C),a.init(_)}else C=s.get(t);null===p.parentNode&&h.appendChild(p);var x=document.createDocumentFragment(),L=this;w.forEach(function(n){var i=elCreate("li");i.innerHTML=n.innerHTML,i.addEventListener("click",function(i){i.preventDefault(),e.triggerEvent(n.querySelector("a"),"click"),setTimeout(function(){L.rebuild(t)},59)}.bind(this)),x.appendChild(i)}),C.innerHTML="",C.appendChild(x)}else void 0!==p&&null!==p.parentNode&&p.parentNode.removeChild(p)}};return u}),define("WoltLab/WCF/Ui/Tooltip",["Environment","Dom/ChangeListener","Ui/Alignment"],function(e,t,n){"use strict";var i=null,r=null,a=null,o=null,l={setup:function(){"desktop"===e.platform()&&(o=elCreate("div"),elAttr(o,"id","balloonTooltip"),o.classList.add("balloonTooltip"),a=elCreate("span"),elAttr(a,"id","balloonTooltipText"),o.appendChild(a),r=elCreate("span"),r.classList.add("elementPointer"),r.appendChild(elCreate("span")),o.appendChild(r),document.body.appendChild(o),i=elByClass("jsTooltip"),this.init(),t.add("WoltLab/WCF/Ui/Tooltip",this.init.bind(this)))},init:function(){for(;i.length;){var e=i[0];e.classList.remove("jsTooltip");var t=elAttr(e,"title");t="string"==typeof t?t.trim():"",t.length&&(elAttr(e,"data-tooltip",t),e.removeAttribute("title"),e.addEventListener("mouseenter",this._mouseEnter.bind(this)),e.addEventListener("mouseleave",this._mouseLeave.bind(this)),e.addEventListener("click",this._mouseLeave.bind(this)))}},_mouseEnter:function(e){var t=e.currentTarget,i=elAttr(t,"title");return i="string"==typeof i?i.trim():"",""!==i&&(elAttr(t,"data-tooltip",i),t.removeAttribute("title")),i=elAttr(t,"data-tooltip"),o.style.removeProperty("top"),o.style.removeProperty("left"),i.length?(o.classList.add("active"),a.textContent=i,void n.set(o,t,{horizontal:"center",pointer:!0,pointerClassNames:["inverse"],vertical:"top"})):void o.classList.remove("active")},_mouseLeave:function(){o.classList.remove("active")}};return l}),define("WoltLab/WCF/Date/Picker",["DateUtil","Language","ObjectMap","Dom/ChangeListener","Ui/Alignment","WoltLab/WCF/Ui/CloseOverlay"],function(e,t,n,i,r,a){"use strict";var o=!1,l=0,s=new n,c=null,u=0,d=0,h=[],f=null,p=null,m=null,g=null,v=null,b=null,y=null,w=null,C=null,_=null,x={init:function(){this._setup();for(var t=elBySelAll('input[type="date"]:not(.inputDatePicker), input[type="datetime"]:not(.inputDatePicker)'),n=new Date,i=0,r=t.length;r>i;i++){var a=t[i];a.classList.add("inputDatePicker"),a.readOnly=!0;var o="datetime"===elAttr(a,"type");elAttr(a,"data-is-date-time",o);var l=null,c=elAttr(a,"value");elAttr(a,"value")&&(l=new Date(c),elAttr(a,"data-value",l.getTime()),c=e["formatDate"+(o?"Time":"")](l));var u=0===c.length;if(a.classList.contains("birthday")&&(elAttr(a,"data-min-date","100"),elAttr(a,"data-max-date","now")),this._initDateRange(a,n,!0),this._initDateRange(a,n,!1),elAttr(a,"data-min-date")===elAttr(a,"data-max-date"))throw new Error("Minimum and maximum date cannot be the same (element id '"+a.id+"').");a.type="text",a.value=c,elAttr(a,"data-empty",u),elAttr(a,"data-placeholder")&&elAttr(a,"placeholder",elAttr(a,"data-placeholder"));var d=elCreate("input");d.id=a.id+"DatePicker",d.name=a.name,d.type="hidden",null!==l&&(d.value=e.format(l,o?"c":"Y-m-d")),a.parentNode.insertBefore(d,a),a.removeAttribute("name"),a.addEventListener("click",_);var h=elCreate("div");h.className="inputAddon";var f=elCreate("a");f.className="inputSuffix",f.addEventListener("click",_),h.appendChild(f);var p=elCreate("span");p.className="icon icon16 fa-calendar",f.appendChild(p),a.parentNode.insertBefore(h,a),h.insertBefore(a,f),s.set(a,{shadow:d,isDateTime:o,isEmpty:u,onClose:null})}},_initDateRange:function(e,t,n){var i="data-"+(n?"min":"max")+"-date",r=e.hasAttribute(i)?elAttr(e,i).trim():"";if(r.match(/^(\d{4})-(\d{2})-(\d{2})$/))r=new Date(r).getTime();else if("now"===r)r=t.getTime();else if(r.match(/^\d{1,3}$/)){var a=new Date(t.getTime());a.setFullYear(a.getFullYear()+~~r*(n?-1:1)),r=a.getTime()}else if(r.match(/^datePicker-(.+)$/)){if(r=RegExp.$1,null===elById(r))throw new Error("Reference date picker identified by '"+r+"' does not exists (element id: '"+e.id+"').")}else r=new Date(n?1970:2038,0,1).getTime();elAttr(e,i,r)},_setup:function(){o||(o=!0,l=~~t.get("wcf.date.firstDayOfTheWeek"),_=this._open.bind(this),i.add("WoltLab/WCF/Date/Picker",this.init.bind(this)),a.add("WoltLab/WCF/Date/Picker",this._close.bind(this)))},_open:function(e){e.preventDefault(),e.stopPropagation(),this._createPicker();var t="INPUT"===e.currentTarget.nodeName?e.currentTarget:e.currentTarget.previousElementSibling;if(t!==c){c=t;var n,i=s.get(c),a=elAttr(c,"data-value");a?(n=new Date(+a),"Invalid Date"===n.toString()&&(n=new Date)):n=new Date,d=elAttr(c,"data-min-date"),d.match(/^datePicker-(.+)$/)&&(d=elById(RegExp.$1).getAttribute("data-value")),d=new Date(+d),u=elAttr(c,"data-max-date"),u.match(/^datePicker-(.+)$/)&&(u=elById(RegExp.$1).getAttribute("data-value")),u=new Date(+u),i.isDateTime&&(p.value=n.getHours(),m.value=n.getMinutes()),this._renderPicker(n.getDate(),n.getMonth(),n.getFullYear()),r.set(C,c,{pointer:!0})}},_close:function(){if(null!==C&&C.classList.contains("active")){C.classList.remove("active");var e=s.get(c);"function"==typeof e.onClose&&e.onClose(),c=null,d=0,u=0}},_renderPicker:function(e,t,n){this._renderGrid(e,t,n);for(var i="",r=d.getFullYear(),a=u.getFullYear();a>=r;r++)i+='<option value="'+r+'">'+r+"</option>";w.innerHTML=i,w.value=n,g.value=t,C.classList.add("active")},_renderGrid:function(e,t,n){var i,r=void 0!==e,a=void 0!==t;if(e=~~e||~~f.getAttribute("data-day"),t=~~t,n=~~n,a||n){var o=0!==n,s=document.createDocumentFragment();s.appendChild(f),a||(t=~~f.getAttribute("data-month")),n=n||~~f.getAttribute("data-year");var c=new Date(n+"-"+("0"+(t+1).toString()).slice(-2)+"-"+("0"+e.toString()).slice(-2));for(d>c?(n=d.getFullYear(),t=d.getMonth(),e=d.getDate(),g.value=t,w.value=n,o=!0):c>u&&(n=u.getFullYear(),t=u.getMonth(),e=u.getDate(),g.value=t,w.value=n,o=!0),c=new Date(n+"-"+("0"+(t+1).toString()).slice(-2)+"-01");c.getDay()!==l;)c.setDate(c.getDate()-1);for(var p,m=0;35>m;m++)i=h[m],i.textContent=c.getDate(),p=c.getMonth()===t,p&&(d>c?p=!1:c>u&&(p=!1)),i.classList[p?"remove":"add"]("otherMonth"),c.setDate(c.getDate()+1);if(elAttr(f,"data-month",t),elAttr(f,"data-year",n),C.insertBefore(s,y),!r&&(c=new Date(n,t,e),c.getDate()!==e)){for(;c.getMonth()!==t;)c.setDate(c.getDate()-1);e=c.getDate()}if(o){for(var m=0;12>m;m++){var _=g.children[m];_.disabled=n===d.getFullYear()&&_.value<d.getMonth()||n===u.getFullYear()&&_.value>u.getMonth()}var x=new Date(n+"-"+("0"+(t+1).toString()).slice(-2)+"-01");x.setMonth(x.getMonth()+1),v.classList[u>x?"add":"remove"]("active");var L=new Date(n+"-"+("0"+(t+1).toString()).slice(-2)+"-01");L.setDate(L.getDate()-1),b.classList[L>d?"add":"remove"]("active")}}if(e){for(var m=0;35>m;m++)i=h[m],i.classList[i.classList.contains("otherMonth")||~~i.textContent!==e?"remove":"add"]("active");elAttr(f,"data-day",e)}this._formatValue()},_formatValue:function(){var t,n,i,r=s.get(c);"true"!==elAttr(c,"data-empty")&&(r.isDateTime?(t=new Date(elAttr(f,"data-year"),elAttr(f,"data-month"),elAttr(f,"data-day"),p.value,m.value),n=e.formatDateTime(t),i=e.format(t,"c")):(t=new Date(elAttr(f,"data-year"),elAttr(f,"data-month"),elAttr(f,"data-day")),n=e.formatDate(t),i=e.format(t,"Y-m-d")),c.value=n,elAttr(c,"data-value",t.getTime()),r.shadow.value=i)},_createPicker:function(){if(null===C){C=elCreate("div"),C.className="datePicker",C.addEventListener("click",function(e){e.stopPropagation()});var n=elCreate("span");n.className="elementPointer",n.innerHTML="<span></span>",C.appendChild(n);var i=elCreate("header");C.appendChild(i),b=elCreate("a"),b.className="icon icon16 fa-arrow-left previous",b.addEventListener("click",this.previousMonth.bind(this)),i.appendChild(b);var r=elCreate("span");i.appendChild(r),g=elCreate("select"),g.className="month",g.addEventListener("change",this._changeMonth.bind(this)),r.appendChild(g);for(var a="",o=t.get("__monthsShort"),s=0;12>s;s++)a+='<option value="'+s+'">'+o[s]+"</option>";g.innerHTML=a,w=elCreate("select"),w.className="year",w.addEventListener("change",this._changeYear.bind(this)),r.appendChild(w),v=elCreate("a"),v.className="icon icon16 fa-arrow-right next",v.addEventListener("click",this.nextMonth.bind(this)),i.appendChild(v),f=elCreate("ul"),C.appendChild(f);var c=elCreate("li");c.className="weekdays",f.appendChild(c);for(var u,d=t.get("__daysShort"),s=0;7>s;s++){var _=s+l;_>6&&(_-=7),u=elCreate("span"),u.textContent=d[_],c.appendChild(u)}for(var x,L,E=this._click.bind(this),s=0;5>s;s++){L=elCreate("li"),f.appendChild(L);for(var T=0;7>T;T++)x=elCreate("a"),x.addEventListener("click",E),h.push(x),L.appendChild(x)}y=elCreate("footer"),C.appendChild(y),p=elCreate("select"),p.className="hour",p.addEventListener("change",this._formatValue.bind(this));for(var k="",A=new Date(2e3,0,1),S=t.get("wcf.date.timeFormat").replace(/:/,"").replace(/[isu]/g,""),s=0;24>s;s++)A.setHours(s),k+='<option value="'+s+'">'+e.format(A,S)+"</option>";p.innerHTML=k,y.appendChild(p),y.appendChild(document.createTextNode(" : ")),m=elCreate("select"),m.className="minute",m.addEventListener("change",this._formatValue.bind(this));for(var k="",s=0;60>s;s++)k+='<option value="'+s+'">'+(10>s?"0"+s.toString():s)+"</option>";m.innerHTML=k,y.appendChild(m),document.body.appendChild(C)}},previousMonth:function(){"0"===g.value?(g.value=11,w.value=~~w.value-1):g.value=~~g.value-1,this._renderGrid(void 0,g.value,w.value)},nextMonth:function(){"11"===g.value?(g.value=0,w.value=~~w.value+1):g.value=~~g.value+1,this._renderGrid(void 0,g.value,w.value)},_changeMonth:function(e){this._renderGrid(void 0,e.currentTarget.value)},_changeYear:function(e){this._renderGrid(void 0,void 0,e.currentTarget.value)},_click:function(e){e.currentTarget.classList.contains("otherMonth")||(elAttr(c,"data-empty",!1),this._renderGrid(e.currentTarget.textContent),this._close())},getDate:function(e){return e=this._getElement(e),e.hasAttribute("data-value")?new Date(+e.getAttribute("data-value")):null},setDate:function(t,n){t=this._getElement(t);var i=s.get(t);elAttr(t,"data-value",n.getTime()),t.value=e["formatDate"+(i.isDateTime?"Time":"")](n),i.shadow.value=e.format(n,i.isDateTime?"c":"Y-m-d")},clear:function(e){e=this._getElement(e);var t=s.get(e);e.removeAttribute("data-value"),e.value="",t.isEmpty=!0,t.shadow.value=""},destroy:function(e){e=this._getElement(e);var t=s.get(e),n=e.parentNode;n.parentNode.insertBefore(e,n),n.parentNode.removeChild(n),elAttr(e,"type","date"+(t.isDateTime?"time":"")),e.value=t.shadow.value,e.removeAttribute("data-value"),e.removeEventListener("click",_),t.shadow.parentNode.removeChild(t.shadow),e.classList.remove("inputDatePicker"),e.readOnly=!1,s["delete"](e)},setCloseCallback:function(e,t){e=this._getElement(e),s.get(e).onClose=t},_getElement:function(e){if("string"==typeof e&&(e=elById(e)),!(e instanceof Element&&e.classList.contains("inputDatePicker")&&s.has(e)))throw new Error("Expected a valid date picker input element or id.");return e}};return window.__wcf_bc_datePicker=x,x}),define("WoltLab/WCF/Bootstrap",["favico","enquire","perfect-scrollbar","WoltLab/WCF/Date/Time/Relative","Ui/SimpleDropdown","WoltLab/WCF/Ui/Mobile","WoltLab/WCF/Ui/TabMenu","WoltLab/WCF/Ui/FlexibleMenu","Ui/Dialog","WoltLab/WCF/Ui/Tooltip","WoltLab/WCF/Language","WoltLab/WCF/Environment","WoltLab/WCF/Date/Picker"],function(e,t,n,i,r,a,o,l,s,c,u,d,h){"use strict";window.Favico=e,window.enquire=t,null==window.WCF&&(window.WCF={}),null==window.WCF.Language&&(window.WCF.Language={}),window.WCF.Language.get=u.get,window.WCF.Language.add=u.add,window.WCF.Language.addObject=u.addObject;var f={setup:function(){d.setup(),i.setup(),h.init(),r.setup(),a.setup(),o.setup(),l.setup(),s.setup(),c.setup();for(var e=elBySelAll("form[method=get]"),t=0,n=e.length;n>t;t++)e[t].setAttribute("method","post");"microsoft"===d.browser()&&(window.onbeforeunload=function(){});var u=0;u=window.setInterval(function(){"function"==typeof window.jQuery&&(window.clearInterval(u),window.jQuery.holdReady(!1))},20)}};return f}),define("WoltLab/WCF/Controller/Sitemap",["Ajax","EventHandler","Language","Dom/Util","Ui/Dialog","Ui/TabMenu"],function(e,t,n,i,r,a){"use strict";var o=[],l={setup:function(){elById("sitemap").addEventListener("click",this._click.bind(this))},_click:function(e){e.preventDefault(),r.open(this)},_ajaxSetup:function(){return{data:{actionName:"getSitemap",className:"wcf\\data\\sitemap\\SitemapAction"}}},_ajaxSuccess:function(e){o.push(e.returnValues.sitemapName),elById("sitemap_"+e.returnValues.sitemapName).innerHTML=e.returnValues.template},_dialogSetup:function(){return{id:"sitemapDialog",options:{disableContentPadding:!0,title:n.get("wcf.page.sitemap")},source:{data:{actionName:"getSitemap",className:"wcf\\data\\sitemap\\SitemapAction"},after:function(e,n){o.push(n.returnValues.sitemapName);var r=elBySel(".tabMenuContainer",e),l=i.identify(r);a.getTabMenu(l).select("sitemap_"+n.returnValues.sitemapName),t.add("com.woltlab.wcf.simpleTabMenu_"+l,"select",this.showTab.bind(this))}.bind(this)}}},showTab:function(t){var n=elAttr(t.active,"data-name").replace(/^sitemap_/,"");-1===o.indexOf(n)&&e.api(this,{parameters:{sitemapName:n}})}};return l}),define("WoltLab/WCF/Controller/Style/Changer",["Ajax","Language","Ui/Dialog"],function(e,t,n){"use strict";var i={setup:function(){var e=elBySel("#footerNavigation > ul.navigationItems");if(null!==e){var n=elCreate("li");n.classList.add("styleChanger"),n.addEventListener("click",this.showDialog.bind(this));var i=elCreate("a");elAttr(i,"href","#"),i.textContent=t.get("wcf.style.changeStyle"),n.appendChild(i),e.appendChild(n)}},showDialog:function(e){e.preventDefault(),n.open(this)},_dialogSetup:function(){return{id:"styleChanger",options:{disableContentPadding:!0,title:t.get("wcf.style.changeStyle")},source:{data:{actionName:"getStyleChooser",className:"wcf\\data\\style\\StyleAction"},after:function(e){for(var t=elBySelAll(".styleList > li",e),n=0,i=t.length;i>n;n++){var r=t[n];r.classList.add("pointer"),r.addEventListener("click",this._click.bind(this))}}.bind(this)}}},_click:function(t){t.preventDefault(),e.apiOnce({data:{actionName:"changeStyle",className:"wcf\\data\\style\\StyleAction",objectIDs:[elAttr(t.currentTarget,"data-style-id")]},success:function(){window.location.reload()}})}};return i}),define("WoltLab/WCF/Controller/Popover",["Ajax","Dictionary","Environment","Dom/ChangeListener","Dom/Util","Ui/Alignment"],function(e,t,n,i,r,a){"use strict";var o=null,l=0,s=new t,c=new t,u=new t,d=null,h=!1,f=null,p=null,m=null,g=null,v=null,b=null,y=null,w=null,C=null,_=0,x=1,L=2,E=800,T=500,k={_setup:function(){if(null===m){m=elCreate("div"),m.classList.add("popover"),g=elCreate("div"),g.classList.add("popoverContent"),m.appendChild(g);var e=elCreate("span");e.classList.add("elementPointer"),e.appendChild(elCreate("span")),m.appendChild(e),v=elCreate("span"),v.className="icon icon32 fa-spinner",m.appendChild(v),document.body.appendChild(m),b=this._hide.bind(this),w=this._mouseEnter.bind(this),C=this._mouseLeave.bind(this),m.addEventListener("mouseenter",this._popoverMouseEnter.bind(this)),m.addEventListener("mouseleave",C),g.addEventListener("transitionend",function(e){"height"===e.propertyName&&g.classList.remove("loading")}),m.addEventListener("transitionend",this._clearContent.bind(this)),window.addEventListener("beforeunload",function(){h=!0,null!==f&&window.clearTimeout(f),this._hide(!0)}.bind(this)),i.add("WoltLab/WCF/Controller/Popover",this._init.bind(this))}},init:function(e){"desktop"===n.platform()&&(e.attributeName=e.attributeName||"data-object-id",e.legacy=e.legacy===!0,this._setup(),u.has(e.identifier)||(u.set(e.identifier,{attributeName:e.attributeName,elements:e.legacy?e.className:elByClass(e.className),legacy:e.legacy,loadCallback:e.loadCallback}),this._init(e.identifier)))},_init:function(e){"string"==typeof e&&e.length?this._initElements(u.get(e),e):u.forEach(this._initElements.bind(this))},_initElements:function(e,t){for(var n=e.legacy?elBySelAll(e.elements):e.elements,i=0,a=n.length;a>i;i++){var o=n[i],l=r.identify(o);if(s.has(l))return;var u=e.legacy?l:~~o.getAttribute(e.attributeName);if(0!==u){o.addEventListener("mouseenter",w),o.addEventListener("mouseleave",C),"A"===o.nodeName&&elAttr(o,"href")&&o.addEventListener("click",b);var d=t+"-"+u;elAttr(o,"data-cache-id",d),c.set(l,{element:o,identifier:t,objectId:u}),s.has(d)||s.set(t+"-"+u,{content:null,state:_})}}},setContent:function(e,t,n){var i=e+"-"+t,a=s.get(i);if(void 0===a)throw new Error("Unable to find element for object id '"+t+"' (identifier: '"+e+"').");if(a.content=r.createFragmentFromHtml(n),a.state=L,o){var l=c.get(o).element;elAttr(l,"data-cache-id")===i&&this._show()}},_mouseEnter:function(e){if(!h){null!==f&&(window.clearTimeout(f),f=null);var t=r.identify(e.currentTarget);o===t&&null!==p&&(window.clearTimeout(p),p=null),d=t,f=window.setTimeout(function(){f=null,d===t&&this._show()}.bind(this),E)}},_mouseLeave:function(){d=null,null===p&&(null===y&&(y=this._hide.bind(this)),null!==p&&window.clearTimeout(p),p=window.setTimeout(y,T))},_popoverMouseEnter:function(){null!==p&&(window.clearTimeout(p),p=null)},_show:function(){null!==p&&(window.clearTimeout(p),p=null);var e=null!==o&&o!==d;m.classList.contains("active")&&this._hide(e),o=d;var t=c.get(o),n=s.get(elAttr(t.element,"data-cache-id"));n.state===L?g.appendChild(n.content):n.state===_&&g.classList.add("loading"),this._rebuild(o),n.state===_&&(n.state=x,u.get(t.identifier).loadCallback(t.objectId,this))},_hide:function(e){null!==p&&(window.clearTimeout(p),p=null),m.classList.remove("active"),"boolean"==typeof e&&e===!0&&(m.classList.add("disableAnimation"),m.offsetHeight,this._clearContent())},_clearContent:function(){if(o&&g.childElementCount&&!m.classList.contains("active")){for(var e=s.get(c.get(o).element.getAttribute("data-cache-id"));g.childNodes.length;)e.content.appendChild(g.childNodes[0]);g.style.removeProperty("height")}},_rebuild:function(){if(!m.classList.contains("active")){if(m.classList.add("active"),m.classList.remove("disableAnimation"),g.classList.contains("loading"))if(0===g.childElementCount)0===l&&(l=g.offsetHeight),g.style.setProperty("height",l+"px");else{g.style.removeProperty("height");var e=g.offsetHeight;g.style.setProperty("height",l+"px"),g.offsetHeight,g.style.setProperty("height",e+"px")}a.set(m,c.get(o).element,{pointer:!0,vertical:"top",verticalOffset:3})}},_ajaxSetup:function(){return{}},ajaxApi:function(t,n,i){if("function"!=typeof n)throw new TypeError("Expected a valid callback for parameter 'success'.");e.api(this,t,n,i)}};return k}),define("WoltLab/WCF/BootstrapFrontend",["Ajax","WoltLab/WCF/Bootstrap","WoltLab/WCF/Controller/Sitemap","WoltLab/WCF/Controller/Style/Changer","WoltLab/WCF/Controller/Popover"],function(e,t,n,i,r){"use strict";var a={setup:function(e){t.setup(),n.setup(),e.styleChanger&&i.setup(),this._initUserPopover(),this._invokeBackgroundQueue(e.backgroundQueueUrl)},_initUserPopover:function(){r.init({attributeName:"data-user-id",className:"userLink",identifier:"com.woltlab.wcf.user",loadCallback:function(e,t){var n=function(n){t.setContent("com.woltlab.wcf.user",e,n.returnValues.template)
-};t.ajaxApi({actionName:"getUserProfile",className:"wcf\\data\\user\\UserProfileAction",objectIDs:[e]},n,n)}})},_invokeBackgroundQueue:function(t){Math.random()<.1&&e.apiOnce({url:t,ignoreError:!0,silent:!0})}};return a}),define("WoltLab/WCF/List",[],function(){"use strict";function e(){this._set=t?new Set:[]}var t=objOwns(window,"Set")&&"function"==typeof window.Set;return e.prototype={add:function(e){t?this._set.add(e):this.has(e)||this._set.push(e)},clear:function(){t?this._set.clear():this._set=[]},"delete":function(e){if(t)return this._set["delete"](e);var n=this._set.indexOf(n);return-1===n?!1:(this._set.splice(n,1),!0)},forEach:function(e){if(t)this._set.forEach(e);else for(var n=0,i=this._set.length;i>n;n++)e(this._set[n])},has:function(e){return t?this._set.has(e):-1!==this._set.indexOf(e)}},Object.defineProperty(e.prototype,"size",{enumerable:!1,configurable:!0,get:function(){return _hasMap?this._set.size:this._set.length}}),e}),define("WoltLab/WCF/Ajax/Jsonp",["Core"],function(e){"use strict";var t={send:function(t,n,i,r){if(t="string"==typeof t?t.trim():"",0===t.length)throw new Error("Expected a non-empty string for parameter 'url'.");if("function"!=typeof n)throw new TypeError("Expected a valid callback function for parameter 'success'.");r=e.extend({parameterName:"callback",timeout:10},r||{});var a="wcf_jsonp_"+e.getUuid().replace(/-/g,"").substr(0,8),o=window.setTimeout(function(){window[a]=function(){},"function"==typeof i&&i()},1e3*(~~r.timeout||10));window[a]=function(){window.clearTimeout(o),n.apply(null,arguments)},t+=-1===t.indexOf("?")?"?":"&",t+=r.parameterName+"="+a;var l=elCreate("script");l.async=!0,elAttr(l,"src",t),document.head.appendChild(l)}};return t}),define("WoltLab/WCF/Bbcode/FromHtml",["EventHandler","StringUtil","Dom/Traverse"],function(e,t,n){"use strict";function i(e,t){var n=e[t?"previousSibling":"nextSibling"];return null!==n&&n.nodeType===Node.TEXT_NODE&&/\s$/.test(n.textContent)?!1:!0}var r=[],a={},o=[],l={convert:function(t){t.length&&this._setup();var n=elCreate("div");n.innerHTML=t;for(var i=elByTag("P",n);i.length;)i[0].outerHTML=i[0].innerHTML;for(i=elByTag("BR",n);i.length;)i[0].outerHTML="\n";var a=this._preserveSourceElements(n);e.fire("com.woltlab.wcf.bbcode.fromHtml","beforeConvert",{container:n});for(var o=0,l=r.length;l>o;o++)this._convert(n,r[o]);for(e.fire("com.woltlab.wcf.bbcode.fromHtml","afterConvert",{container:n}),this._restoreSourceElements(n,a),i=elByTag("*",n);i.length;)i[0].outerHTML=i[0].innerHTML;return t=this._convertSpecials(n.innerHTML)},_preserveSourceElements:function(e){for(var t,n,i=[],r=0,a=o.length;a>r;r++){t=elBySelAll(o[r].selector,e),n=[];for(var l=0,s=t.length;s>l;l++)this._preserveSourceElement(t[l],n);i.push(n)}return i},_preserveSourceElement:function(e,t){var n=elCreate("var");elAttr(n,"data-source","wcf"),e.parentNode.insertBefore(n,e);var i=document.createDocumentFragment();i.appendChild(e),t.push({fragment:i,placeholder:n})},_restoreSourceElements:function(e,t){for(var n,i,r,a=0,l=t.length;l>a;a++)if(i=t[a],0!==i.length)for(var s=0,c=i.length;c>s;s++)n=i[s],r=n.placeholder,r.parentNode.insertBefore(n.fragment,r),o[a].callback(r.previousElementSibling),r.parentNode.removeChild(r)},_convertSpecials:function(e){return e=e.replace(/&amp;/g,"&"),e=e.replace(/&lt;/g,"<"),e=e.replace(/&gt;/g,">")},_setup:function(){r.length||(r=[{tagName:"STRONG",bbcode:"b"},{tagName:"DEL",bbcode:"s"},{tagName:"EM",bbcode:"i"},{tagName:"SUB",bbcode:"sub"},{tagName:"SUP",bbcode:"sup"},{tagName:"U",bbcode:"u"},{tagName:"KBD",bbcode:"tt"},{tagName:"A",callback:this._convertUrl.bind(this)},{tagName:"IMG",callback:this._convertImage.bind(this)},{tagName:"LI",callback:this._convertListItem.bind(this)},{tagName:"OL",callback:this._convertList.bind(this)},{tagName:"TABLE",callback:this._convertTable.bind(this)},{tagName:"UL",callback:this._convertList.bind(this)},{tagName:"BLOCKQUOTE",callback:this._convertBlockquote.bind(this)},{tagName:"SPAN",callback:this._convertSpan.bind(this)},{tagName:"DIV",callback:this._convertDiv.bind(this)}],a={span:[{style:"color",callback:this._convertInlineColor.bind(this)},{style:"font-size",callback:this._convertInlineFontSize.bind(this)},{style:"font-family",callback:this._convertInlineFontFamily.bind(this)}],div:[{style:"text-align",callback:this._convertInlineTextAlign.bind(this)}]},o=[{selector:"div.codeBox",callback:this._convertSourceCodeBox.bind(this)}],e.fire("com.woltlab.wcf.bbcode.fromHtml","init",{converter:r,inlineConverter:a,sourceConverter:o}))},_convert:function(e,t){if("function"==typeof t)return void t(e);for(var n,i=elByTag(t.tagName,e);i.length;)n=i[0],t.bbcode?n.outerHTML="["+t.bbcode+"]"+n.innerHTML+"[/"+t.bbcode+"]":t.callback(n)},_convertBlockquote:function(e){var i=elAttr(e,"data-author"),r=elAttr(e,"cite"),a="[quote]";i&&(i=t.escapeHTML(i).replace(/(\\)?'/g,function(e,t){return t?e:"\\'"}),a=r?"[quote='"+i+"','"+t.escapeHTML(r)+"']":"[quote='"+i+"']");var o=n.childByTag(e,"HEADER");null!==o&&e.removeChild(o);for(var l=n.childrenByTag(e,"DIV"),s=0,c=l.length;c>s;s++)l[s].outerHTML=l[s].innerHTML+"\n";e.outerHTML=a+e.innerHTML.replace(/^\n*/,"").replace(/\n*$/,"")+"[/quote]\n"},_convertImage:function(e){if(e.classList.contains("smiley"))return void(e.outerHTML=(i(e,!0)?" ":"")+elAttr(e,"alt")+(i(e,!1)?" ":""));var t=e.style.getPropertyValue("float")||"none",n=e.style.getPropertyValue("width");if(n="string"==typeof n?~~n.replace(/px$/,""):0,e.classList.contains("redactorEmbeddedAttachment")){var r=elAttr(e,"data-attachment-id");e.outerHTML=n>0?"[attach="+r+","+t+","+n+"][/attach]":"none"!==t?"[attach="+r+","+t+"][/attach]":"[attach="+r+"][/attach]"}else{var a=e.src.trim();e.outerHTML=n>0?"[img='"+a+"',"+t+","+n+"][/img]":"none"!==t?"[img='"+a+"',"+t+"][/img]":"[img]"+a+"[/img]"}},_convertList:function(e){var t;if("OL"===e.nodeName)t="[list=1]";else{var n=e.style.getPropertyValue("list-style-type")||"";t=""===n?"[list]":"[list="+("lower-latin"===n?"a":n)+"]"}e.outerHTML=t+e.innerHTML+"[/list]"},_convertListItem:function(e){e.outerHTML="UL"!==e.parentNode.nodeName&&"OL"!==e.parentNode.nodeName?e.innerHTML:"[*]"+e.innerHTML},_convertSpan:function(e){if(e.style.length||e.className)for(var t,n,i=0,r=a.span.length;r>i;i++)t=a.span[i],t.style?(n=e.style.getPropertyValue(t.style)||"",n&&t.callback(e,n)):e.classList.contains(t.className)&&t.callback(e);e.outerHTML=e.innerHTML},_convertDiv:function(e){if(e.className.length||e.style.length)for(var t,n,i=0,r=a.div.length;r>i;i++)t=a.div[i],t.className&&e.classList.contains(t.className)?t.callback(e):t.style&&(n=e.style.getPropertyValue(t.style)||"",n&&t.callback(e,n));e.outerHTML=e.innerHTML},_convertInlineColor:function(e,t){if(t.match(/^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/i)){var n=RegExp.$1,i=RegExp.$2,r=RegExp.$3,a="0123456789ABCDEF";t="#"+(a.charAt((n-n%16)/16)+""+a.charAt(n%16))+(a.charAt((i-i%16)/16)+""+a.charAt(i%16))+(a.charAt((r-r%16)/16)+""+a.charAt(r%16))}e.innerHTML="[color="+t+"]"+e.innerHTML+"[/color]"},_convertInlineFontSize:function(e,t){t.match(/^(\d+)pt$/)?t=RegExp.$1:t.match(/^(\d+)(px|em|rem|%)$/)?(t=window.getComputedStyle(t).fontSize.replace(/^(\d+).*$/,"$1"),t=Math.round(t)):t="",t&&(t=Math.min(Math.max(t,8),36),e.innerHTML="[size="+t+"]"+e.innerHTML+"[/size]")},_convertInlineFontFamily:function(e,t){e.innerHTML="[font="+t.replace(/'/g,"")+"]"+e.innerHTML+"[/font]"},_convertInlineTextAlign:function(e,t){-1!==["center","justify","left","right"].indexOf(t)&&(e.innerHTML="[align="+t+"]"+e.innerHTML+"[/align]")},_convertTable:function(e){for(var t=elByTag("TD",e);t.length;)t[0].outerHTML="[td]"+t[0].innerHTML+"[/td]\n";for(t=elByTag("TR",e);t.length;)t[0].outerHTML="\n[tr]\n"+t[0].innerHTML+"[/tr]";var i=n.childByTag(e,"TBODY"),r=null===i?e.innerHTML:i.innerHTML;e.outerHTML="\n[table]"+r+"\n[/table]\n"},_convertUrl:function(e){var t=e.textContent.trim(),n=e.href.trim(),i="url";return""===n||""===t?void(e.outerHTML=e.innerHTML):(0===n.indexOf("mailto:")&&(n=n.substr(7),i="email"),void(e.outerHTML=n===t?"["+i+"]"+n+"[/"+i+"]":"["+i+"='"+n+"']"+e.innerHTML+"[/"+i+"]"))},_convertSourceCodeBox:function(e){var t=elAttr(e,"data-filename").trim()||"",i=elAttr(e,"data-highlighter");window.dtdesign=e;for(var r=n.childByTag(e.children[0],"OL"),a=~~r.getAttribute("start")||1,o="",l=0,s=r.childElementCount;s>l;l++)o&&(o+="\n"),o+=r.children[l].textContent;var c="[code='"+i+"',"+a+",'"+t+"']";e.outerHTML=c+o+"[/code]"}};return l}),define("WoltLab/WCF/Bbcode/Parser",[],function(){"use strict";var e={parse:function(e){var t=this._splitTags(e);return this._buildLinearTree(t),t},_splitTags:function(e){for(var t,n,i=__REDACTOR_BBCODES.join("|"),r="(\\[(?:/(?:"+i+")|(?:"+i+")(?:=(?:\\'[^\\'\\\\]*(?:\\\\.[^\\'\\\\]*)*\\'|[^,\\]]*)(?:,(?:\\'[^\\'\\\\]*(?:\\\\.[^\\'\\\\]*)*'|[^,\\]]*))*)?)\\])",a=new RegExp("^"+r+"$","i"),o=e.split(new RegExp(r,"i")),l=[],s=0,c=o.length;c>s;s++)t=o[s],""!==t&&(t.match(a)?(n={name:"",closing:!1,attributes:[],source:t},"/"===t[1]?(n.name=t.substring(2,t.length-1),n.closing=!0):t.match(/^\[([a-z0-9]+)=?(.*)\]$/i)&&(n.name=RegExp.$1,RegExp.$2&&(n.attributes=this._parseAttributes(RegExp.$2))),l.push(n)):l.push(t));return l},_buildLinearTree:function(e){for(var t,n,i=[],r="",a=0;a<e.length;a++)if(t=e[a],"object"==typeof t){if(r.length&&(t.name!==r||!t.closing)){e[a]=t.source;continue}if(t.closing){if(this._hasOpenTag(i,t.name)){n=this._closeUnclosedTags(e,i,t.name);for(var o=0,l=n.length;l>o;o++)e.splice(a,n[o]),a++;i.pop().pair=a}else e[a]=t.source;r===t.name&&(r="")}else i.push(t),-1!==__REDACTOR_SOURCE_BBCODES.indexOf(t.name)&&(r=t.name)}this._closeUnclosedTags(e,i,"")},_closeUnclosedTags:function(e,t,n){for(var i,r,a=[],o=t.length-1;o>=0&&(i=t[o],i.name!==n);o--)r={name:i.name,closing:!0,attributes:i.attributes.slice(),source:"[/"+i.name+"]"},i.pair=e.length,e.push(r),t.pop(),a.push({name:i.name,closing:!1,attributes:i.attributes.slice(),source:i.source});return a.reverse()},_hasOpenTag:function(e,t){for(var n=e.length-1;n>=0;n--)if(e[n].name===t)return!0;return!1},_parseAttributes:function(e){for(var t,n=e.split(/(?:^|,)('[^'\\\\]*(?:\\\\.[^'\\\\]*)*'|[^,]*)/g),i=[],r=0,a=n.length;a>r;r++)t=n[r],""!==t&&i.push("'"===t.charAt(0)&&"'"===t.substr(-1)?t.substring(1,t.length-1).trim():t.trim());return i}};return e}),define("WoltLab/WCF/Bbcode/ToHtml",["Core","EventHandler","Language","StringUtil","WoltLab/WCF/Bbcode/Parser"],function(e,t,n,i,r){"use strict";function a(e){return e&&e==~~e}function o(e){return-1!==e.indexOf(".")||!a(e)&&!l(e)}function l(e){return objOwns(__REDACTOR_CODE_HIGHLIGHTERS,e)}var s=null,c={},u=[],d=[],h={convert:function(n,i){c=e.extend({attachments:{images:{},thumbnailUrl:"",url:""}},i),this._convertSpecials(n);var a=r.parse(n);a.length&&this._initBBCodes(),t.fire("com.woltlab.wcf.bbcode.toHtml","beforeConvert",{stack:a});for(var o,l,s=0,u=a.length;u>s;s++)o=a[s],"object"==typeof o&&(l=this._convert(a,o,s),Array.isArray(l)?(a[s]=null===l[0]?o.source:l[0],a[o.pair]=null===l[1]?a[o.pair].source:l[1]):a[s]=l);return t.fire("com.woltlab.wcf.bbcode.toHtml","afterConvert",{stack:a}),n=a.join(""),n=n.replace(/\n/g,"<br>")},_convertSpecials:function(e){return e=e.replace(/&/g,"&amp;"),e=e.replace(/</g,"&lt;"),e=e.replace(/>/g,"&gt;")},_initBBCodes:function(){null===s&&(s={b:"strong",i:"em",u:"u",s:"del",sub:"sub",sup:"sup",table:"table",td:"td",tr:"tr",tt:"kbd",align:this._convertAlignment.bind(this),attach:this._convertAttachment.bind(this),color:this._convertColor.bind(this),code:this._convertCode.bind(this),email:this._convertEmail.bind(this),list:this._convertList.bind(this),quote:this._convertQuote.bind(this),size:this._convertSize.bind(this),url:this._convertUrl.bind(this),img:this._convertImage.bind(this)},u=["quote","table","td","tr"],d=["table","td","tr"],t.fire("com.woltlab.wcf.bbcode.toHtml","init",{bbcodes:s,removeNewlineAfter:u,removeNewlineBefore:d}))},_convert:function(e,t,n){var i,r=s[t.name];return void 0===r?[null,null]:(-1!==u.indexOf(t.name)&&(i=e[n+1],"string"==typeof i&&(e[n+1]=i.replace(/^\n/,"")),e.length>t.pair+1&&(i=e[t.pair+1],"string"==typeof i&&(e[t.pair+1]=i.replace(/^\n/,"")))),-1!==d.indexOf(t.name)&&(n-1>=0&&(i=e[n-1],"string"==typeof i&&(e[n-1]=i.replace(/\n$/,""))),i=e[t.pair-1],"string"==typeof i&&(e[t.pair-1]=i.replace(/\n$/,""))),this._convertSmilies(e),"string"==typeof r?["<"+r+">","</"+r+">"]:r(e,t,n))},_convertAlignment:function(e,t){var n=t.attributes.length?t.attributes[0]:"";return-1===["center","justify","left","right"].indexOf(n)?[null,null]:['<div style="text-align: '+n+'">',"</div>"]},_convertAttachment:function(e,t){var n=0,i=t.attributes,r=i.length;if(c.attachments.url?r>0&&(n=~~i[0],c.attachments.images.hasOwnProperty(n)||(r=0)):r=0,0===r)return[null,null];var a=~~c.attachments.images[n].height,o=~~c.attachments.images[n].width,l=["max-height: "+a+"px","max-width: "+o+"px"];r>1&&("left"===t.attributes[1]||"right"===i[1])&&(l.push("float: "+i[1]),l.push("margin: "+("left"===i[1]?"0 15px 7px 0":"0 0 7px 15px")));var s=c.attachments.thumbnailUrl;return r>2&&(width=~~i[2]||0,width&&(width>o&&(width=o),l.push("width: "+width+"px"),s=c.attachments.url)),['<img src="'+s.replace(/987654321/,n)+'" class="redactorEmbeddedAttachment redactorDisableResize" data-attachment-id="'+n+'"'+(l.length?' style="'+l.join(";")+'"':"")+">",""]},_convertCode:function(e,t,n){var r=t.attributes,s="",c="auto",u=0;switch(r.length){case 1:a(r[0])?u=~~r[0]:o(r[0])?s=r[0]:l(r[0])&&(c=r[0]);break;case 2:a(r[0])?(u=~~r[0],l(r[1])?c=r[1]:o(r[1])&&(s=r[1])):(l(r[0])&&(c=r[0]),o(r[1])&&(s=r[1]));break;case 3:l(r[0])&&(c=r[0]),a(r[1])&&(u=~~r[1]),o(r[2])&&(s=r[2])}for(var d,h,f=!0,p=-1,m=n+1;m<t.pair;m++){if(h=e[m],""===h.trim()){if(f){e[m]="";continue}-1===p&&(p=m)}else f=!1,p=-1;d=h.split("\n");for(var g=0,v=d.length;v>g;g++)d[g]="<li>"+(d[g]?i.escapeHTML(d[g]):"​")+"</li>";e[m]=d.join("")}if(!f&&-1!==p)for(var m=t.pair-1;m>=p;m--)e[m]="";return['<div class="codeBox container" contenteditable="false" data-highlighter="'+c+'" data-filename="'+(s?i.escapeHTML(s):"")+'"><div><div><h3>'+__REDACTOR_CODE_HIGHLIGHTERS[c]+(s?": "+i.escapeHTML(s):"")+'</h3></div><ol start="'+(u>1?u:1)+'">',"</ol></div></div>"]},_convertColor:function(e,t){return t.attributes.length&&t.attributes[0].match(/^[a-z0-9#]+$/i)?['<span style="color: '+i.escapeHTML(t.attributes[0])+'">',"</span>"]:[null,null]},_convertEmail:function(e,t,n){var r="";if(t.attributes.length)r=t.attributes[0];else{for(var a,o=n+1;o<t.pair;o++){if(a=e[o],"object"==typeof a){r="";break}r+=a}if(""===r.trim())return[null,null]}return['<a href="mailto:'+i.escapeHTML(r)+'">',"</a>"]},_convertImage:function(e,t,n){var r="none",a="",o=0;switch(t.attributes.length){case 0:if(!(n+1<t.pair&&"string"==typeof e[n+1]))return"";a=e[n+1],e[n+1]="";break;case 1:a=t.attributes[0];break;case 2:a=t.attributes[0],r=t.attributes[1];break;case 3:a=t.attributes[0],r=t.attributes[1],o=~~t.attributes[2]}"left"!==r&&"right"!==r&&(r="none");var l=[];return o>0&&l.push("width: "+o+"px"),"none"!==r&&(l.push("float: "+r),l.push("margin: "+("left"===r?"0 15px 7px 0":"0 0 7px 15px"))),['<img src="'+i.escapeHTML(a)+'"'+(l.length?' style="'+l.join(";")+'"':"")+">",""]},_convertList:function(e,t,n){for(var i=items.attributes.length?t.attributes[0]:"",r=n+1;r<t.pair;r++)"string"==typeof e[r]&&(e[r]=e[r].replace(/\[\*\]/g,"<li>"));return"1"==i||"decimal"===i?["<ol>","</ol>"]:i.length&&i.match(/^(?:none|circle|square|disc|decimal|lower-roman|upper-roman|decimal-leading-zero|lower-greek|lower-latin|upper-latin|armenian|georgian)$/)?['<ul style="list-style-type: '+i+'">',"</ul>"]:["<ul>","</ul>"]},_convertQuote:function(e,t,r){var a="",o="";t.attributes.length>1?(a=t.attributes[0],o=t.attributes[1]):1===t.attributes.length&&(a=t.attributes[0]);for(var l=t.pair-1;l>r;l--)if("string"==typeof e[l]){e[l]=e[l].replace(/\n$/,"");break}var s="";return a?(o&&(s='<a href="'+i.escapeHTML(o)+'" tabindex="-1">'),s+=n.get("wcf.bbcode.quote.title.javascript",{quoteAuthor:a.replace(/\\'/g,"'")}),o&&(s+="</a>")):s="<small>"+n.get("wcf.bbcode.quote.title.clickToSet")+"</small>",['<blockquote class="quoteBox container containerPadding quoteBoxSimple" cite="'+i.escapeHTML(o)+'" data-author="'+i.escapeHTML(a)+'"><header contenteditable="false"><h3>'+s+'</h3><a class="redactorQuoteEdit"></a></header><div>​',"</div></blockquote>"]},_convertSmilies:function(e){for(var t,n,r,a=0,o=e.length;o>a;a++)if(n=e[a],"string"==typeof n){for(var l in __REDACTOR_SMILIES)__REDACTOR_SMILIES.hasOwnProperty(l)&&(t=l.replace(/</g,"&lt;").replace(/>/g,"&gt;"),r=new RegExp("(\\s|^)"+i.escapeRegExp(l)+"(?=\\s|$)","gi"),n=n.replace(r,'$1<img src="'+__REDACTOR_SMILIES[l]+'" class="smiley" alt="'+t+'">'));e[a]=n}else-1!==__REDACTOR_SOURCE_BBCODES.indexOf(n.name)&&(a=n.pair)},_convertSize:function(e,t){return t.attributes.length&&0!==~~t.attributes[0]?['<span style="font-size: '+~~t.attributes[0]+'pt">',"</span>"]:[null,null]},_convertUrl:function(e,t){return t.attributes.length?['<a href="'+i.escapeHTML(t.attributes[0])+'">',"</a>"]:[null,null]}};return h}),define("WoltLab/WCF/Controller/Clipboard",["Ajax","Core","Dictionary","EventHandler","Language","List","ObjectMap","Dom/ChangeListener","Dom/Traverse","Dom/Util","Ui/Confirmation","Ui/SimpleDropdown"],function(e,t,n,i,r,a,o,l,s,c,u,d){"use strict";var h=new n,f=new n,p=elByClass("jsClipboardContainer"),m=new o,g=new a,v={},b=null,y=null,w=null,C={setup:function(e){if(b=this._mark.bind(this),y=this._executeAction.bind(this),w=this._unmarkAll.bind(this),v=t.extend({hasMarkedItems:!1,pageClassName:"",pageObjectId:0},e),!v.pageClassName)throw new Error("Expected a non-empty string for parameter 'pageClassName'.");this._initContainers(),this._initEditors(),v.hasMarkedItems&&p.length&&this._loadMarkedItems(),l.add("WoltLab/WCF/Controller/Clipboard",this._initContainers.bind(this))},reload:function(){h.size&&this._loadMarkedItems()},_initContainers:function(){for(var e=0,t=p.length;t>e;e++){var n=p[e],i=c.identify(n),r=h.get(i);if(void 0===r){var o=elBySel(".jsClipboardMarkAll",n);null!==o&&(elAttr(o,"data-container-id",i),o.addEventListener("click",this._markAll.bind(this))),r={checkboxes:elByClass("jsClipboardItem",n),element:n,markAll:o,markedObjectIds:new a},h.set(i,r)}for(var l=0,s=r.checkboxes.length;s>l;l++){var u=r.checkboxes[l];g.has(u)||(elAttr(u,"data-container-id",i),u.addEventListener("click",b),g.add(u))}}},_initEditors:function(){for(var e=function(e){try{var t=elAttr(e,"data-types");if("string"==typeof t)return JSON.parse('{ "types": '+t.replace(/'/g,'"')+"}").types}catch(n){throw new Error("Expected a valid 'data-type' attribute for element '"+c.identify(e)+"'.")}return[]},t=elByClass("jsClipboardEditor"),n=0,i=t.length;i>n;n++)for(var r=t[n],a=e(r),o=0,l=a.length;l>o;o++)f.set(a[o],r)},_loadMarkedItems:function(){e.api(this,{actionName:"getMarkedItems",parameters:{pageClassName:v.pageClassName,pageObjectID:v.pageObjectId}})},_markAll:function(e){for(var t=e.currentTarget,n="INPUT"!==t.nodeName||t.checked,i=[],r=elAttr(t,"data-container-id"),a=h.get(r),o=elAttr(a.element,"data-type"),l=0,c=a.checkboxes.length;c>l;l++){var u=a.checkboxes[l],d=~~u.getAttribute("data-object-id");n?u.checked||(u.checked=!0,a.markedObjectIds.add(d),i.push(d)):u.checked&&(u.checked=!1,a.markedObjectIds["delete"](d),i.push(d));var f=s.parentByClass(t,"jsClipboardObject");null!==f&&f.classList[n?"addClass":"removeClass"]("jsMarked")}this._saveState(o,i,n)},_mark:function(e){var t=e.currentTarget,n=~~t.getAttribute("data-object-id"),i=t.checked,r=elAttr(t,"data-container-id"),a=h.get(r),o=elAttr(a.element,"data-type"),l=s.parentByClass(t,"jsClipboardObject");a.markedObjectIds[i?"add":"delete"](n),l.classList[i?"add":"remove"]("jsMarked");for(var c=!0,u=0,d=a.checkboxes.length;d>u;u++)if(!a.checkboxes[u].checked){c=!1;break}a.markAll.checked=c,this._saveState(o,[n],i)},_saveState:function(t,n,i){e.api(this,{actionName:i?"mark":"unmark",parameters:{pageClassName:v.pageClassName,pageObjectID:v.pageObjectId,objectIDs:n,objectType:t}})},_executeAction:function(e){var t=e.currentTarget,n=m.get(t);if(n.url)return void(window.location.href=n.url);var r=function(){var e=elAttr(t,"data-type");i.fire("com.woltlab.wcf.clipboard",e,{data:n,listItem:t,responseData:null}),"function"==typeof window.jQuery&&window.jQuery(f.get(e)).trigger("clipboardAction",[e,n.actionName,n.parameters])},a="string"==typeof n.internalData.confirmMessage?n.internalData.confirmMessage:"",o=!0;if("object"==typeof n.parameters&&n.parameters.actionName&&n.parameters.className){if("unmarkAll"===n.parameters.actionName||Array.isArray(n.parameters.objectIDs))if(a.length){var l="string"==typeof n.internalData.template?n.internalData.template:"";u.show({confirm:function(){var e={};if(l.length)for(var i=u.getContentElement().querySelectorAll("input, select, textarea"),r=0,a=i.length;a>r;r++){var o=i[r],s=elAttr(o,"name");switch(o.nodeName){case"INPUT":o.checked&&(e[s]=elAttr(o,"value"));break;case"SELECT":e[s]=o.value;break;case"TEXTAREA":e[s]=o.value.trim()}}this._executeProxyAction(t,n,e)}.bind(this),message:a,template:l})}else this._executeProxyAction(t,n)}else a.length&&(o=!1,u.show({confirm:r,message:a}));o&&r()},_executeProxyAction:function(t,n,r){r=r||{};var a="unmarkAll"!==n.parameters.actionName?n.parameters.objectIDs:[],o={data:r};if("object"==typeof n.internalData.parameters)for(var l in n.internalData.parameters)n.internalData.parameters.hasOwnProperty(l)&&(o[l]=n.internalData.parameters[l]);e.api(this,{actionName:n.parameters.actionName,className:n.parameters.className,objectIDs:a,parameters:o},function(e){if("unmarkAll"!==n.actionName){var r=elAttr(t,"data-type");i.fire("com.woltlab.wcf.clipboard",r,{data:n,listItem:t,responseData:e}),"function"==typeof window.jQuery&&window.jQuery(f.get(r)).trigger("clipboardActionResponse",[e,r,n.actionName,n.parameters])}this._loadMarkedItems()}.bind(this))},_unmarkAll:function(t){var n=elAttr(t.currentTarget,"data-type");e.api(this,{actionName:"unmarkAll",parameters:{objectType:n}})},_ajaxSetup:function(){return{data:{className:"wcf\\data\\clipboard\\item\\ClipboardItemAction"}}},_ajaxSuccess:function(e){if("unmarkAll"===e.actionName)return void h.forEach(function(t){if(elAttr(t.element,"data-type")===e.returnValues.objectType){for(var n=elByClass("jsMarked",t.element);n.length;)n[0].classList.remove("jsMarked");t.markAll.checked=!1;for(var i=0,r=t.checkboxes.length;r>i;i++)t.checkboxes[i].checked=!1;f.get(e.returnValues.objectType).innerHTML=""}}.bind(this));if(f.forEach(function(e){e.innerHTML=""}),m=new o,h.forEach(function(t){var n=elAttr(t.element,"data-type"),i=e.returnValues.markedItems&&objOwns(e.returnValues.markedItems,n)?e.returnValues.markedItems[n]:[];this._rebuildMarkings(t,i)}.bind(this)),e.returnValues&&e.returnValues.items){var t=document.createDocumentFragment();for(var n in e.returnValues.items)if(e.returnValues.items.hasOwnProperty(n)&&f.has(n)){var i=e.returnValues.items[n],a=f.get(n),l=s.childrenByTag(a,"UL"),c=l[0]||null;null===c&&(c=elCreate("ul")),t.appendChild(c);var u=elCreate("li");u.classList.add("dropdown"),c.appendChild(u);var p=elCreate("span");p.className="dropdownToggle button",p.textContent=i.label,u.appendChild(p);var g=elCreate("ol");g.classList.add("dropdownMenu");for(var v in i.items)if(i.items.hasOwnProperty(v)){var b=i.items[v],C=elCreate("li"),_=elCreate("span");_.textContent=b.label,C.appendChild(_),g.appendChild(C),elAttr(C,"data-type",n),C.addEventListener("click",y),m.set(C,b)}var x=elCreate("li");x.classList.add("dropdownDivider"),g.appendChild(x);var L=elCreate("li");elAttr(L,"data-type",n);var _=elCreate("span");_.textContent=r.get("wcf.clipboard.item.unmarkAll"),L.appendChild(_),g.appendChild(L),u.appendChild(g),L.addEventListener("click",w),a.appendChild(t),d.init(p,!1)}}},_rebuildMarkings:function(e,t){for(var n=!0,i=0,r=e.checkboxes.length;r>i;i++){var a=e.checkboxes[i],o=s.parentByClass(a,"jsClipboardObject"),l=-1!==t.indexOf(~~a.getAttribute("data-object-id"));l||(n=!1),a.checked=l,o.classList[l?"add":"remove"]("jsMarked")}e.markAll.checked=n}};return C}),define("WoltLab/WCF/Language/Input",["Dictionary","Language","ObjectMap","StringUtil","Dom/Traverse","Dom/Util","Ui/SimpleDropdown"],function(e,t,n,i,r,a,o){"use strict";var l=new e,s=!1,c=new n,u=new e,d=null,h=null,f={init:function(t,n,r,a){if(!u.has(t)){var o=elById(t);if(null===o)throw new Error("Expected a valid element id, cannot find '"+t+"'.");this._setup();var l=new e;for(var s in n)n.hasOwnProperty(s)&&l.set(~~s,i.unescapeHTML(n[s]));u.set(t,l),this._initElement(t,o,l,r,a)}},_setup:function(){s||(s=!0,d=this._dropdownToggle.bind(this),h=this._submit.bind(this))},_initElement:function(e,n,i,s,u){var f=n.parentNode;f.classList.contains("inputAddon")||(f=elCreate("div"),f.className="inputAddon"+("TEXTAREA"===n.nodeName?" inputAddonTextarea":""),elAttr(f,"data-input-id",e),n.parentNode.insertBefore(f,n),f.appendChild(n)),f.classList.add("dropdown");var p=elCreate("span");p.className="button dropdownToggle inputPrefix";var m=elCreate("span");m.textContent=t.get("wcf.global.button.disabledI18n"),p.appendChild(m),f.insertBefore(p,n);var g=elCreate("ul");g.className="dropdownMenu",a.insertAfter(g,p);var v=function(t,n){var i=~~t.currentTarget.getAttribute("data-language-id"),a=r.childByClass(g,"active");null!==a&&a.classList.remove("active"),i&&t.currentTarget.classList.add("active"),this._select(e,i,t.currentTarget.children[0].textContent,n||!1)}.bind(this);for(var b in s)if(s.hasOwnProperty(b)){var y=elCreate("li");elAttr(y,"data-language-id",b),m=elCreate("span"),m.textContent=s[b],y.appendChild(m),y.addEventListener("click",v),g.appendChild(y)}if(u!==!0){var y=elCreate("li");y.className="dropdownDivider",elAttr(y,"data-language-id",0),g.appendChild(y),y=elCreate("li"),m=elCreate("span"),m.textContent=t.get("wcf.global.button.disabledI18n"),y.appendChild(m),y.addEventListener("click",v),g.appendChild(y)}var w=null;if(u===!0||i.size)for(var C=0,_=g.childElementCount;_>C;C++)if(~~g.children[C].getAttribute("data-language-id")===LANGUAGE_ID){w=g.children[C];break}o.init(p),o.registerCallback(f.id,d),l.set(e,{buttonLabel:p.children[0],element:n,languageId:0});var x=r.parentByTag(n,"FORM");if(null!==x){x.addEventListener("submit",h);var L=c.get(x);void 0===L&&(L=[],c.set(x,L)),L.push(e)}null!==w&&v({currentTarget:w},!0)},_select:function(t,n,i,r){var a=l.get(t);if(a.languageId!==n){var o=u.get(t);a.languageId&&o.set(a.languageId,a.element.value),0===n?u.set(t,new e):(a.buttonLabel.classList.contains("active")||r===!0)&&(a.element.value=o.has(n)?o.get(n):""),a.buttonLabel.textContent=i,a.buttonLabel.classList[n?"add":"remove"]("active"),a.languageId=n}a.element.blur(),a.element.focus()},_dropdownToggle:function(e,t){if("open"===t)for(var n,i,r=o.getDropdownMenu(e),a=elById(e).getAttribute("data-input-id"),l=u.get(a),s=0,c=r.childElementCount;c>s;s++)n=r.children[s],i=~~n.getAttribute("data-language-id"),i&&n.classList[l.has(i)||!l.size?"remove":"add"]("missingValue")},_submit:function(e){for(var t,n,i,r,a=c.get(e.currentTarget),o=0,s=a.length;s>o;o++)n=a[o],t=l.get(n),r=u.get(n),t.languageId&&r.set(t.languageId,t.element.value),r.size&&(r.forEach(function(t,r){i=elCreate("input"),i.type="hidden",i.name=n+"_i18n["+r+"]",i.value=t,e.currentTarget.appendChild(i)}),t.element.removeAttribute("name"))}};return f}),define("WoltLab/WCF/Ui/Suggestion",["Ajax","Core","Ui/SimpleDropdown"],function(e,t,n){"use strict";function i(e,t){this.init(e,t)}return i.prototype={init:function(e,n){if(this._dropdownMenu=null,this._value="",this._element=elById(e),null===this._element)throw new Error("Expected a valid element id.");if(this._options=t.extend({ajax:{actionName:"getSearchResultList",className:"",interfaceName:"wcf\\data\\ISearchAction",parameters:{data:{}}},callbackSelect:null,excludedSearchValues:[],treshold:3},n),"function"!=typeof this._options.callbackSelect)throw new Error("Expected a valid callback for option 'callbackSelect'.");this._element.addEventListener("click",function(e){e.stopPropagation()}),this._element.addEventListener("keydown",this._keyDown.bind(this)),this._element.addEventListener("keyup",this._keyUp.bind(this))},addExcludedValue:function(e){-1===this._options.excludedSearchValues.indexOf(e)&&this._options.excludedSearchValues.push(e)},removeExcludedValue:function(e){var t=this._options.excludedSearchValues.indexOf(e);-1!==t&&this._options.excludedSearchValues.splice(t,1)},_keyDown:function(e){if(null===this._dropdownMenu||!n.isOpen(this._element.id))return!0;if(13!==e.keyCode&&27!==e.keyCode&&38!==e.keyCode&&40!==e.keyCode)return!0;for(var t,i=0,r=this._dropdownMenu.childElementCount;r>i&&(t=this._dropdownMenu.children[i],!t.classList.contains("active"));)i++;if(13===e.keyCode)n.close(this._element.id),this._select(t);else if(27===e.keyCode){if(!n.isOpen(this._element.id))return!0;n.close(this._element.id)}else{var a=0;38===e.keyCode?a=(0===i?r:i)-1:40===e.keyCode&&(a=i+1,a===r&&(a=0)),a!==i&&(t.classList.remove("active"),this._dropdownMenu.children[a].classList.add("active"))}return e.preventDefault(),!1},_select:function(e){var t=e instanceof Event;t&&(e=e.currentTarget.parentNode),this._options.callbackSelect(this._element.id,{objectId:e.children[0].getAttribute("data-object-id"),value:e.textContent}),t&&this._element.focus()},_keyUp:function(t){var i=t.currentTarget.value.trim();if(this._value!==i){if(i.length<this._options.treshold)return null!==this._dropdownMenu&&n.close(this._element.id),void(this._value=i);this._value=i,e.api(this,{parameters:{data:{excludedSearchValues:this._options.excludedSearchValues,searchString:i}}})}},_ajaxSetup:function(){return{data:this._options.ajax}},_ajaxSuccess:function(e){if(null===this._dropdownMenu?(this._dropdownMenu=elCreate("div"),this._dropdownMenu.className="dropdownMenu",n.initFragment(this._element,this._dropdownMenu)):this._dropdownMenu.innerHTML="",e.returnValues.length){for(var t,i,r,a=0,o=e.returnValues.length;o>a;a++)i=e.returnValues[a],t=elCreate("a"),t.textContent=i.label,elAttr(t,"data-object-id",i.objectID),t.addEventListener("click",this._select.bind(this)),r=elCreate("li"),0===a&&(r.className="active"),r.appendChild(t),this._dropdownMenu.appendChild(r);n.open(this._element.id)}else n.close(this._element.id)}},i}),define("WoltLab/WCF/Ui/ItemList",["Core","Dictionary","Language","Dom/Traverse","WoltLab/WCF/Ui/Suggestion"],function(e,t,n,i,r){"use strict";var a="",o=new t,l=!1,s=null,c=null,u=null,d=null,h={init:function(t,n,a){var l=elById(t);if(null===l)throw new Error("Expected a valid element id.");a=e.extend({ajax:{actionName:"getSearchResultList",className:"",data:{}},excludedSearchValues:[],maxItems:-1,maxLength:-1,restricted:!1,isCSV:!1,callbackChange:null,callbackSubmit:null,submitFieldName:""},a);var s=i.parentByTag(l,"FORM");if(null!==s&&a.isCSV===!1){if(!a.submitFieldName.length&&"function"!=typeof a.callbackSubmit)throw new Error("Expected a valid function for option 'callbackSubmit', a non-empty value for option 'submitFieldName' or enabling the option 'submitFieldCSV'.");s.addEventListener("submit",function(){var e=this.getValues(t);if(a.submitFieldName.length)for(var n,i=0,r=e.length;r>i;i++)n=elCreate("input"),n.type="hidden",n.name=a.submitFieldName.replace(/{$objectId}/,e[i].objectId),n.value=e[i].value,s.appendChild(n);else a.callbackSubmit(s,e)}.bind(this))}this._setup();var c=this._createUI(l,a,n),u=new r(t,{ajax:a.ajax,callbackSelect:this._addItem.bind(this),excludedSearchValues:a.excludedSearchValues});if(o.set(t,{dropdownMenu:null,element:c.element,list:c.list,listItem:c.element.parentNode,options:a,shadow:c.shadow,suggestion:u}),n=c.values.length?c.values:n,Array.isArray(n))for(var d,h=0,f=n.length;f>h;h++)d=n[h],"string"==typeof d&&(d={objectId:0,value:d}),this._addItem(t,d)},getValues:function(e){if(!o.has(e))throw new Error("Element id '"+e+"' is unknown.");for(var t,n,r=o.get(e),a=i.childrenByClass(r.list,"item"),l=[],s=0,c=a.length;c>s;s++)n=a[s],t={objectId:elAttr(n,"data-object-id"),value:i.childByTag(n,"SPAN").textContent},l.push(t);
-return l},_setup:function(){l||(l=!0,s=this._keyDown.bind(this),c=this._keyPress.bind(this),u=this._keyUp.bind(this),d=this._removeItem.bind(this))},_createUI:function(e,t){var n=elCreate("ol");n.className="inputItemList",elAttr(n,"data-element-id",e.id),n.addEventListener("click",function(t){t.target===n&&e.focus()});var i=elCreate("li");i.className="input",n.appendChild(i),e.addEventListener("keydown",s),e.addEventListener("keypress",c),e.addEventListener("keyup",u),e.parentNode.insertBefore(n,e),i.appendChild(e),-1!==t.maxLength&&elAttr(e,"maxLength",t.maxLength);var r=null,a=[];if(t.isCSV&&(r=elCreate("input"),r.className="itemListInputShadow",r.type="hidden",r.name=e.name,e.removeAttribute("name"),n.parentNode.insertBefore(r,n),"TEXTAREA"===e.nodeName)){for(var o,l=e.value.split(","),d=0,h=l.length;h>d;d++)o=l[d].trim(),o.length&&a.push(o);var f=elCreate("input");e.parentNode.insertBefore(f,e),f.id=e.id,e.parentNode.removeChild(e),e=f}return{element:e,list:n,shadow:r,values:a}},_handleLimit:function(e){var t=o.get(e);-1!==t.options.maxItems&&(t.list.childElementCount-1<t.options.maxItems?t.element.disabled&&(t.element.disabled=!1,t.element.removeAttribute("placeholder")):t.element.disabled||(t.element.disabled=!0,elAttr(t.element,"placeholder",n.get("wcf.global.form.input.maxItems"))))},_keyDown:function(e){var t=e.currentTarget,n=t.parentNode.previousElementSibling;a=t.id,8===e.keyCode?0===t.value.length&&null!==n&&(n.classList.contains("active")?this._removeItem(null,n):n.classList.add("active")):27===e.keyCode&&null!==n&&n.classList.contains("active")&&n.classList.remove("active")},_keyPress:function(e){if(13===e.charCode||44===e.charCode){if(e.preventDefault(),o.get(e.currentTarget.id).options.restricted)return;var t=e.currentTarget.value.trim();t.length&&this._addItem(e.currentTarget.id,{objectId:0,value:t})}},_keyUp:function(e){var t=e.currentTarget;if(t.value.length>0){var n=t.parentNode.previousElementSibling;null!==n&&n.classList.remove("active")}},_addItem:function(e,t){var n=o.get(e),i=elCreate("li");i.className="item";var r=elCreate("span");r.className="content",elAttr(r,"data-object-id",t.objectId),r.textContent=t.value;var a=elCreate("a");a.className="icon icon16 fa-times",a.addEventListener("click",d),i.appendChild(r),i.appendChild(a),n.list.insertBefore(i,n.listItem),n.suggestion.addExcludedValue(t.value),n.element.value="",this._handleLimit(e);var l=this._syncShadow(n);"function"==typeof n.options.callbackChange&&(null===l&&(l=this.getValues(e)),n.options.callbackChange(e,l))},_removeItem:function(e,t){t=null===e?t:e.currentTarget.parentNode;var n=t.parentNode,i=elAttr(n,"data-element-id"),r=o.get(i);r.suggestion.removeExcludedValue(t.children[0].textContent),n.removeChild(t),r.element.focus(),this._handleLimit(i);var a=this._syncShadow(r);"function"==typeof r.options.callbackChange&&(null===a&&(a=this.getValues(i)),r.options.callbackChange(i,a))},_syncShadow:function(e){if(!e.options.isCSV)return null;for(var t="",n=this.getValues(e.element.id),i=0,r=n.length;r>i;i++)t+=(t.length?",":"")+n[i].value;return e.shadow.value=t,n}};return h}),define("WoltLab/WCF/Controller/Notice/Dismiss",["Ajax"],function(e){"use strict";var t={setup:function(){var e=elByClass("jsDismissNoticeButton");if(e.length)for(var t=this._click.bind(this),n=0,i=e.length;i>n;n++)e[n].addEventListener("click",t)},_click:function(t){var n=t.currentTarget;e.apiOnce({data:{actionName:"dismiss",className:"wcf\\data\\notice\\NoticeAction",objectIDs:[elAttr(n,"data-object-id")]},success:function(){var e=n.parentNode;e.addEventListener("transitionend",function(){e.parentNode.removeChild(e)}),e.classList.remove("active")}})}};return t}),define("WoltLab/WCF/Ui/Collapsible/Sidebar",["Ajax","Language","Dom/Util"],function(e,t,n){"use strict";var i=!1,r=null,a="",o={setup:function(){var e=elBySel(".sidebar");null!==e&&(i="true"===elAttr(e,"data-is-open"),r=elById("main"),a=elAttr(e,"data-sidebar-name"),this._createUI(e),r.classList[i?"remove":"add"]("sidebarCollapsed"))},_createUI:function(e){var i=elCreate("a");i.href="#",i.className="collapsibleButton jsTooltip",elAttr(i,"title",t.get("wcf.global.button.collapsible"));var r=elCreate("span");r.appendChild(i),n.prepend(r,e),i.addEventListener("click",this._click.bind(this))},_click:function(t){t.preventDefault(),i=i===!1,e.api(this,{isOpen:~~i})},_ajaxSetup:function(){return{data:{actionName:"toggle",className:"wcf\\system\\user\\collapsible\\content\\UserCollapsibleSidebarHandler",sidebarName:a},url:"index.php/AJAXInvoke/?t="+SECURITY_TOKEN+SID_ARG_2ND}},_ajaxSuccess:function(){r.classList[i?"remove":"add"]("sidebarCollapsed")}};return o}),define("WoltLab/WCF/Ui/ItemList/User",["WoltLab/WCF/Ui/ItemList"],function(e){"use strict";var t={init:function(t,n){e.init(t,[],{ajax:{className:"wcf\\data\\user\\UserAction",parameters:{data:{includeUserGroups:~~n.includeUserGroups}}},callbackChange:"function"==typeof n.callbackChange?n.callbackChange:null,excludedSearchValues:Array.isArray(n.excludedSearchValues)?n.excludedSearchValues:[],isCSV:!0,maxItems:~~n.maxItems||-1,restricted:!0})},getValues:function(t){return e.getValues(t)}};return t}),define("WoltLab/WCF/Controller/User/Notification/Settings",["Dictionary","Language","Dom/Traverse","Ui/SimpleDropdown"],function(e,t,n,i){"use strict";var r=new e,a=null,o=null,l={setup:function(){a=this._click.bind(this),o=this._selectType.bind(this);for(var e,t,n=elBySelAll("#notificationSettings .flexibleButtonGroup"),i=0,r=n.length;r>i;i++)e=n[i],t=elBySel(".notificationSettingsEmail",e),null!==t&&this._initGroup(e,t)},_initGroup:function(e,t){var i=~~e.getAttribute("data-object-id"),o=elById("settings_"+i+"_disabled");o.addEventListener("click",function(){t.classList.remove("active")});var l=elById("settings_"+i+"_enabled");l.addEventListener("click",function(){t.classList.add("active")});var s=n.childByTag(t,"INPUT"),c=n.childByTag(t,"A");elAttr(c,"data-object-id",i),c.addEventListener("click",a),r.set(i,{button:c,dropdownMenu:null,mailSetting:t,mailValue:s})},_click:function(e){e.preventDefault();var t=e.currentTarget,a=~~t.getAttribute("data-object-id"),o=r.get(a);if(null===o.dropdownMenu)o.dropdownMenu=this._createDropdown(a,o.mailValue.value),t.parentNode.classList.add("dropdown"),t.parentNode.appendChild(o.dropdownMenu),i.init(t,!0);else for(var l=n.childrenByTag(o.dropdownMenu,"LI"),s=o.mailValue.value,c=0;4>c;c++)l[c].classList[l[c].getAttribute("data-value")===s?"add":"remove"]("active")},_createDropdown:function(e,n){var i=elCreate("ul");i.className="dropdownMenu",elAttr(i,"data-object-id",e);for(var r,a,l,s=["instant","daily","divider","none"],c=0;4>c;c++)l=s[c],a=elCreate("li"),"divider"===l?a.className="dropdownDivider":(r=elCreate("a"),r.textContent=t.get("wcf.user.notification.mailNotificationType."+l),a.appendChild(r),elAttr(a,"data-value",l),a.addEventListener("click",o),n===l&&(a.className="active")),i.appendChild(a);return i},_selectType:function(e){var n=elAttr(e.currentTarget,"data-value"),i=~~e.currentTarget.parentNode.getAttribute("data-object-id"),a=r.get(i);a.mailValue.value=n,elBySel("span.title",a.mailSetting).textContent=t.get("wcf.user.notification.mailNotificationType."+n),a.button.classList["none"===n?"remove":"add"]("yellow"),a.button.classList["none"===n?"remove":"add"]("active")}};return l}),requirejs.config({paths:{enquire:"3rdParty/enquire",favico:"3rdParty/favico","perfect-scrollbar":"3rdParty/perfect-scrollbar"},shim:{enquire:{exports:"enquire"},favico:{exports:"Favico"},"perfect-scrollbar":{exports:"PerfectScrollbar"}},map:{"*":{Ajax:"WoltLab/WCF/Ajax",AjaxJsonp:"WoltLab/WCF/Ajax/Jsonp",AjaxRequest:"WoltLab/WCF/Ajax/Request",CallbackList:"WoltLab/WCF/CallbackList",Core:"WoltLab/WCF/Core",DateUtil:"WoltLab/WCF/Date/Util",Dictionary:"WoltLab/WCF/Dictionary","Dom/ChangeListener":"WoltLab/WCF/Dom/Change/Listener","Dom/Traverse":"WoltLab/WCF/Dom/Traverse","Dom/Util":"WoltLab/WCF/Dom/Util",Environment:"WoltLab/WCF/Environment",EventHandler:"WoltLab/WCF/Event/Handler",Language:"WoltLab/WCF/Language",List:"WoltLab/WCF/List",ObjectMap:"WoltLab/WCF/ObjectMap",StringUtil:"WoltLab/WCF/StringUtil","Ui/Alignment":"WoltLab/WCF/Ui/Alignment","Ui/CloseOverlay":"WoltLab/WCF/Ui/CloseOverlay","Ui/Confirmation":"WoltLab/WCF/Ui/Confirmation","Ui/Dialog":"WoltLab/WCF/Ui/Dialog","Ui/SimpleDropdown":"WoltLab/WCF/Ui/Dropdown/Simple","Ui/TabMenu":"WoltLab/WCF/Ui/TabMenu"}}}),define("require.config",function(){}),function(e){function t(){for(;i.length&&"function"==typeof i[0];)i.shift()()}var n=e.require,i=[],r=0;e.require=function(a,o){if(!Array.isArray(a))return n.apply(e,arguments);var l=r++;i.push(l),n(a,function(){var n=arguments;i[i.indexOf(l)]=function(){o.apply(e,n)},t()})}}(window),define("require.linearExecution",function(){}),function(e,t){e.elAttr=function(e,t,n){return void 0===n?e.getAttribute(t)||"":void e.setAttribute(t,n)},e.elByClass=function(e,n){return(n||t).getElementsByClassName(e)},e.elById=function(e){return t.getElementById(e)},e.elBySel=function(e,n){return(n||t).querySelector(e)},e.elBySelAll=function(e,n){return(n||t).querySelectorAll(e)},e.elByTag=function(e,n){return(n||t).getElementsByTagName(e)},e.elCreate=function(e){return t.createElement(e)},e.objOwns=function(e,t){return e.hasOwnProperty(t)}}(window,document),define("wcf.globalHelper",function(){});
\ No newline at end of file
+var requirejs,require,define;!function(ba){function G(e){return"[object Function]"===K.call(e)}function H(e){return"[object Array]"===K.call(e)}function v(e,t){if(e){var n;for(n=0;n<e.length&&(!e[n]||!t(e[n],n,e));n+=1);}}function T(e,t){if(e){var n;for(n=e.length-1;n>-1&&(!e[n]||!t(e[n],n,e));n-=1);}}function t(e,t){return fa.call(e,t)}function m(e,n){return t(e,n)&&e[n]}function B(e,n){for(var i in e)if(t(e,i)&&n(e[i],i))break}function U(e,n,i,r){return n&&B(n,function(n,a){(i||!t(e,a))&&(!r||"object"!=typeof n||!n||H(n)||G(n)||n instanceof RegExp?e[a]=n:(e[a]||(e[a]={}),U(e[a],n,i,r)))}),e}function u(e,t){return function(){return t.apply(e,arguments)}}function ca(e){throw e}function da(e){if(!e)return e;var t=ba;return v(e.split("."),function(e){t=t[e]}),t}function C(e,t,n,i){return t=Error(t+"\nhttp://requirejs.org/docs/errors.html#"+e),t.requireType=e,t.requireModules=i,n&&(t.originalError=n),t}function ga(e){function n(e,t,n){var i,r,a,o,l,s,c,u,t=t&&t.split("/"),d=A.map,h=d&&d["*"];if(e){for(e=e.split("/"),r=e.length-1,A.nodeIdCompat&&Q.test(e[r])&&(e[r]=e[r].replace(Q,"")),"."===e[0].charAt(0)&&t&&(r=t.slice(0,t.length-1),e=r.concat(e)),r=e,a=0;a<r.length;a++)o=r[a],"."===o?(r.splice(a,1),a-=1):".."===o&&0!==a&&(1!==a||".."!==r[2])&&".."!==r[a-1]&&a>0&&(r.splice(a-1,2),a-=2);e=e.join("/")}if(n&&d&&(t||h)){r=e.split("/"),a=r.length;e:for(;a>0;a-=1){if(l=r.slice(0,a).join("/"),t)for(o=t.length;o>0;o-=1)if((n=m(d,t.slice(0,o).join("/")))&&(n=m(n,l))){i=n,s=a;break e}!c&&h&&m(h,l)&&(c=m(h,l),u=a)}!i&&c&&(i=c,s=u),i&&(r.splice(0,s,i),e=r.join("/"))}return(i=m(A.pkgs,e))?i:e}function i(e){z&&v(document.getElementsByTagName("script"),function(t){return t.getAttribute("data-requiremodule")===e&&t.getAttribute("data-requirecontext")===L.contextName?(t.parentNode.removeChild(t),!0):void 0})}function r(e){var t=m(A.paths,e);return t&&H(t)&&1<t.length?(t.shift(),L.require.undef(e),L.makeRequire(null,{skipMap:!0})([e]),!0):void 0}function a(e){var t,n=e?e.indexOf("!"):-1;return n>-1&&(t=e.substring(0,n),e=e.substring(n+1,e.length)),[t,e]}function o(e,t,i,r){var o,l,s=null,c=t?t.name:null,u=e,d=!0,h="";return e||(d=!1,e="_@r"+(P+=1)),e=a(e),s=e[0],e=e[1],s&&(s=n(s,c,r),l=m(O,s)),e&&(s?h=l&&l.normalize?l.normalize(e,function(e){return n(e,c,r)}):-1===e.indexOf("!")?n(e,c,r):e:(h=n(e,c,r),e=a(h),s=e[0],h=e[1],i=!0,o=L.nameToUrl(h))),i=!s||l||i?"":"_unnormalized"+(q+=1),{prefix:s,name:h,parentMap:t,unnormalized:!!i,url:o,originalName:u,isDefine:d,id:(s?s+"!"+h:h)+i}}function l(e){var t=e.id,n=m(S,t);return n||(n=S[t]=new L.Module(e)),n}function s(e,n,i){var r=e.id,a=m(S,r);!t(O,r)||a&&!a.defineEmitComplete?(a=l(e),a.error&&"error"===n?i(a.error):a.on(n,i)):"defined"===n&&i(O[r])}function c(e,t){var n=e.requireModules,i=!1;t?t(e):(v(n,function(t){(t=m(S,t))&&(t.error=e,t.events.error&&(i=!0,t.emit("error",e)))}),i||g.onError(e))}function d(){R.length&&(ha.apply(I,[I.length,0].concat(R)),R=[])}function h(e){delete S[e],delete D[e]}function f(e,t,n){var i=e.map.id;e.error?e.emit("error",e.error):(t[i]=!0,v(e.depMaps,function(i,r){var a=i.id,o=m(S,a);o&&!e.depMatched[r]&&!n[a]&&(m(t,a)?(e.defineDep(r,O[a]),e.check()):f(o,t,n))}),n[i]=!0)}function p(){var e,t,n=(e=1e3*A.waitSeconds)&&L.startTime+e<(new Date).getTime(),a=[],o=[],l=!1,s=!0;if(!_){if(_=!0,B(D,function(e){var c=e.map,u=c.id;if(e.enabled&&(c.isDefine||o.push(e),!e.error))if(!e.inited&&n)r(u)?l=t=!0:(a.push(u),i(u));else if(!e.inited&&e.fetched&&c.isDefine&&(l=!0,!c.prefix))return s=!1}),n&&a.length)return e=C("timeout","Load timeout for modules: "+a,null,a),e.contextName=L.contextName,c(e);s&&v(o,function(e){f(e,{},{})}),n&&!t||!l||!z&&!ea||k||(k=setTimeout(function(){k=0,p()},50)),_=!1}}function b(e){t(O,e[0])||l(o(e[0],null,!0)).init(e[1],e[2])}function y(e){var e=e.currentTarget||e.srcElement,t=L.onScriptLoad;return e.detachEvent&&!Y?e.detachEvent("onreadystatechange",t):e.removeEventListener("load",t,!1),t=L.onScriptError,(!e.detachEvent||Y)&&e.removeEventListener("error",t,!1),{node:e,id:e&&e.getAttribute("data-requiremodule")}}function w(){var e;for(d();I.length;){if(e=I.shift(),null===e[0])return c(C("mismatch","Mismatched anonymous define() module: "+e[e.length-1]));b(e)}}var _,x,L,E,k,A={waitSeconds:7,baseUrl:"./",paths:{},bundles:{},pkgs:{},shim:{},config:{}},S={},D={},W={},I=[],O={},j={},F={},P=1,q=1;return E={require:function(e){return e.require?e.require:e.require=L.makeRequire(e.map)},exports:function(e){return e.usingExports=!0,e.map.isDefine?e.exports?O[e.map.id]=e.exports:e.exports=O[e.map.id]={}:void 0},module:function(e){return e.module?e.module:e.module={id:e.map.id,uri:e.map.url,config:function(){return m(A.config,e.map.id)||{}},exports:e.exports||(e.exports={})}}},x=function(e){this.events=m(W,e.id)||{},this.map=e,this.shim=m(A.shim,e.id),this.depExports=[],this.depMaps=[],this.depMatched=[],this.pluginMaps={},this.depCount=0},x.prototype={init:function(e,t,n,i){i=i||{},this.inited||(this.factory=t,n?this.on("error",n):this.events.error&&(n=u(this,function(e){this.emit("error",e)})),this.depMaps=e&&e.slice(0),this.errback=n,this.inited=!0,this.ignore=i.ignore,i.enabled||this.enabled?this.enable():this.check())},defineDep:function(e,t){this.depMatched[e]||(this.depMatched[e]=!0,this.depCount-=1,this.depExports[e]=t)},fetch:function(){if(!this.fetched){this.fetched=!0,L.startTime=(new Date).getTime();var e=this.map;if(!this.shim)return e.prefix?this.callPlugin():this.load();L.makeRequire(this.map,{enableBuildCallback:!0})(this.shim.deps||[],u(this,function(){return e.prefix?this.callPlugin():this.load()}))}},load:function(){var e=this.map.url;j[e]||(j[e]=!0,L.load(this.map.id,e))},check:function(){if(this.enabled&&!this.enabling){var e,t,n=this.map.id;t=this.depExports;var i=this.exports,r=this.factory;if(this.inited){if(this.error)this.emit("error",this.error);else if(!this.defining){if(this.defining=!0,1>this.depCount&&!this.defined){if(G(r)){if(this.events.error&&this.map.isDefine||g.onError!==ca)try{i=L.execCb(n,r,t,i)}catch(a){e=a}else i=L.execCb(n,r,t,i);if(this.map.isDefine&&void 0===i&&((t=this.module)?i=t.exports:this.usingExports&&(i=this.exports)),e)return e.requireMap=this.map,e.requireModules=this.map.isDefine?[this.map.id]:null,e.requireType=this.map.isDefine?"define":"require",c(this.error=e)}else i=r;this.exports=i,this.map.isDefine&&!this.ignore&&(O[n]=i,g.onResourceLoad)&&g.onResourceLoad(L,this.map,this.depMaps),h(n),this.defined=!0}this.defining=!1,this.defined&&!this.defineEmitted&&(this.defineEmitted=!0,this.emit("defined",this.exports),this.defineEmitComplete=!0)}}else this.fetch()}},callPlugin:function(){var e=this.map,i=e.id,r=o(e.prefix);this.depMaps.push(r),s(r,"defined",u(this,function(r){var a,d;d=m(F,this.map.id);var f=this.map.name,p=this.map.parentMap?this.map.parentMap.name:null,v=L.makeRequire(e.parentMap,{enableBuildCallback:!0});this.map.unnormalized?(r.normalize&&(f=r.normalize(f,function(e){return n(e,p,!0)})||""),r=o(e.prefix+"!"+f,this.map.parentMap),s(r,"defined",u(this,function(e){this.init([],function(){return e},null,{enabled:!0,ignore:!0})})),(d=m(S,r.id))&&(this.depMaps.push(r),this.events.error&&d.on("error",u(this,function(e){this.emit("error",e)})),d.enable())):d?(this.map.url=L.nameToUrl(d),this.load()):(a=u(this,function(e){this.init([],function(){return e},null,{enabled:!0})}),a.error=u(this,function(e){this.inited=!0,this.error=e,e.requireModules=[i],B(S,function(e){0===e.map.id.indexOf(i+"_unnormalized")&&h(e.map.id)}),c(e)}),a.fromText=u(this,function(n,r){var s=e.name,u=o(s),d=M;r&&(n=r),d&&(M=!1),l(u),t(A.config,i)&&(A.config[s]=A.config[i]);try{g.exec(n)}catch(h){return c(C("fromtexteval","fromText eval for "+i+" failed: "+h,h,[i]))}d&&(M=!0),this.depMaps.push(u),L.completeLoad(s),v([s],a)}),r.load(e.name,v,a,A))})),L.enable(r,this),this.pluginMaps[r.id]=r},enable:function(){D[this.map.id]=this,this.enabling=this.enabled=!0,v(this.depMaps,u(this,function(e,n){var i,r;if("string"==typeof e){if(e=o(e,this.map.isDefine?this.map:this.map.parentMap,!1,!this.skipMap),this.depMaps[n]=e,i=m(E,e.id))return void(this.depExports[n]=i(this));this.depCount+=1,s(e,"defined",u(this,function(e){this.defineDep(n,e),this.check()})),this.errback?s(e,"error",u(this,this.errback)):this.events.error&&s(e,"error",u(this,function(e){this.emit("error",e)}))}i=e.id,r=S[i],!t(E,i)&&r&&!r.enabled&&L.enable(e,this)})),B(this.pluginMaps,u(this,function(e){var t=m(S,e.id);t&&!t.enabled&&L.enable(e,this)})),this.enabling=!1,this.check()},on:function(e,t){var n=this.events[e];n||(n=this.events[e]=[]),n.push(t)},emit:function(e,t){v(this.events[e],function(e){e(t)}),"error"===e&&delete this.events[e]}},L={config:A,contextName:e,registry:S,defined:O,urlFetched:j,defQueue:I,Module:x,makeModuleMap:o,nextTick:g.nextTick,onError:c,configure:function(e){e.baseUrl&&"/"!==e.baseUrl.charAt(e.baseUrl.length-1)&&(e.baseUrl+="/");var t=A.shim,n={paths:!0,bundles:!0,config:!0,map:!0};B(e,function(e,t){n[t]?(A[t]||(A[t]={}),U(A[t],e,!0,!0)):A[t]=e}),e.bundles&&B(e.bundles,function(e,t){v(e,function(e){e!==t&&(F[e]=t)})}),e.shim&&(B(e.shim,function(e,n){H(e)&&(e={deps:e}),!e.exports&&!e.init||e.exportsFn||(e.exportsFn=L.makeShimExports(e)),t[n]=e}),A.shim=t),e.packages&&v(e.packages,function(e){var t,e="string"==typeof e?{name:e}:e;t=e.name,e.location&&(A.paths[t]=e.location),A.pkgs[t]=e.name+"/"+(e.main||"main").replace(ia,"").replace(Q,"")}),B(S,function(e,t){!e.inited&&!e.map.unnormalized&&(e.map=o(t))}),(e.deps||e.callback)&&L.require(e.deps||[],e.callback)},makeShimExports:function(e){return function(){var t;return e.init&&(t=e.init.apply(ba,arguments)),t||e.exports&&da(e.exports)}},makeRequire:function(r,a){function s(n,i,u){var d,h;return a.enableBuildCallback&&i&&G(i)&&(i.__requireJsBuild=!0),"string"==typeof n?G(i)?c(C("requireargs","Invalid require call"),u):r&&t(E,n)?E[n](S[r.id]):g.get?g.get(L,n,r,s):(d=o(n,r,!1,!0),d=d.id,t(O,d)?O[d]:c(C("notloaded",'Module name "'+d+'" has not been loaded yet for context: '+e+(r?"":". Use require([])")))):(w(),L.nextTick(function(){w(),h=l(o(null,r)),h.skipMap=a.skipMap,h.init(n,i,u,{enabled:!0}),p()}),s)}return a=a||{},U(s,{isBrowser:z,toUrl:function(e){var t,i=e.lastIndexOf("."),a=e.split("/")[0];return-1!==i&&("."!==a&&".."!==a||i>1)&&(t=e.substring(i,e.length),e=e.substring(0,i)),L.nameToUrl(n(e,r&&r.id,!0),t,!0)},defined:function(e){return t(O,o(e,r,!1,!0).id)},specified:function(e){return e=o(e,r,!1,!0).id,t(O,e)||t(S,e)}}),r||(s.undef=function(e){d();var t=o(e,r,!0),n=m(S,e);i(e),delete O[e],delete j[t.url],delete W[e],T(I,function(t,n){t[0]===e&&I.splice(n,1)}),n&&(n.events.defined&&(W[e]=n.events),h(e))}),s},enable:function(e){m(S,e.id)&&l(e).enable()},completeLoad:function(e){var n,i,a=m(A.shim,e)||{},o=a.exports;for(d();I.length;){if(i=I.shift(),null===i[0]){if(i[0]=e,n)break;n=!0}else i[0]===e&&(n=!0);b(i)}if(i=m(S,e),!n&&!t(O,e)&&i&&!i.inited){if(A.enforceDefine&&(!o||!da(o)))return r(e)?void 0:c(C("nodefine","No define call for "+e,null,[e]));b([e,a.deps||[],a.exportsFn])}p()},nameToUrl:function(e,t,n){var i,r,a;if((i=m(A.pkgs,e))&&(e=i),i=m(F,e))return L.nameToUrl(i,t,n);if(g.jsExtRegExp.test(e))i=e+(t||"");else{for(i=A.paths,e=e.split("/"),r=e.length;r>0;r-=1)if(a=e.slice(0,r).join("/"),a=m(i,a)){H(a)&&(a=a[0]),e.splice(0,r,a);break}i=e.join("/"),i+=t||(/^data\:|\?/.test(i)||n?"":".js"),i=("/"===i.charAt(0)||i.match(/^[\w\+\.\-]+:/)?"":A.baseUrl)+i}return A.urlArgs?i+((-1===i.indexOf("?")?"?":"&")+A.urlArgs):i},load:function(e,t){g.load(L,e,t)},execCb:function(e,t,n,i){return t.apply(i,n)},onScriptLoad:function(e){("load"===e.type||ja.test((e.currentTarget||e.srcElement).readyState))&&(N=null,e=y(e),L.completeLoad(e.id))},onScriptError:function(e){var t=y(e);return r(t.id)?void 0:c(C("scripterror","Script error for: "+t.id,e,[t.id]))}},L.require=L.makeRequire(),L}var g,x,y,D,I,E,N,J,s,O,ka=/(\/\*([\s\S]*?)\*\/|([^:]|^)\/\/(.*)$)/gm,la=/[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g,Q=/\.js$/,ia=/^\.\//;x=Object.prototype;var K=x.toString,fa=x.hasOwnProperty,ha=Array.prototype.splice,z=!("undefined"==typeof window||"undefined"==typeof navigator||!window.document),ea=!z&&"undefined"!=typeof importScripts,ja=z&&"PLAYSTATION 3"===navigator.platform?/^complete$/:/^(complete|loaded)$/,Y="undefined"!=typeof opera&&"[object Opera]"===opera.toString(),F={},q={},R=[],M=!1;if("undefined"==typeof define){if("undefined"!=typeof requirejs){if(G(requirejs))return;q=requirejs,requirejs=void 0}"undefined"!=typeof require&&!G(require)&&(q=require,require=void 0),g=requirejs=function(e,t,n,i){var r,a="_";return!H(e)&&"string"!=typeof e&&(r=e,H(t)?(e=t,t=n,n=i):e=[]),r&&r.context&&(a=r.context),(i=m(F,a))||(i=F[a]=g.s.newContext(a)),r&&i.configure(r),i.require(e,t,n)},g.config=function(e){return g(e)},g.nextTick="undefined"!=typeof setTimeout?function(e){setTimeout(e,4)}:function(e){e()},require||(require=g),g.version="2.1.17",g.jsExtRegExp=/^\/|:|\?|\.js$/,g.isBrowser=z,x=g.s={contexts:F,newContext:ga},g({}),v(["toUrl","undef","defined","specified"],function(e){g[e]=function(){var t=F._;return t.require[e].apply(t,arguments)}}),z&&(y=x.head=document.getElementsByTagName("head")[0],D=document.getElementsByTagName("base")[0])&&(y=x.head=D.parentNode),g.onError=ca,g.createNode=function(e){var t=e.xhtml?document.createElementNS("http://www.w3.org/1999/xhtml","html:script"):document.createElement("script");return t.type=e.scriptType||"text/javascript",t.charset="utf-8",t.async=!0,t},g.load=function(e,t,n){var i=e&&e.config||{};if(z)return i=g.createNode(i,t,n),i.setAttribute("data-requirecontext",e.contextName),i.setAttribute("data-requiremodule",t),!i.attachEvent||i.attachEvent.toString&&0>i.attachEvent.toString().indexOf("[native code")||Y?(i.addEventListener("load",e.onScriptLoad,!1),i.addEventListener("error",e.onScriptError,!1)):(M=!0,i.attachEvent("onreadystatechange",e.onScriptLoad)),i.src=n,J=i,D?y.insertBefore(i,D):y.appendChild(i),J=null,i;if(ea)try{importScripts(n),e.completeLoad(t)}catch(r){e.onError(C("importscripts","importScripts failed for "+t+" at "+n,r,[t]))}},z&&!q.skipDataMain&&T(document.getElementsByTagName("script"),function(e){return y||(y=e.parentNode),(I=e.getAttribute("data-main"))?(s=I,q.baseUrl||(E=s.split("/"),s=E.pop(),O=E.length?E.join("/")+"/":"./",q.baseUrl=O),s=s.replace(Q,""),g.jsExtRegExp.test(s)&&(s=I),q.deps=q.deps?q.deps.concat(s):[s],!0):void 0}),define=function(e,t,n){var i,r;"string"!=typeof e&&(n=t,t=e,e=null),H(t)||(n=t,t=null),!t&&G(n)&&(t=[],n.length&&(n.toString().replace(ka,"").replace(la,function(e,n){t.push(n)}),t=(1===n.length?["require"]:["require","exports","module"]).concat(t))),M&&((i=J)||(N&&"interactive"===N.readyState||T(document.getElementsByTagName("script"),function(e){return"interactive"===e.readyState?N=e:void 0}),i=N),i&&(e||(e=i.getAttribute("data-requiremodule")),r=F[i.getAttribute("data-requirecontext")])),(r?r.defQueue:R).push([e,t,n])},define.amd={jQuery:!0},g.exec=function(b){return eval(b)},g(q)}}(this),define("requireLib",function(){}),requirejs.config({paths:{enquire:"3rdParty/enquire",favico:"3rdParty/favico","perfect-scrollbar":"3rdParty/perfect-scrollbar"},shim:{enquire:{exports:"enquire"},favico:{exports:"Favico"},"perfect-scrollbar":{exports:"PerfectScrollbar"}},map:{"*":{Ajax:"WoltLab/WCF/Ajax",AjaxJsonp:"WoltLab/WCF/Ajax/Jsonp",AjaxRequest:"WoltLab/WCF/Ajax/Request",CallbackList:"WoltLab/WCF/CallbackList",Core:"WoltLab/WCF/Core",DateUtil:"WoltLab/WCF/Date/Util",Dictionary:"WoltLab/WCF/Dictionary","Dom/ChangeListener":"WoltLab/WCF/Dom/Change/Listener","Dom/Traverse":"WoltLab/WCF/Dom/Traverse","Dom/Util":"WoltLab/WCF/Dom/Util",Environment:"WoltLab/WCF/Environment",EventHandler:"WoltLab/WCF/Event/Handler",Language:"WoltLab/WCF/Language",List:"WoltLab/WCF/List",ObjectMap:"WoltLab/WCF/ObjectMap",StringUtil:"WoltLab/WCF/StringUtil","Ui/Alignment":"WoltLab/WCF/Ui/Alignment","Ui/CloseOverlay":"WoltLab/WCF/Ui/CloseOverlay","Ui/Confirmation":"WoltLab/WCF/Ui/Confirmation","Ui/Dialog":"WoltLab/WCF/Ui/Dialog","Ui/SimpleDropdown":"WoltLab/WCF/Ui/Dropdown/Simple","Ui/TabMenu":"WoltLab/WCF/Ui/TabMenu"}}}),define("require.config",function(){}),function(e,t){e.elAttr=function(e,t,n){return void 0===n?e.getAttribute(t)||"":void e.setAttribute(t,n)},e.elByClass=function(e,n){return(n||t).getElementsByClassName(e)},e.elById=function(e){return t.getElementById(e)},e.elBySel=function(e,n){return(n||t).querySelector(e)},e.elBySelAll=function(e,n){return(n||t).querySelectorAll(e)},e.elByTag=function(e,n){return(n||t).getElementsByTagName(e)},e.elCreate=function(e){return t.createElement(e)},e.objOwns=function(e,t){return e.hasOwnProperty(t)}}(window,document),define("wcf.globalHelper",function(){}),define("WoltLab/WCF/Core",[],function(){"use strict";var e=function(e){return"object"==typeof e&&(Array.isArray(e)||n.isPlainObject(e))?t(e):e},t=function(t){if(!t)return null;if(Array.isArray(t))return t.slice();var n={};for(var i in t)t.hasOwnProperty(i)&&"undefined"!=typeof t[i]&&(n[i]=e(t[i]));return n},n={clone:function(t){return e(t)},convertLegacyUrl:function(e){return URL_LEGACY_MODE?e:e.replace(/^index\.php\/(.*?)\/\?/,function(e,t){for(var n=t.split(/([A-Z][a-z0-9]+)/),t="",i=0,r=n.length;r>i;i++){var a=n[i].trim();a.length&&(t.length&&(t+="-"),t+=a.toLowerCase())}return"index.php?"+t+"/&"})},extend:function(e){e=e||{};for(var t=this.clone(e),n=1,i=arguments.length;i>n;n++){var r=arguments[n];if(r)for(var a in r)r.hasOwnProperty(a)&&(t[a]=Array.isArray(r[a])||"object"!=typeof r[a]?r[a]:this.isPlainObject(r[a])?this.extend(e[a],r[a]):r[a])}return t},isPlainObject:function(e){return"object"!=typeof e||null===e||e.nodeType?!1:Object.getPrototypeOf(e)===Object.prototype},getType:function(e){return Object.prototype.toString.call(e).replace(/^\[object (.+)\]$/,"$1")},getUuid:function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var t=16*Math.random()|0,n="x"==e?t:3&t|8;return n.toString(16)})},serialize:function(e,t){var n=[];for(var i in e)if(e.hasOwnProperty(i)){var r=t?t+"["+i+"]":i,a=e[i];n.push("object"==typeof a?this.serialize(a,r):encodeURIComponent(r)+"="+encodeURIComponent(a))}return n.join("&")},triggerEvent:function(e,t){var n;try{n=new Event(t,{bubbles:!0,cancelable:!0})}catch(i){n=document.createEvent("Event"),n.initEvent(t,!0,!0)}e.dispatchEvent(n)}};return n}),define("WoltLab/WCF/Dictionary",[],function(){"use strict";function e(){this._dictionary=t?new Map:{}}var t=objOwns(window,"Map")&&"function"==typeof window.Map;return e.prototype={set:function(e,n){if("number"==typeof e&&(e=e.toString()),"string"!=typeof e)throw new TypeError("Only strings can be used as keys, rejected '"+e+"' ("+typeof e+").");t?this._dictionary.set(e,n):this._dictionary[e]=n},"delete":function(e){"number"==typeof e&&(e=e.toString()),t?this._dictionary["delete"](e):this._dictionary[e]=void 0},has:function(e){return"number"==typeof e&&(e=e.toString()),t?this._dictionary.has(e):this._dictionary.hasOwnProperty(e)&&"undefined"!=typeof this._dictionary[e]},get:function(e){return"number"==typeof e&&(e=e.toString()),this.has(e)?t?this._dictionary.get(e):this._dictionary[e]:void 0},forEach:function(e){if("function"!=typeof e)throw new TypeError("forEach() expects a callback as first parameter.");if(t)this._dictionary.forEach(e);else for(var n=Object.keys(this._dictionary),i=0,r=n.length;r>i;i++)e(this._dictionary[n[i]],n[i])},merge:function(){for(var t=0,n=arguments.length;n>t;t++){var i=arguments[t];if(!(i instanceof e))throw new TypeError("Expected an object of type Dictionary, but argument "+t+" is not.");i.forEach(function(e,t){this.set(t,e)}.bind(this))}}},e.fromObject=function(t){var n=new e;for(var i in t)t.hasOwnProperty(i)&&n.set(i,t[i]);return n},Object.defineProperty(e.prototype,"size",{enumerable:!1,configurable:!0,get:function(){return t?this._dictionary.size:Object.keys(this._dictionary).length}}),e}),define("WoltLab/WCF/Template.grammar",["require"],function(){var e=function(e,t,n,i){for(n=n||{},i=e.length;i--;n[e[i]]=t);return n},t=[2,47],n=[5,9,11,12,13,14,15,16,17,18,19,20,21,22,23,24,28,29,31,32,33,35,36,37,39,40,41,42,44,46,48],i=[1,33],r=[1,37],a=[1,38],o=[1,39],l=[1,42],s=[1,40],c=[1,44],u=[11,12,14,15,17,20,21,22,23],d=[11,12,14,15,16,17,18,19,20,21,22,23],h=[9,11,12,13,14,15,16,17,18,19,20,21,22,23,24,28,29,31,33,36,39,40,41,42,44,46],f=[28,44,46],p=[12,14],m={trace:function(){},yy:{},symbols_:{error:2,TEMPLATE:3,CHUNK_STAR:4,EOF:5,CHUNK_STAR_repetition0:6,CHUNK:7,PLAIN_ANY:8,T_LITERAL:9,COMMAND:10,T_ANY:11,"}":12,"{":13,T_WS:14,"]":15,"[":16,")":17,"(":18,".":19,"=":20,T_VARIABLE:21,T_VARIABLE_NAME:22,T_QUOTED_STRING:23,"{if":24,COMMAND_PARAMETERS:25,COMMAND_repetition0:26,COMMAND_option0:27,"{/if}":28,"{include":29,COMMAND_PARAMETER_LIST:30,"{implode":31,"{/implode}":32,"{foreach":33,COMMAND_option1:34,"{/foreach}":35,"{lang}":36,"{/lang}":37,VARIABLE:38,"{#":39,"{@":40,"{ldelim}":41,"{rdelim}":42,ELSE:43,"{else}":44,ELSE_IF:45,"{elseif":46,FOREACH_ELSE:47,"{foreachelse}":48,VARIABLE_repetition0:49,VARIABLE_SUFFIX:50,VARIABLE_SUFFIX_option0:51,COMMAND_PARAMETER_VALUE:52,COMMAND_PARAMETERS_repetition_plus0:53,COMMAND_PARAMETER:54,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",9:"T_LITERAL",11:"T_ANY",12:"}",13:"{",14:"T_WS",15:"]",16:"[",17:")",18:"(",19:".",20:"=",21:"T_VARIABLE",22:"T_VARIABLE_NAME",23:"T_QUOTED_STRING",24:"{if",28:"{/if}",29:"{include",31:"{implode",32:"{/implode}",33:"{foreach",35:"{/foreach}",36:"{lang}",37:"{/lang}",39:"{#",40:"{@",41:"{ldelim}",42:"{rdelim}",44:"{else}",46:"{elseif",48:"{foreachelse}"},productions_:[0,[3,2],[4,1],[7,1],[7,1],[7,1],[8,1],[8,1],[8,2],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[10,7],[10,3],[10,5],[10,6],[10,3],[10,3],[10,3],[10,3],[10,1],[10,1],[43,2],[45,4],[47,2],[38,3],[50,3],[50,2],[50,3],[30,5],[30,3],[52,1],[52,1],[25,1],[54,1],[54,1],[54,1],[54,1],[54,1],[54,1],[6,0],[6,2],[26,0],[26,2],[27,0],[27,1],[34,0],[34,1],[49,0],[49,2],[51,0],[51,1],[53,1],[53,2]],performAction:function(e,t,n,i,r,a){var o=a.length-1;switch(r){case 1:return a[o-1]+";";case 2:var l=a[o].reduce(function(e,t){return t.encode&&!e[1]?e[0]+=" + '"+t.value:t.encode&&e[1]?e[0]+=t.value:!t.encode&&e[1]?e[0]+="' + "+t.value:t.encode||e[1]||(e[0]+=" + "+t.value),e[1]=t.encode,e},["''",!1]);l[1]&&(l[0]+="'"),this.$=l[0];break;case 3:case 4:this.$={encode:!0,value:a[o].replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/(\r\n|\n|\r)/g,"\\n")};break;case 5:this.$={encode:!1,value:a[o]};break;case 8:this.$=a[o-1]+a[o];break;case 19:this.$="(function() { if ("+a[o-5]+") { return "+a[o-3]+"; } "+a[o-2].join(" ")+" "+(a[o-1]||"")+" return ''; })()";break;case 20:if(!a[o-1].file)throw new Error("Missing parameter file");this.$=a[o-1].file+".fetch(v)";break;case 21:if(!a[o-3].from)throw new Error("Missing parameter from");if(!a[o-3].item)throw new Error("Missing parameter item");a[o-3].glue||(a[o-3].glue="', '"),this.$="(function() { return "+a[o-3].from+".map(function(item) { v["+a[o-3].item+"] = item; return "+a[o-1]+"; }).join("+a[o-3].glue+"); })()";break;case 22:if(!a[o-4].from)throw new Error("Missing parameter from");if(!a[o-4].item)throw new Error("Missing parameter item");this.$="(function() {var looped = false, result = '';if ("+a[o-4].from+" instanceof Array) {for (var i = 0; i < "+a[o-4].from+".length; i++) { looped = true;v["+a[o-4].key+"] = i;v["+a[o-4].item+"] = "+a[o-4].from+"[i];result += "+a[o-2]+";}} else {for (var key in "+a[o-4].from+") {if (!"+a[o-4].from+".hasOwnProperty(key)) continue;looped = true;v["+a[o-4].key+"] = key;v["+a[o-4].item+"] = "+a[o-4].from+"[key];result += "+a[o-2]+";}}return (looped ? result : "+(a[o-1]||"''")+"); })()";break;case 23:this.$="Language.get("+a[o-1]+")";break;case 24:this.$="StringUtil.escapeHTML("+a[o-1]+")";break;case 25:this.$="StringUtil.formatNumeric("+a[o-1]+")";break;case 26:this.$=a[o-1];break;case 27:this.$="'{'";break;case 28:this.$="'}'";break;case 29:this.$="else { return "+a[o]+"; }";break;case 30:this.$="else if ("+a[o-2]+") { return "+a[o]+"; }";break;case 31:this.$=a[o];break;case 32:this.$="v['"+a[o-1]+"']"+a[o].join("");break;case 33:this.$=a[o-2]+a[o-1]+a[o];break;case 34:this.$="['"+a[o]+"']";break;case 35:this.$=a[o-2]+(a[o-1]||"")+a[o];break;case 36:this.$=a[o],this.$[a[o-4]]=a[o-2];break;case 37:this.$={},this.$[a[o-2]]=a[o];break;case 40:this.$=a[o].join("");break;case 47:case 49:case 55:this.$=[];break;case 48:case 50:case 56:case 60:a[o-1].push(a[o]);break;case 59:this.$=[a[o]]}},table:[e([5,9,11,12,13,14,15,16,17,18,19,20,21,22,23,24,29,31,33,36,39,40,41,42],t,{3:1,4:2,6:3}),{1:[3]},{5:[1,4]},e([5,28,32,35,37,44,46,48],[2,2],{7:5,8:6,10:8,9:[1,7],11:[1,9],12:[1,10],13:[1,11],14:[1,21],15:[1,12],16:[1,13],17:[1,14],18:[1,15],19:[1,16],20:[1,17],21:[1,18],22:[1,19],23:[1,20],24:[1,22],29:[1,23],31:[1,24],33:[1,25],36:[1,26],39:[1,27],40:[1,28],41:[1,29],42:[1,30]}),{1:[2,1]},e(n,[2,48]),e(n,[2,3]),e(n,[2,4]),e(n,[2,5]),e(n,[2,6]),e(n,[2,7]),{14:[1,31],21:i,38:32},e(n,[2,9]),e(n,[2,10]),e(n,[2,11]),e(n,[2,12]),e(n,[2,13]),e(n,[2,14]),e(n,[2,15]),e(n,[2,16]),e(n,[2,17]),e(n,[2,18]),{11:r,14:a,20:o,21:i,22:l,23:s,25:34,38:41,53:35,54:36},{22:c,30:43},{22:c,30:45},{22:c,30:46},e([9,11,12,13,14,15,16,17,18,19,20,21,22,23,24,29,31,33,36,37,39,40,41,42],t,{6:3,4:47}),{21:i,38:48},{21:i,38:49},e(n,[2,27]),e(n,[2,28]),e(n,[2,8]),{12:[1,50]},{22:[1,51]},{12:[1,52]},e([12,15,17],[2,40],{38:41,54:53,11:r,14:a,20:o,21:i,22:l,23:s}),e(u,[2,59]),e(u,[2,41]),e(u,[2,42]),e(u,[2,43]),e(u,[2,44]),e(u,[2,45]),e(u,[2,46]),{12:[1,54]},{20:[1,55]},{12:[1,56]},{12:[1,57]},{37:[1,58]},{12:[1,59]},{12:[1,60]},e(n,[2,24]),e(d,[2,55],{49:61}),e(h,t,{6:3,4:62}),e(u,[2,60]),e(n,[2,20]),{21:i,23:[1,64],38:65,52:63},e([9,11,12,13,14,15,16,17,18,19,20,21,22,23,24,29,31,32,33,36,39,40,41,42],t,{6:3,4:66}),e([9,11,12,13,14,15,16,17,18,19,20,21,22,23,24,29,31,33,35,36,39,40,41,42,48],t,{6:3,4:67}),e(n,[2,23]),e(n,[2,25]),e(n,[2,26]),e(u,[2,32],{50:68,16:[1,69],18:[1,71],19:[1,70]}),e(f,[2,49],{26:72}),{12:[2,37],14:[1,73]},e(p,[2,38]),e(p,[2,39]),{32:[1,74]},{34:75,35:[2,53],47:76,48:[1,77]},e(d,[2,56]),{11:r,14:a,20:o,21:i,22:l,23:s,25:78,38:41,53:35,54:36},{22:[1,79]},{11:r,14:a,17:[2,57],20:o,21:i,22:l,23:s,25:81,38:41,51:80,53:35,54:36},{27:82,28:[2,51],43:84,44:[1,86],45:83,46:[1,85]},{22:c,30:87},e(n,[2,21]),{35:[1,88]},{35:[2,54]},e([9,11,12,13,14,15,16,17,18,19,20,21,22,23,24,29,31,33,35,36,39,40,41,42],t,{6:3,4:89}),{15:[1,90]},e(d,[2,34]),{17:[1,91]},{17:[2,58]},{28:[1,92]},e(f,[2,50]),{28:[2,52]},{11:r,14:a,20:o,21:i,22:l,23:s,25:93,38:41,53:35,54:36},e([9,11,12,13,14,15,16,17,18,19,20,21,22,23,24,28,29,31,33,36,39,40,41,42],t,{6:3,4:94}),{12:[2,36]},e(n,[2,22]),{35:[2,31]},e(d,[2,33]),e(d,[2,35]),e(n,[2,19]),{12:[1,95]},{28:[2,29]},e(h,t,{6:3,4:96}),e(f,[2,30])],defaultActions:{4:[2,1],76:[2,54],81:[2,58],84:[2,52],87:[2,36],89:[2,31],94:[2,29]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){function t(){var e;return e=p.lex()||h,"number"!=typeof e&&(e=n.symbols_[e]||e),e}var n=this,i=[0],r=[null],a=[],o=this.table,l="",s=0,c=0,u=0,d=2,h=1,f=a.slice.call(arguments,1),p=Object.create(this.lexer),m={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(m.yy[g]=this.yy[g]);p.setInput(e,m.yy),m.yy.lexer=p,m.yy.parser=this,"undefined"==typeof p.yylloc&&(p.yylloc={});var v=p.yylloc;a.push(v);var b=p.options&&p.options.ranges;this.parseError="function"==typeof m.yy.parseError?m.yy.parseError:Object.getPrototypeOf(this).parseError;for(var y,w,C,_,x,L,E,T,k,A={};;){if(C=i[i.length-1],this.defaultActions[C]?_=this.defaultActions[C]:((null===y||"undefined"==typeof y)&&(y=t()),_=o[C]&&o[C][y]),"undefined"==typeof _||!_.length||!_[0]){var S="";k=[];for(L in o[C])this.terminals_[L]&&L>d&&k.push("'"+this.terminals_[L]+"'");S=p.showPosition?"Parse error on line "+(s+1)+":\n"+p.showPosition()+"\nExpecting "+k.join(", ")+", got '"+(this.terminals_[y]||y)+"'":"Parse error on line "+(s+1)+": Unexpected "+(y==h?"end of input":"'"+(this.terminals_[y]||y)+"'"),this.parseError(S,{text:p.match,token:this.terminals_[y]||y,line:p.yylineno,loc:v,expected:k})}if(_[0]instanceof Array&&_.length>1)throw new Error("Parse Error: multiple actions possible at state: "+C+", token: "+y);switch(_[0]){case 1:i.push(y),r.push(p.yytext),a.push(p.yylloc),i.push(_[1]),y=null,w?(y=w,w=null):(c=p.yyleng,l=p.yytext,s=p.yylineno,v=p.yylloc,u>0&&u--);break;case 2:if(E=this.productions_[_[1]][1],A.$=r[r.length-E],A._$={first_line:a[a.length-(E||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(E||1)].first_column,last_column:a[a.length-1].last_column},b&&(A._$.range=[a[a.length-(E||1)].range[0],a[a.length-1].range[1]]),x=this.performAction.apply(A,[l,c,s,m.yy,_[1],r,a].concat(f)),"undefined"!=typeof x)return x;E&&(i=i.slice(0,-1*E*2),r=r.slice(0,-1*E),a=a.slice(0,-1*E)),i.push(this.productions_[_[1]][0]),r.push(A.$),a.push(A._$),T=o[i[i.length-2]][i[i.length-1]],i.push(T);break;case 3:return!0}}return!0}},g=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,n=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===i.length?this.yylloc.first_column:0)+i[i.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var n,i,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),i=e[0].match(/(?:\r\n?|\n).*/g),i&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],n=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;
+if(this._backtrack){for(var a in r)this[a]=r[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,n,i;this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),a=0;a<r.length;a++)if(n=this._input.match(this.rules[r[a]]),n&&(!t||n[0].length>t[0].length)){if(t=n,i=a,this.options.backtrack_lexer){if(e=this.test_match(n,r[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,r[i]),e!==!1?e:!1):""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,n,i){switch(n){case 0:break;case 1:return t.yytext=t.yytext.substring(9,t.yytext.length-10),9;case 2:return 23;case 3:return 23;case 4:return 21;case 5:return 22;case 6:return 19;case 7:return 16;case 8:return 15;case 9:return 18;case 10:return 17;case 11:return 20;case 12:return 41;case 13:return 42;case 14:return 39;case 15:return 40;case 16:return this.begin("command"),24;case 17:return this.begin("command"),46;case 18:return this.begin("command"),46;case 19:return 44;case 20:return 28;case 21:return 36;case 22:return 37;case 23:return this.begin("command"),29;case 24:return this.begin("command"),31;case 25:return 32;case 26:return this.begin("command"),33;case 27:return 48;case 28:return 35;case 29:return 13;case 30:return this.popState(),12;case 31:return 12;case 32:return 14;case 33:return 5;case 34:return 11}},rules:[/^(?:\{\*.*\*\})/,/^(?:\{literal\}.*?\{\/literal\})/,/^(?:"([^"]|\\\.)*")/,/^(?:'([^']|\\\.)*')/,/^(?:\$)/,/^(?:[_a-zA-Z][_a-zA-Z0-9]*)/,/^(?:\.)/,/^(?:\[)/,/^(?:\])/,/^(?:\()/,/^(?:\))/,/^(?:=)/,/^(?:\{ldelim\})/,/^(?:\{rdelim\})/,/^(?:\{#)/,/^(?:\{@)/,/^(?:\{if )/,/^(?:\{else if )/,/^(?:\{elseif )/,/^(?:\{else\})/,/^(?:\{\/if\})/,/^(?:\{lang\})/,/^(?:\{\/lang\})/,/^(?:\{include )/,/^(?:\{implode )/,/^(?:\{\/implode\})/,/^(?:\{foreach )/,/^(?:\{foreachelse\})/,/^(?:\{\/foreach\})/,/^(?:\{)/,/^(?:\})/,/^(?:\})/,/^(?:\s+)/,/^(?:$)/,/^(?:[^{])/],conditions:{command:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34],inclusive:!0},INITIAL:{rules:[0,1,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,31,32,33,34],inclusive:!0}}};return e}();return m.lexer=g,m}),define("WoltLab/WCF/NumberUtil",[],function(){"use strict";var e={round:function(e,t){return"undefined"==typeof t||0===+t?Math.round(e):(e=+e,t=+t,isNaN(e)||"number"!=typeof t||t%1!==0?0/0:(e=e.toString().split("e"),e=Math.round(+(e[0]+"e"+(e[1]?+e[1]-t:-t))),e=e.toString().split("e"),+(e[0]+"e"+(e[1]?+e[1]+t:t))))}};return e}),define("WoltLab/WCF/StringUtil",["Language","./NumberUtil"],function(e,t){"use strict";var n={addThousandsSeparator:function(t){return void 0===e&&(e=require("Language")),String(t).replace(/(^-?\d{1,3}|\d{3})(?=(?:\d{3})+(?:$|\.))/g,"$1"+e.get("wcf.global.thousandsSeparator"))},escapeHTML:function(e){return String(e).replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")},escapeRegExp:function(e){return String(e).replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")},formatNumeric:function(n,i){void 0===e&&(e=require("Language")),n=String(t.round(n,i||-2));var r=n.split(".");return n=this.addThousandsSeparator(r[0]),r.length>1&&(n+=e.get("wcf.global.decimalPoint")+r[1]),n=n.replace("-","−")},lcfirst:function(e){return String(e).substring(0,1).toLowerCase()+e.substring(1)},ucfirst:function(e){return String(e).substring(0,1).toUpperCase()+e.substring(1)},unescapeHTML:function(e){return String(e).replace(/&amp;/g,"&").replace(/&quot;/g,'"').replace(/&lt;/g,"<").replace(/&gt;/g,">")}};return n}),define("WoltLab/WCF/Template",["./Template.grammar","./StringUtil","Language"],function(e,t,n){"use strict";function i(){this.yy={}}function r(i){void 0===n&&(n=require("Language"));try{i=e.parse(i),i="var tmp = {};\nfor (var key in v) tmp[key] = v[key];\nv = tmp;\nv.__wcf = window.WCF; v.__window = window;\nreturn "+i,this.fetch=new Function("StringUtil","Language","v",i).bind(void 0,t,n)}catch(r){throw console.debug(r.message),r}}return i.prototype=e,e.Parser=i,e=new i,Object.defineProperty(r,"callbacks",{enumerable:!1,configurable:!1,get:function(){throw new Error("WCF.Template.callbacks is no longer supported")},set:function(){throw new Error("WCF.Template.callbacks is no longer supported")}}),r.prototype={fetch:function(){throw new Error("This Template is not initialized.")}},r}),define("WoltLab/WCF/Language",["Dictionary","./Template"],function(e,t){"use strict";var n=new e,i={addObject:function(t){n.merge(e.fromObject(t))},add:function(e,t){n.set(e,t)},get:function(e,i){i||(i={});var r=n.get(e);return void 0===r?(console.warn("Attempt to retrieve unknown phrase '"+e+"'."),console.warn((new Error).stack),e):("string"==typeof r&&(n.set(e,new t(r)),r=n.get(e)),r instanceof t&&(r=r.fetch(i)),r)}};return i}),define("WoltLab/WCF/CallbackList",["Dictionary"],function(e){"use strict";function t(){this._dictionary=new e}return t.prototype={add:function(e,t){if("function"!=typeof t)throw new TypeError("Expected a valid callback as second argument for identifier '"+e+"'.");this._dictionary.has(e)||this._dictionary.set(e,[]),this._dictionary.get(e).push(t)},remove:function(e){this._dictionary["delete"](e)},forEach:function(e,t){if(null===e)this._dictionary.forEach(function(e){e.forEach(t)});else{var n=this._dictionary.get(e);void 0!==n&&n.forEach(t)}}},t}),define("WoltLab/WCF/Dom/Change/Listener",["CallbackList"],function(e){"use strict";var t=new e,n=!1,i={add:t.add.bind(t),remove:t.remove.bind(t),trigger:function(){if(!n)try{n=!0,t.forEach(null,function(e){e()})}finally{n=!1}}};return i}),define("WoltLab/WCF/Dom/Util",[],function(){"use strict";for(var e="",t=["matches","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector"],n=0;4>n;n++)if(Element.prototype.hasOwnProperty(t[n])){e=t[n];break}var i=0,r={createFragmentFromHtml:function(e){var t=elCreate("div");t.innerHTML=e;for(var n=document.createDocumentFragment();t.childNodes.length;)n.appendChild(t.childNodes[0]);return n},getUniqueId:function(){var e;do e="wcf"+i++;while(null!==elById(e));return e},identify:function(e){if(!(e&&e instanceof Element))return null;var t=elAttr(e,"id");return t||(t=this.getUniqueId(),elAttr(e,"id",t)),t},matches:function(t,n){return t[e](n)},outerHeight:function(e,t){t=t||window.getComputedStyle(e);var n=e.offsetHeight;return n+=~~t.marginTop+~~t.marginBottom},outerWidth:function(e,t){t=t||window.getComputedStyle(e);var n=e.offsetWidth;return n+=~~t.marginLeft+~~t.marginRight},outerDimensions:function(e){var t=window.getComputedStyle(e);return{height:this.outerHeight(e,t),width:this.outerWidth(e,t)}},offset:function(e){var t=e.getBoundingClientRect();return{top:t.top+document.body.scrollTop,left:t.left+document.body.scrollLeft}},prepend:function(e,t){0===t.childElementCount?t.appendChild(e):t.insertBefore(e,t.children[0])},insertAfter:function(e,t){null!==t.nextElementSibling?t.parentNode.insertBefore(e,t.nextElementSibling):t.parentNode.appendChild(e)},setStyles:function(e,t){for(var n in t)t.hasOwnProperty(n)&&e.style.setProperty(n,t[n])},styleAsInt:function(e,t){var n=e.getPropertyValue(t);return null===n?0:parseInt(n)}};return window.bc_wcfDomUtil=r,r}),function(e,t,n){var i=window.matchMedia;"undefined"!=typeof module&&module.exports?module.exports=n(i):"function"==typeof define&&define.amd?define("enquire",[],function(){return t[e]=n(i)}):t[e]=n(i)}("enquire",this,function(e){"use strict";function t(e,t){var n,i=0,r=e.length;for(i;r>i&&(n=t(e[i],i),n!==!1);i++);}function n(e){return"[object Array]"===Object.prototype.toString.apply(e)}function i(e){return"function"==typeof e}function r(e){this.options=e,!e.deferSetup&&this.setup()}function a(t,n){this.query=t,this.isUnconditional=n,this.handlers=[],this.mql=e(t);var i=this;this.listener=function(e){i.mql=e,i.assess()},this.mql.addListener(this.listener)}function o(){if(!e)throw new Error("matchMedia not present, legacy browsers require a polyfill");this.queries={},this.browserIsIncapable=!e("only all").matches}return r.prototype={setup:function(){this.options.setup&&this.options.setup(),this.initialised=!0},on:function(){!this.initialised&&this.setup(),this.options.match&&this.options.match()},off:function(){this.options.unmatch&&this.options.unmatch()},destroy:function(){this.options.destroy?this.options.destroy():this.off()},equals:function(e){return this.options===e||this.options.match===e}},a.prototype={addHandler:function(e){var t=new r(e);this.handlers.push(t),this.matches()&&t.on()},removeHandler:function(e){var n=this.handlers;t(n,function(t,i){return t.equals(e)?(t.destroy(),!n.splice(i,1)):void 0})},matches:function(){return this.mql.matches||this.isUnconditional},clear:function(){t(this.handlers,function(e){e.destroy()}),this.mql.removeListener(this.listener),this.handlers.length=0},assess:function(){var e=this.matches()?"on":"off";t(this.handlers,function(t){t[e]()})}},o.prototype={register:function(e,r,o){var l=this.queries,s=o&&this.browserIsIncapable;return l[e]||(l[e]=new a(e,s)),i(r)&&(r={match:r}),n(r)||(r=[r]),t(r,function(t){i(t)&&(t={match:t}),l[e].addHandler(t)}),this},unregister:function(e,t){var n=this.queries[e];return n&&(t?n.removeHandler(t):(n.clear(),delete this.queries[e])),this}},new o}),define("WoltLab/WCF/Environment",[],function(){"use strict";var e="other",t="none",n="desktop",i=!1,r={setup:function(){if("object"==typeof window.chrome)e="chrome";else for(var r=window.getComputedStyle(document.documentElement),a=0,o=r.length;o>a;a++){var l=r[a];0===l.indexOf("-ms-")?e="microsoft":0===l.indexOf("-moz-")?e="firefox":0===l.indexOf("-webkit-")&&(e="safari")}var s=window.navigator.userAgent.toLowerCase();-1!==s.indexOf("crios")?(e="chrome",n="ios"):/(?:iphone|ipad|ipod)/.test(s)?(e="safari",n="ios"):-1!==s.indexOf("android")?n="android":-1!==s.indexOf("iemobile")&&(e="microsoft",n="windows"),"desktop"!==n||-1===s.indexOf("mobile")&&-1===s.indexOf("tablet")||(n="mobile"),t="redactor",i=!!("ontouchstart"in window)||!!("msMaxTouchPoints"in window.navigator)&&window.navigator.msMaxTouchPoints>0||window.DocumentTouch&&document instanceof DocumentTouch},browser:function(){return e},editor:function(){return t},platform:function(){return n},touch:function(){return i}};return r}),define("WoltLab/WCF/ObjectMap",[],function(){"use strict";function e(){this._map=t?new WeakMap:{key:[],value:[]}}var t=objOwns(window,"WeakMap")&&"function"==typeof window.WeakMap;return e.prototype={set:function(e,n){if("object"!=typeof e||null===e)throw new TypeError("Only objects can be used as key");if("object"!=typeof n||null===n)throw new TypeError("Only objects can be used as value");t?this._map.set(e,n):(this._map.key.push(e),this._map.value.push(n))},"delete":function(e){if(t)this._map["delete"](e);else{var n=this._map.key.indexOf(e);this._map.key.splice(n),this._map.value.splice(n)}},has:function(e){return t?this._map.has(e):-1!==this._map.key.indexOf(e)},get:function(e){if(t)return this._map.get(e);var n=this._map.key.indexOf(e);return-1!==n?this._map.value[n]:void 0}},e}),define("WoltLab/WCF/Ui/Confirmation",["Core","Language","Ui/Dialog"],function(e,t,n){"use strict";var i=!1,r=null,a=null,o={},l=null,s={show:function(t){if(void 0===n&&(n=require("Ui/Dialog")),!i){if(o=e.extend({cancel:null,confirm:null,legacyCallback:null,message:"",parameters:{},template:""},t),o.message="string"==typeof o.message?o.message.trim():"",!o.message.length)throw new Error("Expected a non-empty string for option 'message'.");if("function"!=typeof o.confirm&&"function"!=typeof o.legacyCallback)throw new TypeError("Expected a valid callback for option 'confirm'.");null===a&&this._createDialog(),a.innerHTML="string"==typeof t.template?t.template.trim():"",l.textContent=o.message,i=!0,n.open(this)}},_dialogSetup:function(){return{id:"wcfSystemConfirmation",options:{onClose:this._onClose.bind(this),onShow:this._onShow.bind(this),title:t.get("wcf.global.confirmation.title")}}},getContentElement:function(){return a},_createDialog:function(){var e=elCreate("div");elAttr(e,"id","wcfSystemConfirmation"),e.classList.add("systemConfirmation"),l=elCreate("p"),e.appendChild(l),a=elCreate("div"),elAttr(a,"id","wcfSystemConfirmationContent"),e.appendChild(a);var i=elCreate("div");i.classList.add("formSubmit"),e.appendChild(i),r=elCreate("button"),r.classList.add("buttonPrimary"),r.textContent=t.get("wcf.global.confirmation.confirm"),r.addEventListener("click",this._confirm.bind(this)),i.appendChild(r);var o=elCreate("button");o.textContent=t.get("wcf.global.confirmation.cancel"),o.addEventListener("click",function(){n.close("wcfSystemConfirmation")}),i.appendChild(o),document.body.appendChild(e)},_confirm:function(){"function"==typeof o.legacyCallback?o.legacyCallback("confirm",o.parameters):o.confirm(o.parameters),i=!1,n.close("wcfSystemConfirmation")},_onClose:function(){i&&(r.blur(),i=!1,"function"==typeof o.legacyCallback?o.legacyCallback("cancel",o.parameters):"function"==typeof o.cancel&&o.cancel(o.parameters))},_onShow:function(){r.blur(),r.focus()}};return s}),define("WoltLab/WCF/Ui/Dialog",["enquire","Ajax","Core","Dictionary","Environment","Language","ObjectMap","Dom/ChangeListener","Dom/Util","Ui/Confirmation"],function(e,t,n,i,r,a,o,l,s,c){"use strict";var u=null,d=null,h=new i,f=new o,p=!1,m=null,g={setup:function(){void 0===t&&(t=require("Ajax")),d=elCreate("div"),d.classList.add("dialogOverlay"),elAttr(d,"aria-hidden","true"),d.addEventListener("click",this._closeOnBackdrop.bind(this)),document.body.appendChild(d),m=function(e){return 27===e.keyCode&&"INPUT"!==e.target.nodeName&&"TEXTAREA"!==e.target.nodeName?(this.close(u),!1):!0}.bind(this),e.register("screen and (max-width: 800px)",{match:function(){p=!0},unmatch:function(){p=!1},setup:function(){p=!0},deferSetup:!0})},open:function(e,i){var r=f.get(e);if(n.isPlainObject(r))return this.openStatic(r.id,i);if("function"!=typeof e._dialogSetup)throw new Error("Callback object does not implement the method '_dialogSetup()'.");var a=e._dialogSetup();if(!n.isPlainObject(a))throw new Error("Expected an object literal as return value of '_dialogSetup()'.");r={id:a.id};var o=!0;if(void 0===a.source){var l=elById(a.id);if(null===l)throw new Error("Element id '"+a.id+"' is invalid and no source attribute was given.");a.source=document.createDocumentFragment(),a.source.appendChild(l)}else if(null===a.source)a.source=i;else if("function"==typeof a.source)a.source();else if(n.isPlainObject(a.source))t.api(this,a.source.data,function(t){t.returnValues&&"string"==typeof t.returnValues.template&&(this.open(e,t.returnValues.template),"function"==typeof a.source.after&&a.source.after(h.get(a.id).content,t))}.bind(this));else{if("string"==typeof a.source){var l=elCreate("div");elAttr(l,"id",a.id),l.innerHTML=a.source,a.source=document.createDocumentFragment(),a.source.appendChild(l)}if(!a.source.nodeType||a.source.nodeType!==Node.DOCUMENT_FRAGMENT_NODE)throw new Error("Expected at least a document fragment as 'source' attribute.");o=!1}return f.set(e,r),this.openStatic(a.id,a.source,a.options,o)},openStatic:function(e,t,i){return h.has(e)?this._updateDialog(e,t):(i=n.extend({backdropCloseOnClick:!0,closable:!0,closeButtonLabel:a.get("wcf.global.button.close"),closeConfirmMessage:"",disableContentPadding:!1,disposeOnClose:!1,title:"",onBeforeClose:null,onClose:null,onShow:null},i),i.closable||(i.backdropCloseOnClick=!1),i.closeConfirmMessage&&(i.onBeforeClose=function(e){c.show({confirm:this.close.bind(this,e),message:i.closeConfirmMessage})}.bind(this)),this._createDialog(e,t,i)),h.get(e)},setTitle:function(e,t){var n=h.get(e);if(void 0===n)throw new Error("Expected a valid dialog id, '"+e+"' does not match any active dialog.");var i=DomTraverse.childrenByTag(n.dialog,"HEADER");DomTraverse.childrenByTag(i[0],"SPAN").textContent=t},_createDialog:function(e,t,n,i){var r=null;if(null===t&&(r=elById(e),null===r))throw new Error("Expected either a HTML string or an existing element id.");var a=elCreate("div");a.classList.add("dialogContainer"),elAttr(a,"aria-hidden","true"),elAttr(a,"role","dialog"),elAttr(a,"data-id",e),n.disposeOnClose&&elAttr(a,"data-dispose-on-close",!0);var o=elCreate("header");if(a.appendChild(o),n.title){var l=s.getUniqueId();elAttr(a,"aria-labelledby",l);var c=elCreate("span");c.classList.add("dialogTitle"),c.textContent=n.title,elAttr(c,"id",l),o.appendChild(c)}if(n.closable){var u=elCreate("a");u.className="dialogCloseButton jsTooltip",elAttr(u,"title",n.closeButtonLabel),elAttr(u,"aria-label",n.closeButtonLabel),u.addEventListener("click",this._close.bind(this)),o.appendChild(u);var f=elCreate("span");f.textContent=n.closeButtonLabel,u.appendChild(f)}var p=elCreate("div");p.classList.add("dialogContent"),n.disableContentPadding&&p.classList.add("dialogContentNoPadding"),a.appendChild(p);var m;null===r?(m=elCreate("div"),"string"==typeof t?m.innerHTML=t:t instanceof DocumentFragment&&("div"!==t.children[0].nodeName||t.childElementCount>1?m.appendChild(t):m=t.children[0]),m.id=e):m=r,p.appendChild(m),"none"===m.style.getPropertyValue("display")&&m.style.removeProperty("display"),h.set(e,{backdropCloseOnClick:n.backdropCloseOnClick,content:m,dialog:a,header:o,onBeforeClose:n.onBeforeClose,onClose:n.onClose,onShow:n.onShow}),s.prepend(a,d),i!==!0&&this._updateDialog(e,null)},_updateDialog:function(e,t){var n=h.get(e);if(void 0===n)throw new Error("Expected a valid dialog id, '"+e+"' does not match any active dialog.");if("string"==typeof t){n.content.innerHTML="";var i=elCreate("div");i.innerHTML=t,n.content.appendChild(i)}"true"===elAttr(n.dialog,"aria-hidden")&&("true"===elAttr(d,"aria-hidden")&&window.addEventListener("keyup",m),elAttr(n.dialog,"aria-hidden","false"),elAttr(d,"aria-hidden","false"),elAttr(d,"data-close-on-click",n.backdropCloseOnClick?"true":"false"),u=e,this.rebuild(e),"function"==typeof n.onShow&&n.onShow(e)),l.trigger()},rebuild:function(e){var t=h.get(e);if(void 0===t)throw new Error("Expected a valid dialog id, '"+e+"' does not match any active dialog.");if("true"!==elAttr(t.dialog,"aria-hidden")){var n=t.content.parentNode,i=elBySel(".formSubmit",t.content),a=0;null!==i?(n.classList.add("dialogForm"),i.classList.add("dialogFormSubmit"),a+=s.outerHeight(i),n.style.setProperty("margin-bottom",a+"px")):n.classList.remove("dialogForm"),a+=s.outerHeight(t.header);var o=window.innerHeight*(p?1:.8)-a;n.style.setProperty("max-height",~~o+"px"),"chrome"===r.browser()&&(t.content.scrollHeight>o?t.content.style.setProperty("margin-right","-1px"):t.content.style.removeProperty("margin-right"))}},_close:function(e){e.preventDefault();var t=h.get(u);return"function"==typeof t.onBeforeClose?(t.onBeforeClose(u),!1):void this.close(u)},_closeOnBackdrop:function(e){return e.target!==d?!0:void("true"===elAttr(d,"data-close-on-click")?this._close(e):e.preventDefault())},close:function(e){if("object"==typeof e){var t=f.get(e);void 0!==t&&(e=t.id)}var n=h.get(e);if(void 0===n)throw new Error("Expected a valid dialog id, '"+e+"' does not match any active dialog.");"function"==typeof n.onClose&&n.onClose(e),elAttr(n.dialog,"data-dispose-on-close")?setTimeout(function(){"true"===elAttr(n.dialog,"aria-hidden")&&(d.removeChild(n.dialog),h["delete"](e))},5e3):elAttr(n.dialog,"aria-hidden","true"),u=null;for(var i=0;i<d.childElementCount;i++){var r=d.children[i];if("false"===elAttr(r,"aria-hidden")){u=elAttr(r,"data-id");break}}null===u?(elAttr(d,"aria-hidden","true"),elAttr(d,"data-close-on-click","false"),window.removeEventListener("keyup",m)):(n=h.get(u),elAttr(d,"data-close-on-click",n.backdropCloseOnClick?"true":"false"))},getDialog:function(e){return h.get(e)},_ajaxSetup:function(){return{}}};return g}),define("WoltLab/WCF/Ajax/Status",["Language"],function(e){"use strict";var t=0,n=null,i=null,r={_init:function(){n=elCreate("div"),n.classList.add("spinner");var t=elCreate("span");t.className="icon icon48 fa-spinner",n.appendChild(t);var i=elCreate("span");i.textContent=e.get("wcf.global.loading"),n.appendChild(i),document.body.appendChild(n)},show:function(){null===n&&this._init(),t++,null===i&&(i=window.setTimeout(function(){t&&n.classList.add("active"),i=null},250))},hide:function(){t--,0===t&&(null!==i&&window.clearTimeout(i),n.classList.remove("active"))}};return r}),define("WoltLab/WCF/Ajax/Request",["Core","Language","Dom/ChangeListener","Dom/Util","Ui/Dialog","WoltLab/WCF/Ajax/Status"],function(e,t,n,i,r,a){"use strict";function o(e){this._data=null,this._options={},this._previousXhr=null,this._xhr=null,this._init(e)}var l=!1,s=!1;return o.prototype={_init:function(t){this._options=e.extend({data:{},responseType:"application/json",type:"POST",url:"",autoAbort:!1,ignoreError:!1,pinData:!1,silent:!1,failure:null,finalize:null,success:null,callbackObject:null},t),"object"==typeof t.callbackObject&&(this._options.callbackObject=t.callbackObject),this._options.url=e.convertLegacyUrl(this._options.url),this._options.pinData&&(this._data=e.extend({},this._options.data)),null!==this._options.callbackObject&&("function"==typeof this._options.callbackObject._ajaxFailure&&(this._options.failure=this._options.callbackObject._ajaxFailure.bind(this._options.callbackObject)),"function"==typeof this._options.callbackObject._ajaxFinalize&&(this._options.finalize=this._options.callbackObject._ajaxFinalize.bind(this._options.callbackObject)),"function"==typeof this._options.callbackObject._ajaxSuccess&&(this._options.success=this._options.callbackObject._ajaxSuccess.bind(this._options.callbackObject))),l===!1&&(l=!0,window.addEventListener("beforeunload",function(){s=!0}))},sendRequest:function(t){(t===!0||this._options.autoAbort)&&this.abortPrevious(),this._options.silent||a.show(),this._xhr instanceof XMLHttpRequest&&(this._previousXhr=this._xhr),this._xhr=new XMLHttpRequest,this._xhr.open(this._options.type,this._options.url,!0),this._xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8"),this._xhr.setRequestHeader("X-Requested-With","XMLHttpRequest");var n=this,i=e.clone(this._options);if(this._xhr.onload=function(){this.readyState===XMLHttpRequest.DONE&&(this.status>=200&&this.status<300||304===this.status?i.responseType&&i.responseType!==this.getResponseHeader("Content-Type")?n._failure(this,i):n._success(this,i):n._failure(this,i))},this._xhr.onerror=function(){n._failure(this,i)},"POST"===this._options.type){var r=this._options.data;"object"==typeof r&&(r=e.serialize(r)),this._xhr.send(r)}else this._xhr.send()},abortPrevious:function(){null!==this._previousXhr&&(this._previousXhr.abort(),this._previousXhr=null,this._options.silent||a.hide())},setOption:function(e,t){this._options[e]=t},getOption:function(e){return this._options.hasOwnProperty(e)?this._options[e]:null},setData:function(t){null!==this._data&&(t=e.extend(this._data,t)),this._options.data=t},_success:function(e,t){if(t.silent||a.hide(),"function"==typeof t.success){var n=null;if("application/json"===e.getResponseHeader("Content-Type")){try{n=JSON.parse(e.responseText)}catch(i){return void this._failure(e,t)}n&&n.returnValues&&void 0!==n.returnValues.template&&(n.returnValues.template=n.returnValues.template.trim())}t.success(n,e.responseText,e,t.data)}this._finalize(t)},_failure:function(e,n){if(!s){n.silent||a.hide();var o=null;try{o=JSON.parse(e.responseText)}catch(l){}var c=!0;if("function"==typeof n.failure&&(c=n.failure(o,e.responseText,e,n.data)),n.ignoreError!==!0&&c!==!1){var u="",d="";if(null!==o?(o.stacktrace?u="<br /><p>Stacktrace:</p><p>"+o.stacktrace+"</p>":o.exceptionID&&(u="<br /><p>Exception ID: <code>"+o.exceptionID+"</code></p>"),d=o.message):d=e.responseText,!d||"undefined"===d)return;var h='<div class="ajaxDebugMessage"><p>'+d+"</p>"+u+"</div>";r.openStatic(i.getUniqueId(),h,{title:t.get("wcf.global.error.title")})}this._finalize(n)}},_finalize:function(e){"function"==typeof e.finalize&&e.finalize(this._xhr),this._previousXhr=null,n.trigger();for(var t=elBySelAll('a[href*="#"]'),i=0,r=t.length;r>i;i++){var a=t[i],o=elAttr(a,"href");(-1!==o.indexOf("AJAXProxy")||-1!==o.indexOf("ajax-proxy"))&&(o=o.substr(o.indexOf("#")),elAttr(a,"href",document.location.toString().replace(/#.*/,"")+o))}}},o}),define("WoltLab/WCF/Ajax",["AjaxRequest","Core","ObjectMap"],function(e,t,n){"use strict";var i=new n,r={api:function(t,n,r,a){"object"!=typeof n&&(n={});var o=i.get(t);if(void 0===o){if("function"!=typeof t._ajaxSetup)throw new TypeError("Callback object must implement at least _ajaxSetup().");var l=t._ajaxSetup();l.pinData=!0,l.callbackObject=t,l.url||(l.url="index.php/AJAXProxy/?t="+SECURITY_TOKEN),o=new e(l),i.set(t,o)}var s=null,c=null;return"function"==typeof r&&(s=o.getOption("success"),o.setOption("success",r)),"function"==typeof a&&(c=o.getOption("failure"),o.setOption("failure",a)),o.setData(n),o.sendRequest(),null!==s&&o.setOption("success",s),null!==c&&o.setOption("failure",c),o},apiOnce:function(t){t.pinData=!1,t.callbackObject=null,t.url||(t.url="index.php/AJAXProxy/?t="+SECURITY_TOKEN);var n=new e(t);n.sendRequest()}};return r}),function(){var e=function(e){"use strict";function t(e){if(e.paused||e.ended||g)return!1;try{u.clearRect(0,0,s,l),u.drawImage(e,0,0,s,l)}catch(n){}y=setTimeout(t,D.duration,e),M.setIcon(c)}function n(e){var t=/^#?([a-f\d])([a-f\d])([a-f\d])$/i;e=e.replace(t,function(e,t,n,i){return t+t+n+n+i+i});var n=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return n?{r:parseInt(n[1],16),g:parseInt(n[2],16),b:parseInt(n[3],16)}:!1}function i(e,t){var n,i={};for(n in e)i[n]=e[n];for(n in t)i[n]=t[n];return i}function r(){return document.hidden||document.msHidden||document.webkitHidden||document.mozHidden}e=e?e:{};var a,o,l,s,c,u,d,h,f,p,m,g,v,b,y,w={bgColor:"#d00",textColor:"#fff",fontFamily:"sans-serif",fontStyle:"bold",type:"circle",position:"down",animation:"slide",elementId:!1,dataUrl:!1};v={},v.ff="undefined"!=typeof InstallTrigger,v.chrome=!!window.chrome,v.opera=!!window.opera||navigator.userAgent.indexOf("Opera")>=0,v.ie=!1,v.safari=Object.prototype.toString.call(window.HTMLElement).indexOf("Constructor")>0,v.supported=v.chrome||v.ff||v.opera;var C=[];m=function(){},h=g=!1;var _=function(){a=i(w,e),a.bgColor=n(a.bgColor),a.textColor=n(a.textColor),a.position=a.position.toLowerCase(),a.animation=D.types[""+a.animation]?a.animation:w.animation;var t=a.position.indexOf("up")>-1,r=a.position.indexOf("left")>-1;if(t||r)for(var h=0;h<D.types[""+a.animation].length;h++){var f=D.types[""+a.animation][h];t&&(f.y=f.y<.6?f.y-.4:f.y-2*f.y+(1-f.w)),r&&(f.x=f.x<.6?f.x-.4:f.x-2*f.x+(1-f.h)),D.types[""+a.animation][h]=f}a.type=L[""+a.type]?a.type:w.type,o=M.getIcon(),c=document.createElement("canvas"),d=document.createElement("img"),o.hasAttribute("href")?(d.setAttribute("src",o.getAttribute("href")),d.onload=function(){l=d.height>0?d.height:32,s=d.width>0?d.width:32,c.height=l,c.width=s,u=c.getContext("2d"),x.ready()}):(d.setAttribute("src",""),l=32,s=32,d.height=l,d.width=s,c.height=l,c.width=s,u=c.getContext("2d"),x.ready())},x={};x.ready=function(){h=!0,x.reset(),m()},x.reset=function(){h&&(C=[],f=!1,p=!1,u.clearRect(0,0,s,l),u.drawImage(d,0,0,s,l),M.setIcon(c),window.clearTimeout(b),window.clearTimeout(y))},x.start=function(){if(h&&!p){var e=function(){f=C[0],p=!1,C.length>0&&(C.shift(),x.start())};if(C.length>0){p=!0;var t=function(){["type","animation","bgColor","textColor","fontFamily","fontStyle"].forEach(function(e){e in C[0].options&&(a[e]=C[0].options[e])}),D.run(C[0].options,function(){e()},!1)};f?D.run(f.options,function(){t()},!0):t()}}};var L={},E=function(e){return e.n="number"==typeof e.n?Math.abs(0|e.n):e.n,e.x=s*e.x,e.y=l*e.y,e.w=s*e.w,e.h=l*e.h,e.len=(""+e.n).length,e};L.circle=function(e){e=E(e);var t=!1;2===e.len?(e.x=e.x-.4*e.w,e.w=1.4*e.w,t=!0):e.len>=3&&(e.x=e.x-.65*e.w,e.w=1.65*e.w,t=!0),u.clearRect(0,0,s,l),u.drawImage(d,0,0,s,l),u.beginPath(),u.font=a.fontStyle+" "+Math.floor(e.h*(e.n>99?.85:1))+"px "+a.fontFamily,u.textAlign="center",t?(u.moveTo(e.x+e.w/2,e.y),u.lineTo(e.x+e.w-e.h/2,e.y),u.quadraticCurveTo(e.x+e.w,e.y,e.x+e.w,e.y+e.h/2),u.lineTo(e.x+e.w,e.y+e.h-e.h/2),u.quadraticCurveTo(e.x+e.w,e.y+e.h,e.x+e.w-e.h/2,e.y+e.h),u.lineTo(e.x+e.h/2,e.y+e.h),u.quadraticCurveTo(e.x,e.y+e.h,e.x,e.y+e.h-e.h/2),u.lineTo(e.x,e.y+e.h/2),u.quadraticCurveTo(e.x,e.y,e.x+e.h/2,e.y)):u.arc(e.x+e.w/2,e.y+e.h/2,e.h/2,0,2*Math.PI),u.fillStyle="rgba("+a.bgColor.r+","+a.bgColor.g+","+a.bgColor.b+","+e.o+")",u.fill(),u.closePath(),u.beginPath(),u.stroke(),u.fillStyle="rgba("+a.textColor.r+","+a.textColor.g+","+a.textColor.b+","+e.o+")","number"==typeof e.n&&e.n>999?u.fillText((e.n>9999?9:Math.floor(e.n/1e3))+"k+",Math.floor(e.x+e.w/2),Math.floor(e.y+e.h-.2*e.h)):u.fillText(e.n,Math.floor(e.x+e.w/2),Math.floor(e.y+e.h-.15*e.h)),u.closePath()},L.rectangle=function(e){e=E(e);var t=!1;2===e.len?(e.x=e.x-.4*e.w,e.w=1.4*e.w,t=!0):e.len>=3&&(e.x=e.x-.65*e.w,e.w=1.65*e.w,t=!0),u.clearRect(0,0,s,l),u.drawImage(d,0,0,s,l),u.beginPath(),u.font=a.fontStyle+" "+Math.floor(e.h*(e.n>99?.9:1))+"px "+a.fontFamily,u.textAlign="center",u.fillStyle="rgba("+a.bgColor.r+","+a.bgColor.g+","+a.bgColor.b+","+e.o+")",u.fillRect(e.x,e.y,e.w,e.h),u.fillStyle="rgba("+a.textColor.r+","+a.textColor.g+","+a.textColor.b+","+e.o+")","number"==typeof e.n&&e.n>999?u.fillText((e.n>9999?9:Math.floor(e.n/1e3))+"k+",Math.floor(e.x+e.w/2),Math.floor(e.y+e.h-.2*e.h)):u.fillText(e.n,Math.floor(e.x+e.w/2),Math.floor(e.y+e.h-.15*e.h)),u.closePath()};var T=function(e,t){t=("string"==typeof t?{animation:t}:t)||{},m=function(){try{if("number"==typeof e?e>0:""!==e){var i={type:"badge",options:{n:e}};if("animation"in t&&D.types[""+t.animation]&&(i.options.animation=""+t.animation),"type"in t&&L[""+t.type]&&(i.options.type=""+t.type),["bgColor","textColor"].forEach(function(e){e in t&&(i.options[e]=n(t[e]))}),["fontStyle","fontFamily"].forEach(function(e){e in t&&(i.options[e]=t[e])}),C.push(i),C.length>100)throw"Too many badges requests in queue.";x.start()}else x.reset()}catch(r){throw"Error setting badge. Message: "+r.message}},h&&m()},k=function(e){m=function(){try{var t=e.width,n=e.height,i=document.createElement("img"),r=n/l>t/s?t/s:n/l;i.setAttribute("src",e.getAttribute("src")),i.height=n/r,i.width=t/r,u.clearRect(0,0,s,l),u.drawImage(i,0,0,s,l),M.setIcon(c)}catch(a){throw"Error setting image. Message: "+a.message}},h&&m()},A=function(e){m=function(){try{if("stop"===e)return g=!0,x.reset(),void(g=!1);e.addEventListener("play",function(){t(this)},!1)}catch(n){throw"Error setting video. Message: "+n.message}},h&&m()},S=function(e){if(window.URL&&window.URL.createObjectURL||(window.URL=window.URL||{},window.URL.createObjectURL=function(e){return e}),v.supported){var n=!1;navigator.getUserMedia=navigator.getUserMedia||navigator.oGetUserMedia||navigator.msGetUserMedia||navigator.mozGetUserMedia||navigator.webkitGetUserMedia,m=function(){try{if("stop"===e)return g=!0,x.reset(),void(g=!1);n=document.createElement("video"),n.width=s,n.height=l,navigator.getUserMedia({video:!0,audio:!1},function(e){n.src=URL.createObjectURL(e),n.play(),t(n)},function(){})}catch(i){throw"Error setting webcam. Message: "+i.message}},h&&m()}},M={};M.getIcon=function(){var e=!1,t=function(){for(var e=document.getElementsByTagName("head")[0].getElementsByTagName("link"),t=e.length,n=t-1;n>=0;n--)if(/(^|\s)icon(\s|$)/i.test(e[n].getAttribute("rel")))return e[n];
+return!1};return a.element?e=a.element:a.elementId?(e=document.getElementById(a.elementId),e.setAttribute("href",e.getAttribute("src"))):(e=t(),e===!1&&(e=document.createElement("link"),e.setAttribute("rel","icon"),document.getElementsByTagName("head")[0].appendChild(e))),e.setAttribute("type","image/png"),e},M.setIcon=function(e){var t=e.toDataURL("image/png");if(a.dataUrl&&a.dataUrl(t),a.element)a.element.setAttribute("src",t);else if(a.elementId)document.getElementById(a.elementId).setAttribute("src",t);else if(v.ff||v.opera){var n=o;o=document.createElement("link"),v.opera&&o.setAttribute("rel","icon"),o.setAttribute("rel","icon"),o.setAttribute("type","image/png"),document.getElementsByTagName("head")[0].appendChild(o),o.setAttribute("href",t),n.parentNode&&n.parentNode.removeChild(n)}else o.setAttribute("href",t)};var D={};return D.duration=40,D.types={},D.types.fade=[{x:.4,y:.4,w:.6,h:.6,o:0},{x:.4,y:.4,w:.6,h:.6,o:.1},{x:.4,y:.4,w:.6,h:.6,o:.2},{x:.4,y:.4,w:.6,h:.6,o:.3},{x:.4,y:.4,w:.6,h:.6,o:.4},{x:.4,y:.4,w:.6,h:.6,o:.5},{x:.4,y:.4,w:.6,h:.6,o:.6},{x:.4,y:.4,w:.6,h:.6,o:.7},{x:.4,y:.4,w:.6,h:.6,o:.8},{x:.4,y:.4,w:.6,h:.6,o:.9},{x:.4,y:.4,w:.6,h:.6,o:1}],D.types.none=[{x:.4,y:.4,w:.6,h:.6,o:1}],D.types.pop=[{x:1,y:1,w:0,h:0,o:1},{x:.9,y:.9,w:.1,h:.1,o:1},{x:.8,y:.8,w:.2,h:.2,o:1},{x:.7,y:.7,w:.3,h:.3,o:1},{x:.6,y:.6,w:.4,h:.4,o:1},{x:.5,y:.5,w:.5,h:.5,o:1},{x:.4,y:.4,w:.6,h:.6,o:1}],D.types.popFade=[{x:.75,y:.75,w:0,h:0,o:0},{x:.65,y:.65,w:.1,h:.1,o:.2},{x:.6,y:.6,w:.2,h:.2,o:.4},{x:.55,y:.55,w:.3,h:.3,o:.6},{x:.5,y:.5,w:.4,h:.4,o:.8},{x:.45,y:.45,w:.5,h:.5,o:.9},{x:.4,y:.4,w:.6,h:.6,o:1}],D.types.slide=[{x:.4,y:1,w:.6,h:.6,o:1},{x:.4,y:.9,w:.6,h:.6,o:1},{x:.4,y:.9,w:.6,h:.6,o:1},{x:.4,y:.8,w:.6,h:.6,o:1},{x:.4,y:.7,w:.6,h:.6,o:1},{x:.4,y:.6,w:.6,h:.6,o:1},{x:.4,y:.5,w:.6,h:.6,o:1},{x:.4,y:.4,w:.6,h:.6,o:1}],D.run=function(e,t,n,o){var l=D.types[r()?"none":a.animation];return o=n===!0?"undefined"!=typeof o?o:l.length-1:"undefined"!=typeof o?o:0,t=t?t:function(){},o<l.length&&o>=0?(L[a.type](i(e,l[o])),b=setTimeout(function(){n?o-=1:o+=1,D.run(e,t,n,o)},D.duration),M.setIcon(c),void 0):void t()},_(),{badge:T,video:A,image:k,webcam:S,reset:x.reset,browser:{supported:v.supported}}};"undefined"!=typeof define&&define.amd?define("favico",[],function(){return e}):"undefined"!=typeof module&&module.exports?module.exports=e:this.Favico=e}(),function e(t,n,i){function r(o,l){if(!n[o]){if(!t[o]){var s="function"==typeof require&&require;if(!l&&s)return s(o,!0);if(a)return a(o,!0);var c=new Error("Cannot find module '"+o+"'");throw c.code="MODULE_NOT_FOUND",c}var u=n[o]={exports:{}};t[o][0].call(u.exports,function(e){var n=t[o][1][e];return r(n?n:e)},u,u.exports,e,t,n,i)}return n[o].exports}for(var a="function"==typeof require&&require,o=0;o<i.length;o++)r(i[o]);return r}({1:[function(e){"use strict";var t=e("../main");"function"==typeof define&&define.amd?define("perfect-scrollbar",t):(window.PerfectScrollbar=t,"undefined"==typeof window.Ps&&(window.Ps=t))},{"../main":7}],2:[function(e,t,n){"use strict";function i(e,t){var n=e.className.split(" ");n.indexOf(t)<0&&n.push(t),e.className=n.join(" ")}function r(e,t){var n=e.className.split(" "),i=n.indexOf(t);i>=0&&n.splice(i,1),e.className=n.join(" ")}n.add=function(e,t){e.classList?e.classList.add(t):i(e,t)},n.remove=function(e,t){e.classList?e.classList.remove(t):r(e,t)},n.list=function(e){return e.classList?e.classList:e.className.split(" ")}},{}],3:[function(e,t,n){"use strict";function i(e,t){return window.getComputedStyle(e)[t]}function r(e,t,n){return"number"==typeof n&&(n=n.toString()+"px"),e.style[t]=n,e}function a(e,t){for(var n in t){var i=t[n];"number"==typeof i&&(i=i.toString()+"px"),e.style[n]=i}return e}n.e=function(e,t){var n=document.createElement(e);return n.className=t,n},n.appendTo=function(e,t){return t.appendChild(e),e},n.css=function(e,t,n){return"object"==typeof t?a(e,t):"undefined"==typeof n?i(e,t):r(e,t,n)},n.matches=function(e,t){return"undefined"!=typeof e.matches?e.matches(t):"undefined"!=typeof e.matchesSelector?e.matchesSelector(t):"undefined"!=typeof e.webkitMatchesSelector?e.webkitMatchesSelector(t):"undefined"!=typeof e.mozMatchesSelector?e.mozMatchesSelector(t):"undefined"!=typeof e.msMatchesSelector?e.msMatchesSelector(t):void 0},n.remove=function(e){"undefined"!=typeof e.remove?e.remove():e.parentNode&&e.parentNode.removeChild(e)}},{}],4:[function(e,t){"use strict";var n=function(e){this.element=e,this.events={}};n.prototype.bind=function(e,t){"undefined"==typeof this.events[e]&&(this.events[e]=[]),this.events[e].push(t),this.element.addEventListener(e,t,!1)},n.prototype.unbind=function(e,t){var n="undefined"!=typeof t;this.events[e]=this.events[e].filter(function(i){return n&&i!==t?!0:(this.element.removeEventListener(e,i,!1),!1)},this)},n.prototype.unbindAll=function(){for(var e in this.events)this.unbind(e)};var i=function(){this.eventElements=[]};i.prototype.eventElement=function(e){var t=this.eventElements.filter(function(t){return t.element===e})[0];return"undefined"==typeof t&&(t=new n(e),this.eventElements.push(t)),t},i.prototype.bind=function(e,t,n){this.eventElement(e).bind(t,n)},i.prototype.unbind=function(e,t,n){this.eventElement(e).unbind(t,n)},i.prototype.unbindAll=function(){for(var e=0;e<this.eventElements.length;e++)this.eventElements[e].unbindAll()},i.prototype.once=function(e,t,n){var i=this.eventElement(e),r=function(e){i.unbind(t,r),n(e)};i.bind(t,r)},t.exports=i},{}],5:[function(e,t){"use strict";t.exports=function(){function e(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}return function(){return e()+e()+"-"+e()+"-"+e()+"-"+e()+"-"+e()+e()+e()}}()},{}],6:[function(e,t,n){"use strict";var i=e("./class"),r=e("./dom");n.toInt=function(e){return"string"==typeof e?parseInt(e,10):~~e},n.clone=function(e){if(null===e)return null;if("object"==typeof e){var t={};for(var n in e)t[n]=this.clone(e[n]);return t}return e},n.extend=function(e,t){var n=this.clone(e);for(var i in t)n[i]=this.clone(t[i]);return n},n.isEditable=function(e){return r.matches(e,"input,[contenteditable]")||r.matches(e,"select,[contenteditable]")||r.matches(e,"textarea,[contenteditable]")||r.matches(e,"button,[contenteditable]")},n.removePsClasses=function(e){for(var t=i.list(e),n=0;n<t.length;n++){var r=t[n];0===r.indexOf("ps-")&&i.remove(e,r)}},n.outerWidth=function(e){return this.toInt(r.css(e,"width"))+this.toInt(r.css(e,"paddingLeft"))+this.toInt(r.css(e,"paddingRight"))+this.toInt(r.css(e,"borderLeftWidth"))+this.toInt(r.css(e,"borderRightWidth"))},n.startScrolling=function(e,t){i.add(e,"ps-in-scrolling"),"undefined"!=typeof t?i.add(e,"ps-"+t):(i.add(e,"ps-x"),i.add(e,"ps-y"))},n.stopScrolling=function(e,t){i.remove(e,"ps-in-scrolling"),"undefined"!=typeof t?i.remove(e,"ps-"+t):(i.remove(e,"ps-x"),i.remove(e,"ps-y"))},n.env={isWebKit:"WebkitAppearance"in document.documentElement.style,supportsTouch:"ontouchstart"in window||window.DocumentTouch&&document instanceof window.DocumentTouch,supportsIePointer:null!==window.navigator.msMaxTouchPoints}},{"./class":2,"./dom":3}],7:[function(e,t){"use strict";var n=e("./plugin/destroy"),i=e("./plugin/initialize"),r=e("./plugin/update");t.exports={initialize:i,update:r,destroy:n}},{"./plugin/destroy":9,"./plugin/initialize":17,"./plugin/update":20}],8:[function(e,t){"use strict";t.exports={wheelSpeed:1,wheelPropagation:!1,swipePropagation:!0,minScrollbarLength:null,maxScrollbarLength:null,useBothWheelAxes:!1,useKeyboard:!0,suppressScrollX:!1,suppressScrollY:!1,scrollXMarginOffset:0,scrollYMarginOffset:0}},{}],9:[function(e,t){"use strict";var n=e("../lib/dom"),i=e("../lib/helper"),r=e("./instances");t.exports=function(e){var t=r.get(e);t.event.unbindAll(),n.remove(t.scrollbarX),n.remove(t.scrollbarY),n.remove(t.scrollbarXRail),n.remove(t.scrollbarYRail),i.removePsClasses(e),r.remove(e)}},{"../lib/dom":3,"../lib/helper":6,"./instances":18}],10:[function(e,t){"use strict";function n(e,t){function n(e){return e.getBoundingClientRect()}var r=window.Event.prototype.stopPropagation.bind;t.event.bind(t.scrollbarY,"click",r),t.event.bind(t.scrollbarYRail,"click",function(r){var o=i.toInt(t.scrollbarYHeight/2),l=r.pageY-n(t.scrollbarYRail).top-o,s=t.containerHeight-t.scrollbarYHeight,c=l/s;0>c?c=0:c>1&&(c=1),e.scrollTop=(t.contentHeight-t.containerHeight)*c,a(e)}),t.event.bind(t.scrollbarX,"click",r),t.event.bind(t.scrollbarXRail,"click",function(r){var o=i.toInt(t.scrollbarXWidth/2),l=r.pageX-n(t.scrollbarXRail).left-o;console.log(r.pageX,t.scrollbarXRail.offsetLeft);var s=t.containerWidth-t.scrollbarXWidth,c=l/s;0>c?c=0:c>1&&(c=1),e.scrollLeft=(t.contentWidth-t.containerWidth)*c,a(e)})}var i=e("../../lib/helper"),r=e("../instances"),a=e("../update-geometry");t.exports=function(e){var t=r.get(e);n(e,t)}},{"../../lib/helper":6,"../instances":18,"../update-geometry":19}],11:[function(e,t){"use strict";function n(e,t){function n(n){var r=i+n,o=t.containerWidth-t.scrollbarXWidth;t.scrollbarXLeft=0>r?0:r>o?o:r;var l=a.toInt(t.scrollbarXLeft*(t.contentWidth-t.containerWidth)/(t.containerWidth-t.scrollbarXWidth));e.scrollLeft=l}var i=null,o=null,s=function(t){n(t.pageX-o),l(e),t.stopPropagation(),t.preventDefault()},c=function(){a.stopScrolling(e,"x"),t.event.unbind(t.ownerDocument,"mousemove",s)};t.event.bind(t.scrollbarX,"mousedown",function(n){o=n.pageX,i=a.toInt(r.css(t.scrollbarX,"left")),a.startScrolling(e,"x"),t.event.bind(t.ownerDocument,"mousemove",s),t.event.once(t.ownerDocument,"mouseup",c),n.stopPropagation(),n.preventDefault()})}function i(e,t){function n(n){var r=i+n,o=t.containerHeight-t.scrollbarYHeight;t.scrollbarYTop=0>r?0:r>o?o:r;var l=a.toInt(t.scrollbarYTop*(t.contentHeight-t.containerHeight)/(t.containerHeight-t.scrollbarYHeight));e.scrollTop=l}var i=null,o=null,s=function(t){n(t.pageY-o),l(e),t.stopPropagation(),t.preventDefault()},c=function(){a.stopScrolling(e,"y"),t.event.unbind(t.ownerDocument,"mousemove",s)};t.event.bind(t.scrollbarY,"mousedown",function(n){o=n.pageY,i=a.toInt(r.css(t.scrollbarY,"top")),a.startScrolling(e,"y"),t.event.bind(t.ownerDocument,"mousemove",s),t.event.once(t.ownerDocument,"mouseup",c),n.stopPropagation(),n.preventDefault()})}var r=e("../../lib/dom"),a=e("../../lib/helper"),o=e("../instances"),l=e("../update-geometry");t.exports=function(e){var t=o.get(e);n(e,t),i(e,t)}},{"../../lib/dom":3,"../../lib/helper":6,"../instances":18,"../update-geometry":19}],12:[function(e,t){"use strict";function n(e,t){function n(n,i){var r=e.scrollTop;if(0===n){if(!t.scrollbarYActive)return!1;if(0===r&&i>0||r>=t.contentHeight-t.containerHeight&&0>i)return!t.settings.wheelPropagation}var a=e.scrollLeft;if(0===i){if(!t.scrollbarXActive)return!1;if(0===a&&0>n||a>=t.contentWidth-t.containerWidth&&n>0)return!t.settings.wheelPropagation}return!0}var r=!1;t.event.bind(e,"mouseenter",function(){r=!0}),t.event.bind(e,"mouseleave",function(){r=!1});var o=!1;t.event.bind(t.ownerDocument,"keydown",function(l){if((!l.isDefaultPrevented||!l.isDefaultPrevented())&&r){var s=document.activeElement?document.activeElement:t.ownerDocument.activeElement;if(s){for(;s.shadowRoot;)s=s.shadowRoot.activeElement;if(i.isEditable(s))return}var c=0,u=0;switch(l.which){case 37:c=-30;break;case 38:u=30;break;case 39:c=30;break;case 40:u=-30;break;case 33:u=90;break;case 32:case 34:u=-90;break;case 35:u=l.ctrlKey?-t.contentHeight:-t.containerHeight;break;case 36:u=l.ctrlKey?e.scrollTop:t.containerHeight;break;default:return}e.scrollTop=e.scrollTop-u,e.scrollLeft=e.scrollLeft+c,a(e),o=n(c,u),o&&l.preventDefault()}})}var i=e("../../lib/helper"),r=e("../instances"),a=e("../update-geometry");t.exports=function(e){var t=r.get(e);n(e,t)}},{"../../lib/helper":6,"../instances":18,"../update-geometry":19}],13:[function(e,t){"use strict";function n(e,t){function n(n,i){var r=e.scrollTop;if(0===n){if(!t.scrollbarYActive)return!1;if(0===r&&i>0||r>=t.contentHeight-t.containerHeight&&0>i)return!t.settings.wheelPropagation}var a=e.scrollLeft;if(0===i){if(!t.scrollbarXActive)return!1;if(0===a&&0>n||a>=t.contentWidth-t.containerWidth&&n>0)return!t.settings.wheelPropagation}return!0}function r(e){var t=e.deltaX,n=-1*e.deltaY;return("undefined"==typeof t||"undefined"==typeof n)&&(t=-1*e.wheelDeltaX/6,n=e.wheelDeltaY/6),e.deltaMode&&1===e.deltaMode&&(t*=10,n*=10),t!==t&&n!==n&&(t=0,n=e.wheelDelta),[t,n]}function o(t,n){var i=e.querySelector("textarea:hover");if(i){var r=i.scrollHeight-i.clientHeight;if(r>0&&!(0===i.scrollTop&&n>0||i.scrollTop===r&&0>n))return!0;var a=i.scrollLeft-i.clientWidth;if(a>0&&!(0===i.scrollLeft&&0>t||i.scrollLeft===a&&t>0))return!0}return!1}function l(l){if(i.env.isWebKit||!e.querySelector("select:focus")){var c=r(l),u=c[0],d=c[1];o(u,d)||(s=!1,t.settings.useBothWheelAxes?t.scrollbarYActive&&!t.scrollbarXActive?(e.scrollTop=d?e.scrollTop-d*t.settings.wheelSpeed:e.scrollTop+u*t.settings.wheelSpeed,s=!0):t.scrollbarXActive&&!t.scrollbarYActive&&(e.scrollLeft=u?e.scrollLeft+u*t.settings.wheelSpeed:e.scrollLeft-d*t.settings.wheelSpeed,s=!0):(e.scrollTop=e.scrollTop-d*t.settings.wheelSpeed,e.scrollLeft=e.scrollLeft+u*t.settings.wheelSpeed),a(e),s=s||n(u,d),s&&(l.stopPropagation(),l.preventDefault()))}}var s=!1;"undefined"!=typeof window.onwheel?t.event.bind(e,"wheel",l):"undefined"!=typeof window.onmousewheel&&t.event.bind(e,"mousewheel",l)}var i=e("../../lib/helper"),r=e("../instances"),a=e("../update-geometry");t.exports=function(e){var t=r.get(e);n(e,t)}},{"../../lib/helper":6,"../instances":18,"../update-geometry":19}],14:[function(e,t){"use strict";function n(e,t){t.event.bind(e,"scroll",function(){r(e)})}var i=e("../instances"),r=e("../update-geometry");t.exports=function(e){var t=i.get(e);n(e,t)}},{"../instances":18,"../update-geometry":19}],15:[function(e,t){"use strict";function n(e,t){function n(){var e=window.getSelection?window.getSelection():document.getSelection?document.getSelection():"";return 0===e.toString().length?null:e.getRangeAt(0).commonAncestorContainer}function o(){s||(s=setInterval(function(){return r.get(e)?(e.scrollTop=e.scrollTop+c.top,e.scrollLeft=e.scrollLeft+c.left,void a(e)):void clearInterval(s)},50))}function l(){s&&(clearInterval(s),s=null),i.stopScrolling(e)}var s=null,c={top:0,left:0},u=!1;t.event.bind(t.ownerDocument,"selectionchange",function(){e.contains(n())?u=!0:(u=!1,l())}),t.event.bind(window,"mouseup",function(){u&&(u=!1,l())}),t.event.bind(window,"mousemove",function(t){if(u){var n={x:t.pageX,y:t.pageY},r={left:e.offsetLeft,right:e.offsetLeft+e.offsetWidth,top:e.offsetTop,bottom:e.offsetTop+e.offsetHeight};n.x<r.left+3?(c.left=-5,i.startScrolling(e,"x")):n.x>r.right-3?(c.left=5,i.startScrolling(e,"x")):c.left=0,n.y<r.top+3?(c.top=r.top+3-n.y<5?-5:-20,i.startScrolling(e,"y")):n.y>r.bottom-3?(c.top=n.y-r.bottom+3<5?5:20,i.startScrolling(e,"y")):c.top=0,0===c.top&&0===c.left?l():o()}})}var i=e("../../lib/helper"),r=e("../instances"),a=e("../update-geometry");t.exports=function(e){var t=r.get(e);n(e,t)}},{"../../lib/helper":6,"../instances":18,"../update-geometry":19}],16:[function(e,t){"use strict";function n(e,t,n,a){function o(n,i){var r=e.scrollTop,a=e.scrollLeft,o=Math.abs(n),l=Math.abs(i);if(l>o){if(0>i&&r===t.contentHeight-t.containerHeight||i>0&&0===r)return!t.settings.swipePropagation}else if(o>l&&(0>n&&a===t.contentWidth-t.containerWidth||n>0&&0===a))return!t.settings.swipePropagation;return!0}function l(t,n){e.scrollTop=e.scrollTop-n,e.scrollLeft=e.scrollLeft-t,r(e)}function s(){y=!0}function c(){y=!1}function u(e){return e.targetTouches?e.targetTouches[0]:e}function d(e){return e.targetTouches&&1===e.targetTouches.length?!0:e.pointerType&&"mouse"!==e.pointerType&&e.pointerType!==e.MSPOINTER_TYPE_MOUSE?!0:!1}function h(e){if(d(e)){w=!0;var t=u(e);m.pageX=t.pageX,m.pageY=t.pageY,g=(new Date).getTime(),null!==b&&clearInterval(b),e.stopPropagation()}}function f(e){if(!y&&w&&d(e)){var t=u(e),n={pageX:t.pageX,pageY:t.pageY},i=n.pageX-m.pageX,r=n.pageY-m.pageY;l(i,r),m=n;var a=(new Date).getTime(),s=a-g;s>0&&(v.x=i/s,v.y=r/s,g=a),o(i,r)&&(e.stopPropagation(),e.preventDefault())}}function p(){!y&&w&&(w=!1,clearInterval(b),b=setInterval(function(){return i.get(e)?Math.abs(v.x)<.01&&Math.abs(v.y)<.01?void clearInterval(b):(l(30*v.x,30*v.y),v.x*=.8,void(v.y*=.8)):void clearInterval(b)},10))}var m={},g=0,v={},b=null,y=!1,w=!1;n&&(t.event.bind(window,"touchstart",s),t.event.bind(window,"touchend",c),t.event.bind(e,"touchstart",h),t.event.bind(e,"touchmove",f),t.event.bind(e,"touchend",p)),a&&(window.PointerEvent?(t.event.bind(window,"pointerdown",s),t.event.bind(window,"pointerup",c),t.event.bind(e,"pointerdown",h),t.event.bind(e,"pointermove",f),t.event.bind(e,"pointerup",p)):window.MSPointerEvent&&(t.event.bind(window,"MSPointerDown",s),t.event.bind(window,"MSPointerUp",c),t.event.bind(e,"MSPointerDown",h),t.event.bind(e,"MSPointerMove",f),t.event.bind(e,"MSPointerUp",p)))}var i=e("../instances"),r=e("../update-geometry");t.exports=function(e,t,r){var a=i.get(e);n(e,a,t,r)}},{"../instances":18,"../update-geometry":19}],17:[function(e,t){"use strict";var n=e("../lib/class"),i=e("../lib/helper"),r=e("./instances"),a=e("./update-geometry"),o=e("./handler/click-rail"),l=e("./handler/drag-scrollbar"),s=e("./handler/keyboard"),c=e("./handler/mouse-wheel"),u=e("./handler/native-scroll"),d=e("./handler/selection"),h=e("./handler/touch");t.exports=function(e,t){t="object"==typeof t?t:{},n.add(e,"ps-container");var f=r.add(e);f.settings=i.extend(f.settings,t),o(e),l(e),c(e),u(e),d(e),(i.env.supportsTouch||i.env.supportsIePointer)&&h(e,i.env.supportsTouch,i.env.supportsIePointer),f.settings.useKeyboard&&s(e),a(e)}},{"../lib/class":2,"../lib/helper":6,"./handler/click-rail":10,"./handler/drag-scrollbar":11,"./handler/keyboard":12,"./handler/mouse-wheel":13,"./handler/native-scroll":14,"./handler/selection":15,"./handler/touch":16,"./instances":18,"./update-geometry":19}],18:[function(e,t,n){"use strict";function i(e){var t=this;t.settings=d.clone(s),t.containerWidth=null,t.containerHeight=null,t.contentWidth=null,t.contentHeight=null,t.isRtl="rtl"===l.css(e,"direction"),t.event=new c,t.ownerDocument=e.ownerDocument||document,t.scrollbarXRail=l.appendTo(l.e("div","ps-scrollbar-x-rail"),e),t.scrollbarX=l.appendTo(l.e("div","ps-scrollbar-x"),t.scrollbarXRail),t.scrollbarXActive=null,t.scrollbarXWidth=null,t.scrollbarXLeft=null,t.scrollbarXBottom=d.toInt(l.css(t.scrollbarXRail,"bottom")),t.isScrollbarXUsingBottom=t.scrollbarXBottom===t.scrollbarXBottom,t.scrollbarXTop=t.isScrollbarXUsingBottom?null:d.toInt(l.css(t.scrollbarXRail,"top")),t.railBorderXWidth=d.toInt(l.css(t.scrollbarXRail,"borderLeftWidth"))+d.toInt(l.css(t.scrollbarXRail,"borderRightWidth")),t.railXMarginWidth=d.toInt(l.css(t.scrollbarXRail,"marginLeft"))+d.toInt(l.css(t.scrollbarXRail,"marginRight")),t.railXWidth=null,t.scrollbarYRail=l.appendTo(l.e("div","ps-scrollbar-y-rail"),e),t.scrollbarY=l.appendTo(l.e("div","ps-scrollbar-y"),t.scrollbarYRail),t.scrollbarYActive=null,t.scrollbarYHeight=null,t.scrollbarYTop=null,t.scrollbarYRight=d.toInt(l.css(t.scrollbarYRail,"right")),t.isScrollbarYUsingRight=t.scrollbarYRight===t.scrollbarYRight,t.scrollbarYLeft=t.isScrollbarYUsingRight?null:d.toInt(l.css(t.scrollbarYRail,"left")),t.scrollbarYOuterWidth=t.isRtl?d.outerWidth(t.scrollbarY):null,t.railBorderYWidth=d.toInt(l.css(t.scrollbarYRail,"borderTopWidth"))+d.toInt(l.css(t.scrollbarYRail,"borderBottomWidth")),t.railYMarginHeight=d.toInt(l.css(t.scrollbarYRail,"marginTop"))+d.toInt(l.css(t.scrollbarYRail,"marginBottom")),t.railYHeight=null}function r(e){return"undefined"==typeof e.dataset?e.getAttribute("data-ps-id"):e.dataset.psId}function a(e,t){"undefined"==typeof e.dataset?e.setAttribute("data-ps-id",t):e.dataset.psId=t}function o(e){"undefined"==typeof e.dataset?e.removeAttribute("data-ps-id"):delete e.dataset.psId}var l=e("../lib/dom"),s=e("./default-setting"),c=e("../lib/event-manager"),u=e("../lib/guid"),d=e("../lib/helper"),h={};n.add=function(e){var t=u();return a(e,t),h[t]=new i(e),h[t]},n.remove=function(e){delete h[r(e)],o(e)},n.get=function(e){return h[r(e)]}},{"../lib/dom":3,"../lib/event-manager":4,"../lib/guid":5,"../lib/helper":6,"./default-setting":8}],19:[function(e,t){"use strict";function n(e,t){return e.settings.minScrollbarLength&&(t=Math.max(t,e.settings.minScrollbarLength)),e.settings.maxScrollbarLength&&(t=Math.min(t,e.settings.maxScrollbarLength)),t}function i(e,t){var n={width:t.railXWidth};n.left=t.isRtl?e.scrollLeft+t.containerWidth-t.contentWidth:e.scrollLeft,t.isScrollbarXUsingBottom?n.bottom=t.scrollbarXBottom-e.scrollTop:n.top=t.scrollbarXTop+e.scrollTop,a.css(t.scrollbarXRail,n);var i={top:e.scrollTop,height:t.railYHeight};t.isScrollbarYUsingRight?i.right=t.isRtl?t.contentWidth-e.scrollLeft-t.scrollbarYRight-t.scrollbarYOuterWidth:t.scrollbarYRight-e.scrollLeft:i.left=t.isRtl?e.scrollLeft+2*t.containerWidth-t.contentWidth-t.scrollbarYLeft-t.scrollbarYOuterWidth:t.scrollbarYLeft+e.scrollLeft,a.css(t.scrollbarYRail,i),a.css(t.scrollbarX,{left:t.scrollbarXLeft,width:t.scrollbarXWidth-t.railBorderXWidth}),a.css(t.scrollbarY,{top:t.scrollbarYTop,height:t.scrollbarYHeight-t.railBorderYWidth})}var r=e("../lib/class"),a=e("../lib/dom"),o=e("../lib/helper"),l=e("./instances");t.exports=function(e){var t=l.get(e);t.containerWidth=e.clientWidth,t.containerHeight=e.clientHeight,t.contentWidth=e.scrollWidth,t.contentHeight=e.scrollHeight,e.contains(t.scrollbarXRail)||a.appendTo(t.scrollbarXRail,e),e.contains(t.scrollbarYRail)||a.appendTo(t.scrollbarYRail,e),!t.settings.suppressScrollX&&t.containerWidth+t.settings.scrollXMarginOffset<t.contentWidth?(t.scrollbarXActive=!0,t.railXWidth=t.containerWidth-t.railXMarginWidth,t.scrollbarXWidth=n(t,o.toInt(t.railXWidth*t.containerWidth/t.contentWidth)),t.scrollbarXLeft=o.toInt(e.scrollLeft*(t.railXWidth-t.scrollbarXWidth)/(t.contentWidth-t.containerWidth))):(t.scrollbarXActive=!1,t.scrollbarXWidth=0,t.scrollbarXLeft=0,e.scrollLeft=0),!t.settings.suppressScrollY&&t.containerHeight+t.settings.scrollYMarginOffset<t.contentHeight?(t.scrollbarYActive=!0,t.railYHeight=t.containerHeight-t.railYMarginHeight,t.scrollbarYHeight=n(t,o.toInt(t.railYHeight*t.containerHeight/t.contentHeight)),t.scrollbarYTop=o.toInt(e.scrollTop*(t.railYHeight-t.scrollbarYHeight)/(t.contentHeight-t.containerHeight))):(t.scrollbarYActive=!1,t.scrollbarYHeight=0,t.scrollbarYTop=0,e.scrollTop=0),t.scrollbarXLeft>=t.railXWidth-t.scrollbarXWidth&&(t.scrollbarXLeft=t.railXWidth-t.scrollbarXWidth),t.scrollbarYTop>=t.railYHeight-t.scrollbarYHeight&&(t.scrollbarYTop=t.railYHeight-t.scrollbarYHeight),i(e,t),r[t.scrollbarXActive?"add":"remove"](e,"ps-active-x"),r[t.scrollbarYActive?"add":"remove"](e,"ps-active-y")}},{"../lib/class":2,"../lib/dom":3,"../lib/helper":6,"./instances":18}],20:[function(e,t){"use strict";var n=e("../lib/dom"),i=e("./instances"),r=e("./update-geometry");t.exports=function(e){var t=i.get(e);n.css(t.scrollbarXRail,"display","none"),n.css(t.scrollbarYRail,"display","none"),r(e),n.css(t.scrollbarXRail,"display","block"),n.css(t.scrollbarYRail,"display","block")}},{"../lib/dom":3,"./instances":18,"./update-geometry":19}]},{},[1]),define("WoltLab/WCF/Date/Util",["Language"],function(e){"use strict";var t={formatDate:function(t){return this.format(t,e.get("wcf.date.dateFormat"))},formatTime:function(t){return this.format(t,e.get("wcf.date.timeFormat"))},formatDateTime:function(t){return this.format(t,e.get("wcf.date.dateTimeFormat").replace(/%date%/,e.get("wcf.date.dateFormat")).replace(/%time%/,e.get("wcf.date.timeFormat")))},format:function(t,n){var i,r="";"c"===n&&(n="Y-m-dTH:i:sP");for(var a=0,o=n.length;o>a;a++){switch(n[a]){case"s":i=("0"+t.getSeconds().toString()).slice(-2);break;case"i":i=t.getMinutes();break;case"a":i=t.getHours()>11?"pm":"am";break;case"g":i=t.getHours(),0===i?i=12:i>12&&(i-=12);break;case"h":i=t.getHours(),0===i?i=12:i>12&&(i-=12),i=("0"+i.toString()).slice(-2);break;case"A":i=t.getHours()>11?"PM":"AM";break;case"G":i=t.getHours();break;case"H":i=t.getHours(),i=("0"+i.toString()).slice(-2);break;case"d":i=t.getDate(),i=("0"+i.toString()).slice(-2);break;case"j":i=t.getDate();break;case"l":i=e.get("__days")[t.getDay()];break;case"D":i=e.get("__daysShort")[t.getDay()];break;case"S":i="";break;case"m":i=t.getMonth()+1,i=("0"+i.toString()).slice(-2);break;case"n":i=t.getMonth()+1;break;case"F":i=e.get("__months")[t.getMonth()];break;case"M":i=e.get("__monthsShort")[t.getMonth()];break;case"y":i=t.getYear().toString().replace(/^\d{2}/,"");break;case"Y":i=t.getFullYear();break;case"P":var l=t.getTimezoneOffset();i=l>0?"-":"+",l=Math.abs(l),i+=("0"+(~~(l/60)).toString()).slice(-2),i+=":",i+=("0"+(l%60).toString()).slice(-2);break;case"r":i=t.toString();break;case"U":i=Math.round(t.getTime()/1e3);break;default:i=n[a]}r+=i}return r},gmdate:function(){return date instanceof Date||(date=new Date),Math.round(Date.UTC(date.getUTCFullYear(),date.getUTCMonth(),date.getUTCDay(),date.getUTCHours(),date.getUTCMinutes(),date.getUTCSeconds())/1e3)},getTimezoneDate:function(e,t){var n=new Date(e),i=6e4*n.getTimezoneOffset();return new Date(e+i+t)}};return t}),define("WoltLab/WCF/Timer/Repeating",[],function(){"use strict";function e(e,t){if("function"!=typeof e)throw new TypeError("Expected a valid callback as first argument.");if(0>t||t>864e5)throw new RangeError("Invalid delta "+t+". Delta must be in the interval [0, 86400000].");this._callback=e.bind(void 0,this),this._delta=t,this._timer=void 0,this.restart()}return e.prototype={restart:function(){this.stop(),this._timer=setInterval(this._callback,this._delta)},stop:function(){void 0!==this._timer&&(clearInterval(this._timer),this._timer=void 0)},setDelta:function(e){this._delta=e,this.restart()}},e}),define("WoltLab/WCF/Date/Time/Relative",["Dom/ChangeListener","Language","WoltLab/WCF/Date/Util","WoltLab/WCF/Timer/Repeating"],function(e,t,n,i){"use strict";var r=elByTag("time"),a=null,o={setup:function(){this._refresh(),new i(this._refresh.bind(this),6e4),e.add("WoltLab/WCF/Date/Time/Relative",this._refresh.bind(this))},_refresh:function(){var e=new Date,i=(e.getTime()-e.getMilliseconds())/1e3;null===a&&(a=i-TIME_NOW);for(var o=0,l=r.length;l>o;o++){var s=r[o];if(s.classList.contains("datetime")&&!elAttr(s,"data-is-future-date")){s.getAttribute("title")||elAttr(s,"title",s.textContent.trim());var c=~~s.getAttribute("data-timestamp")+a,u=elAttr(s,"data-date"),d=elAttr(s,"data-time"),h=elAttr(s,"data-offset");if(c>=i||c+60>i)s.textContent=t.get("wcf.date.relative.now");else if(c+3540>i){var f=Math.max(Math.round((i-c)/60),1);s.textContent=t.get("wcf.date.relative.minutes",{minutes:f})}else if(c+86400>i){var p=Math.round((i-c)/3600);s.textContent=t.get("wcf.date.relative.hours",{hours:p})}else if(c+518400>i){var m=new Date(e.getFullYear(),e.getMonth(),e.getDate()),g=Math.ceil((m/1e3-c)/86400),v=n.getTimezoneDate(1e3*c,1e3*h),b=v.getDay(),y=t.get("__days")[b];s.textContent=t.get("wcf.date.relative.pastDays",{days:g,day:y,time:d})}else s.textContent=t.get("wcf.date.shortDateTimeFormat").replace(/\%date\%/,u).replace(/\%time\%/,d)}}}};return o}),define("WoltLab/WCF/Dom/Traverse",["Dom/Util"],function(e){"use strict";var t=0,n=1,i=2,r=3,a=[function(){return!0},function(t,n){return e.matches(t,n)},function(e,t){return e.classList.contains(t)},function(e,t){return e.nodeName===t}],o=function(e,t,n){if(!(e instanceof Element))throw new TypeError("Expected a valid element as first argument.");for(var i=[],r=0;r<e.childElementCount;r++)a[t](e.children[r],n)&&i.push(e.children[r]);return i},l=function(e,t,n,i){if(!(e instanceof Element))throw new TypeError("Expected a valid element as first argument.");for(e=e.parentNode;e instanceof Element;){if(e===i)return null;if(a[t](e,n))return e;e=e.parentNode}return null},s=function(e,t,n,i){if(!(e instanceof Element))throw new TypeError("Expected a valid element as first argument.");return e instanceof Element&&null!==e[t]&&a[n](e[t],i)?e[t]:null},c={childBySel:function(e,t){return o(e,n,t)[0]||null},childByClass:function(e,t){return o(e,i,t)[0]||null},childByTag:function(e,t){return o(e,r,t)[0]||null},childrenBySel:function(e,t){return o(e,n,t)},childrenByClass:function(e,t){return o(e,i,t)},childrenByTag:function(e,t){return o(e,r,t)},parentBySel:function(e,t,i){return l(e,n,t,i)},parentByClass:function(e,t,n){return l(e,i,t,n)},parentByTag:function(e,t,n){return l(e,r,t,n)},next:function(e){return s(e,"nextElementSibling",t,null)},nextBySel:function(e,t){return s(e,"nextElementSibling",n,t)},nextByClass:function(e,t){return s(e,"nextElementSibling",i,t)},nextByTag:function(e){return s(e,"nextElementSibling",i,className)},prev:function(e){return s(e,"previousElementSibling",t,null)},prevBySel:function(e,t){return s(e,"previousElementSibling",n,t)},prevByClass:function(e,t){return s(e,"previousElementSibling",i,t)},prevByTag:function(e){return s(e,"previousElementSibling",i,className)}};return c}),define("WoltLab/WCF/Ui/Alignment",["Core","Language","Dom/Traverse","Dom/Util"],function(e,t,n,i){"use strict";var r={set:function(r,a,o){o=e.extend({verticalOffset:7,pointer:!1,pointerOffset:4,pointerClassNames:[],refDimensionsElement:null,horizontal:"left",vertical:"bottom",allowFlip:"both"},o),Array.isArray(o.pointerClassNames)&&o.pointerClassNames.length===(o.pointer?1:2)||(o.pointerClassNames=[]),-1===["left","right","center"].indexOf(o.horizontal)&&(o.horizontal="left"),"bottom"!==o.vertical&&(o.vertical="top"),-1===["both","horizontal","vertical","none"].indexOf(o.allowFlip)&&(o.allowFlip="both"),i.setStyles(r,{bottom:"auto !important",left:"0 !important",right:"auto !important",top:"0 !important"});var l=i.outerDimensions(r),s=i.outerDimensions(o.refDimensionsElement instanceof Element?o.refDimensionsElement:a),c=i.offset(a),u=window.innerHeight,d=document.body.clientWidth,h={result:null},f=!1;if("center"===o.horizontal&&(f=!0,h=this._tryAlignmentHorizontal(o.horizontal,l,s,c,d),h.result||("both"===o.allowFlip||"horizontal"===o.allowFlip?o.horizontal="left":h.result=!0)),"rtl"===t.get("wcf.global.pageDirection")&&(o.horizontal="left"===o.horizontal?"right":"left"),!h.result){var p=h;if(h=this._tryAlignmentHorizontal(o.horizontal,l,s,c,d),!h.result&&("both"===o.allowFlip||"horizontal"===o.allowFlip)){var m=this._tryAlignmentHorizontal("left"===o.horizontal?"right":"left",l,s,c,d);m.result?h=m:f&&(h=p)}}var g=h.left,v=h.right,b=this._tryAlignmentVertical(o.vertical,l,s,c,u,o.verticalOffset);if(!b.result&&("both"===o.allowFlip||"vertical"===o.allowFlip)){var y=this._tryAlignmentVertical("top"===o.vertical?"bottom":"top",l,s,c,u,o.verticalOffset);y.result&&(b=y)}var w=b.bottom,C=b.top;if(o.pointer){var _=n.childrenByClass(r,"elementPointer");if(_=_[0]||null,null===_)throw new Error("Expected the .elementPointer element to be a direct children.");"center"===h.align?(_.classList.add("center"),_.classList.remove("left"),_.classList.remove("right")):(_.classList.add(h.align),_.classList.remove("center"),_.classList.remove("left"===h.align?"right":"left")),"top"===b.align?_.classList.add("flipVertical"):_.classList.remove("flipVertical")}else if(2===o.pointerClassNames.length){var x=0,L=1;r.classList["auto"===C?"add":"remove"](o.pointerClassNames[L]),r.classList["auto"===g?"add":"remove"](o.pointerClassNames[x])}i.setStyles(r,{bottom:w+("auto"!==w?"px":""),left:g+("auto"!==g?"px":""),right:v+("auto"!==v?"px":""),top:C+("auto"!==C?"px":"")})},_tryAlignmentHorizontal:function(e,t,n,i,r){var a="auto",o="auto",l=!0;return"left"===e?(a=i.left,a+t.width>r&&(l=!1)):"right"===e?(o=r-(i.left+n.width),0>o&&(l=!1)):(a=i.left+n.width/2-t.width/2,a=~~a,(0>a||a+t.width>r)&&(l=!1)),{align:e,left:a,right:o,result:l}},_tryAlignmentVertical:function(e,t,n,i,r,a){var o="auto",l="auto",s=!0;if("top"===e){var c=document.body.clientHeight;o=c-i.top+a,c-(o+t.height)<document.body.scrollTop&&(s=!1)}else l=i.top+n.height+a,l+t.height>r&&(s=!1);return{align:e,bottom:o,top:l,result:s}}};return r}),define("WoltLab/WCF/Ui/CloseOverlay",["CallbackList"],function(e){"use strict";
+var t=new e,n={setup:function(){document.body.addEventListener("click",this.execute.bind(this))},add:t.add.bind(t),remove:t.remove.bind(t),execute:function(){t.forEach(null,function(e){e()})}};return n.setup(),n}),define("WoltLab/WCF/Ui/Dropdown/Simple",["CallbackList","Core","Dictionary","Ui/Alignment","Dom/ChangeListener","Dom/Traverse","Dom/Util","Ui/CloseOverlay"],function(e,t,n,i,r,a,o,l){"use strict";var s=null,c=new e,u=!1,d=new n,h=new n,f=null,p={setup:function(){u||(u=!0,f=elCreate("div"),elAttr(f,"id","dropdownMenuContainer"),document.body.appendChild(f),s=elByClass("dropdownToggle"),this.initAll(),l.add("WoltLab/WCF/Ui/Dropdown/Simple",this.closeAll.bind(this)),r.add("WoltLab/WCF/Ui/Dropdown/Simple",this.initAll.bind(this)),document.addEventListener("scroll",this._onScroll.bind(this)),window.bc_wcfSimpleDropdown=this)},initAll:function(){for(var e=0,t=s.length;t>e;e++)this.init(s[e],!1)},init:function(e,n){if(this.setup(),e.classList.contains("jsDropdownEnabled")||elAttr(e,"data-target"))return!1;var i=a.parentByClass(e,"dropdown");if(null===i)throw new Error("Invalid dropdown passed, button '"+o.identify(e)+"' does not have a parent with .dropdown.");var r=a.nextByClass(e,"dropdownMenu");if(null===r)throw new Error("Invalid dropdown passed, button '"+o.identify(e)+"' does not have a menu as next sibling.");f.appendChild(r);var l=o.identify(i);d.has(l)||(e.classList.add("jsDropdownEnabled"),e.addEventListener("click",this._toggle.bind(this)),d.set(l,i),h.set(l,r),l.match(/^wcf\d+$/)||elAttr(r,"data-source",l)),elAttr(e,"data-target",l),n&&setTimeout(function(){t.triggerEvent(e,"click")},10)},initFragment:function(e,t){if(this.setup(),!d.has(e)){var n=o.identify(e);d.set(n,e),f.appendChild(t),h.set(n,t)}},registerCallback:function(e,t){c.add(e,t)},getDropdown:function(e){return d.get(e)},getDropdownMenu:function(e){return h.get(e)},toggleDropdown:function(e){this._toggle(null,e)},setAlignment:function(e,t){var n=elBySel(".dropdownToggle",e),r=null;null!==n&&n.classList.contains("dropdownCaptionTextarea")&&(r=n),i.set(t,e,{pointerClassNames:["dropdownArrowBottom","dropdownArrowRight"],refDimensionsElement:r})},setAlignmentById:function(e){var t=d.get(e);if(void 0===t)throw new Error("Unknown dropdown identifier '"+e+"'.");var n=h.get(e);this.setAlignment(t,n)},isOpen:function(e){var t=h.get(e);return void 0!==t&&t.classList.contains("dropdownOpen")?!0:!1},open:function(e){var t=h.get(e);void 0===t||t.classList.contains("dropdownOpen")||this.toggleDropdown(e)},close:function(e){var t=d.get(e);void 0!==t&&(t.classList.remove("dropdownOpen"),h.get(e).classList.remove("dropdownOpen"))},closeAll:function(){d.forEach(function(e,t){e.classList.contains("dropdownOpen")&&(e.classList.remove("dropdownOpen"),h.get(t).classList.remove("dropdownOpen"),this._notifyCallbacks(t,"close"))}.bind(this))},destroy:function(e){if(!d.has(e))return!1;this.close(e);var t=h.get(e);return h.parentNode.removeChild(t),h["delete"](e),d["delete"](e),!0},_onDialogScroll:function(e){for(var t=e.currentTarget,n=elBySelAll(".dropdown.dropdownOpen",t),i=0,r=n.length;r>i;i++){var a=n[i],l=o.identify(a),s=o.offset(a),c=o.offset(t);s.top+a.clientHeight<=c.top?this.toggleDropdown(l):s.top>=c.top+t.offsetHeight?this.toggleDropdown(l):s.left<=c.left?this.toggleDropdown(l):s.left>=c.left+t.offsetWidth?this.toggleDropdown(l):this.setAlignment(l,h.get(l))}},_onScroll:function(){d.forEach(function(e,t){elAttr(e,"data-is-overlay-dropdown-button")===!0&&e.classList.contains("dropdownOpen")&&this.setAlignment(e,h.get(t))}.bind(this))},_notifyCallbacks:function(e,t){c.forEach(e,function(n){n(e,t)})},_toggle:function(e,t){null!==e&&(e.preventDefault(),e.stopPropagation(),t=elAttr(e.currentTarget,"data-target"));var n=d.get(t);if(void 0!==n&&null===elAttr(n,"data-is-overlay-dropdown-button")){var i=a.parentByClass(n,"dialogContent");elAttr(n,"data-is-overlay-dropdown-button",null!==i),null!==i&&i.addEventListener("scroll",this._onDialogScroll.bind(this))}return d.forEach(function(e,n){var i=h.get(n);e.classList.contains("dropdownOpen")?(e.classList.remove("dropdownOpen"),i.classList.remove("dropdownOpen"),this._notifyCallbacks(n,"close")):n===t&&i.childElementCount>0&&(e.classList.add("dropdownOpen"),i.classList.add("dropdownOpen"),this._notifyCallbacks(n,"open"),this.setAlignment(e,i))}.bind(this)),WCF.Dropdown.Interactive.Handler.closeAll(),null===e}};return p}),define("WoltLab/WCF/Ui/Mobile",["enquire","Environment","Language","Dom/ChangeListener","Dom/Traverse","Ui/CloseOverlay"],function(e,t,n,i,r,a){"use strict";var o=null,l=!1,s=null,c=null,u={setup:function(){o=elByClass("buttonGroupNavigation"),s=elById("main"),c=elBySel("#main > div > div > .sidebar",s),t.touch()&&document.documentElement.classList.add("touch"),"desktop"!==t.platform()&&document.documentElement.classList.add("mobile"),e.register("screen and (max-width: 800px)",{match:this.enable.bind(this),unmatch:this.disable.bind(this),setup:this._init.bind(this),deferSetup:!0}),"microsoft"===t.browser()&&null!==c&&c.clientWidth>305&&this._fixSidebarIE()},enable:function(){l=!0,"microsoft"===t.browser()&&this._fixSidebarIE()},disable:function(){l=!1,"microsoft"===t.browser()&&this._fixSidebarIE()},_fixSidebarIE:function(){null!==c&&(c.style.setProperty("display","none"),c.style.removeProperty("display"))},_init:function(){this._initSidebarToggleButtons(),this._initSearchBar(),this._initButtonGroupNavigation(),a.add("WoltLab/WCF/Ui/Mobile",this._closeAllMenus.bind(this)),i.add("WoltLab/WCF/Ui/Mobile",this._initButtonGroupNavigation.bind(this))},_initSidebarToggleButtons:function(){if(null!==c){var e=s.classList.contains("sidebarOrientationLeft")?"Left":"";if(e=e?e:s.classList.contains("sidebarOrientationRight")?"Right":""){var t="wcf.global.sidebar.show"+e+"Sidebar";(t===n.get(t)||""===n.get(t))&&(t=elCreate("span"),t.className="icon icon16 fa-angle-double-"+e.toLowerCase());var i="wcf.global.sidebar.hide"+e+"Sidebar";(i===n.get(i)||""===n.get(i))&&(i=elCreate("span"),i.className="icon icon16 fa-angle-double-"+("Left"===e?"right":"left"));var r=elCreate("span");r.className="button small mobileSidebarToggleButton",r.addEventListener("click",function(){s.classList.add("mobileShowSidebar")}),t instanceof Element?r.appendChild(t):r.textContent=t;var a=elCreate("span");a.className="button small mobileSidebarToggleButton",a.addEventListener("click",function(){s.classList.remove("mobileShowSidebar")}),i instanceof Element?a.appendChild(i):a.textContent=i,elBySel(".content").appendChild(r),c.appendChild(a)}}},_initSearchBar:function(){var e=elBySel(".searchBar");e.addEventListener("click",function(){return l?(e.classList.add("searchBarOpen"),!1):!1}),s.addEventListener("click",function(){e.classList.remove("searchBarOpen")})},_initButtonGroupNavigation:function(){for(var e=0,t=o.length;t>e;e++){var n=o[e];if(!n.classList.contains("jsMobileButtonGroupNavigation")){n.classList.add("jsMobileButtonGroupNavigation");var i=elCreate("a");i.classList.add("dropdownLabel");var a=elCreate("span");a.className="icon icon24 fa-list",i.appendChild(a),i.addEventListener("click",function(e){var t=r.next(i);return null!==t?(t.classList.toggle("open"),e.stopPropagation(),!1):!0}),n.insertBefore(i,n.firstChild)}}},_closeAllMenus:function(){for(var e=elBySelAll(".jsMobileButtonGroupNavigation > ul.open"),t=0,n=e.length;n>t;t++)e[t].classList.remove("open")}};return u}),define("WoltLab/WCF/Event/Handler",["Core","Dictionary"],function(e,t){"use strict";var n=new t,i={add:function(i,r,a){if("function"!=typeof a)throw new TypeError("[WoltLab/WCF/Event/Handler] Expected a valid callback for '"+r+"@"+i+"'.");var o=n.get(i);void 0===o&&(o=new t,n.set(i,o));var l=o.get(r);void 0===l&&(l=new t,o.set(r,l));var s=e.getUuid();return l.set(s,a),s},fire:function(e,t,i){i=i||{};var r=n.get(e);if(void 0!==r){var a=r.get(t);void 0!==a&&a.forEach(function(e){e(i)})}},remove:function(e,t,i){var r=n.get(e);if(void 0!==r){var a=r.get(t);void 0!==a&&a["delete"](i)}},removeAll:function(e,t){"string"!=typeof t&&(t=void 0);var i=n.get(e);void 0!==i&&("undefined"==typeof t?n["delete"](e):i["delete"](t))}};return i}),define("WoltLab/WCF/Ui/TabMenu/Simple",["Dictionary","Dom/Traverse","Dom/Util","EventHandler"],function(e,t,n,i){"use strict";function r(t){this._container=t,this._containers=new e,this._isLegacy=null,this._tabs=new e}return r.prototype={validate:function(){if(!this._container.classList.contains("tabMenuContainer"))return!1;var e=t.childByTag(this._container,"NAV");if(null===e)return!1;var i=elByTag("li",e);if(null===i.length)return!1;for(var r,a,o=t.childrenByTag(this._container,"DIV"),l=0,s=o.length;s>l;l++)r=o[l],a=elAttr(r,"data-name"),a||(a=n.identify(r)),elAttr(r,"data-name",a),this._containers.set(a,r);for(var c,u=this._container.id,l=0,s=i.length;s>l;l++)if(c=i[l],a=this._getTabName(c)){if(this._tabs.has(a))throw new Error("Tab names must be unique, li[data-name='"+a+"'] (tab menu id: '"+u+"') exists more than once.");if(r=this._containers.get(a),void 0===r)throw new Error("Expected content element for li[data-name='"+a+"'] (tab menu id: '"+u+"').");if(r.parentNode!==this._container)throw new Error("Expected content element '"+a+"' (tab menu id: '"+u+"') to be a direct children.");if(1!==c.childElementCount||"A"!==c.children[0].nodeName)throw new Error("Expected exactly one <a> as children for li[data-name='"+a+"'] (tab menu id: '"+u+"').");this._tabs.set(a,c)}if(!this._tabs.size)throw new Error("Expected at least one tab (tab menu id: '"+u+"').");return this._isLegacy&&(elAttr(this._container,"data-is-legacy",!0),this._tabs.forEach(function(e,t){elAttr(e,"aria-controls",t)})),!0},init:function(e){e=e||null,this._tabs.forEach(function(t){e&&e.get(elAttr(t,"data-name"))===t||t.children[0].addEventListener("click",this._onClick.bind(this))}.bind(this));var t=null;if(!e){var n=window.location.hash.replace(/^#/,""),i=null;if(""!==n&&(i=this._tabs.get(n),i&&this._container.parentNode.classList.contains("tabMenuContainer")&&(t=this._container)),!i){var r=elAttr(this._container,"data-preselect");"true"!==r&&r||(r=!0),r===!0?this._tabs.forEach(function(e){i||e.previousElementSibling||(i=e)}):"false"!==r&&(i=this._tabs.get(r))}i&&(this._containers.forEach(function(e){e.classList.add("hidden")}),this.select(null,i,!0))}return t},select:function(e,t,n){if(t=t||this._tabs.get(e),!t){if(~~e==e){e=~~e;var r=0;this._tabs.forEach(function(n){r===e&&(t=n),r++})}if(!t)throw new Error("Expected a valid tab name, '"+e+"' given (tab menu id: '"+this._container.id+"').")}e=e||elAttr(t,"data-name");var a=elBySel("#"+this._container.id+" > nav > ul > li.active"),o=null;a&&(a.classList.remove("active"),o=this._containers.get(elAttr(a,"data-name")),o.classList.remove("active"),o.classList.add("hidden"),this._isLegacy&&(a.classList.remove("ui-state-active"),o.classList.remove("ui-state-active"))),t.classList.add("active");var l=this._containers.get(e);if(l.classList.add("active"),this._isLegacy&&(t.classList.add("ui-state-active"),l.classList.add("ui-state-active"),l.classList.remove("hidden")),!n){i.fire("com.woltlab.wcf.simpleTabMenu_"+this._container.id,"select",{active:t,activeName:e,previous:a,previousName:a?elAttr(a,"data-name"):null});var s=this._isLegacy&&"function"==typeof window.jQuery?window.jQuery:null;s&&s(this._container).trigger("wcftabsbeforeactivate",{newTab:s(t),oldTab:s(a),newPanel:s(l),oldPanel:s(o)}),window.history.replaceState(void 0,void 0,window.location.href.replace(/#[^#]+$/,"")+"#"+e)}},rebuild:function(){var t=new e;t.merge(this._tabs),this.validate(),this.init(t)},_onClick:function(e){e.preventDefault(),this.select(null,e.currentTarget.parentNode)},_getTabName:function(e){var t=elAttr(e,"data-name");return t||1===e.childElementCount&&"A"===e.children[0].nodeName&&e.children[0].href.match(/#([^#]+)$/)&&(t=RegExp.$1,null===elById(t)?t=null:(this._isLegacy=!0,elAttr(e,"data-name",t))),t},getContainers:function(){return this._containers},getTabs:function(){return this._tabs}},r}),define("WoltLab/WCF/Ui/TabMenu",["Dictionary","Dom/ChangeListener","Dom/Util","./TabMenu/Simple"],function(e,t,n,i){"use strict";var r=new e,a={setup:function(){this._init(),this._selectErroneousTabs(),t.add("WoltLab/WCF/Ui/TabMenu",this._init.bind(this))},_init:function(){for(var e,t,a,o,l=elBySelAll(".tabMenuContainer:not(.staticTabMenuContainer)"),s=0,c=l.length;c>s;s++)e=l[s],t=n.identify(e),r.has(t)||(o=new i(e),o.validate()&&(a=o.init(),r.set(t,o),a instanceof Element&&(o=this.getTabMenu(a.parentNode.id),o.select(a.id,null,!0))))},_selectErroneousTabs:function(){r.forEach(function(e){var t=!1;e.getContainers().forEach(function(n){!t&&elByClass("formError",n).length&&(t=!0,e.select(n.id))})})},getTabMenu:function(e){return r.get(e)}};return a}),define("WoltLab/WCF/Ui/FlexibleMenu",["Core","Dictionary","Dom/ChangeListener","Dom/Traverse","Dom/Util","Ui/SimpleDropdown"],function(e,t,n,i,r,a){"use strict";var o=new t,l=new t,s=new t,c=new t,u={setup:function(){null!==elById("mainMenu")&&this.register("mainMenu");var e=elBySel(".navigationHeader");null!==e&&this.register(r.identify(e)),window.addEventListener("resize",this.rebuildAll.bind(this)),n.add("WoltLab/WCF/Ui/FlexibleMenu",this.registerTabMenus.bind(this))},register:function(e){var t=elById(e);if(null===t)throw"Expected a valid element id, '"+e+"' does not exist.";if(!o.has(e)){var n=i.childByTag(t,"UL");if(null===n)throw"Expected an <ul> element as child of container '"+e+"'.";o.set(e,t),c.set(e,n),this.rebuild(e)}},registerTabMenus:function(){for(var e=elBySelAll(".tabMenuContainer:not(.jsFlexibleMenuEnabled), .messageTabMenu:not(.jsFlexibleMenuEnabled)"),t=0,n=e.length;n>t;t++){var a=e[t],o=i.childByTag(a,"NAV");null!==o&&(a.classList.add("jsFlexibleMenuEnabled"),this.register(r.identify(o)))}},rebuildAll:function(){o.forEach(function(e,t){this.rebuild(t)}.bind(this))},rebuild:function(t){var n=o.get(t);if(void 0===n)throw"Expected a valid element id, '"+t+"' is unknown.";var u=window.getComputedStyle(n),d=n.parentNode.clientWidth;d-=r.styleAsInt(u,"margin-left"),d-=r.styleAsInt(u,"margin-right");var h=c.get(t),f=i.childrenByTag(h,"LI"),p=l.get(t),m=0;if(void 0!==p){for(var g=0,v=f.length;v>g;g++){var b=f[g];b.classList.contains("dropdown")||b.style.removeProperty("display")}null!==p.parentNode&&(m=r.outerWidth(p))}var y=h.scrollWidth-m,w=[];if(y>d)for(var g=f.length-1;g>=0;g--){var b=f[g];if(!(b.classList.contains("dropdown")||b.classList.contains("active")||b.classList.contains("ui-state-active"))&&(w.push(b),b.style.setProperty("display","none"),h.scrollWidth<d))break}if(w.length){var C;if(void 0===p){p=elCreate("li"),p.className="dropdown jsFlexibleMenuDropdown";var _=elCreate("a");_.className="icon icon16 fa-list",p.appendChild(_),C=elCreate("ul"),C.classList.add("dropdownMenu"),p.appendChild(C),l.set(t,p),s.set(t,C),a.init(_)}else C=s.get(t);null===p.parentNode&&h.appendChild(p);var x=document.createDocumentFragment(),L=this;w.forEach(function(n){var i=elCreate("li");i.innerHTML=n.innerHTML,i.addEventListener("click",function(i){i.preventDefault(),e.triggerEvent(n.querySelector("a"),"click"),setTimeout(function(){L.rebuild(t)},59)}.bind(this)),x.appendChild(i)}),C.innerHTML="",C.appendChild(x)}else void 0!==p&&null!==p.parentNode&&p.parentNode.removeChild(p)}};return u}),define("WoltLab/WCF/Ui/Tooltip",["Environment","Dom/ChangeListener","Ui/Alignment"],function(e,t,n){"use strict";var i=null,r=null,a=null,o=null,l={setup:function(){"desktop"===e.platform()&&(o=elCreate("div"),elAttr(o,"id","balloonTooltip"),o.classList.add("balloonTooltip"),a=elCreate("span"),elAttr(a,"id","balloonTooltipText"),o.appendChild(a),r=elCreate("span"),r.classList.add("elementPointer"),r.appendChild(elCreate("span")),o.appendChild(r),document.body.appendChild(o),i=elByClass("jsTooltip"),this.init(),t.add("WoltLab/WCF/Ui/Tooltip",this.init.bind(this)))},init:function(){for(;i.length;){var e=i[0];e.classList.remove("jsTooltip");var t=elAttr(e,"title");t="string"==typeof t?t.trim():"",t.length&&(elAttr(e,"data-tooltip",t),e.removeAttribute("title"),e.addEventListener("mouseenter",this._mouseEnter.bind(this)),e.addEventListener("mouseleave",this._mouseLeave.bind(this)),e.addEventListener("click",this._mouseLeave.bind(this)))}},_mouseEnter:function(e){var t=e.currentTarget,i=elAttr(t,"title");return i="string"==typeof i?i.trim():"",""!==i&&(elAttr(t,"data-tooltip",i),t.removeAttribute("title")),i=elAttr(t,"data-tooltip"),o.style.removeProperty("top"),o.style.removeProperty("left"),i.length?(o.classList.add("active"),a.textContent=i,void n.set(o,t,{horizontal:"center",pointer:!0,pointerClassNames:["inverse"],vertical:"top"})):void o.classList.remove("active")},_mouseLeave:function(){o.classList.remove("active")}};return l}),define("WoltLab/WCF/Date/Picker",["DateUtil","Language","ObjectMap","Dom/ChangeListener","Ui/Alignment","WoltLab/WCF/Ui/CloseOverlay"],function(e,t,n,i,r,a){"use strict";var o=!1,l=0,s=new n,c=null,u=0,d=0,h=[],f=null,p=null,m=null,g=null,v=null,b=null,y=null,w=null,C=null,_=null,x={init:function(){this._setup();for(var t=elBySelAll('input[type="date"]:not(.inputDatePicker), input[type="datetime"]:not(.inputDatePicker)'),n=new Date,i=0,r=t.length;r>i;i++){var a=t[i];a.classList.add("inputDatePicker"),a.readOnly=!0;var o="datetime"===elAttr(a,"type");elAttr(a,"data-is-date-time",o);var l=null,c=elAttr(a,"value");elAttr(a,"value")&&(l=new Date(c),elAttr(a,"data-value",l.getTime()),c=e["formatDate"+(o?"Time":"")](l));var u=0===c.length;if(a.classList.contains("birthday")&&(elAttr(a,"data-min-date","100"),elAttr(a,"data-max-date","now")),this._initDateRange(a,n,!0),this._initDateRange(a,n,!1),elAttr(a,"data-min-date")===elAttr(a,"data-max-date"))throw new Error("Minimum and maximum date cannot be the same (element id '"+a.id+"').");a.type="text",a.value=c,elAttr(a,"data-empty",u),elAttr(a,"data-placeholder")&&elAttr(a,"placeholder",elAttr(a,"data-placeholder"));var d=elCreate("input");d.id=a.id+"DatePicker",d.name=a.name,d.type="hidden",null!==l&&(d.value=e.format(l,o?"c":"Y-m-d")),a.parentNode.insertBefore(d,a),a.removeAttribute("name"),a.addEventListener("click",_);var h=elCreate("div");h.className="inputAddon";var f=elCreate("a");f.className="inputSuffix",f.addEventListener("click",_),h.appendChild(f);var p=elCreate("span");p.className="icon icon16 fa-calendar",f.appendChild(p),a.parentNode.insertBefore(h,a),h.insertBefore(a,f),s.set(a,{shadow:d,isDateTime:o,isEmpty:u,onClose:null})}},_initDateRange:function(e,t,n){var i="data-"+(n?"min":"max")+"-date",r=e.hasAttribute(i)?elAttr(e,i).trim():"";if(r.match(/^(\d{4})-(\d{2})-(\d{2})$/))r=new Date(r).getTime();else if("now"===r)r=t.getTime();else if(r.match(/^\d{1,3}$/)){var a=new Date(t.getTime());a.setFullYear(a.getFullYear()+~~r*(n?-1:1)),r=a.getTime()}else if(r.match(/^datePicker-(.+)$/)){if(r=RegExp.$1,null===elById(r))throw new Error("Reference date picker identified by '"+r+"' does not exists (element id: '"+e.id+"').")}else r=new Date(n?1970:2038,0,1).getTime();elAttr(e,i,r)},_setup:function(){o||(o=!0,l=~~t.get("wcf.date.firstDayOfTheWeek"),_=this._open.bind(this),i.add("WoltLab/WCF/Date/Picker",this.init.bind(this)),a.add("WoltLab/WCF/Date/Picker",this._close.bind(this)))},_open:function(e){e.preventDefault(),e.stopPropagation(),this._createPicker();var t="INPUT"===e.currentTarget.nodeName?e.currentTarget:e.currentTarget.previousElementSibling;if(t!==c){c=t;var n,i=s.get(c),a=elAttr(c,"data-value");a?(n=new Date(+a),"Invalid Date"===n.toString()&&(n=new Date)):n=new Date,d=elAttr(c,"data-min-date"),d.match(/^datePicker-(.+)$/)&&(d=elById(RegExp.$1).getAttribute("data-value")),d=new Date(+d),u=elAttr(c,"data-max-date"),u.match(/^datePicker-(.+)$/)&&(u=elById(RegExp.$1).getAttribute("data-value")),u=new Date(+u),i.isDateTime&&(p.value=n.getHours(),m.value=n.getMinutes()),this._renderPicker(n.getDate(),n.getMonth(),n.getFullYear()),r.set(C,c,{pointer:!0})}},_close:function(){if(null!==C&&C.classList.contains("active")){C.classList.remove("active");var e=s.get(c);"function"==typeof e.onClose&&e.onClose(),c=null,d=0,u=0}},_renderPicker:function(e,t,n){this._renderGrid(e,t,n);for(var i="",r=d.getFullYear(),a=u.getFullYear();a>=r;r++)i+='<option value="'+r+'">'+r+"</option>";w.innerHTML=i,w.value=n,g.value=t,C.classList.add("active")},_renderGrid:function(e,t,n){var i,r=void 0!==e,a=void 0!==t;if(e=~~e||~~f.getAttribute("data-day"),t=~~t,n=~~n,a||n){var o=0!==n,s=document.createDocumentFragment();s.appendChild(f),a||(t=~~f.getAttribute("data-month")),n=n||~~f.getAttribute("data-year");var c=new Date(n+"-"+("0"+(t+1).toString()).slice(-2)+"-"+("0"+e.toString()).slice(-2));for(d>c?(n=d.getFullYear(),t=d.getMonth(),e=d.getDate(),g.value=t,w.value=n,o=!0):c>u&&(n=u.getFullYear(),t=u.getMonth(),e=u.getDate(),g.value=t,w.value=n,o=!0),c=new Date(n+"-"+("0"+(t+1).toString()).slice(-2)+"-01");c.getDay()!==l;)c.setDate(c.getDate()-1);for(var p,m=0;35>m;m++)i=h[m],i.textContent=c.getDate(),p=c.getMonth()===t,p&&(d>c?p=!1:c>u&&(p=!1)),i.classList[p?"remove":"add"]("otherMonth"),c.setDate(c.getDate()+1);if(elAttr(f,"data-month",t),elAttr(f,"data-year",n),C.insertBefore(s,y),!r&&(c=new Date(n,t,e),c.getDate()!==e)){for(;c.getMonth()!==t;)c.setDate(c.getDate()-1);e=c.getDate()}if(o){for(var m=0;12>m;m++){var _=g.children[m];_.disabled=n===d.getFullYear()&&_.value<d.getMonth()||n===u.getFullYear()&&_.value>u.getMonth()}var x=new Date(n+"-"+("0"+(t+1).toString()).slice(-2)+"-01");x.setMonth(x.getMonth()+1),v.classList[u>x?"add":"remove"]("active");var L=new Date(n+"-"+("0"+(t+1).toString()).slice(-2)+"-01");L.setDate(L.getDate()-1),b.classList[L>d?"add":"remove"]("active")}}if(e){for(var m=0;35>m;m++)i=h[m],i.classList[i.classList.contains("otherMonth")||~~i.textContent!==e?"remove":"add"]("active");elAttr(f,"data-day",e)}this._formatValue()},_formatValue:function(){var t,n,i,r=s.get(c);"true"!==elAttr(c,"data-empty")&&(r.isDateTime?(t=new Date(elAttr(f,"data-year"),elAttr(f,"data-month"),elAttr(f,"data-day"),p.value,m.value),n=e.formatDateTime(t),i=e.format(t,"c")):(t=new Date(elAttr(f,"data-year"),elAttr(f,"data-month"),elAttr(f,"data-day")),n=e.formatDate(t),i=e.format(t,"Y-m-d")),c.value=n,elAttr(c,"data-value",t.getTime()),r.shadow.value=i)},_createPicker:function(){if(null===C){C=elCreate("div"),C.className="datePicker",C.addEventListener("click",function(e){e.stopPropagation()});var n=elCreate("span");n.className="elementPointer",n.innerHTML="<span></span>",C.appendChild(n);var i=elCreate("header");C.appendChild(i),b=elCreate("a"),b.className="icon icon16 fa-arrow-left previous",b.addEventListener("click",this.previousMonth.bind(this)),i.appendChild(b);var r=elCreate("span");i.appendChild(r),g=elCreate("select"),g.className="month",g.addEventListener("change",this._changeMonth.bind(this)),r.appendChild(g);for(var a="",o=t.get("__monthsShort"),s=0;12>s;s++)a+='<option value="'+s+'">'+o[s]+"</option>";g.innerHTML=a,w=elCreate("select"),w.className="year",w.addEventListener("change",this._changeYear.bind(this)),r.appendChild(w),v=elCreate("a"),v.className="icon icon16 fa-arrow-right next",v.addEventListener("click",this.nextMonth.bind(this)),i.appendChild(v),f=elCreate("ul"),C.appendChild(f);var c=elCreate("li");c.className="weekdays",f.appendChild(c);for(var u,d=t.get("__daysShort"),s=0;7>s;s++){var _=s+l;_>6&&(_-=7),u=elCreate("span"),u.textContent=d[_],c.appendChild(u)}for(var x,L,E=this._click.bind(this),s=0;5>s;s++){L=elCreate("li"),f.appendChild(L);for(var T=0;7>T;T++)x=elCreate("a"),x.addEventListener("click",E),h.push(x),L.appendChild(x)}y=elCreate("footer"),C.appendChild(y),p=elCreate("select"),p.className="hour",p.addEventListener("change",this._formatValue.bind(this));for(var k="",A=new Date(2e3,0,1),S=t.get("wcf.date.timeFormat").replace(/:/,"").replace(/[isu]/g,""),s=0;24>s;s++)A.setHours(s),k+='<option value="'+s+'">'+e.format(A,S)+"</option>";p.innerHTML=k,y.appendChild(p),y.appendChild(document.createTextNode(" : ")),m=elCreate("select"),m.className="minute",m.addEventListener("change",this._formatValue.bind(this));for(var k="",s=0;60>s;s++)k+='<option value="'+s+'">'+(10>s?"0"+s.toString():s)+"</option>";m.innerHTML=k,y.appendChild(m),document.body.appendChild(C)}},previousMonth:function(){"0"===g.value?(g.value=11,w.value=~~w.value-1):g.value=~~g.value-1,this._renderGrid(void 0,g.value,w.value)},nextMonth:function(){"11"===g.value?(g.value=0,w.value=~~w.value+1):g.value=~~g.value+1,this._renderGrid(void 0,g.value,w.value)},_changeMonth:function(e){this._renderGrid(void 0,e.currentTarget.value)},_changeYear:function(e){this._renderGrid(void 0,void 0,e.currentTarget.value)},_click:function(e){e.currentTarget.classList.contains("otherMonth")||(elAttr(c,"data-empty",!1),this._renderGrid(e.currentTarget.textContent),this._close())},getDate:function(e){return e=this._getElement(e),e.hasAttribute("data-value")?new Date(+e.getAttribute("data-value")):null},setDate:function(t,n){t=this._getElement(t);var i=s.get(t);elAttr(t,"data-value",n.getTime()),t.value=e["formatDate"+(i.isDateTime?"Time":"")](n),i.shadow.value=e.format(n,i.isDateTime?"c":"Y-m-d")},clear:function(e){e=this._getElement(e);var t=s.get(e);e.removeAttribute("data-value"),e.value="",t.isEmpty=!0,t.shadow.value=""},destroy:function(e){e=this._getElement(e);var t=s.get(e),n=e.parentNode;n.parentNode.insertBefore(e,n),n.parentNode.removeChild(n),elAttr(e,"type","date"+(t.isDateTime?"time":"")),e.value=t.shadow.value,e.removeAttribute("data-value"),e.removeEventListener("click",_),t.shadow.parentNode.removeChild(t.shadow),e.classList.remove("inputDatePicker"),e.readOnly=!1,s["delete"](e)},setCloseCallback:function(e,t){e=this._getElement(e),s.get(e).onClose=t},_getElement:function(e){if("string"==typeof e&&(e=elById(e)),!(e instanceof Element&&e.classList.contains("inputDatePicker")&&s.has(e)))throw new Error("Expected a valid date picker input element or id.");return e}};return window.__wcf_bc_datePicker=x,x}),define("WoltLab/WCF/Bootstrap",["favico","enquire","perfect-scrollbar","WoltLab/WCF/Date/Time/Relative","Ui/SimpleDropdown","WoltLab/WCF/Ui/Mobile","WoltLab/WCF/Ui/TabMenu","WoltLab/WCF/Ui/FlexibleMenu","Ui/Dialog","WoltLab/WCF/Ui/Tooltip","WoltLab/WCF/Language","WoltLab/WCF/Environment","WoltLab/WCF/Date/Picker"],function(e,t,n,i,r,a,o,l,s,c,u,d,h){"use strict";window.Favico=e,window.enquire=t,null==window.WCF&&(window.WCF={}),null==window.WCF.Language&&(window.WCF.Language={}),window.WCF.Language.get=u.get,window.WCF.Language.add=u.add,window.WCF.Language.addObject=u.addObject;var f={setup:function(){d.setup(),i.setup(),h.init(),r.setup(),a.setup(),o.setup(),l.setup(),s.setup(),c.setup();for(var e=elBySelAll("form[method=get]"),t=0,n=e.length;n>t;t++)e[t].setAttribute("method","post");"microsoft"===d.browser()&&(window.onbeforeunload=function(){});var u=0;u=window.setInterval(function(){"function"==typeof window.jQuery&&(window.clearInterval(u),window.jQuery.holdReady(!1))},20)}};return f}),define("WoltLab/WCF/Controller/Sitemap",["Ajax","EventHandler","Language","Dom/Util","Ui/Dialog","Ui/TabMenu"],function(e,t,n,i,r,a){"use strict";var o=[],l={setup:function(){elById("sitemap").addEventListener("click",this._click.bind(this))},_click:function(e){e.preventDefault(),r.open(this)},_ajaxSetup:function(){return{data:{actionName:"getSitemap",className:"wcf\\data\\sitemap\\SitemapAction"}}},_ajaxSuccess:function(e){o.push(e.returnValues.sitemapName),elById("sitemap_"+e.returnValues.sitemapName).innerHTML=e.returnValues.template},_dialogSetup:function(){return{id:"sitemapDialog",options:{disableContentPadding:!0,title:n.get("wcf.page.sitemap")},source:{data:{actionName:"getSitemap",className:"wcf\\data\\sitemap\\SitemapAction"},after:function(e,n){o.push(n.returnValues.sitemapName);var r=elBySel(".tabMenuContainer",e),l=i.identify(r);a.getTabMenu(l).select("sitemap_"+n.returnValues.sitemapName),t.add("com.woltlab.wcf.simpleTabMenu_"+l,"select",this.showTab.bind(this))}.bind(this)}}},showTab:function(t){var n=elAttr(t.active,"data-name").replace(/^sitemap_/,"");-1===o.indexOf(n)&&e.api(this,{parameters:{sitemapName:n}})}};return l}),define("WoltLab/WCF/Controller/Style/Changer",["Ajax","Language","Ui/Dialog"],function(e,t,n){"use strict";var i={setup:function(){var e=elBySel("#footerNavigation > ul.navigationItems");if(null!==e){var n=elCreate("li");n.classList.add("styleChanger"),n.addEventListener("click",this.showDialog.bind(this));var i=elCreate("a");elAttr(i,"href","#"),i.textContent=t.get("wcf.style.changeStyle"),n.appendChild(i),e.appendChild(n)}},showDialog:function(e){e.preventDefault(),n.open(this)},_dialogSetup:function(){return{id:"styleChanger",options:{disableContentPadding:!0,title:t.get("wcf.style.changeStyle")},source:{data:{actionName:"getStyleChooser",className:"wcf\\data\\style\\StyleAction"},after:function(e){for(var t=elBySelAll(".styleList > li",e),n=0,i=t.length;i>n;n++){var r=t[n];r.classList.add("pointer"),r.addEventListener("click",this._click.bind(this))}}.bind(this)}}},_click:function(t){t.preventDefault(),e.apiOnce({data:{actionName:"changeStyle",className:"wcf\\data\\style\\StyleAction",objectIDs:[elAttr(t.currentTarget,"data-style-id")]},success:function(){window.location.reload()}})}};return i}),define("WoltLab/WCF/Controller/Popover",["Ajax","Dictionary","Environment","Dom/ChangeListener","Dom/Util","Ui/Alignment"],function(e,t,n,i,r,a){"use strict";var o=null,l=0,s=new t,c=new t,u=new t,d=null,h=!1,f=null,p=null,m=null,g=null,v=null,b=null,y=null,w=null,C=null,_=0,x=1,L=2,E=800,T=500,k={_setup:function(){if(null===m){m=elCreate("div"),m.classList.add("popover"),g=elCreate("div"),g.classList.add("popoverContent"),m.appendChild(g);var e=elCreate("span");e.classList.add("elementPointer"),e.appendChild(elCreate("span")),m.appendChild(e),v=elCreate("span"),v.className="icon icon32 fa-spinner",m.appendChild(v),document.body.appendChild(m),b=this._hide.bind(this),w=this._mouseEnter.bind(this),C=this._mouseLeave.bind(this),m.addEventListener("mouseenter",this._popoverMouseEnter.bind(this)),m.addEventListener("mouseleave",C),g.addEventListener("transitionend",function(e){"height"===e.propertyName&&g.classList.remove("loading")}),m.addEventListener("transitionend",this._clearContent.bind(this)),window.addEventListener("beforeunload",function(){h=!0,null!==f&&window.clearTimeout(f),this._hide(!0)}.bind(this)),i.add("WoltLab/WCF/Controller/Popover",this._init.bind(this))}},init:function(e){"desktop"===n.platform()&&(e.attributeName=e.attributeName||"data-object-id",e.legacy=e.legacy===!0,this._setup(),u.has(e.identifier)||(u.set(e.identifier,{attributeName:e.attributeName,elements:e.legacy?e.className:elByClass(e.className),legacy:e.legacy,loadCallback:e.loadCallback}),this._init(e.identifier)))},_init:function(e){"string"==typeof e&&e.length?this._initElements(u.get(e),e):u.forEach(this._initElements.bind(this))},_initElements:function(e,t){for(var n=e.legacy?elBySelAll(e.elements):e.elements,i=0,a=n.length;a>i;i++){var o=n[i],l=r.identify(o);if(s.has(l))return;var u=e.legacy?l:~~o.getAttribute(e.attributeName);if(0!==u){o.addEventListener("mouseenter",w),o.addEventListener("mouseleave",C),"A"===o.nodeName&&elAttr(o,"href")&&o.addEventListener("click",b);var d=t+"-"+u;elAttr(o,"data-cache-id",d),c.set(l,{element:o,identifier:t,objectId:u}),s.has(d)||s.set(t+"-"+u,{content:null,state:_})}}},setContent:function(e,t,n){var i=e+"-"+t,a=s.get(i);if(void 0===a)throw new Error("Unable to find element for object id '"+t+"' (identifier: '"+e+"').");if(a.content=r.createFragmentFromHtml(n),a.state=L,o){var l=c.get(o).element;elAttr(l,"data-cache-id")===i&&this._show()}},_mouseEnter:function(e){if(!h){null!==f&&(window.clearTimeout(f),f=null);var t=r.identify(e.currentTarget);o===t&&null!==p&&(window.clearTimeout(p),p=null),d=t,f=window.setTimeout(function(){f=null,d===t&&this._show()}.bind(this),E)}},_mouseLeave:function(){d=null,null===p&&(null===y&&(y=this._hide.bind(this)),null!==p&&window.clearTimeout(p),p=window.setTimeout(y,T))},_popoverMouseEnter:function(){null!==p&&(window.clearTimeout(p),p=null)
+},_show:function(){null!==p&&(window.clearTimeout(p),p=null);var e=null!==o&&o!==d;m.classList.contains("active")&&this._hide(e),o=d;var t=c.get(o),n=s.get(elAttr(t.element,"data-cache-id"));n.state===L?g.appendChild(n.content):n.state===_&&g.classList.add("loading"),this._rebuild(o),n.state===_&&(n.state=x,u.get(t.identifier).loadCallback(t.objectId,this))},_hide:function(e){null!==p&&(window.clearTimeout(p),p=null),m.classList.remove("active"),"boolean"==typeof e&&e===!0&&(m.classList.add("disableAnimation"),m.offsetHeight,this._clearContent())},_clearContent:function(){if(o&&g.childElementCount&&!m.classList.contains("active")){for(var e=s.get(c.get(o).element.getAttribute("data-cache-id"));g.childNodes.length;)e.content.appendChild(g.childNodes[0]);g.style.removeProperty("height")}},_rebuild:function(){if(!m.classList.contains("active")){if(m.classList.add("active"),m.classList.remove("disableAnimation"),g.classList.contains("loading"))if(0===g.childElementCount)0===l&&(l=g.offsetHeight),g.style.setProperty("height",l+"px");else{g.style.removeProperty("height");var e=g.offsetHeight;g.style.setProperty("height",l+"px"),g.offsetHeight,g.style.setProperty("height",e+"px")}a.set(m,c.get(o).element,{pointer:!0,vertical:"top",verticalOffset:3})}},_ajaxSetup:function(){return{}},ajaxApi:function(t,n,i){if("function"!=typeof n)throw new TypeError("Expected a valid callback for parameter 'success'.");e.api(this,t,n,i)}};return k}),define("WoltLab/WCF/BootstrapFrontend",["Ajax","WoltLab/WCF/Bootstrap","WoltLab/WCF/Controller/Sitemap","WoltLab/WCF/Controller/Style/Changer","WoltLab/WCF/Controller/Popover"],function(e,t,n,i,r){"use strict";var a={setup:function(e){t.setup(),n.setup(),e.styleChanger&&i.setup(),this._initUserPopover(),this._invokeBackgroundQueue(e.backgroundQueueUrl)},_initUserPopover:function(){r.init({attributeName:"data-user-id",className:"userLink",identifier:"com.woltlab.wcf.user",loadCallback:function(e,t){var n=function(n){t.setContent("com.woltlab.wcf.user",e,n.returnValues.template)};t.ajaxApi({actionName:"getUserProfile",className:"wcf\\data\\user\\UserProfileAction",objectIDs:[e]},n,n)}})},_invokeBackgroundQueue:function(t){Math.random()<.1&&e.apiOnce({url:t,ignoreError:!0,silent:!0})}};return a}),define("WoltLab/WCF/List",[],function(){"use strict";function e(){this._set=t?new Set:[]}var t=objOwns(window,"Set")&&"function"==typeof window.Set;return e.prototype={add:function(e){t?this._set.add(e):this.has(e)||this._set.push(e)},clear:function(){t?this._set.clear():this._set=[]},"delete":function(e){if(t)return this._set["delete"](e);var n=this._set.indexOf(n);return-1===n?!1:(this._set.splice(n,1),!0)},forEach:function(e){if(t)this._set.forEach(e);else for(var n=0,i=this._set.length;i>n;n++)e(this._set[n])},has:function(e){return t?this._set.has(e):-1!==this._set.indexOf(e)}},Object.defineProperty(e.prototype,"size",{enumerable:!1,configurable:!0,get:function(){return _hasMap?this._set.size:this._set.length}}),e}),define("WoltLab/WCF/Ajax/Jsonp",["Core"],function(e){"use strict";var t={send:function(t,n,i,r){if(t="string"==typeof t?t.trim():"",0===t.length)throw new Error("Expected a non-empty string for parameter 'url'.");if("function"!=typeof n)throw new TypeError("Expected a valid callback function for parameter 'success'.");r=e.extend({parameterName:"callback",timeout:10},r||{});var a="wcf_jsonp_"+e.getUuid().replace(/-/g,"").substr(0,8),o=window.setTimeout(function(){window[a]=function(){},"function"==typeof i&&i()},1e3*(~~r.timeout||10));window[a]=function(){window.clearTimeout(o),n.apply(null,arguments)},t+=-1===t.indexOf("?")?"?":"&",t+=r.parameterName+"="+a;var l=elCreate("script");l.async=!0,elAttr(l,"src",t),document.head.appendChild(l)}};return t}),define("WoltLab/WCF/Bbcode/FromHtml",["EventHandler","StringUtil","Dom/Traverse"],function(e,t,n){"use strict";function i(e,t){var n=e[t?"previousSibling":"nextSibling"];return null!==n&&n.nodeType===Node.TEXT_NODE&&/\s$/.test(n.textContent)?!1:!0}var r=[],a={},o=[],l={convert:function(t){t.length&&this._setup();var n=elCreate("div");n.innerHTML=t;for(var i=elByTag("P",n);i.length;)i[0].outerHTML=i[0].innerHTML;for(i=elByTag("BR",n);i.length;)i[0].outerHTML="\n";var a=this._preserveSourceElements(n);e.fire("com.woltlab.wcf.bbcode.fromHtml","beforeConvert",{container:n});for(var o=0,l=r.length;l>o;o++)this._convert(n,r[o]);for(e.fire("com.woltlab.wcf.bbcode.fromHtml","afterConvert",{container:n}),this._restoreSourceElements(n,a),i=elByTag("*",n);i.length;)i[0].outerHTML=i[0].innerHTML;return t=this._convertSpecials(n.innerHTML)},_preserveSourceElements:function(e){for(var t,n,i=[],r=0,a=o.length;a>r;r++){t=elBySelAll(o[r].selector,e),n=[];for(var l=0,s=t.length;s>l;l++)this._preserveSourceElement(t[l],n);i.push(n)}return i},_preserveSourceElement:function(e,t){var n=elCreate("var");elAttr(n,"data-source","wcf"),e.parentNode.insertBefore(n,e);var i=document.createDocumentFragment();i.appendChild(e),t.push({fragment:i,placeholder:n})},_restoreSourceElements:function(e,t){for(var n,i,r,a=0,l=t.length;l>a;a++)if(i=t[a],0!==i.length)for(var s=0,c=i.length;c>s;s++)n=i[s],r=n.placeholder,r.parentNode.insertBefore(n.fragment,r),o[a].callback(r.previousElementSibling),r.parentNode.removeChild(r)},_convertSpecials:function(e){return e=e.replace(/&amp;/g,"&"),e=e.replace(/&lt;/g,"<"),e=e.replace(/&gt;/g,">")},_setup:function(){r.length||(r=[{tagName:"STRONG",bbcode:"b"},{tagName:"DEL",bbcode:"s"},{tagName:"EM",bbcode:"i"},{tagName:"SUB",bbcode:"sub"},{tagName:"SUP",bbcode:"sup"},{tagName:"U",bbcode:"u"},{tagName:"KBD",bbcode:"tt"},{tagName:"A",callback:this._convertUrl.bind(this)},{tagName:"IMG",callback:this._convertImage.bind(this)},{tagName:"LI",callback:this._convertListItem.bind(this)},{tagName:"OL",callback:this._convertList.bind(this)},{tagName:"TABLE",callback:this._convertTable.bind(this)},{tagName:"UL",callback:this._convertList.bind(this)},{tagName:"BLOCKQUOTE",callback:this._convertBlockquote.bind(this)},{tagName:"SPAN",callback:this._convertSpan.bind(this)},{tagName:"DIV",callback:this._convertDiv.bind(this)}],a={span:[{style:"color",callback:this._convertInlineColor.bind(this)},{style:"font-size",callback:this._convertInlineFontSize.bind(this)},{style:"font-family",callback:this._convertInlineFontFamily.bind(this)}],div:[{style:"text-align",callback:this._convertInlineTextAlign.bind(this)}]},o=[{selector:"div.codeBox",callback:this._convertSourceCodeBox.bind(this)}],e.fire("com.woltlab.wcf.bbcode.fromHtml","init",{converter:r,inlineConverter:a,sourceConverter:o}))},_convert:function(e,t){if("function"==typeof t)return void t(e);for(var n,i=elByTag(t.tagName,e);i.length;)n=i[0],t.bbcode?n.outerHTML="["+t.bbcode+"]"+n.innerHTML+"[/"+t.bbcode+"]":t.callback(n)},_convertBlockquote:function(e){var i=elAttr(e,"data-author"),r=elAttr(e,"cite"),a="[quote]";i&&(i=t.escapeHTML(i).replace(/(\\)?'/g,function(e,t){return t?e:"\\'"}),a=r?"[quote='"+i+"','"+t.escapeHTML(r)+"']":"[quote='"+i+"']");var o=n.childByTag(e,"HEADER");null!==o&&e.removeChild(o);for(var l=n.childrenByTag(e,"DIV"),s=0,c=l.length;c>s;s++)l[s].outerHTML=l[s].innerHTML+"\n";e.outerHTML=a+e.innerHTML.replace(/^\n*/,"").replace(/\n*$/,"")+"[/quote]\n"},_convertImage:function(e){if(e.classList.contains("smiley"))return void(e.outerHTML=(i(e,!0)?" ":"")+elAttr(e,"alt")+(i(e,!1)?" ":""));var t=e.style.getPropertyValue("float")||"none",n=e.style.getPropertyValue("width");if(n="string"==typeof n?~~n.replace(/px$/,""):0,e.classList.contains("redactorEmbeddedAttachment")){var r=elAttr(e,"data-attachment-id");e.outerHTML=n>0?"[attach="+r+","+t+","+n+"][/attach]":"none"!==t?"[attach="+r+","+t+"][/attach]":"[attach="+r+"][/attach]"}else{var a=e.src.trim();e.outerHTML=n>0?"[img='"+a+"',"+t+","+n+"][/img]":"none"!==t?"[img='"+a+"',"+t+"][/img]":"[img]"+a+"[/img]"}},_convertList:function(e){var t;if("OL"===e.nodeName)t="[list=1]";else{var n=e.style.getPropertyValue("list-style-type")||"";t=""===n?"[list]":"[list="+("lower-latin"===n?"a":n)+"]"}e.outerHTML=t+e.innerHTML+"[/list]"},_convertListItem:function(e){e.outerHTML="UL"!==e.parentNode.nodeName&&"OL"!==e.parentNode.nodeName?e.innerHTML:"[*]"+e.innerHTML},_convertSpan:function(e){if(e.style.length||e.className)for(var t,n,i=0,r=a.span.length;r>i;i++)t=a.span[i],t.style?(n=e.style.getPropertyValue(t.style)||"",n&&t.callback(e,n)):e.classList.contains(t.className)&&t.callback(e);e.outerHTML=e.innerHTML},_convertDiv:function(e){if(e.className.length||e.style.length)for(var t,n,i=0,r=a.div.length;r>i;i++)t=a.div[i],t.className&&e.classList.contains(t.className)?t.callback(e):t.style&&(n=e.style.getPropertyValue(t.style)||"",n&&t.callback(e,n));e.outerHTML=e.innerHTML},_convertInlineColor:function(e,t){if(t.match(/^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/i)){var n=RegExp.$1,i=RegExp.$2,r=RegExp.$3,a="0123456789ABCDEF";t="#"+(a.charAt((n-n%16)/16)+""+a.charAt(n%16))+(a.charAt((i-i%16)/16)+""+a.charAt(i%16))+(a.charAt((r-r%16)/16)+""+a.charAt(r%16))}e.innerHTML="[color="+t+"]"+e.innerHTML+"[/color]"},_convertInlineFontSize:function(e,t){t.match(/^(\d+)pt$/)?t=RegExp.$1:t.match(/^(\d+)(px|em|rem|%)$/)?(t=window.getComputedStyle(t).fontSize.replace(/^(\d+).*$/,"$1"),t=Math.round(t)):t="",t&&(t=Math.min(Math.max(t,8),36),e.innerHTML="[size="+t+"]"+e.innerHTML+"[/size]")},_convertInlineFontFamily:function(e,t){e.innerHTML="[font="+t.replace(/'/g,"")+"]"+e.innerHTML+"[/font]"},_convertInlineTextAlign:function(e,t){-1!==["center","justify","left","right"].indexOf(t)&&(e.innerHTML="[align="+t+"]"+e.innerHTML+"[/align]")},_convertTable:function(e){for(var t=elByTag("TD",e);t.length;)t[0].outerHTML="[td]"+t[0].innerHTML+"[/td]\n";for(t=elByTag("TR",e);t.length;)t[0].outerHTML="\n[tr]\n"+t[0].innerHTML+"[/tr]";var i=n.childByTag(e,"TBODY"),r=null===i?e.innerHTML:i.innerHTML;e.outerHTML="\n[table]"+r+"\n[/table]\n"},_convertUrl:function(e){var t=e.textContent.trim(),n=e.href.trim(),i="url";return""===n||""===t?void(e.outerHTML=e.innerHTML):(0===n.indexOf("mailto:")&&(n=n.substr(7),i="email"),void(e.outerHTML=n===t?"["+i+"]"+n+"[/"+i+"]":"["+i+"='"+n+"']"+e.innerHTML+"[/"+i+"]"))},_convertSourceCodeBox:function(e){var t=elAttr(e,"data-filename").trim()||"",i=elAttr(e,"data-highlighter");window.dtdesign=e;for(var r=n.childByTag(e.children[0],"OL"),a=~~r.getAttribute("start")||1,o="",l=0,s=r.childElementCount;s>l;l++)o&&(o+="\n"),o+=r.children[l].textContent;var c="[code='"+i+"',"+a+",'"+t+"']";e.outerHTML=c+o+"[/code]"}};return l}),define("WoltLab/WCF/Bbcode/Parser",[],function(){"use strict";var e={parse:function(e){var t=this._splitTags(e);return this._buildLinearTree(t),t},_splitTags:function(e){for(var t,n,i=__REDACTOR_BBCODES.join("|"),r="(\\[(?:/(?:"+i+")|(?:"+i+")(?:=(?:\\'[^\\'\\\\]*(?:\\\\.[^\\'\\\\]*)*\\'|[^,\\]]*)(?:,(?:\\'[^\\'\\\\]*(?:\\\\.[^\\'\\\\]*)*'|[^,\\]]*))*)?)\\])",a=new RegExp("^"+r+"$","i"),o=e.split(new RegExp(r,"i")),l=[],s=0,c=o.length;c>s;s++)t=o[s],""!==t&&(t.match(a)?(n={name:"",closing:!1,attributes:[],source:t},"/"===t[1]?(n.name=t.substring(2,t.length-1),n.closing=!0):t.match(/^\[([a-z0-9]+)=?(.*)\]$/i)&&(n.name=RegExp.$1,RegExp.$2&&(n.attributes=this._parseAttributes(RegExp.$2))),l.push(n)):l.push(t));return l},_buildLinearTree:function(e){for(var t,n,i=[],r="",a=0;a<e.length;a++)if(t=e[a],"object"==typeof t){if(r.length&&(t.name!==r||!t.closing)){e[a]=t.source;continue}if(t.closing){if(this._hasOpenTag(i,t.name)){n=this._closeUnclosedTags(e,i,t.name);for(var o=0,l=n.length;l>o;o++)e.splice(a,n[o]),a++;i.pop().pair=a}else e[a]=t.source;r===t.name&&(r="")}else i.push(t),-1!==__REDACTOR_SOURCE_BBCODES.indexOf(t.name)&&(r=t.name)}this._closeUnclosedTags(e,i,"")},_closeUnclosedTags:function(e,t,n){for(var i,r,a=[],o=t.length-1;o>=0&&(i=t[o],i.name!==n);o--)r={name:i.name,closing:!0,attributes:i.attributes.slice(),source:"[/"+i.name+"]"},i.pair=e.length,e.push(r),t.pop(),a.push({name:i.name,closing:!1,attributes:i.attributes.slice(),source:i.source});return a.reverse()},_hasOpenTag:function(e,t){for(var n=e.length-1;n>=0;n--)if(e[n].name===t)return!0;return!1},_parseAttributes:function(e){for(var t,n=e.split(/(?:^|,)('[^'\\\\]*(?:\\\\.[^'\\\\]*)*'|[^,]*)/g),i=[],r=0,a=n.length;a>r;r++)t=n[r],""!==t&&i.push("'"===t.charAt(0)&&"'"===t.substr(-1)?t.substring(1,t.length-1).trim():t.trim());return i}};return e}),define("WoltLab/WCF/Bbcode/ToHtml",["Core","EventHandler","Language","StringUtil","WoltLab/WCF/Bbcode/Parser"],function(e,t,n,i,r){"use strict";function a(e){return e&&e==~~e}function o(e){return-1!==e.indexOf(".")||!a(e)&&!l(e)}function l(e){return objOwns(__REDACTOR_CODE_HIGHLIGHTERS,e)}var s=null,c={},u=[],d=[],h={convert:function(n,i){c=e.extend({attachments:{images:{},thumbnailUrl:"",url:""}},i),this._convertSpecials(n);var a=r.parse(n);a.length&&this._initBBCodes(),t.fire("com.woltlab.wcf.bbcode.toHtml","beforeConvert",{stack:a});for(var o,l,s=0,u=a.length;u>s;s++)o=a[s],"object"==typeof o&&(l=this._convert(a,o,s),Array.isArray(l)?(a[s]=null===l[0]?o.source:l[0],a[o.pair]=null===l[1]?a[o.pair].source:l[1]):a[s]=l);return t.fire("com.woltlab.wcf.bbcode.toHtml","afterConvert",{stack:a}),n=a.join(""),n=n.replace(/\n/g,"<br>")},_convertSpecials:function(e){return e=e.replace(/&/g,"&amp;"),e=e.replace(/</g,"&lt;"),e=e.replace(/>/g,"&gt;")},_initBBCodes:function(){null===s&&(s={b:"strong",i:"em",u:"u",s:"del",sub:"sub",sup:"sup",table:"table",td:"td",tr:"tr",tt:"kbd",align:this._convertAlignment.bind(this),attach:this._convertAttachment.bind(this),color:this._convertColor.bind(this),code:this._convertCode.bind(this),email:this._convertEmail.bind(this),list:this._convertList.bind(this),quote:this._convertQuote.bind(this),size:this._convertSize.bind(this),url:this._convertUrl.bind(this),img:this._convertImage.bind(this)},u=["quote","table","td","tr"],d=["table","td","tr"],t.fire("com.woltlab.wcf.bbcode.toHtml","init",{bbcodes:s,removeNewlineAfter:u,removeNewlineBefore:d}))},_convert:function(e,t,n){var i,r=s[t.name];return void 0===r?[null,null]:(-1!==u.indexOf(t.name)&&(i=e[n+1],"string"==typeof i&&(e[n+1]=i.replace(/^\n/,"")),e.length>t.pair+1&&(i=e[t.pair+1],"string"==typeof i&&(e[t.pair+1]=i.replace(/^\n/,"")))),-1!==d.indexOf(t.name)&&(n-1>=0&&(i=e[n-1],"string"==typeof i&&(e[n-1]=i.replace(/\n$/,""))),i=e[t.pair-1],"string"==typeof i&&(e[t.pair-1]=i.replace(/\n$/,""))),this._convertSmilies(e),"string"==typeof r?["<"+r+">","</"+r+">"]:r(e,t,n))},_convertAlignment:function(e,t){var n=t.attributes.length?t.attributes[0]:"";return-1===["center","justify","left","right"].indexOf(n)?[null,null]:['<div style="text-align: '+n+'">',"</div>"]},_convertAttachment:function(e,t){var n=0,i=t.attributes,r=i.length;if(c.attachments.url?r>0&&(n=~~i[0],c.attachments.images.hasOwnProperty(n)||(r=0)):r=0,0===r)return[null,null];var a=~~c.attachments.images[n].height,o=~~c.attachments.images[n].width,l=["max-height: "+a+"px","max-width: "+o+"px"];r>1&&("left"===t.attributes[1]||"right"===i[1])&&(l.push("float: "+i[1]),l.push("margin: "+("left"===i[1]?"0 15px 7px 0":"0 0 7px 15px")));var s=c.attachments.thumbnailUrl;return r>2&&(width=~~i[2]||0,width&&(width>o&&(width=o),l.push("width: "+width+"px"),s=c.attachments.url)),['<img src="'+s.replace(/987654321/,n)+'" class="redactorEmbeddedAttachment redactorDisableResize" data-attachment-id="'+n+'"'+(l.length?' style="'+l.join(";")+'"':"")+">",""]},_convertCode:function(e,t,n){var r=t.attributes,s="",c="auto",u=0;switch(r.length){case 1:a(r[0])?u=~~r[0]:o(r[0])?s=r[0]:l(r[0])&&(c=r[0]);break;case 2:a(r[0])?(u=~~r[0],l(r[1])?c=r[1]:o(r[1])&&(s=r[1])):(l(r[0])&&(c=r[0]),o(r[1])&&(s=r[1]));break;case 3:l(r[0])&&(c=r[0]),a(r[1])&&(u=~~r[1]),o(r[2])&&(s=r[2])}for(var d,h,f=!0,p=-1,m=n+1;m<t.pair;m++){if(h=e[m],""===h.trim()){if(f){e[m]="";continue}-1===p&&(p=m)}else f=!1,p=-1;d=h.split("\n");for(var g=0,v=d.length;v>g;g++)d[g]="<li>"+(d[g]?i.escapeHTML(d[g]):"​")+"</li>";e[m]=d.join("")}if(!f&&-1!==p)for(var m=t.pair-1;m>=p;m--)e[m]="";return['<div class="codeBox container" contenteditable="false" data-highlighter="'+c+'" data-filename="'+(s?i.escapeHTML(s):"")+'"><div><div><h3>'+__REDACTOR_CODE_HIGHLIGHTERS[c]+(s?": "+i.escapeHTML(s):"")+'</h3></div><ol start="'+(u>1?u:1)+'">',"</ol></div></div>"]},_convertColor:function(e,t){return t.attributes.length&&t.attributes[0].match(/^[a-z0-9#]+$/i)?['<span style="color: '+i.escapeHTML(t.attributes[0])+'">',"</span>"]:[null,null]},_convertEmail:function(e,t,n){var r="";if(t.attributes.length)r=t.attributes[0];else{for(var a,o=n+1;o<t.pair;o++){if(a=e[o],"object"==typeof a){r="";break}r+=a}if(""===r.trim())return[null,null]}return['<a href="mailto:'+i.escapeHTML(r)+'">',"</a>"]},_convertImage:function(e,t,n){var r="none",a="",o=0;switch(t.attributes.length){case 0:if(!(n+1<t.pair&&"string"==typeof e[n+1]))return"";a=e[n+1],e[n+1]="";break;case 1:a=t.attributes[0];break;case 2:a=t.attributes[0],r=t.attributes[1];break;case 3:a=t.attributes[0],r=t.attributes[1],o=~~t.attributes[2]}"left"!==r&&"right"!==r&&(r="none");var l=[];return o>0&&l.push("width: "+o+"px"),"none"!==r&&(l.push("float: "+r),l.push("margin: "+("left"===r?"0 15px 7px 0":"0 0 7px 15px"))),['<img src="'+i.escapeHTML(a)+'"'+(l.length?' style="'+l.join(";")+'"':"")+">",""]},_convertList:function(e,t,n){for(var i=items.attributes.length?t.attributes[0]:"",r=n+1;r<t.pair;r++)"string"==typeof e[r]&&(e[r]=e[r].replace(/\[\*\]/g,"<li>"));return"1"==i||"decimal"===i?["<ol>","</ol>"]:i.length&&i.match(/^(?:none|circle|square|disc|decimal|lower-roman|upper-roman|decimal-leading-zero|lower-greek|lower-latin|upper-latin|armenian|georgian)$/)?['<ul style="list-style-type: '+i+'">',"</ul>"]:["<ul>","</ul>"]},_convertQuote:function(e,t,r){var a="",o="";t.attributes.length>1?(a=t.attributes[0],o=t.attributes[1]):1===t.attributes.length&&(a=t.attributes[0]);for(var l=t.pair-1;l>r;l--)if("string"==typeof e[l]){e[l]=e[l].replace(/\n$/,"");break}var s="";return a?(o&&(s='<a href="'+i.escapeHTML(o)+'" tabindex="-1">'),s+=n.get("wcf.bbcode.quote.title.javascript",{quoteAuthor:a.replace(/\\'/g,"'")}),o&&(s+="</a>")):s="<small>"+n.get("wcf.bbcode.quote.title.clickToSet")+"</small>",['<blockquote class="quoteBox container containerPadding quoteBoxSimple" cite="'+i.escapeHTML(o)+'" data-author="'+i.escapeHTML(a)+'"><header contenteditable="false"><h3>'+s+'</h3><a class="redactorQuoteEdit"></a></header><div>​',"</div></blockquote>"]},_convertSmilies:function(e){for(var t,n,r,a=0,o=e.length;o>a;a++)if(n=e[a],"string"==typeof n){for(var l in __REDACTOR_SMILIES)__REDACTOR_SMILIES.hasOwnProperty(l)&&(t=l.replace(/</g,"&lt;").replace(/>/g,"&gt;"),r=new RegExp("(\\s|^)"+i.escapeRegExp(l)+"(?=\\s|$)","gi"),n=n.replace(r,'$1<img src="'+__REDACTOR_SMILIES[l]+'" class="smiley" alt="'+t+'">'));e[a]=n}else-1!==__REDACTOR_SOURCE_BBCODES.indexOf(n.name)&&(a=n.pair)},_convertSize:function(e,t){return t.attributes.length&&0!==~~t.attributes[0]?['<span style="font-size: '+~~t.attributes[0]+'pt">',"</span>"]:[null,null]},_convertUrl:function(e,t){return t.attributes.length?['<a href="'+i.escapeHTML(t.attributes[0])+'">',"</a>"]:[null,null]}};return h}),define("WoltLab/WCF/Controller/Clipboard",["Ajax","Core","Dictionary","EventHandler","Language","List","ObjectMap","Dom/ChangeListener","Dom/Traverse","Dom/Util","Ui/Confirmation","Ui/SimpleDropdown"],function(e,t,n,i,r,a,o,l,s,c,u,d){"use strict";var h=new n,f=new n,p=elByClass("jsClipboardContainer"),m=new o,g=new a,v={},b=null,y=null,w=null,C={setup:function(e){if(b=this._mark.bind(this),y=this._executeAction.bind(this),w=this._unmarkAll.bind(this),v=t.extend({hasMarkedItems:!1,pageClassName:"",pageObjectId:0},e),!v.pageClassName)throw new Error("Expected a non-empty string for parameter 'pageClassName'.");this._initContainers(),this._initEditors(),v.hasMarkedItems&&p.length&&this._loadMarkedItems(),l.add("WoltLab/WCF/Controller/Clipboard",this._initContainers.bind(this))},reload:function(){h.size&&this._loadMarkedItems()},_initContainers:function(){for(var e=0,t=p.length;t>e;e++){var n=p[e],i=c.identify(n),r=h.get(i);if(void 0===r){var o=elBySel(".jsClipboardMarkAll",n);null!==o&&(elAttr(o,"data-container-id",i),o.addEventListener("click",this._markAll.bind(this))),r={checkboxes:elByClass("jsClipboardItem",n),element:n,markAll:o,markedObjectIds:new a},h.set(i,r)}for(var l=0,s=r.checkboxes.length;s>l;l++){var u=r.checkboxes[l];g.has(u)||(elAttr(u,"data-container-id",i),u.addEventListener("click",b),g.add(u))}}},_initEditors:function(){for(var e=function(e){try{var t=elAttr(e,"data-types");if("string"==typeof t)return JSON.parse('{ "types": '+t.replace(/'/g,'"')+"}").types}catch(n){throw new Error("Expected a valid 'data-type' attribute for element '"+c.identify(e)+"'.")}return[]},t=elByClass("jsClipboardEditor"),n=0,i=t.length;i>n;n++)for(var r=t[n],a=e(r),o=0,l=a.length;l>o;o++)f.set(a[o],r)},_loadMarkedItems:function(){e.api(this,{actionName:"getMarkedItems",parameters:{pageClassName:v.pageClassName,pageObjectID:v.pageObjectId}})},_markAll:function(e){for(var t=e.currentTarget,n="INPUT"!==t.nodeName||t.checked,i=[],r=elAttr(t,"data-container-id"),a=h.get(r),o=elAttr(a.element,"data-type"),l=0,c=a.checkboxes.length;c>l;l++){var u=a.checkboxes[l],d=~~u.getAttribute("data-object-id");n?u.checked||(u.checked=!0,a.markedObjectIds.add(d),i.push(d)):u.checked&&(u.checked=!1,a.markedObjectIds["delete"](d),i.push(d));var f=s.parentByClass(t,"jsClipboardObject");null!==f&&f.classList[n?"addClass":"removeClass"]("jsMarked")}this._saveState(o,i,n)},_mark:function(e){var t=e.currentTarget,n=~~t.getAttribute("data-object-id"),i=t.checked,r=elAttr(t,"data-container-id"),a=h.get(r),o=elAttr(a.element,"data-type"),l=s.parentByClass(t,"jsClipboardObject");a.markedObjectIds[i?"add":"delete"](n),l.classList[i?"add":"remove"]("jsMarked");for(var c=!0,u=0,d=a.checkboxes.length;d>u;u++)if(!a.checkboxes[u].checked){c=!1;break}a.markAll.checked=c,this._saveState(o,[n],i)},_saveState:function(t,n,i){e.api(this,{actionName:i?"mark":"unmark",parameters:{pageClassName:v.pageClassName,pageObjectID:v.pageObjectId,objectIDs:n,objectType:t}})},_executeAction:function(e){var t=e.currentTarget,n=m.get(t);if(n.url)return void(window.location.href=n.url);var r=function(){var e=elAttr(t,"data-type");i.fire("com.woltlab.wcf.clipboard",e,{data:n,listItem:t,responseData:null}),"function"==typeof window.jQuery&&window.jQuery(f.get(e)).trigger("clipboardAction",[e,n.actionName,n.parameters])},a="string"==typeof n.internalData.confirmMessage?n.internalData.confirmMessage:"",o=!0;if("object"==typeof n.parameters&&n.parameters.actionName&&n.parameters.className){if("unmarkAll"===n.parameters.actionName||Array.isArray(n.parameters.objectIDs))if(a.length){var l="string"==typeof n.internalData.template?n.internalData.template:"";u.show({confirm:function(){var e={};if(l.length)for(var i=u.getContentElement().querySelectorAll("input, select, textarea"),r=0,a=i.length;a>r;r++){var o=i[r],s=elAttr(o,"name");switch(o.nodeName){case"INPUT":o.checked&&(e[s]=elAttr(o,"value"));break;case"SELECT":e[s]=o.value;break;case"TEXTAREA":e[s]=o.value.trim()}}this._executeProxyAction(t,n,e)}.bind(this),message:a,template:l})}else this._executeProxyAction(t,n)}else a.length&&(o=!1,u.show({confirm:r,message:a}));o&&r()},_executeProxyAction:function(t,n,r){r=r||{};var a="unmarkAll"!==n.parameters.actionName?n.parameters.objectIDs:[],o={data:r};if("object"==typeof n.internalData.parameters)for(var l in n.internalData.parameters)n.internalData.parameters.hasOwnProperty(l)&&(o[l]=n.internalData.parameters[l]);e.api(this,{actionName:n.parameters.actionName,className:n.parameters.className,objectIDs:a,parameters:o},function(e){if("unmarkAll"!==n.actionName){var r=elAttr(t,"data-type");i.fire("com.woltlab.wcf.clipboard",r,{data:n,listItem:t,responseData:e}),"function"==typeof window.jQuery&&window.jQuery(f.get(r)).trigger("clipboardActionResponse",[e,r,n.actionName,n.parameters])}this._loadMarkedItems()}.bind(this))},_unmarkAll:function(t){var n=elAttr(t.currentTarget,"data-type");e.api(this,{actionName:"unmarkAll",parameters:{objectType:n}})},_ajaxSetup:function(){return{data:{className:"wcf\\data\\clipboard\\item\\ClipboardItemAction"}}},_ajaxSuccess:function(e){if("unmarkAll"===e.actionName)return void h.forEach(function(t){if(elAttr(t.element,"data-type")===e.returnValues.objectType){for(var n=elByClass("jsMarked",t.element);n.length;)n[0].classList.remove("jsMarked");t.markAll.checked=!1;for(var i=0,r=t.checkboxes.length;r>i;i++)t.checkboxes[i].checked=!1;f.get(e.returnValues.objectType).innerHTML=""}}.bind(this));if(f.forEach(function(e){e.innerHTML=""}),m=new o,h.forEach(function(t){var n=elAttr(t.element,"data-type"),i=e.returnValues.markedItems&&objOwns(e.returnValues.markedItems,n)?e.returnValues.markedItems[n]:[];this._rebuildMarkings(t,i)}.bind(this)),e.returnValues&&e.returnValues.items){var t=document.createDocumentFragment();for(var n in e.returnValues.items)if(e.returnValues.items.hasOwnProperty(n)&&f.has(n)){var i=e.returnValues.items[n],a=f.get(n),l=s.childrenByTag(a,"UL"),c=l[0]||null;null===c&&(c=elCreate("ul")),t.appendChild(c);var u=elCreate("li");u.classList.add("dropdown"),c.appendChild(u);var p=elCreate("span");p.className="dropdownToggle button",p.textContent=i.label,u.appendChild(p);var g=elCreate("ol");g.classList.add("dropdownMenu");for(var v in i.items)if(i.items.hasOwnProperty(v)){var b=i.items[v],C=elCreate("li"),_=elCreate("span");_.textContent=b.label,C.appendChild(_),g.appendChild(C),elAttr(C,"data-type",n),C.addEventListener("click",y),m.set(C,b)}var x=elCreate("li");x.classList.add("dropdownDivider"),g.appendChild(x);var L=elCreate("li");elAttr(L,"data-type",n);var _=elCreate("span");_.textContent=r.get("wcf.clipboard.item.unmarkAll"),L.appendChild(_),g.appendChild(L),u.appendChild(g),L.addEventListener("click",w),a.appendChild(t),d.init(p,!1)}}},_rebuildMarkings:function(e,t){for(var n=!0,i=0,r=e.checkboxes.length;r>i;i++){var a=e.checkboxes[i],o=s.parentByClass(a,"jsClipboardObject"),l=-1!==t.indexOf(~~a.getAttribute("data-object-id"));l||(n=!1),a.checked=l,o.classList[l?"add":"remove"]("jsMarked")}e.markAll.checked=n}};return C}),define("WoltLab/WCF/Language/Input",["Dictionary","Language","ObjectMap","StringUtil","Dom/Traverse","Dom/Util","Ui/SimpleDropdown"],function(e,t,n,i,r,a,o){"use strict";var l=new e,s=!1,c=new n,u=new e,d=null,h=null,f={init:function(t,n,r,a){if(!u.has(t)){var o=elById(t);if(null===o)throw new Error("Expected a valid element id, cannot find '"+t+"'.");this._setup();var l=new e;for(var s in n)n.hasOwnProperty(s)&&l.set(~~s,i.unescapeHTML(n[s]));u.set(t,l),this._initElement(t,o,l,r,a)}},_setup:function(){s||(s=!0,d=this._dropdownToggle.bind(this),h=this._submit.bind(this))},_initElement:function(e,n,i,s,u){var f=n.parentNode;f.classList.contains("inputAddon")||(f=elCreate("div"),f.className="inputAddon"+("TEXTAREA"===n.nodeName?" inputAddonTextarea":""),elAttr(f,"data-input-id",e),n.parentNode.insertBefore(f,n),f.appendChild(n)),f.classList.add("dropdown");var p=elCreate("span");p.className="button dropdownToggle inputPrefix";var m=elCreate("span");m.textContent=t.get("wcf.global.button.disabledI18n"),p.appendChild(m),f.insertBefore(p,n);var g=elCreate("ul");g.className="dropdownMenu",a.insertAfter(g,p);var v=function(t,n){var i=~~t.currentTarget.getAttribute("data-language-id"),a=r.childByClass(g,"active");null!==a&&a.classList.remove("active"),i&&t.currentTarget.classList.add("active"),this._select(e,i,t.currentTarget.children[0].textContent,n||!1)}.bind(this);for(var b in s)if(s.hasOwnProperty(b)){var y=elCreate("li");elAttr(y,"data-language-id",b),m=elCreate("span"),m.textContent=s[b],y.appendChild(m),y.addEventListener("click",v),g.appendChild(y)}if(u!==!0){var y=elCreate("li");y.className="dropdownDivider",elAttr(y,"data-language-id",0),g.appendChild(y),y=elCreate("li"),m=elCreate("span"),m.textContent=t.get("wcf.global.button.disabledI18n"),y.appendChild(m),y.addEventListener("click",v),g.appendChild(y)}var w=null;if(u===!0||i.size)for(var C=0,_=g.childElementCount;_>C;C++)if(~~g.children[C].getAttribute("data-language-id")===LANGUAGE_ID){w=g.children[C];break}o.init(p),o.registerCallback(f.id,d),l.set(e,{buttonLabel:p.children[0],element:n,languageId:0});var x=r.parentByTag(n,"FORM");if(null!==x){x.addEventListener("submit",h);var L=c.get(x);void 0===L&&(L=[],c.set(x,L)),L.push(e)}null!==w&&v({currentTarget:w},!0)},_select:function(t,n,i,r){var a=l.get(t);if(a.languageId!==n){var o=u.get(t);a.languageId&&o.set(a.languageId,a.element.value),0===n?u.set(t,new e):(a.buttonLabel.classList.contains("active")||r===!0)&&(a.element.value=o.has(n)?o.get(n):""),a.buttonLabel.textContent=i,a.buttonLabel.classList[n?"add":"remove"]("active"),a.languageId=n}a.element.blur(),a.element.focus()},_dropdownToggle:function(e,t){if("open"===t)for(var n,i,r=o.getDropdownMenu(e),a=elById(e).getAttribute("data-input-id"),l=u.get(a),s=0,c=r.childElementCount;c>s;s++)n=r.children[s],i=~~n.getAttribute("data-language-id"),i&&n.classList[l.has(i)||!l.size?"remove":"add"]("missingValue")},_submit:function(e){for(var t,n,i,r,a=c.get(e.currentTarget),o=0,s=a.length;s>o;o++)n=a[o],t=l.get(n),r=u.get(n),t.languageId&&r.set(t.languageId,t.element.value),r.size&&(r.forEach(function(t,r){i=elCreate("input"),i.type="hidden",i.name=n+"_i18n["+r+"]",i.value=t,e.currentTarget.appendChild(i)}),t.element.removeAttribute("name"))}};return f}),define("WoltLab/WCF/Ui/Suggestion",["Ajax","Core","Ui/SimpleDropdown"],function(e,t,n){"use strict";function i(e,t){this.init(e,t)}return i.prototype={init:function(e,n){if(this._dropdownMenu=null,this._value="",this._element=elById(e),null===this._element)throw new Error("Expected a valid element id.");if(this._options=t.extend({ajax:{actionName:"getSearchResultList",className:"",interfaceName:"wcf\\data\\ISearchAction",parameters:{data:{}}},callbackSelect:null,excludedSearchValues:[],treshold:3},n),"function"!=typeof this._options.callbackSelect)throw new Error("Expected a valid callback for option 'callbackSelect'.");this._element.addEventListener("click",function(e){e.stopPropagation()}),this._element.addEventListener("keydown",this._keyDown.bind(this)),this._element.addEventListener("keyup",this._keyUp.bind(this))},addExcludedValue:function(e){-1===this._options.excludedSearchValues.indexOf(e)&&this._options.excludedSearchValues.push(e)},removeExcludedValue:function(e){var t=this._options.excludedSearchValues.indexOf(e);-1!==t&&this._options.excludedSearchValues.splice(t,1)},_keyDown:function(e){if(null===this._dropdownMenu||!n.isOpen(this._element.id))return!0;if(13!==e.keyCode&&27!==e.keyCode&&38!==e.keyCode&&40!==e.keyCode)return!0;for(var t,i=0,r=this._dropdownMenu.childElementCount;r>i&&(t=this._dropdownMenu.children[i],!t.classList.contains("active"));)i++;if(13===e.keyCode)n.close(this._element.id),this._select(t);else if(27===e.keyCode){if(!n.isOpen(this._element.id))return!0;n.close(this._element.id)}else{var a=0;38===e.keyCode?a=(0===i?r:i)-1:40===e.keyCode&&(a=i+1,a===r&&(a=0)),a!==i&&(t.classList.remove("active"),this._dropdownMenu.children[a].classList.add("active"))}return e.preventDefault(),!1},_select:function(e){var t=e instanceof Event;t&&(e=e.currentTarget.parentNode),this._options.callbackSelect(this._element.id,{objectId:e.children[0].getAttribute("data-object-id"),value:e.textContent}),t&&this._element.focus()},_keyUp:function(t){var i=t.currentTarget.value.trim();if(this._value!==i){if(i.length<this._options.treshold)return null!==this._dropdownMenu&&n.close(this._element.id),void(this._value=i);this._value=i,e.api(this,{parameters:{data:{excludedSearchValues:this._options.excludedSearchValues,searchString:i}}})}},_ajaxSetup:function(){return{data:this._options.ajax}},_ajaxSuccess:function(e){if(null===this._dropdownMenu?(this._dropdownMenu=elCreate("div"),this._dropdownMenu.className="dropdownMenu",n.initFragment(this._element,this._dropdownMenu)):this._dropdownMenu.innerHTML="",e.returnValues.length){for(var t,i,r,a=0,o=e.returnValues.length;o>a;a++)i=e.returnValues[a],t=elCreate("a"),t.textContent=i.label,elAttr(t,"data-object-id",i.objectID),t.addEventListener("click",this._select.bind(this)),r=elCreate("li"),0===a&&(r.className="active"),r.appendChild(t),this._dropdownMenu.appendChild(r);
+n.open(this._element.id)}else n.close(this._element.id)}},i}),define("WoltLab/WCF/Ui/ItemList",["Core","Dictionary","Language","Dom/Traverse","WoltLab/WCF/Ui/Suggestion"],function(e,t,n,i,r){"use strict";var a="",o=new t,l=!1,s=null,c=null,u=null,d=null,h={init:function(t,n,a){var l=elById(t);if(null===l)throw new Error("Expected a valid element id.");a=e.extend({ajax:{actionName:"getSearchResultList",className:"",data:{}},excludedSearchValues:[],maxItems:-1,maxLength:-1,restricted:!1,isCSV:!1,callbackChange:null,callbackSubmit:null,submitFieldName:""},a);var s=i.parentByTag(l,"FORM");if(null!==s&&a.isCSV===!1){if(!a.submitFieldName.length&&"function"!=typeof a.callbackSubmit)throw new Error("Expected a valid function for option 'callbackSubmit', a non-empty value for option 'submitFieldName' or enabling the option 'submitFieldCSV'.");s.addEventListener("submit",function(){var e=this.getValues(t);if(a.submitFieldName.length)for(var n,i=0,r=e.length;r>i;i++)n=elCreate("input"),n.type="hidden",n.name=a.submitFieldName.replace(/{$objectId}/,e[i].objectId),n.value=e[i].value,s.appendChild(n);else a.callbackSubmit(s,e)}.bind(this))}this._setup();var c=this._createUI(l,a,n),u=new r(t,{ajax:a.ajax,callbackSelect:this._addItem.bind(this),excludedSearchValues:a.excludedSearchValues});if(o.set(t,{dropdownMenu:null,element:c.element,list:c.list,listItem:c.element.parentNode,options:a,shadow:c.shadow,suggestion:u}),n=c.values.length?c.values:n,Array.isArray(n))for(var d,h=0,f=n.length;f>h;h++)d=n[h],"string"==typeof d&&(d={objectId:0,value:d}),this._addItem(t,d)},getValues:function(e){if(!o.has(e))throw new Error("Element id '"+e+"' is unknown.");for(var t,n,r=o.get(e),a=i.childrenByClass(r.list,"item"),l=[],s=0,c=a.length;c>s;s++)n=a[s],t={objectId:elAttr(n,"data-object-id"),value:i.childByTag(n,"SPAN").textContent},l.push(t);return l},_setup:function(){l||(l=!0,s=this._keyDown.bind(this),c=this._keyPress.bind(this),u=this._keyUp.bind(this),d=this._removeItem.bind(this))},_createUI:function(e,t){var n=elCreate("ol");n.className="inputItemList",elAttr(n,"data-element-id",e.id),n.addEventListener("click",function(t){t.target===n&&e.focus()});var i=elCreate("li");i.className="input",n.appendChild(i),e.addEventListener("keydown",s),e.addEventListener("keypress",c),e.addEventListener("keyup",u),e.parentNode.insertBefore(n,e),i.appendChild(e),-1!==t.maxLength&&elAttr(e,"maxLength",t.maxLength);var r=null,a=[];if(t.isCSV&&(r=elCreate("input"),r.className="itemListInputShadow",r.type="hidden",r.name=e.name,e.removeAttribute("name"),n.parentNode.insertBefore(r,n),"TEXTAREA"===e.nodeName)){for(var o,l=e.value.split(","),d=0,h=l.length;h>d;d++)o=l[d].trim(),o.length&&a.push(o);var f=elCreate("input");e.parentNode.insertBefore(f,e),f.id=e.id,e.parentNode.removeChild(e),e=f}return{element:e,list:n,shadow:r,values:a}},_handleLimit:function(e){var t=o.get(e);-1!==t.options.maxItems&&(t.list.childElementCount-1<t.options.maxItems?t.element.disabled&&(t.element.disabled=!1,t.element.removeAttribute("placeholder")):t.element.disabled||(t.element.disabled=!0,elAttr(t.element,"placeholder",n.get("wcf.global.form.input.maxItems"))))},_keyDown:function(e){var t=e.currentTarget,n=t.parentNode.previousElementSibling;a=t.id,8===e.keyCode?0===t.value.length&&null!==n&&(n.classList.contains("active")?this._removeItem(null,n):n.classList.add("active")):27===e.keyCode&&null!==n&&n.classList.contains("active")&&n.classList.remove("active")},_keyPress:function(e){if(13===e.charCode||44===e.charCode){if(e.preventDefault(),o.get(e.currentTarget.id).options.restricted)return;var t=e.currentTarget.value.trim();t.length&&this._addItem(e.currentTarget.id,{objectId:0,value:t})}},_keyUp:function(e){var t=e.currentTarget;if(t.value.length>0){var n=t.parentNode.previousElementSibling;null!==n&&n.classList.remove("active")}},_addItem:function(e,t){var n=o.get(e),i=elCreate("li");i.className="item";var r=elCreate("span");r.className="content",elAttr(r,"data-object-id",t.objectId),r.textContent=t.value;var a=elCreate("a");a.className="icon icon16 fa-times",a.addEventListener("click",d),i.appendChild(r),i.appendChild(a),n.list.insertBefore(i,n.listItem),n.suggestion.addExcludedValue(t.value),n.element.value="",this._handleLimit(e);var l=this._syncShadow(n);"function"==typeof n.options.callbackChange&&(null===l&&(l=this.getValues(e)),n.options.callbackChange(e,l))},_removeItem:function(e,t){t=null===e?t:e.currentTarget.parentNode;var n=t.parentNode,i=elAttr(n,"data-element-id"),r=o.get(i);r.suggestion.removeExcludedValue(t.children[0].textContent),n.removeChild(t),r.element.focus(),this._handleLimit(i);var a=this._syncShadow(r);"function"==typeof r.options.callbackChange&&(null===a&&(a=this.getValues(i)),r.options.callbackChange(i,a))},_syncShadow:function(e){if(!e.options.isCSV)return null;for(var t="",n=this.getValues(e.element.id),i=0,r=n.length;r>i;i++)t+=(t.length?",":"")+n[i].value;return e.shadow.value=t,n}};return h}),define("WoltLab/WCF/Controller/Notice/Dismiss",["Ajax"],function(e){"use strict";var t={setup:function(){var e=elByClass("jsDismissNoticeButton");if(e.length)for(var t=this._click.bind(this),n=0,i=e.length;i>n;n++)e[n].addEventListener("click",t)},_click:function(t){var n=t.currentTarget;e.apiOnce({data:{actionName:"dismiss",className:"wcf\\data\\notice\\NoticeAction",objectIDs:[elAttr(n,"data-object-id")]},success:function(){var e=n.parentNode;e.addEventListener("transitionend",function(){e.parentNode.removeChild(e)}),e.classList.remove("active")}})}};return t}),define("WoltLab/WCF/Ui/Collapsible/Sidebar",["Ajax","Language","Dom/Util"],function(e,t,n){"use strict";var i=!1,r=null,a="",o={setup:function(){var e=elBySel(".sidebar");null!==e&&(i="true"===elAttr(e,"data-is-open"),r=elById("main"),a=elAttr(e,"data-sidebar-name"),this._createUI(e),r.classList[i?"remove":"add"]("sidebarCollapsed"))},_createUI:function(e){var i=elCreate("a");i.href="#",i.className="collapsibleButton jsTooltip",elAttr(i,"title",t.get("wcf.global.button.collapsible"));var r=elCreate("span");r.appendChild(i),n.prepend(r,e),i.addEventListener("click",this._click.bind(this))},_click:function(t){t.preventDefault(),i=i===!1,e.api(this,{isOpen:~~i})},_ajaxSetup:function(){return{data:{actionName:"toggle",className:"wcf\\system\\user\\collapsible\\content\\UserCollapsibleSidebarHandler",sidebarName:a},url:"index.php/AJAXInvoke/?t="+SECURITY_TOKEN+SID_ARG_2ND}},_ajaxSuccess:function(){r.classList[i?"remove":"add"]("sidebarCollapsed")}};return o}),define("WoltLab/WCF/Ui/ItemList/User",["WoltLab/WCF/Ui/ItemList"],function(e){"use strict";var t={init:function(t,n){e.init(t,[],{ajax:{className:"wcf\\data\\user\\UserAction",parameters:{data:{includeUserGroups:~~n.includeUserGroups}}},callbackChange:"function"==typeof n.callbackChange?n.callbackChange:null,excludedSearchValues:Array.isArray(n.excludedSearchValues)?n.excludedSearchValues:[],isCSV:!0,maxItems:~~n.maxItems||-1,restricted:!0})},getValues:function(t){return e.getValues(t)}};return t}),define("WoltLab/WCF/Controller/User/Notification/Settings",["Dictionary","Language","Dom/Traverse","Ui/SimpleDropdown"],function(e,t,n,i){"use strict";var r=new e,a=null,o=null,l={setup:function(){a=this._click.bind(this),o=this._selectType.bind(this);for(var e,t,n=elBySelAll("#notificationSettings .flexibleButtonGroup"),i=0,r=n.length;r>i;i++)e=n[i],t=elBySel(".notificationSettingsEmail",e),null!==t&&this._initGroup(e,t)},_initGroup:function(e,t){var i=~~e.getAttribute("data-object-id"),o=elById("settings_"+i+"_disabled");o.addEventListener("click",function(){t.classList.remove("active")});var l=elById("settings_"+i+"_enabled");l.addEventListener("click",function(){t.classList.add("active")});var s=n.childByTag(t,"INPUT"),c=n.childByTag(t,"A");elAttr(c,"data-object-id",i),c.addEventListener("click",a),r.set(i,{button:c,dropdownMenu:null,mailSetting:t,mailValue:s})},_click:function(e){e.preventDefault();var t=e.currentTarget,a=~~t.getAttribute("data-object-id"),o=r.get(a);if(null===o.dropdownMenu)o.dropdownMenu=this._createDropdown(a,o.mailValue.value),t.parentNode.classList.add("dropdown"),t.parentNode.appendChild(o.dropdownMenu),i.init(t,!0);else for(var l=n.childrenByTag(o.dropdownMenu,"LI"),s=o.mailValue.value,c=0;4>c;c++)l[c].classList[l[c].getAttribute("data-value")===s?"add":"remove"]("active")},_createDropdown:function(e,n){var i=elCreate("ul");i.className="dropdownMenu",elAttr(i,"data-object-id",e);for(var r,a,l,s=["instant","daily","divider","none"],c=0;4>c;c++)l=s[c],a=elCreate("li"),"divider"===l?a.className="dropdownDivider":(r=elCreate("a"),r.textContent=t.get("wcf.user.notification.mailNotificationType."+l),a.appendChild(r),elAttr(a,"data-value",l),a.addEventListener("click",o),n===l&&(a.className="active")),i.appendChild(a);return i},_selectType:function(e){var n=elAttr(e.currentTarget,"data-value"),i=~~e.currentTarget.parentNode.getAttribute("data-object-id"),a=r.get(i);a.mailValue.value=n,elBySel("span.title",a.mailSetting).textContent=t.get("wcf.user.notification.mailNotificationType."+n),a.button.classList["none"===n?"remove":"add"]("yellow"),a.button.classList["none"===n?"remove":"add"]("active")}};return l}),function(e){function t(){for(;i.length&&"function"==typeof i[0];)i.shift()()}var n=e.require,i=[],r=0;e.require=function(a,o){if(!Array.isArray(a))return n.apply(e,arguments);var l=r++;i.push(l),n(a,function(){var n=arguments;i[i.indexOf(l)]=function(){o.apply(e,n)},t()})}}(window),define("require.linearExecution",function(){});
\ No newline at end of file