(function (window, undefined) { $.Redactor.prototype.WoltLabBlock=function(){"use strict";return{preserveBlocks:["pre","woltlab-quote","woltlab-spoiler"],init:function(){var e,t;this.block.tags=["p","blockquote","pre","h1","h2","h3","h4","h5","h6","div","figure"],this.block.format=function(e,t,o,i){if(e="quote"===e?"blockquote":e,-1!==$.inArray(e,this.block.tags))return"p"===e&&void 0===t&&(t="class"),this.placeholder.hide(),this.buffer.set(),this.utils.isCollapsed()?this.block.formatCollapsed(e,t,o,i):this.block.formatUncollapsed(e,t,o,i)}.bind(this),e=function(e,t){return!(document.activeElement!==e||!1===t||!this.utils.isRedactorParent(t))}.bind(this),t=this.block.formatCollapsed,this.block.formatCollapsed=function(o,i,s,r){var l,n,a,h,c,d=this.selection.block();if(!d||"LI"!==d.nodeName&&"TD"!==d.nodeName){if(l=this.core.editor()[0],e(l,d)||(this.selection.restore(),document.activeElement!==l&&l.focus()),e(l,d)||(this.focus.end(),this.selection.save()),1===(a=(n=t.call(this,o,i,s,r)).length)&&n[0].nodeName.match(/^H[1-6]$/))1===(h=n[0]).childElementCount&&"BR"===h.children[0].nodeName&&this.utils.isEmpty(h.innerHTML)&&(h.innerHTML="");else for(c=0;c<a;c++)this.WoltLabBlock._paragraphize(n[c]);return this.caret.end(n),n}}.bind(this),this.block.formatUncollapsed=function(e,t,o,i){var s,r,l,n,a,h,c,d,p,f;for(this.selection.save(),this.selection.blocks().forEach((function(e){if("OL"===e.nodeName||"UL"===e.nodeName){e.parentNode.nodeName.toLowerCase();var t=elCreate("div");e.parentNode.insertBefore(t,e),t.appendChild(e)}})),this.selection.restore(),this.selection.save(),l=[],(n=this.selection.blocks())[0]&&($(n[0]).hasClass("redactor-in")||$(n[0]).hasClass("redactor-box"))&&(n=this.core.editor().find(this.opts.blockTags.join(", "))),a=n.length,r=0;r<a;r++)if(h=n[r].tagName.toLowerCase(),-1!==$.inArray(h,this.block.tags)&&"figure"!==h){if("pre"!==e&&-1!==this.WoltLabBlock.preserveBlocks.indexOf(n[r].nodeName.toLowerCase())?(s=elCreate(e),n[r].parentNode.insertBefore(s,n[r]),s.appendChild(n[r]),s=$(s)):s=this.utils.replaceToTag(n[r],e),"object"==typeof t)for(c in i=o,t)s=this.block.setAttr(s,c,t[c],i);else s=this.block.setAttr(s,t,o,i);l.push(s),this.block.removeInlineTags(s)}for(this.selection.restore(),"pre"===e&&0!==l.length&&(d=l[0],$.each(l,(function(e,t){0!==e&&($(d).append("\n"+$.trim(t.html())),$(t).remove())})),(l=[]).push(d)),f=null,r=0,p=l.length;r<p;r++)if(s=l[r][0]||l[r],this.WoltLabBlock._paragraphize(s),0===r)f=s;else{for(;s.childNodes.length;)f.appendChild(s.childNodes[0]);elRemove(s)}return f&&elBySelAll("br",f,(function(e){e.parentNode.insertBefore(document.createTextNode("\n"),e),elRemove(e)})),$(f)}.bind(this),this.block.removeAllAttr=function(e){e=this.block.getBlocks(e);var t=[];return $.each(e,(function(e,o){for(void 0===o.attributes&&t.push(o);o.attributes.length;)o.removeAttribute(o.attributes[0].name);t.push(o)})),t}.bind(this),this.block.getBlocks=function(e){var t,o;return e=void 0===e?this.selection.blocks():e,$(e).hasClass("redactor-box")||$(e).hasClass("redactor-layer")?(t=[],o=this.core.editor().children(),$.each(o,$.proxy((function(e,o){this.utils.isBlock(o)&&t.push(o)}),this)),t):e}.bind(this)},register:function(e,t){-1===this.block.tags.indexOf(e)&&(this.block.tags.push(e),this.opts.paragraphizeBlocks.push(e),-1===this.opts.blockTags.indexOf(e)&&(this.opts.blockTags.push(e),this.reIsBlock=new RegExp("^("+this.opts.blockTags.join("|").toUpperCase()+")$","i")),t&&this.WoltLabKeydown.register(e))},_paragraphize:function(e){var t,o,i,s,r,l,n;if(-1===["p","pre","h1","h2","h3","h4","h5","h6","div","figure"].indexOf(e.nodeName.toLowerCase())){for(o=!1,i=0,s=e.childNodes.length;i<s;i++){if((t=e.childNodes[i]).nodeType===Node.TEXT_NODE){o=!0;break}if(t.nodeType===Node.ELEMENT_NODE&&-1===this.block.tags.indexOf(t.nodeName.toLowerCase())){o=!0;break}}if(o)for(r=e.childNodes[0],n=null;r;)l=r.nextSibling,r.nodeType!==Node.ELEMENT_NODE||-1===this.block.tags.indexOf(r.nodeName.toLowerCase())?(null===n&&(n=elCreate("p"),e.insertBefore(n,r)),n.appendChild(r)):null!==n&&(n=null),r=l}}}}; })(this);
// plugins/WoltLabButton.js
-(function (window, undefined) { $.Redactor.prototype.WoltLabButton=function(){"use strict";var t;return{init:function(){var t,e,o,n,s,i,a,r,l,d,c,u,h,b;for(o=0,n=this.opts.woltlab.customButtons.length;o<n;o++)e=this.opts.woltlab.customButtons[o],t=this.button.add(e,""),this.button.addCallback(t,this.WoltLabButton._handleCustomButton);for(s=this.core.toolbar()[0],o=0,n=this.opts.buttons.length;o<n;o++)if("wcfSeparator"!==(e=this.opts.buttons[o])){if(!this.opts.woltlab.buttons.hasOwnProperty(e))throw new Error("Missing button definition for '"+e+"'.");switch(i=this.opts.woltlab.buttons[e],"underline"===e&&(this.opts.activeButtonsStates.u="underline"),e){case"subscript":case"superscript":t=this.button.addAfter(this.opts.buttons[o-1],e,""),this.button.setEvent(t,e,{func:"inline.format"}),this.opts.activeButtonsStates["subscript"===e?"sub":"sup"]=e;break;case"redo":case"undo":t=this.button.addAfter(this.opts.buttons[o-1],e,""),this.button.addCallback(t,this.buffer[e]);break;default:t=this.button.get(e)}if(r=!(a=i.icon).match(/^fa-/)&&a.match(/\.(gif|jpe?g|png|svg)$/),this.button.setIcon(t,'<span class="icon icon16 '+(r?"redactorButtonImage":a)+'"'+(r?" style=\"background-image: url('"+WCF_PATH+"icon/"+a+"')\"":"")+"></span>"),!t[0])throw new Error("Missing button element for '"+e+"'.");t[0].title=i.title,t[0].classList.add("jsTooltip"),"lists"===e&&(l=t.data("dropdown"),elBySel(".redactor-dropdown-outdent span",l[0]).textContent=WCF.Language.get("wcf.editor.list.outdent"),elBySel(".redactor-dropdown-indent span",l[0]).textContent=WCF.Language.get("wcf.editor.list.indent"))}for(d=this.opts.buttons.indexOf("tt"),-1!==this.opts.buttons.indexOf("code")&&-1!==d&&(this.opts.buttons.splice(d,1),this.opts.buttons.splice(this.opts.buttons.indexOf("code")+1,0,"tt")),u={},h=[];s.childElementCount;)c=s.removeChild(s.children[0]),e=elAttr(c.children[0],"rel"),u[e]=c,h.push(e);for(b=!1,o=0,n=this.opts.buttons.length;o<n;o++)"wcfSeparator"!==(e=this.opts.buttons[o])?(c=u[e],s.appendChild(c),h.splice(h.indexOf(e),1),b&&(c.classList.add("redactor-toolbar-separator"),b=!1)):b=!0;for(o=0,n=s.childElementCount;o<n;o++)t=(c=s.children[o]).children[0],elData(c,"show-on-mobile",-1!==this.opts.woltlab.buttonMobile.indexOf(t.rel));h.forEach((function(t){s.appendChild(u[t])})),WCF.DOMNodeInsertedHandler.execute(),require(["Ui/Screen"],function(t){t.on("screen-xs",{match:this.WoltLabButton._enableToggleButton.bind(this),unmatch:this.WoltLabButton._disableToggleButton.bind(this),setup:this.WoltLabButton._setupToggleButton.bind(this)})}.bind(this)),s.addEventListener("dragstart",(function(t){t.preventDefault()})),elAttr(elBySel(".re-html",s),"tabindex",0)},_handleCustomButton:function(t){var e,o,n={cancel:!1};WCF.System.Event.fireEvent("com.woltlab.wcf.redactor2","bbcode_"+t+"_"+this.$element[0].id,n),!0!==n.cancel&&(this.buffer.set(),(e=this.marker.get()).classList.add("woltlab-bbcode-marker"),o="["+t+"]"+this.selection.html()+e.outerHTML+"[/"+t+"]",this.insert.html(o),this.selection.restore()),window.setTimeout(function(){document.activeElement!==this.$editor[0]&&this.$editor[0].focus()}.bind(this),10)},_enableToggleButton:function(){null===t.parentNode&&this.$toolbar[0].appendChild(t)},_disableToggleButton:function(){t&&null!==t.parentNode&&this.$toolbar[0].removeChild(t)},_setupToggleButton:function(){var e,o;(t=elCreate("li")).className="redactorToolbarToggle",t.innerHTML='<a href="#"><span class="icon icon16 fa-caret-down"></span></a>',elData(t,"show-on-mobile",!0),e=t.children[0].children[0],o=function(t){t instanceof Event&&t.preventDefault(),this.$toolbar[0].classList.toggle("redactorToolbarOverride")&&document.activeElement&&document.activeElement!==this.$editor[0]&&document.activeElement.blur(),e.classList.toggle("fa-caret-down"),e.classList.toggle("fa-caret-up")}.bind(this),t.children[0].addEventListener("mousedown",o),this.$toolbar[0].appendChild(t),WCF.System.Event.addListener("com.woltlab.wcf.redactor2","reset_"+this.$element[0].id,function(){this.$toolbar[0].classList.contains("redactorToolbarOverride")&&o()}.bind(this))}}}; })(this);
+(function (window, undefined) { $.Redactor.prototype.WoltLabButton=function(){"use strict";var t;return{init:function(){var t,e,o,n,s,i,a,r,l,d,c,u,h,b;for(o=0,n=this.opts.woltlab.customButtons.length;o<n;o++)e=this.opts.woltlab.customButtons[o],t=this.button.add(e,""),this.button.addCallback(t,this.WoltLabButton._handleCustomButton);for(s=this.core.toolbar()[0],o=0,n=this.opts.buttons.length;o<n;o++)if("wcfSeparator"!==(e=this.opts.buttons[o])){if(!this.opts.woltlab.buttons.hasOwnProperty(e))throw new Error("Missing button definition for '"+e+"'.");switch(i=this.opts.woltlab.buttons[e],"underline"===e&&(this.opts.activeButtonsStates.u="underline"),e){case"subscript":case"superscript":t=this.button.addAfter(this.opts.buttons[o-1],e,""),this.button.setEvent(t,e,{func:"inline.format"}),this.opts.activeButtonsStates["subscript"===e?"sub":"sup"]=e;break;case"redo":case"undo":t=this.button.addAfter(this.opts.buttons[o-1],e,""),this.button.addCallback(t,this.buffer[e]);break;default:t=this.button.get(e)}if(r=!(a=i.icon).match(/^fa-/)&&a.match(/\.(gif|jpe?g|png|svg)$/),this.button.setIcon(t,'<span class="icon icon16 '+(r?"redactorButtonImage":a)+'"'+(r?" style=\"background-image: url('"+WCF_PATH+"icon/"+a+"')\"":"")+"></span>"),!t[0])throw new Error("Missing button element for '"+e+"'.");t[0].title=i.title,t[0].classList.add("jsTooltip"),"lists"===e&&(l=t.data("dropdown"),elBySel(".redactor-dropdown-outdent span",l[0]).textContent=WCF.Language.get("wcf.editor.list.outdent"),elBySel(".redactor-dropdown-indent span",l[0]).textContent=WCF.Language.get("wcf.editor.list.indent"))}for(d=this.opts.buttons.indexOf("tt"),-1!==this.opts.buttons.indexOf("code")&&-1!==d&&(this.opts.buttons.splice(d,1),this.opts.buttons.splice(this.opts.buttons.indexOf("code")+1,0,"tt")),u={},h=[];s.childElementCount;)c=s.removeChild(s.children[0]),e=elAttr(c.children[0],"rel"),u[e]=c,h.push(e);for(b=!1,o=0,n=this.opts.buttons.length;o<n;o++)"wcfSeparator"!==(e=this.opts.buttons[o])?(c=u[e],s.appendChild(c),h.splice(h.indexOf(e),1),b&&(c.classList.add("redactor-toolbar-separator"),b=!1)):b=!0;for(o=0,n=s.childElementCount;o<n;o++)t=(c=s.children[o]).children[0],elData(c,"show-on-mobile",-1!==this.opts.woltlab.buttonMobile.indexOf(t.rel));h.forEach((function(t){s.appendChild(u[t])})),WCF.DOMNodeInsertedHandler.execute(),require(["Ui/Screen"],function(t){t.on("screen-xs",{match:this.WoltLabButton._enableToggleButton.bind(this),unmatch:this.WoltLabButton._disableToggleButton.bind(this),setup:this.WoltLabButton._setupToggleButton.bind(this)})}.bind(this)),s.addEventListener("dragstart",(function(t){t.preventDefault()})),elAttr(elBySel(".re-html",s),"tabindex",0)},_handleCustomButton:function(t){var e,o,n={cancel:!1};if(WCF.System.Event.fireEvent("com.woltlab.wcf.redactor2","bbcode_"+t+"_"+this.$element[0].id,n),!0!==n.cancel){const n=this.selection.block();if(n&&"PRE"===n.nodeName)return;this.buffer.set(),(e=this.marker.get()).classList.add("woltlab-bbcode-marker"),o="["+t+"]"+this.selection.html()+e.outerHTML+"[/"+t+"]",this.insert.html(o),this.selection.restore()}window.setTimeout(function(){document.activeElement!==this.$editor[0]&&this.$editor[0].focus()}.bind(this),10)},_enableToggleButton:function(){null===t.parentNode&&this.$toolbar[0].appendChild(t)},_disableToggleButton:function(){t&&null!==t.parentNode&&this.$toolbar[0].removeChild(t)},_setupToggleButton:function(){var e,o;(t=elCreate("li")).className="redactorToolbarToggle",t.innerHTML='<a href="#"><span class="icon icon16 fa-caret-down"></span></a>',elData(t,"show-on-mobile",!0),e=t.children[0].children[0],o=function(t){t instanceof Event&&t.preventDefault(),this.$toolbar[0].classList.toggle("redactorToolbarOverride")&&document.activeElement&&document.activeElement!==this.$editor[0]&&document.activeElement.blur(),e.classList.toggle("fa-caret-down"),e.classList.toggle("fa-caret-up")}.bind(this),t.children[0].addEventListener("mousedown",o),this.$toolbar[0].appendChild(t),WCF.System.Event.addListener("com.woltlab.wcf.redactor2","reset_"+this.$element[0].id,function(){this.$toolbar[0].classList.contains("redactorToolbarOverride")&&o()}.bind(this))}}}; })(this);
// plugins/WoltLabCaret.js
(function (window, undefined) { $.Redactor.prototype.WoltLabCaret=function(){"use strict";var e,t=!1,n=!1;return{init:function(){var i,o,r,a,s,l,d=this.caret.after;this.caret.after=function(e){e=this.caret.prepare(e),this.utils.isBlockTag(e.tagName)&&this.WoltLabCaret._addParagraphAfterBlock(e),d.call(this,e)}.bind(this),i=this.caret.start,this.caret.start=function(e){if(n){if(!(e=this.caret.prepare(e)))return;"P"===e.nodeName&&""===e.innerHTML&&(e.innerHTML="<br>")}i.call(this,e)}.bind(this),o=this.core.editor()[0],require(["Environment"],function(i){var r,a;t="ios"===i.platform(),(n="safari"===i.browser())&&o.classList.add("jsSafariMarginClickTarget"),r=this.WoltLabCaret._handleEditorClick.bind(this),a=this.WoltLabCaret._handleEditorMouseUp.bind(this),n&&t?(o.addEventListener("touchstart",(function(t){e=t.target}),{passive:!0}),o.addEventListener("touchend",function(e){r(e),a(e)}.bind(this))):(o.addEventListener("click",function(e){this.WoltLabCaret._detectTripleClick(e),r(e)}.bind(this)),o.addEventListener("mouseup",a))}.bind(this)),r=this.caret.end,this.caret.end=function(e){var n,i,o,a;return"OL"!==(e=this.caret.prepare(e)).nodeName&&"UL"!==e.nodeName||null===(e=e.lastElementChild)&&(e=e.parentNode),n=!1,e.nodeType===Node.ELEMENT_NODE&&e.lastChild&&"P"===e.lastChild.nodeName?n=!0:t?(i=this.core.editor()[0],e.parentNode===i&&"<p><br></p>"===i.innerHTML&&(n=!0)):"P"===e.nodeName&&0===e.childNodes.length&&(e.innerHTML="",n=!0),n?(o=window.getSelection(),(a=document.createRange()).selectNodeContents(e.lastChild),a.collapse(!1),o.removeAllRanges(),void o.addRange(a)):"P"===e.nodeName&&1===e.childNodes.length&&"BR"===e.childNodes[0].nodeName?this.caret.before(e.childNodes[0]):r.call(this,e)}.bind(this),a=this.selection.nodes,this.selection.nodes=function(e){var t,n=a.call(this,e);return 1===n.length&&n[0]===this.$editor[0]&&(t=this.selection.range(this.selection.get())).startContainer===t.endContainer?[t.startContainer]:n}.bind(this),this.WoltLabCaret._initInternalRange(),s=this.selection.saveInstant,this.selection.saveInstant=function(){var e,t,n=s.call(this);return n&&(n.isAtNodeStart=!1,(e=window.getSelection()).rangeCount&&!e.isCollapsed&&(t=e.getRangeAt(0)).startContainer.nodeType===Node.TEXT_NODE&&0===t.startOffset&&(n.isAtNodeStart=!0)),n}.bind(this),l=this.selection.restoreInstant,this.selection.restoreInstant=function(e){var t,n,i,o,r,a,s,d;if((void 0!==e||this.saved)&&(t=void 0!==e?e:this.saved,l.call(this,e),(n=window.getSelection()).rangeCount))if(!0===t.isAtNodeStart){if(!n.isCollapsed){if(o=(i=n.getRangeAt(0)).startContainer,t.node===o)return;for(;null!==o&&"P"!==o.nodeName;)o=o.parentNode;if(null!==o&&null!==(o=o.nextElementSibling)&&"P"===o.nodeName&&0===o.textContent.replace(/\u200B/g,"").length){for(o=o.nextElementSibling,r=t.node;null!==r&&r!==o;)r=r.parentNode;r===o&&((i=i.cloneRange()).setStart(t.node,0),n.removeAllRanges(),n.addRange(i))}}}else n.isCollapsed&&(a=n.anchorNode,s=this.core.editor()[0],a.nodeType===Node.TEXT_NODE&&a.parentNode===s&&n.anchorOffset===a.textContent.length&&(d=a.nextElementSibling)&&"P"===d.nodeName&&this.caret.start(d))}.bind(this),this.selection.nodes=function(e){var t,n,i,o=void 0===e?[]:$.isArray(e)?e:[e],r=this.selection.get(),a=this.selection.range(r),s=[],l=[];if(this.utils.isCollapsed())s=[this.selection.current()];else{if((t=a.startContainer)===(n=a.endContainer))return[t];for(i=a.commonAncestorContainer;t&&t!==n;)s.push(t=this.selection.nextNode(t,i));for(t=a.startContainer;t&&t!==i;)s.unshift(t),t=t.parentNode}return $.each(s,(function(e,t){if(t){var n=1===t.nodeType&&t.tagName.toLowerCase();if($(t).hasClass("redactor-script-tag")||$(t).hasClass("redactor-selection-marker"))return;if(n&&0!==o.length&&-1===$.inArray(n,o))return;l.push(t)}})),0===l.length?[]:l}.bind(this),this.selection.nextNode=function(e,t){if(e.hasChildNodes())return e.firstChild;for(;e&&!e.nextSibling;)if(e=e.parentNode,t&&e===t)return null;return e?e.nextSibling:null}},paragraphAfterBlock:function(e){var t=e.nextElementSibling;t&&"P"!==t.nodeName&&(t=elCreate("p"),"<p><br></p>"===this.opts.emptyHtml?t.innerHTML="<br>":t.textContent="",e.parentNode.insertBefore(t,e.nextSibling)),this.caret.after(e)},endOfEditor:function(){var e,t=this.core.editor()[0];document.activeElement!==t&&t.focus(),"P"===(e=t.lastElementChild).nodeName?this.caret.end(e):this.caret.after(e)},_initInternalRange:function(){var e,t,n,i,o,r=this.core.editor()[0],a=null,s=window.getSelection(),l=function(){a=s.rangeCount?s.getRangeAt(0).cloneRange():null};this.WoltLabCaret.forceSelectionSave=l,e=function(){var e,t,n,i;if(null!==a){if(document.activeElement===r){if(0!==(e=s.getRangeAt(0)).startOffset)return;for(t=e.startContainer;t;){if(t.parentNode===r){if(t.previousSibling)return;break}if(t.previousSibling)return;t=t.parentNode}if(!t)return}n=r.scrollLeft,i=r.scrollTop,r.focus(),r.scrollLeft=n,r.scrollTop=i,s.removeAllRanges(),s.addRange(a),a=null}},r.addEventListener("keyup",l),r.addEventListener("mouseup",(function(){s.rangeCount&&l()})),t=this.selection.save,this.selection.save=function(){a=null,t.call(this)}.bind(this),n=this.selection.restore,this.selection.restore=function(){a&&null===elBySel(".redactor-selection-marker",this.$editor[0])&&(e(),s.rangeCount&&this.utils.isRedactorParent(s.getRangeAt(0).commonAncestorContainer))||n.call(this)}.bind(this),i=this.buffer.set,this.buffer.set=function(t){if(document.activeElement!==r){var n=window.getSelection();n.rangeCount&&!1!==this.utils.isRedactorParent(n.anchorNode)?r.focus():e()}i.call(this,t),l()}.bind(this),o=this.insert.html,this.insert.html=function(e,t){var n=elBySel(".redactor-selection-marker",this.$editor[0]);o.call(this,e,t),(n||null===elBySel(".redactor-selection-marker",this.$editor[0]))&&l()}.bind(this),require(["Environment"],function(e){"ios"===e.platform()&&(r.addEventListener("focus",(function(){document.addEventListener("selectionchange",l)})),r.addEventListener("blur",(function(){document.removeEventListener("selectionchange",l)})))}.bind(this))},_detectTripleClick:function(e){var t,n,i;e.detail<3||(t=window.getSelection()).isCollapsed||"TR"===(n=t.getRangeAt(0)).commonAncestorContainer.nodeName&&(i=elClosest(n.startContainer,"td"),(n=document.createRange()).selectNodeContents(i),t.removeAllRanges(),t.addRange(n))},_handleEditorClick:function(i){var o,r,a,s,l,d,c,h,u,f=i.clientY,g=t&&e===i.target&&this.utils.isBlockTag(e.nodeName);if(void 0===f&&g&&(f=i.changedTouches[0].clientY),(this.selection.get().isCollapsed||g&&void 0!==f)&&(!1!==(o=this.selection.block())||(this.selection.current()===this.$editor[0]&&(r=this.$editor[0].childNodes[this.selection.get().anchorOffset]).nodeType===Node.ELEMENT_NODE&&"TABLE"===r.nodeName&&(o=r),!1!==o))){for(a=!1,n&&this.utils.isBlockTag(i.target.nodeName)&&f>i.target.getBoundingClientRect().bottom&&(o=i.target,a=!0),s=i.target;s&&!this.utils.isBlockTag(s.nodeName);)s=s.parentNode;if(s&&(a||s!==o)&&("P"!==o.nodeName||(o=o.parentNode)!==this.$editor[0]&&this.utils.isBlockTag(o.nodeName))){if("TD"===o.nodeName)for(;"TABLE"!==o.nodeName;)o=o.parentNode;if(!o.nodeName.match(/^H\d$/)&&!$(o).closest("ol, ul",this.$editor[0]).length){for(c=o;c;){if(f<(d=c.getBoundingClientRect()).top)l=!0,o=c;else{if(!(f>d.bottom))break;l=!1,o=c}if(!c.parentNode||c.parentNode===this.$editor[0])break;c=c.parentNode}void 0!==l&&((h=o[(l?"previous":"next")+"ElementSibling"])&&"P"===h.nodeName?this.caret.end(h):(this.buffer.set(),(u=elCreate("p")).textContent="",o.parentNode.insertBefore(u,l?o:o.nextSibling),this.caret.end(u)))}}}},_handleEditorMouseUp:function(i){var o,r,a,s,l,d=window.getSelection();if(d.isCollapsed||n&&t&&e===i.target&&this.utils.isBlockTag(e.nodeName))if(i.target===this.$editor[0])(o=d.anchorNode).nodeType===Node.TEXT_NODE&&(o=o.parentNode),"KBD"===o.nodeName&&(null!==(r=o.previousSibling)&&""===r.textContent||(r=document.createTextNode(""),o.parentNode.insertBefore(r,o)),this.caret.before(r));else if("KBD"===i.target.nodeName&&(a=i.target,(o=d.anchorNode).nodeType===Node.TEXT_NODE)){for(r=o;(r=r.nextSibling)&&r.nodeType===Node.TEXT_NODE&&(""===r.textContent||""===r.textContent););r===a&&(0!==a.childNodes.length&&""===a.childNodes[0].textContent||(s=document.createTextNode(""),a.insertBefore(s,a.firstChild)),(l=document.createRange()).setStartAfter(a.childNodes[0]),l.setEndAfter(a.childNodes[0]),d.removeAllRanges(),d.addRange(l))}},_addParagraphAfterBlock:function(e){var t=e.nextElementSibling;t&&("P"===t.nodeName||this.utils.isBlockTag(t.nodeName))||((t=elCreate("p")).textContent="",e.parentNode.insertBefore(t,e.nextSibling))}}}; })(this);
-var requirejs,require,define,__extends,__assign,__rest,__decorate,__param,__metadata,__awaiter,__generator,__exportStar,__values,__read,__spread,__spreadArrays,__await,__asyncGenerator,__asyncDelegator,__asyncValues,__makeTemplateObject,__importStar,__importDefault,__classPrivateFieldGet,__classPrivateFieldSet,__createBinding,_self,Prism;(function(global,Promise,undef){function commentReplace(e,t){return t||""}function hasProp(e,t){return hasOwn.call(e,t)}function getOwn(e,t){return e&&hasProp(e,t)&&e[t]}function obj(){return Object.create(null)}function eachProp(e,t){var i;for(i in e)if(hasProp(e,i)&&t(e[i],i))break}function mixin(e,t,i,n){return t&&eachProp(t,(function(t,o){!i&&hasProp(e,o)||(!n||"object"!=typeof t||!t||Array.isArray(t)||"function"==typeof t||t instanceof RegExp?e[o]=t:(e[o]||(e[o]={}),mixin(e[o],t,i,n)))})),e}function getGlobal(e){if(!e)return e;var t=global;return e.split(".").forEach((function(e){t=t[e]})),t}function newContext(e){function t(e,t,i){var n,o,r,a,s,l,c,d,u,h,p=t&&t.split("/"),m=I.map,f=m&&m["*"];if(e&&(l=(e=e.split("/")).length-1,I.nodeIdCompat&&jsSuffixRegExp.test(e[l])&&(e[l]=e[l].replace(jsSuffixRegExp,"")),"."===e[0].charAt(0)&&p&&(e=p.slice(0,p.length-1).concat(e)),function(e){var t,i,n=e.length;for(t=0;t<n;t++)if("."===(i=e[t]))e.splice(t,1),t-=1;else if(".."===i){if(0===t||1===t&&".."===e[2]||".."===e[t-1])continue;t>0&&(e.splice(t-1,2),t-=2)}}(e),e=e.join("/")),i&&m&&(p||f)){e:for(r=(o=e.split("/")).length;r>0;r-=1){if(s=o.slice(0,r).join("/"),p)for(a=p.length;a>0;a-=1)if((n=getOwn(m,p.slice(0,a).join("/")))&&(n=getOwn(n,s))){c=n,d=r;break e}!u&&f&&getOwn(f,s)&&(u=getOwn(f,s),h=r)}!c&&u&&(c=u,d=h),c&&(o.splice(0,d,c),e=o.join("/"))}return getOwn(I.pkgs,e)||e}function i(e){var t,i,n,o;for(t=0;t<queue.length;t+=1){if("string"!=typeof queue[t][0]){if(!e)break;queue[t].unshift(e),e=undef}t-=1,(i=(n=queue.shift())[0])in C||i in A||(i in D?_.apply(undef,n):A[i]=n)}e&&(o=getOwn(I.shim,e)||{},_(e,o.deps||[],o.exportsFn))}function n(e,n){var o=function(t,r,a,s){var l,c;if(n&&i(),"string"==typeof t){if(y[t])return y[t](e);if(!((l=v(t,e,!0).id)in C))throw new Error("Not loaded: "+l);return C[l]}return t&&!Array.isArray(t)&&(c=t,t=undef,Array.isArray(r)&&(t=r,r=a,a=s),n)?o.config(c)(t,r,a):(r=r||function(){return slice.call(arguments,0)},U.then((function(){return i(),_(undef,t||[],r,a,e)})))};return o.isBrowser="undefined"!=typeof document&&"undefined"!=typeof navigator,o.nameToUrl=function(e,t,i){var n,r,a,s,l,c,d=getOwn(I.pkgs,e);if(d&&(e=d),c=getOwn(O,e))return o.nameToUrl(c,t,i);if(urlRegExp.test(e))s=e+(t||"");else{for(n=I.paths,a=(r=e.split("/")).length;a>0;a-=1)if(l=getOwn(n,r.slice(0,a).join("/"))){Array.isArray(l)&&(l=l[0]),r.splice(0,a,l);break}s=r.join("/"),s=("/"===(s+=t||(/^data\:|^blob\:|\?/.test(s)||i?"":".js")).charAt(0)||s.match(/^[\w\+\.\-]+:/)?"":I.baseUrl)+s}return I.urlArgs&&!/^blob\:/.test(s)?s+I.urlArgs(e,s):s},o.toUrl=function(i){var n,r=i.lastIndexOf("."),a=i.split("/")[0];return-1!==r&&(!("."===a||".."===a)||r>1)&&(n=i.substring(r,i.length),i=i.substring(0,r)),o.nameToUrl(t(i,e),n,!0)},o.defined=function(t){return v(t,e,!0).id in C},o.specified=function(t){return(t=v(t,e,!0).id)in C||t in D},o}function o(e,t,i){e&&(C[e]=i,requirejs.onResourceLoad&&requirejs.onResourceLoad(L,t.map,t.deps)),t.finished=!0,t.resolve(i)}function r(e,t){e.finished=!0,e.rejected=!0,e.reject(t)}function a(e){e.factoryCalled=!0;var t,i=e.map.id;try{t=L.execCb(i,e.factory,e.values,C[i])}catch(t){return r(e,t)}i?t===undef&&(e.cjsModule?t=e.cjsModule.exports:e.usingExports&&(t=C[i])):k.splice(k.indexOf(e),1),o(i,e,t)}function s(e,t){this.rejected||this.depDefined[t]||(this.depDefined[t]=!0,this.depCount+=1,this.values[t]=e,this.depending||this.depCount!==this.depMax||a(this))}function l(e,t){var i={};return i.promise=new Promise((function(t,n){i.resolve=t,i.reject=function(t){e||k.splice(k.indexOf(i),1),n(t)}})),i.map=e?t||v(e):{},i.depCount=0,i.depMax=0,i.values=[],i.depDefined=[],i.depFinished=s,i.map.pr&&(i.deps=[v(i.map.pr)]),i}function c(e,t){var i;return e?(i=e in D&&D[e])||(i=D[e]=l(e,t)):(i=l(),k.push(i)),i}function d(e,t){return function(i){e.rejected||(i.dynaId||(i.dynaId="id"+(P+=1),i.requireModules=[t]),r(e,i))}}function u(e,t,i,n){i.depMax+=1,w(e,t).then((function(e){i.depFinished(e,n)}),d(i,e.id)).catch(d(i,i.map.id))}function h(e,t,a){e.load(t.n,n(a),function(e){function t(t){n||o(e,c(e),t)}var n;return t.error=function(t){c(e).reject(t)},t.fromText=function(t,o){var a=c(e),s=v(v(e).n),l=s.id;n=!0,a.factory=function(e,t){return t},o&&(t=o),hasProp(I.config,e)&&(I.config[l]=I.config[e]);try{b.exec(t)}catch(e){r(a,new Error("fromText eval for "+l+" failed: "+e))}i(l),a.deps=[s],u(s,null,a,a.deps.length)},t}(t.id),I)}function p(e){var t,i=e?e.indexOf("!"):-1;return i>-1&&(t=e.substring(0,i),e=e.substring(i+1,e.length)),[t,e]}function m(e,t,i){var n=e.map.id;t[n]=!0,!e.finished&&e.deps&&e.deps.forEach((function(n){var o=n.id,r=!hasProp(y,o)&&c(o,n);!r||r.finished||i[o]||(hasProp(t,o)?e.deps.forEach((function(t,i){t.id===o&&e.depFinished(C[o],i)})):m(r,t,i))})),i[n]=!0}function f(e){var t,i,n,o=[],r=1e3*I.waitSeconds,a=r&&B+r<(new Date).getTime();if(0===j&&(e?e.finished||m(e,{},{}):k.length&&k.forEach((function(e){m(e,{},{})}))),a){for(i in D)(n=D[i]).finished||o.push(n.map.id);(t=new Error("Timeout for modules: "+o)).requireModules=o,b.onError(t)}else(j||k.length)&&(E||(E=!0,setTimeout((function(){E=!1,f()}),70)))}function g(e){return setTimeout((function(){e.dynaId&&N[e.dynaId]||(N[e.dynaId]=!0,b.onError(e))})),e}var b,_,v,w,y,E,S,L,C=obj(),A=obj(),I={waitSeconds:7,baseUrl:"./",paths:{},bundles:{},pkgs:{},shim:{},config:{}},x=obj(),k=[],D=obj(),T=obj(),M=obj(),j=0,B=(new Date).getTime(),P=0,N=obj(),q=obj(),O=obj(),U=Promise.resolve();return S="function"==typeof importScripts?function(e){var t=e.url;q[t]||(q[t]=!0,c(e.id),importScripts(t),i(e.id))}:function(e){var t,n=e.id,o=e.url;q[o]||(q[o]=!0,(t=document.createElement("script")).setAttribute("data-requiremodule",n),t.type=I.scriptType||"text/javascript",t.charset="utf-8",t.async=!0,j+=1,t.addEventListener("load",(function(){j-=1,i(n)}),!1),t.addEventListener("error",(function(){var e,i,o;j-=1,(i=getOwn(I.paths,n))&&Array.isArray(i)&&i.length>1?(t.parentNode.removeChild(t),i.shift(),(o=c(n)).map=v(n),o.map.url=b.nameToUrl(n),S(o.map)):((e=new Error("Load failed: "+n+": "+t.src)).requireModules=[n],c(n).reject(e))}),!1),t.src=o,10===document.documentMode?asap.then((function(){document.head.appendChild(t)})):document.head.appendChild(t))},w=function(e,t){var i,n,o=e.id,r=I.shim[o];if(o in A)i=A[o],delete A[o],_.apply(undef,i);else if(!(o in D))if(e.pr){if(!(n=getOwn(O,o)))return w(v(e.pr)).then((function(i){var n=e.prn?e:v(o,t,!0),r=n.id,a=getOwn(I.shim,r);return r in M||(M[r]=!0,a&&a.deps?b(a.deps,(function(){h(i,n,t)})):h(i,n,t)),c(r).promise}));e.url=b.nameToUrl(n),S(e)}else r&&r.deps?b(r.deps,(function(){S(e)})):S(e);return c(o).promise},v=function(e,i,n){if("string"!=typeof e)return e;var o,r,a,s,l,c,d=e+" & "+(i||"")+" & "+!!n;return s=(a=p(e))[0],e=a[1],!s&&d in x?x[d]:(s&&(o=(s=t(s,i,n))in C&&C[s]),s?o&&o.normalize?(e=o.normalize(e,function(e){return function(i){return t(i,e,!0)}}(i)),c=!0):e=-1===e.indexOf("!")?t(e,i,n):e:(s=(a=p(e=t(e,i,n)))[0],e=a[1],r=b.nameToUrl(e)),l={id:s?s+"!"+e:e,n:e,pr:s,url:r,prn:s&&c},s||(x[d]=l),l)},y={require:function(e){return n(e)},exports:function(e){var t=C[e];return void 0!==t?t:C[e]={}},module:function(e){return{id:e,uri:"",exports:y.exports(e),config:function(){return getOwn(I.config,e)||{}}}}},_=function(e,t,i,n,r){if(e){if(e in T)return;T[e]=!0}var s=c(e);return t&&!Array.isArray(t)&&(i=t,t=[]),t=t?slice.call(t,0):null,n||(hasProp(I,"defaultErrback")?I.defaultErrback&&(n=I.defaultErrback):n=g),n&&s.promise.catch(n),r=r||e,"function"==typeof i?(!t.length&&i.length&&(i.toString().replace(commentRegExp,commentReplace).replace(cjsRequireRegExp,(function(e,i){t.push(i)})),t=(1===i.length?["require"]:["require","exports","module"]).concat(t)),s.factory=i,s.deps=t,s.depending=!0,t.forEach((function(i,n){var o;t[n]=o=v(i,r,!0),"require"===(i=o.id)?s.values[n]=y.require(e):"exports"===i?(s.values[n]=y.exports(e),s.usingExports=!0):"module"===i?s.values[n]=s.cjsModule=y.module(e):void 0===i?s.values[n]=void 0:u(o,r,s,n)})),s.depending=!1,s.depCount===s.depMax&&a(s)):e&&o(e,s,i),B=(new Date).getTime(),e||f(s),s.promise},(b=n(null,!0)).config=function(t){var i,n,o,r;return t.context&&t.context!==e?(i=getOwn(contexts,t.context))?i.req.config(t):newContext(t.context).config(t):(x=obj(),t.baseUrl&&"/"!==t.baseUrl.charAt(t.baseUrl.length-1)&&(t.baseUrl+="/"),"string"==typeof t.urlArgs&&(n=t.urlArgs,t.urlArgs=function(e,t){return(-1===t.indexOf("?")?"?":"&")+n}),o=I.shim,r={paths:!0,bundles:!0,config:!0,map:!0},eachProp(t,(function(e,t){r[t]?(I[t]||(I[t]={}),mixin(I[t],e,!0,!0)):I[t]=e})),t.bundles&&eachProp(t.bundles,(function(e,t){e.forEach((function(e){e!==t&&(O[e]=t)}))})),t.shim&&(eachProp(t.shim,(function(e,t){Array.isArray(e)&&(e={deps:e}),!e.exports&&!e.init||e.exportsFn||(e.exportsFn=function(e){return function(){var t;return e.init&&(t=e.init.apply(global,arguments)),t||e.exports&&getGlobal(e.exports)}}(e)),o[t]=e})),I.shim=o),t.packages&&t.packages.forEach((function(e){var t;t=(e="string"==typeof e?{name:e}:e).name,e.location&&(I.paths[t]=e.location),I.pkgs[t]=e.name+"/"+(e.main||"main").replace(currDirRegExp,"").replace(jsSuffixRegExp,"")})),(t.deps||t.callback)&&b(t.deps,t.callback),b)},b.onError=function(e){throw e},L={id:e,defined:C,waiting:A,config:I,deferreds:D,req:b,execCb:function(e,t,i,n){return t.apply(n,i)}},contexts[e]=L,b}var topReq,dataMain,src,subPath,bootstrapConfig,hasOwn,contexts,queue,currDirRegExp,urlRegExp,commentRegExp,cjsRequireRegExp,jsSuffixRegExp,slice,asap;if(!Promise)throw new Error("No Promise implementation available");bootstrapConfig=requirejs||require,hasOwn=Object.prototype.hasOwnProperty,contexts={},queue=[],currDirRegExp=/^\.\//,urlRegExp=/^\/|\:|\?|\.js$/,commentRegExp=/\/\*[\s\S]*?\*\/|([^:"'=]|^)\/\/.*$/gm,cjsRequireRegExp=/[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g,jsSuffixRegExp=/\.js$/,slice=Array.prototype.slice,"function"!=typeof requirejs&&(asap=Promise.resolve(void 0),requirejs=topReq=newContext("_"),"function"!=typeof require&&(require=topReq),topReq.exec=function(text){return eval(text)},topReq.contexts=contexts,define=function(){queue.push(slice.call(arguments,0))},define.amd={jQuery:!0},bootstrapConfig&&topReq.config(bootstrapConfig),topReq.isBrowser&&!contexts._.config.skipDataMain&&(dataMain=document.querySelectorAll("script[data-main]")[0],dataMain=dataMain&&dataMain.getAttribute("data-main"),dataMain&&(dataMain=dataMain.replace(jsSuffixRegExp,""),bootstrapConfig&&bootstrapConfig.baseUrl||-1!==dataMain.indexOf("!")||(src=dataMain.split("/"),dataMain=src.pop(),subPath=src.length?src.join("/")+"/":"./",topReq.config({baseUrl:subPath})),topReq([dataMain]))))})(this,"undefined"!=typeof Promise?Promise:void 0),define("requireLib",(function(){})),requirejs.config({paths:{favico:"3rdParty/favico","perfect-scrollbar":"3rdParty/perfect-scrollbar",Pica:"3rdParty/pica",pica:"3rdParty/pica",prism:"3rdParty/prism",prismjs:"3rdParty/prism/prism","qr-creator":"3rdParty/qr-creator.min",tslib:"3rdParty/tslib",zxcvbn:"3rdParty/zxcvbn"},shim:{favico:{exports:"Favico"},"perfect-scrollbar":{exports:"PerfectScrollbar"},"qr-creator":{exports:"QrCreator"}},map:{"*":{Ajax:"WoltLabSuite/Core/Ajax",AjaxJsonp:"WoltLabSuite/Core/Ajax/Jsonp",AjaxRequest:"WoltLabSuite/Core/Ajax/Request",CallbackList:"WoltLabSuite/Core/CallbackList",ColorUtil:"WoltLabSuite/Core/ColorUtil",Core:"WoltLabSuite/Core/Core",DateUtil:"WoltLabSuite/Core/Date/Util",Devtools:"WoltLabSuite/Core/Devtools",Dictionary:"WoltLabSuite/Core/Dictionary","Dom/ChangeListener":"WoltLabSuite/Core/Dom/Change/Listener","Dom/Traverse":"WoltLabSuite/Core/Dom/Traverse","Dom/Util":"WoltLabSuite/Core/Dom/Util",Environment:"WoltLabSuite/Core/Environment",EventHandler:"WoltLabSuite/Core/Event/Handler",EventKey:"WoltLabSuite/Core/Event/Key",Language:"WoltLabSuite/Core/Language",List:"WoltLabSuite/Core/List",ObjectMap:"WoltLabSuite/Core/ObjectMap",Permission:"WoltLabSuite/Core/Permission",StringUtil:"WoltLabSuite/Core/StringUtil","Ui/Alignment":"WoltLabSuite/Core/Ui/Alignment","Ui/CloseOverlay":"WoltLabSuite/Core/Ui/CloseOverlay","Ui/Confirmation":"WoltLabSuite/Core/Ui/Confirmation","Ui/Dialog":"WoltLabSuite/Core/Ui/Dialog","Ui/Notification":"WoltLabSuite/Core/Ui/Notification","Ui/ReusableDropdown":"WoltLabSuite/Core/Ui/Dropdown/Reusable","Ui/Screen":"WoltLabSuite/Core/Ui/Screen","Ui/Scroll":"WoltLabSuite/Core/Ui/Scroll","Ui/SimpleDropdown":"WoltLabSuite/Core/Ui/Dropdown/Simple","Ui/TabMenu":"WoltLabSuite/Core/Ui/TabMenu",Upload:"WoltLabSuite/Core/Upload",User:"WoltLabSuite/Core/User"}},waitSeconds:0}),define("jquery",[],(function(){return window.jQuery})),define("require.config",(function(){})),function(e,t){var i;e.elAttr=function(e,t,i){if(void 0===i)return e.getAttribute(t)||"";e.setAttribute(t,i)},e.elAttrBool=function(e,t){var i=elAttr(e,t);return"1"===i||"true"===i},e.elByClass=function(e,i){return(i||t).getElementsByClassName(e)},e.elById=function(e){return t.getElementById(e)},e.elBySel=function(e,i){return(i||t).querySelector(e)},e.elBySelAll=function(e,i,n){var o=(i||t).querySelectorAll(e);return"function"==typeof n&&Array.prototype.forEach.call(o,n),o},e.elByTag=function(e,i){return(i||t).getElementsByTagName(e)},e.elCreate=function(e){return t.createElement(e)},e.elClosest=function(e,t){if(!(e instanceof Node))throw new TypeError("Provided element is not a Node.");return e.nodeType===Node.TEXT_NODE&&null===(e=e.parentNode)?null:("string"!=typeof t&&(t=""),0===t.length?e:e.closest(t))},e.elData=function(e,t,i){if(t="data-"+t,void 0===i)return e.getAttribute(t)||"";e.setAttribute(t,i)},e.elDataBool=function(e,t){var i=elData(e,t);return"1"===i||"true"===i},e.elHide=function(e){e.style.setProperty("display","none","")},e.elIsHidden=function(e){return"none"===e.style.getPropertyValue("display")},e.elInnerError=function(e,t,i){var n,o=e.parentNode;if(null===o)throw new Error("Only elements that have a parent element or document are valid.");if("string"!=typeof t){if(null!=t&&!1!==t)throw new TypeError("The error message must be a string; `false`, `null` or `undefined` can be used as a substitute for an empty string.");t=""}return null!==(n=e.nextElementSibling)&&"SMALL"===n.nodeName&&n.classList.contains("innerError")||(""===t?n=null:((n=elCreate("small")).className="innerError",o.insertBefore(n,e.nextSibling))),""===t?null!==n&&(o.removeChild(n),n=null):n[i?"innerHTML":"textContent"]=t,n},e.elRemove=function(e){e.parentNode.removeChild(e)},e.elShow=function(e){e.style.removeProperty("display")},e.elToggle=function(e){"none"===e.style.getPropertyValue("display")?elShow(e):elHide(e)},e.forEach=function(e,t){for(var i=0,n=e.length;i<n;i++)t(e[i],i)},e.objOwns=function(e,t){return e.hasOwnProperty(t)},e.debounce=function(e,t,i){var n;return function(){var o=this,r=arguments;clearTimeout(n),n=setTimeout((function(){n=null,i||e.apply(o,r)}),t),i&&!n&&e.apply(o,r)}},Object.defineProperty(e,"WCF_CLICK_EVENT",{value:"click"}),i=0,function t(){e.history.state&&e.history.state.name&&"initial"!==e.history.state.name?(e.history.replaceState({name:"skip",depth:++i},""),e.history.back(),setTimeout(t,1)):e.history.replaceState({name:"initial"},"")}(),e.addEventListener("popstate",(function(t){t.state&&t.state.name&&"skip"===t.state.name&&e.history.go(t.state.depth)})),e.String.prototype.hashCode=function(){var e,t,i=0;if(this.length)for(e=0,t=this.length;e<t;e++)i=(i<<5)-i+this.charCodeAt(e),i&=i;return i}}(window,document),define("wcf.globalHelper",(function(){})),function(){var e=function(e){"use strict";function t(e){if(e.paused||e.ended||g)return!1;try{d.clearRect(0,0,l,s),d.drawImage(e,0,0,l,s)}catch(e){}v=setTimeout((function(){t(e)}),j.duration),M.setIcon(c)}function i(e){var t,i=/^#?([a-f\d])([a-f\d])([a-f\d])$/i;return e=e.replace(i,(function(e,t,i,n){return t+t+i+i+n+n})),!!(t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e))&&{r:parseInt(t[1],16),g:parseInt(t[2],16),b:parseInt(t[3],16)}}function n(e,t){var i,n={};for(i in e)n[i]=e[i];for(i in t)n[i]=t[i];return n}var o,r,a,s,l,c,d,u,h,p,m,f,g,b,_,v,w,y,E,S,L,C,A,I,x,k,D,T,M,j;return e=e||{},o={bgColor:"#d00",textColor:"#fff",fontFamily:"sans-serif",fontStyle:"bold",type:"circle",position:"down",animation:"slide",elementId:!1,element:null,dataUrl:!1,win:window},(b={}).ff="undefined"!=typeof InstallTrigger,b.chrome=!!window.chrome,b.opera=!!window.opera||navigator.userAgent.indexOf("Opera")>=0,b.ie=!1,b.safari=Object.prototype.toString.call(window.HTMLElement).indexOf("Constructor")>0,b.supported=b.chrome||b.ff||b.opera,y=[],f=function(){},h=g=!1,E=function(){var t,h,p,m,f,g;if((r=n(o,e)).bgColor=i(r.bgColor),r.textColor=i(r.textColor),r.position=r.position.toLowerCase(),r.animation=j.types[""+r.animation]?r.animation:o.animation,w=r.win.document,t=r.position.indexOf("up")>-1,h=r.position.indexOf("left")>-1,t||h)for(p in j.types)for(m=0;m<j.types[p].length;m++)f=j.types[p][m],t&&(f.y<.6?f.y=f.y-.4:f.y=f.y-2*f.y+(1-f.w)),h&&(f.x<.6?f.x=f.x-.4:f.x=f.x-2*f.x+(1-f.h)),j.types[p][m]=f;r.type=L[""+r.type]?r.type:o.type,a=M.getIcons(),c=document.createElement("canvas"),u=document.createElement("img"),(g=a[a.length-1]).hasAttribute("href")?(u.setAttribute("crossOrigin","anonymous"),u.onload=function(){s=u.height>0?u.height:32,l=u.width>0?u.width:32,c.height=s,c.width=l,d=c.getContext("2d"),S.ready()},u.setAttribute("src",g.getAttribute("href"))):(s=32,l=32,u.height=s,u.width=l,c.height=s,c.width=l,d=c.getContext("2d"),S.ready())},(S={}).ready=function(){h=!0,S.reset(),f()},S.reset=function(){h&&(y=[],p=!1,m=!1,d.clearRect(0,0,l,s),d.drawImage(u,0,0,l,s),M.setIcon(c),window.clearTimeout(_),window.clearTimeout(v))},S.start=function(){var e,t;h&&!m&&(e=function(){p=y[0],m=!1,y.length>0&&(y.shift(),S.start())},y.length>0&&(m=!0,t=function(){["type","animation","bgColor","textColor","fontFamily","fontStyle"].forEach((function(e){e in y[0].options&&(r[e]=y[0].options[e])})),j.run(y[0].options,(function(){e()}),!1)},p?j.run(p.options,(function(){t()}),!0):t()))},C=function(e){return e.n="number"==typeof e.n?Math.abs(0|e.n):e.n,e.x=l*e.x,e.y=s*e.y,e.w=l*e.w,e.h=s*e.h,e.len=(""+e.n).length,e},(L={}).circle=function(e){var t=!1;2===(e=C(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),d.clearRect(0,0,l,s),d.drawImage(u,0,0,l,s),d.beginPath(),d.font=r.fontStyle+" "+Math.floor(e.h*(e.n>99?.85:1))+"px "+r.fontFamily,d.textAlign="center",t?(d.moveTo(e.x+e.w/2,e.y),d.lineTo(e.x+e.w-e.h/2,e.y),d.quadraticCurveTo(e.x+e.w,e.y,e.x+e.w,e.y+e.h/2),d.lineTo(e.x+e.w,e.y+e.h-e.h/2),d.quadraticCurveTo(e.x+e.w,e.y+e.h,e.x+e.w-e.h/2,e.y+e.h),d.lineTo(e.x+e.h/2,e.y+e.h),d.quadraticCurveTo(e.x,e.y+e.h,e.x,e.y+e.h-e.h/2),d.lineTo(e.x,e.y+e.h/2),d.quadraticCurveTo(e.x,e.y,e.x+e.h/2,e.y)):d.arc(e.x+e.w/2,e.y+e.h/2,e.h/2,0,2*Math.PI),d.fillStyle="rgba("+r.bgColor.r+","+r.bgColor.g+","+r.bgColor.b+","+e.o+")",d.fill(),d.closePath(),d.beginPath(),d.stroke(),d.fillStyle="rgba("+r.textColor.r+","+r.textColor.g+","+r.textColor.b+","+e.o+")","number"==typeof e.n&&e.n>999?d.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)):d.fillText(e.n,Math.floor(e.x+e.w/2),Math.floor(e.y+e.h-.15*e.h)),d.closePath()},L.rectangle=function(e){2===(e=C(e)).len?(e.x=e.x-.4*e.w,e.w=1.4*e.w):e.len>=3&&(e.x=e.x-.65*e.w,e.w=1.65*e.w),d.clearRect(0,0,l,s),d.drawImage(u,0,0,l,s),d.beginPath(),d.font=r.fontStyle+" "+Math.floor(e.h*(e.n>99?.9:1))+"px "+r.fontFamily,d.textAlign="center",d.fillStyle="rgba("+r.bgColor.r+","+r.bgColor.g+","+r.bgColor.b+","+e.o+")",d.fillRect(e.x,e.y,e.w,e.h),d.fillStyle="rgba("+r.textColor.r+","+r.textColor.g+","+r.textColor.b+","+e.o+")","number"==typeof e.n&&e.n>999?d.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)):d.fillText(e.n,Math.floor(e.x+e.w/2),Math.floor(e.y+e.h-.15*e.h)),d.closePath()},A=function(e,t){t=("string"==typeof t?{animation:t}:t)||{},f=function(){try{if("number"==typeof e?e>0:""!==e){var n={type:"badge",options:{n:e}};if("animation"in t&&j.types[""+t.animation]&&(n.options.animation=""+t.animation),"type"in t&&L[""+t.type]&&(n.options.type=""+t.type),["bgColor","textColor"].forEach((function(e){e in t&&(n.options[e]=i(t[e]))})),["fontStyle","fontFamily"].forEach((function(e){e in t&&(n.options[e]=t[e])})),y.push(n),y.length>100)throw new Error("Too many badges requests in queue.");S.start()}else S.reset()}catch(e){throw new Error("Error setting badge. Message: "+e.message)}},h&&f()},I=function(e){f=function(){var t,i,n,o;try{t=e.width,i=e.height,n=document.createElement("img"),o=t/l<i/s?t/l:i/s,n.setAttribute("crossOrigin","anonymous"),n.onload=function(){d.clearRect(0,0,l,s),d.drawImage(n,0,0,l,s),M.setIcon(c)},n.setAttribute("src",e.getAttribute("src")),n.height=i/o,n.width=t/o}catch(e){throw new Error("Error setting image. Message: "+e.message)}},h&&f()},x=function(e){f=function(){M.setIconSrc(e)},h&&f()},k=function(e){f=function(){try{if("stop"===e)return g=!0,S.reset(),void(g=!1);e.addEventListener("play",(function(){t(this)}),!1)}catch(e){throw new Error("Error setting video. Message: "+e.message)}},h&&f()},D=function(e){if(window.URL&&window.URL.createObjectURL||(window.URL=window.URL||{},window.URL.createObjectURL=function(e){return e}),b.supported){var i=!1;navigator.getUserMedia=navigator.getUserMedia||navigator.oGetUserMedia||navigator.msGetUserMedia||navigator.mozGetUserMedia||navigator.webkitGetUserMedia,f=function(){try{if("stop"===e)return g=!0,S.reset(),void(g=!1);(i=document.createElement("video")).width=l,i.height=s,navigator.getUserMedia({video:!0,audio:!1},(function(e){i.src=URL.createObjectURL(e),i.play(),t(i)}),(function(){}))}catch(e){throw new Error("Error setting webcam. Message: "+e.message)}},h&&f()}},T=function(e,t){var n,o,a=e;for(null==t&&"[object Object]"==Object.prototype.toString.call(e)||((a={})[e]=t),n=Object.keys(a),o=0;o<n.length;o++)"bgColor"==n[o]||"textColor"==n[o]?r[n[o]]=i(a[n[o]]):r[n[o]]=a[n[o]];y.push(p),S.start()},(M={}).getIcons=function(){var e=[],t=function(){var e,t=[],i=w.getElementsByTagName("head")[0].getElementsByTagName("link");for(e=0;e<i.length;e++)/(^|\s)icon(\s|$)/i.test(i[e].getAttribute("rel"))&&t.push(i[e]);return t};return r.element?e=[r.element]:r.elementId?(e=[w.getElementById(r.elementId)])[0].setAttribute("href",e[0].getAttribute("src")):0===(e=t()).length&&((e=[w.createElement("link")])[0].setAttribute("rel","icon"),w.getElementsByTagName("head")[0].appendChild(e[0])),e.forEach((function(e){e.setAttribute("type","image/png")})),e},M.setIcon=function(e){var t=e.toDataURL("image/png");M.setIconSrc(t)},M.setIconSrc=function(e){var t,i,n;r.dataUrl&&r.dataUrl(e),r.element?(r.element.setAttribute("href",e),r.element.setAttribute("src",e)):r.elementId?((t=w.getElementById(r.elementId)).setAttribute("href",e),t.setAttribute("src",e)):b.ff||b.opera?(i=a[a.length-1],n=w.createElement("link"),a=[n],b.opera&&n.setAttribute("rel","icon"),n.setAttribute("rel","icon"),n.setAttribute("type","image/png"),w.getElementsByTagName("head")[0].appendChild(n),n.setAttribute("href",e),i.parentNode&&i.parentNode.removeChild(i)):a.forEach((function(t){t.setAttribute("href",e)}))},(j={}).duration=40,j.types={},j.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}],j.types.none=[{x:.4,y:.4,w:.6,h:.6,o:1}],j.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}],j.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}],j.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}],j.run=function(e,t,i,o){var a=j.types[w.hidden||w.msHidden||w.webkitHidden||w.mozHidden?"none":r.animation];o=!0===i?void 0!==o?o:a.length-1:void 0!==o?o:0,t=t||function(){},o<a.length&&o>=0?(L[r.type](n(e,a[o])),_=setTimeout((function(){i?o-=1:o+=1,j.run(e,t,i,o)}),j.duration),M.setIcon(c)):t()},E(),{badge:A,video:k,image:I,rawImageSrc:x,webcam:D,setOpt:T,reset:S.reset,browser:{supported:b.supported}}};void 0!==define&&define.amd?define("favico",[],(function(){return e})):"undefined"!=typeof module&&module.exports?module.exports=e:this.Favico=e}(),function(e){function t(e,t){return e!==i&&("function"==typeof Object.create?Object.defineProperty(e,"__esModule",{value:!0}):e.__esModule=!0),function(i,n){return e[i]=t?t(i,n):n}}var i="object"==typeof global?global:"object"==typeof self?self:"object"==typeof this?this:{};"function"==typeof define&&define.amd?define("tslib",["exports"],(function(n){e(t(i,t(n)))})):"object"==typeof module&&"object"==typeof module.exports?e(t(i,t(module.exports))):e(t(i))}((function(e){var t,i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])};__extends=function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},__assign=Object.assign||function(e){var t,i,n,o;for(i=1,n=arguments.length;i<n;i++)for(o in t=arguments[i])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},__rest=function(e,t){var i,n,o={};for(i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(o[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(n=0,i=Object.getOwnPropertySymbols(e);n<i.length;n++)t.indexOf(i[n])<0&&Object.prototype.propertyIsEnumerable.call(e,i[n])&&(o[i[n]]=e[i[n]]);return o},__decorate=function(e,t,i,n){var o,r,a=arguments.length,s=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,n);else for(r=e.length-1;r>=0;r--)(o=e[r])&&(s=(a<3?o(s):a>3?o(t,i,s):o(t,i))||s);return a>3&&s&&Object.defineProperty(t,i,s),s},__param=function(e,t){return function(i,n){t(i,n,e)}},__metadata=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},__awaiter=function(e,t,i,n){return new(i||(i=Promise))((function(o,r){function a(e){try{l(n.next(e))}catch(e){r(e)}}function s(e){try{l(n.throw(e))}catch(e){r(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(a,s)}l((n=n.apply(e,t||[])).next())}))},__generator=function(e,t){function i(i){return function(a){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,o&&(r=2&i[0]?o.return:i[0]?o.throw||((r=o.return)&&r.call(o),0):o.next)&&!(r=r.call(o,i[1])).done)return r;switch(o=0,r&&(i=[2&i[0],r.value]),i[0]){case 0:case 1:r=i;break;case 4:return s.label++,{value:i[1],done:!1};case 5:s.label++,o=i[1],i=[0];continue;case 7:i=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==i[0]&&2!==i[0])){s=0;continue}if(3===i[0]&&(!r||i[1]>r[0]&&i[1]<r[3])){s.label=i[1];break}if(6===i[0]&&s.label<r[1]){s.label=r[1],r=i;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(i);break}r[2]&&s.ops.pop(),s.trys.pop();continue}i=t.call(e,s)}catch(e){i=[6,e],o=0}finally{n=r=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,a])}}var n,o,r,a,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return a={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a},__exportStar=function(e,t){for(var i in e)"default"===i||Object.prototype.hasOwnProperty.call(t,i)||__createBinding(t,e,i)},__createBinding=Object.create?function(e,t,i,n){void 0===n&&(n=i),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[i]}})}:function(e,t,i,n){void 0===n&&(n=i),e[n]=t[i]},__values=function(e){var t="function"==typeof Symbol&&Symbol.iterator,i=t&&e[t],n=0;if(i)return i.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},__read=function(e,t){var i,n,o,r,a="function"==typeof Symbol&&e[Symbol.iterator];if(!a)return e;i=a.call(e),o=[];try{for(;(void 0===t||t-- >0)&&!(n=i.next()).done;)o.push(n.value)}catch(e){r={error:e}}finally{try{n&&!n.done&&(a=i.return)&&a.call(i)}finally{if(r)throw r.error}}return o},__spread=function(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(__read(arguments[t]));return e},__spreadArrays=function(){var e,t,i,n,o,r,a,s;for(e=0,t=0,i=arguments.length;t<i;t++)e+=arguments[t].length;for(n=Array(e),o=0,t=0;t<i;t++)for(a=0,s=(r=arguments[t]).length;a<s;a++,o++)n[o]=r[a];return n},__await=function(e){return this instanceof __await?(this.v=e,this):new __await(e)},__asyncGenerator=function(e,t,i){function n(e){c[e]&&(l[e]=function(t){return new Promise((function(i,n){d.push([e,t,i,n])>1||o(e,t)}))})}function o(e,t){try{(i=c[e](t)).value instanceof __await?Promise.resolve(i.value.v).then(r,a):s(d[0][2],i)}catch(e){s(d[0][3],e)}var i}function r(e){o("next",e)}function a(e){o("throw",e)}function s(e,t){e(t),d.shift(),d.length&&o(d[0][0],d[0][1])}if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var l,c=i.apply(e,t||[]),d=[];return l={},n("next"),n("throw"),n("return"),l[Symbol.asyncIterator]=function(){return this},l},__asyncDelegator=function(e){function t(t,o){i[t]=e[t]?function(i){return(n=!n)?{value:__await(e[t](i)),done:"return"===t}:o?o(i):i}:o}var i,n;return i={},t("next"),t("throw",(function(e){throw e})),t("return"),i[Symbol.iterator]=function(){return this},i},__asyncValues=function(e){function t(t){i[t]=e[t]&&function(i){return new Promise((function(n,o){(function(e,t,i,n){Promise.resolve(n).then((function(t){e({value:t,done:i})}),t)})(n,o,(i=e[t](i)).done,i.value)}))}}if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i,n=e[Symbol.asyncIterator];return n?n.call(e):(e="function"==typeof __values?__values(e):e[Symbol.iterator](),i={},t("next"),t("throw"),t("return"),i[Symbol.asyncIterator]=function(){return this},i)},__makeTemplateObject=function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e},t=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t},__importStar=function(e){var i,n;if(e&&e.__esModule)return e;if(i={},null!=e)for(n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&__createBinding(i,e,n);return t(i,e),i},__importDefault=function(e){return e&&e.__esModule?e:{default:e}},__classPrivateFieldGet=function(e,t){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return t.get(e)},__classPrivateFieldSet=function(e,t,i){if(!t.has(e))throw new TypeError("attempted to set private field on non-instance");return t.set(e,i),i},e("__extends",__extends),e("__assign",__assign),e("__rest",__rest),e("__decorate",__decorate),e("__param",__param),e("__metadata",__metadata),e("__awaiter",__awaiter),e("__generator",__generator),e("__exportStar",__exportStar),e("__createBinding",__createBinding),e("__values",__values),e("__read",__read),e("__spread",__spread),e("__spreadArrays",__spreadArrays),e("__await",__await),e("__asyncGenerator",__asyncGenerator),e("__asyncDelegator",__asyncDelegator),e("__asyncValues",__asyncValues),e("__makeTemplateObject",__makeTemplateObject),e("__importStar",__importStar),e("__importDefault",__importDefault),e("__classPrivateFieldGet",__classPrivateFieldGet),e("__classPrivateFieldSet",__classPrivateFieldSet)})),define("WoltLabSuite/Core/Core",["require","exports"],(function(e,t){"use strict";function i(e){return r(e)}function n(e,...t){const r=i(e=e||{});for(let i=0,a=t.length;i<a;i++){const a=t[i];a&&Object.keys(a).forEach((t=>{Array.isArray(a[t])||"object"!=typeof a[t]?r[t]=a[t]:o(a[t])?r[t]=n(e[t],a[t]):r[t]=a[t]}))}return r}function o(e){return"object"==typeof e&&null!==e&&Object.getPrototypeOf(e)===Object.prototype}Object.defineProperty(t,"__esModule",{value:!0}),t.enableLegacyInheritance=t.debounce=t.stringToBool=t.getStoragePrefix=t.triggerEvent=t.serialize=t.getUuid=t.getType=t.isPlainObject=t.inherit=t.extend=t.convertLegacyUrl=t.clone=void 0;const r=function(e){return"object"==typeof e&&(Array.isArray(e)||o(e))?a(e):e},a=function(e){if(!e)return null;if(Array.isArray(e))return e.slice();const t={};return Object.keys(e).forEach((i=>t[i]=r(e[i]))),t},s="wsc"+window.WCF_PATH.hashCode()+"-";t.clone=i,t.convertLegacyUrl=function(e){return e.replace(/^index\.php\/(.*?)\/\?/,((e,t)=>{const i=t.split(/([A-Z][a-z0-9]+)/);t="";for(let e=0,n=i.length;e<n;e++){const n=i[e].trim();n.length&&(t.length&&(t+="-"),t+=n.toLowerCase())}return`index.php?${t}/&`}))},t.extend=n,t.inherit=function(e,t,i){if(null==e)throw new TypeError("The constructor must not be undefined or null.");if(null==t)throw new TypeError("The super constructor must not be undefined or null.");if(void 0===t.prototype)throw new TypeError("The super constructor must have a prototype.");e._super=t,e.prototype=n(Object.create(t.prototype,{constructor:{configurable:!0,enumerable:!1,value:e,writable:!0}}),i||{})},t.isPlainObject=o,t.getType=function(e){return Object.prototype.toString.call(e).replace(/^\[object (.+)]$/,"$1")},t.getUuid=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(e=>{const t=16*Math.random()|0;return("x"==e?t:3&t|8).toString(16)}))},t.serialize=function e(t,i){if(null===t)return"";const n=[];return Object.keys(t).forEach((o=>{const r=i?i+"["+o+"]":o,a=t[o];"object"==typeof a?n.push(e(a,r)):n.push(encodeURIComponent(r)+"="+encodeURIComponent(a))})),n.join("&")},t.triggerEvent=function(e,t){if("click"===t&&e instanceof HTMLElement)return void e.click();const i=new Event(t,{bubbles:!0,cancelable:!0});e.dispatchEvent(i)},t.getStoragePrefix=function(){return s},t.stringToBool=function(e){return"1"===e||"true"===e},t.debounce=function(e,t=50,i={isImmediate:!1}){let n;return function(...o){const r=i.isImmediate&&void 0===n;void 0!==n&&clearTimeout(n),n=setTimeout((()=>{n=void 0,i.isImmediate||e.apply(this,o)}),t),r&&e.apply(this,o)}},t.enableLegacyInheritance=function(e){e.call=function(t,...i){const n=Reflect.construct(e,i,t.constructor);Object.entries(n).forEach((([e,i])=>{t[e]=i}))}}})),define("WoltLabSuite/Core/NumberUtil",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.round=void 0,t.round=function(e,t){if(void 0===t||0==+t)return Math.round(e);if(e=+e,t=+t,isNaN(e)||"number"!=typeof t||t%1!=0)return NaN;let i=e.toString().split("e"),n=i[1]?+i[1]-t:-t;return i=(e=Math.round(+`${i[0]}e${n}`)).toString().split("e"),n=i[1]?+i[1]+t:t,+`${i[0]}e${n}`}})),define("WoltLabSuite/Core/StringUtil",["require","exports","tslib","./NumberUtil"],(function(e,t,i,n){"use strict";function o(e){return String(e).replace(/(^-?\d{1,3}|\d{3})(?=(?:\d{3})+(?:$|\.))/g,"$1"+l)}function r(e,t){let i=n.round(e,t||-2).toString();const r=i.split(".");return i=o(+r[0]),r.length>1&&(i+=s+r[1]),i=i.replace("-","−"),i}function a(e){return String(e).substring(0,1).toUpperCase()+e.substring(1)}Object.defineProperty(t,"__esModule",{value:!0}),t.setupI18n=t.toCamelCase=t.shortUnit=t.unescapeHTML=t.ucfirst=t.lcfirst=t.formatNumeric=t.escapeRegExp=t.escapeHTML=t.addThousandsSeparator=void 0,n=i.__importStar(n);let s=".",l=",";t.addThousandsSeparator=o,t.escapeHTML=function(e){return String(e).replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")},t.escapeRegExp=function(e){return String(e).replace(/([.*+?^=!:${}()|[\]/\\])/g,"\\$1")},t.formatNumeric=r,t.lcfirst=function(e){return String(e).substring(0,1).toLowerCase()+e.substring(1)},t.ucfirst=a,t.unescapeHTML=function(e){return String(e).replace(/&/g,"&").replace(/"/g,'"').replace(/</g,"<").replace(/>/g,">")},t.shortUnit=function(e){let t="";return e>=1e6?(e=(e/=1e6)>10?Math.floor(e):n.round(e,-1),t="M"):e>=1e3&&(e=(e/=1e3)>10?Math.floor(e):n.round(e,-1),t="k"),r(e)+t},t.toCamelCase=function(e){return e.includes("-")?e.split("-").map(((e,t)=>(t>0&&(e=a(e)),e))).join(""):e},t.setupI18n=function(e){s=e.decimalPoint,l=e.thousandsSeparator}})),define("WoltLabSuite/Core/I18n/Plural",["require","exports","tslib","../StringUtil"],(function(e,t,i,n){"use strict";n=i.__importStar(n);const o={af(e){if(1==e)return"one"},am(e){const t=Math.floor(Math.abs(e));if(1==e||0===t)return"one"},ar(e){if(0==e)return"zero";if(1==e)return"one";if(2==e)return"two";const t=e%100;return t>=3&&t<=10?"few":t>=11&&t<=99?"many":void 0},as(e){const t=Math.floor(Math.abs(e));if(1==e||0===t)return"one"},az(e){if(1==e)return"one"},be(e){const t=e%10,i=e%100;return 1==t&&11!=i?"one":t>=2&&t<=4&&!(i>=12&&i<=14)?"few":0==t||t>=5&&t<=9||i>=11&&i<=14?"many":void 0},bg(e){if(1==e)return"one"},bn(e){const t=Math.floor(Math.abs(e));if(1==e||0===t)return"one"},bo(e){},bs(e){const t=r.getV(e),i=r.getF(e),n=e%10,o=e%100,a=i%10,s=i%100;return 0==t&&1==n&&11!=o||1==a&&11!=s?"one":0==t&&n>=2&&n<=4&&o>=12&&o<=14||a>=2&&a<=4&&s>=12&&s<=14?"few":void 0},cs(e){const t=r.getV(e);return 1==e&&0===t?"one":e>=2&&e<=4&&0===t?"few":0===t?"many":void 0},cy:e=>0==e?"zero":1==e?"one":2==e?"two":3==e?"few":6==e?"many":void 0,da(e){if(e>0&&e<2)return"one"},el(e){if(1==e)return"one"},en(e){if(1==e&&0===r.getV(e))return"one"},es(e){if(1==e)return"one"},eu(e){if(1==e)return"one"},fa(e){if(e>=0&&e<=1)return"one"},fr(e){if(e>=0&&e<2)return"one"},ga:e=>1==e?"one":2==e?"two":3==e||4==e||5==e||6==e?"few":7==e||8==e||9==e||10==e?"many":void 0,gu(e){if(e>=0&&e<=1)return"one"},he(e){const t=r.getV(e);return 1==e&&0===t?"one":2==e&&0===t?"two":e>10&&0===t&&e%10==0?"many":void 0},hi(e){if(e>=0&&e<=1)return"one"},hr:e=>r.bs(e),hu(e){if(1==e)return"one"},hy(e){if(e>=0&&e<2)return"one"},id(e){},is(e){const t=r.getF(e);if(0===t&&e%10==1&&e%100!=11||0!==t)return"one"},ja(e){},jv(e){},ka(e){if(1==e)return"one"},kk(e){if(1==e)return"one"},km(e){},kn(e){if(e>=0&&e<=1)return"one"},ko(e){},ku(e){if(1==e)return"one"},ky(e){if(1==e)return"one"},lb(e){if(1==e)return"one"},lo(e){},lt(e){const t=e%10,i=e%100;return 1!=t||i>=11&&i<=19?t>=2&&t<=9&&!(i>=11&&i<=19)?"few":0!=r.getF(e)?"many":void 0:"one"},lv(e){const t=e%10,i=e%100,n=r.getV(e),o=r.getF(e),a=o%10,s=o%100;return 0==t||i>=11&&i<=19||2==n&&s>=11&&s<=19?"zero":1==t&&11!=i||2==n&&1==a&&11!=s||2!=n&&1==a?"one":void 0},mk:e=>r.bs(e),ml(e){if(1==e)return"one"},mn(e){if(1==e)return"one"},mr(e){if(1==e)return"one"},ms(e){},mt(e){const t=e%100;return 1==e?"one":0==e||t>=2&&t<=10?"few":t>=11&&t<=19?"many":void 0},my(e){},no(e){if(1==e)return"one"},ne(e){if(1==e)return"one"},or(e){if(1==e)return"one"},pa(e){if(1==e||0==e)return"one"},pl(e){const t=r.getV(e),i=e%10,n=e%100;return 1==e&&0==t?"one":0==t&&i>=2&&i<=4&&!(n>=12&&n<=14)?"few":0==t&&(1!=e&&i>=0&&i<=1||i>=5&&i<=9||n>=12&&n<=14)?"many":void 0},ps(e){if(1==e)return"one"},pt(e){if(e>=0&&e<2)return"one"},ro(e){const t=r.getV(e),i=e%100;return 1==e&&0===t?"one":0!=t||0==e||i>=2&&i<=19?"few":void 0},ru(e){const t=e%10,i=e%100;if(0==r.getV(e)){if(1==t&&11!=i)return"one";if(t>=2&&t<=4&&!(i>=12&&i<=14))return"few";if(0==t||t>=5&&t<=9||i>=11&&i<=14)return"many"}},sd(e){if(1==e)return"one"},si(e){if(0==e||1==e||0==Math.floor(e)&&1==r.getF(e))return"one"},sk:e=>r.cs(e),sl(e){const t=r.getV(e),i=e%100;return 0==t&&1==i?"one":0==t&&2==i?"two":0==t&&(3==i||4==i)||0!=t?"few":void 0},sq(e){if(1==e)return"one"},sr:e=>r.bs(e),ta(e){if(1==e)return"one"},te(e){if(1==e)return"one"},tg(e){},th(e){},tk(e){if(1==e)return"one"},tr(e){if(1==e)return"one"},ug(e){if(1==e)return"one"},uk:e=>r.ru(e),uz(e){if(1==e)return"one"},vi(e){},zh(e){}},r=Object.assign({getCategory(e,t){t||(t=document.documentElement.lang),"function"!=typeof r[t]&&(t="en");const i=r[t](e);return i||"other"},getCategoryFromTemplateParameters(e){if(!e.value)throw new Error("Missing parameter value");if(!e.other)throw new Error("Missing parameter other");let t=e.value;Array.isArray(t)&&(t=t.length);const i=Object.keys(e).find((e=>e.toString()===(~~e).toString()&&e.toString()===t.toString()));if(i)return i;let o=r.getCategory(t);e[o]||(o="other");const a=e[o];return-1!==a.indexOf("#")?a.replace("#",n.formatNumeric(t)):a},getF(e){const t=e.toString(),i=t.indexOf(".");return-1===i?0:parseInt(t.substr(i+1),10)},getV:e=>e.toString().replace(/^[^.]*\.?/,"").length},o);return r})),define("WoltLabSuite/Core/Language/Store",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.add=t.get=void 0;const i=new Map;t.get=function(e,t={}){const n=i.get(e);return void 0===n?e:n(t)},t.add=function(e,t){i.set(e,t)}})),define("WoltLabSuite/Core/Template.grammar",["require"],(function(e){var t=function(e,t,i,n){for(i=i||{},n=e.length;n--;i[e[n]]=t);return i},i=[2,44],n=[5,9,11,12,13,18,19,21,22,23,25,26,28,29,30,32,33,34,35,37,39,41],o=[1,25],r=[1,27],a=[1,33],s=[1,31],l=[1,32],c=[1,28],d=[1,29],u=[1,26],h=[1,35],p=[1,41],m=[1,40],f=[11,12,15,42,43,47,49,51,52,54,55],g=[9,11,12,13,18,19,21,23,26,28,30,32,33,34,35,37,39],b=[11,12,15,42,43,46,47,48,49,51,52,54,55],_=[1,64],v=[1,65],w=[18,37,39],y=[12,15],E={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,T_WS:12,"{if":13,COMMAND_PARAMETERS:14,"}":15,COMMAND_repetition0:16,COMMAND_option0:17,"{/if}":18,"{include":19,COMMAND_PARAMETER_LIST:20,"{implode":21,"{/implode}":22,"{foreach":23,COMMAND_option1:24,"{/foreach}":25,"{plural":26,PLURAL_PARAMETER_LIST:27,"{lang}":28,"{/lang}":29,"{":30,VARIABLE:31,"{#":32,"{@":33,"{ldelim}":34,"{rdelim}":35,ELSE:36,"{else}":37,ELSE_IF:38,"{elseif":39,FOREACH_ELSE:40,"{foreachelse}":41,T_VARIABLE:42,T_VARIABLE_NAME:43,VARIABLE_repetition0:44,VARIABLE_SUFFIX:45,"[":46,"]":47,".":48,"(":49,VARIABLE_SUFFIX_option0:50,")":51,"=":52,COMMAND_PARAMETER_VALUE:53,T_QUOTED_STRING:54,T_DIGITS:55,COMMAND_PARAMETERS_repetition_plus0:56,COMMAND_PARAMETER:57,T_PLURAL_PARAMETER_NAME:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",9:"T_LITERAL",11:"T_ANY",12:"T_WS",13:"{if",15:"}",18:"{/if}",19:"{include",21:"{implode",22:"{/implode}",23:"{foreach",25:"{/foreach}",26:"{plural",28:"{lang}",29:"{/lang}",30:"{",32:"{#",33:"{@",34:"{ldelim}",35:"{rdelim}",37:"{else}",39:"{elseif",41:"{foreachelse}",42:"T_VARIABLE",43:"T_VARIABLE_NAME",46:"[",47:"]",48:".",49:"(",51:")",52:"=",54:"T_QUOTED_STRING",55:"T_DIGITS"},productions_:[0,[3,2],[4,1],[7,1],[7,1],[7,1],[8,1],[8,1],[10,7],[10,3],[10,5],[10,6],[10,3],[10,3],[10,3],[10,3],[10,3],[10,1],[10,1],[36,2],[38,4],[40,2],[31,3],[45,3],[45,2],[45,3],[20,5],[20,3],[53,1],[53,1],[53,1],[14,1],[57,1],[57,1],[57,1],[57,1],[57,1],[57,1],[57,1],[57,3],[27,5],[27,3],[58,1],[58,1],[6,0],[6,2],[16,0],[16,2],[17,0],[17,1],[24,0],[24,1],[44,0],[44,2],[50,0],[50,1],[56,1],[56,2]],performAction:function(e,t,i,n,o,r,a){var s,l,c,d=r.length-1;switch(o){case 1:return r[d-1]+";";case 2:(s=r[d].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]))[1]&&(s[0]+="'"),this.$=s[0];break;case 3:case 4:this.$={encode:!0,value:r[d].replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/(\r\n|\n|\r)/g,"\\n")};break;case 5:this.$={encode:!1,value:r[d]};break;case 8:this.$="(function() { if ("+r[d-5]+") { return "+r[d-3]+"; } "+r[d-2].join(" ")+" "+(r[d-1]||"")+" return ''; })()";break;case 9:if(!r[d-1].file)throw new Error("Missing parameter file");this.$=r[d-1].file+".fetch(v)";break;case 10:if(!r[d-3].from)throw new Error("Missing parameter from");if(!r[d-3].item)throw new Error("Missing parameter item");r[d-3].glue||(r[d-3].glue="', '"),this.$="(function() { return "+r[d-3].from+".map(function(item) { v["+r[d-3].item+"] = item; return "+r[d-1]+"; }).join("+r[d-3].glue+"); })()";break;case 11:if(!r[d-4].from)throw new Error("Missing parameter from");if(!r[d-4].item)throw new Error("Missing parameter item");this.$="(function() {var looped = false, result = '';if ("+r[d-4].from+" instanceof Array) {for (var i = 0; i < "+r[d-4].from+".length; i++) { looped = true;v["+r[d-4].key+"] = i;v["+r[d-4].item+"] = "+r[d-4].from+"[i];result += "+r[d-2]+";}} else {for (var key in "+r[d-4].from+") {if (!"+r[d-4].from+".hasOwnProperty(key)) continue;looped = true;v["+r[d-4].key+"] = key;v["+r[d-4].item+"] = "+r[d-4].from+"[key];result += "+r[d-2]+";}}return (looped ? result : "+(r[d-1]||"''")+"); })()";break;case 12:for(c in this.$="I18nPlural.getCategoryFromTemplateParameters({",l=!1,r[d-1])objOwns(r[d-1],c)&&(this.$+=(l?",":"")+c+": "+r[d-1][c],l=!0);this.$+="})";break;case 13:this.$="Language.get("+r[d-1]+", v)";break;case 14:this.$="StringUtil.escapeHTML("+r[d-1]+")";break;case 15:this.$="StringUtil.formatNumeric("+r[d-1]+")";break;case 16:this.$=r[d-1];break;case 17:this.$="'{'";break;case 18:this.$="'}'";break;case 19:this.$="else { return "+r[d]+"; }";break;case 20:this.$="else if ("+r[d-2]+") { return "+r[d]+"; }";break;case 21:this.$=r[d];break;case 22:this.$="v['"+r[d-1]+"']"+r[d].join("");break;case 23:this.$=r[d-2]+r[d-1]+r[d];break;case 24:this.$="['"+r[d]+"']";break;case 25:case 39:this.$=r[d-2]+(r[d-1]||"")+r[d];break;case 26:case 40:this.$=r[d],this.$[r[d-4]]=r[d-2];break;case 27:case 41:this.$={},this.$[r[d-2]]=r[d];break;case 31:this.$=r[d].join("");break;case 44:case 46:case 52:this.$=[];break;case 45:case 47:case 53:case 57:r[d-1].push(r[d]);break;case 56:this.$=[r[d]]}},table:[t([5,9,11,12,13,19,21,23,26,28,30,32,33,34,35],i,{3:1,4:2,6:3}),{1:[3]},{5:[1,4]},t([5,18,22,25,29,37,39,41],[2,2],{7:5,8:6,10:8,9:[1,7],11:[1,9],12:[1,10],13:[1,11],19:[1,12],21:[1,13],23:[1,14],26:[1,15],28:[1,16],30:[1,17],32:[1,18],33:[1,19],34:[1,20],35:[1,21]}),{1:[2,1]},t(n,[2,45]),t(n,[2,3]),t(n,[2,4]),t(n,[2,5]),t(n,[2,6]),t(n,[2,7]),{11:o,12:r,14:22,31:30,42:a,43:s,49:l,52:c,54:d,55:u,56:23,57:24},{20:34,43:h},{20:36,43:h},{20:37,43:h},{27:38,43:p,55:m,58:39},t([9,11,12,13,19,21,23,26,28,29,30,32,33,34,35],i,{6:3,4:42}),{31:43,42:a},{31:44,42:a},{31:45,42:a},t(n,[2,17]),t(n,[2,18]),{15:[1,46]},t([15,47,51],[2,31],{31:30,57:47,11:o,12:r,42:a,43:s,49:l,52:c,54:d,55:u}),t(f,[2,56]),t(f,[2,32]),t(f,[2,33]),t(f,[2,34]),t(f,[2,35]),t(f,[2,36]),t(f,[2,37]),t(f,[2,38]),{11:o,12:r,14:48,31:30,42:a,43:s,49:l,52:c,54:d,55:u,56:23,57:24},{43:[1,49]},{15:[1,50]},{52:[1,51]},{15:[1,52]},{15:[1,53]},{15:[1,54]},{52:[1,55]},{52:[2,42]},{52:[2,43]},{29:[1,56]},{15:[1,57]},{15:[1,58]},{15:[1,59]},t(g,i,{6:3,4:60}),t(f,[2,57]),{51:[1,61]},t(b,[2,52],{44:62}),t(n,[2,9]),{31:66,42:a,53:63,54:_,55:v},t([9,11,12,13,19,21,22,23,26,28,30,32,33,34,35],i,{6:3,4:67}),t([9,11,12,13,19,21,23,25,26,28,30,32,33,34,35,41],i,{6:3,4:68}),t(n,[2,12]),{31:66,42:a,53:69,54:_,55:v},t(n,[2,13]),t(n,[2,14]),t(n,[2,15]),t(n,[2,16]),t(w,[2,46],{16:70}),t(f,[2,39]),t([11,12,15,42,43,47,51,52,54,55],[2,22],{45:71,46:[1,72],48:[1,73],49:[1,74]}),{12:[1,75],15:[2,27]},t(y,[2,28]),t(y,[2,29]),t(y,[2,30]),{22:[1,76]},{24:77,25:[2,50],40:78,41:[1,79]},{12:[1,80],15:[2,41]},{17:81,18:[2,48],36:83,37:[1,85],38:82,39:[1,84]},t(b,[2,53]),{11:o,12:r,14:86,31:30,42:a,43:s,49:l,52:c,54:d,55:u,56:23,57:24},{43:[1,87]},{11:o,12:r,14:89,31:30,42:a,43:s,49:l,50:88,51:[2,54],52:c,54:d,55:u,56:23,57:24},{20:90,43:h},t(n,[2,10]),{25:[1,91]},{25:[2,51]},t([9,11,12,13,19,21,23,25,26,28,30,32,33,34,35],i,{6:3,4:92}),{27:93,43:p,55:m,58:39},{18:[1,94]},t(w,[2,47]),{18:[2,49]},{11:o,12:r,14:95,31:30,42:a,43:s,49:l,52:c,54:d,55:u,56:23,57:24},t([9,11,12,13,18,19,21,23,26,28,30,32,33,34,35],i,{6:3,4:96}),{47:[1,97]},t(b,[2,24]),{51:[1,98]},{51:[2,55]},{15:[2,26]},t(n,[2,11]),{25:[2,21]},{15:[2,40]},t(n,[2,8]),{15:[1,99]},{18:[2,19]},t(b,[2,23]),t(b,[2,25]),t(g,i,{6:3,4:100}),t(w,[2,20])],defaultActions:{4:[2,1],40:[2,42],41:[2,43],78:[2,51],83:[2,49],89:[2,55],90:[2,26],92:[2,21],93:[2,40],96:[2,19]},parseError:function(e,t){if(!t.recoverable){var i=new Error(e);throw i.hash=t,i}this.trace(e)},parse:function(e){var t,i,n,o,r,a,s,l,c,d,u,h,p,m,f,g=this,b=[0],_=[null],v=[],w=this.table,y="",E=0,S=0,L=0,C=2,A=1,I=v.slice.call(arguments,1),x=Object.create(this.lexer),k={yy:{}};for(t in this.yy)Object.prototype.hasOwnProperty.call(this.yy,t)&&(k.yy[t]=this.yy[t]);for(x.setInput(e,k.yy),k.yy.lexer=x,k.yy.parser=this,void 0===x.yylloc&&(x.yylloc={}),i=x.yylloc,v.push(i),n=x.options&&x.options.ranges,"function"==typeof k.yy.parseError?this.parseError=k.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,o=function(){var e;return"number"!=typeof(e=x.lex()||A)&&(e=g.symbols_[e]||e),e},d={};;){if(s=b[b.length-1],this.defaultActions[s]?l=this.defaultActions[s]:(null==r&&(r=o()),l=w[s]&&w[s][r]),void 0===l||!l.length||!l[0]){for(u in f="",m=[],w[s])this.terminals_[u]&&u>C&&m.push("'"+this.terminals_[u]+"'");f=x.showPosition?"Parse error on line "+(E+1)+":\n"+x.showPosition()+"\nExpecting "+m.join(", ")+", got '"+(this.terminals_[r]||r)+"'":"Parse error on line "+(E+1)+": Unexpected "+(r==A?"end of input":"'"+(this.terminals_[r]||r)+"'"),this.parseError(f,{text:x.match,token:this.terminals_[r]||r,line:x.yylineno,loc:i,expected:m})}if(l[0]instanceof Array&&l.length>1)throw new Error("Parse Error: multiple actions possible at state: "+s+", token: "+r);switch(l[0]){case 1:b.push(r),_.push(x.yytext),v.push(x.yylloc),b.push(l[1]),r=null,a?(r=a,a=null):(S=x.yyleng,y=x.yytext,E=x.yylineno,i=x.yylloc,L>0&&L--);break;case 2:if(h=this.productions_[l[1]][1],d.$=_[_.length-h],d._$={first_line:v[v.length-(h||1)].first_line,last_line:v[v.length-1].last_line,first_column:v[v.length-(h||1)].first_column,last_column:v[v.length-1].last_column},n&&(d._$.range=[v[v.length-(h||1)].range[0],v[v.length-1].range[1]]),void 0!==(c=this.performAction.apply(d,[y,S,E,k.yy,l[1],_,v].concat(I))))return c;h&&(b=b.slice(0,-1*h*2),_=_.slice(0,-1*h),v=v.slice(0,-1*h)),b.push(this.productions_[l[1]][0]),_.push(d.$),v.push(d._$),p=w[b[b.length-2]][b[b.length-1]],b.push(p);break;case 3:return!0}}return!0}},S={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];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(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,i,n=e.length,o=e.split(/(?:\r\n?|\n)/g);return this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-n),this.offset-=n,t=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),o.length-1&&(this.yylineno-=o.length-1),i=this.yylloc.range,this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:o?(o.length===t.length?this.yylloc.first_column:0)+t[t.length-o.length].length-o[0].length:this.yylloc.first_column-n},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-n]),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 i,n,o,r;if(this.options.backtrack_lexer&&(o={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&&(o.yylloc.range=this.yylloc.range.slice(0))),(n=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.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],i=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack){for(r in o)this[r]=o[r];return!1}return!1},next:function(){var e,t,i,n,o,r;if(this.done)return this.EOF;for(this._input||(this.done=!0),this._more||(this.yytext="",this.match=""),o=this._currentRules(),r=0;r<o.length;r++)if((i=this._input.match(this.rules[o[r]]))&&(!t||i[0].length>t[0].length)){if(t=i,n=r,this.options.backtrack_lexer){if(!1!==(e=this.test_match(i,o[r])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,o[n]))&&e:""===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||this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.length-1>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))>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,i,n){switch(i){case 0:break;case 1:return t.yytext=t.yytext.substring(9,t.yytext.length-10),9;case 2:case 3:return 54;case 4:return 42;case 5:return 55;case 6:return 43;case 7:return 48;case 8:return 46;case 9:return 47;case 10:return 49;case 11:return 51;case 12:return 52;case 13:return 34;case 14:return 35;case 15:return this.begin("command"),32;case 16:return this.begin("command"),33;case 17:return this.begin("command"),13;case 18:case 19:return this.begin("command"),39;case 20:return 37;case 21:return 18;case 22:return 28;case 23:return 29;case 24:return this.begin("command"),19;case 25:return this.begin("command"),21;case 26:return this.begin("command"),26;case 27:return 22;case 28:return this.begin("command"),23;case 29:return 41;case 30:return 25;case 31:return this.begin("command"),30;case 32:return this.popState(),15;case 33:return 12;case 34:return 5;case 35:return 11}},rules:[/^(?:\{\*[\s\S]*?\*\})/,/^(?:\{literal\}[\s\S]*?\{\/literal\})/,/^(?:"([^"]|\\\.)*")/,/^(?:'([^']|\\\.)*')/,/^(?:\$)/,/^(?:[0-9]+)/,/^(?:[_a-zA-Z][_a-zA-Z0-9]*)/,/^(?:\.)/,/^(?:\[)/,/^(?:\])/,/^(?:\()/,/^(?:\))/,/^(?:=)/,/^(?:\{ldelim\})/,/^(?:\{rdelim\})/,/^(?:\{#)/,/^(?:\{@)/,/^(?:\{if )/,/^(?:\{else if )/,/^(?:\{elseif )/,/^(?:\{else\})/,/^(?:\{\/if\})/,/^(?:\{lang\})/,/^(?:\{\/lang\})/,/^(?:\{include )/,/^(?:\{implode )/,/^(?:\{plural )/,/^(?:\{\/implode\})/,/^(?:\{foreach )/,/^(?:\{foreachelse\})/,/^(?:\{\/foreach\})/,/^(?:\{(?!\s))/,/^(?:\})/,/^(?:\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,35],inclusive:!0},INITIAL:{rules:[0,1,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,33,34,35],inclusive:!0}}};return E.lexer=S,E})),define("WoltLabSuite/Core/Template/Compiler",["require","exports","tslib","../Template.grammar"],(function(e,t,i,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.compile=void 0,n=i.__importStar(n),t.compile=function(e){return e="var tmp = {};\nfor (var key in v) tmp[key] = v[key];\nv = tmp;\nv.__wcf = window.WCF; v.__window = window;\nreturn "+(e=n.parse(e)),new Function("StringUtil","Language","I18nPlural","v",e)}})),define("WoltLabSuite/Core/Template",["require","exports","tslib","./Core","./I18n/Plural","./Language/Store","./StringUtil","./Template/Compiler"],(function(e,t,i,n,o,r,a,s){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a);class l{constructor(e){try{this.compiled=s.compile(e)}catch(e){throw console.debug(e.message),e}}fetch(e){return this.compiled(a,r,o,e)}}return Object.defineProperty(l,"callbacks",{enumerable:!1,configurable:!1,get:function(){throw new Error("WCF.Template.callbacks is no longer supported")},set:function(e){throw new Error("WCF.Template.callbacks is no longer supported")}}),n.enableLegacyInheritance(l),l})),define("WoltLabSuite/Core/Language",["require","exports","tslib","./Template","./Language/Store","./Language/Store"],(function(e,t,i,n,o,r){"use strict";function a(e,t){"string"==typeof t?o.add(e,function(e){try{const t=new n.default(e);return t.fetch.bind(t)}catch(t){return function(){return e}}}(t)):o.add(e,(function(){return t}))}Object.defineProperty(t,"__esModule",{value:!0}),t.add=t.addObject=t.get=void 0,n=i.__importDefault(n),Object.defineProperty(t,"get",{enumerable:!0,get:function(){return r.get}}),t.addObject=function(e){Object.entries(e).forEach((([e,t])=>{a(e,t)}))},t.add=a})),define("WoltLabSuite/Core/Ajax/Status",["require","exports","tslib","../Language"],(function(e,t,i,n){"use strict";function o(){return void 0===a&&(a=new r),a}Object.defineProperty(t,"__esModule",{value:!0}),t.hide=t.show=void 0,n=i.__importStar(n);class r{constructor(){this._activeRequests=0,this._timer=null,this._overlay=document.createElement("div"),this._overlay.classList.add("spinner"),this._overlay.setAttribute("role","status");const e=document.createElement("span");e.className="icon icon48 fa-spinner",this._overlay.appendChild(e);const t=document.createElement("span");t.textContent=n.get("wcf.global.loading"),this._overlay.appendChild(t),document.body.appendChild(this._overlay)}show(){this._activeRequests++,null===this._timer&&(this._timer=window.setTimeout((()=>{this._activeRequests&&this._overlay.classList.add("active"),this._timer=null}),250))}hide(){0==--this._activeRequests&&(null!==this._timer&&window.clearTimeout(this._timer),this._overlay.classList.remove("active"))}}let a;t.show=function(){o().show()},t.hide=function(){o().hide()}})),define("WoltLabSuite/Core/CallbackList",["require","exports","tslib","./Core"],(function(e,t,i,n){"use strict";n=i.__importStar(n);class o{constructor(){this._callbacks=new Map}add(e,t){if("function"!=typeof t)throw new TypeError("Expected a valid callback as second argument for identifier '"+e+"'.");this._callbacks.has(e)||this._callbacks.set(e,[]),this._callbacks.get(e).push(t)}remove(e){this._callbacks.delete(e)}forEach(e,t){var i;null===e?this._callbacks.forEach(((e,i)=>{e.forEach(t)})):null===(i=this._callbacks.get(e))||void 0===i||i.forEach(t)}}return n.enableLegacyInheritance(o),o})),define("WoltLabSuite/Core/Dom/Change/Listener",["require","exports","tslib","../../CallbackList"],(function(e,t,i,n){"use strict";const o=new((n=i.__importDefault(n)).default);let r=!1;return{add:o.add.bind(o),remove:o.remove.bind(o),trigger(){if(!r)try{r=!0,o.forEach(null,(e=>e()))}finally{r=!1}}}})),define("WoltLabSuite/Core/Dom/Util",["require","exports","tslib","../StringUtil"],(function(e,t,i,n){"use strict";function o(e,t,i){if(!t.contains(e))throw new Error("Ancestor element does not contain target element.");let n,o=e;const r=i+"Sibling";for(;null!==o&&o!==t;){if(null!==o[i+"ElementSibling"])return!1;if(o[r])for(n=o[r];n;){if(""!==n.textContent.trim())return!1;n=n[r]}o=o.parentNode}return!0}n=i.__importStar(n);let r=0;const a={createFragmentFromHtml(e){const t=document.createElement("div");this.setInnerHtml(t,e);const i=document.createDocumentFragment();for(;t.childNodes.length;)i.appendChild(t.childNodes[0]);return i},getUniqueId(){let e;do{e="wcf"+r++}while(null!==document.getElementById(e));return e},identify(e){if(!(e instanceof Element))throw new TypeError("Expected a valid DOM element as argument.");let t=e.id;return t||(t=this.getUniqueId(),e.id=t),t},outerHeight(e,t){t=t||window.getComputedStyle(e);let i=e.offsetHeight;return i+=~~t.marginTop+~~t.marginBottom,i},outerWidth(e,t){t=t||window.getComputedStyle(e);let i=e.offsetWidth;return i+=~~t.marginLeft+~~t.marginRight,i},outerDimensions(e){const t=window.getComputedStyle(e);return{height:this.outerHeight(e,t),width:this.outerWidth(e,t)}},offset(e){const t=e.getBoundingClientRect();return{top:Math.round(t.top+(window.scrollY||window.pageYOffset)),left:Math.round(t.left+(window.scrollX||window.pageXOffset))}},prepend(e,t){t.insertAdjacentElement("afterbegin",e)},insertAfter(e,t){t.insertAdjacentElement("afterend",e)},setStyles(e,t){let i=!1;Object.keys(t).forEach((n=>{/ !important$/.test(t[n])?(i=!0,t[n]=t[n].replace(/ !important$/,"")):i=!1,"important"!==e.style.getPropertyPriority(n)||i||e.style.removeProperty(n),e.style.setProperty(n,t[n],i?"important":"")}))},styleAsInt(e,t){const i=e.getPropertyValue(t);return null===i?0:parseInt(i,10)},setInnerHtml(e,t){let i;e.innerHTML=t,i=e instanceof HTMLTemplateElement?e.content:e;const n=i.querySelectorAll("script");for(let e=0,t=n.length;e<t;e++){const t=n[e],o=document.createElement("script");t.src?o.src=t.src:o.textContent=t.textContent,i.appendChild(o),t.remove()}},insertHtml(e,t,i){const n=document.createElement("template");this.setInnerHtml(n,e);const o=document.importNode(n.content,!0);switch(i){case"append":t.appendChild(o);break;case"after":if(null===t.parentNode)throw new Error("The reference element has no parent, but the insert position was set to 'after'.");t.parentNode.insertBefore(o,t.nextSibling);break;case"prepend":t.insertBefore(o,t.firstChild);break;case"before":if(null===t.parentNode)throw new Error("The reference element has no parent, but the insert position was set to 'before'.");t.parentNode.insertBefore(o,t);break;default:throw new Error("Unknown insert method '"+i+"'.")}},contains:(e,t)=>e.contains(t),getDataAttributes(e,t,i,o){0!==(t=t||"").indexOf("data-")&&(t="data-"+t),i=!0===i,o=!0===o;const r={};for(let a=0,s=e.attributes.length;a<s;a++){const s=e.attributes[a];if(0===s.name.indexOf(t)){let e=s.name.replace(new RegExp("^"+t),"");if(i){const t=e.split("-");e="";for(let i=0,r=t.length;i<r;i++)e.length&&(o&&"id"===t[i]?t[i]="ID":t[i]=n.ucfirst(t[i])),e+=t[i]}r[e]=s.value}}return r},unwrapChildNodes(e){if(null===e.parentNode)throw new Error("The element has no parent.");const t=e.parentNode;for(;e.childNodes.length;)t.insertBefore(e.childNodes[0],e);e.remove()},replaceElement(e,t){if(null===e.parentNode)throw new Error("The old element has no parent.");for(;e.childNodes.length;)t.appendChild(e.childNodes[0]);e.parentNode.insertBefore(t,e),e.remove()},isAtNodeStart:(e,t)=>o(e,t,"previous"),isAtNodeEnd:(e,t)=>o(e,t,"next"),getFixedParent(e){for(;e&&e!==document.body;){if("fixed"===window.getComputedStyle(e).getPropertyValue("position"))return e;e=e.offsetParent}return null},hide(e){e.style.setProperty("display","none","")},show(e){e.style.removeProperty("display")},isHidden:e=>"none"===e.style.getPropertyValue("display"),toggle(e){this.isHidden(e)?this.show(e):this.hide(e)},innerError(e,t,i){const n=e.parentNode;if(null===n)throw new Error("Only elements that have a parent element or document are valid.");if("string"!=typeof t){if(t)throw new TypeError("The error message must be a string; `false`, `null` or `undefined` can be used as a substitute for an empty string.");t=""}let o=e.nextElementSibling;return null!==o&&"SMALL"===o.nodeName&&o.classList.contains("innerError")||(""===t?o=null:(o=document.createElement("small"),o.className="innerError",n.insertBefore(o,e.nextSibling))),""===t?null!==o&&(o.remove(),o=null):i?o.innerHTML=t:o.textContent=t,o},innerSuccess(e,t,i){const n=e.parentNode;if(null===n)throw new Error("Only elements that have a parent element or document are valid.");if("string"!=typeof t){if(t)throw new TypeError("The message must be a string; `false`, `null` or `undefined` can be used as a substitute for an empty string.");t=""}let o=e.nextElementSibling;return null!==o&&"SMALL"===o.nodeName&&o.classList.contains("innerSuccess")||(""===t?o=null:(o=document.createElement("small"),o.className="innerSuccess",n.insertBefore(o,e.nextSibling))),""===t?null!==o&&(o.remove(),o=null):i?o.innerHTML=t:o.textContent=t,o},closest:(e,t)=>(e instanceof HTMLElement?e:e.parentElement).closest(t),getClosestElement:e=>e instanceof HTMLElement?e:e.parentElement};return window.bc_wcfDomUtil=a,a})),define("WoltLabSuite/Core/Ajax/Request",["require","exports","tslib","./Status","../Core","../Dom/Change/Listener","../Dom/Util","../Language"],(function(e,t,i,n,o,r,a,s){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importDefault(a),s=i.__importStar(s);let l=!1,c=!1;class d{constructor(e){this._options=o.extend({data:{},contentType:"application/x-www-form-urlencoded; charset=UTF-8",responseType:"application/json",type:"POST",url:"",withCredentials:!1,autoAbort:!1,ignoreError:!1,pinData:!1,silent:!1,includeRequestedWith:!0,failure:null,finalize:null,success:null,progress:null,uploadProgress:null,callbackObject:null},e),"object"==typeof e.callbackObject&&(this._options.callbackObject=e.callbackObject),this._options.url=o.convertLegacyUrl(this._options.url),0===this._options.url.indexOf("index.php")&&(this._options.url=window.WSC_API_URL+this._options.url),0===this._options.url.indexOf(window.WSC_API_URL)&&(this._options.includeRequestedWith=!0,this._options.withCredentials=!0),this._options.pinData&&(this._data=this._options.data),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)),"function"==typeof this._options.callbackObject._ajaxProgress&&(this._options.progress=this._options.callbackObject._ajaxProgress.bind(this._options.callbackObject)),"function"==typeof this._options.callbackObject._ajaxUploadProgress&&(this._options.uploadProgress=this._options.callbackObject._ajaxUploadProgress.bind(this._options.callbackObject))),l||(l=!0,window.addEventListener("beforeunload",(()=>c=!0)))}sendRequest(e){(e||this._options.autoAbort)&&this.abortPrevious(),this._options.silent||n.show(),this._xhr instanceof XMLHttpRequest&&(this._previousXhr=this._xhr),this._xhr=new XMLHttpRequest,this._xhr.open(this._options.type,this._options.url,!0),this._options.contentType&&this._xhr.setRequestHeader("Content-Type",this._options.contentType),(this._options.withCredentials||this._options.includeRequestedWith)&&this._xhr.setRequestHeader("X-Requested-With","XMLHttpRequest"),this._options.withCredentials&&(this._xhr.withCredentials=!0);const t=o.clone(this._options),i=this._xhr;if(i.onload=()=>{i.readyState===XMLHttpRequest.DONE&&(i.status>=200&&i.status<300||304===i.status?t.responseType&&0!==i.getResponseHeader("Content-Type").indexOf(t.responseType)?this._failure(i,t):this._success(i,t):this._failure(i,t))},i.onerror=()=>{this._failure(i,t)},this._options.progress&&(i.onprogress=this._options.progress),this._options.uploadProgress&&(i.upload.onprogress=this._options.uploadProgress),"POST"===this._options.type){let e=this._options.data;"object"==typeof e&&"FormData"!==o.getType(e)&&(e=o.serialize(e)),i.send(e)}else i.send()}abortPrevious(){this._previousXhr&&(this._previousXhr.abort(),this._previousXhr=void 0,this._options.silent||n.hide())}setOption(e,t){this._options[e]=t}getOption(e){return Object.prototype.hasOwnProperty.call(this._options,e)?this._options[e]:null}setData(e){null!==this._data&&"FormData"!==o.getType(e)&&(e=o.extend(this._data,e)),this._options.data=e}_success(t,o){if(o.silent||n.hide(),"function"==typeof o.success){let n=null;if("application/json"===t.getResponseHeader("Content-Type").split(";",1)[0].trim()){try{n=JSON.parse(t.responseText)}catch(e){return void this._failure(t,o)}n&&n.returnValues&&void 0!==n.returnValues.template&&(n.returnValues.template=n.returnValues.template.trim()),n&&n.forceBackgroundQueuePerform&&new Promise(((t,i)=>{e(["../BackgroundQueue"],t,i)})).then(i.__importStar).then((e=>e.invoke()))}o.success(n,t.responseText,t,o.data)}this._finalize(o)}_failure(t,o){if(c)return;o.silent||n.hide();let r=null;try{r=JSON.parse(t.responseText)}catch(e){}let l=!0;if("function"==typeof o.failure){l=!1!==o.failure(r||{},t.responseText||"",t,o.data)}if(!0!==o.ignoreError&&l){const n=this.getErrorHtml(r,t);n&&new Promise(((t,i)=>{e(["../Ui/Dialog"],t,i)})).then(i.__importStar).then((e=>{e.openStatic(a.default.getUniqueId(),n,{title:s.get("wcf.global.error.title")})}))}this._finalize(o)}getErrorHtml(e,t){let i,n="";if(null!==e&&Object.keys(e).length>0?(e.returnValues&&e.returnValues.description&&(n+=`<br><p>Description:</p><p>${e.returnValues.description}</p>`),e.file&&e.line&&(n+=`<br><p>File:</p><p>${e.file} in line ${e.line}</p>`),e.stacktrace?n+=`<br><p>Stacktrace:</p><p>${e.stacktrace}</p>`:e.exceptionID&&(n+=`<br><p>Exception ID: <code>${e.exceptionID}</code></p>`),i=e.message,e.previous.forEach((e=>{n+=`<hr><p>${e.message}</p>`,n+=`<br><p>Stacktrace</p><p>${e.stacktrace}</p>`}))):i=t.responseText,!i||"undefined"===i){if(!window.ENABLE_DEBUG_MODE)return null;i="XMLHttpRequest failed without a responseText. Check your browser console."}return`<div class="ajaxDebugMessage"><p>${i}</p>${n}</div>`}_finalize(e){"function"==typeof e.finalize&&e.finalize(this._xhr),this._previousXhr=void 0,r.default.trigger(),document.querySelectorAll('a[href*="#"]').forEach((e=>{let t=e.href;-1===t.indexOf("AJAXProxy")&&-1===t.indexOf("ajax-proxy")||(t=t.substr(t.indexOf("#")),e.href=document.location.toString().replace(/#.*/,"")+t)}))}}return o.enableLegacyInheritance(d),d})),define("WoltLabSuite/Core/Ajax",["require","exports","tslib","./Ajax/Request"],(function(e,t,i,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getRequestObject=t.apiOnce=t.api=void 0,n=i.__importDefault(n);const o=new WeakMap;t.api=function(e,t,i,r){"object"!=typeof t&&(t={});let a=o.get(e);if(void 0===a){if("function"!=typeof e._ajaxSetup)throw new TypeError("Callback object must implement at least _ajaxSetup().");const t=e._ajaxSetup();t.pinData=!0,t.callbackObject=e,t.url||(t.url="index.php?ajax-proxy/&t="+window.SECURITY_TOKEN,t.withCredentials=!0),a=new n.default(t),o.set(e,a)}let s=null,l=null;return"function"==typeof i&&(s=a.getOption("success"),a.setOption("success",i)),"function"==typeof r&&(l=a.getOption("failure"),a.setOption("failure",r)),a.setData(t),a.sendRequest(),null!==s&&a.setOption("success",s),null!==l&&a.setOption("failure",l),a},t.apiOnce=function(e){e.pinData=!1,e.callbackObject=null,e.url||(e.url="index.php?ajax-proxy/&t="+window.SECURITY_TOKEN,e.withCredentials=!0),new n.default(e).sendRequest(!1)},t.getRequestObject=function(e){if(!o.has(e))throw new Error("Expected a previously used callback object, provided object is unknown.");return o.get(e)}})),define("WoltLabSuite/Core/BackgroundQueue",["require","exports","tslib","./Ajax"],(function(e,t,i,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.invoke=t.setUrl=void 0,n=i.__importStar(n);class o{constructor(e){this._invocations=0,this._isBusy=!1,this._url=e}invoke(){this._isBusy||(this._isBusy=!0,n.api(this))}_ajaxSuccess(e){this._invocations++,e>0&&this._invocations<5?window.setTimeout((()=>{this._isBusy=!1,this.invoke()}),1e3):(this._isBusy=!1,this._invocations=0)}_ajaxSetup(){return{url:this._url,ignoreError:!0,silent:!0}}}let r;t.setUrl=function(e){r||(r=new o(e))},t.invoke=function(){r?r.invoke():console.error("The background queue has not been initialized yet.")}})),define("WoltLabSuite/Core/Date/Util",["require","exports","tslib","../Language"],(function(e,t,i,n){"use strict";function o(e){return a(e,n.get("wcf.date.dateFormat"))}function r(e){return a(e,n.get("wcf.date.timeFormat"))}function a(e,t){"c"===t&&(t="Y-m-dTH:i:sP");let i="";for(let o=0,r=t.length;o<r;o++){let a;switch(t[o]){case"s":a=e.getSeconds().toString().padStart(2,"0");break;case"i":a=e.getMinutes().toString().padStart(2,"0");break;case"a":a=e.getHours()>11?"pm":"am";break;case"g":{const t=e.getHours();a=0===t?"12":t>12?(t-12).toString():t.toString();break}case"h":{const t=e.getHours();a=0===t?"12":t>12?(t-12).toString():t.toString(),a=a.padStart(2,"0");break}case"A":a=e.getHours()>11?"PM":"AM";break;case"G":a=e.getHours().toString();break;case"H":a=e.getHours().toString().padStart(2,"0");break;case"d":a=e.getDate().toString().padStart(2,"0");break;case"j":a=e.getDate().toString();break;case"l":a=n.get("__days")[e.getDay()];break;case"D":a=n.get("__daysShort")[e.getDay()];break;case"S":a="";break;case"m":a=(e.getMonth()+1).toString().padStart(2,"0");break;case"n":a=(e.getMonth()+1).toString();break;case"F":a=n.get("__months")[e.getMonth()];break;case"M":a=n.get("__monthsShort")[e.getMonth()];break;case"y":a=e.getFullYear().toString().slice(-2);break;case"Y":a=e.getFullYear().toString();break;case"P":{let t=e.getTimezoneOffset();a=t>0?"-":"+",t=Math.abs(t),a+=(~~(t/60)).toString().padStart(2,"0"),a+=":",a+=(t%60).toString().padStart(2,"0");break}case"r":a=e.toString();break;case"U":a=Math.round(e.getTime()/1e3).toString();break;case"\\":a="",o+1<r&&(a=t[++o]);break;default:a=t[o]}i+=a}return i}Object.defineProperty(t,"__esModule",{value:!0}),t.getTimezoneDate=t.getTimeElement=t.gmdate=t.format=t.formatDateTime=t.formatTime=t.formatDate=void 0,n=i.__importStar(n),t.formatDate=o,t.formatTime=r,t.formatDateTime=function(e){const t=n.get("wcf.date.dateTimeFormat"),i=n.get("wcf.date.dateFormat"),o=n.get("wcf.date.timeFormat");return a(e,t.replace(/%date%/,i).replace(/%time%/,o))},t.format=a,t.gmdate=function(e){return e instanceof Date||(e=new Date),Math.round(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDay(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds())/1e3)},t.getTimeElement=function(e){const t=document.createElement("time");t.className="datetime";const i=o(e),s=r(e);return t.setAttribute("datetime",a(e,"c")),t.dataset.timestamp=((e.getTime()-e.getMilliseconds())/1e3).toString(),t.dataset.date=i,t.dataset.time=s,t.dataset.offset=(60*e.getTimezoneOffset()).toString(),e.getTime()>Date.now()&&(t.dataset.isFutureDate="true",t.textContent=n.get("wcf.date.dateTimeFormat").replace("%time%",s).replace("%date%",i)),t},t.getTimezoneDate=function(e,t){const i=6e4*new Date(e).getTimezoneOffset();return new Date(e+i+t)}})),define("WoltLabSuite/Core/Devtools",["require","exports"],(function(e,t){"use strict";function i(){window.sessionStorage&&window.sessionStorage.setItem("__wsc_devtools_config",JSON.stringify(n))}let n={editorAutosave:!0,eventLogging:!1};const o={help(){window.console.log(""),window.console.log("%cAvailable commands:","text-decoration: underline"),Object.keys(o).filter((e=>"_internal_"!==e)).sort().forEach((e=>{window.console.log(`\tDevtools.${e}()`)})),window.console.log("")},toggleEditorAutosave(e){n.editorAutosave=!e&&!n.editorAutosave,i(),window.console.log("%c\tEditor autosave "+(n.editorAutosave?"enabled":"disabled"),"font-style: italic")},toggleEventLogging(e){n.eventLogging=!!e||!n.eventLogging,i(),window.console.log("%c\tEvent logging "+(n.eventLogging?"enabled":"disabled"),"font-style: italic")},_internal_:{enable(){if(window.Devtools=o,window.console.log("%cDevtools for WoltLab Suite loaded","font-weight: bold"),window.sessionStorage){const e=window.sessionStorage.getItem("__wsc_devtools_config");try{null!==e&&(n=JSON.parse(e))}catch(e){}n.editorAutosave||o.toggleEditorAutosave(!0),n.eventLogging&&o.toggleEventLogging(!0)}window.console.log("Settings are saved per browser session, enter `Devtools.help()` to learn more."),window.console.log("")},editorAutosave:()=>n.editorAutosave,eventLog(e,t){n.eventLogging&&window.console.log("[Devtools.EventLogging] Firing event: "+t+" @ "+e)}}};return o})),define("WoltLabSuite/Core/Event/Handler",["require","exports","tslib","../Core","../Devtools"],(function(e,t,i,n,o){"use strict";function r(e,t){"string"!=typeof t&&(t=void 0);const i=a.get(e);void 0!==i&&(void 0===t?a.delete(e):i.delete(t))}Object.defineProperty(t,"__esModule",{value:!0}),t.removeAllBySuffix=t.removeAll=t.remove=t.fire=t.add=void 0,n=i.__importStar(n),o=i.__importDefault(o);const a=new Map;t.add=function(e,t,i){if("function"!=typeof i)throw new TypeError(`Expected a valid callback for '${t}'@'${e}'.`);let o=a.get(e);void 0===o&&(o=new Map,a.set(e,o));let r=o.get(t);void 0===r&&(r=new Map,o.set(t,r));const s=n.getUuid();return r.set(s,i),s},t.fire=function(e,t,i){var n,r;o.default._internal_.eventLog(e,t),i=i||{},null===(r=null===(n=a.get(e))||void 0===n?void 0:n.get(t))||void 0===r||r.forEach((e=>e(i)))},t.remove=function(e,t,i){var n,o;null===(o=null===(n=a.get(e))||void 0===n?void 0:n.get(t))||void 0===o||o.delete(i)},t.removeAll=r,t.removeAllBySuffix=function(e,t){const i=a.get(e);if(void 0===i)return;const n=-1*(t="_"+t).length;i.forEach(((i,o)=>{o.substr(n)===t&&r(e,o)}))}})),define("WoltLabSuite/Core/Dom/Traverse",["require","exports"],(function(e,t){"use strict";function i(e,t,i){if(!(e instanceof Element))throw new TypeError("Expected a valid element as first argument.");const n=[];for(let o=0;o<e.childElementCount;o++)r.get(t)(e.children[o],i)&&n.push(e.children[o]);return n}function n(e,t,i,n){if(!(e instanceof Element))throw new TypeError("Expected a valid element as first argument.");let o=e.parentNode;for(;o instanceof Element;){if(o===n)return null;if(r.get(t)(o,i))return o;o=o.parentNode}return null}function o(e,t,i,n){if(!(e instanceof Element))throw new TypeError("Expected a valid element as first argument.");return e instanceof Element&&null!==e[t]&&r.get(i)(e[t],n)?e[t]:null}Object.defineProperty(t,"__esModule",{value:!0}),t.prevByTag=t.prevByClass=t.prevBySel=t.prev=t.nextByTag=t.nextByClass=t.nextBySel=t.next=t.parentByTag=t.parentByClass=t.parentBySel=t.childrenByTag=t.childrenByClass=t.childrenBySel=t.childByTag=t.childByClass=t.childBySel=void 0;const r=new Map([[0,()=>!0],[1,(e,t)=>e.matches(t)],[2,(e,t)=>e.classList.contains(t)],[3,(e,t)=>e.nodeName===t]]);t.childBySel=function(e,t){return i(e,1,t)[0]||null},t.childByClass=function(e,t){return i(e,2,t)[0]||null},t.childByTag=function(e,t){return i(e,3,t)[0]||null},t.childrenBySel=function(e,t){return i(e,1,t)},t.childrenByClass=function(e,t){return i(e,2,t)},t.childrenByTag=function(e,t){return i(e,3,t)},t.parentBySel=function(e,t,i){return n(e,1,t,i)},t.parentByClass=function(e,t,i){return n(e,2,t,i)},t.parentByTag=function(e,t,i){return n(e,3,t,i)},t.next=function(e){return o(e,"nextElementSibling",0,"")},t.nextBySel=function(e,t){return o(e,"nextElementSibling",1,t)},t.nextByClass=function(e,t){return o(e,"nextElementSibling",2,t)},t.nextByTag=function(e,t){return o(e,"nextElementSibling",3,t)},t.prev=function(e){return o(e,"previousElementSibling",0,"")},t.prevBySel=function(e,t){return o(e,"previousElementSibling",1,t)},t.prevByClass=function(e,t){return o(e,"previousElementSibling",2,t)},t.prevByTag=function(e,t){return o(e,"previousElementSibling",3,t)}})),define("WoltLabSuite/Core/Ui/Alignment",["require","exports","tslib","../Core","../Dom/Traverse","../Dom/Util","../Language"],(function(e,t,i,n,o,r,a){"use strict";function s(e,t,i,n,o,r){let a="auto",s="auto",l=!0,c=50;const d=document.getElementById("pageHeaderPanel");if(null!==d){const e=window.getComputedStyle(d).position;c="fixed"===e||"static"===e?d.offsetHeight:0}if("top"===e){const e=document.body.clientHeight;a=e-n.top+r,e-(a+t.height)<(window.scrollY||window.pageYOffset)+c&&(l=!1)}else s=n.top+i.height+r,s+t.height-(window.scrollY||window.pageYOffset)>o&&(l=!1);return{align:e,bottom:a,top:s,result:l}}function l(e,t,i,n,o){let r="auto",a="auto",s=!0;return"left"===e?(r=n.left,r+t.width>o&&(s=!1)):"right"===e?n.left+i.width<t.width?s=!1:(a=o-(n.left+i.width),a<0&&(s=!1)):(r=n.left+i.width/2-t.width/2,r=~~r,(r<0||r+t.width>o)&&(s=!1)),{align:e,left:r,right:a,result:s}}Object.defineProperty(t,"__esModule",{value:!0}),t.set=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importStar(a),t.set=function(e,t,i){i=n.extend({verticalOffset:0,pointer:!1,pointerClassNames:[],refDimensionsElement:null,horizontal:"left",vertical:"bottom",allowFlip:"both"},i||{}),Array.isArray(i.pointerClassNames)&&i.pointerClassNames.length===(i.pointer?1:2)||(i.pointerClassNames=[]),-1===["left","right","center"].indexOf(i.horizontal)&&(i.horizontal="left"),"bottom"!==i.vertical&&(i.vertical="top"),-1===["both","horizontal","vertical","none"].indexOf(i.allowFlip)&&(i.allowFlip="both"),r.default.setStyles(e,{bottom:"auto !important",left:"0 !important",right:"auto !important",top:"0 !important",visibility:"hidden !important"});const c=r.default.outerDimensions(e),d=r.default.outerDimensions(i.refDimensionsElement instanceof HTMLElement?i.refDimensionsElement:t),u=r.default.offset(t),h=window.innerHeight,p=document.body.clientWidth;let m=null,f=!1;if("center"===i.horizontal&&(f=!0,m=l(i.horizontal,c,d,u,p),m.result||("both"===i.allowFlip||"horizontal"===i.allowFlip?i.horizontal="left":m.result=!0)),"rtl"===a.get("wcf.global.pageDirection")&&(i.horizontal="left"===i.horizontal?"right":"left"),null===m||!m.result){const e=m;if(m=l(i.horizontal,c,d,u,p),!m.result&&("both"===i.allowFlip||"horizontal"===i.allowFlip)){const t=l("left"===i.horizontal?"right":"left",c,d,u,p);t.result?m=t:f&&(m=e)}}const g=m.left,b=m.right;let _=s(i.vertical,c,d,u,h,i.verticalOffset);if(!_.result&&("both"===i.allowFlip||"vertical"===i.allowFlip)){const e=s("top"===i.vertical?"bottom":"top",c,d,u,h,i.verticalOffset);e.result&&(_=e)}const v=_.bottom,w=_.top;if(i.pointer){const t=o.childrenByClass(e,"elementPointer")[0]||null;if(null===t)throw new Error("Expected the .elementPointer element to be a direct children.");"center"===m.align?(t.classList.add("center"),t.classList.remove("left","right")):(t.classList.add(m.align),t.classList.remove("center"),t.classList.remove("left"===m.align?"right":"left")),"top"===_.align?t.classList.add("flipVertical"):t.classList.remove("flipVertical")}else 2===i.pointerClassNames.length&&(e.classList["auto"===w?"add":"remove"](i.pointerClassNames[0]),e.classList["auto"===g?"add":"remove"](i.pointerClassNames[1]));r.default.setStyles(e,{bottom:"auto"===v?v:Math.round(v).toString()+"px",left:"auto"===g?g:Math.ceil(g).toString()+"px",right:"auto"===b?b:Math.floor(b).toString()+"px",top:"auto"===w?w:Math.round(w).toString()+"px"}),r.default.show(e),e.style.removeProperty("visibility")}})),define("WoltLabSuite/Core/Ui/CloseOverlay",["require","exports","tslib","../CallbackList"],(function(e,t,i,n){"use strict";const o=new((n=i.__importDefault(n)).default),r={add:o.add.bind(o),remove:o.remove.bind(o),execute(){o.forEach(null,(e=>e()))}};return document.body.addEventListener("click",(()=>r.execute())),r})),define("WoltLabSuite/Core/Date/Picker",["require","exports","tslib","../Core","./Util","../Dom/Change/Listener","../Event/Handler","../Language","../Ui/Alignment","../Ui/CloseOverlay","../Dom/Util"],(function(e,t,i,n,o,r,a,s,l,c,d){"use strict";function u(e,t,i){const n=i?"minDate":"maxDate";let o=(e.dataset[n]||"").trim();if(/^(\d{4})-(\d{2})-(\d{2})$/.exec(o))o=new Date(o).getTime().toString();else if("now"===o)o=t.getTime().toString();else if(/^\d{1,3}$/.exec(o)){const e=new Date(t.getTime());e.setFullYear(e.getFullYear()+~~o*(i?-1:1)),o=e.getTime().toString()}else if(/^datePicker-(.+)$/.exec(o)){if(o=RegExp.$1,null===document.getElementById(o))throw new Error("Reference date picker identified by '"+o+"' does not exists (element id: '"+e.id+"').")}else o=/^\d{4}-\d{2}-\d{2}T/.test(o)?new Date(o).getTime().toString():new Date(i?1902:2038,0,1).getTime().toString();e.dataset[n]=o}function h(e){let t=k.dataset[e]||"";if(/^datePicker-(.+)$/.exec(t)){const e=document.getElementById(RegExp.$1);if(null===e)throw new Error(`Unable to find an element with the id '${RegExp.$1}'.`);t=e.dataset.value||""}return new Date(parseInt(t,10))}function p(e){e.preventDefault(),e.stopPropagation(),function(){if(null!==U)return;U=document.createElement("div"),U.className="datePicker",U.addEventListener("click",(e=>{e.stopPropagation()}));const e=document.createElement("header");U.appendChild(e),N=document.createElement("a"),N.className="previous jsTooltip",N.href="#",N.setAttribute("role","button"),N.tabIndex=0,N.title=s.get("wcf.date.datePicker.previousMonth"),N.setAttribute("aria-label",s.get("wcf.date.datePicker.previousMonth")),N.innerHTML='<span class="icon icon16 fa-arrow-left"></span>',N.addEventListener("click",(e=>F.previousMonth(e))),e.appendChild(N);const t=document.createElement("span");e.appendChild(t),B=document.createElement("select"),B.className="month jsTooltip",B.title=s.get("wcf.date.datePicker.month"),B.setAttribute("aria-label",s.get("wcf.date.datePicker.month")),B.addEventListener("change",_),t.appendChild(B);let i="";const n=s.get("__monthsShort");for(let e=0;e<12;e++)i+=`<option value="${e}">${n[e]}</option>`;B.innerHTML=i,O=document.createElement("select"),O.className="year jsTooltip",O.title=s.get("wcf.date.datePicker.year"),O.setAttribute("aria-label",s.get("wcf.date.datePicker.year")),O.addEventListener("change",v),t.appendChild(O),P=document.createElement("a"),P.className="next jsTooltip",P.href="#",P.setAttribute("role","button"),P.tabIndex=0,P.title=s.get("wcf.date.datePicker.nextMonth"),P.setAttribute("aria-label",s.get("wcf.date.datePicker.nextMonth")),P.innerHTML='<span class="icon icon16 fa-arrow-right"></span>',P.addEventListener("click",(e=>F.nextMonth(e))),e.appendChild(P),T=document.createElement("ul"),U.appendChild(T);const r=document.createElement("li");r.className="weekdays",T.appendChild(r);const a=s.get("__daysShort");for(let e=0;e<7;e++){let t=e+L;t>6&&(t-=7);const i=document.createElement("span");i.textContent=a[t],r.appendChild(i)}for(let e=0;e<6;e++){const e=document.createElement("li");T.appendChild(e);for(let t=0;t<7;t++){const t=document.createElement("a");t.addEventListener("click",w),D.push(t),e.appendChild(t)}}q=document.createElement("footer"),U.appendChild(q),M=document.createElement("select"),M.className="hour",M.title=s.get("wcf.date.datePicker.hour"),M.setAttribute("aria-label",s.get("wcf.date.datePicker.hour")),M.addEventListener("change",b);const l=new Date(2e3,0,1),c=s.get("wcf.date.timeFormat").replace(/:/,"").replace(/[isu]/g,"");let d="";for(let e=0;e<24;e++)l.setHours(e),d+=`<option value="${e}">${o.format(l,c)}</option>`;M.innerHTML=d,q.appendChild(M),q.appendChild(document.createTextNode(" : ")),j=document.createElement("select"),j.className="minute",j.title=s.get("wcf.date.datePicker.minute"),j.setAttribute("aria-label",s.get("wcf.date.datePicker.minute")),j.addEventListener("change",b),d="";for(let e=0;e<60;e++){const t=e<10?"0"+e.toString():e;d+=`<option value="${e}">${t}</option>`}j.innerHTML=d,q.appendChild(j),document.body.appendChild(U),document.body.addEventListener("focus",E,{capture:!0})}();const t=e.currentTarget,i="INPUT"===t.nodeName?t:t.previousElementSibling;if(i===k)return void m();const r=i.closest(".dialogContent");null!==r&&(n.stringToBool(r.dataset.hasDatepickerScrollListener||"")||(r.addEventListener("scroll",f),r.dataset.hasDatepickerScrollListener="1")),k=i;const a=A.get(k),c=k.dataset.value;let d;c?(d=new Date(parseInt(c,10)),"Invalid Date"===d.toString()&&(d=new Date)):d=new Date,x=h("minDate"),x.getTime()>d.getTime()&&(d=x),I=h("maxDate"),a.isDateTime?(M.value=d.getHours().toString(),j.value=d.getMinutes().toString(),U.classList.add("datePickerTime")):U.classList.remove("datePickerTime"),U.classList[a.isTimeOnly?"add":"remove"]("datePickerTimeOnly"),function(e,t,i){g(e,t,i);let n="";for(let e=x.getFullYear(),t=I.getFullYear();e<=t;e++)n+=`<option value="${e}">${e}</option>`;O.innerHTML=n,O.value=i.toString(),B.value=t.toString(),U.classList.add("active")}(d.getDate(),d.getMonth(),d.getFullYear()),l.set(U,k),k.nextElementSibling.setAttribute("aria-expanded","true"),C=!1}function m(){if(null===U||!U.classList.contains("active"))return;U.classList.remove("active");const e=A.get(k);"function"==typeof e.onClose&&e.onClose(),a.fire("WoltLabSuite/Core/Date/Picker","close",{element:k});k.nextElementSibling.setAttribute("aria-expanded","false"),k=null}function f(e){if(null===k)return;const t=e.currentTarget,i=d.default.offset(k),n=d.default.offset(t);i.top+k.clientHeight<=n.top||i.top>=n.top+t.offsetHeight||i.left<=n.left||i.left>=n.left+t.offsetWidth?m():l.set(U,k)}function g(e,t,i){const n=void 0!==e,r=void 0!==t;if("number"!=typeof e&&(e=parseInt(e||T.dataset.day||"0",10)),"number"!=typeof t&&(t=parseInt(t||"0",10)),"number"!=typeof i&&(i=parseInt(i||"0",10)),r||i){let a=0!==i;const s=document.createDocumentFragment();s.appendChild(T),r||(t=parseInt(T.dataset.month,10)),i||(i=parseInt(T.dataset.year,10));let l,c=new Date(i.toString()+"-"+("0"+(t+1).toString()).slice(-2)+"-"+("0"+e.toString()).slice(-2));for(c<x?(i=x.getFullYear(),t=x.getMonth(),e=x.getDate(),B.value=t.toString(),O.value=i.toString(),a=!0):c>I&&(i=I.getFullYear(),t=I.getMonth(),e=I.getDate(),B.value=t.toString(),O.value=i.toString(),a=!0),c=new Date(i.toString()+"-"+("0"+(t+1).toString()).slice(-2)+"-01");c.getDay()!==L;)c.setDate(c.getDate()-1);d.default.show(D[35].parentNode);const u=new Date(x.getFullYear(),x.getMonth(),x.getDate());for(let e=0;e<42;e++){if(35===e&&c.getMonth()!==t){d.default.hide(D[35].parentNode);break}const i=D[e];i.textContent=c.getDate().toString(),l=c.getMonth()===t,l&&(c<u||c>I)&&(l=!1),i.classList[l?"remove":"add"]("otherMonth"),l&&(i.href="#",i.setAttribute("role","button"),i.tabIndex=0,i.title=o.formatDate(c),i.setAttribute("aria-label",o.formatDate(c))),c.setDate(c.getDate()+1)}if(T.dataset.month=t.toString(),T.dataset.year=i.toString(),U.insertBefore(s,q),!n&&(c=new Date(i,t,e),c.getDate()!==e)){for(;c.getMonth()!==t;)c.setDate(c.getDate()-1);e=c.getDate()}if(a){for(let e=0;e<12;e++){const t=B.children[e];t.disabled=i===x.getFullYear()&&+t.value<x.getMonth()||i===I.getFullYear()&&+t.value>I.getMonth()}const e=new Date(i.toString()+"-"+("0"+(t+1).toString()).slice(-2)+"-01");e.setMonth(e.getMonth()+1),P.classList[e<I?"add":"remove"]("active");const n=new Date(i.toString()+"-"+("0"+(t+1).toString()).slice(-2)+"-01");n.setDate(n.getDate()-1),N.classList[n>x?"add":"remove"]("active")}}if(e){for(let t=0;t<35;t++){const i=D[t];i.classList[i.classList.contains("otherMonth")||+i.textContent!==e?"remove":"add"]("active")}T.dataset.day=e.toString()}b()}function b(){const e=A.get(k);let t;n.stringToBool(k.dataset.empty||"")||(t=e.isDateTime?new Date(+T.dataset.year,+T.dataset.month,+T.dataset.day,+M.value,+j.value):new Date(+T.dataset.year,+T.dataset.month,+T.dataset.day),F.setDate(k,t))}function _(e){g(void 0,+e.currentTarget.value)}function v(e){g(void 0,void 0,+e.currentTarget.value)}function w(e){e.preventDefault();const t=e.currentTarget;if(t.classList.contains("otherMonth"))return;k.dataset.empty="false",g(+t.textContent);A.get(k).isDateTime||m()}function y(e){if("string"==typeof e&&(e=document.getElementById(e)),!(e instanceof HTMLInputElement&&e.classList.contains("inputDatePicker")&&A.has(e)))throw new Error("Expected a valid date picker input element or id.");return e}function E(e){if(null!==U&&U.classList.contains("active"))if(U.contains(e.target))C=!0;else if(C){k.nextElementSibling.focus(),C=!1}else U.querySelector(".previous").focus()}n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importStar(l),c=i.__importDefault(c),d=i.__importDefault(d);let S=!1,L=0,C=!1;const A=new Map;let I,x,k=null;const D=[];let T,M,j,B,P,N,q,O,U=null;const F={init(){S||(S=!0,L=parseInt(s.get("wcf.date.firstDayOfTheWeek"),10),r.default.add("WoltLabSuite/Core/Date/Picker",(()=>F.init())),c.default.add("WoltLabSuite/Core/Date/Picker",(()=>m())));const e=new Date;document.querySelectorAll('input[type="date"]:not(.inputDatePicker), input[type="datetime"]:not(.inputDatePicker)').forEach((t=>{t.classList.add("inputDatePicker"),t.readOnly=!0;const i="datetime"===t.getAttribute("type"),r=i&&n.stringToBool(t.dataset.timeOnly||""),a=n.stringToBool(t.dataset.disableClear||""),l=i&&n.stringToBool(t.dataset.ignoreTimezone||""),c=t.classList.contains("birthday");t.dataset.isDateTime=i?"true":"false",t.dataset.isTimeOnly=r?"true":"false";let d=null,h=t.value;h||(h=t.getAttribute("value")||"");const m=/^\d+-\d+-\d+$/.test(h);if(h){if(r){d=new Date;const e=h.split(":");d.setHours(+e[0],+e[1])}else{if(l||c||m){let e=new Date(h).getTimezoneOffset(),t=e>0?"-":"+";e=Math.abs(e);const i=Math.floor(e/60).toString(),n=(e%60).toString();t+=2===i.length?i:"0"+i,t+=":",t+=2===n.length?n:"0"+n,c||m?h+="T00:00:00"+t:h=h.replace(/[+-][0-9]{2}:[0-9]{2}$/,t)}d=new Date(h)}const e=d.getTime();isNaN(e)?h="":(t.dataset.value=e.toString(),h=r?o.formatTime(d):i?o.formatDateTime(d):o.formatDate(d))}const f=0===h.length;if(c?(t.dataset.minDate="120",t.dataset.maxDate=(new Date).getFullYear().toString()+"-12-31"):(t.min&&(t.dataset.minDate=t.min),t.max&&(t.dataset.maxDate=t.max)),u(t,e,!0),u(t,e,!1),(t.dataset.minDate||"")===(t.dataset.maxDate||""))throw new Error("Minimum and maximum date cannot be the same (element id '"+t.id+"').");t.type="text",t.value=h,t.dataset.empty=f?"true":"false";const g=t.dataset.placeholder||"";g&&(t.placeholder=g);const b=document.createElement("input");b.id=t.id+"DatePicker",b.name=t.name,b.type="hidden",null!==d&&(b.value=r?o.format(d,"H:i"):l?o.format(d,"Y-m-dTH:i:s"):o.format(d,i?"c":"Y-m-d")),t.parentNode.insertBefore(b,t),t.removeAttribute("name"),t.addEventListener("click",p);let _=null;if(!t.disabled){const e=document.createElement("div");e.className="inputAddon";const i=document.createElement("a");i.className="inputSuffix button jsTooltip",i.href="#",i.setAttribute("role","button"),i.tabIndex=0,i.title=s.get("wcf.date.datePicker"),i.setAttribute("aria-label",s.get("wcf.date.datePicker")),i.setAttribute("aria-haspopup","true"),i.setAttribute("aria-expanded","false"),i.addEventListener("click",p),e.appendChild(i);let n=document.createElement("span");n.className="icon icon16 fa-calendar",i.appendChild(n),t.parentNode.insertBefore(e,t),e.insertBefore(t,i),a||(_=document.createElement("a"),_.className="inputSuffix button",_.addEventListener("click",(()=>this.clear(t))),f&&_.style.setProperty("visibility","hidden",""),e.appendChild(_),n=document.createElement("span"),n.className="icon icon16 fa-times",_.appendChild(n))}const v=["tiny","short","medium","long"];let w=!1;for(let e=0;e<4;e++)t.classList.contains(v[e])&&(w=!0);w||t.classList.add("short"),A.set(t,{clearButton:_,shadow:b,disableClear:a,isDateTime:i,isEmpty:f,isTimeOnly:r,ignoreTimezone:l,onClose:null})}))},previousMonth(e){e.preventDefault(),"0"===B.value?(B.value="11",O.value=(+O.value-1).toString()):B.value=(+B.value-1).toString(),g(void 0,+B.value,+O.value)},nextMonth(e){e.preventDefault(),"11"===B.value?(B.value="0",O.value=(+O.value+1).toString()):B.value=(+B.value+1).toString(),g(void 0,+B.value,+O.value)},getDate(e){const t=(e=y(e)).dataset.value||"";return t?new Date(+t):null},setDate(e,t){e=y(e);const i=A.get(e);e.dataset.value=t.getTime().toString();let n,r="";i.isDateTime?i.isTimeOnly?(n=o.formatTime(t),r="H:i"):i.ignoreTimezone?(n=o.formatDateTime(t),r="Y-m-dTH:i:s"):(n=o.formatDateTime(t),r="c"):(n=o.formatDate(t),r="Y-m-d"),e.value=n,i.shadow.value=o.format(t,r),i.disableClear||i.clearButton.style.removeProperty("visibility")},getValue(e){e=y(e);const t=A.get(e);return t?t.shadow.value:""},clear(e){e=y(e);const t=A.get(e);e.removeAttribute("data-value"),e.value="",t.disableClear||t.clearButton.style.setProperty("visibility","hidden",""),t.isEmpty=!0,t.shadow.value=""},destroy(e){e=y(e);const t=A.get(e),i=e.parentNode;i.parentNode.insertBefore(e,i),i.remove(),e.setAttribute("type","date"+(t.isDateTime?"time":"")),e.name=t.shadow.name,e.value=t.shadow.value,e.removeAttribute("data-value"),e.removeEventListener("click",p),t.shadow.remove(),e.classList.remove("inputDatePicker"),e.readOnly=!1,A.delete(e)},setCloseCallback(e,t){e=y(e),A.get(e).onClose=t}};return window.__wcf_bc_datePicker=F,F})),define("WoltLabSuite/Core/Timer/Repeating",["require","exports","tslib","../Core"],(function(e,t,i,n){"use strict";n=i.__importStar(n);class o{constructor(e,t){if("function"!=typeof e)throw new TypeError("Expected a valid callback as first argument.");if(t<0||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.restart()}restart(){this.stop(),this._timer=setInterval(this._callback,this._delta)}stop(){void 0!==this._timer&&(clearInterval(this._timer),this._timer=void 0)}setDelta(e){this._delta=e,this.restart()}}return n.enableLegacyInheritance(o),o})),define("WoltLabSuite/Core/Date/Time/Relative",["require","exports","tslib","../../Core","../Util","../../Dom/Change/Listener","../../Language","../../Timer/Repeating"],(function(e,t,i,n,o,r,a,s){"use strict";function l(){document.hidden?(u=!1,h=!1):(u=!0,h&&(c(),h=!1))}function c(){if(!u)return void(h||(h=!0));const e=new Date,t=(e.getTime()-e.getMilliseconds())/1e3;document.querySelectorAll("time").forEach((i=>{!function(e,t,i){if(!e.classList.contains("datetime")||n.stringToBool(e.dataset.isFutureDate||""))return;const r=parseInt(e.dataset.timestamp,10)+d,s=e.dataset.date,l=e.dataset.time,c=e.dataset.offset;e.title||(e.title=a.get("wcf.date.dateTimeFormat").replace(/%date%/,s).replace(/%time%/,l));if(r>=i||i<r+60)e.textContent=a.get("wcf.date.relative.now");else if(i<r+3540){const t=Math.max(Math.round((i-r)/60),1);e.textContent=a.get("wcf.date.relative.minutes",{minutes:t})}else if(i<r+86400){const t=Math.round((i-r)/3600);e.textContent=a.get("wcf.date.relative.hours",{hours:t})}else if(i<r+518400){const i=new Date(t.getFullYear(),t.getMonth(),t.getDate()),n=Math.ceil((i.getTime()/1e3-r)/86400),s=o.getTimezoneDate(1e3*r,1e3*parseInt(c,10)).getDay(),d=a.get("__days")[s];e.textContent=a.get("wcf.date.relative.pastDays",{days:n,day:d,time:l})}else e.textContent=a.get("wcf.date.shortDateTimeFormat").replace(/%date%/,s).replace(/%time%/,l)}(i,e,t)}))}Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importStar(a),s=i.__importDefault(s);let d,u=!0,h=!1;t.setup=function(){d=Math.trunc(Date.now()/1e3-window.TIME_NOW),new s.default(c,6e4),r.default.add("WoltLabSuite/Core/Date/Time/Relative",c),document.addEventListener("visibilitychange",l)}})),define("WoltLabSuite/Core/Environment",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.touch=t.platform=t.editor=t.browser=t.setup=void 0;let i="other",n="none",o="desktop",r=!1;t.setup=function(){if("object"==typeof window.chrome)i="chrome";else{const e=window.getComputedStyle(document.documentElement);for(let t=0,n=e.length;t<n;t++){const n=e[t];0===n.indexOf("-ms-")?i="microsoft":0===n.indexOf("-moz-")?i="firefox":"firefox"!==i&&0===n.indexOf("-webkit-")&&(i="safari")}}const e=window.navigator.userAgent.toLowerCase();-1!==e.indexOf("crios")?(i="chrome",o="ios"):/(?:iphone|ipad|ipod)/.test(e)?(i="safari",o="ios"):-1!==e.indexOf("android")?o="android":-1!==e.indexOf("iemobile")&&(i="microsoft",o="windows"),"desktop"!==o||-1===e.indexOf("mobile")&&-1===e.indexOf("tablet")||(o="mobile"),n="redactor",r="ontouchstart"in window||"msMaxTouchPoints"in window.navigator&&window.navigator.msMaxTouchPoints>0||window.DocumentTouch&&document instanceof window.DocumentTouch,"MacIntel"===window.navigator.platform&&window.navigator.maxTouchPoints>1&&(i="safari",o="ios")},t.browser=function(){return i},t.editor=function(){return n},t.platform=function(){return o},t.touch=function(){return r}})),define("WoltLabSuite/Core/Ui/Screen",["require","exports","tslib","../Core","../Environment"],(function(e,t,i,n,o){"use strict";function r(e){if("string"!=typeof e||""===e.trim())throw new TypeError("Expected a non-empty string for parameter 'query'.");p.has(e)&&(e=p.get(e)),h.has(e)&&(e=h.get(e));let t=s.get(e);return t||(t={callbacksMatch:new Map,callbacksUnmatch:new Map,callbacksSetup:new Map,mql:window.matchMedia(e)},t.mql.addListener(a),s.set(e,t),e!==t.mql.media&&p.set(t.mql.media,e)),t}function a(e){const t=r(e.media);if(e.matches)t.callbacksSetup.size?(t.callbacksSetup.forEach((e=>{e()})),t.callbacksSetup=new Map):t.callbacksMatch.forEach((e=>{e()}));else{if(t.callbacksSetup.size)return;t.callbacksUnmatch.forEach((e=>{e()}))}}Object.defineProperty(t,"__esModule",{value:!0}),t.setDialogContainer=t.pageOverlayIsActive=t.pageOverlayClose=t.pageOverlayOpen=t.scrollEnable=t.scrollDisable=t.is=t.remove=t.on=void 0,n=i.__importStar(n),o=i.__importStar(o);const s=new Map;let l,c=0,d=0,u=0;const h=new Map(Object.entries({"screen-xs":"(max-width: 544px)","screen-sm":"(min-width: 545px) and (max-width: 768px)","screen-sm-down":"(max-width: 768px)","screen-sm-up":"(min-width: 545px)","screen-sm-md":"(min-width: 545px) and (max-width: 1024px)","screen-md":"(min-width: 769px) and (max-width: 1024px)","screen-md-down":"(max-width: 1024px)","screen-md-up":"(min-width: 769px)","screen-lg":"(min-width: 1025px)","screen-lg-only":"(min-width: 1025px) and (max-width: 1280px)","screen-lg-down":"(max-width: 1280px)","screen-xl":"(min-width: 1281px)"})),p=new Map;t.on=function(e,t){const i=n.getUuid(),o=r(e);return"function"==typeof t.match&&o.callbacksMatch.set(i,t.match),"function"==typeof t.unmatch&&o.callbacksUnmatch.set(i,t.unmatch),"function"==typeof t.setup&&(o.mql.matches?t.setup():o.callbacksSetup.set(i,t.setup)),i},t.remove=function(e,t){const i=r(e);i.callbacksMatch.delete(t),i.callbacksUnmatch.delete(t),i.callbacksSetup.delete(t)},t.is=function(e){return r(e).mql.matches},t.scrollDisable=function(){if(0===c){d=document.body.scrollTop,l="body",d||(d=document.documentElement.scrollTop,l="documentElement");const e=document.getElementById("pageContainer");"ios"===o.platform()?(e.style.setProperty("position","relative",""),e.style.setProperty("top",`-${d}px`,"")):e.style.setProperty("margin-top",`-${d}px`,""),document.documentElement.classList.add("disableScrolling")}c++},t.scrollEnable=function(){if(c&&(c--,0===c)){document.documentElement.classList.remove("disableScrolling");const e=document.getElementById("pageContainer");"ios"===o.platform()?(e.style.removeProperty("position"),e.style.removeProperty("top")):e.style.removeProperty("margin-top"),d&&(document[l].scrollTop=~~d)}},t.pageOverlayOpen=function(){0===u&&document.documentElement.classList.add("pageOverlayActive"),u++},t.pageOverlayClose=function(){u&&(u--,0===u&&document.documentElement.classList.remove("pageOverlayActive"))},t.pageOverlayIsActive=function(){return u>0},t.setDialogContainer=function(e){}})),define("WoltLabSuite/Core/Ui/Dropdown/Simple",["require","exports","tslib","../../CallbackList","../../Core","../../Dom/Change/Listener","../../Dom/Traverse","../../Dom/Util","../Alignment","../CloseOverlay"],(function(e,t,i,n,o,r,a,s,l,c){"use strict";function d(e){const t=e.currentTarget,i=t.querySelectorAll(".dropdown.dropdownOpen");for(let e=0,n=i.length;e<n;e++){const n=i[e],o=s.default.identify(n),r=s.default.offset(n),a=s.default.offset(t);r.top+n.clientHeight<=a.top||r.top>=a.top+t.offsetHeight||r.left<=a.left||r.left>=a.left+t.offsetWidth?S.toggleDropdown(o):S.setAlignment(v.get(o),w.get(o))}}function u(){v.forEach(((e,t)=>{if(e.classList.contains("dropdownOpen"))if(o.stringToBool(e.dataset.isOverlayDropdownButton||""))S.setAlignment(e,w.get(t));else{const i=w.get(e.id);o.stringToBool(i.dataset.dropdownIgnorePageScroll||"")||S.close(t)}}))}function h(e,t){b.forEach(e,(i=>{i(e,t)}))}function p(e,t,i,n){let r=!1;if(null!==e){e.preventDefault(),e.stopPropagation();const i=e.currentTarget;t=i.dataset.target,void 0===n&&e instanceof MouseEvent&&(o.stringToBool(i.dataset.isKeyboardClick||"")?(r=!0,delete i.dataset.isKeyboardClick):n=!0)}let s=v.get(t),l=!1;if(void 0!==s){let i,r;if(e&&(i=e.currentTarget,r=i.parentNode,r!==s&&(r.classList.add("dropdown"),r.id=s.id,s.classList.remove("dropdown"),s.id="",s=r,v.set(t,r))),void 0===n&&(i=s.closest(".dropdownToggle"),i||(i=s.querySelector(".dropdownToggle"),!i&&s.id&&(i=document.querySelector('[data-target="'+s.id+'"]'))),i&&o.stringToBool(i.dataset.dropdownLazyInit||"")&&(n=!0)),o.stringToBool(s.dataset.dropdownPreventToggle||"")&&s.classList.contains("dropdownOpen")&&(l=!0),""===s.dataset.isOverlayDropdownButton){const e=a.parentByClass(s,"dialogContent");s.dataset.isOverlayDropdownButton=null!==e?"true":"false",null!==e&&e.addEventListener("scroll",d)}}return E="",v.forEach(((e,a)=>{const s=w.get(a);let c=null;if(e.classList.contains("dropdownOpen"))if(l)E=t;else{e.classList.remove("dropdownOpen"),s.classList.remove("dropdownOpen");const t=e.querySelector(".dropdownToggle");t&&t.setAttribute("aria-expanded","false"),h(a,"close")}else if(a===t&&s.childElementCount>0){E=t,e.classList.add("dropdownOpen"),s.classList.add("dropdownOpen");const l=e.querySelector(".dropdownToggle");l&&l.setAttribute("aria-expanded","true");const d=s.childElementCount>0?s.children[0]:null;if(d&&o.stringToBool(d.dataset.scrollToActive||"")){delete d.dataset.scrollToActive;let e=null;for(let t=0,i=d.childElementCount;t<i;t++)if(d.children[t].classList.contains("active")){e=d.children[t];break}e&&(d.scrollTop=Math.max(e.offsetTop+e.clientHeight-s.clientHeight,0))}const u=s.querySelector(".scrollableDropdownMenu");null!==u&&u.classList[u.scrollHeight>u.clientHeight?"add":"remove"]("forceScrollbar"),h(a,"open"),n||(s.setAttribute("role","menu"),s.tabIndex=-1,s.removeEventListener("keydown",f),s.addEventListener("keydown",f),s.querySelectorAll("li").forEach((e=>{e.clientHeight&&((null===c||e.classList.contains("active"))&&(c=e),e.setAttribute("role","menuitem"),e.tabIndex=-1)}))),S.setAlignment(e,s,i),null!==c&&(c.focus(),r&&c.classList.add("focus-visible"))}})),window.WCF.Dropdown.Interactive.Handler.closeAll(),null===e}function m(e){const t=e.currentTarget;"INPUT"!==t.nodeName&&("Enter"!==e.key&&"Space"!==e.key||(e.preventDefault(),t.dataset.requiresSynthethicClick?(t.dataset.isKeyboardClick="true",t.click()):p(e)))}function f(e){const t=document.activeElement;if("LI"===t.nodeName)if("ArrowDown"===e.key||"ArrowUp"===e.key||"End"===e.key||"Home"===e.key){e.preventDefault();const i=Array.from(t.closest(".dropdownMenu").querySelectorAll("li"));"ArrowUp"!==e.key&&"End"!==e.key||i.reverse();let n=null;const o=e=>!e.classList.contains("dropdownDivider")&&e.clientHeight>0;let r=i.indexOf(t);"End"!==e.key&&"Home"!==e.key||(r=-1);for(let e=r+1;e<i.length;e++)if(o(i[e])){n=i[e];break}null===n&&(n=i.find(o)||null),null!==n&&n.focus()}else if("Enter"===e.key||"Space"===e.key){e.preventDefault();let i=t;1!==i.childElementCount||"SPAN"!==i.children[0].nodeName&&"A"!==i.children[0].nodeName||(i=i.children[0]);const n=v.get(E),r=n.querySelector(".dropdownToggle"),a=n.dataset.a11yMouseEvent||"click";o.triggerEvent(i,a),r&&r.focus()}else if("Escape"===e.key||"Tab"===e.key){e.preventDefault();const t=v.get(E);let i=t.querySelector(".dropdownToggle");null!==i||t.classList.contains("dropdown")||(i=t),p(null,E),i&&i.focus()}}let g;n=i.__importDefault(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importStar(a),s=i.__importDefault(s),l=i.__importStar(l),c=i.__importDefault(c);const b=new n.default;let _=!1;const v=new Map,w=new Map;let y,E="";const S={setup(){_||(_=!0,y=document.createElement("div"),y.className="dropdownMenuContainer",document.body.appendChild(y),g=document.getElementsByClassName("dropdownToggle"),S.initAll(),c.default.add("WoltLabSuite/Core/Ui/Dropdown/Simple",(()=>S.closeAll())),r.default.add("WoltLabSuite/Core/Ui/Dropdown/Simple",(()=>S.initAll())),document.addEventListener("scroll",u),window.bc_wcfSimpleDropdown=this)},initAll(){for(let e=0,t=g.length;e<t;e++)S.init(g[e],!1)},init(e,t){if(S.setup(),e.setAttribute("role","button"),e.tabIndex=0,e.setAttribute("aria-haspopup","true"),e.setAttribute("aria-expanded","false"),e.classList.contains("jsDropdownEnabled")||e.dataset.target)return!1;const i=a.parentByClass(e,"dropdown");if(null===i)throw new Error("Invalid dropdown passed, button '"+s.default.identify(e)+"' does not have a parent with .dropdown.");const n=a.nextByClass(e,"dropdownMenu");if(null===n)throw new Error("Invalid dropdown passed, button '"+s.default.identify(e)+"' does not have a menu as next sibling.");y.appendChild(n);const r=s.default.identify(i);if(!v.has(r)&&(e.classList.add("jsDropdownEnabled"),e.addEventListener("click",p),e.addEventListener("keydown",m),v.set(r,i),w.set(r,n),/^wcf\d+$/.test(r)||(n.dataset.source=r),n.childElementCount&&n.children[0].classList.contains("scrollableDropdownMenu"))){const e=n.children[0];e.dataset.scrollToActive="true";let t=null,i=null;e.addEventListener("wheel",(n=>{null===t&&(t=e.clientHeight),null===i&&(i=e.scrollHeight),(n.deltaY<0&&0===e.scrollTop||n.deltaY>0&&e.scrollTop+t===i)&&n.preventDefault()}),{passive:!1})}return e.dataset.target=r,t&&setTimeout((()=>{e.dataset.dropdownLazyInit=t instanceof MouseEvent?"true":"false",o.triggerEvent(e,"click"),setTimeout((()=>{delete e.dataset.dropdownLazyInit}),10)}),10),!0},initFragment(e,t){S.setup();const i=s.default.identify(e);v.has(i)||(v.set(i,e),y.appendChild(t),w.set(i,t))},registerCallback(e,t){b.add(e,t)},getDropdown:e=>v.get(e),getDropdownMenu:e=>w.get(e),toggleDropdown(e,t,i){p(null,e,t,i)},setAlignment(e,t,i){const n=e.querySelector(".dropdownToggle"),o=null!==n?n.parentNode:null;let r;o&&o.classList.contains("inputAddonTextarea")&&(r=n),l.set(t,i||e,{pointerClassNames:["dropdownArrowBottom","dropdownArrowRight"],refDimensionsElement:r||null,horizontal:"right"===t.dataset.dropdownAlignmentHorizontal?"right":"left",vertical:"top"===t.dataset.dropdownAlignmentVertical?"top":"bottom",allowFlip:t.dataset.dropdownAllowFlip||"both"})},setAlignmentById(e){const t=v.get(e);if(void 0===t)throw new Error("Unknown dropdown identifier '"+e+"'.");const i=w.get(e);S.setAlignment(t,i)},isOpen(e){const t=w.get(e);return void 0!==t&&t.classList.contains("dropdownOpen")},open(e,t,i){const n=w.get(e);void 0===n||n.classList.contains("dropdownOpen")||S.toggleDropdown(e,i,t)},close(e){const t=v.get(e);void 0!==t&&(t.classList.remove("dropdownOpen"),w.get(e).classList.remove("dropdownOpen"))},closeAll(){v.forEach(((e,t)=>{e.classList.contains("dropdownOpen")&&(e.classList.remove("dropdownOpen"),w.get(t).classList.remove("dropdownOpen"),h(t,"close"))}))},destroy(e){var t;if(!v.has(e))return!1;try{S.close(e),null===(t=w.get(e))||void 0===t||t.remove()}catch(e){}return w.delete(e),v.delete(e),!0},_toggle:(e,t,i,n)=>p(e,t,i,n)};return S})),define("WoltLabSuite/Core/Ui/Dialog",["require","exports","tslib","../Core","../Dom/Change/Listener","./Screen","../Dom/Util","../Language","../Environment","../Event/Handler","./Dropdown/Simple"],(function(e,t,i,n,o,r,a,s,l,c,d){"use strict";n=i.__importStar(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importDefault(a),s=i.__importStar(s),l=i.__importStar(l),c=i.__importStar(c),d=i.__importDefault(d);let u,h,p=null;const m=new Map;let f=!1;const g=new WeakMap,b=new Map;let _;const v=["onBeforeClose","onClose","onShow"],w=["number","password","search","tel","text","url"],y=['a[href]:not([tabindex^="-"]):not([inert])','area[href]:not([tabindex^="-"]):not([inert])',"input:not([disabled]):not([inert])","select:not([disabled]):not([inert])","textarea:not([disabled]):not([inert])","button:not([disabled]):not([inert])",'iframe:not([tabindex^="-"]):not([inert])','audio:not([tabindex^="-"]):not([inert])','video:not([tabindex^="-"]):not([inert])','[contenteditable]:not([tabindex^="-"]):not([inert])','[tabindex]:not([tabindex^="-"]):not([inert])'];return{setup(){h=document.createElement("div"),h.classList.add("dialogOverlay"),h.setAttribute("aria-hidden","true"),h.addEventListener("mousedown",(e=>this._closeOnBackdrop(e))),h.addEventListener("wheel",(e=>{e.target===h&&e.preventDefault()}),{passive:!1}),document.getElementById("content").appendChild(h),_=e=>{if("Escape"===e.key){const t=e.target;if("INPUT"!==t.nodeName&&"TEXTAREA"!==t.nodeName)return this.close(p),!1}return!0},r.on("screen-xs",{match(){f=!0},unmatch(){f=!1},setup(){f=!0}}),this._initStaticDialogs(),o.default.add("Ui/Dialog",(()=>{this._initStaticDialogs()})),window.addEventListener("resize",(()=>{m.forEach((e=>{n.stringToBool(e.dialog.getAttribute("aria-hidden"))||this.rebuild(e.dialog.dataset.id||"")}))}))},_initStaticDialogs(){document.querySelectorAll(".jsStaticDialog").forEach((e=>{e.classList.remove("jsStaticDialog");const t=e.dataset.dialogId||"";if(t){const i=document.getElementById(t);null!==i&&(i.classList.remove("jsStaticDialogContent"),i.dataset.isStaticDialog="true",a.default.hide(i),e.addEventListener("click",(e=>{e.preventDefault(),this.openStatic(i.id,null,{title:i.dataset.title||""})})))}}))},open(t,o){let r=g.get(t);if(r&&n.isPlainObject(r))return this.openStatic(r.id,void 0===o?null:o);if("function"!=typeof t._dialogSetup)throw new Error("Callback object does not implement the method '_dialogSetup()'.");const s=t._dialogSetup();if(!n.isPlainObject(s))throw new Error("Expected an object literal as return value of '_dialogSetup()'.");const l=s.id;let c;if(r={id:l},void 0===s.source){if(c=document.getElementById(l),null===c)throw new Error("Element id '"+l+"' is invalid and no source attribute was given. If you want to use the `html` argument instead, please add `source: null` to your dialog configuration.");s.source=document.createDocumentFragment(),s.source.appendChild(c),c.removeAttribute("id"),a.default.show(c)}else if(null===s.source)s.source=o;else if("function"==typeof s.source)s.source();else if(n.isPlainObject(s.source)){if("string"!=typeof o||""===o.trim())return new Promise(((t,i)=>{e(["../Ajax"],t,i)})).then(i.__importStar).then((e=>{const i=s.source;e.api(this,i.data,(e=>{e.returnValues&&"string"==typeof e.returnValues.template&&(this.open(t,e.returnValues.template),"function"==typeof i.after&&i.after(m.get(l).content,e))}))})),{};s.source=o}else if("string"==typeof s.source&&(c=document.createElement("div"),c.id=l,a.default.setInnerHtml(c,s.source),s.source=document.createDocumentFragment(),s.source.appendChild(c)),!s.source.nodeType||s.source.nodeType!==Node.DOCUMENT_FRAGMENT_NODE)throw new Error("Expected at least a document fragment as 'source' attribute.");return g.set(t,r),b.set(l,t),this.openStatic(l,s.source,s.options)},openStatic(t,o,a){r.pageOverlayOpen(),"desktop"!==l.platform()&&(this.isOpen(t)||r.scrollDisable()),m.has(t)?this._updateDialog(t,o):((a=n.extend({backdropCloseOnClick:!0,closable:!0,closeButtonLabel:s.get("wcf.global.button.close"),closeConfirmMessage:"",disableContentPadding:!1,title:"",onBeforeClose:null,onClose:null,onShow:null},a||{})).closable||(a.backdropCloseOnClick=!1),a.closeConfirmMessage&&(a.onBeforeClose=t=>{new Promise(((t,i)=>{e(["./Confirmation"],t,i)})).then(i.__importStar).then((e=>{e.show({confirm:this.close.bind(this,t),message:a.closeConfirmMessage||""})}))}),this._createDialog(t,o,a));const c=m.get(t);return"ios"===l.platform()&&window.setTimeout((()=>{var e;null===(e=c.content.querySelector("input, textarea"))||void 0===e||e.focus()}),200),c},setTitle(e,t){e=this._getDialogId(e);const i=m.get(e);if(void 0===i)throw new Error("Expected a valid dialog id, '"+e+"' does not match any active dialog.");const n=i.dialog.querySelector(".dialogTitle");n&&(n.textContent=t)},setCallback(e,t,i){if("object"==typeof e){const t=g.get(e);void 0!==t&&(e=t.id)}const n=m.get(e);if(void 0===n)throw new Error(`Expected a valid dialog id, '${e}' does not match any active dialog.`);if(-1===v.indexOf(t))throw new Error("Invalid callback identifier, '"+t+"' is not recognized.");if("function"!=typeof i&&null!==i)throw new Error("Only functions or the 'null' value are acceptable callback values ('"+typeof i+"' given).");n[t]=i},removeCallback(e,t){if("object"==typeof e){const t=g.get(e);void 0!==t&&(e=t.id)}const i=m.get(e);if(void 0===i)throw new Error(`Expected a valid dialog id, '${e}' does not match any active dialog.`);if(-1===v.indexOf(t))throw new Error("Invalid callback identifier, '"+t+"' is not recognized.");i[t]=void 0},_createDialog(e,t,i){let n=null;if(null===t&&(n=document.getElementById(e),null===n))throw new Error("Expected either a HTML string or an existing element id.");const o=document.createElement("div");o.classList.add("dialogContainer"),o.setAttribute("aria-hidden","true"),o.setAttribute("role","dialog"),o.dataset.id=e;const r=document.createElement("header");o.appendChild(r);const s=a.default.getUniqueId();o.setAttribute("aria-labelledby",s);const l=document.createElement("span");if(l.classList.add("dialogTitle"),l.textContent=i.title,l.id=s,r.appendChild(l),i.closable){const e=document.createElement("a");e.className="dialogCloseButton jsTooltip",e.href="#",e.setAttribute("role","button"),e.tabIndex=0,e.title=i.closeButtonLabel,e.setAttribute("aria-label",i.closeButtonLabel),e.addEventListener("click",(e=>this._close(e))),r.appendChild(e);const t=document.createElement("span");t.className="icon icon24 fa-times",e.appendChild(t)}const c=document.createElement("div");let d;if(c.classList.add("dialogContent"),i.disableContentPadding&&c.classList.add("dialogContentNoPadding"),o.appendChild(c),c.addEventListener("wheel",(e=>{let t,i,n,o=!1,r=e.target;for(;;){if(t=r.clientHeight,i=r.scrollHeight,t<i){if(n=r.scrollTop,e.deltaY<0&&n>0){o=!0;break}if(e.deltaY>0&&n+t<i){o=!0;break}}if(!r||r===c)break;r=r.parentNode}o||e.preventDefault()}),{passive:!1}),null===n)if("string"==typeof t)d=document.createElement("div"),d.id=e,a.default.setInnerHtml(d,t);else{if(!(t instanceof DocumentFragment))throw new TypeError("'html' must either be a string or a DocumentFragment");{const i=[];let n;for(let e=0,o=t.childNodes.length;e<o;e++)n=t.childNodes[e],n.nodeType===Node.ELEMENT_NODE&&i.push(n);"DIV"!==i[0].nodeName||i.length>1?(d=document.createElement("div"),d.id=e,d.appendChild(t)):d=i[0]}}else d=n;c.appendChild(d),"none"===d.style.getPropertyValue("display")&&a.default.show(d),m.set(e,{backdropCloseOnClick:i.backdropCloseOnClick,closable:i.closable,content:d,dialog:o,header:r,onBeforeClose:i.onBeforeClose,onClose:i.onClose,onShow:i.onShow,submitButton:null,inputFields:new Set}),h.insertBefore(o,h.firstChild),"function"==typeof i.onSetup&&i.onSetup(d),this._updateDialog(e,null)},_updateDialog(e,t){const i=m.get(e);if(void 0===i)throw new Error("Expected a valid dialog id, '"+e+"' does not match any active dialog.");if("string"==typeof t&&a.default.setInnerHtml(i.content,t),n.stringToBool(i.dialog.getAttribute("aria-hidden"))){d.default.closeAll(),window.WCF.Dropdown.Interactive.Handler.closeAll(),null===u&&(u=this._maintainFocus.bind(this),document.body.addEventListener("focus",u,{capture:!0})),i.closable&&n.stringToBool(h.getAttribute("aria-hidden"))&&window.addEventListener("keyup",_),i.dialog.parentNode.insertBefore(i.dialog,i.dialog.parentNode.firstChild),i.dialog.setAttribute("aria-hidden","false"),h.setAttribute("aria-hidden","false"),h.setAttribute("close-on-click",i.backdropCloseOnClick?"true":"false"),p=e;const t=i.header.querySelector(".dialogCloseButton");t&&t.setAttribute("inert","true"),this._setFocusToFirstItem(i.dialog,!1),t&&t.removeAttribute("inert"),"function"==typeof i.onShow&&i.onShow(i.content),n.stringToBool(i.content.dataset.isStaticDialog||"")&&c.fire("com.woltlab.wcf.dialog","openStatic",{content:i.content,id:e})}this.rebuild(e),o.default.trigger()},_maintainFocus(e){if(p){const t=m.get(p),i=e.target;t.dialog.contains(i)||i.closest(".dropdownMenuContainer")||i.closest(".datePicker")||this._setFocusToFirstItem(t.dialog,!0)}},_setFocusToFirstItem(e,t){let i=this._getFirstFocusableChild(e);null!==i&&(t&&("username"!==i.id&&"username"!==i.name||"safari"===l.browser()&&"ios"===l.platform()&&(i=null)),i&&setTimeout((()=>{i.focus()}),1))},_getFirstFocusableChild(e){const t=e.querySelectorAll(y.join(","));for(let e=0,i=t.length;e<i;e++)if(t[e].offsetWidth&&t[e].offsetHeight&&t[e].getClientRects().length)return t[e];return null},rebuild(e){const t=this._getDialogId(e),i=m.get(t);if(void 0===i)throw new Error("Expected a valid dialog id, '"+t+"' does not match any active dialog.");if(n.stringToBool(i.dialog.getAttribute("aria-hidden")))return;const o=i.content.parentNode,r=i.content.querySelector(".formSubmit");let s=0;null!==r?(o.classList.add("dialogForm"),r.classList.add("dialogFormSubmit"),s+=a.default.outerHeight(r),s-=1,o.style.setProperty("margin-bottom",`${s}px`,"")):(o.classList.remove("dialogForm"),o.style.removeProperty("margin-bottom")),s+=a.default.outerHeight(i.header);const c=window.innerHeight*(f?1:.8)-s;o.style.setProperty("max-height",~~c+"px",""),"chrome"!==l.browser()&&"safari"!==l.browser()||o.classList.add("jsWebKitFractionalPixelFix");const d=b.get(t);if(void 0!==d&&"function"==typeof d._dialogSubmit){const e=i.content.querySelectorAll('input[data-dialog-submit-on-enter="true"]'),n=i.content.querySelector('.formSubmit > input[type="submit"], .formSubmit > button[data-type="submit"]');if(null===n)return void(0===e.length&&console.warn("Broken dialog, expected a submit button.",i.content));if(i.submitButton!==n){i.submitButton=n,n.addEventListener("click",(e=>{e.preventDefault(),this._submit(t)}));const o=e=>{"Enter"===e.key&&(e.preventDefault(),this._submit(t))};let r;for(let t=0,n=e.length;t<n;t++)r=e[t],i.inputFields.has(r)||(-1!==w.indexOf(r.type)?(i.inputFields.add(r),r.addEventListener("keydown",o)):console.warn("Unsupported input type.",r))}}},_submit(e){const t=m.get(e);let i=!0;if(t.inputFields.forEach((e=>{e.required&&(""===e.value.trim()?(a.default.innerError(e,s.get("wcf.global.form.error.empty")),i=!1):a.default.innerError(e,!1))})),i){const t=b.get(e);"function"==typeof t._dialogSubmit&&t._dialogSubmit()}},submit(e){this._submit(e)},_close(e){e.preventDefault();const t=m.get(p);return"function"==typeof t.onBeforeClose?(t.onBeforeClose(p),!1):(this.close(p),!0)},_closeOnBackdrop(e){e.target===h&&(n.stringToBool(h.getAttribute("close-on-click"))?this._close(e):e.preventDefault())},close(e){e=this._getDialogId(e);let t=m.get(e);if(void 0===t)throw new Error("Expected a valid dialog id, '"+e+"' does not match any active dialog.");t.dialog.setAttribute("aria-hidden","true");const i=document.activeElement;i.closest(".dialogContainer")===t.dialog&&i.blur(),"function"==typeof t.onClose&&t.onClose(e),p=null;for(let e=0;e<h.childElementCount;e++){const t=h.children[e];if(!n.stringToBool(t.getAttribute("aria-hidden"))){p=t.dataset.id||"";break}}r.pageOverlayClose(),null===p?(h.setAttribute("aria-hidden","true"),h.dataset.closeOnClick="false",t.closable&&window.removeEventListener("keyup",_)):(t=m.get(p),h.dataset.closeOnClick=t.backdropCloseOnClick?"true":"false"),"desktop"!==l.platform()&&r.scrollEnable()},getDialog(e){return m.get(this._getDialogId(e))},isOpen(e){const t=this.getDialog(e);return void 0!==t&&"false"===t.dialog.getAttribute("aria-hidden")},destroy(e){if("object"!=typeof e)throw new TypeError("Expected the callback object as parameter.");if(g.has(e)){const t=g.get(e).id;this.isOpen(t)&&this.close(t),m.has(t)&&(m.get(t).dialog.remove(),m.delete(t)),g.delete(e)}},_getDialogId(e){if("object"==typeof e){const t=g.get(e);if(void 0!==t)return t.id}return e.toString()},_ajaxSetup:()=>({})}})),define("WoltLabSuite/Core/Ui/Dropdown/Reusable",["require","exports","tslib","./Simple"],(function(e,t,i,n){"use strict";function o(e){if(!r.has(e))throw new Error("Unknown dropdown identifier '"+e+"'");return r.get(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.toggleDropdown=t.registerCallback=t.getDropdownMenu=t.init=void 0,n=i.__importDefault(n);const r=new Map;let a=0;t.init=function(e,t){if(r.has(e))return;const i=document.createElement("div");i.id="reusableDropdownGhost"+a++,n.default.initFragment(i,t),r.set(e,i.id)},t.getDropdownMenu=function(e){return n.default.getDropdownMenu(o(e))},t.registerCallback=function(e,t){n.default.registerCallback(o(e),t)},t.toggleDropdown=function(e,t){n.default.toggleDropdown(o(e),t)}})),define("WoltLabSuite/Core/Ui/Page/Menu/Abstract",["require","exports","tslib","../../../Core","../../../Environment","../../../Event/Handler","../../../Language","../../../Dom/Traverse","../../Screen"],(function(e,t,i,n,o,r,a,s,l){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importStar(l);const c=document.getElementById("pageContainer");let d="";class u{constructor(e,t,i){if(this.activeList=[],this.depth=0,this.enabled=!0,this.items=new Map,this.removeActiveList=!1,"packageInstallationSetup"===document.body.dataset.template)return;this.eventIdentifier=e,this.menu=document.getElementById(t);const n=this.open.bind(this);this.button=document.querySelector(i),this.button.addEventListener("click",n),this.initItems(),this.initHeader(),r.add(this.eventIdentifier,"open",n),r.add(this.eventIdentifier,"close",this.close.bind(this)),r.add(this.eventIdentifier,"updateButtonState",this.updateButtonState.bind(this)),this.menu.addEventListener("animationend",(()=>{this.menu.classList.contains("open")||this.menu.querySelectorAll(".menuOverlayItemList").forEach((e=>{e.classList.remove("active","hidden")}))})),this.menu.children[0].addEventListener("transitionend",(()=>{if(this.menu.classList.add("allowScroll"),this.removeActiveList){this.removeActiveList=!1;const e=this.activeList.pop();e&&e.classList.remove("activeList")}}));const a=document.createElement("div");a.className="menuOverlayMobileBackdrop",a.addEventListener("click",this.close.bind(this)),this.menu.insertAdjacentElement("afterend",a),this.menu.parentElement.insertBefore(a,this.menu.nextSibling),this.updateButtonState(),"android"===o.platform()&&this.initializeAndroid()}open(e){return!!this.enabled&&(e instanceof Event&&e.preventDefault(),this.menu.classList.add("open"),this.menu.classList.add("allowScroll"),this.menu.children[0].classList.add("activeList"),l.scrollDisable(),c.classList.add("menuOverlay-"+this.menu.id),l.pageOverlayOpen(),!0)}close(e){return e instanceof Event&&e.preventDefault(),!!this.menu.classList.contains("open")&&(this.menu.classList.remove("open"),l.scrollEnable(),l.pageOverlayClose(),c.classList.remove("menuOverlay-"+this.menu.id),!0)}enable(){this.enabled=!0}disable(){this.enabled=!1,this.close()}initializeAndroid(){let e;switch(this.menu.id){case"pageUserMenuMobile":e="right";break;case"pageMainMenuMobile":e="left";break;default:return}const t=this.menu.nextElementSibling;let i;document.addEventListener("touchstart",(t=>{const o=t.touches;let r,a;const s=this.menu.classList.contains("open");if("left"===e?(r=!s&&o[0].clientX<20,a=s&&Math.abs(this.menu.offsetWidth-o[0].clientX)<20):(r=s&&Math.abs(document.body.clientWidth-this.menu.offsetWidth-o[0].clientX)<20,a=!s&&document.body.clientWidth-o[0].clientX<20),o.length>1)d&&n.triggerEvent(document,"touchend");else if(!d&&(r||a)){if(l.pageOverlayIsActive()){if(!c.classList.contains(`menuOverlay-${this.menu.id}`))return}document.documentElement.classList.contains("redactorActive")||(i={x:o[0].clientX,y:o[0].clientY},r&&(d="left"),a&&(d="right"))}})),document.addEventListener("touchend",(n=>{if(!d||!i)return;if(!this.menu.classList.contains("open"))return i=void 0,void(d="");let o;o=n?n.changedTouches[0].clientX:i.x,this.menu.classList.add("androidMenuTouchEnd"),this.menu.style.removeProperty("transform"),t.style.removeProperty(e),this.menu.addEventListener("transitionend",(()=>{this.menu.classList.remove("androidMenuTouchEnd")}),{once:!0}),"left"===e?("left"===d&&o<i.x+100&&this.close(),"right"===d&&o<i.x-100&&this.close()):("left"===d&&o>i.x+100&&this.close(),"right"===d&&o>i.x-100&&this.close()),i=void 0,d=""})),document.addEventListener("touchmove",(n=>{if(!d||!i)return;const o=n.touches;let r=!1;"left"===d&&(r=o[0].clientX>i.x+5),"right"===d&&(r=o[0].clientX<i.x-5);const a=Math.abs(o[0].clientY-i.y)>20;let s=this.menu.classList.contains("open");if(s||!r||a||(this.open(),s=!0),s){let i=o[0].clientX;"right"===e&&(i=document.body.clientWidth-i),i>this.menu.offsetWidth&&(i=this.menu.offsetWidth),i<0&&(i=0);const n=("left"===e?1:-1)*(i-this.menu.offsetWidth);this.menu.style.setProperty("transform",`translateX(${n}px)`),t.style.setProperty(e,Math.min(this.menu.offsetWidth,i).toString()+"px")}}))}initItems(){this.menu.querySelectorAll(".menuOverlayItemLink").forEach((e=>{this.initItem(e)}))}initItem(e){const t=e.parentElement,i=t.dataset.more;if(i)return void e.addEventListener("click",(n=>{n.preventDefault(),n.stopPropagation(),r.fire(this.eventIdentifier,"more",{handler:this,identifier:i,item:e,parent:t})}));const n=e.nextElementSibling;if(null===n)return;if("OL"!==n.nodeName&&n.classList.contains("menuOverlayItemLinkIcon")){const i=document.createElement("span");for(i.className="menuOverlayItemWrapper",t.insertBefore(i,e),i.appendChild(e);i.nextElementSibling;)i.appendChild(i.nextElementSibling);return}const o="#"!==e.href,a=t.parentElement;let l=n.dataset.title;this.items.set(e,{itemList:n,parentItemList:a}),l||(l=s.childByClass(e,"menuOverlayItemTitle").textContent,n.dataset.title=l);const c=this.showItemList.bind(this,e);if(o){const i=document.createElement("span");i.className="menuOverlayItemWrapper",t.insertBefore(i,e),i.appendChild(e);const n=document.createElement("a");n.href="#",n.className="menuOverlayItemLinkIcon"+(e.classList.contains("active")?" active":""),n.innerHTML='<span class="icon icon24 fa-angle-right"></span>',n.addEventListener("click",c),i.appendChild(n)}else e.classList.add("menuOverlayItemLinkMore"),e.addEventListener("click",c);const d=document.createElement("li");d.className="menuOverlayHeader";const u=document.createElement("span");u.className="menuOverlayItemWrapper";const h=document.createElement("a");h.href="#",h.className="menuOverlayItemLink menuOverlayBackLink",h.textContent=a.dataset.title||"",h.addEventListener("click",this.hideItemList.bind(this,e));const p=document.createElement("a");if(p.href="#",p.className="menuOverlayItemLinkIcon",p.innerHTML='<span class="icon icon24 fa-times"></span>',p.addEventListener("click",this.close.bind(this)),u.appendChild(h),u.appendChild(p),d.appendChild(u),n.insertBefore(d,n.firstElementChild),!d.nextElementSibling.classList.contains("menuOverlayTitle")){const e=document.createElement("li");e.className="menuOverlayTitle";const t=document.createElement("span");t.textContent=l,e.appendChild(t),n.insertBefore(e,d.nextElementSibling)}}initHeader(){const e=document.createElement("li");e.className="menuOverlayHeader";const t=document.createElement("span");t.className="menuOverlayItemWrapper",e.appendChild(t);const i=document.createElement("span");i.className="menuOverlayLogoWrapper",t.appendChild(i);const n=document.createElement("span");n.className="menuOverlayLogo";const o=this.menu.dataset.pageLogo;n.style.setProperty("background-image",`url("${o}")`,""),i.appendChild(n);const r=document.createElement("a");r.href="#",r.className="menuOverlayItemLinkIcon",r.innerHTML='<span class="icon icon24 fa-times"></span>',r.addEventListener("click",this.close.bind(this)),t.appendChild(r);const a=s.childByClass(this.menu,"menuOverlayItemList");a.insertBefore(e,a.firstElementChild)}hideItemList(e,t){t instanceof Event&&t.preventDefault(),this.menu.classList.remove("allowScroll"),this.removeActiveList=!0;this.items.get(e).parentItemList.classList.remove("hidden"),this.updateDepth(!1)}showItemList(e,t){t.preventDefault();const i=this.items.get(e),o=i.itemList.dataset.load;if(o&&!n.stringToBool(e.dataset.loaded||"")){const e=t.currentTarget.firstElementChild;return e.classList.contains("fa-angle-right")&&(e.classList.remove("fa-angle-right"),e.classList.add("fa-spinner")),void r.fire(this.eventIdentifier,"load_"+o)}this.menu.classList.remove("allowScroll"),i.itemList.classList.add("activeList"),i.parentItemList.classList.add("hidden"),this.activeList.push(i.itemList),this.updateDepth(!0)}updateDepth(e){this.depth+=e?1:-1;let t=-100*this.depth;"rtl"===a.get("wcf.global.pageDirection")&&(t*=-1);this.menu.children[0].style.setProperty("transform",`translateX(${t}%)`,"")}updateButtonState(){let e=!1;const t=this.menu.querySelector(".menuOverlayItemList");this.menu.querySelectorAll(".badgeUpdate").forEach((i=>{~~i.textContent>0&&i.closest(".menuOverlayItemList")===t&&(e=!0)})),this.button.classList[e?"add":"remove"]("pageMenuMobileButtonHasContent")}}return n.enableLegacyInheritance(u),u})),define("WoltLabSuite/Core/Ui/Page/Menu/Main",["require","exports","tslib","../../../Core","../../../Dom/Util","../../../Language","./Abstract"],(function(e,t,i,n,o,r,a){"use strict";n=i.__importStar(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importDefault(a);class s extends a.default{constructor(){super("com.woltlab.wcf.MainMenuMobile","pageMainMenuMobile","#pageHeader .mainMenu"),this.hasItems=!1,this.title=document.getElementById("pageMainMenuMobilePageOptionsTitle"),null!==this.title&&(this.navigationList=document.querySelector(".jsPageNavigationIcons")),this.button.setAttribute("aria-label",r.get("wcf.menu.page")),this.button.setAttribute("role","button")}open(e){if(!super.open(e))return!1;if(null===this.title)return!0;if(this.hasItems=this.navigationList&&this.navigationList.childElementCount>0,this.hasItems){for(;this.navigationList.childElementCount;){const e=this.navigationList.children[0];e.classList.add("menuOverlayItem","menuOverlayItemOption"),e.addEventListener("click",(e=>{e.stopPropagation(),this.close()}));const t=e.children[0];t.classList.add("menuOverlayItemLink"),t.classList.add("box24"),t.children[1].classList.remove("invisible"),t.children[1].classList.add("menuOverlayItemTitle"),this.title.insertAdjacentElement("afterend",e)}o.default.show(this.title)}else o.default.hide(this.title);return!0}close(e){if(!super.close(e))return!1;if(this.hasItems){o.default.hide(this.title);let e=this.title.nextElementSibling;for(;e&&e.classList.contains("menuOverlayItemOption");){e.classList.remove("menuOverlayItem","menuOverlayItemOption"),e.removeEventListener("click",(e=>{e.stopPropagation(),this.close()}));const t=e.children[0];t.classList.remove("menuOverlayItemLink"),t.classList.remove("box24"),t.children[1].classList.add("invisible"),t.children[1].classList.remove("menuOverlayItemTitle"),this.navigationList.appendChild(e),e=e.nextElementSibling}}return!0}}return n.enableLegacyInheritance(s),s})),define("WoltLabSuite/Core/Ui/Page/Menu/User",["require","exports","tslib","../../../Core","../../../Event/Handler","../../../Language","./Abstract"],(function(e,t,i,n,o,r,a){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importDefault(a);class s extends a.default{constructor(){const e=document.querySelector("#pageUserMenuMobile > .menuOverlayItemList");if(1===e.childElementCount&&e.children[0].classList.contains("menuOverlayTitle")){document.querySelector("#pageHeader .userPanel").classList.add("hideUserPanel")}else super("com.woltlab.wcf.UserMenuMobile","pageUserMenuMobile","#pageHeader .userPanel"),o.add("com.woltlab.wcf.userMenu","updateBadge",(e=>this.updateBadge(e))),this.button.setAttribute("aria-label",r.get("wcf.menu.user")),this.button.setAttribute("role","button")}close(e){if(void 0===this.menu)return!1;const t=window.WCF.Dropdown.Interactive.Handler.getOpenDropdown();return t?(e&&(e.preventDefault(),e.stopPropagation()),t.close(),!0):super.close(e)}updateBadge(e){this.menu.querySelectorAll(".menuOverlayItemBadge").forEach((t=>{if(t.dataset.badgeIdentifier===e.identifier){let i=t.querySelector(".badge");e.count?(null===i&&(i=document.createElement("span"),i.className="badge badgeUpdate",t.appendChild(i)),i.textContent=e.count.toString()):null!==i&&i.remove(),this.updateButtonState()}}))}}return n.enableLegacyInheritance(s),s})),define("WoltLabSuite/Core/Ui/Mobile",["require","exports","tslib","../Core","../Dom/Change/Listener","../Environment","../Event/Handler","./Alignment","./CloseOverlay","./Dropdown/Reusable","./Page/Menu/Main","./Page/Menu/User","./Screen"],(function(e,t,i,n,o,r,a,s,l,c,d,u,h){"use strict";function p(){j=!0,function(){const e=document.getElementById("pageHeaderSearch"),t=document.getElementById("pageHeaderSearchInput");let i=null;a.add("com.woltlab.wcf.MainMenuMobile","more",(n=>{if("com.woltlab.wcf.search"===n.identifier){n.handler.close(),"ios"===r.platform()&&(i=document.body.scrollTop,h.scrollDisable());const o=document.getElementById("pageHeader");e.style.setProperty("top",`${o.offsetHeight}px`,""),e.classList.add("open"),t.focus(),"ios"===r.platform()&&(document.body.scrollTop=0)}})),document.getElementById("main").addEventListener("click",(()=>{e&&e.classList.remove("open"),"ios"===r.platform()&&i&&(h.scrollEnable(),document.body.scrollTop=i,i=null)}))}(),m(),f(),P&&(q=new d.default,O=new u.default),l.default.add("WoltLabSuite/Core/Ui/Mobile",g),o.default.add("WoltLabSuite/Core/Ui/Mobile",(()=>{m(),f()}))}function m(){document.querySelectorAll(".buttonGroupNavigation").forEach((e=>{if(e.classList.contains("jsMobileButtonGroupNavigation"))return;e.classList.add("jsMobileButtonGroupNavigation");const t=e.querySelector(".buttonList");if(0===t.childElementCount)return;e.parentElement.classList.add("hasMobileNavigation");const i=document.createElement("a");i.className="dropdownLabel";const n=document.createElement("span");n.className="icon icon24 fa-ellipsis-v",i.appendChild(n),i.addEventListener("click",(t=>{t.preventDefault(),t.stopPropagation(),e.classList.toggle("open")})),t.addEventListener("click",(function(t){t.stopPropagation(),e.classList.remove("open")})),e.insertBefore(i,e.firstChild)}))}function f(){document.querySelectorAll(".message").forEach((e=>{if(N.has(e))return;const t=e.querySelector(".jsMobileNavigation");if(t){t.addEventListener("click",(e=>{e.stopPropagation(),window.setTimeout((()=>{t.classList.remove("open")}),10)}));const i=e.querySelector(".messageQuickOptions");i&&t.childElementCount&&(i.classList.add("active"),i.addEventListener("click",(n=>{const o=n.target;j&&h.is("screen-sm-down")&&"LABEL"!==o.nodeName&&"INPUT"!==o.nodeName&&(n.preventDefault(),n.stopPropagation(),function(e,t,i){if(null===T)T=document.createElement("ul"),T.className="dropdownMenu",c.init("com.woltlab.wcf.jsMobileNavigation",T);else if(T.classList.contains("dropdownOpen")&&(w(),M===e))return;T.innerHTML="",l.default.execute(),L(i);const n=i.previousElementSibling;if(n&&n.classList.contains("messageFooterButtonsExtra")){const e=document.createElement("li");e.className="dropdownDivider",T.appendChild(e),L(n)}s.set(T,t,{horizontal:"right",allowFlip:"vertical"}),T.classList.add("dropdownOpen"),M=e}(e,i,t))})))}N.add(e)}))}function g(){document.querySelectorAll(".jsMobileButtonGroupNavigation.open, .jsMobileNavigation.open").forEach((e=>{e.classList.remove("open")})),j&&T&&w()}function b(){U=!0}function _(){U=!1,H.forEach((function(e){e.classList.remove("open")}))}function v(){H.forEach((function(e){e.addEventListener("mousedown",(function(t){U&&t.target===e&&(t.preventDefault(),e.classList.toggle("open"))}))})),U=!0}function w(){T.classList.remove("dropdownOpen")}function y(){B=!0,document.querySelectorAll(".boxMenuHasChildren > a").forEach((e=>{e.addEventListener("touchstart",(t=>{B&&"false"===e.getAttribute("aria-expanded")&&(t.preventDefault(),e.setAttribute("aria-expanded","true"),e.addEventListener("touchend",(()=>{document.body.addEventListener("touchstart",(()=>{document.body.addEventListener("touchend",(t=>{const i=e.parentElement,n=t.target;i.contains(n)||n===i||e.setAttribute("aria-expanded","false")}),{once:!0})}),{once:!0})}),{once:!0}))}),{passive:!1})}))}function E(){B=!0}function S(){B=!1}function L(e){e.querySelectorAll(".button").forEach((e=>{if(e.classList.contains("ignoreMobileNavigation")||e.classList.contains("reactButton"))return;const t=document.createElement("li");e.classList.contains("active")&&(t.className="active");const i=e.querySelector("span:not(.icon)");t.innerHTML=`<a href="#">${i.textContent}</a>`,t.children[0].addEventListener("click",(function(t){t.preventDefault(),t.stopPropagation(),"A"===e.nodeName?e.click():n.triggerEvent(e,"click"),w()})),T.appendChild(t)}))}function C(){j=!0,P&&(q.enable(),O.enable())}function A(){F&&k(F,".messageGroupLink")}function I(){j=!1,P&&(q.disable(),O.disable())}function x(){F&&D(F),T&&w()}function k(e,t){Array.from(e).forEach((e=>{const i=e.parentElement;let n=i.querySelector(".mobileLinkShadow");if(null===n){const o=e.querySelector(t);o.href&&(n=document.createElement("a"),n.className="mobileLinkShadow",n.href=o.href,i.appendChild(n),i.classList.add("mobileLinkShadowContainer"))}}))}function D(e){Array.from(e).forEach((e=>{const t=e.parentElement;if(t.classList.contains("mobileLinkShadowContainer")){const e=t.querySelector(".mobileLinkShadow");null!==e&&e.remove(),t.classList.remove("mobileLinkShadowContainer")}}))}Object.defineProperty(t,"__esModule",{value:!0}),t.removeShadow=t.rebuildShadow=t.disableShadow=t.disable=t.enableShadow=t.enable=t.setup=void 0,n=i.__importStar(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importDefault(l),c=i.__importStar(c),d=i.__importDefault(d),u=i.__importDefault(u),h=i.__importStar(h);let T=null,M=null,j=!1,B=!1,P=!1;const N=new WeakSet;let q,O,U=!1,F=null;const H=[];t.setup=function(e){P=e,document.querySelectorAll(".sidebar").forEach((e=>{H.push(e)})),r.touch()&&document.documentElement.classList.add("touch"),"desktop"!==r.platform()&&document.documentElement.classList.add("mobile");const t=document.querySelector(".messageGroupList");t&&(F=t.getElementsByClassName("messageGroup")),h.on("screen-md-down",{match:C,unmatch:I,setup:p}),h.on("screen-sm-down",{match:A,unmatch:x,setup:A}),h.on("screen-md-down",{match:b,unmatch:_,setup:v}),!r.touch()||"ios"!==r.platform()&&"android"!==r.platform()||h.on("screen-lg",{match:E,unmatch:S,setup:y})},t.enable=C,t.enableShadow=A,t.disable=I,t.disableShadow=x,t.rebuildShadow=k,t.removeShadow=D})),define("WoltLabSuite/Core/Ui/Page/Action",["require","exports","tslib","../../Core","../../Language","../../Ui/Screen"],(function(e,t,i,n,o,r){"use strict";function a(){if(document.documentElement.classList.contains("disableScrolling"))return;const e=window.pageYOffset;e!==g?(e>=b?(p.classList.contains("initiallyHidden")&&p.classList.remove("initiallyHidden"),p.setAttribute("aria-hidden","false")):p.setAttribute("aria-hidden","true"),l(),-1!==g&&m.classList[e<g?"remove":"add"]("scrolledDown"),g=-1):_()}function s(e){e.preventDefault();document.getElementById("top").scrollIntoView({behavior:"smooth"})}function l(){const e=Array.from(h.children).find((e=>"false"===e.getAttribute("aria-hidden")));h.classList[e?"add":"remove"]("active"),e?m.classList.add("pageActionHasContextButtons"):m.classList.remove("pageActionHasContextButtons")}function c(){if(f)return;f=!0,m=document.createElement("div"),m.className="pageAction",h=document.createElement("div"),h.className="pageActionButtons",m.appendChild(h),p=function(){const e=document.createElement("a");return e.className="button buttonPrimary pageActionButtonToTop initiallyHidden jsTooltip",e.href="",e.title=o.get("wcf.global.scrollUp"),e.setAttribute("aria-hidden","true"),e.innerHTML='<span class="icon icon32 fa-angle-up"></span>',e.addEventListener("click",s),e}(),m.appendChild(p),document.body.appendChild(m);const e=n.debounce(a,100);window.addEventListener("scroll",(()=>{-1===g&&(g=window.pageYOffset,window.setTimeout((()=>{a(),g=window.pageYOffset}),60)),e()}),{passive:!0}),window.addEventListener("touchstart",(()=>{-1!==g&&(g=-1)}),{passive:!0}),r.on("screen-sm-down",{match(){b=50},unmatch(){b=300},setup(){b=50}}),a()}function d(e){const t=u.get(e);if(t){t.parentElement.setAttribute("aria-hidden","true"),l()}}Object.defineProperty(t,"__esModule",{value:!0}),t.show=t.hide=t.remove=t.get=t.has=t.add=t.setup=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r);const u=new Map;let h,p,m,f=!1,g=-1,b=300;const _=n.debounce((()=>{g=-1}),50);t.setup=c,t.add=function(e,t,i){c();const n=document.createElement("div");n.className="pageActionButton",n.dataset.name=e,n.setAttribute("aria-hidden","true"),t.classList.add("button"),t.classList.add("buttonPrimary"),n.appendChild(t);let o=null;i&&(o=u.get(i)||null,o&&(o=o.parentElement)),!o&&h.childElementCount&&(o=h.children[0]),o||(o=h.firstChild),h.insertBefore(n,o),m.classList.remove("scrolledDown"),u.set(e,t),n.offsetParent,n.setAttribute("aria-hidden","false"),l()},t.has=function(e){return u.has(e)},t.get=function(e){return u.get(e)},t.remove=function(e){const t=u.get(e);if(void 0!==t){const i=t.parentElement,o=()=>{try{n.stringToBool(i.getAttribute("aria-hidden"))&&(h.removeChild(i),u.delete(e)),i.removeEventListener("transitionend",o)}catch(e){}};i.addEventListener("transitionend",o),d(e)}},t.hide=d,t.show=function(e){const t=u.get(e);if(t){const e=t.parentElement;e.classList.contains("initiallyHidden")&&e.classList.remove("initiallyHidden"),e.setAttribute("aria-hidden","false"),m.classList.remove("scrolledDown"),l()}}})),define("WoltLabSuite/Core/Ui/TabMenu/Simple",["require","exports","tslib","../../Core","../../Dom/Traverse","../../Dom/Util","../../Environment","../../Event/Handler"],(function(e,t,i,n,o,r,a,s){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importStar(a),s=i.__importStar(s);class l{constructor(e){this.containers=new Map,this.isLegacy=!1,this.store=null,this.tabs=new Map,this.container=e}validate(){if(!this.container.classList.contains("tabMenuContainer"))return!1;const e=o.childByTag(this.container,"NAV");if(null===e)return!1;const t=e.querySelectorAll("li");if(0===t.length)return!1;o.childrenByTag(this.container,"DIV").forEach((e=>{let t=e.dataset.name;t||(t=r.default.identify(e),e.dataset.name=t),this.containers.set(t,e)}));const i=this.container.id;if(t.forEach((e=>{const t=this._getTabName(e);if(!t)return;if(this.tabs.has(t))throw new Error("Tab names must be unique, li[data-name='"+t+"'] (tab menu id: '"+i+"') exists more than once.");const n=this.containers.get(t);if(void 0===n)throw new Error("Expected content element for li[data-name='"+t+"'] (tab menu id: '"+i+"').");if(n.parentNode!==this.container)throw new Error("Expected content element '"+t+"' (tab menu id: '"+i+"') to be a direct children.");if(1!==e.childElementCount||"A"!==e.children[0].nodeName)throw new Error("Expected exactly one <a> as children for li[data-name='"+t+"'] (tab menu id: '"+i+"').");this.tabs.set(t,e)})),!this.tabs.size)throw new Error("Expected at least one tab (tab menu id: '"+i+"').");return this.isLegacy&&(this.container.dataset.isLegacy="true",this.tabs.forEach((function(e,t){e.setAttribute("aria-controls",t)}))),!0}init(e){this.tabs.forEach((t=>{if(!e||e.get(t.dataset.name||"")!==t){const e=t.children[0];if(e.addEventListener("click",(e=>this._onClick(e))),"ios"===a.platform()){let t=!1;e.addEventListener("touchstart",(()=>{t=!0})),e.addEventListener("touchmove",(()=>{t=!1})),e.addEventListener("touchend",(e=>{t&&(t=!1,e.preventDefault(),this._onClick(e))}))}}}));let t=null;if(!e){const e=l.getIdentifierFromHash();let i;if(""!==e&&(i=this.tabs.get(e),i)){const e=this.container.parentNode;e.classList.contains("tabMenuContainer")&&(t=e)}if(!i){let e=this.container.dataset.preselect||this.container.dataset.active;"true"!==e&&e||(e=!0),!0===e?this.tabs.forEach((function(e){i||r.default.isHidden(e)||e.previousElementSibling&&!r.default.isHidden(e.previousElementSibling)||(i=e)})):"string"==typeof e&&"false"!==e&&(i=this.tabs.get(e))}i&&(this.containers.forEach((e=>{e.classList.add("hidden")})),this.select(null,i,!0));const n=this.container.dataset.store;if(n){const e=document.createElement("input");e.type="hidden",e.name=n,e.value=this.getActiveTab().dataset.name||"",this.container.appendChild(e),this.store=e}}return t}select(t,n,o){if(t=t?t.toString():"",!(n=n||this.tabs.get(t))){if(~~t==+t){t=~~t;let e=0;this.tabs.forEach((i=>{e===t&&(n=i),e++}))}if(!n)throw new Error(`Expected a valid tab name, '${t}' given (tab menu id: '${this.container.id}').`)}t=t||n.dataset.name||"";const r=this.getActiveTab();let a=null;if(r){const e=r.dataset.name;if(e===t)return;o||s.fire("com.woltlab.wcf.simpleTabMenu_"+this.container.id,"beforeSelect",{tab:r,tabName:e}),r.classList.remove("active"),a=this.containers.get(r.dataset.name||""),a.classList.remove("active"),a.classList.add("hidden"),this.isLegacy&&(r.classList.remove("ui-state-active"),a.classList.remove("ui-state-active"))}n.classList.add("active");const c=this.containers.get(t);if(c.classList.add("active"),c.classList.remove("hidden"),this.isLegacy&&(n.classList.add("ui-state-active"),c.classList.add("ui-state-active")),this.store&&(this.store.value=t),!o){s.fire("com.woltlab.wcf.simpleTabMenu_"+this.container.id,"select",{active:n,activeName:t,previous:r,previousName:r?r.dataset.name:null});const e=this.isLegacy&&"function"==typeof window.jQuery?window.jQuery:null;e&&e(this.container).trigger("wcftabsbeforeactivate",{newTab:e(n),oldTab:e(r),newPanel:e(c),oldPanel:e(a)});let i=window.location.href.replace(/#+[^#]*$/,"");l.getIdentifierFromHash()===t?i+=window.location.hash:i+="#"+t,window.history.replaceState(void 0,"",i)}new Promise(((t,i)=>{e(["../TabMenu"],t,i)})).then(i.__importStar).then((e=>{e.scrollToTab(n)}))}selectFirstVisible(){let e=null;return this.tabs.forEach((t=>{e||r.default.isHidden(t)||(e=t)})),e&&this.select(null,e,!1),null!==e}rebuild(){const e=new Map(this.tabs);this.validate(),this.init(e)}hasTab(e){return this.tabs.has(e)}_onClick(e){e.preventDefault();const t=e.currentTarget;this.select(null,t.parentNode)}_getTabName(e){let t=e.dataset.name||null;if(!t&&1===e.childElementCount&&"A"===e.children[0].nodeName){const i=e.children[0];/#([^#]+)$/.exec(i.href)&&(t=RegExp.$1,null===document.getElementById(t)?t=null:(this.isLegacy=!0,e.dataset.name=t))}return t}getActiveTab(){return document.querySelector("#"+this.container.id+" > nav > ul > li.active")}getContainers(){return this.containers}getTabs(){return this.tabs}static getIdentifierFromHash(){return/^#+([^/]+)+(?:\/.+)?/.exec(window.location.hash)?RegExp.$1:""}}return n.enableLegacyInheritance(l),l})),define("WoltLabSuite/Core/Ui/Scroll",["require","exports","tslib","../Dom/Util"],(function(e,t,i,n){"use strict";function o(){null!==s&&window.clearTimeout(s),s=window.setTimeout((()=>{null!==r&&r(),window.removeEventListener("scroll",o),r=null,s=null}),100)}Object.defineProperty(t,"__esModule",{value:!0}),t.element=void 0,n=i.__importDefault(n);let r=null,a=null,s=null;t.element=function(e,t){if(!(e instanceof HTMLElement))throw new TypeError("Expected a valid DOM element.");if(void 0!==t&&"function"!=typeof t)throw new TypeError("Expected a valid callback function.");if(!document.body.contains(e))throw new Error("Element must be part of the visible DOM.");if(null!==r)throw new Error("Cannot scroll to element, a concurrent request is running.");t&&(r=t,window.addEventListener("scroll",o));let i=n.default.offset(e).top;if(null===a){a=50;const e=document.getElementById("pageHeaderPanel");if(null!==e){const t=window.getComputedStyle(e).position;a="fixed"===t||"static"===t?e.offsetHeight:0}}a>0&&(i<=a?i=0:i-=a);const s=window.pageYOffset;window.scrollTo({left:0,top:i,behavior:"smooth"}),window.setTimeout((()=>{s===window.pageYOffset&&o()}),100)}})),define("WoltLabSuite/Core/Ui/TabMenu",["require","exports","tslib","../Dom/Change/Listener","../Dom/Util","./TabMenu/Simple","./CloseOverlay","./Screen","./Scroll"],(function(e,t,i,n,o,r,a,s,l){"use strict";function c(){document.querySelectorAll(".tabMenuContainer:not(.staticTabMenuContainer)").forEach((e=>{const t=o.default.identify(e);if(_.has(t))return;let i=new r.default(e);if(!i.validate())return;const n=i.init();if(_.set(t,i),n instanceof HTMLElement){const e=m(n.parentNode.id);e&&(i=e,i.select(n.id,void 0,!0))}const a=document.querySelector("#"+t+" > nav > ul");a.addEventListener("click",(e=>{e.preventDefault(),e.stopPropagation(),e.target===a?(a.classList.add("active"),g=a):(a.classList.remove("active"),g=null)})),e.querySelectorAll(".tabMenu, .menu").forEach((e=>{function t(){i=null,p(e)}let i=null;e.querySelector("ul").addEventListener("scroll",(()=>{null!==i&&window.clearTimeout(i),i=window.setTimeout(t,10)}),{passive:!0})}));const s=e.closest("form");if(null!==s){const t=s.querySelector('input[type="submit"]');null!==t&&t.addEventListener("click",(t=>{t.defaultPrevented||e.querySelectorAll("input, select").forEach((e=>{if(!e.checkValidity()){t.preventDefault();const i=m(e.closest(".tabMenuContainer").id),n=e.closest(".tabMenuContent");return i.select(n.dataset.name||""),void l.element(e,(()=>{e.reportValidity()}))}}))}))}}))}function d(e){b=!0,_.forEach((t=>{const i=t.getActiveTab();e?p(i.closest(".menu, .tabMenu")):f(i)}))}function u(){b=!1}function h(e,t,i,n,o,r){(r||t>0)&&(t-=15),i!==(t=t<0?0:Math.min(t,n-o))&&(e.classList.add("enableAnimation"),i<t?e.firstElementChild.style.setProperty("margin-left",i-t+"px",""):e.style.setProperty("padding-left",i-t+"px",""),setTimeout((()=>{e.classList.remove("enableAnimation"),e.firstElementChild.style.removeProperty("margin-left"),e.style.removeProperty("padding-left"),e.scrollLeft=t}),300))}function p(e){if(!b)return;const t=e.clientWidth,i=e.querySelector("ul"),n=i.scrollLeft,o=i.scrollWidth,r=n>0;let a=e.querySelector(".tabMenuOverlayLeft");r?(null===a&&(a=document.createElement("span"),a.className="tabMenuOverlayLeft icon icon24 fa-angle-left",a.addEventListener("click",(()=>{const e=i.clientWidth;h(i,i.scrollLeft-~~(e/2),i.scrollLeft,i.scrollWidth,e,!1)})),e.insertBefore(a,e.firstChild)),a.classList.add("active")):null!==a&&a.classList.remove("active");const s=t+n<o;let l=e.querySelector(".tabMenuOverlayRight");s?(null===l&&(l=document.createElement("span"),l.className="tabMenuOverlayRight icon icon24 fa-angle-right",l.addEventListener("click",(()=>{const e=i.clientWidth;h(i,i.scrollLeft+~~(e/2),i.scrollLeft,i.scrollWidth,e,!1)})),e.appendChild(l)),l.classList.add("active")):null!==l&&l.classList.remove("active")}function m(e){return _.get(e)}function f(e){if(!b)return;const t=e.closest("ul"),i=t.clientWidth,n=t.scrollLeft,o=t.scrollWidth;if(i===o)return;const r=e.offsetLeft;let a=!1;r<n&&(a=!0);let s=!1;if(!a){const t=i-(r-n);let o=e.clientWidth;null!==e.nextElementSibling&&(s=!0,o+=20),t<o&&(a=!0)}a&&h(t,r,n,o,i,s)}Object.defineProperty(t,"__esModule",{value:!0}),t.scrollToTab=t.getTabMenu=t.setup=void 0,n=i.__importDefault(n),o=i.__importDefault(o),r=i.__importDefault(r),a=i.__importDefault(a),s=i.__importStar(s),l=i.__importStar(l);let g=null,b=!1;const _=new Map;t.setup=function(){c(),_.forEach((e=>{let t=!1;e.getContainers().forEach((i=>{t||null===i.querySelector(".formError")||(t=!0,e.select(i.id))}))})),n.default.add("WoltLabSuite/Core/Ui/TabMenu",c),a.default.add("WoltLabSuite/Core/Ui/TabMenu",(()=>{g&&(g.classList.remove("active"),g=null)})),s.on("screen-sm-down",{match(){d(!1)},unmatch:u,setup(){d(!0)}}),window.addEventListener("hashchange",(()=>{const e=r.default.getIdentifierFromHash(),t=e?document.getElementById(e):null;null!==t&&t.classList.contains("tabMenuContent")&&_.forEach((t=>{t.hasTab(e)&&t.select(e)}))}));const e=r.default.getIdentifierFromHash();e&&window.setTimeout((()=>{const t=document.getElementById(e);if(t&&t.classList.contains("tabMenuContent")){const e=window.scrollY||window.pageYOffset;if(e>0){const i=t.parentNode;let n=i.offsetTop-50;if(n<0&&(n=0),e>n){let e=o.default.offset(i).top;e<=50?e=0:e-=50,window.scrollTo(0,e)}}}}),100)},t.getTabMenu=m,t.scrollToTab=f})),define("WoltLabSuite/Core/Ui/Tooltip",["require","exports","tslib","../Dom/Change/Listener","../Environment","./Alignment"],(function(e,t,i,n,o,r){"use strict";function a(e){const t=e.currentTarget;let i=t.title.trim();""!==i&&(t.dataset.tooltip=i,t.setAttribute("aria-label",i),t.removeAttribute("title")),i=t.dataset.tooltip||"",u.style.removeProperty("top"),u.style.removeProperty("left"),i.length?(u.classList.add("active"),d.textContent=i,r.set(u,t,{horizontal:"center",verticalOffset:4,pointer:!0,pointerClassNames:["inverse"],vertical:"top"})):u.classList.remove("active")}function s(){u.classList.remove("active")}function l(){document.querySelectorAll(".jsTooltip").forEach((e=>{e.classList.remove("jsTooltip");const t=e.title.trim();t.length&&(e.dataset.tooltip=t,e.removeAttribute("title"),e.setAttribute("aria-label",t),e.addEventListener("mouseenter",a),e.addEventListener("mouseleave",s),e.addEventListener("click",s))}))}let c,d,u;Object.defineProperty(t,"__esModule",{value:!0}),t.init=t.setup=void 0,n=i.__importDefault(n),o=i.__importStar(o),r=i.__importStar(r),t.setup=function(){"desktop"===o.platform()&&(u=document.createElement("div"),u.id="balloonTooltip",u.classList.add("balloonTooltip"),u.addEventListener("transitionend",(()=>{u.classList.contains("active")||["bottom","left","right","top"].forEach((e=>{u.style.removeProperty(e)}))})),d=document.createElement("span"),d.id="balloonTooltipText",u.appendChild(d),c=document.createElement("span"),c.classList.add("elementPointer"),c.appendChild(document.createElement("span")),u.appendChild(c),document.body.appendChild(u),l(),n.default.add("WoltLabSuite/Core/Ui/Tooltip",l),window.addEventListener("scroll",s))},t.init=l})),define("WoltLabSuite/Core/Ui/Page/JumpTo",["require","exports","tslib","../../Language","../Dialog"],(function(e,t,i,n,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,n=i.__importStar(n),o=i.__importDefault(o);class r{constructor(){this.elements=new Map}init(e,t){if(t){if("function"!=typeof t)throw new TypeError("Expected a valid function for parameter 'callback'.")}else{const i=e.dataset.link;t=i?e=>{window.location.href=i.replace(/pageNo=%d/,`pageNo=${e}`)}:()=>{}}this.elements.has(e)||e.querySelectorAll(".jumpTo").forEach((i=>{i.addEventListener("click",(t=>this.click(e,t))),this.elements.set(e,t)}))}click(e,t){t.preventDefault(),this.activeElement=e,o.default.open(this);const i=e.dataset.pages||"0";this.input.value=i,this.input.max=i,this.input.select(),this.description.textContent=n.get("wcf.page.jumpTo.description").replace(/#pages#/,i)}_keyUp(e){if("Enter"===e.key&&!this.submitButton.disabled)return void this.submit();const t=+this.input.value;this.submitButton.disabled=t<1||t>+this.input.max}submit(){this.elements.get(this.activeElement)(+this.input.value),o.default.close(this)}_dialogSetup(){const e=`<dl>\n <dt><label for="jsPaginationPageNo">${n.get("wcf.page.jumpTo")}</label></dt>\n <dd>\n <input type="number" id="jsPaginationPageNo" value="1" min="1" max="1" class="tiny">\n <small></small>\n </dd>\n </dl>\n <div class="formSubmit">\n <button class="buttonPrimary">${n.get("wcf.global.button.submit")}</button>\n </div>`;return{id:"paginationOverlay",options:{onSetup:e=>{this.input=e.querySelector("input"),this.input.addEventListener("keyup",(e=>this._keyUp(e))),this.description=e.querySelector("small"),this.submitButton=e.querySelector("button"),this.submitButton.addEventListener("click",(()=>this.submit()))},title:n.get("wcf.global.page.pagination")},source:e}}}let a=null;t.init=function(e,t){(null===a&&(a=new r),a).init(e,t)}})),define("WoltLabSuite/Core/Ui/Password",["require","exports","tslib","../Dom/Change/Listener","../Language"],(function(e,t,i,n,o){"use strict";function r(){document.querySelectorAll("input[type=password]").forEach((e=>{s.has(e)||function(e){s.add(e);const t=document.activeElement,i=document.createElement("div");i.classList.add("inputAddon"),e.insertAdjacentElement("beforebegin",i),i.appendChild(e);const n=document.createElement("span");n.title=o.get("wcf.global.form.password.button.show"),n.classList.add("button","inputSuffix","jsTooltip"),n.setAttribute("role","button"),n.tabIndex=0,n.setAttribute("aria-hidden","true"),i.appendChild(n);const r=document.createElement("span");r.classList.add("icon","icon16","fa-eye"),n.appendChild(r),n.addEventListener("click",(()=>{a(e,n,r)})),n.addEventListener("keydown",(t=>{"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),a(e,n,r))})),t===e&&e.focus()}(e)}))}function a(e,t,i){"password"===e.type?(i.classList.remove("fa-eye"),i.classList.add("fa-eye-slash"),t.dataset.tooltip=o.get("wcf.global.form.password.button.hide"),e.type="text"):(i.classList.add("fa-eye"),i.classList.remove("fa-eye-slash"),t.dataset.tooltip=o.get("wcf.global.form.password.button.show"),e.type="password")}Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,n=i.__importDefault(n),o=i.__importStar(o);const s=new WeakSet;t.setup=function(){r(),n.default.add("WoltLabSuite/Core/Ui/Password",(()=>r()))}})),define("WoltLabSuite/Core/Ui/Empty",["require","exports","tslib","../Dom/Change/Listener"],(function(e,t,i,n){"use strict";function o(){document.querySelectorAll(".jsReloadPageWhenEmpty").forEach((e=>{e.classList.remove("jsReloadPageWhenEmpty"),r.observe(e,{childList:!0})}))}Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,n=i.__importDefault(n);const r=new MutationObserver((e=>{e.forEach((e=>{const t=e.target;if(0===t.childElementCount)window.location.reload();else{Array.from(t.children).every((e=>"ignore"===e.dataset.reloadPageWhenEmpty))&&window.location.reload()}}))}));t.setup=function(){o(),n.default.add("WoltLabSuite/Core/Ui/Empty",(()=>o()))}})),define("WoltLabSuite/Core/Ui/Confirmation",["require","exports","tslib","../Core","../Language","./Dialog"],(function(e,t,i,n,o,r){"use strict";function a(){return l||(l=new s),l}Object.defineProperty(t,"__esModule",{value:!0}),t.getContentElement=t.show=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r);class s{constructor(){this._active=!1,this.dialog=document.createElement("div"),this.dialog.id="wcfSystemConfirmation",this.dialog.classList.add("systemConfirmation"),this.text=document.createElement("p"),this.dialog.appendChild(this.text),this._content=document.createElement("div"),this._content.id="wcfSystemConfirmationContent",this.dialog.appendChild(this._content);const e=document.createElement("div");e.classList.add("formSubmit"),this.dialog.appendChild(e),this.confirmButton=document.createElement("button"),this.confirmButton.dataset.type="submit",this.confirmButton.classList.add("buttonPrimary"),this.confirmButton.textContent=o.get("wcf.global.confirmation.confirm"),e.appendChild(this.confirmButton);const t=document.createElement("button");t.textContent=o.get("wcf.global.confirmation.cancel"),t.addEventListener("click",(()=>{r.default.close(this)})),e.appendChild(t),document.body.appendChild(this.dialog)}open(e){this.parameters=e.parameters||{},this._content.innerHTML="string"==typeof e.template?e.template.trim():"",this.text[e.messageIsHtml?"innerHTML":"textContent"]=e.message,"function"==typeof e.legacyCallback?(this.callbackCancel=t=>{e.legacyCallback("cancel",t,this.content)},this.callbackConfirm=t=>{e.legacyCallback("confirm",t,this.content)}):("function"!=typeof e.cancel&&(e.cancel=()=>{}),this.callbackCancel=e.cancel,this.callbackConfirm=e.confirm),this._active=!0,r.default.open(this)}get active(){return this._active}get content(){return this._content}_confirm(){this.callbackConfirm(this.parameters,this.content),this._active=!1,r.default.close("wcfSystemConfirmation")}_onClose(){this.active&&(this.confirmButton.blur(),this._active=!1,this.callbackCancel(this.parameters))}_onShow(){this.confirmButton.blur(),this.confirmButton.focus()}_dialogSetup(){return{id:"wcfSystemConfirmation",options:{onClose:this._onClose.bind(this),onShow:this._onShow.bind(this),title:o.get("wcf.global.confirmation.title")}}}_dialogSubmit(){this._confirm()}}let l;t.show=function(e){if(!a().active){if((e=n.extend({cancel:null,confirm:null,legacyCallback:null,message:"",messageIsHtml:!1,parameters:{},template:""},e)).message="string"==typeof e.message?e.message.trim():"",!e.message)throw new Error("Expected a non-empty string for option 'message'.");if("function"!=typeof e.confirm&&"function"!=typeof e.legacyCallback)throw new TypeError("Expected a valid callback for option 'confirm'.");a().open(e)}},t.getContentElement=function(){return a().content}})),define("WoltLabSuite/Core/Ui/Object/Action",["require","exports","tslib","../../Ajax","../../Event/Handler","../Confirmation","../../Language","../../StringUtil","../../Dom/Change/Listener"],(function(e,t,i,n,o,r,a,s,l){"use strict";function c(e){function t(){n.apiOnce({data:{actionName:l,className:c,objectIDs:[d],parameters:p},success:e=>function(e,t){"reload"===e.dataset.objectActionSuccess?window.location.reload():o.fire("WoltLabSuite/Core/Ui/Object/Action",e.dataset.objectAction,{containerElement:e.closest(u),data:t,objectElement:e.closest(h)})}(i,e)})}const i=e.currentTarget,l=i.dataset.objectAction;let c=i.closest(u).dataset.objectActionClassName;i.dataset.objectActionClassName&&(c=i.dataset.objectActionClassName);let d=i.closest(h).dataset.objectId;i.dataset.objectId&&(d=i.dataset.objectId);const p={};Object.entries(i.dataset).forEach((([e,t])=>{let i=/^objectActionParameterData(.+)/.exec(e);if(i)Object.prototype.hasOwnProperty.call(p,"data")||(p.data={}),p.data[s.lcfirst(i[1])]=t;else if(i=/^objectActionParameter(.+)/.exec(e),i){const e=s.lcfirst(i[1]);if("data"===e)throw new Error("Additional object action parameters may not use 'data' as key.");p[e]=t}})),i.dataset.confirmMessage?r.show({confirm:t,message:a.get(i.dataset.confirmMessage),messageIsHtml:!0}):t()}function d(){document.querySelectorAll(`${u} ${h} .jsObjectAction[data-object-action]`).forEach((e=>{p.has(e)||(e.addEventListener("click",(e=>c(e))),p.add(e))}))}Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importDefault(l);const u=".jsObjectActionContainer[data-object-action-class-name]",h=".jsObjectActionObject[data-object-id]",p=new Set;t.setup=function(){d(),l.default.add("WoltLabSuite/Core/Ui/Action",(()=>d()))}})),define("WoltLabSuite/Core/Controller/Clipboard",["require","exports","tslib","../Ajax","../Core","../Dom/Change/Listener","../Dom/Util","../Event/Handler","../Language","../Ui/Confirmation","../Ui/Dropdown/Simple","../Ui/Page/Action","../Ui/Screen"],(function(e,t,i,n,o,r,a,s,l,c,d,u,h){"use strict";function p(){return g||(g=new f),g}Object.defineProperty(t,"__esModule",{value:!0}),t.unmark=t.showEditor=t.hideEditor=t.reload=t.setup=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importDefault(a),s=i.__importStar(s),l=i.__importStar(l),c=i.__importStar(c),d=i.__importDefault(d),u=i.__importStar(u),h=i.__importStar(h);const m='.messageCheckboxLabel > input[type="checkbox"], .message .messageClipboardCheckbox > input[type="checkbox"], .messageGroupList .columnMark > label > input[type="checkbox"]';class f{constructor(){this.containers=new Map,this.editors=new Map,this.editorDropdowns=new Map,this.itemData=new WeakMap,this.knownCheckboxes=new WeakSet,this.pageClassNames=[],this.pageObjectId=0,this.reloadPageOnSuccess=new Map}setup(e){if(!e.pageClassName)throw new Error("Expected a non-empty string for parameter 'pageClassName'.");let t=!1;0===this.pageClassNames.length&&(t=e.hasMarkedItems,this.pageObjectId=e.pageObjectId),this.pageClassNames.push(e.pageClassName),this.initContainers(),t&&this.containers.size&&this.loadMarkedItems(),r.default.add("WoltLabSuite/Core/Controller/Clipboard",(()=>this.initContainers()))}reload(){this.containers.size&&this.loadMarkedItems()}initContainers(){document.querySelectorAll(".jsClipboardContainer").forEach((e=>{const t=a.default.identify(e);let i=this.containers.get(t);if(void 0===i){const n=e.querySelector(".jsClipboardMarkAll");if(null!==n){if(n.matches(m)){const e=n.closest("label");e.setAttribute("role","checkbox"),e.tabIndex=0,e.setAttribute("aria-checked","false"),e.setAttribute("aria-label",l.get("wcf.clipboard.item.markAll")),e.addEventListener("keyup",(e=>{"Enter"!==e.key&&"Space"!==e.key||n.click()}))}n.dataset.containerId=t,n.addEventListener("click",(e=>this.markAll(e)))}i={checkboxes:e.getElementsByClassName("jsClipboardItem"),element:e,markAll:n,markedObjectIds:new Set},this.containers.set(t,i)}Array.from(i.checkboxes).forEach((e=>{if(this.knownCheckboxes.has(e))return;if(e.dataset.containerId=t,e.matches(m)){const t=e.closest("label");t.setAttribute("role","checkbox"),t.tabIndex=0,t.setAttribute("aria-checked","false"),t.setAttribute("aria-label",l.get("wcf.clipboard.item.mark")),t.addEventListener("keyup",(t=>{"Enter"!==t.key&&"Space"!==t.key||e.click()}))}null===e.closest("a")?e.addEventListener("click",(e=>this.mark(e))):e.addEventListener("click",(t=>{t.preventDefault(),window.setTimeout((()=>{e.checked=!e.checked,this.mark(e)}),10)})),this.knownCheckboxes.add(e)}))}))}loadMarkedItems(){n.api(this,{actionName:"getMarkedItems",parameters:{pageClassNames:this.pageClassNames,pageObjectID:this.pageObjectId}})}markAll(e){const t=e.currentTarget,i="INPUT"!==t.nodeName||t.checked;this.setParentAsMarked(t,i);const n=[],o=t.dataset.containerId,r=this.containers.get(o),a=r.element.dataset.type;Array.from(r.checkboxes).forEach((e=>{const o=~~e.dataset.objectId;i?e.checked||(e.checked=!0,r.markedObjectIds.add(o),n.push(o)):e.checked&&(e.checked=!1,r.markedObjectIds.delete(o),n.push(o)),this.setParentAsMarked(e,i);const a=t.closest(".jsClipboardObject");null!==a&&(i?a.classList.add("jsMarked"):a.classList.remove("jsMarked"))})),this.saveState(a,n,i)}mark(e){const t=e instanceof Event?e.currentTarget:e,i=~~t.dataset.objectId,n=t.checked,o=t.dataset.containerId,r=this.containers.get(o),a=r.element.dataset.type,s=t.closest(".jsClipboardObject");n?(r.markedObjectIds.add(i),s.classList.add("jsMarked")):(r.markedObjectIds.delete(i),s.classList.remove("jsMarked")),null!==r.markAll&&(r.markAll.checked=!Array.from(r.checkboxes).some((e=>!e.checked)),this.setParentAsMarked(r.markAll,n)),this.setParentAsMarked(t,t.checked),this.saveState(a,[i],n)}saveState(e,t,i){n.api(this,{actionName:i?"mark":"unmark",parameters:{pageClassNames:this.pageClassNames,pageObjectID:this.pageObjectId,objectIDs:t,objectType:e}})}executeAction(e){function t(){const e=i.dataset.type;s.fire("com.woltlab.wcf.clipboard",e,{data:n,listItem:i,responseData:null})}const i=e.currentTarget,n=this.itemData.get(i);if(n.url)return void(window.location.href=n.url);const r="string"==typeof n.internalData.confirmMessage?n.internalData.confirmMessage:"";let a=!0;if(o.isPlainObject(n.parameters)&&n.parameters.actionName&&n.parameters.className){if("unmarkAll"===n.parameters.actionName||Array.isArray(n.parameters.objectIDs))if(r.length){const e="string"==typeof n.internalData.template?n.internalData.template:"";c.show({confirm:()=>{const t={};e.length&&c.getContentElement().querySelectorAll("input, select, textarea").forEach((e=>{const i=e.name;switch(e.nodeName){case"INPUT":("checkbox"!==e.type&&"radio"!==e.type||e.checked)&&(t[i]=e.value);break;case"SELECT":t[i]=e.value;break;case"TEXTAREA":t[i]=e.value.trim()}})),this.executeProxyAction(i,n,t)},message:r,template:e})}else this.executeProxyAction(i,n)}else r.length&&(a=!1,c.show({confirm:t,message:r}));a&&t()}executeProxyAction(e,t,i={}){const r="unmarkAll"!==t.parameters.actionName?t.parameters.objectIDs:[],a={data:i};o.isPlainObject(t.internalData.parameters)&&Object.entries(t.internalData.parameters).forEach((([e,t])=>{a[e]=t})),n.api(this,{actionName:t.parameters.actionName,className:t.parameters.className,objectIDs:r,parameters:a},(i=>{if("unmarkAll"!==t.actionName){const n=e.dataset.type;s.fire("com.woltlab.wcf.clipboard",n,{data:t,listItem:e,responseData:i});const o=this.reloadPageOnSuccess.get(n);if(o&&o.includes(i.actionName))return void window.location.reload()}this.loadMarkedItems()}))}unmarkAll(e){const t=e.currentTarget;n.api(this,{actionName:"unmarkAll",parameters:{objectType:t.dataset.type}})}_ajaxSetup(){return{data:{className:"wcf\\data\\clipboard\\item\\ClipboardItemAction"}}}_ajaxSuccess(e){if("unmarkAll"===e.actionName){const t=e.returnValues.objectType;return void this.containers.forEach((e=>{e.element.dataset.type===t&&(e.element.querySelectorAll(".jsMarked").forEach((e=>e.classList.remove("jsMarked"))),null!==e.markAll&&(e.markAll.checked=!1,this.setParentAsMarked(e.markAll,!1)),Array.from(e.checkboxes).forEach((e=>{e.checked=!1,this.setParentAsMarked(e,!1)})),u.remove(`wcfClipboard-${t}`))}))}this.itemData=new WeakMap,this.reloadPageOnSuccess.clear();const t=o.isPlainObject(e.returnValues.markedItems)?e.returnValues.markedItems:{};this.containers.forEach((e=>{const i=e.element.dataset.type,n=Array.isArray(t[i])?t[i]:[];this.rebuildMarkings(e,n)}));const i=Object.keys(e.returnValues.items||{});this.editors.forEach(((e,t)=>{i.includes(t)||(u.remove(`wcfClipboard-${t}`),this.editorDropdowns.get(t).innerHTML="")})),e.returnValues.items&&Object.entries(e.returnValues.items).forEach((([e,t])=>{this.reloadPageOnSuccess.set(e,t.reloadPageOnSuccess);let n=!1,o=this.editors.get(e),r=this.editorDropdowns.get(e);void 0===o?(n=!0,o=document.createElement("a"),o.className="dropdownToggle",o.textContent=t.label,this.editors.set(e,o),r=document.createElement("ol"),r.className="dropdownMenu",this.editorDropdowns.set(e,r)):(o.textContent=t.label,r.innerHTML=""),Object.values(t.items).forEach((t=>{const i=document.createElement("li"),n=document.createElement("span");n.textContent=t.label,i.appendChild(n),r.appendChild(i),i.dataset.type=e,i.addEventListener("click",(e=>this.executeAction(e))),this.itemData.set(i,t)}));const a=document.createElement("li");a.classList.add("dropdownDivider"),r.appendChild(a);const s=document.createElement("li");s.dataset.type=e;const c=document.createElement("span");if(c.textContent=l.get("wcf.clipboard.item.unmarkAll"),s.appendChild(c),s.addEventListener("click",(e=>this.unmarkAll(e))),r.appendChild(s),-1!==i.indexOf(e)){const t=`wcfClipboard-${e}`;u.has(t)?u.show(t):u.add(t,o)}if(n){const e=o.parentElement;e.classList.add("dropdown"),e.appendChild(r),d.default.init(o)}}))}rebuildMarkings(e,t){var i;let n=!0;if(Array.from(e.checkboxes).forEach((e=>{const i=e.closest(".jsClipboardObject"),o=t.includes(~~e.dataset.objectId);o||(n=!1),e.checked=o,o?i.classList.add("jsMarked"):i.classList.remove("jsMarked"),this.setParentAsMarked(e,o)})),null!==e.markAll){e.markAll.checked=n,this.setParentAsMarked(e.markAll,n);const t=null===(i=e.markAll.closest(".columnMark"))||void 0===i?void 0:i.parentNode;t&&(n?t.classList.add("jsMarked"):t.classList.remove("jsMarked"))}}setParentAsMarked(e,t){const i=e.parentElement;"checkbox"===i.getAttribute("role")&&i.setAttribute("aria-checked",t?"true":"false")}hideEditor(e){u.remove("wcfClipboard-"+e),h.pageOverlayOpen()}showEditor(){this.loadMarkedItems(),h.pageOverlayClose()}unmark(e,t){this.saveState(e,t,!1)}}let g;t.setup=function(e){p().setup(e)},t.reload=function(){p().reload()},t.hideEditor=function(e){p().hideEditor(e)},t.showEditor=function(){p().showEditor()},t.unmark=function(e,t){p().unmark(e,t)}})),define("WoltLabSuite/Core/Ui/Object/Action/Handler",["require","exports","tslib","../../../Event/Handler","../../../Controller/Clipboard"],(function(e,t,i,n,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n=i.__importStar(n),o=i.__importStar(o);t.default=class{constructor(e,t,i){this.objectAction=i,n.add("WoltLabSuite/Core/Ui/Object/Action",e,(e=>this.handleObjectAction(e))),document.querySelectorAll(".jsClipboardContainer[data-type]").forEach((e=>{n.add("com.woltlab.wcf.clipboard",e.dataset.type,(e=>{null!==e.responseData&&-1!==t.indexOf(e.responseData.actionName)&&this.handleClipboardAction(e)}))}))}handleClipboardAction(e){const t=e.listItem.dataset.type;document.querySelectorAll(`.jsClipboardContainer[data-type="${t}"] .jsClipboardObject`).forEach((t=>{const i=t.dataset.objectId;e.responseData.objectIDs.forEach((n=>{~~n==~~i&&this.objectAction({containerElement:t.closest(".jsObjectActionContainer"),data:e.responseData,objectElement:t})}))}))}handleObjectAction(e){this.objectAction(e),o.reload()}}})),define("WoltLabSuite/Core/Ui/Object/Action/Delete",["require","exports","tslib","./Handler"],(function(e,t,i,n){"use strict";function o(e){const t=e.objectElement.querySelector('.jsObjectAction[data-object-action="delete"]');if(!t||t.dataset.objectActionHandler)return;const i=e.objectElement.querySelector(".jsObjectActionObjectChildren");i&&Array.from(i.children).forEach((t=>{e.objectElement.insertAdjacentElement("beforebegin",t)})),e.objectElement.remove()}Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,n=i.__importDefault(n),t.setup=function(){new n.default("delete",["delete"],o)}})),define("WoltLabSuite/Core/Ui/Object/Action/Toogle",["require","exports","tslib","../../../Language","./Handler"],(function(e,t,i,n,o){"use strict";function r(e){const t=e.objectElement.querySelector('.jsObjectAction[data-object-action="toggle"]');if(t&&!t.dataset.objectActionHandler)if(t.classList.contains("fa-square-o")){t.classList.replace("fa-square-o","fa-check-square-o");const e=t.dataset.disableTitle||n.get("wcf.global.button.disable");t.title=e}else{t.classList.replace("fa-check-square-o","fa-square-o");const e=t.dataset.enableTitle||n.get("wcf.global.button.enable");t.title=e}}Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,n=i.__importStar(n),o=i.__importDefault(o),t.setup=function(){new o.default("toggle",["enable","disable"],r)}})),function e(t,i,n){function o(r,s){var l,c,d;if(!i[r]){if(!t[r]){if(l="function"==typeof require&&require,!s&&l)return l(r,!0);if(a)return a(r,!0);throw(c=new Error("Cannot find module '"+r+"'")).code="MODULE_NOT_FOUND",c}d=i[r]={exports:{}},t[r][0].call(d.exports,(function(e){var i=t[r][1][e];return o(i||e)}),d,d.exports,e,t,i,n)}return i[r].exports}var r,a="function"==typeof require&&require;for(r=0;r<n.length;r++)o(n[r]);return o}({1:[function(e,t,i){"use strict";var n=e("../main");"function"==typeof define&&define.amd?define("perfect-scrollbar",n):(window.PerfectScrollbar=n,void 0===window.Ps&&(window.Ps=n))},{"../main":7}],2:[function(e,t,i){"use strict";i.add=function(e,t){e.classList?e.classList.add(t):function(e,t){var i=e.className.split(" ");i.indexOf(t)<0&&i.push(t),e.className=i.join(" ")}(e,t)},i.remove=function(e,t){e.classList?e.classList.remove(t):function(e,t){var i=e.className.split(" "),n=i.indexOf(t);n>=0&&i.splice(n,1),e.className=i.join(" ")}(e,t)},i.list=function(e){return e.classList?Array.prototype.slice.apply(e.classList):e.className.split(" ")}},{}],3:[function(e,t,i){"use strict";var n={e:function(e,t){var i=document.createElement(e);return i.className=t,i},appendTo:function(e,t){return t.appendChild(e),e}};n.css=function(e,t,i){return"object"==typeof t?function(e,t){var i,n;for(i in t)"number"==typeof(n=t[i])&&(n=n.toString()+"px"),e.style[i]=n;return e}(e,t):void 0===i?function(e,t){return window.getComputedStyle(e)[t]}(e,t):function(e,t,i){return"number"==typeof i&&(i=i.toString()+"px"),e.style[t]=i,e}(e,t,i)},n.matches=function(e,t){return void 0!==e.matches?e.matches(t):void 0!==e.matchesSelector?e.matchesSelector(t):void 0!==e.webkitMatchesSelector?e.webkitMatchesSelector(t):void 0!==e.mozMatchesSelector?e.mozMatchesSelector(t):void 0!==e.msMatchesSelector?e.msMatchesSelector(t):void 0},n.remove=function(e){void 0!==e.remove?e.remove():e.parentNode&&e.parentNode.removeChild(e)},n.queryChildren=function(e,t){return Array.prototype.filter.call(e.childNodes,(function(e){return n.matches(e,t)}))},t.exports=n},{}],4:[function(e,t,i){"use strict";var n,o=function(e){this.element=e,this.events={}};o.prototype.bind=function(e,t){void 0===this.events[e]&&(this.events[e]=[]),this.events[e].push(t),this.element.addEventListener(e,t,!1)},o.prototype.unbind=function(e,t){var i=void 0!==t;this.events[e]=this.events[e].filter((function(n){return!(!i||n===t)||(this.element.removeEventListener(e,n,!1),!1)}),this)},o.prototype.unbindAll=function(){for(var e in this.events)this.unbind(e)},(n=function(){this.eventElements=[]}).prototype.eventElement=function(e){var t=this.eventElements.filter((function(t){return t.element===e}))[0];return void 0===t&&(t=new o(e),this.eventElements.push(t)),t},n.prototype.bind=function(e,t,i){this.eventElement(e).bind(t,i)},n.prototype.unbind=function(e,t,i){this.eventElement(e).unbind(t,i)},n.prototype.unbindAll=function(){for(var e=0;e<this.eventElements.length;e++)this.eventElements[e].unbindAll()},n.prototype.once=function(e,t,i){var n=this.eventElement(e),o=function(e){n.unbind(t,o),i(e)};n.bind(t,o)},t.exports=n},{}],5:[function(e,t,i){"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,i){"use strict";var n=e("./class"),o=e("./dom"),r=i.toInt=function(e){return parseInt(e,10)||0},a=i.clone=function(e){var t,i;if(e){if(e.constructor===Array)return e.map(a);if("object"==typeof e){for(i in t={},e)t[i]=a(e[i]);return t}return e}return null};i.extend=function(e,t){var i,n=a(e);for(i in t)n[i]=a(t[i]);return n},i.isEditable=function(e){return o.matches(e,"input,[contenteditable]")||o.matches(e,"select,[contenteditable]")||o.matches(e,"textarea,[contenteditable]")||o.matches(e,"button,[contenteditable]")},i.removePsClasses=function(e){var t,i,o=n.list(e);for(t=0;t<o.length;t++)0===(i=o[t]).indexOf("ps-")&&n.remove(e,i)},i.outerWidth=function(e){return r(o.css(e,"width"))+r(o.css(e,"paddingLeft"))+r(o.css(e,"paddingRight"))+r(o.css(e,"borderLeftWidth"))+r(o.css(e,"borderRightWidth"))},i.startScrolling=function(e,t){n.add(e,"ps-in-scrolling"),void 0!==t?n.add(e,"ps-"+t):(n.add(e,"ps-x"),n.add(e,"ps-y"))},i.stopScrolling=function(e,t){n.remove(e,"ps-in-scrolling"),void 0!==t?n.remove(e,"ps-"+t):(n.remove(e,"ps-x"),n.remove(e,"ps-y"))},i.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,i){"use strict";var n=e("./plugin/destroy"),o=e("./plugin/initialize"),r=e("./plugin/update");t.exports={initialize:o,update:r,destroy:n}},{"./plugin/destroy":9,"./plugin/initialize":17,"./plugin/update":21}],8:[function(e,t,i){"use strict";t.exports={handlers:["click-rail","drag-scrollbar","keyboard","wheel","touch"],maxScrollbarLength:null,minScrollbarLength:null,scrollXMarginOffset:0,scrollYMarginOffset:0,suppressScrollX:!1,suppressScrollY:!1,swipePropagation:!0,useBothWheelAxes:!1,wheelPropagation:!1,wheelSpeed:1,theme:"default"}},{}],9:[function(e,t,i){"use strict";var n=e("../lib/helper"),o=e("../lib/dom"),r=e("./instances");t.exports=function(e){var t=r.get(e);t&&(t.event.unbindAll(),o.remove(t.scrollbarX),o.remove(t.scrollbarY),o.remove(t.scrollbarXRail),o.remove(t.scrollbarYRail),n.removePsClasses(e),r.remove(e))}},{"../lib/dom":3,"../lib/helper":6,"./instances":18}],10:[function(e,t,i){"use strict";var n=e("../instances"),o=e("../update-geometry"),r=e("../update-scroll");t.exports=function(e){!function(e,t){function i(e){return e.getBoundingClientRect()}var n=function(e){e.stopPropagation()};t.event.bind(t.scrollbarY,"click",n),t.event.bind(t.scrollbarYRail,"click",(function(n){var a=n.pageY-window.pageYOffset-i(t.scrollbarYRail).top>t.scrollbarYTop?1:-1;r(e,"top",e.scrollTop+a*t.containerHeight),o(e),n.stopPropagation()})),t.event.bind(t.scrollbarX,"click",n),t.event.bind(t.scrollbarXRail,"click",(function(n){var a=n.pageX-window.pageXOffset-i(t.scrollbarXRail).left>t.scrollbarXLeft?1:-1;r(e,"left",e.scrollLeft+a*t.containerWidth),o(e),n.stopPropagation()}))}(e,n.get(e))}},{"../instances":18,"../update-geometry":19,"../update-scroll":20}],11:[function(e,t,i){"use strict";function n(e,t){var i=null,n=null,o=function(o){var a,s,d,u;a=o.pageX-n,d=i+a*t.railXRatio,u=Math.max(0,t.scrollbarXRail.getBoundingClientRect().left)+t.railXRatio*(t.railXWidth-t.scrollbarXWidth),t.scrollbarXLeft=d<0?0:d>u?u:d,s=r.toInt(t.scrollbarXLeft*(t.contentWidth-t.containerWidth)/(t.containerWidth-t.railXRatio*t.scrollbarXWidth))-t.negativeScrollAdjustment,c(e,"left",s),l(e),o.stopPropagation(),o.preventDefault()},s=function(){r.stopScrolling(e,"x"),t.event.unbind(t.ownerDocument,"mousemove",o)};t.event.bind(t.scrollbarX,"mousedown",(function(l){n=l.pageX,i=r.toInt(a.css(t.scrollbarX,"left"))*t.railXRatio,r.startScrolling(e,"x"),t.event.bind(t.ownerDocument,"mousemove",o),t.event.once(t.ownerDocument,"mouseup",s),l.stopPropagation(),l.preventDefault()}))}function o(e,t){var i=null,n=null,o=function(o){var a,s,d,u;a=o.pageY-n,d=i+a*t.railYRatio,u=Math.max(0,t.scrollbarYRail.getBoundingClientRect().top)+t.railYRatio*(t.railYHeight-t.scrollbarYHeight),t.scrollbarYTop=d<0?0:d>u?u:d,s=r.toInt(t.scrollbarYTop*(t.contentHeight-t.containerHeight)/(t.containerHeight-t.railYRatio*t.scrollbarYHeight)),c(e,"top",s),l(e),o.stopPropagation(),o.preventDefault()},s=function(){r.stopScrolling(e,"y"),t.event.unbind(t.ownerDocument,"mousemove",o)};t.event.bind(t.scrollbarY,"mousedown",(function(l){n=l.pageY,i=r.toInt(a.css(t.scrollbarY,"top"))*t.railYRatio,r.startScrolling(e,"y"),t.event.bind(t.ownerDocument,"mousemove",o),t.event.once(t.ownerDocument,"mouseup",s),l.stopPropagation(),l.preventDefault()}))}var r=e("../../lib/helper"),a=e("../../lib/dom"),s=e("../instances"),l=e("../update-geometry"),c=e("../update-scroll");t.exports=function(e){var t=s.get(e);n(e,t),o(e,t)}},{"../../lib/dom":3,"../../lib/helper":6,"../instances":18,"../update-geometry":19,"../update-scroll":20}],12:[function(e,t,i){"use strict";function n(e,t){var i=!1;t.event.bind(e,"mouseenter",(function(){i=!0})),t.event.bind(e,"mouseleave",(function(){i=!1})),t.event.bind(t.ownerDocument,"keydown",(function(n){var a,c,d,u;if(!(n.isDefaultPrevented&&n.isDefaultPrevented()||n.defaultPrevented)&&(a=r.matches(t.scrollbarX,":focus")||r.matches(t.scrollbarY,":focus"),i||a)){if(c=document.activeElement?document.activeElement:t.ownerDocument.activeElement){if("IFRAME"===c.tagName)c=c.contentDocument.activeElement;else for(;c.shadowRoot;)c=c.shadowRoot.activeElement;if(o.isEditable(c))return}switch(d=0,u=0,n.which){case 37:d=n.metaKey?-t.contentWidth:n.altKey?-t.containerWidth:-30;break;case 38:u=n.metaKey?t.contentHeight:n.altKey?t.containerHeight:30;break;case 39:d=n.metaKey?t.contentWidth:n.altKey?t.containerWidth:30;break;case 40:u=n.metaKey?-t.contentHeight:n.altKey?-t.containerHeight:-30;break;case 33:u=90;break;case 32:u=n.shiftKey?90:-90;break;case 34:u=-90;break;case 35:u=n.ctrlKey?-t.contentHeight:-t.containerHeight;break;case 36:u=n.ctrlKey?e.scrollTop:t.containerHeight;break;default:return}l(e,"top",e.scrollTop-u),l(e,"left",e.scrollLeft+d),s(e),function(i,n){var o,r=e.scrollTop;if(0===i){if(!t.scrollbarYActive)return!1;if(0===r&&n>0||r>=t.contentHeight-t.containerHeight&&n<0)return!t.settings.wheelPropagation}if(o=e.scrollLeft,0===n){if(!t.scrollbarXActive)return!1;if(0===o&&i<0||o>=t.contentWidth-t.containerWidth&&i>0)return!t.settings.wheelPropagation}return!0}(d,u)&&n.preventDefault()}}))}var o=e("../../lib/helper"),r=e("../../lib/dom"),a=e("../instances"),s=e("../update-geometry"),l=e("../update-scroll");t.exports=function(e){n(e,a.get(e))}},{"../../lib/dom":3,"../../lib/helper":6,"../instances":18,"../update-geometry":19,"../update-scroll":20}],13:[function(e,t,i){"use strict";function n(e,t){function i(i){var o=function(e){var t=e.deltaX,i=-1*e.deltaY;return void 0!==t&&void 0!==i||(t=-1*e.wheelDeltaX/6,i=e.wheelDeltaY/6),e.deltaMode&&1===e.deltaMode&&(t*=10,i*=10),t!=t&&i!=i&&(t=0,i=e.wheelDelta),e.shiftKey?[-i,-t]:[t,i]}(i),s=o[0],l=o[1];(function(t,i){var n,o,r=e.querySelector("textarea:hover, select[multiple]:hover, .ps-child:hover");if(r){if(!window.getComputedStyle(r).overflow.match(/(scroll|auto)/))return!1;if((n=r.scrollHeight-r.clientHeight)>0&&!(0===r.scrollTop&&i>0||r.scrollTop===n&&i<0))return!0;if((o=r.scrollLeft-r.clientWidth)>0&&!(0===r.scrollLeft&&t<0||r.scrollLeft===o&&t>0))return!0}return!1})(s,l)||(n=!1,t.settings.useBothWheelAxes?t.scrollbarYActive&&!t.scrollbarXActive?(a(e,"top",l?e.scrollTop-l*t.settings.wheelSpeed:e.scrollTop+s*t.settings.wheelSpeed),n=!0):t.scrollbarXActive&&!t.scrollbarYActive&&(a(e,"left",s?e.scrollLeft+s*t.settings.wheelSpeed:e.scrollLeft-l*t.settings.wheelSpeed),n=!0):(a(e,"top",e.scrollTop-l*t.settings.wheelSpeed),a(e,"left",e.scrollLeft+s*t.settings.wheelSpeed)),r(e),(n=n||function(i,n){var o,r=e.scrollTop;if(0===i){if(!t.scrollbarYActive)return!1;if(0===r&&n>0||r>=t.contentHeight-t.containerHeight&&n<0)return!t.settings.wheelPropagation}if(o=e.scrollLeft,0===n){if(!t.scrollbarXActive)return!1;if(0===o&&i<0||o>=t.contentWidth-t.containerWidth&&i>0)return!t.settings.wheelPropagation}return!0}(s,l))&&(i.stopPropagation(),i.preventDefault()))}var n=!1;void 0!==window.onwheel?t.event.bind(e,"wheel",i):void 0!==window.onmousewheel&&t.event.bind(e,"mousewheel",i)}var o=e("../instances"),r=e("../update-geometry"),a=e("../update-scroll");t.exports=function(e){n(e,o.get(e))}},{"../instances":18,"../update-geometry":19,"../update-scroll":20}],14:[function(e,t,i){"use strict";var n=e("../instances"),o=e("../update-geometry");t.exports=function(e){!function(e,t){t.event.bind(e,"scroll",(function(){o(e)}))}(e,n.get(e))}},{"../instances":18,"../update-geometry":19}],15:[function(e,t,i){"use strict";function n(e,t){function i(){n&&(clearInterval(n),n=null),o.stopScrolling(e)}var n=null,l={top:0,left:0},c=!1;t.event.bind(t.ownerDocument,"selectionchange",(function(){var t;e.contains(0===(t=window.getSelection?window.getSelection():document.getSelection?document.getSelection():"").toString().length?null:t.getRangeAt(0).commonAncestorContainer)?c=!0:(c=!1,i())})),t.event.bind(window,"mouseup",(function(){c&&(c=!1,i())})),t.event.bind(window,"keyup",(function(){c&&(c=!1,i())})),t.event.bind(window,"mousemove",(function(t){var d,u;c&&(d={x:t.pageX,y:t.pageY},u={left:e.offsetLeft,right:e.offsetLeft+e.offsetWidth,top:e.offsetTop,bottom:e.offsetTop+e.offsetHeight},d.x<u.left+3?(l.left=-5,o.startScrolling(e,"x")):d.x>u.right-3?(l.left=5,o.startScrolling(e,"x")):l.left=0,d.y<u.top+3?(u.top+3-d.y<5?l.top=-5:l.top=-20,o.startScrolling(e,"y")):d.y>u.bottom-3?(d.y-u.bottom+3<5?l.top=5:l.top=20,o.startScrolling(e,"y")):l.top=0,0===l.top&&0===l.left?i():n||(n=setInterval((function(){r.get(e)?(s(e,"top",e.scrollTop+l.top),s(e,"left",e.scrollLeft+l.left),a(e)):clearInterval(n)}),50)))}))}var o=e("../../lib/helper"),r=e("../instances"),a=e("../update-geometry"),s=e("../update-scroll");t.exports=function(e){n(e,r.get(e))}},{"../../lib/helper":6,"../instances":18,"../update-geometry":19,"../update-scroll":20}],16:[function(e,t,i){"use strict";function n(e,t,i,n){function o(t,i){s(e,"top",e.scrollTop-i),s(e,"left",e.scrollLeft-t),a(e)}function l(){v=!0}function c(){v=!1}function d(e){return e.targetTouches?e.targetTouches[0]:e}function u(e){return!(!e.targetTouches||1!==e.targetTouches.length)||!(!e.pointerType||"mouse"===e.pointerType||e.pointerType===e.MSPOINTER_TYPE_MOUSE)}function h(e){if(u(e)){w=!0;var t=d(e);f.pageX=t.pageX,f.pageY=t.pageY,g=(new Date).getTime(),null!==_&&clearInterval(_),e.stopPropagation()}}function p(i){var n,r,a,s,l,c;!w&&t.settings.swipePropagation&&h(i),!v&&w&&u(i)&&(o(a=(r={pageX:(n=d(i)).pageX,pageY:n.pageY}).pageX-f.pageX,s=r.pageY-f.pageY),f=r,(c=(l=(new Date).getTime())-g)>0&&(b.x=a/c,b.y=s/c,g=l),function(i,n){var o=e.scrollTop,r=e.scrollLeft,a=Math.abs(i),s=Math.abs(n);if(s>a){if(n<0&&o===t.contentHeight-t.containerHeight||n>0&&0===o)return!t.settings.swipePropagation}else if(a>s&&(i<0&&r===t.contentWidth-t.containerWidth||i>0&&0===r))return!t.settings.swipePropagation;return!0}(a,s)&&(i.stopPropagation(),i.preventDefault()))}function m(){!v&&w&&(w=!1,clearInterval(_),_=setInterval((function(){r.get(e)&&(b.x||b.y)?Math.abs(b.x)<.01&&Math.abs(b.y)<.01?clearInterval(_):(o(30*b.x,30*b.y),b.x*=.8,b.y*=.8):clearInterval(_)}),10))}var f={},g=0,b={},_=null,v=!1,w=!1;i?(t.event.bind(window,"touchstart",l),t.event.bind(window,"touchend",c),t.event.bind(e,"touchstart",h),t.event.bind(e,"touchmove",p),t.event.bind(e,"touchend",m)):n&&(window.PointerEvent?(t.event.bind(window,"pointerdown",l),t.event.bind(window,"pointerup",c),t.event.bind(e,"pointerdown",h),t.event.bind(e,"pointermove",p),t.event.bind(e,"pointerup",m)):window.MSPointerEvent&&(t.event.bind(window,"MSPointerDown",l),t.event.bind(window,"MSPointerUp",c),t.event.bind(e,"MSPointerDown",h),t.event.bind(e,"MSPointerMove",p),t.event.bind(e,"MSPointerUp",m)))}var o=e("../../lib/helper"),r=e("../instances"),a=e("../update-geometry"),s=e("../update-scroll");t.exports=function(e){(o.env.supportsTouch||o.env.supportsIePointer)&&n(e,r.get(e),o.env.supportsTouch,o.env.supportsIePointer)}},{"../../lib/helper":6,"../instances":18,"../update-geometry":19,"../update-scroll":20}],17:[function(e,t,i){"use strict";var n=e("../lib/helper"),o=e("../lib/class"),r=e("./instances"),a=e("./update-geometry"),s={"click-rail":e("./handler/click-rail"),"drag-scrollbar":e("./handler/drag-scrollbar"),keyboard:e("./handler/keyboard"),wheel:e("./handler/mouse-wheel"),touch:e("./handler/touch"),selection:e("./handler/selection")},l=e("./handler/native-scroll");t.exports=function(e,t){t="object"==typeof t?t:{},o.add(e,"ps-container");var i=r.add(e);i.settings=n.extend(i.settings,t),o.add(e,"ps-theme-"+i.settings.theme),i.settings.handlers.forEach((function(t){s[t](e)})),l(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,i){"use strict";function n(e){function t(){a.add(e,"ps-focus")}function i(){a.remove(e,"ps-focus")}var n,o,d=this;d.settings=r.clone(s),d.containerWidth=null,d.containerHeight=null,d.contentWidth=null,d.contentHeight=null,d.isRtl="rtl"===l.css(e,"direction"),d.isNegativeScroll=(n=e.scrollLeft,o=null,e.scrollLeft=-1,o=e.scrollLeft<0,e.scrollLeft=n,o),d.negativeScrollAdjustment=d.isNegativeScroll?e.scrollWidth-e.clientWidth:0,d.event=new c,d.ownerDocument=e.ownerDocument||document,d.scrollbarXRail=l.appendTo(l.e("div","ps-scrollbar-x-rail"),e),d.scrollbarX=l.appendTo(l.e("div","ps-scrollbar-x"),d.scrollbarXRail),d.scrollbarX.setAttribute("tabindex",0),d.event.bind(d.scrollbarX,"focus",t),d.event.bind(d.scrollbarX,"blur",i),d.scrollbarXActive=null,d.scrollbarXWidth=null,d.scrollbarXLeft=null,d.scrollbarXBottom=r.toInt(l.css(d.scrollbarXRail,"bottom")),d.isScrollbarXUsingBottom=d.scrollbarXBottom==d.scrollbarXBottom,d.scrollbarXTop=d.isScrollbarXUsingBottom?null:r.toInt(l.css(d.scrollbarXRail,"top")),d.railBorderXWidth=r.toInt(l.css(d.scrollbarXRail,"borderLeftWidth"))+r.toInt(l.css(d.scrollbarXRail,"borderRightWidth")),l.css(d.scrollbarXRail,"display","block"),d.railXMarginWidth=r.toInt(l.css(d.scrollbarXRail,"marginLeft"))+r.toInt(l.css(d.scrollbarXRail,"marginRight")),l.css(d.scrollbarXRail,"display",""),d.railXWidth=null,d.railXRatio=null,d.scrollbarYRail=l.appendTo(l.e("div","ps-scrollbar-y-rail"),e),d.scrollbarY=l.appendTo(l.e("div","ps-scrollbar-y"),d.scrollbarYRail),d.scrollbarY.setAttribute("tabindex",0),d.event.bind(d.scrollbarY,"focus",t),d.event.bind(d.scrollbarY,"blur",i),d.scrollbarYActive=null,d.scrollbarYHeight=null,d.scrollbarYTop=null,d.scrollbarYRight=r.toInt(l.css(d.scrollbarYRail,"right")),d.isScrollbarYUsingRight=d.scrollbarYRight==d.scrollbarYRight,d.scrollbarYLeft=d.isScrollbarYUsingRight?null:r.toInt(l.css(d.scrollbarYRail,"left")),d.scrollbarYOuterWidth=d.isRtl?r.outerWidth(d.scrollbarY):null,d.railBorderYWidth=r.toInt(l.css(d.scrollbarYRail,"borderTopWidth"))+r.toInt(l.css(d.scrollbarYRail,"borderBottomWidth")),l.css(d.scrollbarYRail,"display","block"),d.railYMarginHeight=r.toInt(l.css(d.scrollbarYRail,"marginTop"))+r.toInt(l.css(d.scrollbarYRail,"marginBottom")),l.css(d.scrollbarYRail,"display",""),d.railYHeight=null,d.railYRatio=null}function o(e){return e.getAttribute("data-ps-id")}var r=e("../lib/helper"),a=e("../lib/class"),s=e("./default-setting"),l=e("../lib/dom"),c=e("../lib/event-manager"),d=e("../lib/guid"),u={};i.add=function(e){var t=d();return function(e,t){e.setAttribute("data-ps-id",t)}(e,t),u[t]=new n(e),u[t]},i.remove=function(e){delete u[o(e)],function(e){e.removeAttribute("data-ps-id")}(e)},i.get=function(e){return u[o(e)]}},{"../lib/class":2,"../lib/dom":3,"../lib/event-manager":4,"../lib/guid":5,"../lib/helper":6,"./default-setting":8}],19:[function(e,t,i){"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}var o=e("../lib/helper"),r=e("../lib/class"),a=e("../lib/dom"),s=e("./instances"),l=e("./update-scroll");t.exports=function(e){var t,i=s.get(e);i.containerWidth=e.clientWidth,i.containerHeight=e.clientHeight,i.contentWidth=e.scrollWidth,i.contentHeight=e.scrollHeight,e.contains(i.scrollbarXRail)||((t=a.queryChildren(e,".ps-scrollbar-x-rail")).length>0&&t.forEach((function(e){a.remove(e)})),a.appendTo(i.scrollbarXRail,e)),e.contains(i.scrollbarYRail)||((t=a.queryChildren(e,".ps-scrollbar-y-rail")).length>0&&t.forEach((function(e){a.remove(e)})),a.appendTo(i.scrollbarYRail,e)),!i.settings.suppressScrollX&&i.containerWidth+i.settings.scrollXMarginOffset<i.contentWidth?(i.scrollbarXActive=!0,i.railXWidth=i.containerWidth-i.railXMarginWidth,i.railXRatio=i.containerWidth/i.railXWidth,i.scrollbarXWidth=n(i,o.toInt(i.railXWidth*i.containerWidth/i.contentWidth)),i.scrollbarXLeft=o.toInt((i.negativeScrollAdjustment+e.scrollLeft)*(i.railXWidth-i.scrollbarXWidth)/(i.contentWidth-i.containerWidth))):i.scrollbarXActive=!1,!i.settings.suppressScrollY&&i.containerHeight+i.settings.scrollYMarginOffset<i.contentHeight?(i.scrollbarYActive=!0,i.railYHeight=i.containerHeight-i.railYMarginHeight,i.railYRatio=i.containerHeight/i.railYHeight,i.scrollbarYHeight=n(i,o.toInt(i.railYHeight*i.containerHeight/i.contentHeight)),i.scrollbarYTop=o.toInt(e.scrollTop*(i.railYHeight-i.scrollbarYHeight)/(i.contentHeight-i.containerHeight))):i.scrollbarYActive=!1,i.scrollbarXLeft>=i.railXWidth-i.scrollbarXWidth&&(i.scrollbarXLeft=i.railXWidth-i.scrollbarXWidth),i.scrollbarYTop>=i.railYHeight-i.scrollbarYHeight&&(i.scrollbarYTop=i.railYHeight-i.scrollbarYHeight),function(e,t){var i,n={width:t.railXWidth};t.isRtl?n.left=t.negativeScrollAdjustment+e.scrollLeft+t.containerWidth-t.contentWidth:n.left=e.scrollLeft,t.isScrollbarXUsingBottom?n.bottom=t.scrollbarXBottom-e.scrollTop:n.top=t.scrollbarXTop+e.scrollTop,a.css(t.scrollbarXRail,n),i={top:e.scrollTop,height:t.railYHeight},t.isScrollbarYUsingRight?t.isRtl?i.right=t.contentWidth-(t.negativeScrollAdjustment+e.scrollLeft)-t.scrollbarYRight-t.scrollbarYOuterWidth:i.right=t.scrollbarYRight-e.scrollLeft:t.isRtl?i.left=t.negativeScrollAdjustment+e.scrollLeft+2*t.containerWidth-t.contentWidth-t.scrollbarYLeft-t.scrollbarYOuterWidth:i.left=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})}(e,i),i.scrollbarXActive?r.add(e,"ps-active-x"):(r.remove(e,"ps-active-x"),i.scrollbarXWidth=0,i.scrollbarXLeft=0,l(e,"left",0)),i.scrollbarYActive?r.add(e,"ps-active-y"):(r.remove(e,"ps-active-y"),i.scrollbarYHeight=0,i.scrollbarYTop=0,l(e,"top",0))}},{"../lib/class":2,"../lib/dom":3,"../lib/helper":6,"./instances":18,"./update-scroll":20}],20:[function(e,t,i){"use strict";var n,o,r=e("./instances"),a=function(e){var t=document.createEvent("Event");return t.initEvent(e,!0,!0),t};t.exports=function(e,t,i){if(void 0===e)throw"You must provide an element to the update-scroll function";if(void 0===t)throw"You must provide an axis to the update-scroll function";if(void 0===i)throw"You must provide a value to the update-scroll function";"top"===t&&i<=0&&(e.scrollTop=i=0,e.dispatchEvent(a("ps-y-reach-start"))),"left"===t&&i<=0&&(e.scrollLeft=i=0,e.dispatchEvent(a("ps-x-reach-start")));var s=r.get(e);"top"===t&&i>=s.contentHeight-s.containerHeight&&((i=s.contentHeight-s.containerHeight)-e.scrollTop<=1?i=e.scrollTop:e.scrollTop=i,e.dispatchEvent(a("ps-y-reach-end"))),"left"===t&&i>=s.contentWidth-s.containerWidth&&((i=s.contentWidth-s.containerWidth)-e.scrollLeft<=1?i=e.scrollLeft:e.scrollLeft=i,e.dispatchEvent(a("ps-x-reach-end"))),n||(n=e.scrollTop),o||(o=e.scrollLeft),"top"===t&&i<n&&e.dispatchEvent(a("ps-scroll-up")),"top"===t&&i>n&&e.dispatchEvent(a("ps-scroll-down")),"left"===t&&i<o&&e.dispatchEvent(a("ps-scroll-left")),"left"===t&&i>o&&e.dispatchEvent(a("ps-scroll-right")),"top"===t&&(e.scrollTop=n=i,e.dispatchEvent(a("ps-scroll-y"))),"left"===t&&(e.scrollLeft=o=i,e.dispatchEvent(a("ps-scroll-x")))}},{"./instances":18}],21:[function(e,t,i){"use strict";var n=e("../lib/helper"),o=e("../lib/dom"),r=e("./instances"),a=e("./update-geometry"),s=e("./update-scroll");t.exports=function(e){var t=r.get(e);t&&(t.negativeScrollAdjustment=t.isNegativeScroll?e.scrollWidth-e.clientWidth:0,o.css(t.scrollbarXRail,"display","block"),o.css(t.scrollbarYRail,"display","block"),t.railXMarginWidth=n.toInt(o.css(t.scrollbarXRail,"marginLeft"))+n.toInt(o.css(t.scrollbarXRail,"marginRight")),t.railYMarginHeight=n.toInt(o.css(t.scrollbarYRail,"marginTop"))+n.toInt(o.css(t.scrollbarYRail,"marginBottom")),o.css(t.scrollbarXRail,"display","none"),o.css(t.scrollbarYRail,"display","none"),a(e),s(e,"top",e.scrollTop),s(e,"left",e.scrollLeft),o.css(t.scrollbarXRail,"display",""),o.css(t.scrollbarYRail,"display",""))}},{"../lib/dom":3,"../lib/helper":6,"./instances":18,"./update-geometry":19,"./update-scroll":20}]},{},[1]),define("WoltLabSuite/Core/Bootstrap",["require","exports","tslib","./Core","./Date/Picker","./Date/Time/Relative","./Devtools","./Dom/Change/Listener","./Environment","./Event/Handler","./Language","./StringUtil","./Ui/Dialog","./Ui/Dropdown/Simple","./Ui/Mobile","./Ui/Page/Action","./Ui/TabMenu","./Ui/Tooltip","./Ui/Page/JumpTo","./Ui/Password","./Ui/Empty","./Ui/Object/Action","./Ui/Object/Action/Delete","./Ui/Object/Action/Toogle","perfect-scrollbar"],(function(e,t,i,n,o,r,a,s,l,c,d,u,h,p,m,f,g,b,_,v,w,y,E,S){"use strict";function L(){document.querySelectorAll("nav:not([aria-label]):not([aria-labelledby]):not([role])").forEach((e=>{e.setAttribute("role","presentation")})),document.querySelectorAll("article:not([aria-label]):not([aria-labelledby]):not([role])").forEach((e=>{e.setAttribute("role","presentation")}))}Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,n=i.__importStar(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importDefault(a),s=i.__importDefault(s),l=i.__importStar(l),c=i.__importStar(c),d=i.__importStar(d),u=i.__importStar(u),h=i.__importDefault(h),p=i.__importDefault(p),m=i.__importStar(m),f=i.__importStar(f),g=i.__importStar(g),b=i.__importStar(b),_=i.__importStar(_),v=i.__importStar(v),w=i.__importStar(w),y=i.__importStar(y),E=i.__importStar(E),S=i.__importStar(S),null==window.WCF&&(window.WCF={}),null==window.WCF.Language&&(window.WCF.Language={}),window.WCF.Language.get=d.get,window.WCF.Language.add=d.add,window.WCF.Language.addObject=d.addObject,window.__wcf_bc_eventHandler=c,t.setup=function(e){e=n.extend({enableMobileMenu:!0},e),u.setupI18n({decimalPoint:d.get("wcf.global.decimalPoint"),thousandsSeparator:d.get("wcf.global.thousandsSeparator")}),window.ENABLE_DEVELOPER_TOOLS&&a.default._internal_.enable(),l.setup(),r.setup(),o.default.init(),p.default.setup(),m.setup(e.enableMobileMenu),g.setup(),h.default.setup(),b.setup(),v.setup(),w.setup(),y.setup(),E.setup(),S.setup(),document.querySelectorAll("form[method=get]").forEach((e=>{e.method="post"})),"microsoft"===l.browser()&&(window.onbeforeunload=()=>{});let t=0;t=window.setInterval((()=>{if("function"==typeof window.jQuery){window.clearInterval(t),window.jQuery((()=>{f.setup()}));const e=window.jQuery;e.browser=e.browser||{},e.browser.mobile="desktop"!==l.platform(),window.jQuery.holdReady(!1)}}),20),document.querySelectorAll(".pagination").forEach((e=>_.init(e))),L(),s.default.add("WoltLabSuite/Core/Bootstrap",(()=>L))}})),define("WoltLabSuite/Core/Controller/Style/Changer",["require","exports","tslib","../../Ajax","../../Language","../../Ui/Dialog"],(function(e,t,i,n,o,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.showDialog=t.setup=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r);class a{constructor(){document.querySelectorAll(".jsButtonStyleChanger").forEach((e=>{e.addEventListener("click",(e=>this.showDialog(e)))}))}showDialog(e){e.preventDefault(),r.default.open(this)}_dialogSetup(){return{id:"styleChanger",options:{disableContentPadding:!0,title:o.get("wcf.style.changeStyle")},source:{data:{actionName:"getStyleChooser",className:"wcf\\data\\style\\StyleAction"},after:e=>{e.querySelectorAll(".styleList > li").forEach((e=>{e.classList.add("pointer"),e.addEventListener("click",(e=>this.click(e)))}))}}}}click(e){e.preventDefault();const t=e.currentTarget;n.apiOnce({data:{actionName:"changeStyle",className:"wcf\\data\\style\\StyleAction",objectIDs:[t.dataset.styleId]},success:function(){window.location.reload()}})}}let s;t.setup=function(){new a},t.showDialog=function(e){s.showDialog(e)}})),define("WoltLabSuite/Core/Controller/Popover",["require","exports","tslib","../Ajax","../Dom/Change/Listener","../Dom/Util","../Environment","../Ui/Alignment"],(function(e,t,i,n,o,r,a,s){"use strict";function l(){return d||(d=new c),d}Object.defineProperty(t,"__esModule",{value:!0}),t.ajaxApi=t.setContent=t.init=void 0,n=i.__importStar(n),o=i.__importDefault(o),r=i.__importDefault(r),a=i.__importStar(a),s=i.__importStar(s);class c{constructor(){this.activeId="",this.cache=new Map,this.elements=new Map,this.handlers=new Map,this.hoverId="",this.suspended=!1,this.timerEnter=void 0,this.timerLeave=void 0,this.popover=document.createElement("div"),this.popover.className="popover forceHide",this.popoverContent=document.createElement("div"),this.popoverContent.className="popoverContent",this.popover.appendChild(this.popoverContent);const e=document.createElement("span");e.className="elementPointer",e.appendChild(document.createElement("span")),this.popover.appendChild(e),document.body.appendChild(this.popover),this.popover.addEventListener("mouseenter",(()=>this.popoverMouseEnter())),this.popover.addEventListener("mouseleave",(()=>this.mouseLeave())),this.popover.addEventListener("animationend",(()=>this.clearContent())),window.addEventListener("beforeunload",(()=>{this.suspended=!0,this.timerEnter&&(window.clearTimeout(this.timerEnter),this.timerEnter=void 0),this.hidePopover()})),o.default.add("WoltLabSuite/Core/Controller/Popover",(e=>this.initHandler(e)))}init(e){if("desktop"!==a.platform())return;if(e.attributeName=e.attributeName||"data-object-id",e.legacy=!0===e.legacy,this.handlers.has(e.identifier))return;const t=e.legacy?e.className:`.${e.className}`;this.handlers.set(e.identifier,{attributeName:e.attributeName,dboAction:e.dboAction,legacy:e.legacy,loadCallback:e.loadCallback,selector:t}),this.initHandler(e.identifier)}initHandler(e){"string"==typeof e&&e.length?this.initElements(this.handlers.get(e),e):this.handlers.forEach(((e,t)=>{this.initElements(e,t)}))}initElements(e,t){document.querySelectorAll(e.selector).forEach((i=>{const n=r.default.identify(i);if(this.cache.has(n))return;if(null!==i.closest(".popover"))return void this.cache.set(n,{content:null,state:0});const o=e.legacy?n:~~i.getAttribute(e.attributeName);if(0===o)return;i.addEventListener("mouseenter",(e=>this.mouseEnter(e))),i.addEventListener("mouseleave",(()=>this.mouseLeave())),i instanceof HTMLAnchorElement&&i.href&&i.addEventListener("click",(()=>this.hidePopover()));const a=`${t}-${o}`;i.dataset.cacheId=a,this.elements.set(n,{element:i,identifier:t,objectId:o.toString()}),this.cache.has(a)||this.cache.set(a,{content:null,state:0})}))}setContent(e,t,i){const n=`${e}-${t}`,o=this.cache.get(n);if(void 0===o)throw new Error(`Unable to find element for object id '${t}' (identifier: '${e}').`);let a=r.default.createFragmentFromHtml(i);if(a.childElementCount||(a=r.default.createFragmentFromHtml("<p>"+i+"</p>")),o.content=a,o.state=2,this.activeId){this.elements.get(this.activeId).element.dataset.cacheId===n&&this.show()}}mouseEnter(e){if(this.suspended)return;this.timerEnter&&(window.clearTimeout(this.timerEnter),this.timerEnter=void 0);const t=r.default.identify(e.currentTarget);this.activeId===t&&this.timerLeave&&(window.clearTimeout(this.timerLeave),this.timerLeave=void 0),this.hoverId=t,this.timerEnter=window.setTimeout((()=>{this.timerEnter=void 0,this.hoverId===t&&this.show()}),800)}mouseLeave(){this.hoverId="",this.timerLeave||(this.timerLeave=window.setTimeout((()=>this.hidePopover()),500))}popoverMouseEnter(){this.timerLeave&&(window.clearTimeout(this.timerLeave),this.timerLeave=void 0)}show(){this.timerLeave&&(window.clearTimeout(this.timerLeave),this.timerLeave=void 0);let e=!1;this.popover.classList.contains("active")?this.activeId!==this.hoverId&&(this.hidePopover(),e=!0):this.popoverContent.childElementCount&&(e=!0),e&&(this.popover.classList.add("forceHide"),this.popover.offsetTop,this.clearContent(),this.popover.classList.remove("forceHide")),this.activeId=this.hoverId;const t=this.elements.get(this.activeId);if(void 0===t)return;const i=t.element.dataset.cacheId,n=this.cache.get(i);switch(n.state){case 2:this.popoverContent.appendChild(n.content),this.rebuild();break;case 0:{n.state=1;const e=this.handlers.get(t.identifier);if(e.loadCallback)e.loadCallback(t.objectId,this,t.element);else if(e.dboAction){const i=e=>(this.setContent(t.identifier,t.objectId,e.returnValues.template),!0);this.ajaxApi({actionName:"getPopover",className:e.dboAction,interfaceName:"wcf\\data\\IPopoverAction",objectIDs:[t.objectId]},i,i)}break}}}hidePopover(){this.timerLeave&&(window.clearTimeout(this.timerLeave),this.timerLeave=void 0),this.popover.classList.remove("active")}clearContent(){if(this.activeId&&this.popoverContent.childElementCount&&!this.popover.classList.contains("active")){const e=this.elements.get(this.activeId).element.dataset.cacheId,t=this.cache.get(e);for(;this.popoverContent.childNodes.length;)t.content.appendChild(this.popoverContent.childNodes[0])}}rebuild(){this.popover.classList.contains("active")||(this.popover.classList.remove("forceHide"),this.popover.classList.add("active"),s.set(this.popover,this.elements.get(this.activeId).element,{pointer:!0,vertical:"top"}))}_ajaxSuccess(){}_ajaxSetup(){return{silent:!0}}ajaxApi(e,t,i){if("function"!=typeof t)throw new TypeError("Expected a valid callback for parameter 'success'.");n.api(this,e,t,i)}}let d;t.init=function(e){l().init(e)},t.setContent=function(e,t,i){l().setContent(e,t,i)},t.ajaxApi=function(e,t,i){l().ajaxApi(e,t,i)}})),define("WoltLabSuite/Core/Ui/User/Ignore",["require","exports","tslib","../../Dom/Change/Listener"],(function(e,t,i,n){"use strict";function o(){for(let e=0,t=a.length;e<t;e++){const t=a[e];s.has(t)||(t.addEventListener("click",r,{once:!0}),s.add(t))}}function r(e){e.preventDefault();const t=e.currentTarget;t.classList.remove("ignoredUserMessage"),s.delete(t),window.getSelection().removeAllRanges()}Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,n=i.__importDefault(n);const a=document.getElementsByClassName("ignoredUserMessage"),s=new Set;t.init=function(){o(),n.default.add("WoltLabSuite/Core/Ui/User/Ignore",o)}})),define("WoltLabSuite/Core/Ui/Page/Header/Menu",["require","exports","tslib","../../../Environment","../../../Language","../../Screen"],(function(e,t,i,n,o,r){"use strict";function a(){b=!0,"safari"===n.browser()||u(),window.setTimeout(u,1e3)}function s(){b=!1}function l(e){if(e.preventDefault(),w.length){const e=w.slice(0,3).pop();d(g.clientWidth-(e.offsetLeft+e.clientWidth)),g.lastElementChild===e&&p.classList.remove("active"),m.classList.add("active")}}function c(e){if(e.preventDefault(),v.length){const e=v.slice(-3)[0];d(-1*e.offsetLeft),g.firstElementChild===e&&m.classList.remove("active"),p.classList.add("active")}}function d(e){_=Math.min(_+e,0),f.style.setProperty("margin-left",`${_}px`,"")}function u(){if(!b)return;v=[],w=[];const e=g.clientWidth;(g.scrollWidth>e||_<0)&&Array.from(g.children).forEach((t=>{const i=t.offsetLeft;i<0?v.push(t):i+t.clientWidth>e&&w.push(t)})),m.classList[v.length?"add":"remove"]("active"),p.classList[w.length?"add":"remove"]("active")}function h(){!function(){const e=g.parentElement;p=document.createElement("a"),p.className="mainMenuShowNext",p.href="#",p.innerHTML='<span class="icon icon32 fa-angle-right"></span>',p.setAttribute("aria-hidden","true"),p.addEventListener("click",l),e.appendChild(p),m=document.createElement("a"),m.className="mainMenuShowPrevious",m.href="#",m.innerHTML='<span class="icon icon32 fa-angle-left"></span>',m.setAttribute("aria-hidden","true"),m.addEventListener("click",c),e.insertBefore(m,e.firstChild),f.addEventListener("transitionend",u),window.addEventListener("resize",(()=>{f.style.setProperty("margin-left","0px",""),_=0,u()})),a()}(),g.querySelectorAll(".boxMenuHasChildren").forEach((e=>{const t=e.querySelector(".boxMenuLink");t.setAttribute("aria-haspopup","true"),t.setAttribute("aria-expanded","false");const i=document.createElement("button");i.className="visuallyHidden",i.tabIndex=0,i.setAttribute("role","button"),i.setAttribute("aria-label",o.get("wcf.global.button.showMenu")),e.insertBefore(i,t.nextSibling);let n=!1;i.addEventListener("click",(()=>{n=!n,t.setAttribute("aria-expanded",n?"true":"false"),i.setAttribute("aria-label",o.get(n?"wcf.global.button.hideMenu":"wcf.global.button.showMenu"))}))}))}Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r);let p,m,f,g,b=!1,_=0,v=[],w=[];t.init=function(){const e=document.querySelector(".mainMenu .boxMenu"),t=e&&e.childElementCount?e.children[0]:null;if(null===t)throw new Error("Unable to find the main menu.");g=e,f=t,r.on("screen-lg",{match:a,unmatch:s,setup:h})}})),define("WoltLabSuite/Core/User",["require","exports"],(function(e,t){"use strict";class i{constructor(e,t,i){this.userId=e,this.username=t,this.link=i}}let n;return{getLink:()=>n.link,init(e,t,o){if(n)throw new Error("User has already been initialized.");n=new i(e,t,o)},get userId(){return n.userId},get username(){return n.username}}})),define("WoltLabSuite/Core/Ui/Message/UserConsent",["require","exports","tslib","../../Ajax","../../Core","../../Dom/Change/Listener","../../Dom/Util","../../User"],(function(e,t,i,n,o,r,a,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importDefault(a),s=i.__importDefault(s);class l{constructor(){this.enableAll=!1,this.knownButtons=new WeakSet,"all"===window.sessionStorage.getItem(`${o.getStoragePrefix()}user-consent`)&&(this.enableAll=!0),this.registerEventListeners(),r.default.add("WoltLabSuite/Core/Ui/Message/UserConsent",(()=>this.registerEventListeners()))}registerEventListeners(){this.enableAll?this.enableAllExternalMedia():document.querySelectorAll(".jsButtonMessageUserConsentEnable").forEach((e=>{this.knownButtons.has(e)||(this.knownButtons.add(e),e.addEventListener("click",(e=>this.click(e))))}))}click(e){e.preventDefault(),this.enableAll=!0,this.enableAllExternalMedia(),s.default.userId?n.apiOnce({data:{actionName:"saveUserConsent",className:"wcf\\data\\user\\UserAction"},silent:!0}):window.sessionStorage.setItem(`${o.getStoragePrefix()}user-consent`,"all")}enableExternalMedia(e){const t=atob(e.dataset.payload);a.default.insertHtml(t,e,"before"),e.remove()}enableAllExternalMedia(){document.querySelectorAll(".messageUserConsent").forEach((e=>this.enableExternalMedia(e)))}}let c;t.init=function(){c||(c=new l)}})),define("WoltLabSuite/Core/Clipboard",["require","exports"],(function(e,t){"use strict";async function i(e){if(navigator.clipboard)return navigator.clipboard.writeText(e);throw new Error("navigator.clipboard is not supported.")}Object.defineProperty(t,"__esModule",{value:!0}),t.copyElementTextToClipboard=t.copyTextToClipboard=void 0,t.copyTextToClipboard=i,t.copyElementTextToClipboard=async function(e){return i(e.textContent.replace(/\u200B/g,"").replace(/\u00A0/g," "))}})),define("WoltLabSuite/Core/Ui/Notification",["require","exports","tslib","../Language"],(function(e,t,i,n){"use strict";function o(){clearTimeout(s),a.classList.remove("active"),null!==c&&c(),l=!1}Object.defineProperty(t,"__esModule",{value:!0}),t.show=void 0,n=i.__importStar(n);let r,a,s,l=!1,c=null,d=!1;t.show=function(e,t,i){l||(l=!0,d||(d=!0,a=document.createElement("div"),a.id="systemNotification",r=document.createElement("p"),r.addEventListener("click",o),a.appendChild(r),document.body.appendChild(a)),c="function"==typeof t?t:null,r.className=i||"success",r.textContent=n.get(e||"wcf.global.success"),a.classList.add("active"),s=setTimeout(o,2e3))}})),define("WoltLabSuite/Core/Ui/Message/Share",["require","exports","tslib","../../Event/Handler","../../StringUtil"],(function(e,t,i,n,o){"use strict";function r(e,t,i,n){n||(n=s),window.open(t.replace("{pageURL}",n).replace("{text}",a+(i?`%20${n}`:"")),e,"height=600,width=600")}Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,n=i.__importStar(n),o=i.__importStar(o);let a="",s="";t.init=function(){const e=document.querySelector('meta[property="og:title"]');null!==e&&(a=encodeURIComponent(e.content));const t=document.querySelector('meta[property="og:url"]');null!==t&&(s=encodeURIComponent(t.content)),document.querySelectorAll(".jsMessageShareButtons").forEach((e=>{e.classList.remove("jsMessageShareButtons");let t=encodeURIComponent(o.unescapeHTML(e.dataset.url||""));t||(t=s);const i={facebook:{link:e.querySelector(".jsShareFacebook"),share(e){e.preventDefault(),r("facebook","https://www.facebook.com/sharer.php?u={pageURL}&t={text}",!0,t)}},reddit:{link:e.querySelector(".jsShareReddit"),share(e){e.preventDefault(),r("reddit","https://ssl.reddit.com/submit?url={pageURL}",!1,t)}},twitter:{link:e.querySelector(".jsShareTwitter"),share(e){e.preventDefault(),r("twitter","https://twitter.com/share?url={pageURL}&text={text}",!1,t)}},linkedIn:{link:e.querySelector(".jsShareLinkedIn"),share(e){e.preventDefault(),r("linkedIn","https://www.linkedin.com/cws/share?url={pageURL}",!1,t)}},pinterest:{link:e.querySelector(".jsSharePinterest"),share(e){e.preventDefault(),r("pinterest","https://www.pinterest.com/pin/create/link/?url={pageURL}&description={text}",!1,t)}},xing:{link:e.querySelector(".jsShareXing"),share(e){e.preventDefault(),r("xing","https://www.xing.com/social_plugins/share?url={pageURL}",!1,t)}},whatsApp:{link:e.querySelector(".jsShareWhatsApp"),share(e){e.preventDefault(),window.location.href="https://api.whatsapp.com/send?text="+a+"%20"+s}}};n.fire("com.woltlab.wcf.message.share","shareProvider",{container:e,providers:i,pageDescription:a,pageUrl:s}),Object.values(i).forEach((e=>{if(null!==e.link){e.link.addEventListener("click",(t=>e.share(t)))}}))}))}})),define("WoltLabSuite/Core/Ui/Message/Share/Providers",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getEnabledProviders=t.getProviders=t.enableShareProviders=t.addShareProvider=void 0;const i=new Set,n=new Map([["Facebook",{cssClass:"jsShareFacebook",iconClassName:"fa-facebook-official",label:"wcf.message.share.facebook"}],["Twitter",{cssClass:"jsShareTwitter",iconClassName:"fa-twitter",label:"wcf.message.share.twitter"}],["Reddit",{cssClass:"jsShareReddit",iconClassName:"fa-reddit",label:"wcf.message.share.reddit"}],["WhatsApp",{cssClass:"jsShareWhatsApp",iconClassName:"fa-whatsapp",label:"wcf.message.share.whatsApp"}],["LinkedIn",{cssClass:"jsShareLinkedIn",iconClassName:"fa-linkedin",label:"wcf.message.share.linkedIn"}],["Pinterest",{cssClass:"jsSharePinterest",iconClassName:"fa-pinterest-p",label:"wcf.message.share.pinterest"}],["XING",{cssClass:"jsShareXing",iconClassName:"fa-xing",label:"wcf.message.share.xing"}]]);t.addShareProvider=function(e,t){if(n.has(e))throw new Error(`A share provider with name "${e}" already exists.`);n.set(e,t)},t.enableShareProviders=function(e){e.forEach((e=>{n.has(e)&&i.add(n.get(e))}))},t.getProviders=function(){return n},t.getEnabledProviders=function(){return i}})),define("WoltLabSuite/Core/Ui/Message/Share/Dialog",["require","exports","tslib","../../Dialog","../../../Dom/Util","../../../Dom/Traverse","../../../Language","../../../Clipboard","../../Notification","../../../StringUtil","../../../Dom/Change/Listener","../Share","./Providers"],(function(e,t,i,n,o,r,a,s,l,c,d,u,h){"use strict";function p(e,t){return`\n <dl>\n <dt>${a.get(e)}</dt>\n <dd>\n <div class="inputAddon">\n <input type="text" class="long" readonly value="${c.escapeHTML(t)}">\n <a href="#" class="inputSuffix button jsTooltip shareDialogCopyButton" title="${a.get("wcf.message.share.copy")}"><span class="icon icon16 fa-files-o pointer"></span></a>\n </div>\n </dd>\n </dl>\n `}function m(e){e.preventDefault();const t=e.currentTarget,i=`shareContentDialog_${o.default.identify(t)}`;if(n.default.getDialog(i))n.default.openStatic(i,null);else{const e=function(){const e=Array.from(h.getEnabledProviders()).map((e=>{const t=a.get(e.label);return`\n <li>\n <a href="#" role="button" class="button ${e.cssClass}" title="${t}" aria-label="${t}">\n <span class="icon icon24 ${e.iconClassName}"></span>\n <span>${t}</span>\n </a>\n </li>\n `})).join("\n");return e?`<ul class="inlineList">${e}</ul>`:""}();let o="";e&&(o=`\n <dl class="messageShareButtons jsMessageShareButtons" data-url="${c.escapeHTML(t.href)}">\n <dt>${a.get("wcf.message.share.socialMedia")}</dt>\n <dd>${e}</dd>\n </dl>\n `);let d="";b&&(d=`\n <dl>\n <dt></dt>\n <dd>\n <button class="shareDialogNativeButton" data-url="${c.escapeHTML(t.href)}" data-title="${c.escapeHTML(t.dataset.linkTitle||"")}">${a.get("wcf.message.share.nativeShare")}</button>\n </dd>\n </dl>\n `);const m=`\n <div class="shareContentDialog">\n ${function(e){const t=e.href;let i=p("wcf.message.share.permalink",t);return e.dataset.bbcode&&(i+=p("wcf.message.share.permalink.bbcode",e.dataset.bbcode)),t&&e.dataset.linkTitle&&(e.dataset.bbcode||(i+=p("wcf.message.share.permalink.bbcode",`[url='${t}']${e.dataset.linkTitle}[/url]`)),i+=p("wcf.message.share.permalink.html",`<a href="${c.escapeHTML(t)}">${c.escapeHTML(e.dataset.linkTitle)}</a>`)),i}(t)}\n ${o}\n ${d}\n </div>\n `,f=n.default.openStatic(i,m,{title:a.get("wcf.message.share")});f.content.style.maxWidth="600px",f.content.querySelectorAll(".shareDialogCopyButton").forEach((e=>e.addEventListener("click",(e=>async function(e){e.preventDefault();const t=e.currentTarget,i=r.prevBySel(t,'input[type="text"]');await s.copyTextToClipboard(i.value),l.show(a.get("wcf.message.share.copy.success"))}(e))))),b&&f.content.querySelector(".shareDialogNativeButton").addEventListener("click",(e=>async function(e){e.preventDefault();const t=e.currentTarget,i={url:t.dataset.url};t.dataset.title&&(i.title=t.dataset.title),await window.navigator.share(i)}(e))),e&&u.init()}}function f(){document.querySelectorAll("a.shareButton").forEach((e=>{g.has(e)||(e.addEventListener("click",(e=>m(e))),g.add(e))}))}Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,n=i.__importDefault(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importStar(l),c=i.__importStar(c),d=i.__importDefault(d),u=i.__importStar(u),h=i.__importStar(h);const g=new WeakSet,b=void 0!==window.navigator.share;t.setup=function(){f(),d.default.add("WoltLabSuite/Core/Ui/Message/Share/Dialog",(()=>f()))}})),define("WoltLabSuite/Core/Ui/Feed/Dialog",["require","exports","tslib","../Dialog","../../StringUtil","../../Language","../../Clipboard","../Notification"],(function(e,t,i,n,o,r,a,s){"use strict";function l(e){e.preventDefault();const t=e.currentTarget,i=t.href,l=i.replace(/(\\?|&)at=[^&]*&?/,"$1").replace(/(\?|&)$/,"");n.default.openStatic("feedLinkDialog",`\n<p class="info">${r.get("wcf.global.rss.accessToken.info")}</p>\n<dl>\n <dt>${r.get("wcf.global.rss.withoutAccessToken")}</dt>\n <dd>\n <div class="inputAddon">\n <input type="text" class="long" readonly value="${o.escapeHTML(l)}">\n <a href="#" class="inputSuffix button jsTooltip feedLinkDialogCopyButton" title="${r.get("wcf.global.rss.copy")}"><span class="icon icon16 fa-files-o pointer"></span></a>\n </div>\n </dd>\n</dl>\n<dl>\n <dt>${r.get("wcf.global.rss.withAccessToken")}</dt>\n <dd>\n <div class="inputAddon">\n <input type="text" class="long" readonly value="${o.escapeHTML(i)}">\n <a href="#" class="inputSuffix button jsTooltip feedLinkDialogCopyButton" title="${r.get("wcf.global.rss.copy")}"><span class="icon icon16 fa-files-o pointer"></span></a>\n </div>\n </dd>\n</dl>\n`,{onSetup(e){e.querySelectorAll(".feedLinkDialogCopyButton").forEach((e=>e.addEventListener("click",(e=>async function(e){e.preventDefault();const t=e.currentTarget.parentNode.querySelector('input[type="text"]');await a.copyTextToClipboard(t.value),s.show(r.get("wcf.global.rss.copy.success"))}(e)))))},title:t.title||r.get("wcf.global.button.rss")})}Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,n=i.__importDefault(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s),t.setup=function(){document.querySelectorAll("a.rssFeed").forEach((e=>{e.addEventListener("click",(e=>l(e)))}))}})),define("WoltLabSuite/Core/BootstrapFrontend",["require","exports","tslib","./BackgroundQueue","./Bootstrap","./Controller/Style/Changer","./Controller/Popover","./Ui/User/Ignore","./Ui/Page/Header/Menu","./Ui/Message/UserConsent","./Ajax","./Ui/Message/Share/Dialog","./Ui/Message/Share/Providers","./Ui/Feed/Dialog","./User"],(function(e,t,i,n,o,r,a,s,l,c,d,u,h,p,m){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importStar(l),c=i.__importStar(c),d=i.__importStar(d),u=i.__importStar(u),h=i.__importStar(h),p=i.__importStar(p),m=i.__importDefault(m),t.setup=function(e){e.backgroundQueue.url=window.WSC_API_URL+e.backgroundQueue.url.substr(window.WCF_PATH.length),o.setup({enableMobileMenu:!0}),l.init(),e.styleChanger&&r.setup(),e.enableUserPopover&&(a.init({className:"userLink",dboAction:"wcf\\data\\user\\UserProfileAction",identifier:"com.woltlab.wcf.user"}),a.init({attributeName:"data-user-id",className:"userLink",dboAction:"wcf\\data\\user\\UserProfileAction",identifier:"com.woltlab.wcf.user.deprecated"})),e.executeCronjobs&&d.apiOnce({data:{className:"wcf\\data\\cronjob\\CronjobAction",actionName:"executeCronjobs"},failure:()=>!1,silent:!0}),n.setUrl(e.backgroundQueue.url),(Math.random()<.1||e.backgroundQueue.force)&&n.invoke(),globalThis.COMPILER_TARGET_DEFAULT&&s.init(),c.init(),h.enableShareProviders(e.shareButtonProviders||[]),u.setup(),m.default.userId&&p.setup()}})),define("WoltLabSuite/Core/ColorUtil",["require","exports"],(function(e,t){"use strict";function i(e,t,i){const n={r:0,g:0,b:0},o=Math.floor(e/60),r=e/60-o,a=(i/=100)*(1-(t/=100)),s=i*(1-t*r),l=i*(1-t*(1-r));if(0==t)n.r=n.g=n.b=i;else switch(o){case 1:n.r=s,n.g=i,n.b=a;break;case 2:n.r=a,n.g=i,n.b=l;break;case 3:n.r=a,n.g=s,n.b=i;break;case 4:n.r=l,n.g=a,n.b=i;break;case 5:n.r=i,n.g=a,n.b=s;break;case 0:case 6:n.r=i,n.g=l,n.b=a}return{r:Math.round(255*n.r),g:Math.round(255*n.g),b:Math.round(255*n.b)}}function n(e,t,i){let n,o;e/=255,t/=255,i/=255;const r=Math.max(Math.max(e,t),i),a=Math.min(Math.min(e,t),i),s=r-a;if(n=0,r!==a){switch(r){case e:n=(t-i)/s*60;break;case t:n=60*(2+(i-e)/s);break;case i:n=60*(4+(e-t)/s)}n<0&&(n+=360)}return o=0===r?0:s/r,{h:Math.round(n),s:Math.round(100*o),v:Math.round(100*r)}}function o(e){if(/^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/.test(e)){const t=e.split("");return"#"===t[0]&&t.shift(),3===t.length?{r:parseInt(t[0]+""+t[0],16),g:parseInt(t[1]+""+t[1],16),b:parseInt(t[2]+""+t[2],16)}:{r:parseInt(t[0]+""+t[1],16),g:parseInt(t[2]+""+t[3],16),b:parseInt(t[4]+""+t[5],16)}}return Number.NaN}function r(e,t,i){const n="0123456789ABCDEF";return void 0===t&&/^rgba?\((\d+), ?(\d+), ?(\d+)(?:, ?[0-9.]+)?\)$/.exec(e.toString())&&(e=+RegExp.$1,t=+RegExp.$2,i=+RegExp.$3),n.charAt((e-e%16)/16)+""+n.charAt(e%16)+n.charAt((t-t%16)/16)+n.charAt(t%16)+n.charAt((i-i%16)/16)+n.charAt(i%16)}Object.defineProperty(t,"__esModule",{value:!0}),t.rgbToHex=t.hexToRgb=t.rgbToHsv=t.hsvToRgb=void 0,t.hsvToRgb=i,t.rgbToHsv=n,t.hexToRgb=o,t.rgbToHex=r,window.__wcf_bc_colorUtil={hexToRgb:o,hsvToRgb:i,rgbToHex:r,rgbToHsv:n}})),define("WoltLabSuite/Core/Dictionary",["require","exports","tslib","./Core"],(function(e,t,i,n){"use strict";n=i.__importStar(n);class o{constructor(){this._dictionary=new Map}set(e,t){this._dictionary.set(e.toString(),t)}delete(e){return this._dictionary.delete(e.toString())}has(e){return this._dictionary.has(e.toString())}get(e){return this._dictionary.get(e.toString())}forEach(e){if("function"!=typeof e)throw new TypeError("forEach() expects a callback as first parameter.");this._dictionary.forEach(e)}merge(...e){for(let t=0,i=e.length;t<i;t++){e[t].forEach(((e,t)=>this.set(t,e)))}}toObject(){const e={};return this._dictionary.forEach(((t,i)=>e[i]=t)),e}static fromObject(e){const t=new o;return Object.keys(e).forEach((i=>{t.set(i,e[i])})),t}get size(){return this._dictionary.size}}return n.enableLegacyInheritance(o),o})),define("WoltLabSuite/Core/FileUtil",["require","exports","tslib","./StringUtil"],(function(e,t,i,n){"use strict";function o(e){return a.has(e)?"."+a.get(e):""}Object.defineProperty(t,"__esModule",{value:!0}),t.blobToFile=t.getExtensionByMimeType=t.getIconNameByFilename=t.formatFilesize=void 0,n=i.__importStar(n);const r=new Map(Object.entries({zip:"archive",rar:"archive",tar:"archive",gz:"archive",mp3:"audio",ogg:"audio",wav:"audio",php:"code",html:"code",htm:"code",tpl:"code",js:"code",xls:"excel",ods:"excel",xlsx:"excel",gif:"image",jpg:"image",jpeg:"image",png:"image",bmp:"image",webp:"image",avi:"video",wmv:"video",mov:"video",mp4:"video",mpg:"video",mpeg:"video",flv:"video",pdf:"pdf",ppt:"powerpoint",pptx:"powerpoint",txt:"text",doc:"word",docx:"word",odt:"word"})),a=new Map(Object.entries({"application/zip":"zip","application/x-zip-compressed":"zip","application/rar":"rar","application/vnd.rar":"rar","application/x-rar-compressed":"rar","application/x-tar":"tar","application/x-gzip":"gz","application/gzip":"gz","audio/mpeg":"mp3","audio/mp3":"mp3","audio/ogg":"ogg","audio/x-wav":"wav","application/x-php":"php","text/html":"html","application/javascript":"js","application/vnd.ms-excel":"xls","application/vnd.oasis.opendocument.spreadsheet":"ods","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":"xlsx","image/gif":"gif","image/jpeg":"jpg","image/png":"png","image/x-ms-bmp":"bmp","image/bmp":"bmp","image/webp":"webp","video/x-msvideo":"avi","video/x-ms-wmv":"wmv","video/quicktime":"mov","video/mp4":"mp4","video/mpeg":"mpg","video/x-flv":"flv","application/pdf":"pdf","application/vnd.ms-powerpoint":"ppt","application/vnd.openxmlformats-officedocument.presentationml.presentation":"pptx","text/plain":"txt","application/msword":"doc","application/vnd.openxmlformats-officedocument.wordprocessingml.document":"docx","application/vnd.oasis.opendocument.text":"odt","public.jpeg":"jpeg","public.png":"png","com.compuserve.gif":"gif","org.webmproject.webp":"webp"}));t.formatFilesize=function(e,t=2){let i="Byte";return e>=1e3&&(e/=1e3,i="kB"),e>=1e3&&(e/=1e3,i="MB"),e>=1e3&&(e/=1e3,i="GB"),e>=1e3&&(e/=1e3,i="TB"),n.formatNumeric(e,-t)+" "+i},t.getIconNameByFilename=function(e){const t=e.lastIndexOf(".");if(-1!==t){const i=e.substr(t+1);if(r.has(i))return r.get(i)}return""},t.getExtensionByMimeType=o,t.blobToFile=function(e,t){const i=o(e.type);return new File([e],t+i,{type:e.type})}})),define("WoltLabSuite/Core/List",["require","exports","tslib","./Core"],(function(e,t,i,n){"use strict";n=i.__importStar(n);class o{constructor(){this._set=new Set}add(e){this._set.add(e)}clear(){this._set.clear()}delete(e){return this._set.delete(e)}forEach(e){this._set.forEach(e)}has(e){return this._set.has(e)}get size(){return this._set.size}}return n.enableLegacyInheritance(o),o})),define("WoltLabSuite/Core/ObjectMap",["require","exports","tslib","./Core"],(function(e,t,i,n){"use strict";n=i.__importStar(n);class o{constructor(){this._map=new WeakMap}set(e,t){if("object"!=typeof e||null===e)throw new TypeError("Only objects can be used as key");if("object"!=typeof t||null===t)throw new TypeError("Only objects can be used as value");this._map.set(e,t)}delete(e){this._map.delete(e)}has(e){return this._map.has(e)}get(e){return this._map.get(e)}}return n.enableLegacyInheritance(o),o})),define("WoltLabSuite/Core/Permission",["require","exports"],(function(e,t){"use strict";function i(e,t){if("boolean"!=typeof t)throw new TypeError("The permission value has to be boolean.");n.set(e,t)}Object.defineProperty(t,"__esModule",{value:!0}),t.get=t.addObject=t.add=void 0;const n=new Map;t.add=i,t.addObject=function(e){Object.keys(e).forEach((t=>i(t,e[t])))},t.get=function(e){return!!n.has(e)&&n.get(e)}})),_self="undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{},Prism=function(e){function t(e,t,i,n){this.type=e,this.content=t,this.alias=i,this.length=0|(n||"").length}function i(e,n,a,s,l,c){var d,h,p,m,f,g,b,_,v,w,y,E,S,L,C,A,I,x,k,D,T,M,j,B,P;for(d in a)if(a.hasOwnProperty(d)&&a[d])for(h=a[d],h=Array.isArray(h)?h:[h],p=0;p<h.length;++p){if(c&&c.cause==d+","+p)return;for(f=(m=h[p]).inside,g=!!m.lookbehind,b=!!m.greedy,_=0,v=m.alias,b&&!m.pattern.global&&(w=m.pattern.toString().match(/[imsuy]*$/)[0],m.pattern=RegExp(m.pattern.source,w+"g")),y=m.pattern||m,E=s.next,S=l;E!==n.tail&&!(c&&S>=c.reach);S+=E.value.length,E=E.next){if(L=E.value,n.length>e.length)return;if(!(L instanceof t)){if(C=1,b&&E!=n.tail.prev){if(y.lastIndex=S,!(A=y.exec(e)))break;for(I=A.index+(g&&A[1]?A[1].length:0),x=A.index+A[0].length,k=S,k+=E.value.length;I>=k;)k+=(E=E.next).value.length;if(S=k-=E.value.length,E.value instanceof t)continue;for(D=E;D!==n.tail&&(k<x||"string"==typeof D.value);D=D.next)C++,k+=D.value.length;C--,L=e.slice(S,k),A.index-=S}else y.lastIndex=0,A=y.exec(L);A&&(g&&(_=A[1]?A[1].length:0),x=(I=A.index+_)+(T=A[0].slice(_)).length,M=L.slice(0,I),j=L.slice(x),B=S+L.length,c&&B>c.reach&&(c.reach=B),P=E.prev,M&&(P=o(n,P,M),S+=M.length),r(n,P,C),E=o(n,P,new t(d,f?u.tokenize(T,f):T,v,T)),j&&o(n,E,j),C>1&&i(e,n,a,E.prev,S,{cause:d+","+p,reach:B}))}}}}function n(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function o(e,t,i){var n=t.next,o={value:i,prev:t,next:n};return t.next=o,n.prev=o,e.length++,o}function r(e,t,i){var n,o=t.next;for(n=0;n<i&&o!==e.tail;n++)o=o.next;t.next=o,o.prev=t,e.length-=n}function a(){u.manual||u.highlightAll()}var s,l,c=/\blang(?:uage)?-([\w-]+)\b/i,d=0,u={manual:e.Prism&&e.Prism.manual,disableWorkerMessageHandler:e.Prism&&e.Prism.disableWorkerMessageHandler,util:{encode:function e(i){return i instanceof t?new t(i.type,e(i.content),i.alias):Array.isArray(i)?i.map(e):i.replace(/&/g,"&").replace(/</g,"<").replace(/\u00a0/g," ")},type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,"__id",{value:++d}),e.__id},clone:function e(t,i){var n,o,r;switch(i=i||{},u.util.type(t)){case"Object":if(o=u.util.objId(t),i[o])return i[o];for(r in n={},i[o]=n,t)t.hasOwnProperty(r)&&(n[r]=e(t[r],i));return n;case"Array":return o=u.util.objId(t),i[o]?i[o]:(n=[],i[o]=n,t.forEach((function(t,o){n[o]=e(t,i)})),n);default:return t}},getLanguage:function(e){for(;e&&!c.test(e.className);)e=e.parentElement;return e?(e.className.match(c)||[,"none"])[1].toLowerCase():"none"},currentScript:function(){var e,t,i;if("undefined"==typeof document)return null;if("currentScript"in document)return document.currentScript;try{throw new Error}catch(n){if(e=(/at [^(\r\n]*\((.*):.+:.+\)$/i.exec(n.stack)||[])[1])for(i in t=document.getElementsByTagName("script"))if(t[i].src==e)return t[i];return null}},isActive:function(e,t,i){for(var n,o="no-"+t;e;){if((n=e.classList).contains(t))return!0;if(n.contains(o))return!1;e=e.parentElement}return!!i}},languages:{extend:function(e,t){var i,n=u.util.clone(u.languages[e]);for(i in t)n[i]=t[i];return n},insertBefore:function(e,t,i,n){var o,r,a,s,l;for(a in o=(n=n||u.languages)[e],r={},o)if(o.hasOwnProperty(a)){if(a==t)for(s in i)i.hasOwnProperty(s)&&(r[s]=i[s]);i.hasOwnProperty(a)||(r[a]=o[a])}return l=n[e],n[e]=r,u.languages.DFS(u.languages,(function(t,i){i===l&&t!=e&&(this[t]=r)})),r},DFS:function e(t,i,n,o){var r,a,s,l;for(a in o=o||{},r=u.util.objId,t)t.hasOwnProperty(a)&&(i.call(t,a,t[a],n||a),s=t[a],"Object"!==(l=u.util.type(s))||o[r(s)]?"Array"!==l||o[r(s)]||(o[r(s)]=!0,e(s,i,a,o)):(o[r(s)]=!0,e(s,i,null,o)))}},plugins:{},highlightAll:function(e,t){u.highlightAllUnder(document,e,t)},highlightAllUnder:function(e,t,i){var n,o,r={callback:i,container:e,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};for(u.hooks.run("before-highlightall",r),r.elements=Array.prototype.slice.apply(r.container.querySelectorAll(r.selector)),u.hooks.run("before-all-elements-highlight",r),n=0;o=r.elements[n++];)u.highlightElement(o,!0===t,r.callback)},highlightElement:function(t,i,n){function o(e){s.highlightedCode=e,u.hooks.run("before-insert",s),s.element.innerHTML=s.highlightedCode,u.hooks.run("after-highlight",s),u.hooks.run("complete",s),n&&n.call(s.element)}var r,a,s,l,d=u.util.getLanguage(t),h=u.languages[d];if(t.className=t.className.replace(c,"").replace(/\s+/g," ")+" language-"+d,(r=t.parentElement)&&"pre"===r.nodeName.toLowerCase()&&(r.className=r.className.replace(c,"").replace(/\s+/g," ")+" language-"+d),a=t.textContent,s={element:t,language:d,grammar:h,code:a},u.hooks.run("before-sanity-check",s),!s.code)return u.hooks.run("complete",s),void(n&&n.call(s.element));u.hooks.run("before-highlight",s),s.grammar?i&&e.Worker?((l=new Worker(u.filename)).onmessage=function(e){o(e.data)},l.postMessage(JSON.stringify({language:s.language,code:s.code,immediateClose:!0}))):o(u.highlight(s.code,s.grammar,s.language)):o(u.util.encode(s.code))},highlight:function(e,i,n){var o={code:e,grammar:i,language:n};return u.hooks.run("before-tokenize",o),o.tokens=u.tokenize(o.code,o.grammar),u.hooks.run("after-tokenize",o),t.stringify(u.util.encode(o.tokens),o.language)},tokenize:function(e,t){var r,a,s=t.rest;if(s){for(r in s)t[r]=s[r];delete t.rest}return o(a=new n,a.head,e),i(e,a,t,a.head,0),function(e){for(var t=[],i=e.head.next;i!==e.tail;)t.push(i.value),i=i.next;return t}(a)},hooks:{all:{},add:function(e,t){var i=u.hooks.all;i[e]=i[e]||[],i[e].push(t)},run:function(e,t){var i,n,o=u.hooks.all[e];if(o&&o.length)for(i=0;n=o[i++];)n(t)}},Token:t};return e.Prism=u,t.stringify=function e(t,i){var n,o,r,a,s;if("string"==typeof t)return t;if(Array.isArray(t))return n="",t.forEach((function(t){n+=e(t,i)})),n;for(s in o={type:t.type,content:e(t.content,i),tag:"span",classes:["token",t.type],attributes:{},language:i},(r=t.alias)&&(Array.isArray(r)?Array.prototype.push.apply(o.classes,r):o.classes.push(r)),u.hooks.run("wrap",o),a="",o.attributes)a+=" "+s+'="'+(o.attributes[s]||"").replace(/"/g,""")+'"';return"<"+o.tag+' class="'+o.classes.join(" ")+'"'+a+">"+o.content+"</"+o.tag+">"},e.document?((s=u.util.currentScript())&&(u.filename=s.src,s.hasAttribute("data-manual")&&(u.manual=!0)),u.manual||("loading"===(l=document.readyState)||"interactive"===l&&s&&s.defer?document.addEventListener("DOMContentLoaded",a):window.requestAnimationFrame?window.requestAnimationFrame(a):window.setTimeout(a,16)),u):e.addEventListener?(u.disableWorkerMessageHandler||e.addEventListener("message",(function(t){var i=JSON.parse(t.data),n=i.language,o=i.code,r=i.immediateClose;e.postMessage(u.highlight(o,u.languages[n],n)),r&&e.close()}),!1),u):u}(_self),"undefined"!=typeof module&&module.exports&&(module.exports=Prism),"undefined"!=typeof global&&(global.Prism=Prism),define("prism/prism",(function(){})),window.Prism=window.Prism||{},window.Prism.manual=!0,define("WoltLabSuite/Core/Prism",["prism/prism"],(function(){return Prism.wscSplitIntoLines=function(e){function t(){var e=elCreate("span");return elData(e,"number",o++),n.appendChild(e),e}for(var i,n=document.createDocumentFragment(),o=1,r=document.createNodeIterator(e,NodeFilter.SHOW_TEXT,(function(){return NodeFilter.FILTER_ACCEPT}),!1),a=t();i=r.nextNode();)i.data.split(/\r?\n/).forEach((function(n,o){var r,s,l;for(o>=1&&(a.appendChild(document.createTextNode("\n")),a=t()),r=document.createTextNode(n),s=i.parentNode;s!==e;)(l=s.cloneNode(!1)).appendChild(r),r=l,s=s.parentNode;a.appendChild(r)}));return n},Prism})),define("WoltLabSuite/Core/Upload",["require","exports","tslib","./Ajax/Request","./Core","./Dom/Change/Listener","./Language"],(function(e,t,i,n,o,r,a){"use strict";n=i.__importDefault(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importStar(a);class s{constructor(e,t,i){if(this._button=document.createElement("p"),this._fileElements=[],this._fileUpload=document.createElement("input"),this._internalFileId=0,this._multiFileUploadIds=[],!(i=i||{}).className)throw new Error("Missing class name.");this._options=o.extend({action:"upload",multiple:!1,acceptableFiles:null,name:"__files[]",singleFileRequests:!1,url:`index.php?ajax-upload/&t=${window.SECURITY_TOKEN}`},i),this._options.url=o.convertLegacyUrl(this._options.url),0===this._options.url.indexOf("index.php")&&(this._options.url=window.WSC_API_URL+this._options.url);const n=document.getElementById(e);if(null===n)throw new Error(`Element id '${e}' is unknown.`);this._buttonContainer=n;const r=document.getElementById(t);if(null===r)throw new Error(`Element id '${t}' is unknown.`);if(this._target=r,i.multiple&&"UL"!==this._target.nodeName&&"OL"!==this._target.nodeName&&"TBODY"!==this._target.nodeName)throw new Error("Target element has to be list or table body if uploading multiple files is supported.");this._createButton()}_createButton(){this._fileUpload=document.createElement("input"),this._fileUpload.type="file",this._fileUpload.name=this._options.name,this._options.multiple&&(this._fileUpload.multiple=!0),null!==this._options.acceptableFiles&&(this._fileUpload.accept=this._options.acceptableFiles.join(",")),this._fileUpload.addEventListener("change",(e=>this._upload(e))),this._button=document.createElement("p"),this._button.className="button uploadButton",this._button.setAttribute("role","button"),this._fileUpload.addEventListener("focus",(()=>{this._fileUpload.classList.contains("focus-visible")&&this._button.classList.add("active")})),this._fileUpload.addEventListener("blur",(()=>{this._button.classList.remove("active")}));const e=document.createElement("span");e.textContent=a.get("wcf.global.button.upload"),this._button.appendChild(e),this._button.insertAdjacentElement("afterbegin",this._fileUpload),this._insertButton(),r.default.trigger()}_createFileElement(e){const t=document.createElement("progress");let i;switch(t.max=100,this._target.nodeName){case"OL":case"UL":return i=document.createElement("li"),i.innerText=e.name,i.appendChild(t),this._target.appendChild(i),i;case"TBODY":return this._createFileTableRow(e);default:return i=document.createElement("p"),i.appendChild(t),this._target.appendChild(i),i}}_createFileElements(e){if(!e.length)return null;const t=[];Array.from(e).forEach((e=>{const i=this._createFileElement(e);i.classList.contains("uploadFailed")||(i.dataset.filename=e.name,i.dataset.internalFileId=(this._internalFileId++).toString(),t.push(i))}));const i=this._fileElements.length;return this._fileElements.push(t),r.default.trigger(),i}_createFileTableRow(e){throw new Error("Has to be implemented in subclass.")}_failure(e,t,i,n,o){return!0}_getParameters(){return{}}_getFormData(){return{}}_insertButton(){this._buttonContainer.insertAdjacentElement("afterbegin",this._button)}_progress(e,t){const i=Math.round(t.loaded/t.total*100);this._fileElements[e].forEach((e=>{const t=e.querySelector("progress");t&&(t.value=i)}))}_removeButton(){this._button.remove(),r.default.trigger()}_success(e,t,i,n,o){}_upload(e,t,i){this._target.querySelectorAll(".uploadFailed").forEach((e=>e.remove()));let n=null,o=[];if(t)o.push(t);else if(i){let e="";switch(i.type){case"image/jpeg":e="jpg";break;case"image/gif":e="gif";break;case"image/png":e="png";break;case"image/webp":e="webp"}o.push({name:`pasted-from-clipboard.${e}`})}else o=Array.from(this._fileUpload.files);return o.length&&this.validateUpload(o)&&(this._options.singleFileRequests?(n=[],o.forEach((e=>{const t=this._uploadFiles([e],i);1!==o.length&&this._multiFileUploadIds.push(t),n.push(t)}))):n=this._uploadFiles(o,i)),this._removeButton(),this._createButton(),n}validateUpload(e){return!0}_uploadFiles(e,t){function i(e,t){null!==e&&(t=t||"",Object.entries(e).forEach((([e,n])=>{if("object"==typeof n){i(n,0===t.length?e:`${t}[${e}]`)}else{const i=0===t.length?e:`${t}[${e}]`;r.append(i,n)}})))}const o=this._createFileElements(e);if(!this._fileElements[o].length)return null;const r=new FormData;for(let i=0,n=e.length;i<n;i++)if(this._fileElements[o][i]){const n=this._fileElements[o][i].dataset.internalFileId;t?r.append(`__files[${n}]`,t,e[i].name):r.append(`__files[${n}]`,e[i])}r.append("actionName",this._options.action),r.append("className",this._options.className),"upload"===this._options.action&&r.append("interfaceName","wcf\\data\\IUploadAction"),i(this._getParameters(),"parameters"),i(this._getFormData());return new n.default({data:r,contentType:!1,failure:this._failure.bind(this,o),silent:!0,success:this._success.bind(this,o),uploadProgress:this._progress.bind(this,o),url:this._options.url,withCredentials:!0}).sendRequest(),o}hasPendingUploads(){return void 0!==this._fileElements.find((e=>e.find((e=>null!==e.querySelector("progress")))))}uploadBlob(e){return this._upload(null,null,e)}uploadFile(e){return this._upload(null,e)}}return o.enableLegacyInheritance(s),s})),define("WoltLabSuite/Core/prism-meta",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default={markup:{title:"Markup",file:"markup"},html:{title:"HTML",file:"markup"},xml:{title:"XML",file:"markup"},svg:{title:"SVG",file:"markup"},mathml:{title:"MathML",file:"markup"},ssml:{title:"SSML",file:"markup"},atom:{title:"Atom",file:"markup"},rss:{title:"RSS",file:"markup"},css:{title:"CSS",file:"css"},clike:{title:"C-like",file:"clike"},javascript:{title:"JavaScript",file:"javascript"},abap:{title:"ABAP",file:"abap"},abnf:{title:"ABNF",file:"abnf"},actionscript:{title:"ActionScript",file:"actionscript"},ada:{title:"Ada",file:"ada"},agda:{title:"Agda",file:"agda"},al:{title:"AL",file:"al"},antlr4:{title:"ANTLR4",file:"antlr4"},apacheconf:{title:"Apache Configuration",file:"apacheconf"},apl:{title:"APL",file:"apl"},applescript:{title:"AppleScript",file:"applescript"},aql:{title:"AQL",file:"aql"},arduino:{title:"Arduino",file:"arduino"},arff:{title:"ARFF",file:"arff"},asciidoc:{title:"AsciiDoc",file:"asciidoc"},aspnet:{title:"ASP.NET (C#)",file:"aspnet"},asm6502:{title:"6502 Assembly",file:"asm6502"},autohotkey:{title:"AutoHotkey",file:"autohotkey"},autoit:{title:"AutoIt",file:"autoit"},bash:{title:"Bash",file:"bash"},basic:{title:"BASIC",file:"basic"},batch:{title:"Batch",file:"batch"},bbcode:{title:"BBcode",file:"bbcode"},bison:{title:"Bison",file:"bison"},bnf:{title:"BNF",file:"bnf"},brainfuck:{title:"Brainfuck",file:"brainfuck"},brightscript:{title:"BrightScript",file:"brightscript"},bro:{title:"Bro",file:"bro"},c:{title:"C",file:"c"},csharp:{title:"C#",file:"csharp"},cpp:{title:"C++",file:"cpp"},cil:{title:"CIL",file:"cil"},clojure:{title:"Clojure",file:"clojure"},cmake:{title:"CMake",file:"cmake"},coffeescript:{title:"CoffeeScript",file:"coffeescript"},concurnas:{title:"Concurnas",file:"concurnas"},csp:{title:"Content-Security-Policy",file:"csp"},crystal:{title:"Crystal",file:"crystal"},"css-extras":{title:"CSS Extras",file:"css-extras"},cypher:{title:"Cypher",file:"cypher"},d:{title:"D",file:"d"},dart:{title:"Dart",file:"dart"},dax:{title:"DAX",file:"dax"},dhall:{title:"Dhall",file:"dhall"},diff:{title:"Diff",file:"diff"},django:{title:"Django/Jinja2",file:"django"},"dns-zone-file":{title:"DNS zone file",file:"dns-zone-file"},docker:{title:"Docker",file:"docker"},ebnf:{title:"EBNF",file:"ebnf"},editorconfig:{title:"EditorConfig",file:"editorconfig"},eiffel:{title:"Eiffel",file:"eiffel"},ejs:{title:"EJS",file:"ejs"},elixir:{title:"Elixir",file:"elixir"},elm:{title:"Elm",file:"elm"},etlua:{title:"Embedded Lua templating",file:"etlua"},erb:{title:"ERB",file:"erb"},erlang:{title:"Erlang",file:"erlang"},"excel-formula":{title:"Excel Formula",file:"excel-formula"},fsharp:{title:"F#",file:"fsharp"},factor:{title:"Factor",file:"factor"},"firestore-security-rules":{title:"Firestore security rules",file:"firestore-security-rules"},flow:{title:"Flow",file:"flow"},fortran:{title:"Fortran",file:"fortran"},ftl:{title:"FreeMarker Template Language",file:"ftl"},gml:{title:"GameMaker Language",file:"gml"},gcode:{title:"G-code",file:"gcode"},gdscript:{title:"GDScript",file:"gdscript"},gedcom:{title:"GEDCOM",file:"gedcom"},gherkin:{title:"Gherkin",file:"gherkin"},git:{title:"Git",file:"git"},glsl:{title:"GLSL",file:"glsl"},go:{title:"Go",file:"go"},graphql:{title:"GraphQL",file:"graphql"},groovy:{title:"Groovy",file:"groovy"},haml:{title:"Haml",file:"haml"},handlebars:{title:"Handlebars",file:"handlebars"},haskell:{title:"Haskell",file:"haskell"},haxe:{title:"Haxe",file:"haxe"},hcl:{title:"HCL",file:"hcl"},hlsl:{title:"HLSL",file:"hlsl"},http:{title:"HTTP",file:"http"},hpkp:{title:"HTTP Public-Key-Pins",file:"hpkp"},hsts:{title:"HTTP Strict-Transport-Security",file:"hsts"},ichigojam:{title:"IchigoJam",file:"ichigojam"},icon:{title:"Icon",file:"icon"},ignore:{title:".ignore",file:"ignore"},gitignore:{title:".gitignore",file:"ignore"},hgignore:{title:".hgignore",file:"ignore"},npmignore:{title:".npmignore",file:"ignore"},inform7:{title:"Inform 7",file:"inform7"},ini:{title:"Ini",file:"ini"},io:{title:"Io",file:"io"},j:{title:"J",file:"j"},java:{title:"Java",file:"java"},javadoc:{title:"JavaDoc",file:"javadoc"},javadoclike:{title:"JavaDoc-like",file:"javadoclike"},javastacktrace:{title:"Java stack trace",file:"javastacktrace"},jolie:{title:"Jolie",file:"jolie"},jq:{title:"JQ",file:"jq"},jsdoc:{title:"JSDoc",file:"jsdoc"},"js-extras":{title:"JS Extras",file:"js-extras"},json:{title:"JSON",file:"json"},json5:{title:"JSON5",file:"json5"},jsonp:{title:"JSONP",file:"jsonp"},jsstacktrace:{title:"JS stack trace",file:"jsstacktrace"},"js-templates":{title:"JS Templates",file:"js-templates"},julia:{title:"Julia",file:"julia"},keyman:{title:"Keyman",file:"keyman"},kotlin:{title:"Kotlin",file:"kotlin"},kts:{title:"Kotlin Script",file:"kotlin"},latex:{title:"LaTeX",file:"latex"},tex:{title:"TeX",file:"latex"},context:{title:"ConTeXt",file:"latex"},latte:{title:"Latte",file:"latte"},less:{title:"Less",file:"less"},lilypond:{title:"LilyPond",file:"lilypond"},liquid:{title:"Liquid",file:"liquid"},lisp:{title:"Lisp",file:"lisp"},livescript:{title:"LiveScript",file:"livescript"},llvm:{title:"LLVM IR",file:"llvm"},lolcode:{title:"LOLCODE",file:"lolcode"},lua:{title:"Lua",file:"lua"},makefile:{title:"Makefile",file:"makefile"},markdown:{title:"Markdown",file:"markdown"},"markup-templating":{title:"Markup templating",file:"markup-templating"},matlab:{title:"MATLAB",file:"matlab"},mel:{title:"MEL",file:"mel"},mizar:{title:"Mizar",file:"mizar"},monkey:{title:"Monkey",file:"monkey"},moonscript:{title:"MoonScript",file:"moonscript"},n1ql:{title:"N1QL",file:"n1ql"},n4js:{title:"N4JS",file:"n4js"},"nand2tetris-hdl":{title:"Nand To Tetris HDL",file:"nand2tetris-hdl"},nasm:{title:"NASM",file:"nasm"},neon:{title:"NEON",file:"neon"},nginx:{title:"nginx",file:"nginx"},nim:{title:"Nim",file:"nim"},nix:{title:"Nix",file:"nix"},nsis:{title:"NSIS",file:"nsis"},objectivec:{title:"Objective-C",file:"objectivec"},ocaml:{title:"OCaml",file:"ocaml"},opencl:{title:"OpenCL",file:"opencl"},oz:{title:"Oz",file:"oz"},parigp:{title:"PARI/GP",file:"parigp"},parser:{title:"Parser",file:"parser"},pascal:{title:"Pascal",file:"pascal"},pascaligo:{title:"Pascaligo",file:"pascaligo"},pcaxis:{title:"PC-Axis",file:"pcaxis"},peoplecode:{title:"PeopleCode",file:"peoplecode"},perl:{title:"Perl",file:"perl"},php:{title:"PHP",file:"php"},phpdoc:{title:"PHPDoc",file:"phpdoc"},"php-extras":{title:"PHP Extras",file:"php-extras"},plsql:{title:"PL/SQL",file:"plsql"},powerquery:{title:"PowerQuery",file:"powerquery"},powershell:{title:"PowerShell",file:"powershell"},processing:{title:"Processing",file:"processing"},prolog:{title:"Prolog",file:"prolog"},properties:{title:".properties",file:"properties"},protobuf:{title:"Protocol Buffers",file:"protobuf"},pug:{title:"Pug",file:"pug"},puppet:{title:"Puppet",file:"puppet"},pure:{title:"Pure",file:"pure"},purebasic:{title:"PureBasic",file:"purebasic"},python:{title:"Python",file:"python"},q:{title:"Q (kdb+ database)",file:"q"},qml:{title:"QML",file:"qml"},qore:{title:"Qore",file:"qore"},r:{title:"R",file:"r"},racket:{title:"Racket",file:"racket"},jsx:{title:"React JSX",file:"jsx"},tsx:{title:"React TSX",file:"tsx"},reason:{title:"Reason",file:"reason"},regex:{title:"Regex",file:"regex"},renpy:{title:"Ren'py",file:"renpy"},rest:{title:"reST (reStructuredText)",file:"rest"},rip:{title:"Rip",file:"rip"},roboconf:{title:"Roboconf",file:"roboconf"},robotframework:{title:"Robot Framework",file:"robotframework"},ruby:{title:"Ruby",file:"ruby"},rust:{title:"Rust",file:"rust"},sas:{title:"SAS",file:"sas"},sass:{title:"Sass (Sass)",file:"sass"},scss:{title:"Sass (Scss)",file:"scss"},scala:{title:"Scala",file:"scala"},scheme:{title:"Scheme",file:"scheme"},"shell-session":{title:"Shell session",file:"shell-session"},smali:{title:"Smali",file:"smali"},smalltalk:{title:"Smalltalk",file:"smalltalk"},smarty:{title:"Smarty",file:"smarty"},solidity:{title:"Solidity (Ethereum)",file:"solidity"},"solution-file":{title:"Solution file",file:"solution-file"},soy:{title:"Soy (Closure Template)",file:"soy"},sparql:{title:"SPARQL",file:"sparql"},"splunk-spl":{title:"Splunk SPL",file:"splunk-spl"},sqf:{title:"SQF: Status Quo Function (Arma 3)",file:"sqf"},sql:{title:"SQL",file:"sql"},iecst:{title:"Structured Text (IEC 61131-3)",file:"iecst"},stylus:{title:"Stylus",file:"stylus"},swift:{title:"Swift",file:"swift"},"t4-templating":{title:"T4 templating",file:"t4-templating"},"t4-cs":{title:"T4 Text Templates (C#)",file:"t4-cs"},"t4-vb":{title:"T4 Text Templates (VB)",file:"t4-vb"},tap:{title:"TAP",file:"tap"},tcl:{title:"Tcl",file:"tcl"},tt2:{title:"Template Toolkit 2",file:"tt2"},textile:{title:"Textile",file:"textile"},toml:{title:"TOML",file:"toml"},turtle:{title:"Turtle",file:"turtle"},twig:{title:"Twig",file:"twig"},typescript:{title:"TypeScript",file:"typescript"},unrealscript:{title:"UnrealScript",file:"unrealscript"},vala:{title:"Vala",file:"vala"},vbnet:{title:"VB.Net",file:"vbnet"},velocity:{title:"Velocity",file:"velocity"},verilog:{title:"Verilog",file:"verilog"},vhdl:{title:"VHDL",file:"vhdl"},vim:{title:"vim",file:"vim"},"visual-basic":{title:"Visual Basic",file:"visual-basic"},vba:{title:"VBA",file:"visual-basic"},warpscript:{title:"WarpScript",file:"warpscript"},wasm:{title:"WebAssembly",file:"wasm"},wiki:{title:"Wiki markup",file:"wiki"},xeora:{title:"Xeora",file:"xeora"},"xml-doc":{title:"XML doc (.net)",file:"xml-doc"},xojo:{title:"Xojo (REALbasic)",file:"xojo"},xquery:{title:"XQuery",file:"xquery"},yaml:{title:"YAML",file:"yaml"},yang:{title:"YANG",file:"yang"},zig:{title:"Zig",file:"zig"}}})),define("WoltLabSuite/Core/Ajax/Data",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})})),define("WoltLabSuite/Core/Ajax/Jsonp",["require","exports","tslib","../Core"],(function(e,t,i,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.send=void 0,n=i.__importStar(n),t.send=function(e,t,i,o){if(0===(e="string"==typeof e?e.trim():"").length)throw new Error("Expected a non-empty string for parameter 'url'.");if("function"!=typeof t)throw new TypeError("Expected a valid callback function for parameter 'success'.");o=n.extend({parameterName:"callback",timeout:10},o||{});const r="wcf_jsonp_"+n.getUuid().replace(/-/g,"").substr(0,8),a=document.createElement("script"),s=window.setTimeout((()=>{"function"==typeof i&&i(),window[r]=void 0,a.remove()}),1e3*(~~o.timeout||10));window[r]=(...e)=>{window.clearTimeout(s),t(...e),window[r]=void 0,a.remove()},e+=-1===e.indexOf("?")?"?":"&",e+=o.parameterName+"="+r,a.async=!0,a.src=e,document.head.appendChild(a)}})),define("WoltLabSuite/Core/Prism/Helper",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.splitIntoLines=void 0,t.splitIntoLines=function*(e){const t=document.createNodeIterator(e,NodeFilter.SHOW_TEXT,{acceptNode:()=>NodeFilter.FILTER_ACCEPT});let i,n=document.createElement("span");for(;i=t.nextNode();){const t=i,o=t.data.split(/\r?\n/);for(let i=0,r=o.length;i<r;i++){const r=o[i];i>=1&&(n.appendChild(document.createTextNode("\n")),yield n,n=document.createElement("span"));let a=document.createTextNode(r),s=t.parentNode;for(;s&&s!==e;){const e=s.cloneNode(!1);e.appendChild(a),a=e,s=s.parentNode}n.appendChild(a)}}yield n}})),define("WoltLabSuite/Core/Bbcode/Code",["require","exports","tslib","../Language","../Clipboard","../Ui/Notification","../Prism","../Prism/Helper","../prism-meta"],(function(e,t,i,n,o,r,a,s,l){"use strict";async function c(){return new Promise(((e,t)=>{window.requestIdleCallback?window.requestIdleCallback(e,{timeout:5e3}):setTimeout(e,0)}))}n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importDefault(a),s=i.__importStar(s),l=i.__importDefault(l);class d{constructor(e){var t;this.container=e,this.codeContainer=this.container.querySelector(".codeBoxCode > code"),this.language=null===(t=Array.from(this.codeContainer.classList).find((e=>/^language-([a-z0-9_-]+)$/.test(e))))||void 0===t?void 0:t.replace(/^language-/,"")}static processAll(){document.querySelectorAll(".codeBox:not([data-processed])").forEach((e=>{e.dataset.processed="1";const t=new d(e);t.language&&t.highlight(),t.createCopyButton()}))}createCopyButton(){const e=this.container.querySelector(".codeBoxHeader");if(!e)return;const t=document.createElement("span");t.tabIndex=0,t.setAttribute("role","button"),t.className="icon icon24 fa-files-o pointer jsTooltip",t.setAttribute("title",n.get("wcf.message.bbcode.code.copy"));const i=async()=>{await o.copyElementTextToClipboard(this.codeContainer),r.show(n.get("wcf.message.bbcode.code.copy.success"))};t.addEventListener("click",i),t.addEventListener("keydown",(e=>{"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),i())})),e.appendChild(t)}async highlight(){if(!this.language)throw new Error("No language detected");if(!l.default[this.language])throw new Error(`Unknown language '${this.language}'`);this.container.classList.add("highlighting"),await new Promise(((t,i)=>{e(["prism/components/prism-"+l.default[this.language].file],t,i)})).then(i.__importStar),await c();const t=a.default.languages[this.language];if(!t)throw new Error(`Invalid language '${this.language}' given.`);const n=document.createElement("div");n.innerHTML=a.default.highlight(this.codeContainer.textContent,t,this.language),await c();const o=this.codeContainer.querySelectorAll(".codeBoxLine > span"),r=s.splitIntoLines(n);for(let e=0,t=o.length;e<t;e+=d.chunkSize){await c();const i=Math.min(e+d.chunkSize,t);for(let t=e;t<i;t++){const e=o[t],i=r.next().value;e.parentNode.replaceChild(i,e)}}this.container.classList.remove("highlighting"),this.container.classList.add("highlighted")}}return d.chunkSize=50,d})),define("WoltLabSuite/Core/Bbcode/Collapsible",["require","exports"],(function(e,t){"use strict";function i(e,t,i){if(e.classList.toggle("collapsed")){if(t.forEach((e=>{const t=e.dataset.titleExpand;e.classList.contains("icon")?(e.classList.remove("fa-compress"),e.classList.add("fa-expand"),e.title=t):e.textContent=t})),i instanceof Event){const t=e.getBoundingClientRect().top;if(t<0){let e=window.pageYOffset+(t-100);e<0&&(e=0),window.scrollTo(window.pageXOffset,e)}}}else t.forEach((e=>{const t=e.dataset.titleCollapse;e.classList.contains("icon")?(e.classList.add("fa-compress"),e.classList.remove("fa-expand"),e.title=t):e.textContent=t}))}Object.defineProperty(t,"__esModule",{value:!0}),t.observe=void 0,t.observe=function(){document.querySelectorAll(".jsCollapsibleBbcode").forEach((e=>{const t=Array.from(e.querySelectorAll(".toggleButton:not(.jsToggleButtonEnabled)")).filter((t=>t.closest(".jsCollapsibleBbcode")===e)),n=e.querySelector(".collapsibleBbcodeOverflow")||e;t.length>0&&function(e,t,n){t.forEach((n=>{n.classList.add("jsToggleButtonEnabled"),n.addEventListener("click",(n=>i(e,t,n))),n.addEventListener("keydown",(n=>{"Enter"!==n.key&&" "!==n.key||(n.preventDefault(),i(e,t))}))})),0!==n.scrollTop&&(n.scrollTop=0,i(e,t)),n.addEventListener("scroll",(()=>{n.scrollTop=0,e.classList.contains("collapsed")&&i(e,t)}))}(e,t,n),e.classList.remove("jsCollapsibleBbcode")}))}})),define("WoltLabSuite/Core/Bbcode/Spoiler",["require","exports","tslib","../Core","../Language","../Dom/Util"],(function(e,t,i,n,o,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.observe=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),t.observe=function(){const e="jsSpoilerBox";document.querySelectorAll(".jsSpoilerBox").forEach((t=>{t.classList.remove(e);const i=t.querySelector(".jsSpoilerToggle"),a=t.querySelector(".spoilerBoxContent");i.addEventListener("click",(e=>function(e,t,i){e.preventDefault(),i.classList.toggle("active");const a=i.classList.contains("active");a?r.default.show(t):r.default.hide(t),i.setAttribute("aria-expanded",a?"true":"false"),t.setAttribute("aria-hidden",a?"false":"true"),n.stringToBool(i.dataset.hasCustomLabel||"")||(i.textContent=o.get(i.classList.contains("active")?"wcf.bbcode.spoiler.hide":"wcf.bbcode.spoiler.show"))}(e,a,i)))}))}})),define("WoltLabSuite/Core/Controller/Captcha",["require","exports"],(function(e,t){"use strict";const i=new Map;return{add(e,t){if(i.has(e))throw new Error(`Captcha with id '${e}' is already registered.`);if("function"!=typeof t)throw new TypeError("Expected a valid callback for parameter 'callback'.");i.set(e,t)},delete(e){if(!i.has(e))throw new Error(`Unknown captcha with id '${e}'.`);i.delete(e)},has:e=>i.has(e),getData(e){if(!i.has(e))throw new Error(`Unknown captcha with id '${e}'.`);return i.get(e)()}}})),define("WoltLabSuite/Core/Event/Key",["require","exports"],(function(e,t){"use strict";function i(e,t,i){if(!(e instanceof Event))throw new TypeError("Expected a valid event when testing for key '"+t+"'.");return e.key===t||e.which===i}Object.defineProperty(t,"__esModule",{value:!0}),t.Tab=t.Space=t.Home=t.Escape=t.Enter=t.End=t.Comma=t.ArrowUp=t.ArrowRight=t.ArrowLeft=t.ArrowDown=void 0,t.ArrowDown=function(e){return i(e,"ArrowDown",40)},t.ArrowLeft=function(e){return i(e,"ArrowLeft",37)},t.ArrowRight=function(e){return i(e,"ArrowRight",39)},t.ArrowUp=function(e){return i(e,"ArrowUp",38)},t.Comma=function(e){return i(e,",",44)},t.End=function(e){return i(e,"End",35)},t.Enter=function(e){return i(e,"Enter",13)},t.Escape=function(e){return i(e,"Escape",27)},t.Home=function(e){return i(e,"Home",36)},t.Space=function(e){return i(e,"Space",32)},t.Tab=function(e){return i(e,"Tab",9)}})),define("WoltLabSuite/Core/Image/ExifUtil",["require","exports"],(function(e,t){"use strict";function i(e){return"Exif"===e||"http://ns.adobe.com/xap/1.0/"===e||"http://ns.adobe.com/xmp/extension/"===e}function n(...e){let t=0;const i=e.reduce(((e,t)=>e+t.length),0),n=new Uint8Array(i);return e.forEach((e=>{n.set(e,t),t+=e.length})),n}async function o(e){return new Promise(((t,i)=>{const n=new FileReader;n.addEventListener("error",(()=>{n.abort(),i(n.error)})),n.addEventListener("load",(()=>{t(new Uint8Array(n.result))})),n.readAsArrayBuffer(e)}))}async function r(e){if(!(e instanceof Blob||e instanceof File))throw new TypeError("The argument must be a Blob or a File");const t=await o(e);if(255!==t[0]&&t[1]!==a.SOI)throw new Error("Not a JPEG");let r=t;for(let e=2;e<r.length&&255===r[e];){const t=2+(r[e+2]<<8|r[e+3]);if(r[e+1]===a.APP1){let o="";for(let t=e+4;0!==r[t]&&t<r.length;t++)o+=String.fromCharCode(r[t]);if(i(o)){const i=r.slice(0,e),o=r.slice(e+t);r=n(i,o)}else e+=t}else e+=t}return new Blob([r],{type:e.type})}var a;Object.defineProperty(t,"__esModule",{value:!0}),t.setExifData=t.removeExifData=t.getExifBytesFromJpeg=void 0,function(e){e[e.SOI=216]="SOI",e[e.APP0=224]="APP0",e[e.APP1=225]="APP1",e[e.APP2=226]="APP2",e[e.APP3=227]="APP3",e[e.APP4=228]="APP4",e[e.APP5=229]="APP5",e[e.APP6=230]="APP6",e[e.APP7=231]="APP7",e[e.APP8=232]="APP8",e[e.APP9=233]="APP9",e[e.APP10=234]="APP10",e[e.APP11=235]="APP11",e[e.APP12=236]="APP12",e[e.APP13=237]="APP13",e[e.APP14=238]="APP14",e[e.COM=254]="COM"}(a||(a={}));t.getExifBytesFromJpeg=async function(e){if(!(e instanceof Blob||e instanceof File))throw new TypeError("The argument must be a Blob or a File");const t=await o(e);let r=new Uint8Array(0);if(255!==t[0]&&t[1]!==a.SOI)throw new Error("Not a JPEG");for(let e=2;e<t.length&&255===t[e];){const o=2+(t[e+2]<<8|t[e+3]);if(t[e+1]===a.APP1){let a="";for(let i=e+4;0!==t[i]&&i<t.length;i++)a+=String.fromCharCode(t[i]);if(i(a)){r=n(r,t.slice(e,o+e))}}e+=o}return r},t.removeExifData=r,t.setExifData=async function(e,t){e=await r(e);const i=await o(e);let s=2;255===i[2]&&i[3]===a.APP0&&(s+=2+(i[4]<<8|i[5]));const l=n(i.slice(0,s),t,i.slice(s));return new Blob([l],{type:e.type})}})),define("WoltLabSuite/Core/Image/ImageUtil",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.containsTransparentPixels=void 0,t.containsTransparentPixels=function(e){const t=e.getContext("2d");if(!t)throw new Error("Unable to get canvas context.");const i=t.getImageData(0,0,e.width,e.height);for(let e=3,t=i.data.length;e<t;e+=4)if(255!==i.data[e])return!0;return!1}})),function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define("pica",[],e);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).pica=e()}}((function(){return function e(t,i,n){function o(a,s){var l,c,d;if(!i[a]){if(!t[a]){if(l="function"==typeof require&&require,!s&&l)return l(a,!0);if(r)return r(a,!0);throw(c=new Error("Cannot find module '"+a+"'")).code="MODULE_NOT_FOUND",c}d=i[a]={exports:{}},t[a][0].call(d.exports,(function(e){return o(t[a][1][e]||e)}),d,d.exports,e,t,i,n)}return i[a].exports}for(var r="function"==typeof require&&require,a=0;a<n.length;a++)o(n[a]);return o}({1:[function(e,t,i){"use strict";function n(e){var t=e||[],i={js:t.indexOf("js")>=0,wasm:t.indexOf("wasm")>=0};r.call(this,i),this.features={js:i.js,wasm:i.wasm&&this.has_wasm()},this.use(a),this.use(s)}var o=e("inherits"),r=e("multimath"),a=e("multimath/lib/unsharp_mask"),s=e("./mm_resize");o(n,r),n.prototype.resizeAndUnsharp=function(e,t){var i=this.resize(e,t);return e.unsharpAmount&&this.unsharp_mask(i,e.toWidth,e.toHeight,e.unsharpAmount,e.unsharpRadius,e.unsharpThreshold),i},t.exports=n},{"./mm_resize":4,inherits:15,multimath:16,"multimath/lib/unsharp_mask":19}],2:[function(e,t,i){"use strict";function n(e){return e<0?0:e>255?255:e}t.exports={convolveHorizontally:function(e,t,i,o,r,a){var s,l,c,d,u,h,p,m,f,g,b,_=0,v=0;for(f=0;f<o;f++){for(u=0,g=0;g<r;g++){for(h=a[u++],p=a[u++],m=_+4*h|0,s=l=c=d=0;p>0;p--)d=d+(b=a[u++])*e[m+3]|0,c=c+b*e[m+2]|0,l=l+b*e[m+1]|0,s=s+b*e[m]|0,m=m+4|0;t[v+3]=n(d+8192>>14),t[v+2]=n(c+8192>>14),t[v+1]=n(l+8192>>14),t[v]=n(s+8192>>14),v=v+4*o|0}v=4*(f+1)|0,_=(f+1)*i*4|0}},convolveVertically:function(e,t,i,o,r,a){var s,l,c,d,u,h,p,m,f,g,b,_=0,v=0;for(f=0;f<o;f++){for(u=0,g=0;g<r;g++){for(h=a[u++],p=a[u++],m=_+4*h|0,s=l=c=d=0;p>0;p--)d=d+(b=a[u++])*e[m+3]|0,c=c+b*e[m+2]|0,l=l+b*e[m+1]|0,s=s+b*e[m]|0,m=m+4|0;t[v+3]=n(d+8192>>14),t[v+2]=n(c+8192>>14),t[v+1]=n(l+8192>>14),t[v]=n(s+8192>>14),v=v+4*o|0}v=4*(f+1)|0,_=(f+1)*i*4|0}}}},{}],3:[function(e,t,i){"use strict";t.exports="AGFzbQEAAAABFAJgBn9/f39/fwBgB39/f39/f38AAg8BA2VudgZtZW1vcnkCAAEDAwIAAQQEAXAAAAcZAghjb252b2x2ZQAACmNvbnZvbHZlSFYAAQkBAArmAwLBAwEQfwJAIANFDQAgBEUNACAFQQRqIRVBACEMQQAhDQNAIA0hDkEAIRFBACEHA0AgB0ECaiESAn8gBSAHQQF0IgdqIgZBAmouAQAiEwRAQQAhCEEAIBNrIRQgFSAHaiEPIAAgDCAGLgEAakECdGohEEEAIQlBACEKQQAhCwNAIBAoAgAiB0EYdiAPLgEAIgZsIAtqIQsgB0H/AXEgBmwgCGohCCAHQRB2Qf8BcSAGbCAKaiEKIAdBCHZB/wFxIAZsIAlqIQkgD0ECaiEPIBBBBGohECAUQQFqIhQNAAsgEiATagwBC0EAIQtBACEKQQAhCUEAIQggEgshByABIA5BAnRqIApBgMAAakEOdSIGQf8BIAZB/wFIG0EQdEGAgPwHcUEAIAZBAEobIAtBgMAAakEOdSIGQf8BIAZB/wFIG0EYdEEAIAZBAEobciAJQYDAAGpBDnUiBkH/ASAGQf8BSBtBCHRBgP4DcUEAIAZBAEobciAIQYDAAGpBDnUiBkH/ASAGQf8BSBtB/wFxQQAgBkEAShtyNgIAIA4gA2ohDiARQQFqIhEgBEcNAAsgDCACaiEMIA1BAWoiDSADRw0ACwsLIQACQEEAIAIgAyAEIAUgABAAIAJBACAEIAUgBiABEAALCw=="},{}],4:[function(e,t,i){"use strict";t.exports={name:"resize",fn:e("./resize"),wasm_fn:e("./resize_wasm"),wasm_src:e("./convolve_wasm_base64")}},{"./convolve_wasm_base64":3,"./resize":5,"./resize_wasm":8}],5:[function(e,t,i){"use strict";var n=e("./resize_filter_gen"),o=e("./convolve").convolveHorizontally,r=e("./convolve").convolveVertically;t.exports=function(e){var t=e.src,i=e.width,a=e.height,s=e.toWidth,l=e.toHeight,c=e.scaleX||e.toWidth/e.width,d=e.scaleY||e.toHeight/e.height,u=e.offsetX||0,h=e.offsetY||0,p=e.dest||new Uint8Array(s*l*4),m=void 0===e.quality?3:e.quality,f=e.alpha||!1,g=n(m,i,s,c,u),b=n(m,a,l,d,h),_=new Uint8Array(s*a*4);return o(t,_,i,a,s,g),r(_,p,a,s,l,b),f||function(e,t,i){for(var n=3,o=t*i*4|0;n<o;)e[n]=255,n=n+4|0}(p,s,l),p}},{"./convolve":2,"./resize_filter_gen":6}],6:[function(e,t,i){"use strict";function n(e){return Math.round(e*((1<<r)-1))}var o=e("./resize_filter_info"),r=14;t.exports=function(e,t,i,r,a){var s,l,c,d,u,h,p,m,f,g,b,_,v,w,y,E,S,L=o[e].filter,C=1/r,A=Math.min(1,r),I=o[e].win/A,x=Math.floor(2*(I+1)),k=new Int16Array((x+2)*i),D=0,T=!k.subarray||!k.set;for(s=0;s<i;s++){for(l=(s+.5)*C+a,c=Math.max(0,Math.floor(l-I)),u=(d=Math.min(t-1,Math.ceil(l+I)))-c+1,h=new Float32Array(u),p=new Int16Array(u),m=0,f=c,g=0;f<=d;f++,g++)m+=b=L((f+.5-l)*A),h[g]=b;for(_=0,g=0;g<h.length;g++)_+=v=h[g]/m,p[g]=n(v);for(p[i>>1]+=n(1-_),w=0;w<p.length&&0===p[w];)w++;if(w<p.length){for(y=p.length-1;y>0&&0===p[y];)y--;if(E=c+w,S=y-w+1,k[D++]=E,k[D++]=S,T)for(g=w;g<=y;g++)k[D++]=p[g];else k.set(p.subarray(w,y+1),D),D+=S}else k[D++]=0,k[D++]=0}return k}},{"./resize_filter_info":7}],7:[function(e,t,i){"use strict";t.exports=[{win:.5,filter:function(e){return e>=-.5&&e<.5?1:0}},{win:1,filter:function(e){if(e<=-1||e>=1)return 0;if(e>-1.1920929e-7&&e<1.1920929e-7)return 1;var t=e*Math.PI;return Math.sin(t)/t*(.54+.46*Math.cos(t/1))}},{win:2,filter:function(e){if(e<=-2||e>=2)return 0;if(e>-1.1920929e-7&&e<1.1920929e-7)return 1;var t=e*Math.PI;return Math.sin(t)/t*Math.sin(t/2)/(t/2)}},{win:3,filter:function(e){if(e<=-3||e>=3)return 0;if(e>-1.1920929e-7&&e<1.1920929e-7)return 1;var t=e*Math.PI;return Math.sin(t)/t*Math.sin(t/3)/(t/3)}}]},{}],8:[function(e,t,i){"use strict";function n(e,t,i){var n,o,a;if(r)t.set(function(e){return new Uint8Array(e.buffer,0,e.byteLength)}(e),i);else for(n=i,o=0;o<e.length;o++)a=e[o],t[n++]=255&a,t[n++]=a>>8&255}var o=e("./resize_filter_gen"),r=!0;try{r=1===new Uint32Array(new Uint8Array([1,0,0,0]).buffer)[0]}catch(e){}t.exports=function(e){var t=e.src,i=e.width,r=e.height,a=e.toWidth,s=e.toHeight,l=e.scaleX||e.toWidth/e.width,c=e.scaleY||e.toHeight/e.height,d=e.offsetX||0,u=e.offsetY||0,h=e.dest||new Uint8Array(a*s*4),p=void 0===e.quality?3:e.quality,m=e.alpha||!1,f=o(p,i,a,l,d),g=o(p,r,s,c,u),b=0,_=this.__align(b+Math.max(t.byteLength,h.byteLength)),v=this.__align(_+r*a*4),w=this.__align(v+f.byteLength),y=w+g.byteLength,E=this.__instance("resize",y),S=new Uint8Array(this.__memory.buffer),L=new Uint32Array(this.__memory.buffer),C=new Uint32Array(t.buffer);return L.set(C),n(f,S,v),n(g,S,w),(E.exports.convolveHV||E.exports._convolveHV)(v,w,_,i,r,a,s),new Uint32Array(h.buffer).set(new Uint32Array(this.__memory.buffer,0,s*a)),m||function(e,t,i){for(var n=3,o=t*i*4|0;n<o;)e[n]=255,n=n+4|0}(h,a,s),h}},{"./resize_filter_gen":6}],9:[function(e,t,i){"use strict";function n(e,t){this.create=e,this.available=[],this.acquired={},this.lastId=1,this.timeoutId=0,this.idle=t||2e3}n.prototype.acquire=function(){var e,t=this;return 0!==this.available.length?e=this.available.pop():((e=this.create()).id=this.lastId++,e.release=function(){return t.release(e)}),this.acquired[e.id]=e,e},n.prototype.release=function(e){var t=this;delete this.acquired[e.id],e.lastUsed=Date.now(),this.available.push(e),0===this.timeoutId&&(this.timeoutId=setTimeout((function(){return t.gc()}),100))},n.prototype.gc=function(){var e=this,t=Date.now();this.available=this.available.filter((function(i){return!(t-i.lastUsed>e.idle)||(i.destroy(),!1)})),0!==this.available.length?this.timeoutId=setTimeout((function(){return e.gc()}),100):this.timeoutId=0},t.exports=n},{}],10:[function(e,t,i){"use strict";t.exports=function(e,t,i,n,o,r){var a,s,l,c,d,u=i/e,h=n/t,p=(2*r+2+1)/o;if(p>.5)return[[i,n]];if((a=Math.ceil(Math.log(Math.min(u,h))/Math.log(p)))<=1)return[[i,n]];for(s=[],l=0;l<a;l++)c=Math.round(Math.pow(Math.pow(e,a-l-1)*Math.pow(i,l+1),1/a)),d=Math.round(Math.pow(Math.pow(t,a-l-1)*Math.pow(n,l+1),1/a)),s.push([c,d]);return s}},{}],11:[function(e,t,i){"use strict";function n(e){var t=Math.round(e);return Math.abs(e-t)<r?t:Math.floor(e)}function o(e){var t=Math.round(e);return Math.abs(e-t)<r?t:Math.ceil(e)}var r=1e-5;t.exports=function(e){var t,i,r,a,s,l,c,d,u=e.toWidth/e.width,h=e.toHeight/e.height,p=n(e.srcTileSize*u)-2*e.destTileBorder,m=n(e.srcTileSize*h)-2*e.destTileBorder;if(p<1||m<1)throw new Error("Internal error in pica: target tile width/height is too small.");for(c=[],a=0;a<e.toHeight;a+=m)for(r=0;r<e.toWidth;r+=p)(t=r-e.destTileBorder)<0&&(t=0),t+(s=r+p+e.destTileBorder-t)>=e.toWidth&&(s=e.toWidth-t),(i=a-e.destTileBorder)<0&&(i=0),i+(l=a+m+e.destTileBorder-i)>=e.toHeight&&(l=e.toHeight-i),d={toX:t,toY:i,toWidth:s,toHeight:l,toInnerX:r,toInnerY:a,toInnerWidth:p,toInnerHeight:m,offsetX:t/u-n(t/u),offsetY:i/h-n(i/h),scaleX:u,scaleY:h,x:n(t/u),y:n(i/h),width:o(s/u),height:o(l/h)},c.push(d);return c}},{}],12:[function(e,t,i){"use strict";function n(e){return Object.prototype.toString.call(e)}t.exports.isCanvas=function(e){var t=n(e);return"[object HTMLCanvasElement]"===t||"[object Canvas]"===t},t.exports.isImage=function(e){return"[object HTMLImageElement]"===n(e)},t.exports.limiter=function(e){function t(){i<e&&n.length&&(i++,n.shift()())}var i=0,n=[];return function(e){return new Promise((function(o,r){n.push((function(){e().then((function(e){o(e),i--,t()}),(function(e){r(e),i--,t()}))})),t()}))}},t.exports.cib_quality_name=function(e){switch(e){case 0:return"pixelated";case 1:return"low";case 2:return"medium"}return"high"},t.exports.cib_support=function(){return Promise.resolve().then((function(){if("undefined"==typeof createImageBitmap||"undefined"==typeof document)return!1;var e=document.createElement("canvas");return e.width=100,e.height=100,createImageBitmap(e,0,0,100,100,{resizeWidth:10,resizeHeight:10,resizeQuality:"high"}).then((function(t){var i=10===t.width;return t.close(),e=null,i}))})).catch((function(){return!1}))}},{}],13:[function(e,t,i){"use strict";t.exports=function(){var t,i=e("./mathlib");onmessage=function(e){var n,o=e.data.opts;t||(t=new i(e.data.features)),n=t.resizeAndUnsharp(o),postMessage({result:n},[n.buffer])}}},{"./mathlib":1}],14:[function(e,t,i){function n(e,t,i,n,o,r){var a,s,l,c,d,u,h,p,m,f,g,b,_,v;for(m=0;m<r;m++){for(h=m,p=0,c=d=(a=e[u=m*o])*n[6],g=n[0],b=n[1],_=n[4],v=n[5],f=0;f<o;f++)l=(s=e[u])*g+a*b+c*_+d*v,d=c,c=l,a=s,i[p]=c,p++,u++;for(p--,h+=r*(o-1),c=d=(a=e[--u])*n[7],s=a,g=n[2],b=n[3],f=o-1;f>=0;f--)l=s*g+a*b+c*_+d*v,d=c,c=l,a=s,s=e[u],t[h]=i[p]+c,u--,p--,h-=r}}var o,r,a,s,l,c;t.exports=function(e,t,i,d){var u,h,p;d&&(n(e,u=new Uint16Array(e.length),h=new Float32Array(Math.max(t,i)),p=function(e){e<.5&&(e=.5);var t=Math.exp(.527076)/e,i=Math.exp(-t),n=Math.exp(-2*t),d=(1-i)*(1-i)/(1+2*t*i-n);return o=d,r=d*(t-1)*i,a=d*(t+1)*i,s=-d*n,l=2*i,c=-n,new Float32Array([o,r,a,s,l,c,(o+r)/(1-l-c),(a+s)/(1-l-c)])}(d),t,i),n(u,e,h,p,i,t))}},{}],15:[function(e,t,i){"function"==typeof Object.create?t.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:t.exports=function(e,t){if(t){e.super_=t;var i=function(){};i.prototype=t.prototype,e.prototype=new i,e.prototype.constructor=e}}},{}],16:[function(e,t,i){"use strict";function n(e){if(!(this instanceof n))return new n(e);var t=o({},s,e||{});if(this.options=t,this.__cache={},this.__init_promise=null,this.__modules=t.modules||{},this.__memory=null,this.__wasm={},this.__isLE=1===new Uint32Array(new Uint8Array([1,0,0,0]).buffer)[0],!this.options.js&&!this.options.wasm)throw new Error('mathlib: at least "js" or "wasm" should be enabled')}var o=e("object-assign"),r=e("./lib/base64decode"),a=e("./lib/wa_detect"),s={js:!0,wasm:!0};n.prototype.has_wasm=a,n.prototype.use=function(e){return this.__modules[e.name]=e,this.options.wasm&&this.has_wasm()&&e.wasm_fn?this[e.name]=e.wasm_fn:this[e.name]=e.fn,this},n.prototype.init=function(){if(this.__init_promise)return this.__init_promise;if(!this.options.js&&this.options.wasm&&!this.has_wasm())return Promise.reject(new Error('mathlib: only "wasm" was enabled, but it\'s not supported'));var e=this;return this.__init_promise=Promise.all(Object.keys(e.__modules).map((function(t){var i=e.__modules[t];return e.options.wasm&&e.has_wasm()&&i.wasm_fn?e.__wasm[t]?null:WebAssembly.compile(e.__base64decode(i.wasm_src)).then((function(i){e.__wasm[t]=i})):null}))).then((function(){return e})),this.__init_promise},n.prototype.__base64decode=r,n.prototype.__reallocate=function(e){if(!this.__memory)return this.__memory=new WebAssembly.Memory({initial:Math.ceil(e/65536)}),this.__memory;var t=this.__memory.buffer.byteLength;return t<e&&this.__memory.grow(Math.ceil((e-t)/65536)),this.__memory},n.prototype.__instance=function(e,t,i){var n,r;return t&&this.__reallocate(t),this.__wasm[e]||(n=this.__modules[e],this.__wasm[e]=new WebAssembly.Module(this.__base64decode(n.wasm_src))),this.__cache[e]||(r={memoryBase:0,memory:this.__memory,tableBase:0,table:new WebAssembly.Table({initial:0,element:"anyfunc"})},this.__cache[e]=new WebAssembly.Instance(this.__wasm[e],{env:o(r,i||{})})),this.__cache[e]},n.prototype.__align=function(e,t){var i=e%(t=t||8);return e+(i?t-i:0)},t.exports=n},{"./lib/base64decode":17,"./lib/wa_detect":23,"object-assign":24}],17:[function(e,t,i){"use strict";t.exports=function(e){var t,i,n=e.replace(/[\r\n=]/g,""),o=n.length,r=new Uint8Array(3*o>>2),a=0,s=0;for(t=0;t<o;t++)t%4==0&&t&&(r[s++]=a>>16&255,r[s++]=a>>8&255,r[s++]=255&a),a=a<<6|"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".indexOf(n.charAt(t));return 0===(i=o%4*6)?(r[s++]=a>>16&255,r[s++]=a>>8&255,r[s++]=255&a):18===i?(r[s++]=a>>10&255,r[s++]=a>>2&255):12===i&&(r[s++]=a>>4&255),r}},{}],18:[function(e,t,i){"use strict";t.exports=function(e,t,i){var n,o,r,a,s,l,c=t*i,d=new Uint16Array(c);for(l=0;l<c;l++)n=e[4*l],o=e[4*l+1],r=e[4*l+2],s=n>=o&&n>=r?n:o>=r&&o>=n?o:r,a=n<=o&&n<=r?n:o<=r&&o<=n?o:r,d[l]=257*(s+a)>>1;return d}},{}],19:[function(e,t,i){"use strict";t.exports={name:"unsharp_mask",fn:e("./unsharp_mask"),wasm_fn:e("./unsharp_mask_wasm"),wasm_src:e("./unsharp_mask_wasm_base64")}},{"./unsharp_mask":20,"./unsharp_mask_wasm":21,"./unsharp_mask_wasm_base64":22}],20:[function(e,t,i){"use strict";var n=e("glur/mono16"),o=e("./hsl_l16");t.exports=function(e,t,i,r,a,s){var l,c,d,u,h,p,m,f,g,b,_,v,w,y,E,S,L,C,A;if(!(0===r||a<.5))for(a>2&&(a=2),y=o(e,t,i),E=new Uint16Array(y),n(E,t,i,a),S=r/100*4096+.5|0,L=257*s|0,C=t*i,A=0;A<C;A++)v=2*(y[A]-E[A]),Math.abs(v)>=L&&(l=e[w=4*A],c=e[w+1],d=e[w+2],p=257*((f=l>=c&&l>=d?l:c>=l&&c>=d?c:d)+(m=l<=c&&l<=d?l:c<=l&&c<=d?c:d))>>1,m===f?u=h=0:(h=p<=32767?4095*(f-m)/(f+m)|0:4095*(f-m)/(510-f-m)|0,u=l===f?65535*(c-d)/(6*(f-m))|0:c===f?21845+(65535*(d-l)/(6*(f-m))|0):43690+(65535*(l-c)/(6*(f-m))|0)),(p+=S*v+2048>>12)>65535?p=65535:p<0&&(p=0),0===h?l=c=d=p>>8:(g=2*p-(b=p<=32767?p*(4096+h)+2048>>12:p+((65535-p)*h+2048>>12))>>8,b>>=8,l=(_=u+21845&65535)>=43690?g:_>=32767?g+(6*(b-g)*(43690-_)+32768>>16):_>=10922?b:g+(6*(b-g)*_+32768>>16),c=(_=65535&u)>=43690?g:_>=32767?g+(6*(b-g)*(43690-_)+32768>>16):_>=10922?b:g+(6*(b-g)*_+32768>>16),d=(_=u-21845&65535)>=43690?g:_>=32767?g+(6*(b-g)*(43690-_)+32768>>16):_>=10922?b:g+(6*(b-g)*_+32768>>16)),e[w]=l,e[w+1]=c,e[w+2]=d)}},{"./hsl_l16":18,"glur/mono16":14}],21:[function(e,t,i){"use strict";t.exports=function(e,t,i,n,o,r){var a,s,l,c,d,u,h,p,m,f,g,b,_,v;0===n||o<.5||(o>2&&(o=2),u=32,h=0,b=(g=(f=(m=(p=s=4*(a=t*i))+(l=2*a))+(c=2*a))+c)+(d=4*Math.max(t,i)),_=this.__instance("unsharp_mask",s+l+2*c+d+u,{exp:Math.exp}),v=new Uint32Array(e.buffer),new Uint32Array(this.__memory.buffer).set(v),(_.exports.hsl_l16||_.exports._hsl_l16)(h,p,t,i),(_.exports.blurMono16||_.exports._blurMono16)(p,m,f,g,b,t,i,o),(_.exports.unsharp||_.exports._unsharp)(h,h,p,m,t,i,n,r),v.set(new Uint32Array(this.__memory.buffer,0,a)))}},{}],22:[function(e,t,i){"use strict";t.exports="AGFzbQEAAAABMQZgAXwBfGACfX8AYAZ/f39/f38AYAh/f39/f39/fQBgBH9/f38AYAh/f39/f39/fwACGQIDZW52A2V4cAAAA2VudgZtZW1vcnkCAAEDBgUBAgMEBQQEAXAAAAdMBRZfX2J1aWxkX2dhdXNzaWFuX2NvZWZzAAEOX19nYXVzczE2X2xpbmUAAgpibHVyTW9ubzE2AAMHaHNsX2wxNgAEB3Vuc2hhcnAABQkBAAqJEAXZAQEGfAJAIAFE24a6Q4Ia+z8gALujIgOaEAAiBCAEoCIGtjgCECABIANEAAAAAAAAAMCiEAAiBbaMOAIUIAFEAAAAAAAA8D8gBKEiAiACoiAEIAMgA6CiRAAAAAAAAPA/oCAFoaMiArY4AgAgASAEIANEAAAAAAAA8L+gIAKioiIHtjgCBCABIAQgA0QAAAAAAADwP6AgAqKiIgO2OAIIIAEgBSACoiIEtow4AgwgASACIAegIAVEAAAAAAAA8D8gBqGgIgKjtjgCGCABIAMgBKEgAqO2OAIcCwu3AwMDfwR9CHwCQCADKgIUIQkgAyoCECEKIAMqAgwhCyADKgIIIQwCQCAEQX9qIgdBAEgiCA0AIAIgAC8BALgiDSADKgIYu6IiDiAJuyIQoiAOIAq7IhGiIA0gAyoCBLsiEqIgAyoCALsiEyANoqCgoCIPtjgCACACQQRqIQIgAEECaiEAIAdFDQAgBCEGA0AgAiAOIBCiIA8iDiARoiANIBKiIBMgAC8BALgiDaKgoKAiD7Y4AgAgAkEEaiECIABBAmohACAGQX9qIgZBAUoNAAsLAkAgCA0AIAEgByAFbEEBdGogAEF+ai8BACIIuCINIAu7IhGiIA0gDLsiEqKgIA0gAyoCHLuiIg4gCrsiE6KgIA4gCbsiFKKgIg8gAkF8aioCALugqzsBACAHRQ0AIAJBeGohAiAAQXxqIQBBACAFQQF0ayEHIAEgBSAEQQF0QXxqbGohBgNAIAghAyAALwEAIQggBiANIBGiIAO4Ig0gEqKgIA8iECAToqAgDiAUoqAiDyACKgIAu6CrOwEAIAYgB2ohBiAAQX5qIQAgAkF8aiECIBAhDiAEQX9qIgRBAUoNAAsLCwvfAgIDfwZ8AkAgB0MAAAAAWw0AIARE24a6Q4Ia+z8gB0MAAAA/l7ujIgyaEAAiDSANoCIPtjgCECAEIAxEAAAAAAAAAMCiEAAiDraMOAIUIAREAAAAAAAA8D8gDaEiCyALoiANIAwgDKCiRAAAAAAAAPA/oCAOoaMiC7Y4AgAgBCANIAxEAAAAAAAA8L+gIAuioiIQtjgCBCAEIA0gDEQAAAAAAADwP6AgC6KiIgy2OAIIIAQgDiALoiINtow4AgwgBCALIBCgIA5EAAAAAAAA8D8gD6GgIgujtjgCGCAEIAwgDaEgC6O2OAIcIAYEQCAFQQF0IQogBiEJIAIhCANAIAAgCCADIAQgBSAGEAIgACAKaiEAIAhBAmohCCAJQX9qIgkNAAsLIAVFDQAgBkEBdCEIIAUhAANAIAIgASADIAQgBiAFEAIgAiAIaiECIAFBAmohASAAQX9qIgANAAsLC7wBAQV/IAMgAmwiAwRAQQAgA2shBgNAIAAoAgAiBEEIdiIHQf8BcSECAn8gBEH/AXEiAyAEQRB2IgRB/wFxIgVPBEAgAyIIIAMgAk8NARoLIAQgBCAHIAIgA0kbIAIgBUkbQf8BcQshCAJAIAMgAk0EQCADIAVNDQELIAQgByAEIAMgAk8bIAIgBUsbQf8BcSEDCyAAQQRqIQAgASADIAhqQYECbEEBdjsBACABQQJqIQEgBkEBaiIGDQALCwvTBgEKfwJAIAazQwAAgEWUQwAAyEKVu0QAAAAAAADgP6CqIQ0gBSAEbCILBEAgB0GBAmwhDgNAQQAgAi8BACADLwEAayIGQQF0IgdrIAcgBkEASBsgDk8EQCAAQQJqLQAAIQUCfyAALQAAIgYgAEEBai0AACIESSIJRQRAIAYiCCAGIAVPDQEaCyAFIAUgBCAEIAVJGyAGIARLGwshCAJ/IAYgBE0EQCAGIgogBiAFTQ0BGgsgBSAFIAQgBCAFSxsgCRsLIgogCGoiD0GBAmwiEEEBdiERQQAhDAJ/QQAiCSAIIApGDQAaIAggCmsiCUH/H2wgD0H+AyAIayAKayAQQYCABEkbbSEMIAYgCEYEQCAEIAVrQf//A2wgCUEGbG0MAQsgBSAGayAGIARrIAQgCEYiBhtB//8DbCAJQQZsbUHVqgFBqtUCIAYbagshCSARIAcgDWxBgBBqQQx1aiIGQQAgBkEAShsiBkH//wMgBkH//wNIGyEGAkACfwJAIAxB//8DcSIFBEAgBkH//wFKDQEgBUGAIGogBmxBgBBqQQx2DAILIAZBCHYiBiEFIAYhBAwCCyAFIAZB//8Dc2xBgBBqQQx2IAZqCyIFQQh2IQcgBkEBdCAFa0EIdiIGIQQCQCAJQdWqAWpB//8DcSIFQanVAksNACAFQf//AU8EQEGq1QIgBWsgByAGa2xBBmxBgIACakEQdiAGaiEEDAELIAchBCAFQanVAEsNACAFIAcgBmtsQQZsQYCAAmpBEHYgBmohBAsCfyAGIgUgCUH//wNxIghBqdUCSw0AGkGq1QIgCGsgByAGa2xBBmxBgIACakEQdiAGaiAIQf//AU8NABogByIFIAhBqdUASw0AGiAIIAcgBmtsQQZsQYCAAmpBEHYgBmoLIQUgCUGr1QJqQf//A3EiCEGp1QJLDQAgCEH//wFPBEBBqtUCIAhrIAcgBmtsQQZsQYCAAmpBEHYgBmohBgwBCyAIQanVAEsEQCAHIQYMAQsgCCAHIAZrbEEGbEGAgAJqQRB2IAZqIQYLIAEgBDoAACABQQFqIAU6AAAgAUECaiAGOgAACyADQQJqIQMgAkECaiECIABBBGohACABQQRqIQEgC0F/aiILDQALCwsL"},{}],23:[function(e,t,i){"use strict";var n;t.exports=function(){var e,t;if(void 0!==n)return n;if(n=!1,"undefined"==typeof WebAssembly)return n;try{return e=new Uint8Array([0,97,115,109,1,0,0,0,1,6,1,96,1,127,1,127,3,2,1,0,5,3,1,0,1,7,8,1,4,116,101,115,116,0,0,10,16,1,14,0,32,0,65,1,54,2,0,32,0,40,2,0,11]),t=new WebAssembly.Module(e),0!==new WebAssembly.Instance(t,{}).exports.test(4)&&(n=!0),n}catch(e){}return n}},{}],24:[function(e,t,i){"use strict";function n(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}var o=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;t.exports=function(){var e,t,i,n;try{if(!Object.assign)return!1;if((e=new String("abc"))[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(t={},i=0;i<10;i++)t["_"+String.fromCharCode(i)]=i;return"0123456789"===Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join("")&&(n={},"abcdefghijklmnopqrst".split("").forEach((function(e){n[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join(""))}catch(e){return!1}}()?Object.assign:function(e,t){var i,s,l,c,d,u=n(e);for(l=1;l<arguments.length;l++){for(c in i=Object(arguments[l]))r.call(i,c)&&(u[c]=i[c]);if(o)for(s=o(i),d=0;d<s.length;d++)a.call(i,s[d])&&(u[s[d]]=i[s[d]])}return u}},{}],25:[function(e,t,i){var n=arguments[3],o=arguments[4],r=arguments[5],a=JSON.stringify;t.exports=function(e,t){var i,s,l,c,d,u,h,p,m,f,g,b,_,v,w=Object.keys(r);for(s=0,l=w.length;s<l;s++)if(c=w[s],(d=r[c].exports)===e||d&&d.default===e){i=c;break}if(!i){for(i=Math.floor(Math.pow(16,8)*Math.random()).toString(16),u={},s=0,l=w.length;s<l;s++)u[c=w[s]]=c;o[i]=["function(require,module,exports){"+e+"(self); }",u]}return h=Math.floor(Math.pow(16,8)*Math.random()).toString(16),(p={})[i]=i,o[h]=["function(require,module,exports){var f = require("+a(i)+");(f.default ? f.default : f)(self);}",p],m={},function e(t){var i,n;for(i in m[t]=!0,o[t][1])n=o[t][1][i],m[n]||e(n)}(h),f="("+n+")({"+Object.keys(m).map((function(e){return a(e)+":["+o[e][0]+","+a(o[e][1])+"]"})).join(",")+"},{},["+a(h)+"])",g=window.URL||window.webkitURL||window.mozURL||window.msURL,b=new Blob([f],{type:"text/javascript"}),t&&t.bare?b:(_=g.createObjectURL(b),(v=new Worker(_)).objectURL=_,v)}},{}],"/":[function(e,t,i){"use strict";function n(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var i,n,o=[],r=!0,a=!1,s=void 0;try{for(i=e[Symbol.iterator]();!(r=(n=i.next()).done)&&(o.push(n.value),!t||o.length!==t);r=!0);}catch(e){a=!0,s=e}finally{try{r||null==i.return||i.return()}finally{if(a)throw s}}return o}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function o(){return{value:h(g),destroy:function(){if(this.value.terminate(),"undefined"!=typeof window){var e=window.URL||window.webkitURL||window.mozURL||window.msURL;e&&e.revokeObjectURL&&this.value.objectURL&&e.revokeObjectURL(this.value.objectURL)}}}}function r(e){if(!(this instanceof r))return new r(e);this.options=u({},s,e||{});var t="lk_".concat(this.options.concurrency);this.__limit=v[t]||f.limiter(this.options.concurrency),v[t]||(v[t]=this.__limit),this.features={js:!1,wasm:!1,cib:!1,ww:!1},this.__workersPool=null,this.__requested_features=[],this.__mathlib=null}var a,s,l,c,d,u=e("object-assign"),h=e("webworkify"),p=e("./lib/mathlib"),m=e("./lib/pool"),f=e("./lib/utils"),g=e("./lib/worker"),b=e("./lib/stepper"),_=e("./lib/tiler"),v={},w=!1;try{"undefined"!=typeof navigator&&navigator.userAgent&&(w=navigator.userAgent.indexOf("Safari")>=0)}catch(e){}a=1,"undefined"!=typeof navigator&&(a=Math.min(navigator.hardwareConcurrency||1,4)),s={tile:1024,concurrency:a,features:["js","wasm","ww"],idle:2e3},l={quality:3,alpha:!1,unsharpAmount:0,unsharpRadius:0,unsharpThreshold:0},r.prototype.init=function(){var t,i,n,r,a=this;if(this.__initPromise)return this.__initPromise;if(!1!==c&&!0!==c&&(c=!1,"undefined"!=typeof ImageData&&"undefined"!=typeof Uint8ClampedArray))try{new ImageData(new Uint8ClampedArray(400),10,10),c=!0}catch(e){}if(!1!==d&&!0!==d&&(d=!1,"undefined"!=typeof ImageBitmap&&(ImageBitmap.prototype&&ImageBitmap.prototype.close?d=!0:this.debug("ImageBitmap does not support .close(), disabled"))),(t=this.options.features.slice()).indexOf("all")>=0&&(t=["cib","wasm","js","ww"]),this.__requested_features=t,this.__mathlib=new p(t),t.indexOf("ww")>=0&&"undefined"!=typeof window&&"Worker"in window)try{e("webworkify")((function(){})).terminate(),this.features.ww=!0,i="wp_".concat(JSON.stringify(this.options)),v[i]?this.__workersPool=v[i]:(this.__workersPool=new m(o,this.options.idle),v[i]=this.__workersPool)}catch(e){}return n=this.__mathlib.init().then((function(e){u(a.features,e.features)})),r=d?f.cib_support().then((function(e){a.features.cib&&t.indexOf("cib")<0?a.debug("createImageBitmap() resize supported, but disabled by config"):t.indexOf("cib")>=0&&(a.features.cib=e)})):Promise.resolve(!1),this.__initPromise=Promise.all([n,r]).then((function(){return a})),this.__initPromise},r.prototype.resize=function(e,t,i){var o,r,a,s,h,p=this;return this.debug("Start resize..."),o=u({},l),isNaN(i)?i&&(o=u(o,i)):o=u(o,{quality:i}),o.toWidth=t.width,o.toHeight=t.height,o.width=e.naturalWidth||e.width,o.height=e.naturalHeight||e.height,0===t.width||0===t.height?Promise.reject(new Error("Invalid output size: ".concat(t.width,"x").concat(t.height))):(o.unsharpRadius>2&&(o.unsharpRadius=2),r=!1,a=null,o.cancelToken&&(a=o.cancelToken.then((function(e){throw r=!0,e}),(function(e){throw r=!0,e}))),s=3,h=Math.ceil(Math.max(s,2.5*o.unsharpRadius|0)),this.init().then((function(){var i,s,l,m;return r?a:p.features.cib?(i=t.getContext("2d",{alpha:Boolean(o.alpha)}),p.debug("Resize via createImageBitmap()"),createImageBitmap(e,{resizeWidth:o.toWidth,resizeHeight:o.toHeight,resizeQuality:f.cib_quality_name(o.quality)}).then((function(e){var n,s,l;return r?a:o.unsharpAmount?(p.debug("Unsharp result"),(n=document.createElement("canvas")).width=o.toWidth,n.height=o.toHeight,(s=n.getContext("2d",{alpha:Boolean(o.alpha)})).drawImage(e,0,0),e.close(),l=s.getImageData(0,0,o.toWidth,o.toHeight),p.__mathlib.unsharp_mask(l.data,o.toWidth,o.toHeight,o.unsharpAmount,o.unsharpRadius,o.unsharpThreshold),i.putImageData(l,0,0),l=s=n=i=null,p.debug("Finished!"),t):(i.drawImage(e,0,0),e.close(),i=null,p.debug("Finished!"),t)}))):(s={},l=function(e){return Promise.resolve().then((function(){return p.features.ww?new Promise((function(t,i){var n=p.__workersPool.acquire();a&&a.catch((function(e){return i(e)})),n.value.onmessage=function(e){n.release(),e.data.err?i(e.data.err):t(e.data.result)},n.value.postMessage({opts:e,features:p.__requested_features,preload:{wasm_nodule:p.__mathlib.__}},[e.src.buffer])})):p.__mathlib.resizeAndUnsharp(e,s)}))},m=function(e,t,i){var n,o,s,u=function(t){return p.__limit((function(){var d,u,h,m;return r?a:(f.isCanvas(e)?(p.debug("Get tile pixel data"),d=n.getImageData(t.x,t.y,t.width,t.height)):(p.debug("Draw tile imageBitmap/image to temporary canvas"),(u=document.createElement("canvas")).width=t.width,u.height=t.height,(h=u.getContext("2d",{alpha:Boolean(i.alpha)})).globalCompositeOperation="copy",h.drawImage(o||e,t.x,t.y,t.width,t.height,0,0,t.width,t.height),p.debug("Get tile pixel data"),d=h.getImageData(0,0,t.width,t.height),h=u=null),m={src:d.data,width:t.width,height:t.height,toWidth:t.toWidth,toHeight:t.toHeight,scaleX:t.scaleX,scaleY:t.scaleY,offsetX:t.offsetX,offsetY:t.offsetY,quality:i.quality,alpha:i.alpha,unsharpAmount:i.unsharpAmount,unsharpRadius:i.unsharpRadius,unsharpThreshold:i.unsharpThreshold},p.debug("Invoke resize math"),Promise.resolve().then((function(){return l(m)})).then((function(e){var i,n;if(r)return a;if(d=null,p.debug("Convert raw rgba tile result to ImageData"),c)i=new ImageData(new Uint8ClampedArray(e),t.toWidth,t.toHeight);else if((i=s.createImageData(t.toWidth,t.toHeight)).data.set)i.data.set(e);else for(n=i.data.length-1;n>=0;n--)i.data[n]=e[n];return p.debug("Draw tile"),w?s.putImageData(i,t.toX,t.toY,t.toInnerX-t.toX,t.toInnerY-t.toY,t.toInnerWidth+1e-5,t.toInnerHeight+1e-5):s.putImageData(i,t.toX,t.toY,t.toInnerX-t.toX,t.toInnerY-t.toY,t.toInnerWidth,t.toInnerHeight),null})))}))};return Promise.resolve().then((function(){if(s=t.getContext("2d",{alpha:Boolean(i.alpha)}),f.isCanvas(e))return n=e.getContext("2d",{alpha:Boolean(i.alpha)}),null;if(f.isImage(e))return d?(p.debug("Decode image via createImageBitmap"),createImageBitmap(e).then((function(e){o=e}))):null;throw new Error('".from" should be image or canvas')})).then((function(){function e(){o&&(o.close(),o=null)}var n;return r?a:(p.debug("Calculate tiles"),n=_({width:i.width,height:i.height,srcTileSize:p.options.tile,toWidth:i.toWidth,toHeight:i.toHeight,destTileBorder:h}).map((function(e){return u(e)})),p.debug("Process tiles"),Promise.all(n).then((function(){return p.debug("Finished!"),e(),t}),(function(t){throw e(),t})))}))},function e(t,i,o,s){var l,c,d,h,p;return r?a:(l=n(t.shift(),2),c=l[0],d=l[1],h=0===t.length,s=u({},s,{toWidth:c,toHeight:d,quality:h?s.quality:Math.min(1,s.quality)}),h||((p=document.createElement("canvas")).width=c,p.height=d),m(i,h?o:p,s).then((function(){return h?o:(s.width=c,s.height=d,e(t,p,o,s))})))}(b(o.width,o.height,o.toWidth,o.toHeight,p.options.tile,h),e,t,o))})))},r.prototype.resizeBuffer=function(e){var t=this,i=u({},l,e);return this.init().then((function(){return t.__mathlib.resizeAndUnsharp(i)}))},r.prototype.toBlob=function(e,t,i){return t=t||"image/png",new Promise((function(n){var o,r,a,s;if(e.toBlob)e.toBlob((function(e){return n(e)}),t,i);else{for(r=(o=atob(e.toDataURL(t,i).split(",")[1])).length,a=new Uint8Array(r),s=0;s<r;s++)a[s]=o.charCodeAt(s);n(new Blob([a],{type:t}))}}))},r.prototype.debug=function(){},t.exports=r},{"./lib/mathlib":1,"./lib/pool":9,"./lib/stepper":10,"./lib/tiler":11,"./lib/utils":12,"./lib/worker":13,"object-assign":24,webworkify:25}]},{},[])("/")})),define("WoltLabSuite/Core/Image/Resizer",["require","exports","tslib","../Core","../FileUtil","./ExifUtil","pica"],(function(e,t,i,n,o,r,a){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r);const s=new((a=i.__importDefault(a)).default)({features:["js","wasm","ww"]}),l="image/jpeg";class c{constructor(){this.maxWidth=800,this.maxHeight=600,this.quality=.8,this.fileType=l}setMaxWidth(e){return null==e&&(e=800),this.maxWidth=e,this}setMaxHeight(e){return null==e&&(e=600),this.maxHeight=e,this}setQuality(e){return null==e&&(e=.8),this.quality=e,this}setFileType(e){return null==e&&(e=l),this.fileType=e,this}async saveFile(e,t,i=this.fileType,n=this.quality){const a=/(.+)(\..+?)$/.exec(t);let l=await s.toBlob(e.image,i,n);return"image/jpeg"===i&&void 0!==e.exif&&(l=await r.setExifData(l,e.exif)),o.blobToFile(l,a[1])}async loadFile(e){let t=Promise.resolve(void 0),i=e;"image/jpeg"===e.type&&(t=r.getExifBytesFromJpeg(e),i=await r.removeExifData(i));const n=new Promise(((e,t)=>{const n=new FileReader,o=new Image;n.addEventListener("load",(()=>{o.src=n.result})),n.addEventListener("error",(()=>{n.abort(),t(n.error)})),o.addEventListener("error",t),o.addEventListener("load",(()=>{e(o)})),n.readAsDataURL(i)})),[o,a]=await Promise.all([t,n]);return{exif:o,image:a}}async resize(e,t=this.maxWidth,i=this.maxHeight,n=this.quality,o=!1,r){const a=document.createElement("canvas");if(window.createImageBitmap){if((await createImageBitmap(e)).height!=e.height)throw new Error("Chrome Bug #1069965")}const l=Math.min(t,e.width),c=Math.min(i,e.height);if(e.width<=l&&e.height<=c&&!o)return;const d=Math.min(l/e.width,c/e.height);a.width=Math.floor(e.width*d),a.height=Math.floor(e.height*d);let u=1;n>=.8?u=3:n>=.4&&(u=2);const h={quality:u,cancelToken:r,alpha:!0};return s.resize(e,a,h)}}return n.enableLegacyInheritance(c),c})),define("WoltLabSuite/Core/Language/Chooser",["require","exports","tslib","../Core","../Language","../Dom/Util","../Ui/Dropdown/Simple"],(function(e,t,i,n,o,r,a){"use strict";function s(e,t,i){const o=u.get(e);if(void 0===i&&void 0===(i=Array.from(o.dropdownMenu.children).find((e=>~~e.dataset.languageId===t))))throw new Error(`The language id '${t}' is unknown`);o.element.value=t.toString(),n.triggerEvent(o.element,"change"),o.dropdownToggle.innerHTML=i.children[0].innerHTML,u.set(e,o),"function"==typeof o.callback&&o.callback(i)}function l(e){const t=e.currentTarget;h.get(t).forEach((e=>{const i=document.createElement("input");i.type="hidden",i.name=e,i.value=d(e).toString(),t.appendChild(i)}))}function c(e){const t=u.get(e);if(void 0===t)throw new Error(`Expected a valid language chooser input element, '${e}' is not i18n input field.`);return t}function d(e){return~~c(e).element.value}Object.defineProperty(t,"__esModule",{value:!0}),t.setLanguageId=t.removeChooser=t.getLanguageId=t.getChooser=t.init=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importDefault(a);const u=new Map,h=new WeakMap;t.init=function(e,t,i,n,c,d){if(u.has(t))return;const p=document.getElementById(e);if(null===p)throw new Error(`Expected a valid container id, cannot find '${t}'.`);let m=document.getElementById(t);null===m&&(m=document.createElement("input"),m.type="hidden",m.id=t,m.name=t,m.value=i.toString(),p.appendChild(m)),function(e,t,i,n,c,d){function p(t){const i=t.currentTarget,n=~~i.dataset.languageId,o=b.querySelector(".active");null!==o&&o.classList.remove("active"),n&&i.classList.add("active"),s(e,n,i)}let m;const f=t.parentElement;"DD"===f.nodeName?(m=document.createElement("div"),m.className="dropdown",f.insertAdjacentElement("afterbegin",m)):(m=f,m.classList.add("dropdown")),r.default.hide(t);const g=document.createElement("a");g.className="dropdownToggle dropdownIndicator boxFlag box24 inputPrefix","DD"===f.nodeName&&g.classList.add("button"),m.appendChild(g);const b=document.createElement("ul");if(b.className="dropdownMenu",m.appendChild(b),Object.entries(n).forEach((([e,t])=>{const n=document.createElement("li");n.className="boxFlag",n.addEventListener("click",p),n.dataset.languageId=e,void 0!==t.languageCode&&(n.dataset.languageCode=t.languageCode),b.appendChild(n);const o=document.createElement("a");o.className="box24",n.appendChild(o);const r=document.createElement("img");r.src=t.iconPath,r.alt="",r.className="iconFlag",o.appendChild(r);const a=document.createElement("span");a.textContent=t.languageName,o.appendChild(a),+e===i&&(g.innerHTML=o.innerHTML)})),d){const e=document.createElement("li");e.className="dropdownDivider",b.appendChild(e);const t=document.createElement("li");t.dataset.languageId="0",t.addEventListener("click",p),b.appendChild(t);const n=document.createElement("a");n.textContent=o.get("wcf.global.language.noSelection"),t.appendChild(n),0===i&&(g.innerHTML=n.innerHTML),t.addEventListener("click",p)}else if(0===i){g.innerHTML="";const e=document.createElement("div");g.appendChild(e);const t=document.createElement("span");t.className="icon icon24 fa-question pointer",e.appendChild(t);const i=document.createElement("span");i.textContent=o.get("wcf.global.language.noSelection"),e.appendChild(i)}a.default.init(g),u.set(e,{callback:c,dropdownMenu:b,dropdownToggle:g,element:t});const _=t.closest("form");if(null!==_){_.addEventListener("submit",l);let t=h.get(_);void 0===t&&(t=[],h.set(_,t)),t.push(e)}}(t,m,i,n,c,d)},t.getChooser=c,t.getLanguageId=d,t.removeChooser=function(e){u.delete(e)},t.setLanguageId=function(e,t){if(void 0===u.get(e))throw new Error(`Expected a valid input element, '${e}' is not i18n input field.`);s(e,t)}})),define("WoltLabSuite/Core/Language/Input",["require","exports","tslib","../Dom/Util","../Language","../Ui/Dropdown/Simple","../StringUtil"],(function(e,t,i,n,o,r,a){"use strict";function s(e,t,i){const n=d.get(e),o=r.default.getDropdownMenu(n.element.closest(".inputAddon").id).querySelector(`[data-language-id="${t}"]`),a=o?o.textContent:"";if(n.languageId!==t){const o=h.get(e);n.languageId&&o.set(n.languageId,n.element.value),0===t?h.set(e,new Map):(n.buttonLabel.classList.contains("active")||i)&&(n.element.value=o.get(t)||""),n.buttonLabel.textContent=a,n.buttonLabel.classList[t?"add":"remove"]("active"),n.languageId=t}i||(n.element.blur(),n.element.focus()),n.callbacks.has("select")&&n.callbacks.get("select")(n.element)}function l(e,t){if("open"!==t)return;const i=r.default.getDropdownMenu(e),n=document.getElementById(e).dataset.inputId,o=d.get(n),a=h.get(n);Array.from(i.children).forEach((e=>{const t=~~(e.dataset.languageId||"");if(t){let i=!1;o.languageId&&(i=t===o.languageId?""===o.element.value.trim():!a.get(t)),i?e.classList.add("missingValue"):e.classList.remove("missingValue")}}))}function c(e){const t=e.currentTarget;u.get(t).forEach((e=>{const i=d.get(e);if(!i.isEnabled)return;const n=h.get(e);i.callbacks.has("submit")&&i.callbacks.get("submit")(i.element),i.languageId&&n.set(i.languageId,i.element.value),n.size&&(n.forEach((function(i,n){const o=document.createElement("input");o.type="hidden",o.name=`${e}_i18n[${n}]`,o.value=i,t.appendChild(o)})),i.element.removeAttribute("name"))}))}Object.defineProperty(t,"__esModule",{value:!0}),t.validate=t.isEnabled=t.enable=t.disable=t.setValues=t.getValues=t.unregister=t.registerCallback=t.init=void 0,n=i.__importDefault(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importStar(a);const d=new Map,u=new WeakMap,h=new Map;t.init=function(e,t,i,n){if(h.has(e))return;const p=document.getElementById(e);if(null===p)throw new Error(`Expected a valid element id, cannot find '${e}'.`);const m=new Map;Object.entries(t).forEach((([e,t])=>{m.set(+e,a.unescapeHTML(t))})),h.set(e,m),function(e,t,i,n,a){let h=t.parentElement;if(!h.classList.contains("inputAddon")){h=document.createElement("div"),h.className="inputAddon","TEXTAREA"===t.nodeName&&h.classList.add("inputAddonTextarea"),h.dataset.inputId=e;const i=document.activeElement===t;t.insertAdjacentElement("beforebegin",h),h.appendChild(t),i&&t.focus()}h.classList.add("dropdown");const p=document.createElement("span");p.className="button dropdownToggle inputPrefix";const m=document.createElement("span");m.textContent=o.get("wcf.global.button.disabledI18n"),p.appendChild(m),h.insertBefore(p,t);const f=document.createElement("ul");f.className="dropdownMenu",p.insertAdjacentElement("afterend",f);const g=t=>{let i;i=t instanceof HTMLElement?t:t.currentTarget;const n=~~i.dataset.languageId,o=f.querySelector(".active");null!==o&&o.classList.remove("active"),n&&i.classList.add("active");const r=t instanceof HTMLElement;s(e,n,r)};if(Object.entries(n).forEach((([e,t])=>{const i=document.createElement("li");i.dataset.languageId=e;const n=document.createElement("span");n.textContent=t,i.appendChild(n),i.addEventListener("click",g),f.appendChild(i)})),!a){const e=document.createElement("li");e.className="dropdownDivider",f.appendChild(e);const t=document.createElement("li");t.dataset.languageId="0",t.addEventListener("click",g);const i=document.createElement("span");i.textContent=o.get("wcf.global.button.disabledI18n"),t.appendChild(i),f.appendChild(t)}let b;(a||i.size)&&(b=Array.from(f.children).find((e=>+e.dataset.languageId===window.LANGUAGE_ID))),r.default.init(p),r.default.registerCallback(h.id,l),d.set(e,{buttonLabel:m,callbacks:new Map,element:t,languageId:0,isEnabled:!0,forceSelection:a});const _=t.closest("form");if(null!==_){_.addEventListener("submit",c);let t=u.get(_);void 0===t&&(t=[],u.set(_,t)),t.push(e)}b&&g(b)}(e,p,m,i,n)},t.registerCallback=function(e,t,i){if(!h.has(e))throw new Error(`Unknown element id '${e}'.`);d.get(e).callbacks.set(t,i)},t.unregister=function(e){if(!h.has(e))throw new Error(`Unknown element id '${e}'.`);h.delete(e),d.delete(e)},t.getValues=function(e){const t=d.get(e);if(void 0===t)throw new Error(`Expected a valid i18n input element, '${e}' is not i18n input field.`);const i=h.get(e);return i.set(t.languageId,t.element.value),i},t.setValues=function(e,t){const i=d.get(e);if(void 0===i)throw new Error(`Expected a valid i18n input element, '${e}' is not i18n input field.`);i.element.value="";const n=new Map(Object.entries(t).map((([e,t])=>[+e,t])));if(n.has(0))return i.element.value=n.get(0),n.delete(0),h.set(e,n),void s(e,0,!0);h.set(e,n),i.languageId=0,s(e,window.LANGUAGE_ID,!0)},t.disable=function(e){const t=d.get(e);if(void 0===t)throw new Error(`Expected a valid element, '${e}' is not an i18n input field.`);if(!t.isEnabled)return;t.isEnabled=!1;const i=t.buttonLabel.parentElement;n.default.hide(i),i.parentElement.classList.remove("inputAddon","dropdown")},t.enable=function(e){const t=d.get(e);if(void 0===t)throw new Error(`Expected a valid i18n input element, '${e}' is not i18n input field.`);if(t.isEnabled)return;t.isEnabled=!0;const i=t.buttonLabel.parentElement;n.default.show(i),i.parentElement.classList.add("inputAddon","dropdown")},t.isEnabled=function(e){const t=d.get(e);if(void 0===t)throw new Error(`Expected a valid i18n input element, '${e}' is not i18n input field.`);return t.isEnabled},t.validate=function(e,t){const i=d.get(e);if(void 0===i)throw new Error(`Expected a valid i18n input element, '${e}' is not i18n input field.`);if(!i.isEnabled)return!0;const n=h.get(e),o=r.default.getDropdownMenu(i.element.parentElement.id);i.languageId&&n.set(i.languageId,i.element.value);let a=!1,s=!1;return Array.from(o.children).forEach((e=>{const t=~~e.dataset.languageId;if(t)if(n.has(t)&&0!==n.get(t).length){if(a)return!1;s=!0}else{if(s)return!1;a=!0}})),!a||t}})),define("WoltLabSuite/Core/Language/Text",["require","exports","tslib","./Input"],(function(e,t,i,n){"use strict";function o(e){void 0!==window.jQuery&&window.jQuery(e).redactor("code.set",e.value)}function r(e){void 0!==window.jQuery&&(e.value=window.jQuery(e).redactor("code.get"))}Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,n=i.__importStar(n),t.init=function(e,t,i,a){const s=document.getElementById(e);if(!s||"TEXTAREA"!==s.nodeName||!s.classList.contains("wysiwygTextarea"))throw new Error(`Expected <textarea class="wysiwygTextarea" /> for id '${e}'.`);n.init(e,t,i,a),n.registerCallback(e,"select",o),n.registerCallback(e,"submit",r)}})),define("WoltLabSuite/Core/Media/Clipboard",["require","exports","tslib","../Controller/Clipboard","../Ui/Notification","../Ui/Dialog","../Event/Handler","../Language","../Ajax"],(function(e,t,i,n,o,r,a,s,l){"use strict";let c;Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importStar(l);const d=new class{_ajaxSetup(){return{data:{className:"wcf\\data\\media\\MediaAction"}}}_ajaxSuccess(e){switch(e.actionName){case"getSetCategoryDialog":r.open(this,e.returnValues.template);break;case"setCategory":r.close(this),o.show(),n.reload()}}_dialogSetup(){return{id:"mediaSetCategoryDialog",options:{onSetup:e=>{e.querySelector("button").addEventListener("click",(t=>{t.preventDefault();const i=e.querySelector('select[name="categoryID"]');var n;n=~~i.value,l.api(d,{actionName:"setCategory",objectIDs:u,parameters:{categoryID:n}});t.currentTarget.disabled=!0}))},title:s.get("wcf.media.setCategory")},source:null}}};let u=[];t.init=function(e,t,i){n.setup({hasMarkedItems:t,pageClassName:e}),c=i,a.add("com.woltlab.wcf.clipboard","com.woltlab.wcf.media",(e=>function(e){const t=e.data.parameters.objectIDs;switch(e.data.actionName){case"com.woltlab.wcf.media.delete":null!==e.responseData&&c.clipboardDeleteMedia(t);break;case"com.woltlab.wcf.media.insert":c.clipboardInsertMedia(t);break;case"com.woltlab.wcf.media.setCategory":u=t,l.api(d,{actionName:"getSetCategoryDialog"})}}(e)))}})),define("WoltLabSuite/Core/Media/Data",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})})),define("WoltLabSuite/Core/Media/Upload",["require","exports","tslib","../Upload","../Core","../Dom/Util","../Dom/Traverse","../Language","../User","../Date/Util","../FileUtil","../Dom/Change/Listener","../Event/Handler"],(function(e,t,i,n,o,r,a,s,l,c,d,u,h){"use strict";n=i.__importDefault(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importDefault(l),c=i.__importStar(c),d=i.__importStar(d),u=i.__importStar(u),h=i.__importStar(h);class p extends n.default{constructor(e,t,i){super(e,t,o.extend({className:"wcf\\data\\media\\MediaAction",multiple:!!i.mediaManager,singleFileRequests:!0},i||{})),this._categoryId=null,i=i||{},this._elementTagSize=144,this._options.elementTagSize&&(this._elementTagSize=this._options.elementTagSize),this._mediaManager=null,this._options.mediaManager&&(this._mediaManager=this._options.mediaManager,delete this._options.mediaManager)}_createFileElement(e){let t;if("OL"===this._target.nodeName||"UL"===this._target.nodeName)t=document.createElement("li");else{if("TBODY"===this._target.nodeName){const i=this._target.getElementsByTagName("TR")[0],n=this._target.parentNode.parentNode;return"none"===n.style.getPropertyValue("display")?(t=i,n.style.removeProperty("display"),document.getElementById(this._target.dataset.noItemsInfo).remove()):(t=i.cloneNode(!0),t.removeAttribute("id"),r.identify(t)),Array.from(t.getElementsByTagName("TD")).forEach((t=>{if(t.classList.contains("columnMark"))t.querySelectorAll("[data-object-id]").forEach((e=>r.hide(e)));else if(t.classList.contains("columnIcon"))t.querySelectorAll("[data-object-id]").forEach((e=>r.hide(e))),t.querySelector(".mediaEditButton").classList.add("jsMediaEditButton"),t.querySelector(".jsObjectAction[data-object-action='delete']").dataset.confirmMessage=s.get("wcf.media.delete.confirmMessage",{title:e.name});else if(t.classList.contains("columnFilename")){let i=t.querySelector("img");i||(i=t.querySelector(".icon48"));const n=document.createElement("span");n.className="icon icon48 fa-spinner mediaThumbnail",r.replaceElement(i,n);const o=t.querySelectorAll(".box48 > div > p");o[0].textContent=e.name;let a=o[1].getElementsByTagName("A")[0];a||(a=document.createElement("a"),o[1].getElementsByTagName("SMALL")[0].appendChild(a)),a.setAttribute("href",l.default.getLink()),a.textContent=l.default.username}else t.classList.contains("columnUploadTime")?(t.innerHTML="",t.appendChild(c.getTimeElement(new Date))):t.classList.contains("columnDigits")?t.textContent=d.formatFilesize(e.size):t.innerHTML=""})),r.prepend(t,this._target),t}t=document.createElement("p")}const i=document.createElement("div");i.className="mediaThumbnail",t.appendChild(i);const n=document.createElement("span");n.className="icon icon144 fa-spinner",i.appendChild(n);const o=document.createElement("div");o.className="mediaInformation",t.appendChild(o);const a=document.createElement("p");a.className="mediaTitle",a.textContent=e.name,o.appendChild(a);const h=document.createElement("progress");return h.max=100,o.appendChild(h),r.prepend(t,this._target),u.trigger(),t}_getParameters(){const e={elementTagSize:this._elementTagSize};if(this._mediaManager){e.imagesOnly=this._mediaManager.getOption("imagesOnly");const t=this._mediaManager.getCategoryId();t&&(e.categoryID=t)}return o.extend(super._getParameters(),e)}_replaceFileIcon(e,t,i){if(t.elementTag)e.outerHTML=t.elementTag;else if(t.tinyThumbnailType){const n=document.createElement("img");n.src=t.tinyThumbnailLink,n.alt="",n.style.setProperty("width",`${i}px`),n.style.setProperty("height",`${i}px`),r.replaceElement(e,n)}else{e.classList.remove("fa-spinner");let i=d.getIconNameByFilename(t.filename);i&&(i="-"+i),e.classList.add(`fa-file${i}-o`)}}_success(e,t){const i=this._fileElements[e];i.forEach((e=>{const i=e.dataset.internalFileId,n=t.returnValues.media[i];if("TR"===e.tagName)if(n)e.dataset.objectId=n.mediaID.toString(),e.querySelectorAll("[data-object-id]").forEach((e=>{e.dataset.objectId=n.mediaID.toString(),e.style.removeProperty("display")})),e.querySelector(".columnMediaID").textContent=n.mediaID.toString(),this._replaceFileIcon(e.querySelector(".fa-spinner"),n,48);else{let n=t.returnValues.errors[i];n||(n={errorType:"uploadFailed",filename:e.dataset.filename});const o=e.querySelector(".fa-spinner");o.classList.remove("fa-spinner"),o.classList.add("fa-remove","pointer","jsTooltip"),o.title=s.get("wcf.global.button.delete"),o.addEventListener("click",(e=>{e.currentTarget.closest(".mediaFile").remove(),h.fire("com.woltlab.wcf.media.upload","removedErroneousUploadRow")})),e.classList.add("uploadFailed");const a=e.querySelectorAll(".columnFilename .box48 > div > p")[1];r.innerError(a,s.get(`wcf.media.upload.error.${n.errorType}`,{filename:n.filename})),a.remove()}else if(a.childByTag(a.childByClass(e,"mediaInformation"),"PROGRESS").remove(),n){const t=a.childByTag(a.childByClass(e,"mediaThumbnail"),"SPAN");this._replaceFileIcon(t,n,144),e.classList.add("jsClipboardObject","mediaFile","jsObjectActionObject"),e.dataset.objectId=n.mediaID.toString(),this._mediaManager&&(this._mediaManager.setupMediaElement(n,e),this._mediaManager.addMedia(n,e))}else{let n=t.returnValues.errors[i];n||(n={errorType:"uploadFailed",filename:e.dataset.filename});const o=a.childByTag(a.childByClass(e,"mediaThumbnail"),"SPAN");o.classList.remove("fa-spinner"),o.classList.add("fa-remove","pointer"),e.classList.add("uploadFailed","jsTooltip"),e.title=s.get("wcf.global.button.delete"),e.addEventListener("click",(()=>e.remove()));a.childByClass(a.childByClass(e,"mediaInformation"),"mediaTitle").innerText=s.get(`wcf.media.upload.error.${n.errorType}`,{filename:n.filename})}u.trigger()})),h.fire("com.woltlab.wcf.media.upload","success",{files:i,isMultiFileUpload:-1!==this._multiFileUploadIds.indexOf(e),media:t.returnValues.media,upload:this,uploadId:e})}}return o.enableLegacyInheritance(p),p})),define("WoltLabSuite/Core/Media/Replace",["require","exports","tslib","../Core","./Upload","../Language","../Dom/Util","../Ui/Notification","../Dom/Change/Listener"],(function(e,t,i,n,o,r,a,s,l){"use strict";n=i.__importStar(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importDefault(a),s=i.__importStar(s),l=i.__importStar(l);class c extends o.default{constructor(e,t,i,o){super(t,i,n.extend(o,{action:"replaceFile"})),this._mediaID=e}_createButton(){super._createButton(),this._button.classList.add("small"),this._button.querySelector("span").textContent=r.get("wcf.media.button.replaceFile")}_createFileElement(){return this._target}_getFormData(){return{objectIDs:[this._mediaID]}}_success(e,t){this._fileElements[e].forEach((e=>{const i=e.dataset.internalFileId,n=t.returnValues.media[i];if(n)n.isImage&&(this._target.innerHTML=n.smallThumbnailTag),document.getElementById("mediaFilename").textContent=n.filename,document.getElementById("mediaFilesize").textContent=n.formattedFilesize,n.isImage&&(document.getElementById("mediaImageDimensions").textContent=n.imageDimensions),document.getElementById("mediaUploader").innerHTML=n.userLinkElement,this._options.mediaEditor.updateData(n),a.default.innerError(this._buttonContainer,""),s.show();else{let n=t.returnValues.errors[i];n||(n={errorType:"uploadFailed",filename:e.dataset.filename}),a.default.innerError(this._buttonContainer,r.get("wcf.media.upload.error."+n.errorType,{filename:n.filename}))}l.trigger()}))}}return n.enableLegacyInheritance(c),c})),define("WoltLabSuite/Core/Media/Editor",["require","exports","tslib","../Core","../Ui/Notification","../Ui/Dialog","../Language/Chooser","../Language/Input","../Dom/Util","../Dom/Traverse","../Dom/Change/Listener","../Language","../Ajax","./Replace"],(function(e,t,i,n,o,r,a,s,l,c,d,u,h,p){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importStar(l),c=i.__importStar(c),d=i.__importDefault(d),u=i.__importStar(u),h=i.__importStar(h),p=i.__importDefault(p);class m{constructor(e){if(this._availableLanguageCount=1,this._categoryIds=[],this._dialogs=new Map,this._media=null,this._oldCategoryId=0,this._callbackObject=e||{},this._callbackObject._editorClose&&"function"!=typeof this._callbackObject._editorClose)throw new TypeError("Callback object has no function '_editorClose'.");if(this._callbackObject._editorSuccess&&"function"!=typeof this._callbackObject._editorSuccess)throw new TypeError("Callback object has no function '_editorSuccess'.")}_ajaxSetup(){return{data:{actionName:"update",className:"wcf\\data\\media\\MediaAction"}}}_ajaxSuccess(){o.show(),this._callbackObject._editorSuccess&&(this._callbackObject._editorSuccess(this._media,this._oldCategoryId),this._oldCategoryId=0),r.close(`mediaEditor_${this._media.mediaID}`),this._media=null}_close(){this._media=null,this._callbackObject._editorClose&&this._callbackObject._editorClose()}_initEditor(e,t){this._availableLanguageCount=~~t.returnValues.availableLanguageCount,this._categoryIds=t.returnValues.categoryIDs.map((e=>~~e)),t.returnValues.mediaData&&(this._media=t.returnValues.mediaData);const i=this._media,n=i.mediaID;setTimeout((()=>{if(this._availableLanguageCount>1&&a.setLanguageId(`mediaEditor_${n}_languageID`,i.languageID||window.LANGUAGE_ID),this._categoryIds.length){const t=e.querySelector("select[name=categoryID]");i.categoryID?t.value=i.categoryID.toString():t.value="0"}const t=e.querySelector("input[name=title]"),o=e.querySelector("input[name=altText]"),r=e.querySelector("textarea[name=caption]");if(this._availableLanguageCount>1&&i.isMultilingual?(document.getElementById(`altText_${n}`)&&s.setValues(`altText_${n}`,i.altText||{}),document.getElementById(`caption_${n}`)&&s.setValues(`caption_${n}`,i.caption||{}),s.setValues(`title_${n}`,i.title||{})):(t.value=i.title?i.title[i.languageID||window.LANGUAGE_ID]:"",o&&(o.value=i.altText?i.altText[i.languageID||window.LANGUAGE_ID]:""),r&&(r.value=i.caption?i.caption[i.languageID||window.LANGUAGE_ID]:"")),this._availableLanguageCount>1){const t=e.querySelector("input[name=isMultilingual]");t.addEventListener("change",(e=>this._updateLanguageFields(e))),this._updateLanguageFields(null,t)}o&&o.addEventListener("keypress",(e=>this._keyPress(e))),t.addEventListener("keypress",(e=>this._keyPress(e))),e.querySelector("button[data-type=submit]").addEventListener("click",(()=>this._saveData())),document.activeElement.blur(),document.getElementById(`mediaEditor_${n}`).parentNode.scrollTop=0;const c=e.querySelector(".mediaManagerMediaReplaceButton");let u=e.querySelector(".mediaThumbnail");u||(u=document.createElement("div"),e.appendChild(u)),new p.default(n,l.identify(c),l.identify(u),{mediaEditor:this}),d.default.trigger()}),200)}_keyPress(e){"Enter"===e.key&&(e.preventDefault(),this._saveData())}_saveData(){const e=r.getDialog(`mediaEditor_${this._media.mediaID}`).content,t=e.querySelector("select[name=categoryID]"),i=e.querySelector("input[name=altText]"),n=e.querySelector("textarea[name=caption]"),o=e.querySelector("input[name=captionEnableHtml]"),d=e.querySelector("input[name=title]");let p=!1;const m=!!i&&c.childByClass(i.parentNode,"innerError"),f=!!n&&c.childByClass(n.parentNode,"innerError"),g=c.childByClass(d.parentNode,"innerError");if(this._oldCategoryId=this._media.categoryID,this._categoryIds.length&&(this._media.categoryID=~~t.value,-1===this._categoryIds.indexOf(this._media.categoryID)&&(this._media.categoryID=0)),this._availableLanguageCount>1){const t=e.querySelector("input[name=isMultilingual]");this._media.isMultilingual=~~t.checked,this._media.languageID=this._media.isMultilingual?null:a.getLanguageId(`mediaEditor_${this._media.mediaID}_languageID`)}else this._media.languageID=window.LANGUAGE_ID;this._media.altText={},this._media.caption={},this._media.title={},this._availableLanguageCount>1&&this._media.isMultilingual?(i&&!s.validate(i.id,!0)&&(p=!0,m||l.innerError(i,u.get("wcf.global.form.error.multilingual"))),n&&!s.validate(n.id,!0)&&(p=!0,f||l.innerError(n,u.get("wcf.global.form.error.multilingual"))),s.validate(d.id,!0)||(p=!0,g||l.innerError(d,u.get("wcf.global.form.error.multilingual"))),this._media.altText=i?this.mapToI18nValues(s.getValues(i.id)):"",this._media.caption=n?this.mapToI18nValues(s.getValues(n.id)):"",this._media.title=this.mapToI18nValues(s.getValues(d.id))):(this._media.altText[this._media.languageID]=i?i.value:"",this._media.caption[this._media.languageID]=n?n.value:"",this._media.title[this._media.languageID]=d.value),this._media.captionEnableHtml=o?~~o.checked:0;const b={allowAll:~~document.getElementById(`mediaEditor_${this._media.mediaID}_aclAllowAll`).checked,group:Array.from(e.querySelectorAll(`input[name="mediaEditor_${this._media.mediaID}_aclValues[group][]"]`)).map((e=>~~e.value)),user:Array.from(e.querySelectorAll(`input[name="mediaEditor_${this._media.mediaID}_aclValues[user][]"]`)).map((e=>~~e.value))};p||(m&&m.remove(),f&&f.remove(),g&&g.remove(),h.api(this,{actionName:"update",objectIDs:[this._media.mediaID],parameters:{aclValues:b,altText:this._media.altText,caption:this._media.caption,data:{captionEnableHtml:this._media.captionEnableHtml,categoryID:this._media.categoryID,isMultilingual:this._media.isMultilingual,languageID:this._media.languageID},title:this._media.title}}))}mapToI18nValues(e){const t={};return e.forEach(((e,i)=>t[i]=e)),t}_updateLanguageFields(e,t){e&&(t=e.currentTarget);const i=this._media.mediaID,n=document.getElementById(`mediaEditor_${i}_languageIDContainer`).parentNode;t.checked?(s.enable(`title_${i}`),document.getElementById(`caption_${i}`)&&s.enable(`caption_${i}`),document.getElementById(`altText_${i}`)&&s.enable(`altText_${i}`),l.hide(n)):(s.disable(`title_${i}`),document.getElementById(`caption_${i}`)&&s.disable(`caption_${i}`),document.getElementById(`altText_${i}`)&&s.disable(`altText_${i}`),l.show(n))}edit(e){let t,i=0;if("object"==typeof e?(t=e,i=t.mediaID):(t={mediaID:e},i=e),null!==this._media)throw new Error(`Cannot edit media with id ${i} while editing media with id '${this._media.mediaID}'.`);this._media=t,this._dialogs.has(`mediaEditor_${i}`)||this._dialogs.set(`mediaEditor_${i}`,{_dialogSetup:()=>({id:`mediaEditor_${i}`,options:{backdropCloseOnClick:!1,onClose:()=>this._close(),title:u.get("wcf.media.edit")},source:{after:(e,t)=>this._initEditor(e,t),data:{actionName:"getEditorDialog",className:"wcf\\data\\media\\MediaAction",objectIDs:[i]}}})}),r.open(this._dialogs.get(`mediaEditor_${i}`))}updateData(e){this._callbackObject._editorSuccess&&this._callbackObject._editorSuccess(e,void 0,!1)}}return n.enableLegacyInheritance(m),m})),define("WoltLabSuite/Core/Notification/Handler",["require","exports","tslib","../Ajax","../Core","../Event/Handler","../StringUtil"],(function(e,t,i,n,o,r,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a);class s{constructor(e){this.inactiveSince=0,this.lastRequestTimestamp=window.TIME_NOW,this.requestTimer=void 0,e=o.extend({enableNotifications:!1,icon:""},e),this.icon=e.icon,this.prepareNextRequest(),document.addEventListener("visibilitychange",(e=>this.onVisibilityChange(e))),window.addEventListener("storage",(()=>this.onStorage())),this.onVisibilityChange(),e.enableNotifications&&this.enableNotifications()}async enableNotifications(){switch(window.Notification.permission){case"granted":this.allowNotification=!0;break;case"default":"granted"===await window.Notification.requestPermission()&&(this.allowNotification=!0);break}}onVisibilityChange(e){if(e&&!document.hidden){(Date.now()-this.inactiveSince)/6e4>4&&(this.resetTimer(),this.dispatchRequest())}this.inactiveSince=document.hidden?Date.now():0}getNextDelay(){if(0===this.inactiveSince)return 5;const e=~~((Date.now()-this.inactiveSince)/6e4);return e<15?5:e<30?10:15}resetTimer(){this.requestTimer&&(window.clearTimeout(this.requestTimer),this.requestTimer=void 0)}prepareNextRequest(){this.resetTimer(),this.requestTimer=window.setTimeout(this.dispatchRequest.bind(this),6e4*this.getNextDelay())}dispatchRequest(){const e={};r.fire("com.woltlab.wcf.notification","beforePoll",e),e.lastRequestTimestamp=this.lastRequestTimestamp,n.api(this,{parameters:e})}onStorage(){let e,t;this.prepareNextRequest();let i=!1;try{e=window.localStorage.getItem(o.getStoragePrefix()+"notification"),t=window.localStorage.getItem(o.getStoragePrefix()+"keepAliveData"),e=JSON.parse(e),t=JSON.parse(t)}catch(e){i=!0}i||r.fire("com.woltlab.wcf.notification","onStorage",{pollData:e,keepAliveData:t})}_ajaxSuccess(e){const t=e.returnValues.keepAliveData,i=e.returnValues.pollData;window.WCF.System.PushNotification.executeCallbacks({returnValues:t});let n=!1;try{window.localStorage.setItem(o.getStoragePrefix()+"notification",JSON.stringify(i)),window.localStorage.setItem(o.getStoragePrefix()+"keepAliveData",JSON.stringify(t))}catch(e){n=!0,window.console.log(e)}n||this.prepareNextRequest(),this.lastRequestTimestamp=e.returnValues.lastRequestTimestamp,r.fire("com.woltlab.wcf.notification","afterPoll",i),this.showNotification(i)}showNotification(e){if(this.allowNotification&&"object"==typeof e.notification&&"string"==typeof e.notification.message){const t=new window.Notification(e.notification.title,{body:a.unescapeHTML(e.notification.message).replace(/ /g," "),icon:this.icon});t.onclick=()=>{window.focus(),t.close(),window.location.href=e.notification.link}}}_ajaxSetup(){return{data:{actionName:"poll",className:"wcf\\data\\session\\SessionAction"},ignoreError:!window.ENABLE_DEBUG_MODE,silent:!window.ENABLE_DEBUG_MODE}}}let l;t.setup=function(e){l||(l=new s(e))}})),define("WoltLabSuite/Core/Ui/Redactor/DragAndDrop",["require","exports","tslib","../../Event/Handler","../../Language"],(function(e,t,i,n,o){"use strict";function r(e){if(e.preventDefault(),!e.dataTransfer||!e.dataTransfer.types)return;const t=Object.keys(e.dataTransfer).some((e=>e.startsWith("moz")));u=!1,t?"application/x-moz-file"===e.dataTransfer.types[0]&&(u=!0):u=e.dataTransfer.types.some((e=>"Files"===e)),u&&(d||(d=!0,c.forEach(((e,t)=>{const i=e.editor.$editor[0];if(!i.parentElement)return void c.delete(t);let r=e.element;null===r&&(r=document.createElement("div"),r.className="redactorDropArea",r.dataset.elementId=e.editor.$element[0].id,r.dataset.dropHere=o.get("wcf.attachment.dragAndDrop.dropHere"),r.dataset.dropNow=o.get("wcf.attachment.dragAndDrop.dropNow"),r.addEventListener("dragover",(()=>{r.classList.add("active")})),r.addEventListener("dragleave",(()=>{r.classList.remove("active")})),r.addEventListener("drop",(e=>function(e){if(!u)return;if(!e.dataTransfer||!e.dataTransfer.files.length)return;e.preventDefault();const t=e.currentTarget.dataset.elementId;Array.from(e.dataTransfer.files).forEach((e=>{const i={file:e};n.fire("com.woltlab.wcf.redactor2",`dragAndDrop_${t}`,i)})),a()}(e))),e.element=r),i.parentElement.insertBefore(r,i),r.style.setProperty("top",`${i.offsetTop}px`,"")}))))}function a(){d&&u&&(null!==h&&window.clearTimeout(h),h=window.setTimeout((()=>{d||c.forEach((e=>{e.element&&e.element.parentElement&&(e.element.classList.remove("active"),e.element.remove())})),h=null}),100),d=!1)}function s(){window.addEventListener("dragend",(e=>e.preventDefault())),window.addEventListener("dragover",(e=>r(e))),window.addEventListener("dragleave",(()=>a())),window.addEventListener("drop",(e=>function(e){if(null===e.target.closest(".redactor-layer")){const t={cancelDrop:!0,event:e};c.forEach((e=>{n.fire("com.woltlab.wcf.redactor2",`dragAndDrop_globalDrop_${e.editor.$element[0].id}`,t)})),t.cancelDrop&&e.preventDefault()}a()}(e))),l=!0}Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,n=i.__importStar(n),o=i.__importStar(o);let l=!1;const c=new Map;let d=!1,u=!1,h=null;t.init=function(e){l||s(),c.set(e.uuid,{editor:e,element:null})}})),define("WoltLabSuite/Core/Ui/DragAndDrop",["require","exports","tslib","../Core","../Event/Handler","./Redactor/DragAndDrop"],(function(e,t,i,n,o,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.register=void 0,n=i.__importStar(n),o=i.__importStar(o),t.register=function(e){const t=n.getUuid();e=n.extend({element:null,elementId:"",onDrop:function(e){},onGlobalDrop:function(e){}}),o.add("com.woltlab.wcf.redactor2",`dragAndDrop_${e.elementId}`,e.onDrop),o.add("com.woltlab.wcf.redactor2",`dragAndDrop_globalDrop_${e.elementId}`,e.onGlobalDrop),r.init({uuid:t,$editor:[e.element],$element:[{id:e.elementId}]})}})),define("WoltLabSuite/Core/Ui/FlexibleMenu",["require","exports","tslib","../Dom/Change/Listener","../Dom/Util","../Dom/Traverse","./Dropdown/Simple"],(function(e,t,i,n,o,r,a){"use strict";function s(e){const t=document.getElementById(e);if(null===t)throw"Expected a valid element id, '"+e+"' does not exist.";if(u.has(e))return;const i=r.childByTag(t,"UL");if(null===i)throw"Expected an <ul> element as child of container '"+e+"'.";u.set(e,t),m.set(e,i),d(e)}function l(){document.querySelectorAll(".tabMenuContainer:not(.jsFlexibleMenuEnabled), .messageTabMenu:not(.jsFlexibleMenuEnabled)").forEach((e=>{const t=r.childByTag(e,"NAV");null!==t&&(e.classList.add("jsFlexibleMenuEnabled"),s(o.default.identify(t)))}))}function c(){u.forEach(((e,t)=>{d(t)}))}function d(e){const t=u.get(e);if(void 0===t)throw"Expected a valid element id, '"+e+"' is unknown.";const i=window.getComputedStyle(t);let n=t.parentNode.clientWidth;n-=o.default.styleAsInt(i,"margin-left"),n-=o.default.styleAsInt(i,"margin-right");const s=m.get(e),l=r.childrenByTag(s,"LI");let c=h.get(e),f=0;if(void 0!==c){for(let e=0,t=l.length;e<t;e++){const t=l[e];t.classList.contains("dropdown")||o.default.show(t)}null!==c.parentNode&&(f=o.default.outerWidth(c))}const g=[];if(s.scrollWidth-f>n)for(let e=l.length-1;e>=0;e--){const t=l[e];if(!(t.classList.contains("dropdown")||t.classList.contains("active")||t.classList.contains("ui-state-active"))&&(g.push(t),o.default.hide(t),s.scrollWidth<n))break}if(g.length){let t;if(void 0===c){c=document.createElement("li"),c.className="dropdown jsFlexibleMenuDropdown";const i=document.createElement("a");i.className="icon icon16 fa-list",c.appendChild(i),t=document.createElement("ul"),t.classList.add("dropdownMenu"),c.appendChild(t),h.set(e,c),p.set(e,t),a.default.init(i)}else t=p.get(e);null===c.parentNode&&s.appendChild(c);const i=document.createDocumentFragment();g.forEach((t=>{const n=document.createElement("li");n.innerHTML=t.innerHTML,n.addEventListener("click",(i=>{var n;i.preventDefault(),null===(n=t.querySelector("a"))||void 0===n||n.click(),setTimeout((()=>{d(e)}),59)})),i.appendChild(n)})),t.innerHTML="",t.appendChild(i)}else void 0!==c&&null!==c.parentNode&&c.remove()}Object.defineProperty(t,"__esModule",{value:!0}),t.rebuild=t.rebuildAll=t.registerTabMenus=t.register=t.setup=void 0,n=i.__importDefault(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importDefault(a);const u=new Map,h=new Map,p=new Map,m=new Map;t.setup=function(){null!==document.getElementById("mainMenu")&&s("mainMenu");const e=document.querySelector(".navigationHeader");null!==e&&s(o.default.identify(e)),window.addEventListener("resize",c),n.default.add("WoltLabSuite/Core/Ui/FlexibleMenu",l)},t.register=s,t.registerTabMenus=l,t.rebuildAll=c,t.rebuild=d})),define("WoltLabSuite/Core/Ui/Suggestion",["require","exports","tslib","../Ajax","../Core","./Dropdown/Simple"],(function(e,t,i,n,o,r){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r);class a{constructor(e,t){this.dropdownMenu=null,this.value="";const i=document.getElementById(e);if(null===i)throw new Error("Expected a valid element id.");if(this.element=i,this.ajaxPayload=o.extend({actionName:"getSearchResultList",className:"",interfaceName:"wcf\\data\\ISearchAction",parameters:{data:{}}},t.ajax),"function"!=typeof t.callbackSelect)throw new Error("Expected a valid callback for option 'callbackSelect'.");this.callbackSelect=t.callbackSelect,this.excludedSearchValues=new Set(Array.isArray(t.excludedSearchValues)?t.excludedSearchValues:[]),this.threshold=void 0===t.threshold?3:t.threshold,this.element.addEventListener("click",(e=>e.preventDefault())),this.element.addEventListener("keydown",(e=>this.keyDown(e))),this.element.addEventListener("keyup",(e=>this.keyUp(e)))}addExcludedValue(e){this.excludedSearchValues.add(e)}removeExcludedValue(e){this.excludedSearchValues.delete(e)}isActive(){return null!==this.dropdownMenu&&r.default.isOpen(this.element.id)}keyDown(e){if(!this.isActive())return!0;if(-1===["ArrowDown","ArrowUp","Enter","Escape"].indexOf(e.key))return!0;let t,i=0;const n=this.dropdownMenu.childElementCount;for(;i<n&&(t=this.dropdownMenu.children[i],!t.classList.contains("active"));)i++;if("Enter"===e.key)r.default.close(this.element.id),this.select(void 0,t);else if("Escape"===e.key){if(!r.default.isOpen(this.element.id))return!0;r.default.close(this.element.id)}else{let o=0;"ArrowUp"===e.key?o=(0===i?n:i)-1:"ArrowDown"===e.key&&(o=i+1,o===n&&(o=0)),o!==i&&(t.classList.remove("active"),this.dropdownMenu.children[o].classList.add("active"))}return e.preventDefault(),!1}select(e,t){if(e instanceof MouseEvent){t=e.currentTarget.parentNode}const i=t.children[0];this.callbackSelect(this.element.id,{objectId:+(i.dataset.objectId||0),value:t.textContent||"",type:i.dataset.type||""}),e instanceof MouseEvent&&this.element.focus()}keyUp(e){const t=e.currentTarget.value.trim();if(this.value!==t){if(t.length<this.threshold)return null!==this.dropdownMenu&&r.default.close(this.element.id),void(this.value=t);this.value=t,n.api(this,{parameters:{data:{excludedSearchValues:Array.from(this.excludedSearchValues),searchString:t}}})}}_ajaxSetup(){return{data:this.ajaxPayload}}_ajaxSuccess(e){null===this.dropdownMenu?(this.dropdownMenu=document.createElement("div"),this.dropdownMenu.className="dropdownMenu",r.default.initFragment(this.element,this.dropdownMenu)):this.dropdownMenu.innerHTML="",Array.isArray(e.returnValues)&&e.returnValues.length>0?(e.returnValues.forEach(((e,t)=>{const i=document.createElement("a");e.icon?(i.className="box16",i.innerHTML=`${e.icon} <span></span>`,i.children[1].textContent=e.label):i.textContent=e.label,i.dataset.objectId=e.objectID.toString(),e.type&&(i.dataset.type=e.type),i.addEventListener("click",(e=>this.select(e)));const n=document.createElement("li");0===t&&(n.className="active"),n.appendChild(i),this.dropdownMenu.appendChild(n)})),r.default.open(this.element.id,!0)):r.default.close(this.element.id)}}return o.enableLegacyInheritance(a),a})),define("WoltLabSuite/Core/Ui/ItemList",["require","exports","tslib","../Core","../Dom/Traverse","../Language","./Suggestion","./Dropdown/Simple","../Dom/Util"],(function(e,t,i,n,o,r,a,s,l){"use strict";function c(e){const t=y.get(e);return-1===t.options.maxItems||t.list.childElementCount-1<t.options.maxItems}function d(e){const t=y.get(e);c(e)?(l.default.show(t.element),l.default.hide(t.limitReached)):(l.default.hide(t.element),l.default.show(t.limitReached))}function u(e){const t=e.currentTarget,i=t.parentElement.previousElementSibling;"Backspace"===e.key?0===t.value.length&&null!==i&&(i.classList.contains("active")?b(i):i.classList.add("active")):"Escape"===e.key&&null!==i&&i.classList.contains("active")&&i.classList.remove("active")}function h(e){if("Enter"===e.key){e.preventDefault();const t=e.currentTarget;if(y.get(t.id).options.restricted)return;const i=t.value.trim();i.length&&g(t.id,{objectId:0,value:i})}}function p(e){const t=e.currentTarget;if(y.get(t.id).options.restricted)return;let i=t.value;i.includes(",")&&(i=i.replace(/,/g,""),i.length?g(t.id,{objectId:0,value:i}):t.value=i)}function m(e){e.preventDefault();const t=e.clipboardData.getData("text/plain"),i=e.currentTarget,n=i.id,o=+i.maxLength;t.split(/,/).forEach((e=>{e=e.trim(),o&&e.length>o&&(e=e.substr(0,o)),e.length>0&&c(n)&&g(n,{objectId:0,value:e})}))}function f(e){const t=e.currentTarget;if(t.value.length>0){const e=t.parentElement.previousElementSibling;null!==e&&e.classList.remove("active")}}function g(e,t){const i=y.get(e),n=document.createElement("li");n.className="item";const o=document.createElement("span");if(o.className="content",o.dataset.objectId=t.objectId.toString(),t.type&&(o.dataset.type=t.type),o.textContent=t.value,n.appendChild(o),!i.element.disabled){const e=document.createElement("a");e.className="icon icon16 fa-times",e.addEventListener("click",b),n.appendChild(e)}i.list.insertBefore(n,i.listItem),i.suggestion.addExcludedValue(t.value),i.element.value="",i.element.disabled||d(e);let r=_(i);"function"==typeof i.options.callbackChange&&(null===r&&(r=w(e)),i.options.callbackChange(e,r))}function b(e,t){if(e instanceof Event){e=e.currentTarget.parentElement}const i=e.parentElement.dataset.elementId||"",n=y.get(i);e.children[0].textContent&&n.suggestion.removeExcludedValue(e.children[0].textContent),e.remove(),t||n.element.focus(),d(i);let o=_(n);"function"==typeof n.options.callbackChange&&(null===o&&(o=w(i)),n.options.callbackChange(i,o))}function _(e){if(!e.options.isCSV)return null;if("function"==typeof e.options.callbackSyncShadow)return e.options.callbackSyncShadow(e);const t=w(e.element.id);return e.shadow.value=w(e.element.id).map((e=>e.value)).join(","),t}function v(e){const t=e.currentTarget,i=y.get(t.id);if(i.options.restricted)return;const n=t.value.trim();n.length&&(i.suggestion&&i.suggestion.isActive()||g(t.id,{objectId:0,value:n}))}function w(e){const t=y.get(e);if(!t)throw new Error("Element id '"+e+"' is unknown.");const i=[];return t.list.querySelectorAll(".item > span").forEach((e=>{i.push({objectId:+(e.dataset.objectId||""),value:e.textContent.trim(),type:e.dataset.type})})),i}Object.defineProperty(t,"__esModule",{value:!0}),t.setValues=t.getValues=t.init=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importDefault(a),s=i.__importDefault(s),l=i.__importDefault(l);const y=new Map;t.init=function(e,t,i){const d=document.getElementById(e);if(null===d)throw new Error("Expected a valid element id, '"+e+"' is invalid.");if(y.has(e)){const t=y.get(e);Object.keys(t).forEach((e=>{const i=t[e];i instanceof Element&&i.parentNode&&i.remove()})),s.default.destroy(e),y.delete(e)}const b=n.extend({ajax:{actionName:"getSearchResultList",className:"",data:{}},excludedSearchValues:[],maxItems:-1,maxLength:-1,restricted:!1,isCSV:!1,callbackChange:null,callbackSubmit:null,callbackSyncShadow:null,callbackSetupValues:null,submitFieldName:""},i),_=o.parentByTag(d,"FORM");if(null!==_)if(b.isCSV)_.addEventListener("submit",(()=>{if(c(e)){const t=y.get(e).element.value.trim();t.length&&g(e,{objectId:0,value:t})}}));else{if(!b.submitFieldName.length&&"function"!=typeof b.callbackSubmit)throw new Error("Expected a valid function for option 'callbackSubmit', a non-empty value for option 'submitFieldName' or enabling the option 'submitFieldCSV'.");_.addEventListener("submit",(()=>{if(c(e)){const t=y.get(e).element.value.trim();t.length&&g(e,{objectId:0,value:t})}const t=w(e);b.submitFieldName.length?t.forEach((e=>{const t=document.createElement("input");t.type="hidden",t.name=b.submitFieldName.replace("{$objectId}",e.objectId.toString()),t.value=e.value,_.appendChild(t)})):b.callbackSubmit(_,t)}))}const E=function(e,t){const i=e.parentElement,n=document.createElement("ol");n.className="inputItemList"+(e.disabled?" disabled":""),n.dataset.elementId=e.id,n.addEventListener("click",(t=>{t.target===n&&e.focus()}));const o=document.createElement("li");o.className="input",n.appendChild(o),e.addEventListener("input",p),e.addEventListener("keydown",u),e.addEventListener("keypress",h),e.addEventListener("keyup",f),e.addEventListener("paste",m);const a=e===document.activeElement;a&&e.blur(),e.addEventListener("blur",v),i.insertBefore(n,e),o.appendChild(e),a&&window.setTimeout((()=>{e.focus()}),1),-1!==t.maxLength&&(e.maxLength=t.maxLength);const s=document.createElement("span");s.className="inputItemListLimitReached",s.textContent=r.get("wcf.global.form.input.maxItems"),l.default.hide(s),o.appendChild(s);let c=null;const d=[];if(t.isCSV&&(c=document.createElement("input"),c.className="itemListInputShadow",c.type="hidden",c.name=e.name,e.removeAttribute("name"),n.parentNode.insertBefore(c,n),e.value.split(",").forEach((e=>{(e=e.trim())&&d.push(e)})),"TEXTAREA"===e.nodeName)){const t=document.createElement("input");t.type="text",e.parentNode.insertBefore(t,e),t.id=e.id,e.remove(),e=t}return{element:e,limitReached:s,list:n,shadow:c,values:d}}(d,b),S=new a.default(e,{ajax:b.ajax,callbackSelect:g,excludedSearchValues:b.excludedSearchValues});y.set(e,{dropdownMenu:null,element:E.element,limitReached:E.limitReached,list:E.list,listItem:E.element.parentElement,options:b,shadow:E.shadow,suggestion:S}),t=b.callbackSetupValues?b.callbackSetupValues():E.values.length?E.values:t,Array.isArray(t)&&t.forEach((t=>{"string"==typeof t&&(t={objectId:0,value:t}),g(e,t)}))},t.getValues=w,t.setValues=function(e,t){const i=y.get(e);if(!i)throw new Error("Element id '"+e+"' is unknown.");o.childrenByClass(i.list,"item").forEach((e=>{b(e,!0)})),t.forEach((t=>{g(e,t)}))}})),define("WoltLabSuite/Core/Ui/Pagination",["require","exports","tslib","../Core","../Language","../StringUtil","./Page/JumpTo"],(function(e,t,i,n,o,r,a){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a);class s{constructor(e,t){this.callbackSwitch=null,this.callbackShouldSwitch=null,this.element=e,this.activePage=t.activePage,this.maxPage=t.maxPage,"function"==typeof t.callbackSwitch&&(this.callbackSwitch=t.callbackSwitch),"function"==typeof t.callbackShouldSwitch&&(this.callbackShouldSwitch=t.callbackShouldSwitch),this.element.classList.add("pagination"),this.rebuild()}rebuild(){let e=!1;this.element.innerHTML="";const t=document.createElement("ul");let i=document.createElement("li");i.className="skip",t.appendChild(i);let n="icon icon24 fa-chevron-left";if(this.activePage>1){const e=document.createElement("a");e.className=n+" jsTooltip",e.href="#",e.title=o.get("wcf.global.page.previous"),e.rel="prev",i.appendChild(e),e.addEventListener("click",(e=>this.switchPage(this.activePage-1,e)))}else i.innerHTML='<span class="'+n+'"></span>',i.classList.add("disabled");t.appendChild(this.createLink(1));let r=s.showLinks-4,l=this.activePage-2;l<0&&(l=0);let c=this.maxPage-(this.activePage+1);c<0&&(c=0),this.activePage>1&&this.activePage<this.maxPage&&r--;const d=r/2;let u=this.activePage,h=this.activePage;u<1&&(u=1),h<1&&(h=1),h>this.maxPage-1&&(h=this.maxPage-1),l>=d?u-=d:(u-=l,h+=d-l),c>=d?h+=d:(h+=c,u-=d-c),h=Math.ceil(h),u=Math.ceil(u),u<1&&(u=1),h>this.maxPage&&(h=this.maxPage);const p='<a class="jsTooltip" title="'+o.get("wcf.page.jumpTo")+'">…</a>';u>1&&(u-1<2?t.appendChild(this.createLink(2)):(i=document.createElement("li"),i.className="jumpTo",i.innerHTML=p,t.appendChild(i),e=!0));for(let e=u+1;e<h;e++)t.appendChild(this.createLink(e));if(h<this.maxPage&&(this.maxPage-h<2?t.appendChild(this.createLink(this.maxPage-1)):(i=document.createElement("li"),i.className="jumpTo",i.innerHTML=p,t.appendChild(i),e=!0)),t.appendChild(this.createLink(this.maxPage)),i=document.createElement("li"),i.className="skip",t.appendChild(i),n="icon icon24 fa-chevron-right",this.activePage<this.maxPage){const e=document.createElement("a");e.className=n+" jsTooltip",e.href="#",e.title=o.get("wcf.global.page.next"),e.rel="next",i.appendChild(e),e.addEventListener("click",(e=>this.switchPage(this.activePage+1,e)))}else i.innerHTML='<span class="'+n+'"></span>',i.classList.add("disabled");e&&(t.dataset.pages=this.maxPage.toString(),a.init(t,this.switchPage.bind(this))),this.element.appendChild(t)}createLink(e){const t=document.createElement("li");if(e!==this.activePage){const i=document.createElement("a");i.textContent=r.addThousandsSeparator(e),i.addEventListener("click",(t=>this.switchPage(e,t))),t.appendChild(i)}else t.classList.add("active"),t.innerHTML="<span>"+r.addThousandsSeparator(e)+'</span><span class="invisible">'+o.get("wcf.page.pagePosition",{pageNo:e,pages:this.maxPage})+"</span>";return t}getActivePage(){return this.activePage}getElement(){return this.element}getMaxPage(){return this.maxPage}switchPage(e,t){if(t instanceof MouseEvent){t.preventDefault();const e=t.currentTarget;if(e&&e.dataset.tooltip){const t=document.getElementById("balloonTooltip");t&&(n.triggerEvent(e,"mouseleave"),t.style.removeProperty("top"),t.style.removeProperty("bottom"))}}if((e=~~e)>0&&this.activePage!==e&&e<=this.maxPage){if(null!==this.callbackShouldSwitch&&!this.callbackShouldSwitch(e))return;this.activePage=e,this.rebuild(),null!==this.callbackSwitch&&this.callbackSwitch(e)}}}return s.showLinks=11,n.enableLegacyInheritance(s),s})),define("WoltLabSuite/Core/Upload/Data",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})})),define("WoltLabSuite/Core/Wrapper/FacebookSdk",["require","exports","https://connect.facebook.net/en_US/sdk.js"],(function(e,t){"use strict";return FB.init({version:"v7.0"}),FB})),define("WoltLabSuite/Core/Controller/Clipboard/Data",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})})),define("WoltLabSuite/Core/Media/List/Upload",["require","exports","tslib","../Upload","../../Core"],(function(e,t,i,n,o){"use strict";n=i.__importDefault(n),o=i.__importStar(o);class r extends n.default{_createButton(){super._createButton();const e=this._button.querySelector("span"),t=document.createTextNode(" ");e.insertBefore(t,e.childNodes[0]);const i=document.createElement("span");i.className="icon icon16 fa-upload",e.insertBefore(i,e.childNodes[0])}_getParameters(){return this._options.categoryId?o.extend(super._getParameters(),{categoryID:this._options.categoryId}):super._getParameters()}}return o.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Controller/Media/List",["require","exports","tslib","../../Media/List/Upload","../../Media/Clipboard","../../Event/Handler","../../Media/Editor","../../Dom/Change/Listener"],(function(e,t,i,n,o,r,a,s){"use strict";function l(){Array.from(d.getElementsByClassName("jsMediaEditButton")).forEach((e=>{e.classList.remove("jsMediaEditButton"),e.addEventListener("click",(e=>{return t=e,void c.edit(~~t.currentTarget.dataset.objectId);var t}))}))}Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,n=i.__importDefault(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importDefault(a),s=i.__importStar(s);const c=new a.default({_editorSuccess:(e,t,i=!0)=>{(e.categoryID!=t||i)&&window.setTimeout((()=>{window.location.reload()}),500)}}),d=document.getElementById("mediaListTableBody");let u;t.init=function(e){e=e||{},u=new n.default("uploadButton","mediaListTableBody",{categoryId:e.categoryId,multiple:!0,elementTagSize:48}),o.init("wcf\\acp\\page\\MediaListPage",e.hasMarkedItems||!1,{clipboardDeleteMedia:e=>function(e){Array.from(document.getElementsByClassName("jsMediaRow")).forEach((t=>{const i=~~t.querySelector(".jsClipboardItem").dataset.objectId;-1!==e.indexOf(i)&&t.remove()})),document.getElementsByClassName("jsMediaRow").length||window.location.reload()}(e)}),l(),s.add("WoltLabSuite/Core/Controller/Media/List",(()=>l())),r.add("com.woltlab.wcf.media.upload","success",(e=>function(e){if(e.upload===u&&!e.isMultiFileUpload&&!u.hasPendingUploads()){const t=Object.keys(e.media);t.length&&c.edit(e.media[t[0]])}}(e)))}})),define("WoltLabSuite/Core/Controller/Notice/Dismiss",["require","exports","tslib","../../Ajax"],(function(e,t,i,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,n=i.__importStar(n),t.setup=function(){document.querySelectorAll(".jsDismissNoticeButton").forEach((e=>{e.addEventListener("click",(e=>function(e){const t=e.currentTarget;n.apiOnce({data:{actionName:"dismiss",className:"wcf\\data\\notice\\NoticeAction",objectIDs:[t.dataset.objectId]},success:()=>{t.parentElement.remove()}})}(e)))}))}})),define("WoltLabSuite/Core/Devtools/Style/LiveReload",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.notify=t.watch=void 0;const i="com.woltlab.wcf#DevTools/Style/LiveReload";t.watch=function(){if(!window.BroadcastChannel)return;new BroadcastChannel(i).onmessage=e=>{const t=document.querySelector("head link[rel=stylesheet]");if(!t)return;const i=new URL(t.href);i.searchParams.set("m",Math.trunc(Date.now()/1e3).toString());const n=document.createElement("link");n.rel="stylesheet",n.addEventListener("load",(()=>{t.remove()})),n.addEventListener("error",(()=>{n.remove()})),n.href=i.toString(),t.insertAdjacentElement("afterend",n)}},t.notify=function(){if(!window.BroadcastChannel)return;new BroadcastChannel(i).postMessage(void 0)}})),define("WoltLabSuite/Core/Form/Builder/Data",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})})),define("WoltLabSuite/Core/Form/Builder/Field/Field",["require","exports","tslib","../../../Core"],(function(e,t,i,n){"use strict";n=i.__importStar(n);class o{constructor(e){this.init(e)}init(e){this._fieldId=e,this._readField()}_getData(){throw new Error("Missing implementation of WoltLabSuite/Core/Form/Builder/Field/Field._getData!")}_readField(){if(this._field=document.getElementById(this._fieldId),null===this._field)throw new Error("Unknown field with id '"+this._fieldId+"'.")}destroy(){}getData(){return Promise.resolve(this._getData())}getId(){return this._fieldId}}return n.enableLegacyInheritance(o),o})),define("WoltLabSuite/Core/Form/Builder/Field/Dependency/Manager",["require","exports","tslib","../../../../Dom/Util","../../../../Event/Handler"],(function(e,t,i,n,o){"use strict";function r(){!0!==h?(h=!0,p=!1,o.fire("com.woltlab.wcf.form.builder.dependency","checkContainers"),h=!1,p&&r()):p=!0}function a(){const e=[];d.forEach(((t,i)=>{const o=document.getElementById(i);if(null===o)return void e.push(i);let r=!0;var a;t.forEach((e=>{var t;e.checkDependency()||(t=o,n.default.hide(t),s.add(t),t.classList.contains("tabMenuContent")&&t.parentNode.querySelector(".tabMenu").querySelectorAll("li").forEach((e=>{e.dataset.name===t.dataset.name&&n.default.hide(e)})),t.querySelectorAll("[max], [maxlength], [min], [required]").forEach((e=>{const t=new Map,i=e.getAttribute("max");i&&(t.set("max",i),e.removeAttribute("max"));const n=e.getAttribute("maxlength");n&&(t.set("maxlength",n),e.removeAttribute("maxlength"));const o=e.getAttribute("min");o&&(t.set("min",o),e.removeAttribute("min")),e.required&&(t.set("required","true"),e.removeAttribute("required")),u.set(e,t)})),r=!1)})),r&&(a=o,n.default.show(a),s.delete(a),a.classList.contains("tabMenuContent")&&a.parentNode.querySelector(".tabMenu").querySelectorAll("li").forEach((e=>{e.dataset.name===a.dataset.name&&n.default.show(e)})),a.querySelectorAll("input, select").forEach((e=>{let t=e.parentNode;for(;t!==a&&!n.default.isHidden(t);)t=t.parentNode;if(t===a&&u.has(e)){const t=u.get(e);t.has("max")&&e.setAttribute("max",t.get("max")),t.has("maxlength")&&e.setAttribute("maxlength",t.get("maxlength")),t.has("min")&&e.setAttribute("min",t.get("min")),t.has("required")&&e.setAttribute("required",""),u.delete(e)}})))})),e.forEach((e=>d.delete(e))),r()}Object.defineProperty(t,"__esModule",{value:!0}),t.unregister=t.register=t.isHiddenByDependencies=t.checkDependencies=t.checkContainers=t.addDependency=t.addContainerCheckCallback=void 0,n=i.__importDefault(n),o=i.__importStar(o);const s=new Set,l=new Map,c=new WeakSet,d=new Map,u=new WeakMap;let h=!1,p=!0;t.addContainerCheckCallback=function(e){if("function"!=typeof e)throw new TypeError("Expected a valid callback for parameter 'callback'.");o.add("com.woltlab.wcf.form.builder.dependency","checkContainers",e)},t.addDependency=function(e){const t=e.getDependentNode();d.has(t.id)?d.get(t.id).push(e):d.set(t.id,[e]),e.getFields().forEach((e=>{const t=n.default.identify(e);l.has(t)||(l.set(t,e),"INPUT"!==e.tagName||"checkbox"!==e.type&&"radio"!==e.type&&"hidden"!==e.type?e.addEventListener("input",(()=>a())):e.addEventListener("change",(()=>a())))}))},t.checkContainers=r,t.checkDependencies=a,t.isHiddenByDependencies=function(e){if(s.has(e))return!0;let t=!1;return s.forEach((i=>{e.contains(i)&&(t=!0)})),t},t.register=function(e){const t=document.getElementById(e);if(null===t)throw new Error("Unknown element with id '"+e+"'");if(c.has(t))throw new Error("Form with id '"+e+"' has already been registered.");c.add(t)},t.unregister=function(e){const t=document.getElementById(e);if(null===t)throw new Error("Unknown element with id '"+e+"'");if(!c.has(t))throw new Error("Form with id '"+e+"' has not been registered.");c.delete(t),s.forEach((e=>{t.contains(e)&&s.delete(e)})),d.forEach(((e,i)=>{t.contains(document.getElementById(i))&&d.delete(i),e.forEach((e=>{e.getFields().forEach((e=>{l.delete(e.id),u.delete(e)}))}))}))}})),define("WoltLabSuite/Core/Form/Builder/Manager",["require","exports","tslib","../../Core","../../Event/Handler","./Field/Field","./Field/Dependency/Manager"],(function(e,t,i,n,o,r,a){"use strict";function s(e,t){if(!l(e))throw new Error("Unknown form with id '"+e+"'.");return c.get(e).has(t)}function l(e){return d.has(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.unregisterForm=t.registerForm=t.registerField=t.hasForm=t.hasField=t.getForm=t.getField=t.getData=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importStar(a);const c=new Map,d=new Map;t.getData=function(e){if(!l(e))throw new Error("Unknown form with id '"+e+"'.");const t=[];return c.get(e).forEach((e=>{const i=e.getData();if(!(i instanceof Promise))throw new TypeError("Data for field with id '"+e.getId()+"' is no promise.");t.push(i)})),Promise.all(t).then((e=>e.reduce(((e,t)=>n.extend(e,t)),{})))},t.getField=function(e,t){if(!s(e,t))throw new Error("Unknown field with id '"+e+"' for form with id '"+t+"'.");return c.get(e).get(t)},t.getForm=function(e){if(!l(e))throw new Error("Unknown form with id '"+e+"'.");return d.get(e)},t.hasField=s,t.hasForm=l,t.registerField=function(e,t){if(!l(e))throw new Error("Unknown form with id '"+e+"'.");if(!(t instanceof r.default))throw new Error("Add field is no instance of 'WoltLabSuite/Core/Form/Builder/Field/Field'.");const i=t.getId();if(s(e,i))throw new Error("Form field with id '"+i+"' has already been registered for form with id '"+e+"'.");c.get(e).set(i,t),o.fire("WoltLabSuite/Core/Form/Builder/Manager","registerField",{field:t,formId:e})},t.registerForm=function(e){if(l(e))throw new Error("Form with id '"+e+"' has already been registered.");const t=document.getElementById(e);if(null===t)throw new Error("Unknown form with id '"+e+"'.");d.set(e,t),c.set(e,new Map),o.fire("WoltLabSuite/Core/Form/Builder/Manager","registerForm",{formId:e})},t.unregisterForm=function(e){if(!l(e))throw new Error("Unknown form with id '"+e+"'.");o.fire("WoltLabSuite/Core/Form/Builder/Manager","beforeUnregisterForm",{formId:e}),d.delete(e),c.get(e).forEach((function(e){e.destroy()})),c.delete(e),a.unregister(e),o.fire("WoltLabSuite/Core/Form/Builder/Manager","afterUnregisterForm",{formId:e})}})),define("WoltLabSuite/Core/Form/Builder/Dialog",["require","exports","tslib","../../Core","../../Ui/Dialog","../../Ajax","./Manager"],(function(e,t,i,n,o,r,a){"use strict";n=i.__importStar(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importStar(a);class s{constructor(e,t,i,n){this.init(e,t,i,n)}init(e,t,i,o){this._dialogId=e,this._className=t,this._actionName=i,this._options=n.extend({actionParameters:{},destroyOnClose:!1,usesDboAction:/\w+\\data\\/.test(this._className)},o),this._options.dialog=n.extend(this._options.dialog||{},{onClose:()=>this._dialogOnClose()}),this._formId="",this._dialogContent=""}_ajaxSetup(){const e={data:{actionName:this._actionName,className:this._className,parameters:this._options.actionParameters}};return this._options.usesDboAction||(e.url="index.php?ajax-invoke/&t="+window.SECURITY_TOKEN,e.withCredentials=!0),e}_ajaxSuccess(e){switch(e.actionName){case this._actionName:if(void 0===e.returnValues)throw new Error("Missing return data.");!function(e){if(void 0===e.dialog)throw new Error("Missing dialog template in return data.");if(void 0===e.formId)throw new Error("Missing form id in return data.")}(e.returnValues),this._openDialogContent(e.returnValues.formId,e.returnValues.dialog);break;case this._options.submitActionName:if(e.returnValues&&(void 0!==(t=e.returnValues).dialog&&void 0!==t.formId)){if(e.returnValues.formId!==this._formId)throw new Error("Mismatch between form ids: expected '"+this._formId+"' but got '"+e.returnValues.formId+"'.");this._openDialogContent(e.returnValues.formId,e.returnValues.dialog)}else this.destroy(),"function"==typeof this._options.successCallback&&this._options.successCallback(e.returnValues||{});break;default:throw new Error("Cannot handle action '"+e.actionName+"'.")}var t}_closeDialog(){o.default.close(this),"function"==typeof this._options.closeCallback&&this._options.closeCallback()}_dialogOnClose(){this._options.destroyOnClose&&this.destroy()}_dialogSetup(){return{id:this._dialogId,options:this._options.dialog,source:this._dialogContent}}_dialogSubmit(){this.getData().then((e=>this._submitForm(e)))}_openDialogContent(e,t){this.destroy(!0),this._formId=e,this._dialogContent=t;const i=o.default.open(this,this._dialogContent),r=i.content.querySelector("button[data-type=cancel]");null===r||n.stringToBool(r.dataset.hasEventListener||"")||(r.addEventListener("click",(()=>this._closeDialog())),r.dataset.hasEventListener="1"),this._additionalSubmitButtons=Array.from(i.content.querySelectorAll(':not(.formSubmit) button[type="submit"]')),this._additionalSubmitButtons.forEach((e=>{e.addEventListener("click",(()=>{this._additionalSubmitButtons.forEach((t=>{t.dataset.isClicked=t===e?"1":"0"})),setTimeout((()=>o.default.submit(this._dialogId)),0)}))}))}_submitForm(e){const t=o.default.getDialog(this).content.querySelector("button[data-type=submit]");"function"==typeof this._options.onSubmit?this._options.onSubmit(e,t):"string"==typeof this._options.submitActionName&&(t.disabled=!0,this._additionalSubmitButtons.forEach((e=>e.disabled=!0)),r.api(this,{actionName:this._options.submitActionName,parameters:{data:e,formId:this._formId}}))}destroy(e=!1){""!==this._formId&&(a.hasForm(this._formId)&&a.unregisterForm(this._formId),!0!==e&&o.default.destroy(this))}getData(){if(""===this._formId)throw new Error("Form has not been requested yet.");return a.getData(this._formId)}open(){o.default.getDialog(this._dialogId)?o.default.open(this):r.api(this)}}return n.enableLegacyInheritance(s),s})),define("WoltLabSuite/Core/Media/Manager/Search",["require","exports","tslib","../../Dom/Traverse","../../Language","../../Ajax","../../Core","../../Dom/Util"],(function(e,t,i,n,o,r,a,s){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importDefault(s);class l{constructor(e){this._searchMode=!1,this._mediaManager=e;const t=e.getDialog();this._searchContainer=t.querySelector(".mediaManagerSearch"),this._input=t.querySelector(".mediaManagerSearchField"),this._input.addEventListener("keypress",(e=>this._keyPress(e))),this._cancelButton=t.querySelector(".mediaManagerSearchCancelButton"),this._cancelButton.addEventListener("click",(()=>this._cancelSearch()))}_ajaxSetup(){return{data:{actionName:"getSearchResultList",className:"wcf\\data\\media\\MediaAction",interfaceName:"wcf\\data\\ISearchAction"}}}_ajaxSuccess(e){this._mediaManager.setMedia(e.returnValues.media||{},e.returnValues.template||"",{pageCount:e.returnValues.pageCount||0,pageNo:e.returnValues.pageNo||0}),this._mediaManager.getDialog().querySelector(".dialogContent").scrollTop=0}_cancelSearch(){this._searchMode&&(this._searchMode=!1,this.resetSearch(),this._mediaManager.resetMedia())}_hideStringThresholdError(){const e=n.childByClass(this._input.parentNode.parentNode,"innerInfo");e&&s.default.hide(e)}_keyPress(e){"Enter"===e.key&&(e.preventDefault(),this._input.value.length>=this._mediaManager.getOption("minSearchLength")?(this._hideStringThresholdError(),this.search()):this._showStringThresholdError())}_showStringThresholdError(){let e=n.childByClass(this._input.parentNode.parentNode,"innerInfo");e?s.default.show(e):(e=document.createElement("p"),e.className="innerInfo",e.textContent=o.get("wcf.media.search.info.searchStringThreshold",{minSearchLength:this._mediaManager.getOption("minSearchLength")}),this._input.parentNode.insertAdjacentElement("afterend",e))}hideSearch(){s.default.hide(this._searchContainer)}resetSearch(){this._input.value=""}showSearch(){s.default.show(this._searchContainer)}search(e){"number"!=typeof e&&(e=1);let t=this._input.value;t&&this._input.value.length<this._mediaManager.getOption("minSearchLength")?(this._showStringThresholdError(),t=""):this._hideStringThresholdError(),this._searchMode=!0,r.api(this,{parameters:{categoryID:this._mediaManager.getCategoryId(),imagesOnly:this._mediaManager.getOption("imagesOnly"),mode:this._mediaManager.getMode(),pageNo:e,searchString:t}})}}return a.enableLegacyInheritance(l),l})),define("WoltLabSuite/Core/Media/Manager/Base",["require","exports","tslib","../../Core","../../Language","../../Permission","../../Dom/Change/Listener","../../Event/Handler","../../Dom/Traverse","../../Dom/Util","../../Ui/Dialog","../../Controller/Clipboard","../../Ui/Pagination","../../Ui/Notification","../../StringUtil","./Search","../Upload","../Editor","../Clipboard"],(function(e,t,i,n,o,r,a,s,l,c,d,u,h,p,m,f,g,b,_){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importStar(l),c=i.__importStar(c),d=i.__importStar(d),u=i.__importStar(u),h=i.__importDefault(h),p=i.__importStar(p),m=i.__importStar(m),f=i.__importDefault(f),g=i.__importDefault(g),b=i.__importDefault(b),_=i.__importStar(_);let v=0;class w{constructor(e){this._forceClipboard=!1,this._hadInitiallyMarkedItems=!1,this._listItems=new Map,this._media=new Map,this._mediaEditor=null,this._mediaManagerMediaList=null,this._pagination=null,this._search=null,this._upload=null,this._options=n.extend({dialogTitle:o.get("wcf.media.manager"),imagesOnly:!1,minSearchLength:3},e),this._id="mediaManager"+v++,r.get("admin.content.cms.canManageMedia")&&(this._mediaEditor=new b.default(this)),a.add("WoltLabSuite/Core/Media/Manager",(()=>this._addButtonEventListeners())),s.add("com.woltlab.wcf.media.upload","success",(e=>this._openEditorAfterUpload(e)))}_addButtonEventListeners(){this._mediaManagerMediaList&&r.get("admin.content.cms.canManageMedia")&&l.childrenByTag(this._mediaManagerMediaList,"LI").forEach((e=>{const t=e.querySelector(".jsMediaEditButton");t&&(t.classList.remove("jsMediaEditButton"),t.addEventListener("click",(e=>this._editMedia(e))))}))}_categoryChange(){this._search.search()}_click(e){e.preventDefault(),d.open(this)}_dialogClose(){(r.get("admin.content.cms.canManageMedia")||this._forceClipboard)&&u.hideEditor("com.woltlab.wcf.media")}_dialogInit(e,t){Object.entries(t.returnValues.media||{}).forEach((([e,t])=>{this._media.set(~~e,t)})),this._initPagination(~~t.returnValues.pageCount),this._hadInitiallyMarkedItems=t.returnValues.hasMarkedItems>0}_dialogSetup(){return{id:this._id,options:{onClose:()=>this._dialogClose(),onShow:()=>this._dialogShow(),title:this._options.dialogTitle},source:{after:(e,t)=>this._dialogInit(e,t),data:{actionName:"getManagementDialog",className:"wcf\\data\\media\\MediaAction",parameters:{mode:this.getMode(),imagesOnly:this._options.imagesOnly}}}}}_dialogShow(){if(!this._mediaManagerMediaList){const e=this.getDialog();this._mediaManagerMediaList=e.querySelector(".mediaManagerMediaList"),this._mediaCategorySelect=e.querySelector(".mediaManagerCategoryList > select"),this._mediaCategorySelect&&this._mediaCategorySelect.addEventListener("change",(()=>this._categoryChange()));const t=l.childrenByTag(this._mediaManagerMediaList,"LI");if(t.forEach((e=>{this._listItems.set(~~e.dataset.objectId,e)})),r.get("admin.content.cms.canManageMedia")){const e=d.getDialog(this).dialog.querySelector(".mediaManagerMediaUploadButton");this._upload=new g.default(c.identify(e),c.identify(this._mediaManagerMediaList),{mediaManager:this}),s.add("WoltLabSuite/Core/Ui/Object/Action","delete",(e=>this.removeMedia(~~e.objectElement.dataset.objectId)))}r.get("admin.content.cms.canManageMedia")||this._forceClipboard?_.init("menuManagerDialog-"+this.getMode(),!!this._hadInitiallyMarkedItems,this):this._removeClipboardCheckboxes(),this._search=new f.default(this),t.length||this._search.hideSearch()}(r.get("admin.content.cms.canManageMedia")||this._forceClipboard)&&u.showEditor()}_editMedia(e){if(!r.get("admin.content.cms.canManageMedia"))throw new Error("You are not allowed to edit media files.");d.close(this);const t=e.currentTarget;this._mediaEditor.edit(this._media.get(~~t.dataset.objectId))}_editorClose(){d.open(this)}_editorSuccess(e,t,i=!0){if(this._mediaCategorySelect){const i=~~this._mediaCategorySelect.value;if(i){const n=~~e.categoryID;t==n||t!=i&&n!=i||this._search.search()}}i&&d.open(this),this._media.set(~~e.mediaID,e);const n=this._listItems.get(~~e.mediaID),o=n.querySelector(".mediaTitle");e.isMultilingual?e.title&&e.title[window.LANGUAGE_ID]?o.textContent=e.title[window.LANGUAGE_ID]:o.textContent=e.filename:e.title&&e.title[e.languageID]?o.textContent=e.title[e.languageID]:o.textContent=e.filename;const r=n.querySelector(".mediaThumbnail");r.innerHTML=e.elementTag;const a=r.querySelector("img");a&&(a.src+=`&refresh=${Date.now()}`)}_initPagination(e,t){if(void 0===t&&(t=1),e>1){const i=document.createElement("div");i.className="paginationBottom jsPagination",c.replaceElement(d.getDialog(this).content.querySelector(".jsPagination"),i),this._pagination=new h.default(i,{activePage:t,callbackSwitch:e=>this._search.search(e),maxPage:e})}else this._pagination&&c.hide(this._pagination.getElement())}_removeClipboardCheckboxes(){this._mediaManagerMediaList.querySelectorAll(".mediaCheckbox").forEach((e=>e.remove()))}_openEditorAfterUpload(e){if(e.upload===this._upload&&!e.isMultiFileUpload&&!this._upload.hasPendingUploads()){const t=Object.keys(e.media);t.length&&(d.close(this),this._mediaEditor.edit(this._media.get(~~e.media[t[0]].mediaID)))}}_setMedia(e){this._media=new Map(Object.entries(e).map((([e,t])=>[~~e,t])));let t=l.nextByClass(this._mediaManagerMediaList,"info");this._media.size?t&&c.hide(t):(null===t&&(t=document.createElement("p"),t.className="info",t.textContent=o.get("wcf.media.search.noResults")),c.show(t),c.insertAfter(t,this._mediaManagerMediaList)),l.childrenByTag(this._mediaManagerMediaList,"LI").forEach((e=>{this._media.has(~~e.dataset.objectId)?c.show(e):c.hide(e)})),a.trigger(),r.get("admin.content.cms.canManageMedia")||this._forceClipboard?u.reload():this._removeClipboardCheckboxes()}addMedia(e,t){e.languageID||(e.isMultilingual=1),this._media.set(~~e.mediaID,e),this._listItems.set(~~e.mediaID,t),1===this._listItems.size&&this._search.showSearch()}clipboardDeleteMedia(e){e.forEach((e=>{this.removeMedia(~~e)})),p.show()}getCategoryId(){return this._mediaCategorySelect?~~this._mediaCategorySelect.value:0}getDialog(){return d.getDialog(this).dialog}getMode(){return""}getOption(e){return this._options[e]?this._options[e]:null}removeMedia(e){if(this._listItems.has(e)){try{this._listItems.get(e).remove()}catch(e){}this._listItems.delete(e),this._media.delete(e)}}resetMedia(){this._search.search()}setMedia(e,t,i){if(Object.entries(e).length>0){const e=document.createElement("ul");e.innerHTML=t,l.childrenByTag(e,"LI").forEach((e=>{this._listItems.has(~~e.dataset.objectId)||(this._listItems.set(~~e.dataset.objectId,e),this._mediaManagerMediaList.appendChild(e))}))}this._initPagination(i.pageCount,i.pageNo),this._setMedia(e)}setupMediaElement(e,t){const i=l.childByClass(t,"mediaInformation"),a=document.createElement("nav");a.className="jsMobileNavigation buttonGroupNavigation",i.parentNode.appendChild(a);const s=document.createElement("ul");s.className="buttonList iconList",a.appendChild(s);const c=document.createElement("li");c.className="mediaCheckbox",s.appendChild(c);const d=document.createElement("a");c.appendChild(d);const u=document.createElement("label");d.appendChild(u);const h=document.createElement("input");if(h.className="jsClipboardItem",h.type="checkbox",h.dataset.objectId=e.mediaID.toString(),u.appendChild(h),r.get("admin.content.cms.canManageMedia")){const t=document.createElement("li");t.className="jsMediaEditButton",t.dataset.objectId=e.mediaID.toString(),s.appendChild(t),t.innerHTML=`\n <a>\n <span class="icon icon16 fa-pencil jsTooltip" title="${o.get("wcf.global.button.edit")}"></span>\n <span class="invisible">${o.get("wcf.global.button.edit")}</span>\n </a>`;const i=document.createElement("li");i.classList.add("jsObjectAction"),i.dataset.objectAction="delete";const r=n.getUuid();i.dataset.confirmMessage=m.unescapeHTML(o.get("wcf.media.delete.confirmMessage",{title:r})).replace(r,m.escapeHTML(e.filename)),s.appendChild(i),i.innerHTML=`\n <a>\n <span class="icon icon16 fa-times jsTooltip" title="${o.get("wcf.global.button.delete")}"></span>\n <span class="invisible">${o.get("wcf.global.button.delete")}</span>\n </a>`}}}return n.enableLegacyInheritance(w),w})),define("WoltLabSuite/Core/Media/Manager/Editor",["require","exports","tslib","./Base","../../Core","../../Event/Handler","../../Dom/Traverse","../../Language","../../Ui/Dialog","../../Controller/Clipboard","../../Dom/Util"],(function(e,t,i,n,o,r,a,s,l,c,d){"use strict";n=i.__importDefault(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importStar(l),c=i.__importStar(c),d=i.__importDefault(d);class u extends n.default{constructor(e){super(e=o.extend({callbackInsert:null},e)),this._forceClipboard=!0,this._activeButton=null;const t=this._options.editor?this._options.editor.core.toolbar()[0]:void 0;if(this._buttons=(t||window.document).getElementsByClassName(this._options.buttonClass||"jsMediaEditorButton"),Array.from(this._buttons).forEach((e=>{e.addEventListener("click",(e=>this._click(e)))})),this._mediaToInsert=new Map,this._mediaToInsertByClipboard=!1,this._uploadData=null,this._uploadId=null,this._options.editor&&!this._options.editor.opts.woltlab.attachments){const e=this._options.editor.$editor[0].dataset.elementId,t=r.add("com.woltlab.wcf.redactor2",`dragAndDrop_${e}`,(e=>this._editorUpload(e))),i=r.add("com.woltlab.wcf.redactor2",`pasteFromClipboard_${e}`,(e=>this._editorUpload(e)));r.add("com.woltlab.wcf.redactor2",`destroy_${e}`,(()=>{r.remove("com.woltlab.wcf.redactor2",`dragAndDrop_${e}`,t),r.remove("com.woltlab.wcf.redactor2",`dragAndDrop_${e}`,i)})),r.add("com.woltlab.wcf.media.upload","success",(e=>this._mediaUploaded(e)))}}_addButtonEventListeners(){super._addButtonEventListeners(),this._mediaManagerMediaList&&a.childrenByTag(this._mediaManagerMediaList,"LI").forEach((e=>{const t=e.querySelector(".jsMediaInsertButton");t&&(t.classList.remove("jsMediaInsertButton"),t.addEventListener("click",(e=>this._openInsertDialog(e))))}))}_buildInsertDialog(){let e="";this._getThumbnailSizes().forEach((t=>{e+='<option value="'+t+'">'+s.get("wcf.media.insert.imageSize."+t)+"</option>"})),e+='<option value="original">'+s.get("wcf.media.insert.imageSize.original")+"</option>";const t=`\n <div class="section">\n <dl class="thumbnailSizeSelection">\n <dt>${s.get("wcf.media.insert.imageSize")}</dt>\n <dd>\n <select name="thumbnailSize">\n ${e}\n </select>\n </dd>\n </dl>\n </div>\n <div class="formSubmit">\n <button class="buttonPrimary">${s.get("wcf.global.button.insert")}</button>\n </div>`;l.open({_dialogSetup:()=>({id:this._getInsertDialogId(),options:{onClose:()=>this._editorClose(),onSetup:e=>{e.querySelector(".buttonPrimary").addEventListener("click",(e=>this._insertMedia(e))),d.default.show(e.querySelector(".thumbnailSizeSelection"))},title:s.get("wcf.media.insert")},source:t})})}_click(e){this._activeButton=e.currentTarget,super._click(e)}_dialogShow(){if(super._dialogShow(),this._uploadData){const e=this._uploadData;if(e.file)this._upload.uploadFile(e.file);else{const e=this._uploadData;this._uploadId=this._upload.uploadBlob(e.blob)}this._uploadData=null}}_editorUpload(e){this._uploadData=e,l.open(this)}_getInsertDialogId(){return["mediaInsert",...this._mediaToInsert.keys()].join("-")}_getThumbnailSizes(){return["small","medium","large"].map((e=>Array.from(this._mediaToInsert.values()).every((t=>null!==t[e+"ThumbnailType"]))?e:null)).filter((e=>null!==e))}_insertMedia(e,t,i=!1){if(void 0===i&&(i=!0),e){l.close(this._getInsertDialogId());const i=e.currentTarget.closest(".dialogContent").querySelector("select[name=thumbnailSize]");t=i.value}null!==this._options.callbackInsert?this._options.callbackInsert(this._mediaToInsert,"separate",t):(this._options.editor.buffer.set(),this._mediaToInsert.forEach((e=>this._insertMediaItem(t,e)))),this._mediaToInsertByClipboard&&c.unmark("com.woltlab.wcf.media",Array.from(this._mediaToInsert.keys())),this._mediaToInsert=new Map,this._mediaToInsertByClipboard=!1,i&&l.close(this)}_insertMediaItem(e,t){if(t.isImage){let i="";["small","medium","large","original"].some((n=>0!=t[n+"ThumbnailHeight"]&&(i=n,e==n))),(e=i)||(e="original");let n=t.link;"original"!==e&&(n=t[e+"ThumbnailLink"]),this._options.editor.insert.html(`<img src="${n}" class="woltlabSuiteMedia" data-media-id="${t.mediaID}" data-media-size="${e}">`)}else this._options.editor.insert.text(`[wsm='${t.mediaID}'][/wsm]`)}_mediaUploaded(e){null!==this._uploadId&&this._upload===e.upload&&(this._uploadId===e.uploadId||Array.isArray(this._uploadId)&&-1!==this._uploadId.indexOf(e.uploadId))&&(this._mediaToInsert=new Map(e.media.entries()),this._insertMedia(null,"medium",!1),this._uploadId=null)}_openInsertDialog(e){const t=e.currentTarget;this.insertMedia([~~t.dataset.objectId])}clipboardInsertMedia(e){this.insertMedia(e,!0)}insertMedia(e,t){this._mediaToInsert=new Map,this._mediaToInsertByClipboard=t||!1;let i=!0;if(e.forEach((e=>{const t=this._media.get(e);this._mediaToInsert.set(t.mediaID,t),t.isImage||(i=!1)})),i){if(this._getThumbnailSizes().length){l.close(this);const e=this._getInsertDialogId();l.getDialog(e)?l.openStatic(e,null):this._buildInsertDialog()}else this._insertMedia(void 0,"original")}else this._insertMedia()}getMode(){return"editor"}setupMediaElement(e,t){super.setupMediaElement(e,t);const i=t.querySelector("nav.buttonGroupNavigation > ul"),n=document.createElement("li");n.className="jsMediaInsertButton",n.dataset.objectId=e.mediaID.toString(),i.appendChild(n),n.innerHTML=`\n <a>\n <span class="icon icon16 fa-plus jsTooltip" title="${s.get("wcf.global.button.insert")}"></span>\n <span class="invisible">${s.get("wcf.global.button.insert")}</span>\n </a>`}}return o.enableLegacyInheritance(u),u})),define("WoltLabSuite/Core/Media/Manager/Select",["require","exports","tslib","./Base","../../Core","../../Dom/Traverse","../../FileUtil","../../Language","../../Ui/Dialog","../../Dom/Util"],(function(e,t,i,n,o,r,a,s,l,c){"use strict";n=i.__importDefault(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importStar(l),c=i.__importDefault(c);class d extends n.default{constructor(e){super(e),this._activeButton=null,this._storeElements=new WeakMap,this._buttons=document.getElementsByClassName(this._options.buttonClass||"jsMediaSelectButton"),Array.from(this._buttons).forEach((e=>{const t=e.dataset.store;if(t){const i=document.getElementById(t);if(i&&"INPUT"===i.tagName){e.addEventListener("click",(e=>this._click(e))),this._storeElements.set(e,i);const t=document.createElement("p");t.className="button",e.insertAdjacentElement("afterend",t);const n=document.createElement("span");n.className="icon icon16 fa-times",t.appendChild(n),i.value||c.default.hide(t),t.addEventListener("click",(e=>this._removeMedia(e)))}}}))}_addButtonEventListeners(){super._addButtonEventListeners(),this._mediaManagerMediaList&&r.childrenByTag(this._mediaManagerMediaList,"LI").forEach((e=>{const t=e.querySelector(".jsMediaSelectButton");t&&(t.classList.remove("jsMediaSelectButton"),t.addEventListener("click",(e=>this._chooseMedia(e))))}))}_chooseMedia(e){if(null===this._activeButton)throw new Error("Media cannot be chosen if no button is active.");const t=e.currentTarget,i=this._media.get(~~t.dataset.objectId),n=document.getElementById(this._activeButton.dataset.store);n.value=i.mediaID.toString(),o.triggerEvent(n,"change");const r=this._activeButton.dataset.display;if(r){const e=document.getElementById(r);if(e)if(i.isImage){const t=i.smallThumbnailLink?i.smallThumbnailLink:i.link,n=i.altText&&i.altText[window.LANGUAGE_ID]?i.altText[window.LANGUAGE_ID]:"";e.innerHTML=`<img src="${t}" alt="${n}" />`}else{let t=a.getIconNameByFilename(i.filename);t&&(t="-"+t),e.innerHTML=`\n <div class="box48" style="margin-bottom: 10px;">\n <span class="icon icon48 fa-file${t}-o"></span>\n <div class="containerHeadline">\n <h3>${i.filename}</h3>\n <p>${i.formattedFilesize}</p>\n </div>\n </div>`}}this._activeButton.nextElementSibling.style.removeProperty("display"),l.close(this)}_click(e){if(e.preventDefault(),this._activeButton=e.currentTarget,super._click(e),!this._mediaManagerMediaList)return;const t=this._storeElements.get(this._activeButton);r.childrenByTag(this._mediaManagerMediaList,"LI").forEach((e=>{t.value&&t.value==e.dataset.objectId?e.classList.add("jsSelected"):e.classList.remove("jsSelected")}))}getMode(){return"select"}setupMediaElement(e,t){super.setupMediaElement(e,t);const i=t.querySelector("nav.buttonGroupNavigation > ul"),n=document.createElement("li");n.className="jsMediaSelectButton",n.dataset.objectId=e.mediaID.toString(),i.appendChild(n),n.innerHTML='<a><span class="icon icon16 fa-check jsTooltip" title="'+s.get("wcf.media.button.select")+'"></span> <span class="invisible">'+s.get("wcf.media.button.select")+"</span></a>"}_removeMedia(e){e.preventDefault();const t=e.currentTarget,i=t.previousElementSibling;t.remove();const n=document.getElementById(i.dataset.store);n.value="",o.triggerEvent(n,"change");const r=i.dataset.display;if(r){const e=document.getElementById(r);e&&(e.innerHTML="")}}}return o.enableLegacyInheritance(d),d})),define("WoltLabSuite/Core/Ui/Search/Input",["require","exports","tslib","../../Ajax","../../Core","../../Dom/Util","../Dropdown/Simple"],(function(e,t,i,n,o,r,a){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importDefault(a);class s{constructor(e,t){if(this.activeItem=void 0,this.callbackDropdownInit=void 0,this.callbackSelect=void 0,this.dropdownContainerId="",this.excludedSearchValues=new Set,this.list=void 0,this.lastValue="",this.request=void 0,this.timerDelay=void 0,this.element=e,!(this.element instanceof HTMLInputElement))throw new TypeError("Expected a valid DOM element.");if("INPUT"!==this.element.nodeName||"search"!==this.element.type&&"text"!==this.element.type)throw new Error('Expected an input[type="text"].');t=o.extend({ajax:{actionName:"getSearchResultList",className:"",interfaceName:"wcf\\data\\ISearchAction"},autoFocus:!0,callbackDropdownInit:void 0,callbackSelect:void 0,delay:500,excludedSearchValues:[],minLength:3,noResultPlaceholder:"",preventSubmit:!1},t),this.ajaxPayload=t.ajax,this.autoFocus=t.autoFocus,this.callbackDropdownInit=t.callbackDropdownInit,this.callbackSelect=t.callbackSelect,this.delay=t.delay,t.excludedSearchValues.forEach((e=>{this.addExcludedSearchValues(e)})),this.minLength=t.minLength,this.noResultPlaceholder=t.noResultPlaceholder,this.preventSubmit=t.preventSubmit,this.element.autocomplete="off",this.element.addEventListener("keydown",(e=>this.keydown(e))),this.element.addEventListener("keyup",(e=>this.keyup(e)))}addExcludedSearchValues(e){this.excludedSearchValues.add(e)}removeExcludedSearchValues(e){this.excludedSearchValues.delete(e)}keydown(e){(null!==this.activeItem&&a.default.isOpen(this.dropdownContainerId)||this.preventSubmit)&&"Enter"===e.key&&e.preventDefault(),["ArrowUp","ArrowDown","Escape"].includes(e.key)&&e.preventDefault()}keyup(e){if(null!==this.activeItem||!this.autoFocus)if(a.default.isOpen(this.dropdownContainerId)){if("ArrowUp"===e.key)return e.preventDefault(),this.keyboardPreviousItem();if("ArrowDown"===e.key)return e.preventDefault(),this.keyboardNextItem();if("Enter"===e.key)return e.preventDefault(),this.keyboardSelectItem()}else this.activeItem=void 0;if("Escape"===e.key)return void a.default.close(this.dropdownContainerId);const t=this.element.value.trim();this.lastValue!==t&&(this.lastValue=t,t.length<this.minLength?this.dropdownContainerId&&(a.default.close(this.dropdownContainerId),this.activeItem=void 0):this.delay?(this.timerDelay&&window.clearTimeout(this.timerDelay),this.timerDelay=window.setTimeout((()=>{this.search(t)}),this.delay)):this.search(t))}search(e){this.request&&this.request.abortPrevious(),this.request=n.api(this,this.getParameters(e))}getParameters(e){return{parameters:{data:{excludedSearchValues:this.excludedSearchValues,searchString:e}}}}keyboardNextItem(){let e;this.activeItem&&(this.activeItem.classList.remove("active"),this.activeItem.nextElementSibling&&(e=this.activeItem.nextElementSibling)),this.activeItem=e||this.list.children[0],this.activeItem.classList.add("active")}keyboardPreviousItem(){let e;this.activeItem&&(this.activeItem.classList.remove("active"),this.activeItem.previousElementSibling&&(e=this.activeItem.previousElementSibling)),this.activeItem=e||this.list.children[this.list.childElementCount-1],this.activeItem.classList.add("active")}keyboardSelectItem(){this.selectItem(this.activeItem)}clickSelectItem(e){this.selectItem(e.currentTarget)}selectItem(e){this.callbackSelect&&!this.callbackSelect(e)?this.element.value="":this.element.value=e.dataset.label||"",this.activeItem=void 0,a.default.close(this.dropdownContainerId)}_ajaxSuccess(e){let t=!1;if(this.list?this.list.innerHTML="":(this.list=document.createElement("ul"),this.list.className="dropdownMenu",t=!0,"function"==typeof this.callbackDropdownInit&&this.callbackDropdownInit(this.list)),"object"==typeof e.returnValues){const t=this.clickSelectItem.bind(this);Object.keys(e.returnValues).forEach((i=>{const n=this.createListItem(e.returnValues[i]);n.addEventListener("click",t),this.list.appendChild(n)}))}if(t){this.element.insertAdjacentElement("afterend",this.list);const e=this.element.parentElement;a.default.initFragment(e,this.list),this.dropdownContainerId=r.default.identify(e)}if(this.dropdownContainerId)if(this.activeItem=void 0,this.list.childElementCount||this.handleEmptyResult()){a.default.open(this.dropdownContainerId,!0,this.element);const e=this.list.childElementCount?this.list.children[0]:void 0;this.autoFocus&&e&&~~(e.dataset.objectId||"")&&(this.activeItem=e,this.activeItem.classList.add("active"))}else a.default.close(this.dropdownContainerId)}handleEmptyResult(){if(!this.noResultPlaceholder)return!1;const e=document.createElement("li");e.className="dropdownText";const t=document.createElement("span");return t.textContent=this.noResultPlaceholder,e.appendChild(t),this.list.appendChild(e),!0}createListItem(e){const t=document.createElement("li");t.dataset.objectId=e.objectID.toString(),t.dataset.label=e.label;const i=document.createElement("span");return i.textContent=e.label,t.appendChild(i),t}_ajaxSetup(){return{data:this.ajaxPayload}}}return o.enableLegacyInheritance(s),s})),define("WoltLabSuite/Core/Ui/User/Search/Input",["require","exports","tslib","../../../Core","../../Search/Input"],(function(e,t,i,n,o){"use strict";n=i.__importStar(n),o=i.__importDefault(o);class r extends o.default{constructor(e,t){const i=n.isPlainObject(t)&&!0===t.includeUserGroups;super(e,t=n.extend({ajax:{className:"wcf\\data\\user\\UserAction",parameters:{data:{includeUserGroups:i?1:0}}}},t))}createListItem(e){const t=super.createListItem(e);t.dataset.type=e.type;const i=document.createElement("div");return i.className="box16",i.innerHTML="group"===e.type?'<span class="icon icon16 fa-users"></span>':e.icon,i.appendChild(t.children[0]),t.appendChild(i),t}}return n.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Ui/Acl/Simple",["require","exports","tslib","../../Core","../../Language","../../StringUtil","../../Dom/Change/Listener","../../Dom/Util","../User/Search/Input"],(function(e,t,i,n,o,r,a,s,l){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importDefault(a),s=i.__importDefault(s),l=i.__importDefault(l);class c{constructor(e,t){this.prefix=e||"",this.inputName=t||"aclValues";const i=document.getElementById(this.prefix+"aclInputContainer"),n=document.getElementById(this.prefix+"invertPermissionsDl");document.getElementById(this.prefix+"aclAllowAll").addEventListener("change",(()=>{s.default.hide(i),n&&s.default.hide(n)}));document.getElementById(this.prefix+"aclAllowAll_no").addEventListener("change",(()=>{s.default.show(i),n&&s.default.show(n)})),this.list=document.getElementById(this.prefix+"aclAccessList"),this.list.addEventListener("click",this.removeItem.bind(this));const o=[];this.list.querySelectorAll(".aclLabel").forEach((e=>{o.push(e.textContent)})),this.searchInput=new l.default(document.getElementById(this.prefix+"aclSearchInput"),{callbackSelect:this.select.bind(this),includeUserGroups:!0,excludedSearchValues:o,preventSubmit:!0}),this.aclListContainer=document.getElementById(this.prefix+"aclListContainer");const r=document.getElementById(this.prefix+"invertPermissions");r&&r.addEventListener("change",(()=>{this.invertPermissions(!0)}));const c=document.getElementById(this.prefix+"invertPermissions_no");c&&c.addEventListener("change",(()=>{this.invertPermissions(!1)}));const d=document.getElementById(this.prefix+"invertPermissions");d&&this.invertPermissions(!!d.value),a.default.trigger()}select(e){const t=e.dataset.type,i=e.dataset.label,n=e.dataset.objectId,l=`<span class="icon icon16 fa-${"group"===t?"users":"user"}"></span>\n <span class="aclLabel">${r.escapeHTML(i)}</span>\n <span class="icon icon16 fa-times pointer jsTooltip" title="${o.get("wcf.global.button.delete")}"></span>\n <input type="hidden" name="${this.inputName}[${t}][]" value="${n}">`,c=document.createElement("li");c.innerHTML=l;const d=this.list.querySelector(".fa-user");return null===d?this.list.appendChild(c):this.list.insertBefore(c,d.parentNode),s.default.show(this.aclListContainer),this.searchInput.addExcludedSearchValues(i),a.default.trigger(),!1}removeItem(e){const t=e.target;if(t.classList.contains("fa-times")){const e=t.parentElement,i=e.querySelector(".aclLabel");this.searchInput.removeExcludedSearchValues(i.textContent),e.remove(),0===this.list.childElementCount&&s.default.hide(this.aclListContainer)}}invertPermissions(e){const t=document.getElementById(this.prefix+"aclListContainerDt"),i=document.getElementById(this.prefix+"aclSearchInputLabel");t.textContent=o.get(e?"wcf.acl.access.denied":"wcf.acl.access.granted"),i.textContent=o.get(e?"wcf.acl.access.deny":"wcf.acl.access.grant")}}return n.enableLegacyInheritance(c),c})),define("WoltLabSuite/Core/Ui/Article/MarkAllAsRead",["require","exports","tslib","../../Ajax"],(function(e,t,i,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,n=i.__importStar(n);class o{constructor(){document.querySelectorAll(".markAllAsReadButton").forEach((e=>{e.addEventListener("click",this.click.bind(this))}))}click(e){e.preventDefault(),n.api(this)}_ajaxSuccess(){const e=document.querySelector(".mainMenu .active .badge");e&&e.remove(),document.querySelectorAll(".articleList .newMessageBadge").forEach((e=>e.remove()))}_ajaxSetup(){return{data:{actionName:"markAllAsRead",className:"wcf\\data\\article\\ArticleAction"}}}}t.init=function(){new o}})),define("WoltLabSuite/Core/Ui/Article/Search",["require","exports","tslib","../../Ajax","../../Dom/Util","../../Language","../../StringUtil","../Dialog"],(function(e,t,i,n,o,r,a,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.open=void 0,n=i.__importStar(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importDefault(s);class l{constructor(){this.callbackSelect=void 0,this.resultContainer=void 0,this.resultList=void 0,this.searchInput=void 0}open(e){this.callbackSelect=e,s.default.open(this)}search(e){e.preventDefault();const t=this.searchInput.parentElement,i=this.searchInput.value.trim();i.length<3?o.default.innerError(t,r.get("wcf.article.search.error.tooShort")):(o.default.innerError(t,!1),n.api(this,{parameters:{searchString:i}}))}click(e){e.preventDefault();const t=e.currentTarget;this.callbackSelect(+t.dataset.articleId),s.default.close(this)}_ajaxSuccess(e){const t=e.returnValues.map((e=>`<li>\n <div class="containerHeadline pointer" data-article-id="${e.articleID}">\n <h3>${a.escapeHTML(e.name)}</h3>\n <small>${a.escapeHTML(e.displayLink)}</small>\n </div>\n </li>`)).join("");if(this.resultList.innerHTML=t,t?o.default.show(this.resultList):o.default.hide(this.resultList),t)this.resultList.querySelectorAll(".containerHeadline").forEach((e=>{e.addEventListener("click",this.click.bind(this))}));else{const e=this.searchInput.parentElement;o.default.innerError(e,r.get("wcf.article.search.error.noResults"))}}_ajaxSetup(){return{data:{actionName:"search",className:"wcf\\data\\article\\ArticleAction"}}}_dialogSetup(){return{id:"wcfUiArticleSearch",options:{onSetup:()=>{this.searchInput=document.getElementById("wcfUiArticleSearchInput"),this.searchInput.addEventListener("keydown",(e=>{"Enter"===e.key&&this.search(e)}));this.searchInput.nextElementSibling.addEventListener("click",this.search.bind(this)),this.resultContainer=document.getElementById("wcfUiArticleSearchResultContainer"),this.resultList=document.getElementById("wcfUiArticleSearchResultList")},onShow:()=>{this.searchInput.focus()},title:r.get("wcf.article.search")},source:`<div class="section">\n <dl>\n <dt>\n <label for="wcfUiArticleSearchInput">${r.get("wcf.article.search.name")}</label>\n </dt>\n <dd>\n <div class="inputAddon">\n <input type="text" id="wcfUiArticleSearchInput" class="long">\n <a href="#" class="inputSuffix"><span class="icon icon16 fa-search"></span></a>\n </div>\n </dd>\n </dl>\n </div>\n <section id="wcfUiArticleSearchResultContainer" class="section" style="display: none;">\n <header class="sectionHeader">\n <h2 class="sectionTitle">${r.get("wcf.article.search.results")}</h2>\n </header>\n <ol id="wcfUiArticleSearchResultList" class="containerList"></ol>\n </section>`}}}let c;t.open=function(e){(c||(c=new l),c).open(e)}})),define("WoltLabSuite/Core/Ui/Color/Picker",["require","exports","tslib","../../Core"],(function(e,t,i,n){"use strict";n=i.__importStar(n);let o=(e,t)=>{if("object"==typeof window.WCF&&"function"==typeof window.WCF.ColorPicker)return o=(e,t)=>{const i=new window.WCF.ColorPicker(e);return"function"==typeof t.callbackSubmit&&i.setCallbackSubmit(t.callbackSubmit),i},o(e,t);0===r.length&&(window.__wcf_bc_colorPickerInit=()=>{r.forEach((e=>{o(e[0],e[1])})),window.__wcf_bc_colorPickerInit=void 0,r=[]}),r.push([e,t])},r=[];class a{constructor(e,t){if(!(e instanceof Element))throw new TypeError("Expected a valid DOM element, use `UiColorPicker.fromSelector()` if you want to use a CSS selector.");t=n.extend({callbackSubmit:null},t||{}),o(e,t)}static fromSelector(e){document.querySelectorAll(e).forEach((e=>{new a(e)}))}}return n.enableLegacyInheritance(a),a})),define("WoltLabSuite/Core/Ui/Comment/Add",["require","exports","tslib","../../Ajax","../../Controller/Captcha","../../Core","../../Dom/Change/Listener","../../Dom/Util","../../Event/Handler","../../Language","../Dialog","../Scroll","../../User","../Notification"],(function(e,t,i,n,o,r,a,s,l,c,d,u,h,p){"use strict";n=i.__importStar(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importDefault(a),s=i.__importDefault(s),l=i.__importStar(l),c=i.__importStar(c),d=i.__importDefault(d),u=i.__importStar(u),h=i.__importDefault(h),p=i.__importStar(p);class m{constructor(e){this._editor=null,this._loadingOverlay=null,this._container=e,this._content=this._container.querySelector(".jsOuterEditorContainer"),this._textarea=this._container.querySelector(".wysiwygTextarea"),this._content.addEventListener("click",(e=>{this._content.classList.contains("collapsed")&&(e.preventDefault(),this._content.classList.remove("collapsed"),this._focusEditor())}));this._container.querySelector('button[data-type="save"]').addEventListener("click",(e=>this._submit(e)))}_focusEditor(){u.element(this._container,(()=>{window.jQuery(this._textarea).redactor("WoltLabCaret.endOfEditor")}))}_submitGuestDialog(e){if(e instanceof KeyboardEvent&&"Enter"!==e.key)return;const t=e.currentTarget.closest(".dialogContent").querySelector("input[name=username]");if(""===t.value)return s.default.innerError(t,c.get("wcf.global.form.error.empty")),void t.closest("dl").classList.add("formError");let i={parameters:{data:{username:t.value}}};if(o.default.has("commentAdd")){const e=o.default.getData("commentAdd");e instanceof Promise?e.then((e=>{i=r.extend(i,e),this._submit(void 0,i)})):(i=r.extend(i,e),this._submit(void 0,i))}else this._submit(void 0,i)}_submit(e,t){if(e&&e.preventDefault(),!this._validate())return;this._showLoadingOverlay();const i=this._getParameters();l.fire("com.woltlab.wcf.redactor2","submit_text",i.data),h.default.userId||t||(i.requireGuestDialog=!0),n.api(this,r.extend({parameters:i},t))}_getParameters(){const e=this._container.closest(".commentList");return{data:{message:this._getEditor().code.get(),objectID:~~e.dataset.objectId,objectTypeID:~~e.dataset.objectTypeId}}}_validate(){if(this._container.querySelectorAll(".innerError").forEach((e=>e.remove())),this._getEditor().utils.isEmpty())return this.throwError(this._textarea,c.get("wcf.global.form.error.empty")),!1;const e={api:this,editor:this._getEditor(),message:this._getEditor().code.get(),valid:!0};return l.fire("com.woltlab.wcf.redactor2","validate_text",e),e.valid}throwError(e,t){s.default.innerError(e,"empty"===t?c.get("wcf.global.form.error.empty"):t)}_showLoadingOverlay(){null===this._loadingOverlay&&(this._loadingOverlay=document.createElement("div"),this._loadingOverlay.className="commentLoadingOverlay",this._loadingOverlay.innerHTML='<span class="icon icon96 fa-spinner"></span>'),this._content.classList.add("loading"),this._content.appendChild(this._loadingOverlay)}_hideLoadingOverlay(){this._content.classList.remove("loading");const e=this._content.querySelector(".commentLoadingOverlay");null!==e&&e.remove()}_reset(){this._getEditor().code.set("<p></p>"),l.fire("com.woltlab.wcf.redactor2","reset_text"),document.activeElement instanceof HTMLElement&&document.activeElement.blur(),this._content.classList.add("collapsed")}_handleError(e){this.throwError(this._textarea,e.returnValues.errorType)}_getEditor(){if(null===this._editor){if("function"!=typeof window.jQuery)throw new Error("Unable to access editor, jQuery has not been loaded yet.");this._editor=window.jQuery(this._textarea).data("redactor")}return this._editor}_insertMessage(e){return s.default.insertHtml(e.returnValues.template,this._container,"after"),p.show(c.get("wcf.global.success.add")),a.default.trigger(),this._container.nextElementSibling}_ajaxSuccess(e){if(!h.default.userId&&e.returnValues.guestDialog){d.default.openStatic("jsDialogGuestComment",e.returnValues.guestDialog,{closable:!1,onClose:()=>{o.default.has("commentAdd")&&o.default.delete("commentAdd")},title:c.get("wcf.global.confirmation.title")});const t=d.default.getDialog("jsDialogGuestComment");t.content.querySelector("input[type=submit]").addEventListener("click",(e=>this._submitGuestDialog(e)));t.content.querySelector('button[data-type="cancel"]').addEventListener("click",(()=>this._cancelGuestDialog()));t.content.querySelector("input[type=text]").addEventListener("keypress",(e=>this._submitGuestDialog(e)))}else{const t=this._insertMessage(e);h.default.userId||d.default.close("jsDialogGuestComment"),this._reset(),this._hideLoadingOverlay(),window.setTimeout((()=>{u.element(t)}),100)}}_ajaxFailure(e){return this._hideLoadingOverlay(),null===e||void 0===e.returnValues||void 0===e.returnValues.errorType||(this._handleError(e),!1)}_ajaxSetup(){return{data:{actionName:"addComment",className:"wcf\\data\\comment\\CommentAction"},silent:!0}}_cancelGuestDialog(){d.default.close("jsDialogGuestComment"),this._hideLoadingOverlay()}}return r.enableLegacyInheritance(m),m})),define("WoltLabSuite/Core/Ui/Comment/Edit",["require","exports","tslib","../../Ajax","../../Core","../../Dom/Change/Listener","../../Dom/Util","../../Environment","../../Event/Handler","../../Language","../Scroll","../Notification"],(function(e,t,i,n,o,r,a,s,l,c,d,u){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importDefault(a),s=i.__importStar(s),l=i.__importStar(l),c=i.__importStar(c),d=i.__importStar(d),u=i.__importStar(u);class h{constructor(e){this._activeElement=null,this._comments=new WeakSet,this._editorContainer=null,this._container=e,this.rebuild(),r.default.add("Ui/Comment/Edit_"+a.default.identify(this._container),this.rebuild.bind(this))}rebuild(){this._container.querySelectorAll(".comment").forEach((e=>{if(!this._comments.has(e)){if(o.stringToBool(e.dataset.canEdit||"")){const t=e.querySelector(".jsCommentEditButton");null!==t&&t.addEventListener("click",(e=>this._click(e)))}this._comments.add(e)}}))}_click(e){if(e.preventDefault(),null===this._activeElement){const t=e.currentTarget;this._activeElement=t.closest(".comment"),this._prepare(),n.api(this,{actionName:"beginEdit",objectIDs:[this._getObjectId(this._activeElement)]})}else u.show("wcf.message.error.editorAlreadyInUse",null,"warning")}_prepare(){this._editorContainer=document.createElement("div"),this._editorContainer.className="commentEditorContainer",this._editorContainer.innerHTML='<span class="icon icon48 fa-spinner"></span>';const e=this._activeElement.querySelector(".commentContentContainer");e.insertBefore(this._editorContainer,e.firstChild)}_showEditor(e){const t=this._getEditorId(),i=this._editorContainer;i.querySelector(".icon").remove();const n=document.createElement("div");n.className="editorContainer",a.default.setInnerHtml(n,e.returnValues.template),i.appendChild(n);const o=i.querySelector(".formSubmit");o.querySelector('button[data-type="save"]').addEventListener("click",(()=>this._save()));o.querySelector('button[data-type="cancel"]').addEventListener("click",(()=>this._restoreMessage())),l.add("com.woltlab.wcf.redactor",`submitEditor_${t}`,(e=>{e.cancel=!0,this._save()}));const r=document.getElementById(t);"redactor"===s.editor()?window.setTimeout((()=>{d.element(this._activeElement)}),250):r.focus()}_restoreMessage(){this._destroyEditor(),this._editorContainer.remove(),this._activeElement=null}_save(){const e={data:{message:""}},t=this._getEditorId();l.fire("com.woltlab.wcf.redactor2",`getText_${t}`,e.data),this._validate(e)&&(l.fire("com.woltlab.wcf.redactor2",`submit_${t}`,e),n.api(this,{actionName:"save",objectIDs:[this._getObjectId(this._activeElement)],parameters:e}),this._hideEditor())}_validate(e){this._activeElement.querySelectorAll(".innerError").forEach((e=>e.remove()));const t=document.getElementById(this._getEditorId());if(window.jQuery(t).data("redactor").utils.isEmpty())return this.throwError(t,c.get("wcf.global.form.error.empty")),!1;const i={api:this,parameters:e,valid:!0};return l.fire("com.woltlab.wcf.redactor2","validate_"+this._getEditorId(),i),i.valid}throwError(e,t){a.default.innerError(e,t)}_showMessage(e){const t=this._editorContainer.parentElement.querySelector(".commentContent .userMessage");a.default.setInnerHtml(t,e.returnValues.message),this._restoreMessage(),u.show()}_hideEditor(){const e=this._editorContainer.querySelector(".editorContainer");a.default.hide(e);const t=document.createElement("span");t.className="icon icon48 fa-spinner",this._editorContainer.appendChild(t)}_restoreEditor(){this._editorContainer.querySelector(".fa-spinner").remove();const e=this._editorContainer.querySelector(".editorContainer");null!==e&&a.default.show(e)}_destroyEditor(){l.fire("com.woltlab.wcf.redactor2",`autosaveDestroy_${this._getEditorId()}`),l.fire("com.woltlab.wcf.redactor2",`destroy_${this._getEditorId()}`)}_getEditorId(){return`commentEditor${this._getObjectId(this._activeElement)}`}_getObjectId(e){return~~e.dataset.objectId}_ajaxFailure(e){const t=this._editorContainer.querySelector(".redactor-layer");return null===t?(this._restoreMessage(),!0):(this._restoreEditor(),!e||void 0===e.returnValues||void 0===e.returnValues.errorType||(a.default.innerError(t,e.returnValues.errorType),!1))}_ajaxSuccess(e){switch(e.actionName){case"beginEdit":this._showEditor(e);break;case"save":this._showMessage(e)}}_ajaxSetup(){return{data:{className:"wcf\\data\\comment\\CommentAction",parameters:{data:{objectTypeID:~~this._container.dataset.objectTypeId}}},silent:!0}}}return o.enableLegacyInheritance(h),h})),define("WoltLabSuite/Core/Ui/Dialog/Data",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})})),define("WoltLabSuite/Core/Ui/Dropdown/Builder",["require","exports","tslib","../../Core","./Simple"],(function(e,t,i,n,o){"use strict";function r(e){if(!(e instanceof HTMLUListElement))throw new TypeError("Expected a reference to an <ul> element.");if(!e.classList.contains("dropdownMenu"))throw new Error("List does not appear to be a dropdown menu.")}function a(e){const t=document.createElement("li");if("divider"===e)return t.className="dropdownDivider",t;"string"==typeof e.identifier&&(t.dataset.identifier=e.identifier);const i=document.createElement("a");if(i.href="string"==typeof e.href?e.href:"#","function"==typeof e.callback)i.addEventListener("click",(t=>{t.preventDefault(),e.callback(i)}));else if("#"===i.href)throw new Error("Expected either a `href` value or a `callback`.");if(e.attributes&&n.isPlainObject(e.attributes)&&Object.keys(e.attributes).forEach((t=>{const n=e.attributes[t];if("string"!=typeof n)throw new Error("Expected only string values.");-1!==t.indexOf("-")?i.setAttribute(`data-${t}`,n):i.dataset[t]=n})),t.appendChild(i),void 0!==e.icon&&n.isPlainObject(e.icon)){if("string"!=typeof e.icon.name)throw new TypeError("Expected a valid icon name.");let t=16;"number"==typeof e.icon.size&&-1!==c.indexOf(~~e.icon.size)&&(t=~~e.icon.size);const n=document.createElement("span");n.className=`icon icon${t} fa-${e.icon.name}`,i.appendChild(n)}const o="string"==typeof e.label?e.label.trim():"",r="string"==typeof e.labelHtml?e.labelHtml.trim():"";if(""===o&&""===r)throw new TypeError("Expected either a label or a `labelHtml`.");const a=document.createElement("span");return a[o?"textContent":"innerHTML"]=o||r,i.appendChild(document.createTextNode(" ")),i.appendChild(a),t}function s(e,t){r(e),e.appendChild(a(t))}function l(e,t){if(r(e),!Array.isArray(t))throw new TypeError("Expected an array of items.");const i=t.length;if(0===i)throw new Error("Expected a non-empty list of items.");if(1===i)s(e,t[0]);else{const i=document.createDocumentFragment();t.forEach((e=>{i.appendChild(a(e))})),e.appendChild(i)}}Object.defineProperty(t,"__esModule",{value:!0}),t.divider=t.attach=t.setItems=t.appendItems=t.appendItem=t.buildItem=t.create=void 0,n=i.__importStar(n),o=i.__importDefault(o);const c=[16,24,32,48,64,96,144];t.create=function(e,t){const i=document.createElement("ul");return i.className="dropdownMenu","string"==typeof t&&(i.dataset.identifier=t),Array.isArray(e)&&e.length>0&&l(i,e),i},t.buildItem=function(e){return a(e)},t.appendItem=s,t.appendItems=l,t.setItems=function(e,t){r(e),e.innerHTML="",l(e,t)},t.attach=function(e,t){r(e),o.default.initFragment(t,e),t.addEventListener("click",(e=>{e.preventDefault(),e.stopPropagation(),o.default.toggleDropdown(t.id)}))},t.divider=function(){return"divider"}})),define("WoltLabSuite/Core/Ui/Dropdown/Data",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})})),define("WoltLabSuite/Core/Ui/File/Data",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})})),define("WoltLabSuite/Core/Ui/File/Delete",["require","exports","tslib","../../Ajax","../../Core","../../Dom/Change/Listener","../../Language"],(function(e,t,i,n,o,r,a){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importStar(a);class s{constructor(e,t,i,n){this.containers=new Map,this.deleteButton=void 0,this.isSingleImagePreview=i,this.uploadHandler=n;const o=document.getElementById(e);if(null===o)throw new Error(`Element id '${e}' is unknown.`);this.buttonContainer=o;const r=document.getElementById(t);if(null===r)throw new Error(`Element id '${t}' is unknown.`);this.target=r;const a=this.target.dataset.internalId;if(!a)throw new Error("InternalId is unknown.");this.internalId=a,this.rebuild()}createButtons(){let e=!1;this.target.querySelectorAll("li.uploadedFile").forEach((t=>{const i=t.dataset.uniqueFileId;if(this.containers.has(i))return;const n={uniqueFileId:i,element:t};this.containers.set(i,n),this.initDeleteButton(t,n),e=!0})),e&&r.default.trigger()}initDeleteButton(e,t){const i=e.querySelector(".buttonGroup");if(null===i)throw new Error(`Button group in '${this.target.id}' is unknown.`);const n=document.createElement("li"),o=document.createElement("span");o.className="button jsDeleteButton small",o.textContent=a.get("wcf.global.button.delete"),n.appendChild(o),i.appendChild(n),n.addEventListener("click",this.deleteElement.bind(this,t.uniqueFileId))}deleteElement(e){n.api(this,{uniqueFileId:e,internalId:this.internalId})}rebuild(){if(!this.isSingleImagePreview)return void this.createButtons();const e=this.target.querySelector("img");if(null!==e){const t=e.dataset.uniqueFileId;if(!this.containers.has(t)){const i={uniqueFileId:t,element:e};this.containers.set(t,i),this.deleteButton=document.createElement("p"),this.deleteButton.className="button deleteButton";const n=document.createElement("span");n.textContent=a.get("wcf.global.button.delete"),this.deleteButton.appendChild(n),this.buttonContainer.appendChild(this.deleteButton),this.deleteButton.addEventListener("click",this.deleteElement.bind(this,i.uniqueFileId))}}}_ajaxSuccess(e){this.containers.get(e.uniqueFileId).element.remove(),this.isSingleImagePreview&&this.deleteButton&&(this.deleteButton.remove(),this.deleteButton=void 0),this.uploadHandler.checkMaxFiles(),o.triggerEvent(this.target,"change")}_ajaxSetup(){return{url:"index.php?ajax-file-delete/&t="+window.SECURITY_TOKEN}}}return o.enableLegacyInheritance(s),s})),define("WoltLabSuite/Core/Ui/File/Upload",["require","exports","tslib","../../Core","./Delete","../../Dom/Util","../../Language","../../Upload"],(function(e,t,i,n,o,r,a,s){"use strict";n=i.__importStar(n),o=i.__importDefault(o),r=i.__importDefault(r),a=i.__importStar(a),s=i.__importDefault(s);class l extends s.default{constructor(e,t,i){if(void 0===(i=i||{}).internalId)throw new Error("Missing internal id.");(i=n.extend({imagePreview:!1,maxFiles:null,className:"invalid",url:`index.php?ajax-file-upload/&t=${window.SECURITY_TOKEN}`},i)).multiple=null===i.maxFiles||i.maxFiles>1,super(e,t,i),this.checkMaxFiles(),this._deleteHandler=new o.default(e,t,this._options.imagePreview,this)}_createFileElement(e){const t=super._createFileElement(e);t.classList.add("box64","uploadedFile");const i=t.querySelector("progress"),n=document.createElement("span");n.className="icon icon64 fa-spinner";const o=t.textContent;t.textContent="",t.append(n);const r=document.createElement("div"),a=document.createElement("p");a.textContent=o;const s=document.createElement("small");s.appendChild(i),r.appendChild(a),r.appendChild(s);const l=document.createElement("div");l.appendChild(r);const c=document.createElement("ul");return c.className="buttonGroup",l.appendChild(c),t.append(l),t}_failure(e,t){throw this._fileElements[e].forEach((e=>{e.classList.add("uploadFailed");const t=e.querySelector("small");t.innerHTML="";const i=e.querySelector(".icon");i.classList.remove("fa-spinner"),i.classList.add("fa-ban");const n=document.createElement("span");n.className="innerError",n.textContent=a.get("wcf.upload.error.uploadFailed"),t.insertAdjacentElement("afterend",n)})),new Error(`Upload failed: ${t.message}`)}_upload(e,t,i){const n=this._buttonContainer.parentElement.querySelector("small.innerError:not(.innerFileError)");return n&&n.remove(),super._upload(e,t,i)}_success(e,t){this._fileElements[e].forEach(((i,n)=>{if(void 0!==t.files[n]){const e=t.files[n];if(this._options.imagePreview){if(null===e.image)throw new Error("Expect image for uploaded file. None given.");i.remove();const t=this._target.querySelector("img.previewImage");if(null!==t)t.src=e.image;else{const t=document.createElement("img");t.classList.add("previewImage"),t.src=e.image,t.style.setProperty("max-width","100%",""),t.dataset.uniqueFileId=e.uniqueFileId,this._target.appendChild(t)}}else{i.dataset.uniqueFileId=e.uniqueFileId,i.querySelector("small").textContent=e.filesize.toString();const t=i.querySelector(".icon");t.classList.remove("fa-spinner"),t.classList.add(`fa-${e.icon}`)}}else{if(void 0===t.error[n])throw new Error(`Unknown uploaded file for uploadId ${e}.`);{const e=t.error[n];i.classList.add("uploadFailed");const o=i.querySelector("small");o.innerHTML="";const r=i.querySelector(".icon");r.classList.remove("fa-spinner"),r.classList.add("fa-ban");let a=i.querySelector(".innerError");null===a?(a=document.createElement("span"),a.className="innerError",a.textContent=e.errorMessage,o.insertAdjacentElement("afterend",a)):a.textContent=e.errorMessage}}})),this._deleteHandler.rebuild(),this.checkMaxFiles(),n.triggerEvent(this._target,"change")}_getFormData(){return{internalId:this._options.internalId}}validateUpload(e){if(null===this._options.maxFiles||e.length+this.countFiles()<=this._options.maxFiles)return!0;{let e=this._buttonContainer.parentElement.querySelector("small.innerError:not(.innerFileError)");return null===e&&(e=document.createElement("small"),e.className="innerError",this._buttonContainer.insertAdjacentElement("afterend",e)),e.textContent=a.get("wcf.upload.error.reachedRemainingLimit",{maxFiles:this._options.maxFiles-this.countFiles()}),!1}}countFiles(){return this._options.imagePreview?null!==this._target.querySelector("img")?1:0:this._target.childElementCount}checkMaxFiles(){null!==this._options.maxFiles&&this.countFiles()>=this._options.maxFiles?r.default.hide(this._button):r.default.show(this._button)}}return n.enableLegacyInheritance(l),l})),define("WoltLabSuite/Core/Ui/ItemList/Filter",["require","exports","tslib","../../Core","../../Dom/Util","../../Language","../../StringUtil","../Dropdown/Simple"],(function(e,t,i,n,o,r,a,s){"use strict";n=i.__importStar(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importDefault(s);class l{constructor(e,t){this._dropdownId="",this._dropdown=void 0,this._fragment=void 0,this._items=new Set,this._value="",this._options=n.extend({callbackPrepareItem:void 0,enableVisibilityFilter:!0,filterPosition:"bottom"},t),"top"!==this._options.filterPosition&&(this._options.filterPosition="bottom");const i=document.getElementById(e);if(null===i)throw new Error("Expected a valid element id, '"+e+"' does not match anything.");if(!i.classList.contains("scrollableCheckboxList")&&"function"!=typeof this._options.callbackPrepareItem)throw new Error("Filter only works with elements with the CSS class 'scrollableCheckboxList'.");"function"!=typeof this._options.callbackPrepareItem&&(this._options.callbackPrepareItem=e=>this._prepareItem(e)),i.dataset.filter="showAll";const o=document.createElement("div");o.className="itemListFilter",i.insertAdjacentElement("beforebegin",o),o.appendChild(i);const a=document.createElement("div");a.className="inputAddon";const s=document.createElement("input");s.className="long",s.type="text",s.placeholder=r.get("wcf.global.filter.placeholder"),s.addEventListener("keydown",(e=>{"Enter"===e.key&&e.preventDefault()})),s.addEventListener("keyup",(()=>this._keyup()));const l=document.createElement("a");if(l.href="#",l.className="button inputSuffix jsTooltip",l.title=r.get("wcf.global.filter.button.clear"),l.innerHTML='<span class="icon icon16 fa-times"></span>',l.addEventListener("click",(e=>{e.preventDefault(),this.reset()})),a.appendChild(s),a.appendChild(l),this._options.enableVisibilityFilter){const e=document.createElement("a");e.href="#",e.className="button inputSuffix jsTooltip",e.title=r.get("wcf.global.filter.button.visibility"),e.innerHTML='<span class="icon icon16 fa-eye"></span>',e.addEventListener("click",(e=>this._toggleVisibility(e))),a.appendChild(e)}"bottom"===this._options.filterPosition?o.appendChild(a):o.insertBefore(a,i),this._container=o,this._element=i,this._input=s}reset(){this._input.value="",this._keyup()}_buildItems(){this._items.clear(),Array.from(this._element.children).forEach((e=>{this._items.add(this._options.callbackPrepareItem(e))}))}_prepareItem(e){const t=e.children[0],i=t.textContent.trim(),n=t.children[0];for(;n.nextSibling;)t.removeChild(n.nextSibling);t.appendChild(document.createTextNode(" "));const o=document.createElement("span");return o.textContent=i,t.appendChild(o),{item:e,span:o,text:i}}_keyup(){const e=this._input.value.trim();if(this._value===e)return;this._fragment||(this._fragment=document.createDocumentFragment(),this._element.style.setProperty("height",`${this._element.offsetHeight}px`,"")),this._fragment.appendChild(this._element),this._items.size||this._buildItems();const t=new RegExp("("+a.escapeRegExp(e)+")","i");let i=""===e;this._items.forEach((n=>{""===e?(n.span.textContent=n.text,o.default.show(n.item)):t.test(n.text)?(n.span.innerHTML=n.text.replace(t,"<u>$1</u>"),o.default.show(n.item),i=!0):o.default.hide(n.item)})),"bottom"===this._options.filterPosition?this._container.insertAdjacentElement("afterbegin",this._element):this._container.insertAdjacentElement("beforeend",this._element),this._value=e,o.default.innerError(this._container,!i&&r.get("wcf.global.filter.error.noMatches"))}_toggleVisibility(e){e.preventDefault(),e.stopPropagation();const t=e.currentTarget;if(!this._dropdown){const e=document.createElement("ul");e.className="dropdownMenu",["activeOnly","highlightActive","showAll"].forEach((t=>{const i=document.createElement("a");i.dataset.type=t,i.href="#",i.textContent=r.get(`wcf.global.filter.visibility.${t}`),i.addEventListener("click",(e=>this._setVisibility(e)));const n=document.createElement("li");if(n.appendChild(i),"showAll"===t){n.className="active";const t=document.createElement("li");t.className="dropdownDivider",e.appendChild(t)}e.appendChild(n)})),s.default.initFragment(t,e),this._setupVisibilityFilter(),this._dropdown=e,this._dropdownId=t.id}s.default.toggleDropdown(t.id,t)}_setupVisibilityFilter(){const e=this._element.nextSibling,t=this._element.parentElement,i=this._element.scrollTop;document.createDocumentFragment().appendChild(this._element),this._element.querySelectorAll("li").forEach((e=>{const t=e.querySelector('input[type="checkbox"]');if(t)t.checked&&e.classList.add("active"),t.addEventListener("change",(()=>{t.checked?e.classList.add("active"):e.classList.remove("active")}));else{const t=e.querySelector('input[type="radio"]');t&&(t.checked&&e.classList.add("active"),t.addEventListener("change",(()=>{this._element.querySelectorAll("li").forEach((e=>e.classList.remove("active"))),t.checked?e.classList.add("active"):e.classList.remove("active")})))}})),t.insertBefore(this._element,e),this._element.scrollTop=i}_setVisibility(e){e.preventDefault();const t=e.currentTarget,i=t.dataset.type;if(s.default.close(this._dropdownId),this._element.dataset.filter===i)return;this._element.dataset.filter=i;this._dropdown.querySelector(".active").classList.remove("active"),t.parentElement.classList.add("active");const n=document.getElementById(this._dropdownId);"showAll"===i?n.classList.remove("active"):n.classList.add("active");const o=n.querySelector(".icon");"showAll"===i?(o.classList.add("fa-eye"),o.classList.remove("fa-eye-slash")):(o.classList.remove("fa-eye"),o.classList.add("fa-eye-slash"))}}return n.enableLegacyInheritance(l),l})),define("WoltLabSuite/Core/Ui/ItemList/LineBreakSeparatedText",["require","exports","tslib","../Confirmation","../../Language","../../Dom/Util"],(function(e,t,i,n,o,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UiItemListLineBreakSeparatedText=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r);class a{constructor(e,t={}){if(this.addButton=void 0,this.clearButton=void 0,this.itemInput=void 0,this.items=new Set,this.submitField=void 0,this.uiDisabled=!1,this.itemList=e,this.options=t,!this.options.submitFieldName){const e=this.itemList.nextElementSibling;if(!(e instanceof HTMLInputElement&&"hidden"===e.type))throw new Error("Missing `submitFieldName` option");this.submitField=e}this.itemList.closest("form").addEventListener("submit",(()=>this.submit())),this.mutationObserver=new MutationObserver((e=>{e.forEach((e=>{if("readonly"===e.attributeName){e.target.readOnly?this.disableUi():this.enableUi()}}))})),this.initValues(),this.buildUi()}addItem(e){if(e.preventDefault(),this.uiDisabled)return;const t=this.itemInput,i=t.value.trim();""===i?r.default.innerError(t.parentElement,o.get("wcf.global.form.error.empty")):this.items.has(i)?r.default.innerError(t.parentElement,o.get("wcf.acp.option.type.lineBreakSeparatedText.error.duplicate",{item:i}),!0):(this.insertItem(i),this.resetInput()),t.focus()}buildUi(){const e=document.createElement("div");e.classList.add("itemListFilter"),this.itemList.insertAdjacentElement("beforebegin",e),e.appendChild(this.itemList);const t=document.createElement("div");t.classList.add("inputAddon"),e.appendChild(t),this.itemInput=document.createElement("input"),this.itemInput.classList.add("long"),this.itemInput.type="text",this.itemInput.placeholder=o.get("wcf.acp.option.type.lineBreakSeparatedText.placeholder"),this.itemInput.addEventListener("keydown",(e=>this.keydown(e))),this.itemInput.addEventListener("paste",(e=>this.paste(e))),t.appendChild(this.itemInput),this.mutationObserver.observe(this.itemInput,{attributes:!0}),this.addButton=document.createElement("a"),this.addButton.href="#",this.addButton.classList.add("button","inputSuffix","jsTooltip"),this.addButton.title=o.get("wcf.global.button.add"),this.addButton.innerHTML='<span class="icon icon16 fa-plus"></span>',this.addButton.addEventListener("click",(e=>this.addItem(e))),t.appendChild(this.addButton),this.clearButton=document.createElement("a"),this.clearButton.href="#",this.clearButton.classList.add("button","inputSuffix","jsTooltip"),this.clearButton.title=o.get("wcf.global.button.delete"),this.clearButton.innerHTML='<span class="icon icon16 fa-times"></span>',this.clearButton.addEventListener("click",(e=>this.clearList(e))),t.appendChild(this.clearButton),0===this.items.size&&r.default.hide(this.clearButton)}clearList(e){e.preventDefault(),this.uiDisabled||n.show({confirm:()=>{this.itemList.innerHTML="",this.items.clear(),this.hideList()},message:o.get("wcf.acp.option.type.lineBreakSeparatedText.clearList.confirmMessage"),messageIsHtml:!0})}deleteItem(e){if(this.uiDisabled)return;const t=e.currentTarget,i=t.closest("li").dataset.value;n.show({confirm:()=>{t.closest("li").remove(),0===this.itemList.childElementCount&&this.hideList(),this.items.delete(i)},message:o.get("wcf.button.delete.confirmMessage",{objectTitle:i}),messageIsHtml:!0})}disableUi(){this.addButton.classList.add("disabled"),this.clearButton.classList.add("disabled"),this.itemList.querySelectorAll(".jsDeleteItem").forEach((e=>e.classList.add("disabled"))),this.uiDisabled=!0}enableUi(){this.addButton.classList.remove("disabled"),this.clearButton.classList.remove("disabled"),this.itemList.querySelectorAll(".jsDeleteItem").forEach((e=>e.classList.remove("disabled"))),this.uiDisabled=!1}hideList(){r.default.hide(this.itemList),r.default.hide(this.clearButton)}initValues(){Array.from(this.itemList.children).forEach((e=>{this.items.add(e.dataset.value),e.querySelector(".jsDeleteItem").addEventListener("click",(e=>this.deleteItem(e)))}))}insertItem(e){this.items.add(e);const t=document.createElement("li");t.dataset.value=e;const i=document.createElement("span");i.classList.add("icon","icon16","fa-times","jsDeleteItem","jsTooltip","pointer"),i.title=o.get("wcf.global.button.delete"),i.addEventListener("click",(e=>this.deleteItem(e))),t.append(i),t.append(document.createTextNode(" "));const n=document.createElement("span");n.innerText=e,t.append(n);const r=Array.from(this.itemList.children).find((t=>t.dataset.value>e));r?this.itemList.insertBefore(t,r):this.itemList.append(t),this.showList()}keydown(e){"Enter"===e.key&&this.addItem(e)}paste(e){if(this.uiDisabled)return;const t=e.clipboardData.getData("text/plain").split("\n");t.length>1&&(e.preventDefault(),t.forEach((e=>this.insertItem(e))),this.resetInput())}resetInput(){r.default.innerError(this.itemInput.parentElement,""),this.itemInput.value=""}showList(){r.default.show(this.itemList),r.default.show(this.clearButton)}submit(){const e=Array.from(this.items).join("\n");if(this.submitField)this.submitField.value=e;else{const t=document.createElement("input");t.type="hidden",t.name=this.options.submitFieldName,t.value=e,this.itemList.parentElement.append(t)}}}t.UiItemListLineBreakSeparatedText=a,t.default=a})),define("WoltLabSuite/Core/Ui/ItemList/Static",["require","exports","tslib","../../Core","../../Dom/Traverse","../../Language","../Dropdown/Simple"],(function(e,t,i,n,o,r,a){"use strict";function s(e,t){const i=document.createElement("ol");i.className="inputItemList"+(e.disabled?" disabled":""),i.dataset.elementId=e.id,i.addEventListener("click",(t=>{t.target===i&&e.focus()}));const n=document.createElement("li");let o;n.className="input",i.appendChild(n),e.addEventListener("keydown",(e=>function(e){const t=e.currentTarget,i=t.parentElement.previousElementSibling;"Backspace"===e.key?0===t.value.length&&null!==i&&(i.classList.contains("active")?d(i):i.classList.add("active")):"Escape"===e.key&&null!==i&&i.classList.contains("active")&&i.classList.remove("active")}(e))),e.addEventListener("keypress",(e=>function(e){if("Enter"===e.key||"Comma"===e.key){e.preventDefault();const t=e.currentTarget,i=t.value.trim();i.length&&c(t.id,{objectId:0,value:i})}}(e))),e.addEventListener("keyup",(e=>function(e){const t=e.currentTarget;if(t.value.length>0){const e=t.parentElement.previousElementSibling;null!==e&&e.classList.remove("active")}}(e))),e.addEventListener("paste",(e=>function(e){const t=e.currentTarget;e.clipboardData.getData("text/plain").split(",").map((e=>e.trim())).filter((e=>e.length>0)).forEach((e=>{c(t.id,{objectId:0,value:e})})),e.preventDefault()}(e))),e.addEventListener("blur",(e=>function(e){const t=e.currentTarget;window.setTimeout((()=>{const e=t.value.trim();e.length&&c(t.id,{objectId:0,value:e})}),100)}(e))),e.insertAdjacentElement("beforebegin",i),n.appendChild(e),-1!==t.maxLength&&(e.maxLength=t.maxLength);let r=[];if(t.isCSV&&(o=document.createElement("input"),o.className="itemListInputShadow",o.type="hidden",o.name=e.name,e.removeAttribute("name"),i.insertAdjacentElement("beforebegin",o),r=e.value.split(",").map((e=>e.trim())).filter((e=>e.length>0)),"TEXTAREA"===e.nodeName)){const t=document.createElement("input");t.type="text",e.parentElement.insertBefore(t,e),t.id=e.id,e.remove(),e=t}return{element:e,list:i,shadow:o,values:r}}function l(e){const t=p.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,t.element.placeholder=r.get("wcf.global.form.input.maxItems")))}function c(e,t,i){const n=p.get(e),o=document.createElement("li");o.className="item";const r=document.createElement("span");if(r.className="content",r.dataset.objectId=t.objectId.toString(),r.textContent=t.value,o.appendChild(r),i||!n.element.disabled){const e=document.createElement("a");e.className="icon icon16 fa-times",e.addEventListener("click",(e=>d(e))),o.appendChild(e)}n.list.insertBefore(o,n.listItem),n.element.value="",n.element.disabled||l(e);let a=u(n);"function"==typeof n.options.callbackChange&&(null===a&&(a=h(e)),n.options.callbackChange(e,a))}function d(e,t){e instanceof Event&&(e=e.currentTarget.parentElement);const i=e.parentElement.dataset.elementId,n=p.get(i);e.remove(),t||n.element.focus(),l(i);let o=u(n);"function"==typeof n.options.callbackChange&&(null===o&&(o=h(i)),n.options.callbackChange(i,o))}function u(e){if(!e.options.isCSV)return null;const t=h(e.element.id);return e.shadow.value=t.map((e=>e.value)).join(","),t}function h(e){if(!p.has(e))throw new Error(`Element id '${e}' is unknown.`);const t=p.get(e),i=[];return t.list.querySelectorAll(".item > span").forEach((e=>{i.push({objectId:~~e.dataset.objectId,value:e.textContent})})),i}Object.defineProperty(t,"__esModule",{value:!0}),t.setValues=t.getValues=t.init=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importDefault(a);const p=new Map;t.init=function(e,t,i){const r=document.getElementById(e);if(null===r)throw new Error("Expected a valid element id, '"+e+"' is invalid.");if(p.has(e)){const t=p.get(e);Object.values(t).forEach((e=>{e instanceof HTMLElement&&e.parentElement&&e.remove()})),a.default.destroy(e),p.delete(e)}const l=n.extend({maxItems:-1,maxLength:-1,isCSV:!1,callbackChange:null,callbackSubmit:null,submitFieldName:""},i),d=o.parentByTag(r,"FORM");if(null!==d&&!l.isCSV){if(!l.submitFieldName.length&&"function"!=typeof l.callbackSubmit)throw new Error("Expected a valid function for option 'callbackSubmit', a non-empty value for option 'submitFieldName' or enabling the option 'submitFieldCSV'.");d.addEventListener("submit",(()=>{const t=h(e);l.submitFieldName.length?t.forEach((e=>{const t=document.createElement("input");t.type="hidden",t.name=l.submitFieldName.replace("{$objectId}",e.objectId.toString()),t.value=e.value,d.appendChild(t)})):l.callbackSubmit(d,t)}))}const u=s(r,l);if(p.set(e,{dropdownMenu:null,element:u.element,list:u.list,listItem:u.element.parentElement,options:l,shadow:u.shadow}),t=u.values.length?u.values:t,Array.isArray(t)){const i=!u.element.disabled;t.forEach((t=>{"string"==typeof t&&(t={objectId:0,value:t}),c(e,t,i)}))}},t.getValues=h,t.setValues=function(e,t){if(!p.has(e))throw new Error(`Element id '${e}' is unknown.`);const i=p.get(e);o.childrenByClass(i.list,"item").forEach((e=>d(e,!0))),t.forEach((t=>c(e,t)))}})),define("WoltLabSuite/Core/Ui/ItemList/User",["require","exports","tslib","../ItemList"],(function(e,t,i,n){"use strict";function o(e){const t=r(e.element.id),i=[],n=[];t.forEach((e=>{e.type&&"group"===e.type?n.push(e.objectId):i.push(e.value)}));const o=e.shadow;return o.value=i.join(","),e._shadowGroups||(e._shadowGroups=document.createElement("input"),e._shadowGroups.type="hidden",e._shadowGroups.name=`${o.name}GroupIDs`,o.insertAdjacentElement("beforebegin",e._shadowGroups)),e._shadowGroups.value=n.join(","),t}function r(e){return n.getValues(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.getValues=t.init=void 0,n=i.__importStar(n),t.init=function(e,t){n.init(e,[],{ajax:{className:"wcf\\data\\user\\UserAction",parameters:{data:{includeUserGroups:t.includeUserGroups?~~t.includeUserGroups:0,restrictUserGroupIDs:Array.isArray(t.restrictUserGroupIDs)?t.restrictUserGroupIDs:[]}}},callbackChange:"function"==typeof t.callbackChange?t.callbackChange:null,callbackSyncShadow:t.csvPerType?o:null,callbackSetupValues:"function"==typeof t.callbackSetupValues?t.callbackSetupValues:null,excludedSearchValues:Array.isArray(t.excludedSearchValues)?t.excludedSearchValues:[],isCSV:!0,maxItems:t.maxItems?~~t.maxItems:-1,restricted:!0})},t.getValues=r})),define("WoltLabSuite/Core/Ui/Reaction/CountButtons",["require","exports","tslib","../../Ajax","../../Core","../../Dom/Change/Listener","../../Dom/Util","../../Event/Handler","../../StringUtil","../Dialog"],(function(e,t,i,n,o,r,a,s,l,c){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importDefault(a),s=i.__importStar(s),l=i.__importStar(l),c=i.__importDefault(c);const d=new Map(Object.entries(window.REACTION_TYPES));class u{constructor(e,t){if(this._containers=new Map,this._currentObjectId=0,this._objects=new Map,!t.containerSelector)throw new Error("[WoltLabSuite/Core/Ui/Reaction/CountButtons] Expected a non-empty string for option 'containerSelector'.");this._objectType=e,this._options=o.extend({summaryListSelector:".reactionSummaryList",containerSelector:"",isSingleItem:!1,parameters:{data:{}}},t),this.initContainers(),r.default.add(`WoltLabSuite/Core/Ui/Reaction/CountButtons-${e}`,(()=>this.initContainers()))}initContainers(){let e=!1;document.querySelectorAll(this._options.containerSelector).forEach((t=>{const i=a.default.identify(t);if(this._containers.has(i))return;const n=~~t.dataset.objectId,o={reactButton:null,summary:null,objectId:n,element:t};this._containers.set(i,o),this._initReactionCountButtons(t,o);const r=this._objects.get(n)||[];r.push(o),this._objects.set(n,r),e=!0})),e&&r.default.trigger()}updateCountButtons(e,t){let i=!1;this._objects.get(e).forEach((e=>{let n;if(n=this._options.isSingleItem?document.querySelector(this._options.summaryListSelector):e.element.querySelector(this._options.summaryListSelector),null===n)return;const o=new Map(Object.entries(t)),r=new Map;n.querySelectorAll(".reactCountButton").forEach((e=>{const t=e.dataset.reactionTypeId;o.has(t)?r.set(t,e):e.remove()})),o.forEach(((e,t)=>{if(r.has(t)){r.get(t).querySelector(".reactionCount").innerHTML=l.shortUnit(e)}else if(d.has(t)){const o=document.createElement("span");o.className="reactCountButton",o.innerHTML=d.get(t).renderedIcon,o.dataset.reactionTypeId=t;const r=document.createElement("span");r.className="reactionCount",r.innerHTML=l.shortUnit(e),o.appendChild(r),n.appendChild(o),i=!0}})),n.childElementCount>0?a.default.show(n):a.default.hide(n)})),i&&r.default.trigger()}_initReactionCountButtons(e,t){let i;i=this._options.isSingleItem?document.querySelector(this._options.summaryListSelector):e.querySelector(this._options.summaryListSelector),null!==i&&i.addEventListener("click",(e=>this._showReactionOverlay(t.objectId,e)))}_showReactionOverlay(e,t){t.preventDefault(),this._currentObjectId=e,this._showOverlay()}_showOverlay(){this._options.parameters.data.containerID=`${this._objectType}-${this._currentObjectId}`,this._options.parameters.data.objectID=this._currentObjectId,this._options.parameters.data.objectType=this._objectType,n.api(this,{parameters:this._options.parameters})}_ajaxSuccess(e){s.fire("com.woltlab.wcf.ReactionCountButtons","openDialog",e),c.default.open(this,e.returnValues.template),c.default.setTitle("userReactionOverlay-"+this._objectType,e.returnValues.title)}_ajaxSetup(){return{data:{actionName:"getReactionDetails",className:"\\wcf\\data\\reaction\\ReactionAction"}}}_dialogSetup(){return{id:`userReactionOverlay-${this._objectType}`,options:{title:""},source:null}}}return o.enableLegacyInheritance(u),u})),define("WoltLabSuite/Core/Ui/Reaction/Handler",["require","exports","tslib","../../Ajax","../../Core","../../Dom/Change/Listener","../../Dom/Util","../Alignment","../CloseOverlay","../Screen","./CountButtons"],(function(e,t,i,n,o,r,a,s,l,c,d){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importDefault(a),s=i.__importStar(s),l=i.__importDefault(l),c=i.__importStar(c),d=i.__importDefault(d);const u=Object.values(window.REACTION_TYPES);class h{constructor(e,t){if(this.activeButton=void 0,this._cache=new Map,this._containers=new Map,this._objects=new Map,this._popoverCurrentObjectId=0,!t.containerSelector)throw new Error("[WoltLabSuite/Core/Ui/Reaction/Handler] Expected a non-empty string for option 'containerSelector'.");this._objectType=e,this._popover=null,this._popoverContent=null,this._options=o.extend({buttonSelector:".reactButton",containerSelector:"",isButtonGroupNavigation:!1,isSingleItem:!1,parameters:{data:{}}},t),this.initReactButtons(),this.countButtons=new d.default(this._objectType,this._options),r.default.add(`WoltLabSuite/Core/Ui/Reaction/Handler-${e}`,(()=>this.initReactButtons())),l.default.add("WoltLabSuite/Core/Ui/Reaction/Handler",(()=>this._closePopover())),this.callbackFocus=e=>this.maintainFocus(e)}initReactButtons(){let e=!1;document.querySelectorAll(this._options.containerSelector).forEach((t=>{const i=a.default.identify(t);if(this._containers.has(i))return;const n=~~t.dataset.objectId,o={reactButton:null,objectId:n,element:t};this._containers.set(i,o),this._initReactButton(t,o);const r=this._objects.get(n)||[];r.push(o),this._objects.set(n,r),e=!0})),e&&r.default.trigger()}_initReactButton(e,t){if(this._options.isSingleItem?t.reactButton=document.querySelector(this._options.buttonSelector):t.reactButton=e.querySelector(this._options.buttonSelector),null!==t.reactButton){if(1===u.length){const e=u[0];t.reactButton.title=e.title;t.reactButton.querySelector(".invisible").textContent=e.title}t.reactButton.setAttribute("role","button"),u.length>1&&(t.reactButton.setAttribute("aria-haspopup","true"),t.reactButton.setAttribute("aria-expanded","false")),t.reactButton.addEventListener("click",(e=>{this._toggleReactPopover(t.objectId,t.reactButton,e)})),t.reactButton.addEventListener("keydown",(e=>{"Enter"===e.key&&(e.preventDefault(),this._toggleReactPopover(t.objectId,t.reactButton,null))}))}}_updateReactButton(e,t){this._objects.get(e).forEach((e=>{null!==e.reactButton&&(t?(e.reactButton.classList.add("active"),e.reactButton.dataset.reactionTypeId=t.toString()):(e.reactButton.dataset.reactionTypeId="0",e.reactButton.classList.remove("active")))}))}_markReactionAsActive(){let e=null;if(this._objects.get(this._popoverCurrentObjectId).forEach((t=>{null!==t.reactButton&&(e=~~t.reactButton.dataset.reactionTypeId)})),null===e)throw new Error("Unable to find react button for current popover.");const t=this._getPopover();t.querySelectorAll(".reactionTypeButton.active").forEach((e=>{e.classList.remove("active"),e.removeAttribute("aria-selected")}));const i=t.querySelector(".reactionPopoverContent");if(e){const n=t.querySelector(`.reactionTypeButton[data-reaction-type-id="${e}"]`);n.classList.add("active"),n.setAttribute("aria-selected","true"),0==~~n.dataset.isAssignable&&a.default.show(n),this._scrollReactionIntoView(i,n)}else c.is("screen-xs")&&(t.classList.contains("inverseOrder")?i.scrollTop=0:i.scrollTop=i.scrollHeight-i.clientHeight)}_scrollReactionIntoView(e,t){t.offsetTop<.75*e.clientHeight?e.scrollTop=0:e.scrollTop=t.offsetTop+t.clientHeight/2-e.clientHeight/2}_toggleReactPopover(e,t,i){if(null!==i&&(i.preventDefault(),i.stopPropagation()),1===u.length){const t=u[0];this._popoverCurrentObjectId=e,this._react(t.reactionTypeID)}else 0===this._popoverCurrentObjectId||this._popoverCurrentObjectId!==e?this._openReactPopover(e,t):this._closePopover()}_openReactPopover(e,t){0!==this._popoverCurrentObjectId&&this._closePopover(),this._popoverCurrentObjectId=e,s.set(this._getPopover(),t,{pointer:!0,horizontal:this._options.isButtonGroupNavigation?"left":"center",vertical:c.is("screen-xs")?"bottom":"top"}),this._options.isButtonGroupNavigation&&t.closest("nav").style.setProperty("opacity","1","");const i=this._getPopover();"auto"===i.style.getPropertyValue("bottom")?i.classList.add("inverseOrder"):i.classList.remove("inverseOrder"),this._markReactionAsActive(),this._rebuildOverflowIndicator(),i.classList.remove("forceHide"),i.classList.add("active"),this.activeButton=t,u.length>1&&(this.activeButton.setAttribute("aria-expanded","true"),document.body.addEventListener("focus",this.callbackFocus,{capture:!0}))}_getPopover(){if(null==this._popover){this._popover=document.createElement("div"),this._popover.className="reactionPopover forceHide",this._popoverContent=document.createElement("div"),this._popoverContent.className="reactionPopoverContent";const e=document.createElement("ul");e.className="reactionTypeButtonList",this._getSortedReactionTypes().forEach((t=>{const i=document.createElement("li");i.tabIndex=0,i.setAttribute("role","button"),i.className="reactionTypeButton jsTooltip",i.dataset.reactionTypeId=t.reactionTypeID.toString(),i.dataset.title=t.title,i.dataset.isAssignable=t.isAssignable.toString(),i.title=t.title;const n=document.createElement("span");n.className="reactionTypeButtonTitle",n.innerHTML=t.title,i.innerHTML=t.renderedIcon,i.appendChild(n),i.addEventListener("click",(()=>this._react(t.reactionTypeID))),i.addEventListener("keydown",(e=>this.keydown(e))),t.isAssignable||a.default.hide(i),e.appendChild(i)})),this._popoverContent.appendChild(e),this._popoverContent.addEventListener("scroll",(()=>this._rebuildOverflowIndicator()),{passive:!0}),this._popover.appendChild(this._popoverContent);const t=document.createElement("span");t.className="elementPointer",t.appendChild(document.createElement("span")),this._popover.appendChild(t),document.body.appendChild(this._popover),r.default.trigger()}return this._popover}keydown(e){if("Enter"===e.key||" "===e.key||"Escape"===e.key){e.preventDefault();const t=this.activeButton;if("Escape"===e.key)this._closePopover();else{const t=~~e.currentTarget.dataset.reactionTypeId;this._react(t)}t.focus()}}_rebuildOverflowIndicator(){const e=this._popoverContent;e.scrollTop>0?e.classList.add("overflowTop"):e.classList.remove("overflowTop");e.scrollTop+e.clientHeight<e.scrollHeight?e.classList.add("overflowBottom"):e.classList.remove("overflowBottom")}_getSortedReactionTypes(){return u.sort(((e,t)=>e.showOrder-t.showOrder))}_closePopover(){if(0!==this._popoverCurrentObjectId){const e=this._getPopover();e.classList.remove("active"),e.querySelectorAll('.reactionTypeButton[data-is-assignable="0"]').forEach((e=>a.default.hide(e))),this._options.isButtonGroupNavigation&&this._objects.get(this._popoverCurrentObjectId).forEach((e=>{e.reactButton.closest("nav").style.cssText=""})),u.length>1&&(this.activeButton.setAttribute("aria-expanded","false"),document.body.removeEventListener("focus",this.callbackFocus,{capture:!0})),this.activeButton=void 0,this._popoverCurrentObjectId=0}}_react(e){0!=~~this._popoverCurrentObjectId&&(this._options.parameters.reactionTypeID=e,this._options.parameters.data.objectID=this._popoverCurrentObjectId,this._options.parameters.data.objectType=this._objectType,n.api(this,{parameters:this._options.parameters}),this._closePopover())}_ajaxSuccess(e){this.countButtons.updateCountButtons(e.returnValues.objectID,e.returnValues.reactions),this._updateReactButton(e.returnValues.objectID,e.returnValues.reactionTypeID)}_ajaxSetup(){return{data:{actionName:"react",className:"\\wcf\\data\\reaction\\ReactionAction"}}}maintainFocus(e){if(document.activeElement&&!document.activeElement.classList.contains("focus-visible"))return;const t=this._getPopover();if(t.contains(e.target))this.wasInsideReactions=!0;else if(this.wasInsideReactions)this.activeButton.focus(),this.wasInsideReactions=!1;else{t.querySelector(".reactionTypeButton").focus()}}}return o.enableLegacyInheritance(h),h})),define("WoltLabSuite/Core/Ui/Like/Handler",["require","exports","tslib","../../Core","../../Dom/Change/Listener","../../Language","../../StringUtil","../Reaction/Handler","../../User"],(function(e,t,i,n,o,r,a,s,l){"use strict";n=i.__importStar(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importDefault(s),l=i.__importDefault(l);const c=new Map(Object.entries(window.REACTION_TYPES));class d{constructor(e,t){if(this._containers=new WeakMap,!t.containerSelector)throw new Error("[WoltLabSuite/Core/Ui/Like/Handler] Expected a non-empty string for option 'containerSelector'.");this._objectType=e,this._options=n.extend({badgeClassNames:"",isSingleItem:!1,markListItemAsActive:!1,renderAsButton:!0,summaryPrepend:!0,summaryUseIcon:!0,canDislike:!1,canLike:!1,canLikeOwnContent:!1,canViewSummary:!1,badgeContainerSelector:".messageHeader .messageStatus",buttonAppendToSelector:".messageFooter .messageFooterButtons",buttonBeforeSelector:"",containerSelector:"",summarySelector:".messageFooterGroup"},t),this.initContainers(),o.default.add(`WoltLabSuite/Core/Ui/Like/Handler-${e}`,(()=>this.initContainers())),new s.default(this._objectType,{containerSelector:this._options.containerSelector})}initContainers(){let e=!1;document.querySelectorAll(this._options.containerSelector).forEach((t=>{if(this._containers.has(t))return;const i={badge:null,dislikeButton:null,likeButton:null,summary:null,dislikes:~~t.dataset.likeDislikes,liked:~~t.dataset.likeLiked,likes:~~t.dataset.likeLikes,objectId:~~t.dataset.objectId,users:JSON.parse(t.dataset.likeUsers)};this._containers.set(t,i),this._buildWidget(t,i),e=!0})),e&&o.default.trigger()}_buildWidget(e,t){let i,n=!0;if(i=this._options.isSingleItem?document.querySelector(this._options.summarySelector):e.querySelector(this._options.summarySelector),null===i&&(i=this._options.isSingleItem?document.querySelector(this._options.badgeContainerSelector):e.querySelector(this._options.badgeContainerSelector),n=!1),null!==i){const e=document.createElement("ul");if(e.classList.add("reactionSummaryList"),n?e.classList.add("likesSummary"):e.classList.add("reactionSummaryListTiny"),Object.entries(t.users).forEach((([t,i])=>{const n=c.get(t);if("reactionTypeID"===t||!n)return;const o=document.createElement("li");o.className="reactCountButton",o.setAttribute("reaction-type-id",t);const r=document.createElement("span");r.className="reactionCount",r.innerHTML=a.shortUnit(~~i),o.appendChild(r),o.innerHTML=n.renderedIcon+o.innerHTML,e.appendChild(o)})),n)this._options.summaryPrepend?i.insertAdjacentElement("afterbegin",e):i.insertAdjacentElement("beforeend",e);else if("OL"===i.nodeName||"UL"===i.nodeName){const t=document.createElement("li");t.appendChild(e),i.appendChild(t)}else i.appendChild(e);t.badge=e}if(this._options.canLike&&(l.default.userId!=~~e.dataset.userId||this._options.canLikeOwnContent)){let i=null;this._options.buttonAppendToSelector&&(i=this._options.isSingleItem?document.querySelector(this._options.buttonAppendToSelector):e.querySelector(this._options.buttonAppendToSelector));let n=null;if(this._options.buttonBeforeSelector&&(n=this._options.isSingleItem?document.querySelector(this._options.buttonBeforeSelector):e.querySelector(this._options.buttonBeforeSelector)),null===n&&null===i)throw new Error("Unable to find insert location for like/dislike buttons.");t.likeButton=this._createButton(e,t.users.reactionTypeID,n,i)}}_createButton(e,t,i,n){const o=r.get("wcf.reactions.react"),a=document.createElement("li");a.className="wcfReactButton";const s=document.createElement("a");s.className="jsTooltip reactButton",this._options.renderAsButton&&s.classList.add("button"),s.href="#",s.title=o;const l=document.createElement("span");l.className="icon icon16 fa-smile-o",void 0===t||0==t?l.dataset.reactionTypeId="0":(s.dataset.reactionTypeId=t.toString(),s.classList.add("active")),s.appendChild(l);const c=document.createElement("span");return c.className="invisible",c.innerHTML=o,s.appendChild(document.createTextNode(" ")),s.appendChild(c),a.appendChild(s),i?i.insertAdjacentElement("beforebegin",a):n.insertAdjacentElement("beforeend",a),s}}return n.enableLegacyInheritance(d),d})),define("WoltLabSuite/Core/Ui/Message/InlineEditor",["require","exports","tslib","../../Ajax","../../Core","../../Dom/Change/Listener","../../Dom/Util","../../Environment","../../Event/Handler","../../Language","../Dropdown/Reusable","../Notification","../Scroll"],(function(e,t,i,n,o,r,a,s,l,c,d,u,h){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importDefault(a),s=i.__importStar(s),l=i.__importStar(l),c=i.__importStar(c),d=i.__importStar(d),u=i.__importStar(u),h=i.__importStar(h);class p{constructor(e){this.init(e)}init(e){this._activeDropdownElement=null,this._activeElement=null,this._dropdownMenu=null,this._elements=new WeakMap,this._options=o.extend({canEditInline:!1,className:"",containerId:0,dropdownIdentifier:"",editorPrefix:"messageEditor",messageSelector:".jsMessage",quoteManager:null},e),this.rebuild(),r.default.add(`Ui/Message/InlineEdit_${this._options.className}`,(()=>this.rebuild()))}rebuild(){document.querySelectorAll(this._options.messageSelector).forEach((e=>{if(this._elements.has(e))return;const t=e.querySelector(".jsMessageEditButton");if(null!==t){const i=o.stringToBool(e.dataset.canEdit||""),n=o.stringToBool(e.dataset.canEditInline||"");this._options.canEditInline||n?(t.addEventListener("click",(t=>this._clickDropdown(e,t))),t.classList.add("jsDropdownEnabled"),i&&t.addEventListener("dblclick",(t=>this._click(e,t)))):i&&t.addEventListener("click",(t=>this._click(e,t)))}const i=e.querySelector(".messageBody"),n=e.querySelector(".messageFooter"),r=n.querySelector(".messageFooterButtons"),a=e.querySelector(".messageHeader"),s=i.querySelector(".messageText");this._elements.set(e,{button:t,messageBody:i,messageBodyEditor:null,messageFooter:n,messageFooterButtons:r,messageHeader:a,messageText:s})}))}_click(e,t){null===e&&(e=this._activeDropdownElement),t&&t.preventDefault(),null===this._activeElement?(this._activeElement=e,this._prepare(),n.api(this,{actionName:"beginEdit",parameters:{containerID:this._options.containerId,objectID:this._getObjectId(e)}})):u.show("wcf.message.error.editorAlreadyInUse",void 0,"warning")}_clickDropdown(e,t){t.preventDefault();const i=t.currentTarget;if(!i.classList.contains("dropdownToggle")){if(i.classList.add("dropdownToggle"),i.parentElement.classList.add("dropdown"),i.addEventListener("click",(t=>{t.preventDefault(),t.stopPropagation(),this._activeDropdownElement=e,d.toggleDropdown(this._options.dropdownIdentifier,i)})),null===this._dropdownMenu){this._dropdownMenu=document.createElement("ul"),this._dropdownMenu.className="dropdownMenu";const e=this._dropdownGetItems();l.fire("com.woltlab.wcf.inlineEditor",`dropdownInit_${this._options.dropdownIdentifier}`,{items:e}),this._dropdownBuild(e),d.init(this._options.dropdownIdentifier,this._dropdownMenu),d.registerCallback(this._options.dropdownIdentifier,((e,t)=>this._dropdownToggle(e,t)))}setTimeout((()=>i.click()),10)}}_dropdownBuild(e){e.forEach((e=>{const t=document.createElement("li");if(t.dataset.item=e.item,"divider"===e.item)t.className="dropdownDivider";else{const i=document.createElement("span");i.textContent=c.get(e.label),t.appendChild(i),"editItem"===e.item?t.addEventListener("click",(e=>this._click(null,e))):t.addEventListener("click",(e=>this._clickDropdownItem(e)))}this._dropdownMenu.appendChild(t)}))}_dropdownToggle(e,t){const i=this._elements.get(this._activeDropdownElement),n=i.button.parentElement;if("close"===t)return n.classList.remove("dropdownOpen"),void i.messageFooterButtons.classList.remove("forceVisible");n.classList.add("dropdownOpen"),i.messageFooterButtons.classList.add("forceVisible");const o=new Map(Object.entries(this._dropdownOpen()));l.fire("com.woltlab.wcf.inlineEditor",`dropdownOpen_${this._options.dropdownIdentifier}`,{element:this._activeDropdownElement,visibility:o});const r=this._dropdownMenu;let s=!1;const c=Array.from(r.children);c.forEach(((e,t)=>{const i=e.dataset.item;if("divider"===i)s?(a.default.show(e),s=!1):a.default.hide(e);else if(!1===o.get(i)){if(a.default.hide(e),t>0&&t+1===c.length){const t=e.previousElementSibling;"divider"===t.dataset.item&&a.default.hide(t)}}else a.default.show(e),s=!0}))}_dropdownGetItems(){return[]}_dropdownOpen(){return{}}_dropdownSelect(e){}_clickDropdownItem(e){e.preventDefault();const t=e.currentTarget.dataset.item,i={cancel:!1,element:this._activeDropdownElement,item:t};l.fire("com.woltlab.wcf.inlineEditor",`dropdownItemClick_${this._options.dropdownIdentifier}`,i),i.cancel?e.preventDefault():this._dropdownSelect(t)}_prepare(){const e=this._elements.get(this._activeElement),t=document.createElement("div");t.className="messageBody editor",e.messageBodyEditor=t;const i=document.createElement("span");i.className="icon icon48 fa-spinner",t.appendChild(i),e.messageBody.insertAdjacentElement("afterend",t),a.default.hide(e.messageBody)}_showEditor(e){const t=this._getEditorId(),i=this._activeElement,n=this._elements.get(i);i.classList.add("jsInvalidQuoteTarget");n.messageBodyEditor.querySelector(".icon").remove();const o=n.messageBodyEditor,r=document.createElement("div");r.className="editorContainer",a.default.setInnerHtml(r,e.returnValues.template),o.appendChild(r);const c=r.querySelector(".formSubmit");c.querySelector('button[data-type="save"]').addEventListener("click",(()=>this._save()));if(c.querySelector('button[data-type="cancel"]').addEventListener("click",(()=>this._restoreMessage())),l.add("com.woltlab.wcf.redactor",`submitEditor_${t}`,(e=>{e.cancel=!0,this._save()})),a.default.hide(n.messageHeader),a.default.hide(n.messageFooter),"redactor"===s.editor())window.setTimeout((()=>{this._options.quoteManager&&this._options.quoteManager.setAlternativeEditor(t),h.element(i)}),250);else{document.getElementById(t).focus()}}_restoreMessage(){const e=this._activeElement,t=this._elements.get(e);this._destroyEditor(),t.messageBodyEditor.remove(),t.messageBodyEditor=null,a.default.show(t.messageBody),a.default.show(t.messageFooter),a.default.show(t.messageHeader),e.classList.remove("jsInvalidQuoteTarget"),this._activeElement=null,this._options.quoteManager&&this._options.quoteManager.clearAlternativeEditor()}_save(){const e={containerID:this._options.containerId,data:{message:""},objectID:this._getObjectId(this._activeElement),removeQuoteIDs:this._options.quoteManager?this._options.quoteManager.getQuotesMarkedForRemoval():[]},t=this._getEditorId(),i=document.getElementById(`settings_${t}`);i&&i.querySelectorAll("input, select, textarea").forEach((t=>{if("INPUT"===t.nodeName&&("checkbox"===t.type||"radio"===t.type)&&!t.checked)return;const i=t.name;if(Object.prototype.hasOwnProperty.call(e,i))throw new Error(`Variable overshadowing, key '${i}' is already present.`);e[i]=t.value.trim()})),l.fire("com.woltlab.wcf.redactor2",`getText_${t}`,e.data);let o=this._validate(e);o instanceof Promise||(o=!1===o?Promise.reject():Promise.resolve()),o.then((()=>{l.fire("com.woltlab.wcf.redactor2",`submit_${t}`,e),n.api(this,{actionName:"save",parameters:e}),this._hideEditor()}),(e=>{const t=e.message;console.log(`Validation of post edit failed: ${t}`)}))}_validate(e){this._activeElement.querySelectorAll(".innerError").forEach((e=>e.remove()));const t={api:this,parameters:e,valid:!0,promises:[]};return l.fire("com.woltlab.wcf.redactor2",`validate_${this._getEditorId()}`,t),t.valid?t.promises.push(Promise.resolve()):t.promises.push(Promise.reject()),Promise.all(t.promises)}throwError(e,t){a.default.innerError(e,t)}_showMessage(e){const t=this._activeElement,i=this._getEditorId(),n=this._elements.get(t);if(a.default.setInnerHtml(n.messageBody.querySelector(".messageText"),e.returnValues.message),"string"==typeof e.returnValues.attachmentList){n.messageFooter.querySelectorAll(".attachmentThumbnailList, .attachmentFileList").forEach((e=>e.remove()));const t=document.createElement("div");let i;for(a.default.setInnerHtml(t,e.returnValues.attachmentList);t.childNodes.length;)i=t.childNodes[t.childNodes.length-1],n.messageFooter.insertBefore(i,n.messageFooter.firstChild)}if("string"==typeof e.returnValues.poll){const t=n.messageBody.querySelector(".pollContainer");null!==t&&t.parentElement.remove();const i=document.createElement("div");i.className="jsInlineEditorHideContent",a.default.setInnerHtml(i,e.returnValues.poll),n.messageBody.insertAdjacentElement("afterbegin",i)}this._restoreMessage(),this._updateHistory(this._getHash(this._getObjectId(t))),l.fire("com.woltlab.wcf.redactor",`autosaveDestroy_${i}`),u.show(),this._options.quoteManager&&(this._options.quoteManager.clearAlternativeEditor(),this._options.quoteManager.countQuotes())}_hideEditor(){const e=this._elements.get(this._activeElement),t=e.messageBodyEditor.querySelector(".editorContainer");a.default.hide(t);const i=document.createElement("span");i.className="icon icon48 fa-spinner",e.messageBodyEditor.appendChild(i)}_restoreEditor(){const e=this._elements.get(this._activeElement).messageBodyEditor;e.querySelector(".fa-spinner").remove();const t=e.querySelector(".editorContainer");null!==t&&a.default.show(t)}_destroyEditor(){l.fire("com.woltlab.wcf.redactor2",`autosaveDestroy_${this._getEditorId()}`),l.fire("com.woltlab.wcf.redactor2",`destroy_${this._getEditorId()}`)}_getHash(e){return`#message${e}`}_updateHistory(e){window.location.hash=e}_getEditorId(){return this._options.editorPrefix+this._getObjectId(this._activeElement).toString()}_getObjectId(e){return e.dataset.objectId||""}_ajaxFailure(e){const t=this._elements.get(this._activeElement).messageBodyEditor.querySelector(".redactor-layer");return null===t?(this._restoreMessage(),!0):(this._restoreEditor(),!e||void 0===e.returnValues||void 0===e.returnValues.realErrorMessage||(a.default.innerError(t,e.returnValues.realErrorMessage),!1))}_ajaxSuccess(e){switch(e.actionName){case"beginEdit":this._showEditor(e);break;case"save":this._showMessage(e)}}_ajaxSetup(){return{data:{className:this._options.className,interfaceName:"wcf\\data\\IMessageInlineEditorAction"},silent:!0}}legacyEdit(e){this._click(document.getElementById(e),null)}}return o.enableLegacyInheritance(p),p})),define("WoltLabSuite/Core/Ui/Message/Manager",["require","exports","tslib","../../Ajax","../../Core","../../Dom/Change/Listener","../../Language","../../StringUtil"],(function(e,t,i,n,o,r,a,s){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importStar(a),s=i.__importStar(s);class l{constructor(e){this._elements=new Map,this._options=o.extend({className:"",selector:""},e),this.rebuild(),r.default.add(`Ui/Message/Manager${this._options.className}`,this.rebuild.bind(this))}rebuild(){this._elements.clear(),document.querySelectorAll(this._options.selector).forEach((e=>{this._elements.set(e.dataset.objectId,e)}))}getPermission(e,t){t="can"+s.ucfirst(t);const i=this._elements.get(e);if(void 0===i)throw new Error(`Unknown object id '${e}' for selector '${this._options.selector}'`);return o.stringToBool(i.dataset[s.toCamelCase(t)]||"")}getPropertyValue(e,t,i){const n=this._elements.get(e);if(void 0===n)throw new Error(`Unknown object id '${e}' for selector '${this._options.selector}'`);const r=n.dataset[s.toCamelCase(t)]||"";return i?o.stringToBool(r):r}update(e,t,i){n.api(this,{actionName:t,parameters:i||{},objectIDs:[e]})}updateItems(e,t){Array.isArray(e)||(e=[e]),e.forEach((e=>{const i=this._elements.get(e);void 0!==i&&Object.entries(t).forEach((([e,t])=>{this._update(i,e,t)}))}))}updateAllItems(e){const t=Array.from(this._elements.keys());this.updateItems(t,e)}setNote(e,t,i){const n=this._elements.get(e);if(void 0===n)throw new Error(`Unknown object id '${e}' for selector '${this._options.selector}'`);const o=n.querySelector(".messageFooterNotes");let r=o.querySelector(`.${t}`);i?(null===r&&(r=document.createElement("p"),r.className="messageFooterNote "+t,o.appendChild(r)),r.innerHTML=i):null!==r&&r.remove()}_update(e,t,i){e.dataset[t]=i.toString();const n=1==i||!0===i||"true"===i;this._updateState(e,t,i,n)}_updateState(e,t,i,n){switch(t){case"isDeleted":n?e.classList.add("messageDeleted"):e.classList.remove("messageDeleted"),this._toggleMessageStatus(e,"jsIconDeleted","wcf.message.status.deleted","red",n);break;case"isDisabled":n?e.classList.add("messageDisabled"):e.classList.remove("messageDisabled"),this._toggleMessageStatus(e,"jsIconDisabled","wcf.message.status.disabled","green",n)}}_toggleMessageStatus(e,t,i,n,o){let r=e.querySelector(".messageStatus");if(null===r){const t=e.querySelector(".messageHeaderMetaData");if(null===t)return;r=document.createElement("ul"),r.className="messageStatus",t.insertAdjacentElement("afterend",r)}let s=r.querySelector(`.${t}`);if(o){if(null!==s)return;s=document.createElement("span"),s.className=`badge label ${n} ${t}`,s.textContent=a.get(i);const e=document.createElement("li");e.appendChild(s),r.appendChild(e)}else{if(null===s)return;s.parentElement.remove()}}_getAttributeName(e){return-1!==e.indexOf("-")?e:e.split(/([A-Z][a-z]+)/).map((e=>e.trim().toLowerCase())).filter((e=>e.length>0)).join("-")}_ajaxSuccess(e){throw new Error("Method _ajaxSuccess() must be implemented by deriving functions.")}_ajaxSetup(){return{data:{className:this._options.className}}}}return o.enableLegacyInheritance(l),l})),define("WoltLabSuite/Core/Ui/Message/Quote",["require","exports","tslib","../../Ajax","../../Core","../../Event/Handler","../../Language","../../Dom/Change/Listener","../../Dom/Util"],(function(e,t,i,n,o,r,a,s,l){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UiMessageQuote=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importDefault(s),l=i.__importDefault(l);class c{constructor(e,t,i,n,o,r,a){this.activeMessageId="",this.containers=new Map,this.containerSelector="",this.copyQuote=document.createElement("div"),this.message="",this.objectId=0,this.objectType="",this.timerSelectionChange=void 0,this.isMouseDown=!1,this.className=t,this.objectType=i,this.containerSelector=n,this.messageBodySelector=o,this.initContainers(),a=a&&e.supportPaste(),this.quoteManager=e,this.initCopyQuote(a),document.addEventListener("mouseup",(e=>this.onMouseUp(e))),document.addEventListener("selectionchange",(()=>this.onSelectionchange())),s.default.add("UiMessageQuote",(()=>this.initContainers())),document.addEventListener("touchstart",(e=>{if(this.copyQuote.classList.contains("active")){const t=e.target;t===this.copyQuote||this.copyQuote.contains(t)||(this.copyQuote.classList.add("touchForceInaccessible"),document.addEventListener("touchend",(()=>{this.copyQuote.classList.remove("touchForceInaccessible")}),{once:!0}))}}),{passive:!0})}initContainers(){document.querySelectorAll(this.containerSelector).forEach((e=>{var t;const i=l.default.identify(e);this.containers.has(i)||(this.containers.set(i,e),e.classList.contains("jsInvalidQuoteTarget")||(e.addEventListener("mousedown",(e=>this.onMouseDown(e))),e.classList.add("jsQuoteMessageContainer"),null===(t=e.querySelector(".jsQuoteMessage"))||void 0===t||t.addEventListener("click",(e=>this.saveFullQuote(e)))))}))}onSelectionchange(){if(!this.isMouseDown){if(""===this.activeMessageId){const e=window.getSelection();if(1!==e.rangeCount||e.isCollapsed)return;const t=e.getRangeAt(0),i=l.default.closest(t.startContainer,".jsQuoteMessageContainer"),n=l.default.closest(t.endContainer,".jsQuoteMessageContainer");if(i&&i===n&&!i.classList.contains("jsInvalidQuoteTarget")){let e=t.commonAncestorContainer;e.nodeType!==Node.ELEMENT_NODE&&(e=e.parentElement);const n=e.offsetParent;if(i.contains(n)&&n.scrollTop+n.clientHeight<e.offsetTop)return;this.activeMessageId=i.id}}this.timerSelectionChange&&window.clearTimeout(this.timerSelectionChange),this.timerSelectionChange=window.setTimeout((()=>this.onMouseUp()),100)}}onMouseDown(e){this.copyQuote.classList.remove("active");const t=e.currentTarget;this.activeMessageId=t.classList.contains("jsInvalidQuoteTarget")?"":t.id,this.timerSelectionChange&&(window.clearTimeout(this.timerSelectionChange),this.timerSelectionChange=void 0),this.isMouseDown=!0}getNodeText(e){const t=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT|NodeFilter.SHOW_TEXT,{acceptNode:e=>"BLOCKQUOTE"===e.nodeName||"SCRIPT"===e.nodeName?NodeFilter.FILTER_REJECT:!(e instanceof HTMLImageElement)||e.classList.contains("smiley")&&e.alt?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT});let i="";const n=[];for(;t.nextNode();){const e=t.currentNode;if(e instanceof Text){const t=e.parentElement;if(t instanceof HTMLAnchorElement&&n.includes(t))continue;i+=e.nodeValue.replace(/\n/g," ")}else{if(e instanceof HTMLAnchorElement){const t=e.textContent;if(t.indexOf("…")>0){const o=t.split(/\u2026/);if(2===o.length){const t=e.href;0===t.indexOf(o[0])&&t.substr(-1*o[1].length)===o[1]&&(i+=t,n.push(e))}}}switch(e.nodeName){case"BR":case"LI":case"TD":case"UL":i+="\n";break;case"P":i+="\n\n";break;case"IMG":i+=` ${e.alt} `;break;case"DIV":(e.classList.contains("codeBoxHeadline")||e.classList.contains("codeBoxLine"))&&(i+="\n")}}}return i}onMouseUp(e){if(e instanceof Event&&(this.timerSelectionChange&&(window.clearTimeout(this.timerSelectionChange),this.timerSelectionChange=void 0),this.isMouseDown=!1),""===this.activeMessageId)return void this.copyQuote.classList.remove("active");const t=window.getSelection();if(1!==t.rangeCount||t.isCollapsed)return void this.copyQuote.classList.remove("active");const i=this.containers.get(this.activeMessageId),n=~~i.dataset.objectId,o=this.messageBodySelector?i.querySelector(this.messageBodySelector):i;let r=t.anchorNode;for(;r&&r!==o;)r=r.parentNode;if(r!==o)return void this.copyQuote.classList.remove("active");const a=this.getSelectedText().trim();if(""===a)return void this.copyQuote.classList.remove("active");const s=t.getRangeAt(0),c=l.default.getClosestElement(s.startContainer),d=l.default.getClosestElement(s.endContainer);if(c.closest("blockquote")||d.closest("blockquote"))return void this.copyQuote.classList.remove("active");const u=this.getNodeText(o);if(!this.normalizeTextForComparison(u).includes(this.normalizeTextForComparison(a)))return;this.copyQuote.classList.add("active");const h=this.getElementBoundaries(t),p=(this.copyQuote.offsetHeight,this.copyQuote.offsetWidth);let m=(h.right-h.left)/2-p/2+h.left;const f=o.getBoundingClientRect();m<f.left?m=f.left:m+p>f.right&&(m=f.right-p),this.copyQuote.style.setProperty("top",`${h.bottom+7}px`),this.copyQuote.style.setProperty("left",`${m}px`),this.copyQuote.classList.remove("active"),this.timerSelectionChange?(window.clearTimeout(this.timerSelectionChange),this.timerSelectionChange=void 0):this.activeMessageId="",window.setTimeout((()=>{const e=this.getSelectedText().trim();""!==e&&(this.copyQuote.classList.add("active"),this.message=e,this.objectId=n)}),10)}normalizeTextForComparison(e){return e.replace(/\r?\n|\r/g,"\n").replace(/\s/g," ").replace(/\s{2,}/g," ")}getElementBoundaries(e){let t=null;if(e.rangeCount>0){const i=e.getRangeAt(0).getBoundingClientRect(),n=window.pageYOffset;t={bottom:i.bottom+n,left:i.left,right:i.right,top:i.top+n}}return t}initCopyQuote(e){const t=document.getElementById("quoteManagerCopy");null==t||t.remove(),this.copyQuote.id="quoteManagerCopy",this.copyQuote.classList.add("balloonTooltip","interactive");const i=document.createElement("span");if(i.classList.add("jsQuoteManagerStore"),i.textContent=a.get("wcf.message.quote.quoteSelected"),i.addEventListener("click",(e=>this.saveQuote(e))),this.copyQuote.appendChild(i),e){const e=document.createElement("span");e.classList.add("jsQuoteManagerQuoteAndInsert"),e.textContent=a.get("wcf.message.quote.quoteAndReply"),e.addEventListener("click",(e=>this.saveAndInsertQuote(e))),this.copyQuote.appendChild(e)}document.body.appendChild(this.copyQuote)}getSelectedText(){const e=window.getSelection();return e.rangeCount?this.getNodeText(e.getRangeAt(0).cloneContents()):""}saveFullQuote(e){e.preventDefault();const t=e.currentTarget;n.api(this,{actionName:"saveFullQuote",objectIDs:[t.dataset.objectId]});const i=t.querySelector("a");o.stringToBool(t.dataset.isQuoted||"")?(t.dataset.isQuoted="false",i.classList.remove("active")):(t.dataset.isQuoted="true",i.classList.add("active"));const r=t.closest(".buttonGroupNavigation");if(r.classList.contains("jsMobileButtonGroupNavigation")){r.querySelector(".dropdownLabel").click()}}saveQuote(e,t=!1){null==e||e.preventDefault(),n.api(this,{actionName:"saveQuote",objectIDs:[this.objectId],parameters:{message:this.message,renderQuote:t}});const i=window.getSelection();i.rangeCount&&(i.removeAllRanges(),this.copyQuote.classList.remove("active"))}saveAndInsertQuote(e){e.preventDefault(),this.saveQuote(void 0,!0)}_ajaxSuccess(e){if(void 0!==e.returnValues.count){void 0!==e.returnValues.fullQuoteMessageIDs&&(e.returnValues.fullQuoteObjectIDs=e.returnValues.fullQuoteMessageIDs);const t=e.returnValues.fullQuoteObjectIDs||{};this.quoteManager.updateCount(e.returnValues.count,t)}switch(e.actionName){case"saveQuote":case"saveFullQuote":e.returnValues.renderedQuote&&r.fire("com.woltlab.wcf.message.quote","insert",{forceInsert:"saveQuote"===e.actionName,quote:e.returnValues.renderedQuote})}}_ajaxSetup(){return{data:{className:this.className,interfaceName:"wcf\\data\\IMessageQuoteAction"}}}updateFullQuoteObjectIDs(e){this.containers.forEach((t=>{const i=t.querySelector(".jsQuoteMessage");i.dataset.isQuoted="false";const n=i.querySelector("a");i.classList.remove("active");const o=~~i.dataset.objectID;e.includes(o)&&(i.dataset.isQuoted="true",n.classList.add("active"))}))}}t.UiMessageQuote=c,t.default=c})),define("WoltLabSuite/Core/Ui/Message/Reply",["require","exports","tslib","../../Ajax","../../Core","../../Event/Handler","../../Language","../../Dom/Change/Listener","../../Dom/Util","../Dialog","../Notification","../../User","../../Controller/Captcha","../Scroll"],(function(e,t,i,n,o,r,a,s,l,c,d,u,h,p){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importDefault(s),l=i.__importDefault(l),c=i.__importDefault(c),d=i.__importStar(d),u=i.__importDefault(u),h=i.__importDefault(h),p=i.__importStar(p);class m{constructor(e){this._editor=null,this._guestDialogId="",this._loadingOverlay=null,this._options=o.extend({ajax:{className:""},quoteManager:null,successMessage:"wcf.global.success.add"},e),this._container=document.getElementById("messageQuickReply"),this._content=this._container.querySelector(".messageContent"),this._textarea=document.getElementById("text"),this._container.querySelector(".message").classList.add("jsInvalidQuoteTarget");this._container.querySelector('button[data-type="save"]').addEventListener("click",(e=>this._submit(e))),document.querySelectorAll(".jsQuickReply").forEach((e=>{e.addEventListener("click",(e=>{e.preventDefault(),this._getEditor().WoltLabReply.showEditor(),p.element(this._container,(()=>{this._getEditor().WoltLabCaret.endOfEditor()}))}))}))}_submitGuestDialog(e){if(e instanceof KeyboardEvent&&"Enter"!==e.key)return;const t=e.currentTarget,i=t.closest(".dialogContent").querySelector("input[name=username]");if(""===i.value)return l.default.innerError(i,a.get("wcf.global.form.error.empty")),void i.closest("dl").classList.add("formError");let n={parameters:{data:{username:i.value}}};const r=t.dataset.captchaId;if(h.default.has(r)){const e=h.default.getData(r);e instanceof Promise?e.then((e=>{n=o.extend(n,e),this._submit(void 0,n)})):(n=o.extend(n,e),this._submit(void 0,n))}else this._submit(void 0,n)}_submit(e,t){if(e&&e.preventDefault(),this._content.classList.contains("loading")&&(!this._guestDialogId||!c.default.isOpen(this._guestDialogId)))return;if(!this._validate())return;this._showLoadingOverlay();const i={};Object.entries(this._container.dataset).forEach((([e,t])=>{i[e.replace(/Id$/,"ID")]=t})),i.data={message:this._getEditor().code.get()},i.removeQuoteIDs=this._options.quoteManager?this._options.quoteManager.getQuotesMarkedForRemoval():[];const a=document.getElementById("settings_text");a&&a.querySelectorAll("input, select, textarea").forEach((e=>{if("INPUT"===e.nodeName&&("checkbox"===e.type||"radio"===e.type)&&!e.checked)return;const t=e.name;if(Object.prototype.hasOwnProperty.call(i,t))throw new Error(`Variable overshadowing, key '${t}' is already present.`);i[t]=e.value.trim()})),r.fire("com.woltlab.wcf.redactor2","submit_text",i.data),u.default.userId||t||(i.requireGuestDialog=!0),n.api(this,o.extend({parameters:i},t))}_validate(){if(this._container.querySelectorAll(".innerError").forEach((e=>e.remove())),this._getEditor().utils.isEmpty())return this.throwError(this._textarea,a.get("wcf.global.form.error.empty")),!1;const e={api:this,editor:this._getEditor(),message:this._getEditor().code.get(),valid:!0};return r.fire("com.woltlab.wcf.redactor2","validate_text",e),e.valid}throwError(e,t){l.default.innerError(e,"empty"===t?a.get("wcf.global.form.error.empty"):t)}_showLoadingOverlay(){null===this._loadingOverlay&&(this._loadingOverlay=document.createElement("div"),this._loadingOverlay.className="messageContentLoadingOverlay",this._loadingOverlay.innerHTML='<span class="icon icon96 fa-spinner"></span>'),this._content.classList.add("loading"),this._content.appendChild(this._loadingOverlay)}_hideLoadingOverlay(){this._content.classList.remove("loading");const e=this._content.querySelector(".messageContentLoadingOverlay");null!==e&&e.remove()}_reset(){this._getEditor().code.set("<p></p>"),r.fire("com.woltlab.wcf.redactor2","reset_text")}_handleError(e){const t={api:this,cancel:!1,returnValues:e.returnValues};r.fire("com.woltlab.wcf.redactor2","handleError_text",t),t.cancel||this.throwError(this._textarea,e.returnValues.realErrorMessage)}_getEditor(){if(null===this._editor){if("function"!=typeof window.jQuery)throw new Error("Unable to access editor, jQuery has not been loaded yet.");this._editor=window.jQuery(this._textarea).data("redactor")}return this._editor}_insertMessage(e){if(this._getEditor().WoltLabAutosave.reset(),e.returnValues.url)window.location.href==e.returnValues.url&&window.location.reload(),window.location.href=e.returnValues.url;else{if(e.returnValues.template){let t;if("DESC"===this._container.dataset.sortOrder)l.default.insertHtml(e.returnValues.template,this._container,"after"),t=l.default.identify(this._container.nextElementSibling);else{let i=this._container;i.previousElementSibling&&i.previousElementSibling.classList.contains("messageListPagination")&&(i=i.previousElementSibling),l.default.insertHtml(e.returnValues.template,i,"before"),t=l.default.identify(i.previousElementSibling)}this._container.dataset.lastPostTime=e.returnValues.lastPostTime.toString(),window.history.replaceState(void 0,"",`#${t}`),p.element(document.getElementById(t))}d.show(a.get(this._options.successMessage)),this._options.quoteManager&&this._options.quoteManager.countQuotes(),s.default.trigger()}}_ajaxSuccess(e){if(!u.default.userId&&!e.returnValues.guestDialogID)throw new Error("Missing 'guestDialogID' return value for guest.");if(!u.default.userId&&e.returnValues.guestDialog){const t=e.returnValues.guestDialogID;c.default.openStatic(t,e.returnValues.guestDialog,{closable:!1,onClose:function(){h.default.has(t)&&h.default.delete(t)},title:a.get("wcf.global.confirmation.title")});const i=c.default.getDialog(t);i.content.querySelector("input[type=submit]").addEventListener("click",(e=>this._submitGuestDialog(e)));i.content.querySelector("input[type=text]").addEventListener("keypress",(e=>this._submitGuestDialog(e))),this._guestDialogId=t}else this._insertMessage(e),u.default.userId||c.default.close(e.returnValues.guestDialogID),this._reset(),this._hideLoadingOverlay()}_ajaxFailure(e){return this._hideLoadingOverlay(),null===e||void 0===e.returnValues||void 0===e.returnValues.realErrorMessage||(this._handleError(e),!1)}_ajaxSetup(){return{data:{actionName:"quickReply",className:this._options.ajax.className,interfaceName:"wcf\\data\\IMessageQuickReplyAction"},silent:!0}}}return o.enableLegacyInheritance(m),m})),define("WoltLabSuite/Core/Ui/Message/TwitterEmbed",["require","exports","https://platform.twitter.com/widgets.js"],(function(e,t){"use strict";async function i(e,t,i=!1){const o=await n,r=await o.widgets.createTweet(t,e,{dnt:!0,lang:document.documentElement.lang});if(r&&i){for(;e.lastChild;)e.removeChild(e.lastChild);e.appendChild(r)}return r}Object.defineProperty(t,"__esModule",{value:!0}),t.embedAll=t.embedTweet=void 0;const n=new Promise((e=>{twttr.ready(e)}));t.embedTweet=i,t.embedAll=function(){document.querySelectorAll("[data-wsc-twitter-tweet]").forEach((e=>{const t=e.dataset.wscTwitterTweet;t&&(delete e.dataset.wscTwitterTweet,i(e,t,!0))}))}})),define("WoltLabSuite/Core/Ui/Object/Data",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})})),define("WoltLabSuite/Core/Ui/Page/Search",["require","exports","tslib","../../Ajax","../../Dom/Util","../../Language","../../StringUtil","../Dialog"],(function(e,t,i,n,o,r,a,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.open=void 0,n=i.__importStar(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importDefault(s);class l{constructor(){this.callbackSelect=void 0,this.resultContainer=void 0,this.resultList=void 0,this.searchInput=void 0}open(e){this.callbackSelect=e,s.default.open(this)}search(e){e.preventDefault();const t=this.searchInput.parentNode,i=this.searchInput.value.trim();i.length<3?o.default.innerError(t,r.get("wcf.page.search.error.tooShort")):(o.default.innerError(t,!1),n.api(this,{parameters:{searchString:i}}))}click(e){e.preventDefault();const t=e.currentTarget,i=t.querySelector("h3");this.callbackSelect(t.dataset.pageId+"#"+i.textContent.replace(/['"]/g,"")),s.default.close(this)}_ajaxSuccess(e){const t=e.returnValues.map((e=>{const t=a.escapeHTML(e.name),i=a.escapeHTML(e.displayLink);return`<li>\n <div class="containerHeadline pointer" data-page-id="${e.pageID}">\n <h3>${t}</h3>\n <small>${i}</small>\n </div>\n </li>`})).join("");this.resultList.innerHTML=t,o.default[t?"show":"hide"](this.resultContainer),t?this.resultList.querySelectorAll(".containerHeadline").forEach((e=>{e.addEventListener("click",(e=>this.click(e)))})):o.default.innerError(this.searchInput.parentElement,r.get("wcf.page.search.error.noResults"))}_ajaxSetup(){return{data:{actionName:"search",className:"wcf\\data\\page\\PageAction"}}}_dialogSetup(){return{id:"wcfUiPageSearch",options:{onSetup:()=>{this.searchInput=document.getElementById("wcfUiPageSearchInput"),this.searchInput.addEventListener("keydown",(e=>{"Enter"===e.key&&this.search(e)})),this.searchInput.nextElementSibling.addEventListener("click",(e=>this.search(e))),this.resultContainer=document.getElementById("wcfUiPageSearchResultContainer"),this.resultList=document.getElementById("wcfUiPageSearchResultList")},onShow:()=>{this.searchInput.focus()},title:r.get("wcf.page.search")},source:`<div class="section">\n <dl>\n <dt><label for="wcfUiPageSearchInput">${r.get("wcf.page.search.name")}</label></dt>\n <dd>\n <div class="inputAddon">\n <input type="text" id="wcfUiPageSearchInput" class="long">\n <a href="#" class="inputSuffix"><span class="icon icon16 fa-search"></span></a>\n </div>\n </dd>\n </dl>\n </div>\n <section id="wcfUiPageSearchResultContainer" class="section" style="display: none;">\n <header class="sectionHeader">\n <h2 class="sectionTitle">${r.get("wcf.page.search.results")}</h2>\n </header>\n <ol id="wcfUiPageSearchResultList" class="containerList"></ol>\n </section>`}}}let c;t.open=function(e){(void 0===c&&(c=new l),c).open(e)}})),define("WoltLabSuite/Core/Ui/Sortable/List",["require","exports","tslib","../../Core","../Screen"],(function(e,t,i,n,o){"use strict";n=i.__importStar(n),o=i.__importStar(o);class r{constructor(e){this._options=n.extend({containerId:"",className:"",offset:0,options:{},isSimpleSorting:!1,additionalParameters:{}},e),o.on("screen-sm-md",{match:()=>this._enable(!0),unmatch:()=>this._disable(),setup:()=>this._enable(!0)}),o.on("screen-lg",{match:()=>this._enable(!1),unmatch:()=>this._disable(),setup:()=>this._enable(!1)})}_enable(e){const t=this._options.options;e&&(t.handle=".sortableNodeHandle"),new window.WCF.Sortable.List(this._options.containerId,this._options.className,this._options.offset,t,this._options.isSimpleSorting,this._options.additionalParameters)}_disable(){window.jQuery(`#${this._options.containerId} .sortableList`)[this._options.isSimpleSorting?"sortable":"nestedSortable"]("destroy")}}return n.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Ui/Poll/Editor",["require","exports","tslib","../../Core","../../Language","../Sortable/List","../../Event/Handler","../../Date/Picker"],(function(e,t,i,n,o,r,a,s){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importStar(a),s=i.__importStar(s);class l{constructor(e,t,i,o){const s=document.getElementById(e);if(null===s)throw new Error("Unknown poll editor container with id '"+e+"'.");if(this.container=s,this.wysiwygId=i,""!==i&&null===document.getElementById(i))throw new Error("Unknown wysiwyg field with id '"+i+"'.");this.questionField=document.getElementById(this.wysiwygId+"Poll_question");const l=this.container.querySelector(".sortableList");if(null===l)throw new Error("Cannot find poll options list for container with id '"+e+"'.");if(this.optionList=l,this.endTimeField=document.getElementById(this.wysiwygId+"Poll_endTime"),this.maxVotesField=document.getElementById(this.wysiwygId+"Poll_maxVotes"),this.isChangeableYesField=document.getElementById(this.wysiwygId+"Poll_isChangeable"),this.isChangeableNoField=document.getElementById(this.wysiwygId+"Poll_isChangeable_no"),this.isPublicYesField=document.getElementById(this.wysiwygId+"Poll_isPublic"),this.isPublicNoField=document.getElementById(this.wysiwygId+"Poll_isPublic_no"),this.resultsRequireVoteYesField=document.getElementById(this.wysiwygId+"Poll_resultsRequireVote"),this.resultsRequireVoteNoField=document.getElementById(this.wysiwygId+"Poll_resultsRequireVote_no"),this.sortByVotesYesField=document.getElementById(this.wysiwygId+"Poll_sortByVotes"),this.sortByVotesNoField=document.getElementById(this.wysiwygId+"Poll_sortByVotes_no"),this.optionCount=0,this.options=n.extend({isAjax:!1,maxOptions:20},o),this.createOptionList(t||[]),new r.default({containerId:e,options:{toleranceElement:"> div"}}),this.options.isAjax)["handleError","reset","submit","validate"].forEach((e=>{a.add("com.woltlab.wcf.redactor2",e+"_"+this.wysiwygId,((...t)=>this[e](...t)))}));else{const t=this.container.closest("form");if(null===t)throw new Error("Cannot find form for container with id '"+e+"'.");t.addEventListener("submit",(e=>this.submit(e)))}}createOption(e,t,i){e=e||"",t=t||"0";const n=document.createElement("LI");n.classList.add("sortableNode"),n.dataset.optionId=t,i?i.insertAdjacentElement("afterend",n):this.optionList.appendChild(n);const r=document.createElement("div");r.classList.add("pollOptionInput"),n.appendChild(r);const a=document.createElement("span");a.classList.add("icon","icon16","fa-arrows","sortableNodeHandle"),r.appendChild(a);const s=document.createElement("a");n.setAttribute("role","button"),n.setAttribute("href","#"),s.classList.add("icon","icon16","fa-plus","jsTooltip","jsAddOption","pointer"),s.setAttribute("title",o.get("wcf.poll.button.addOption")),s.addEventListener("click",(()=>this.createOption())),r.appendChild(s);const l=document.createElement("a");l.setAttribute("role","button"),l.setAttribute("href","#"),l.classList.add("icon","icon16","fa-times","jsTooltip","jsDeleteOption","pointer"),l.setAttribute("title",o.get("wcf.poll.button.removeOption")),l.addEventListener("click",(e=>this.removeOption(e))),r.appendChild(l);const c=document.createElement("input");c.type="text",c.value=e,c.maxLength=255,c.addEventListener("keydown",(e=>this.optionInputKeyDown(e))),c.addEventListener("click",(()=>{document.activeElement!==c&&c.focus()})),r.appendChild(c),null!==i&&c.focus(),this.optionCount++,this.optionCount===this.options.maxOptions&&this.optionList.querySelectorAll(".jsAddOption").forEach((e=>{e.classList.remove("pointer"),e.classList.add("disabled")}))}createOptionList(e){e.forEach((e=>{this.createOption(e.optionValue,e.optionID)})),this.optionCount<this.options.maxOptions&&this.createOption()}handleError(e){switch(e.returnValues.fieldName){case this.wysiwygId+"Poll_endTime":case this.wysiwygId+"Poll_maxVotes":{const t=e.returnValues.fieldName.replace(this.wysiwygId+"Poll_",""),i=document.createElement("small");i.classList.add("innerError"),i.innerHTML=o.get("wcf.poll."+t+".error."+e.returnValues.errorType);document.getElementById(e.returnValues.fieldName).nextSibling.insertAdjacentElement("afterbegin",i),e.cancel=!0;break}}}optionInputKeyDown(e){if("Enter"!==e.key)return;const t=e.currentTarget.parentElement.querySelector(".jsAddOption");n.triggerEvent(t,"click"),e.preventDefault()}removeOption(e){e.preventDefault();e.currentTarget.closest("li").remove(),this.optionCount--,0===this.optionList.childElementCount?this.createOption():this.optionList.querySelectorAll(".jsAddOption").forEach((e=>{e.classList.add("pointer"),e.classList.remove("disabled")}))}reset(){this.questionField.value="",this.optionCount=0,this.optionList.innerHTML="",this.createOption(),s.clear(this.endTimeField),this.maxVotesField.value="1",this.isChangeableYesField.checked=!1,this.isChangeableNoField.checked=!0,this.isPublicYesField.checked=!1,this.isPublicNoField.checked=!0,this.resultsRequireVoteYesField.checked=!1,this.resultsRequireVoteNoField.checked=!0,this.sortByVotesYesField.checked=!1,this.sortByVotesNoField.checked=!0,a.fire("com.woltlab.wcf.poll.editor","reset",{pollEditor:this})}submit(e){if(this.options.isAjax)a.fire("com.woltlab.wcf.poll.editor","submit",{event:e,pollEditor:this});else{const e=this.container.closest("form");this.getOptions().forEach(((t,i)=>{const n=document.createElement("input");n.type="hidden",n.name=`${this.wysiwygId} + 'Poll_options[${i}}]`,n.value=t,e.appendChild(n)}))}}validate(e){if(""===this.questionField.value.trim())return;let t=0;if(Array.from(this.optionList.children).forEach((e=>{""!==e.querySelector("input[type=text]").value.trim()&&t++})),0===t)e.api.throwError(this.container,o.get("wcf.global.form.error.empty")),e.valid=!1;else{const i=~~this.maxVotesField.value;i&&i>t?(e.api.throwError(this.maxVotesField.parentElement,o.get("wcf.poll.maxVotes.error.invalid")),e.valid=!1):a.fire("com.woltlab.wcf.poll.editor","validate",{data:e,pollEditor:this})}}getData(){return{[this.questionField.id]:this.questionField.value,[this.wysiwygId+"Poll_options"]:this.getOptions(),[this.endTimeField.id]:this.endTimeField.value,[this.maxVotesField.id]:this.maxVotesField.value,[this.isChangeableYesField.id]:!!this.isChangeableYesField.checked,[this.isPublicYesField.id]:!!this.isPublicYesField.checked,[this.resultsRequireVoteYesField.id]:!!this.resultsRequireVoteYesField.checked,[this.sortByVotesYesField.id]:!!this.sortByVotesYesField.checked}}getOptions(){const e=[];return Array.from(this.optionList.children).forEach((t=>{const i=t.querySelector("input[type=text]").value.trim();""!==i&&e.push(`${t.dataset.optionId}_${i}`)})),e}}return n.enableLegacyInheritance(l),l})),define("WoltLabSuite/Core/Ui/Reaction/Data",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})})),define("WoltLabSuite/Core/Ui/Redactor/Article",["require","exports","tslib","../../Core","../Article/Search"],(function(e,t,i,n,o){"use strict";n=i.__importStar(n),o=i.__importStar(o);class r{constructor(e,t){this._editor=e,t.addEventListener("click",(e=>this._click(e)))}_click(e){e.preventDefault(),o.open((e=>this._insert(e)))}_insert(e){this._editor.buffer.set(),this._editor.insert.text(`[wsa='${e}'][/wsa]`)}}return n.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Ui/Redactor/Metacode",["require","exports","tslib","../../Event/Handler","../../Dom/Util"],(function(e,t,i,n,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.convertFromHtml=void 0,n=i.__importStar(n),o=i.__importDefault(o),t.convertFromHtml=function(e,t){const i=document.createElement("div");return i.innerHTML=t,i.querySelectorAll("woltlab-metacode").forEach((t=>{const r=t.dataset.name,a=function(e){try{e=JSON.parse(atob(e))}catch(e){}return Array.isArray(e)?e.map((e=>e.toString().replace(/^'(.*)'$/,"$1"))):[]}(t.dataset.attributes||""),s={attributes:a,cancel:!1,metacode:t};if(n.fire("com.woltlab.wcf.redactor2",`metacode_${r}_${e}`,s),s.cancel)return;const l=function(e,t){let i="["+e;return t.length&&(i+="=",i+=t.map((e=>`'${e}'`)).join(",")),document.createTextNode(i+"]")}(r,a),c=function(e){return document.createTextNode(`[/${e}]`)}(r);if(t.parentElement===i){const e=function(e){let t;if(0===e.childElementCount)t=document.createElement("p"),e.appendChild(t);else{const i=e.children[0];"P"===i.nodeName?t=i:(t=document.createElement("p"),e.insertBefore(t,i))}return t}(t);e.insertBefore(l,e.firstChild),function(e){const t=e.childElementCount;let i;if(0===t)i=document.createElement("p"),e.appendChild(i);else{const n=e.children[t-1];"P"===n.nodeName?i=n:(i=document.createElement("p"),e.appendChild(i))}return i}(t).appendChild(c)}else t.insertBefore(l,t.firstChild),t.appendChild(c);o.default.unwrapChildNodes(t)})),i.querySelectorAll("kbd").forEach((e=>{e.insertBefore(document.createTextNode("[tt]"),e.firstChild),e.appendChild(document.createTextNode("[/tt]")),o.default.unwrapChildNodes(e)})),i.innerHTML}})),define("WoltLabSuite/Core/Ui/Redactor/Autosave",["require","exports","tslib","../../Core","../../Devtools","../../Event/Handler","../../Language","./Metacode"],(function(e,t,i,n,o,r,a,s){"use strict";n=i.__importStar(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s);class l{constructor(e){this._container=null,this._editor=null,this._isActive=!0,this._isPending=!1,this._lastMessage="",this._metaData={},this._originalMessage="",this._restored=!1,this._timer=null,this._element=e,this._key=n.getStoragePrefix()+this._element.dataset.autosave,this._cleanup(),delete this._element.dataset.autosave;const t=this._element.closest("form");null!==t&&t.addEventListener("submit",this.destroy.bind(this)),r.add("com.woltlab.wcf.redactor2",`getMetaData_${this._element.id}`,(e=>{Object.entries(this._metaData).forEach((([t,i])=>{e[t]=i}))})),r.add("com.woltlab.wcf.redactor2",`reset_${this._element.id}`,(()=>this.hideOverlay())),document.addEventListener("visibilitychange",(()=>this._onVisibilityChange()))}_onVisibilityChange(){this._isActive=!document.hidden,this._isPending=document.hidden}getInitialValue(){if(window.ENABLE_DEVELOPER_TOOLS&&!o.default._internal_.editorAutosave())return this._element.value;let e="";try{e=window.localStorage.getItem(this._key)||""}catch(e){const t=e.message;window.console.warn(`Unable to access local storage: ${t}`)}let t=null;try{t=JSON.parse(e)}catch(e){}if(null!==t&&"object"==typeof t&&t.content){if(1e3*~~this._element.dataset.autosaveLastEditTime<=t.timestamp){const e=document.createElement("div");e.innerHTML=this._element.value;const i=document.createElement("div");if(i.innerHTML=t.content,e.innerText.trim()!==i.innerText.trim())return this._originalMessage=this._element.value,this._restored=!0,this._metaData=t.meta||{},t.content}}return this._element.value}getMetaData(){return this._metaData}watch(e){if(this._editor=e,null!==this._timer)throw new Error("Autosave timer is already active.");this._timer=window.setInterval((()=>this._saveToStorage()),15e3),this._saveToStorage(),this._isPending=!1}destroy(){this.clear(),this._editor=null,this._timer&&window.clearInterval(this._timer),this._timer=null,this._isPending=!1}clear(){this._metaData={},this._lastMessage="";try{window.localStorage.removeItem(this._key)}catch(e){const t=e.message;window.console.warn(`Unable to remove from local storage: ${t}`)}}createOverlay(){if(!this._restored)return;const e=this._editor,t=document.createElement("div");t.className="redactorAutosaveRestored active";const i=document.createElement("span");i.textContent=a.get("wcf.editor.autosave.restored"),t.appendChild(i);const n=document.createElement("a");n.className="jsTooltip",n.href="#",n.title=a.get("wcf.editor.autosave.keep"),n.innerHTML='<span class="icon icon16 fa-check green"></span>',n.addEventListener("click",(e=>{e.preventDefault(),this.hideOverlay()})),t.appendChild(n);const o=document.createElement("a");o.className="jsTooltip",o.href="#",o.title=a.get("wcf.editor.autosave.discard"),o.innerHTML='<span class="icon icon16 fa-times red"></span>',o.addEventListener("click",(t=>{t.preventDefault(),this.clear();const i=s.convertFromHtml(e.core.element()[0].id,this._originalMessage);e.code.start(i),e.core.textarea().val(e.clean.onSync(e.$editor.html())),this.hideOverlay()})),t.appendChild(o),e.core.box()[0].appendChild(t),e.core.editor()[0].addEventListener("click",(()=>this.hideOverlay()),{once:!0}),this._container=t}hideOverlay(){null!==this._container&&(this._container.classList.remove("active"),window.setTimeout((()=>{null!==this._container&&this._container.remove(),this._container=null,this._originalMessage=""}),1e3))}_saveToStorage(){if(!this._isActive){if(!this._isPending)return;this._isPending=!1}if(window.ENABLE_DEVELOPER_TOOLS&&!o.default._internal_.editorAutosave())return;const e=this._editor;let t=e.code.get();if(e.utils.isEmpty(t)&&(t=""),this._lastMessage!==t){if(""===t)return this.clear();try{r.fire("com.woltlab.wcf.redactor2",`autosaveMetaData_${this._element.id}`,this._metaData),window.localStorage.setItem(this._key,JSON.stringify({content:t,meta:this._metaData,timestamp:Date.now()})),this._lastMessage=t}catch(e){const t=e.message;window.console.warn(`Unable to write to local storage: ${t}`)}}}_cleanup(){const e=Date.now()-6048e5;Object.keys(window.localStorage).filter((e=>e.startsWith(n.getStoragePrefix()))).forEach((t=>{let i="";try{i=window.localStorage.getItem(t)||""}catch(e){const t=e.message;window.console.warn(`Unable to access local storage: ${t}`)}let n=0;try{n=JSON.parse(i).timestamp}catch(e){}if(!i||n<e)try{window.localStorage.removeItem(t)}catch(e){const t=e.message;window.console.warn(`Unable to remove from local storage: ${t}`)}}))}}return n.enableLegacyInheritance(l),l})),define("WoltLabSuite/Core/Ui/Redactor/PseudoHeader",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getHeight=void 0,t.getHeight=function(e){let t=~~window.getComputedStyle(e).paddingTop.replace(/px$/,"");const i=window.getComputedStyle(e,"::before");t+=~~i.paddingTop.replace(/px$/,""),t+=~~i.paddingBottom.replace(/px$/,"");let n=~~i.height.replace(/px$/,"");return 0===n&&(n=e.scrollHeight,e.classList.add("redactorCalcHeight"),n-=e.scrollHeight,e.classList.remove("redactorCalcHeight")),t+=n,t}})),define("WoltLabSuite/Core/Ui/Redactor/Code",["require","exports","tslib","../../Core","../../Dom/Util","../../Event/Handler","../../Language","../../StringUtil","../Dialog","./PseudoHeader","../../prism-meta"],(function(e,t,i,n,o,r,a,s,l,c,d){"use strict";n=i.__importStar(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importDefault(l),c=i.__importStar(c),d=i.__importDefault(d);let u=0;class h{constructor(e){this._pre=null,this._editor=e,this._elementId=this._editor.$element[0].id,r.add("com.woltlab.wcf.redactor2",`bbcode_code_${this._elementId}`,(e=>this._bbcodeCode(e))),r.add("com.woltlab.wcf.redactor2",`observe_load_${this._elementId}`,(()=>this._observeLoad())),this._editor.opts.activeButtonsStates.pre="code",this._callbackEdit=this._edit.bind(this),this._observeLoad()}_bbcodeCode(e){e.cancel=!0;let t=this._editor.selection.block();t&&"PRE"===t.nodeName&&t.classList.contains("woltlabHtml")||(this._editor.button.toggle({},"pre","func","block.format"),t=this._editor.selection.block(),t&&"PRE"===t.nodeName&&!t.classList.contains("woltlabHtml")&&(1===t.childElementCount&&"BR"===t.children[0].nodeName&&t.removeChild(t.children[0]),this._setTitle(t),t.addEventListener("click",this._callbackEdit),this._editor.caret.end(t)))}_observeLoad(){this._editor.$editor[0].querySelectorAll("pre:not(.woltlabHtml)").forEach((e=>{e.addEventListener("mousedown",this._callbackEdit),this._setTitle(e)}))}_edit(e){const t=e.currentTarget;0===u&&(u=c.getHeight(t));const i=o.default.offset(t);e.pageY>i.top&&e.pageY<i.top+u&&(e.preventDefault(),this._editor.selection.save(),this._pre=t,l.default.open(this))}_dialogSubmit(){const e="redactor-code-"+this._elementId,t=this._pre;["file","highlighter","line"].forEach((i=>{const n=document.getElementById(`${e}-${i}`);t.dataset[i]=n.value})),this._setTitle(t),this._editor.caret.after(t),l.default.close(this)}_setTitle(e){const t=e.dataset.file;let i=e.dataset.highlighter;i=-1!==this._editor.opts.woltlab.highlighters.indexOf(i)?d.default[i].title:"";const n=a.get("wcf.editor.code.title",{file:t,highlighter:i});e.dataset.title!==n&&(e.dataset.title=n)}_delete(e){e.preventDefault();const t=this._pre;let i=t.nextElementSibling||t.previousElementSibling;null===i&&t.parentElement!==this._editor.core.editor()[0]&&(i=t.parentElement),null===i?(this._editor.code.set(""),this._editor.focus.end()):(t.remove(),this._editor.caret.end(i)),l.default.close(this)}_dialogSetup(){const e=`redactor-code-${this._elementId}`,t=`${e}-button-delete`,i=`${e}-button-save`,n=`${e}-file`,o=`${e}-highlighter`,r=`${e}-line`;return{id:e,options:{onClose:()=>{this._editor.selection.restore(),l.default.destroy(this)},onSetup:()=>{document.getElementById(t).addEventListener("click",(e=>this._delete(e)));let e=`<option value="">${a.get("wcf.editor.code.highlighter.detect")}</option>\n <option value="plain">${a.get("wcf.editor.code.highlighter.plain")}</option>`;const i=this._editor.opts.woltlab.highlighters.map((e=>[e,d.default[e].title]));i.sort(((e,t)=>e[1].localeCompare(t[1]))),e+=i.map((([e,t])=>`<option value="${e}">${s.escapeHTML(t)}</option>`)).join("\n"),document.getElementById(o).innerHTML=e},onShow:()=>{const e=this._pre;document.getElementById(o).value=e.dataset.highlighter||"";const t=~~(e.dataset.line||1);document.getElementById(r).value=t.toString();document.getElementById(n).value=e.dataset.file||""},title:a.get("wcf.editor.code.edit")},source:`<div class="section">\n <dl>\n <dt>\n <label for="${o}">${a.get("wcf.editor.code.highlighter")}</label>\n </dt>\n <dd>\n <select id="${o}"></select>\n <small>${a.get("wcf.editor.code.highlighter.description")}</small>\n </dd>\n </dl>\n <dl>\n <dt>\n <label for="${r}">${a.get("wcf.editor.code.line")}</label>\n </dt>\n <dd>\n <input type="number" id="${r}" min="0" value="1" class="long" data-dialog-submit-on-enter="true">\n <small>${a.get("wcf.editor.code.line.description")}</small>\n </dd>\n </dl>\n <dl>\n <dt>\n <label for="${n}">${a.get("wcf.editor.code.file")}</label>\n </dt>\n <dd>\n <input type="text" id="${n}" class="long" data-dialog-submit-on-enter="true">\n <small>${a.get("wcf.editor.code.file.description")}</small>\n </dd>\n </dl>\n </div>\n <div class="formSubmit">\n <button id="${i}" class="buttonPrimary" data-type="submit">${a.get("wcf.global.button.save")}</button>\n <button id="${t}">${a.get("wcf.global.button.delete")}</button>\n </div>`}}}return n.enableLegacyInheritance(h),h})),define("WoltLabSuite/Core/Ui/Redactor/Editor",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})})),define("WoltLabSuite/Core/Ui/Redactor/Format",["require","exports","tslib","../../Dom/Util"],(function(e,t,i,n){"use strict";function o(e){let t=window.getSelection().anchorNode;for(;t;){if(t===e)return!0;t=t.parentNode}return!1}function r(e,t,i){let n=e;for(;n=n[i];)if(n.nodeType!==Node.TEXT_NODE||""!==n.textContent.replace(/\u200B/,""))return!1;return!0}function a(e,t){const i=["DEL","SUB","SUP"].find((i=>{const n=t.anchorNode;let o=n.nodeType===Node.ELEMENT_NODE?n:n.parentElement;if(!(null!==o.querySelector(i.toLowerCase())))for(;o&&o!==e;){if(o.nodeName===i)return!0;o=o.parentElement}return!1}));return"DEL"===i||void 0===i?["strike","strikethrough"]:[i.toLowerCase(),i.toLowerCase()+"script"]}function s(e,t){const i=window.getSelection();if(!i.rangeCount)return;if(!o(e))return void console.error("Invalid selection, range exists outside of the editor:",i.anchorNode);let r=i.getRangeAt(0),s=null;const l=r.collapsed;if(l){let o=r.startContainer;const a=[o];for(;;){const t=o.parentElement;if(t===e||"TD"===t.nodeName)break;o=t,a.push(o)}if(""===o.innerHTML.replace(/[\u200B-\u200D\uFEFF]/g,"").replace(/ /gi,"").replace(/<\/?br\s?\/?>/g,"").replace(/\s/g,"").replace(/^<p>[^\W\w\D\d]*?<\/p>$/i,"").replace(/<iframe(.*?[^>])>$/i,"iframe").replace(/<source(.*?[^>])>$/i,"source").replace(/<[^/>][^>]*><\/[^>]+>/gi,"").replace(/<[^/>][^>]*><\/[^>]+>/gi,"").trim()){const e=document.createElement("woltlab-format-marker");return r.insertNode(e),a.forEach((e=>{"SPAN"===e.nodeName&&e.style.getPropertyValue(t)&&n.default.unwrapChildNodes(e)})),r=document.createRange(),r.selectNode(e),r.collapse(!0),i.removeAllRanges(),i.addRange(r),void e.remove()}s=document.createTextNode(""),r.insertNode(s)}let c=e.querySelectorAll("strike");c.forEach((e=>n.default.unwrapChildNodes(e)));const d=a(e,i);if(document.execCommand(d[1]),c=e.querySelectorAll(d[0]),l&&null!==s&&0===c.length){document.execCommand(d[1]);const e=document.createElement(d[0]);s.parentElement.insertBefore(e,s),e.appendChild(s)}c.forEach((i=>{const o=function(e,t,i){let n=e.parentElement,o=null;for(;n!==t;)"SPAN"===n.nodeName&&""!==n.style.getPropertyValue(i)&&(o=n),n=n.parentElement;return o}(i,e,t);null!==o&&function(e,t,i){const o=t.parentElement;if(!n.default.isAtNodeStart(e,t)){const i=document.createRange();i.setStartBefore(t),i.setEndBefore(e);const n=i.extractContents();o.insertBefore(n,t)}if(!n.default.isAtNodeEnd(e,t)){const i=document.createRange();i.setStartAfter(e),i.setEndAfter(t);const n=i.extractContents();o.insertBefore(n,t.nextSibling)}t.querySelectorAll("span").forEach((e=>{e.style.getPropertyValue(i)&&n.default.unwrapChildNodes(e)})),n.default.unwrapChildNodes(t)}(i,o,t),i.querySelectorAll("span").forEach((e=>{e.style.getPropertyValue(t)&&n.default.unwrapChildNodes(e)})),n.default.unwrapChildNodes(i)})),e.querySelectorAll("span").forEach((e=>{e.parentNode&&!e.textContent.length&&""!==e.style.getPropertyValue(t)&&(1===e.childElementCount&&"MARK"===e.children[0].nodeName&&e.parentNode.insertBefore(e.children[0],e),0===e.childElementCount&&e.remove())}))}Object.defineProperty(t,"__esModule",{value:!0}),t.removeFormat=t.format=void 0,n=i.__importDefault(n),t.format=function(e,t,i){const l=window.getSelection();if(!l.rangeCount)return;if(!o(e))return void console.error("Invalid selection, range exists outside of the editor:",l.anchorNode);let c=l.getRangeAt(0),d=null,u=null,h=null;if(c.collapsed)h=document.createElement("strike"),h.textContent="",c.insertNode(h),c=document.createRange(),c.selectNodeContents(h),l.removeAllRanges(),l.addRange(c);else{d=document.createElement("mark"),u=document.createElement("mark");let i=c.cloneRange();i.collapse(!0),i.insertNode(d),i=c.cloneRange(),i.collapse(!1),i.insertNode(u),c=document.createRange(),c.setStartAfter(d),c.setEndBefore(u),l.removeAllRanges(),l.addRange(c),s(e,t),c=document.createRange(),c.setStartAfter(d),c.setEndBefore(u),l.removeAllRanges(),l.addRange(c)}let p=["strike","strikethrough"];null===h&&(p=a(e,l),document.execCommand(p[1]));const m=[];e.querySelectorAll(p[0]).forEach((e=>{const o=document.createElement("span");o.setAttribute("style",`${t}: ${i}`),n.default.replaceElement(e,o),m.push(o)}));const f=m.length;if(f){const e=m[0],i=m[f-1];if(null===h&&e.parentElement===i.parentElement){const o=e.parentElement;"SPAN"===o.nodeName&&""!==o.style.getPropertyValue(t)&&r(e,0,"previousSibling")&&r(i,0,"nextSibling")&&n.default.unwrapChildNodes(o)}c=document.createRange(),c.setStart(e,0),c.setEnd(i,i.childNodes.length),l.removeAllRanges(),l.addRange(c)}null!==d&&(d.remove(),u.remove())},t.removeFormat=s})),define("WoltLabSuite/Core/Ui/Redactor/Html",["require","exports","tslib","../../Core","../../Event/Handler","../../Language"],(function(e,t,i,n,o,r){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r);class a{constructor(e){this._pre=null,this._editor=e,this._elementId=this._editor.$element[0].id,o.add("com.woltlab.wcf.redactor2",`bbcode_woltlabHtml_${this._elementId}`,(e=>this._bbcodeCode(e))),o.add("com.woltlab.wcf.redactor2",`observe_load_${this._elementId}`,(()=>this._observeLoad())),this._editor.opts.activeButtonsStates["woltlab-html"]="woltlabHtml",this._observeLoad()}_bbcodeCode(e){e.cancel=!0;let t=this._editor.selection.block();t&&"PRE"===t.nodeName&&!t.classList.contains("woltlabHtml")||(this._editor.button.toggle({},"pre","func","block.format"),t=this._editor.selection.block(),t&&"PRE"===t.nodeName&&(t.classList.add("woltlabHtml"),1===t.childElementCount&&"BR"===t.children[0].nodeName&&t.removeChild(t.children[0]),this._setTitle(t),this._editor.caret.end(t)))}_observeLoad(){this._editor.$editor[0].querySelectorAll("pre.woltlabHtml").forEach((e=>{this._setTitle(e)}))}_setTitle(e){["title","description"].forEach((t=>{const i=r.get(`wcf.editor.html.${t}`);e.dataset[t]!==i&&(e.dataset[t]=i)}))}}return n.enableLegacyInheritance(a),a})),define("WoltLabSuite/Core/Ui/Redactor/Link",["require","exports","tslib","../../Dom/Util","../../Language","../Dialog"],(function(e,t,i,n,o,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.showDialog=void 0,n=i.__importDefault(n),o=i.__importStar(o),r=i.__importDefault(r);class a{constructor(){this.boundListener=!1}open(e){r.default.open(this),r.default.setTitle(this,o.get("wcf.editor.link."+(e.insert?"add":"edit")));const t=document.getElementById("redactor-modal-button-action");t.textContent=o.get("wcf.global.button."+(e.insert?"insert":"save")),this.submitCallback=e.submitCallback,this.boundListener||(this.boundListener=!0,t.addEventListener("click",(()=>this.submit())))}submit(){if(this.submitCallback())r.default.close(this);else{const e=document.getElementById("redactor-link-url"),t=""===e.value.trim()?"wcf.global.form.error.empty":"wcf.editor.link.error.invalid";n.default.innerError(e,o.get(t))}}_dialogSetup(){return{id:"redactorDialogLink",options:{onClose:()=>{const e=document.getElementById("redactor-link-url").nextElementSibling;e&&"SMALL"===e.nodeName&&e.remove()},onSetup:e=>{const t=e.querySelector(".formSubmit > .buttonPrimary");null!==t&&e.querySelectorAll('input[type="url"], input[type="text"]').forEach((e=>{e.addEventListener("keyup",(e=>{"Enter"===e.key&&t.click()}))}))},onShow:()=>{document.getElementById("redactor-link-url").focus()}},source:`<dl>\n <dt>\n <label for="redactor-link-url">${o.get("wcf.editor.link.url")}</label>\n </dt>\n <dd>\n <input type="url" id="redactor-link-url" class="long">\n </dd>\n </dl>\n <dl>\n <dt>\n <label for="redactor-link-url-text">${o.get("wcf.editor.link.text")}</label>\n </dt>\n <dd>\n <input type="text" id="redactor-link-url-text" class="long">\n </dd>\n </dl>\n <div class="formSubmit">\n <button id="redactor-modal-button-action" class="buttonPrimary"></button>\n </div>`}}}let s;t.showDialog=function(e){s||(s=new a),s.open(e)}})),define("WoltLabSuite/Core/Ui/Redactor/Mention",["require","exports","tslib","../../Ajax","../../Core","../../StringUtil","../CloseOverlay"],(function(e,t,i,n,o,r,a){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importDefault(a);let s=null;class l{constructor(e){this._active=!1,this._dropdownActive=!1,this._dropdownMenu=null,this._itemIndex=0,this._lineHeight=null,this._mentionStart="",this._timer=null,this._redactor=e,e.WoltLabEvent.register("keydown",(e=>this._keyDown(e))),e.WoltLabEvent.register("keyup",(e=>this._keyUp(e))),a.default.add(`UiRedactorMention-${e.core.element()[0].id}`,(()=>this._hideDropdown()))}_keyDown(e){if(!this._dropdownActive)return;const t=e.event;switch(t.key){case"Enter":this._setUsername(null,this._dropdownMenu.children[this._itemIndex].children[0]);break;case"ArrowUp":this._selectItem(-1);break;case"ArrowDown":this._selectItem(1);break;default:return void this._hideDropdown()}t.preventDefault(),e.cancel=!0}_keyUp(e){const t=e.event;if("Enter"===t.key)return void(this._active=!1);if(this._dropdownActive&&(e.cancel=!0,"ArrowDown"===t.key||"ArrowUp"===t.key))return;const i=this._getTextLineInFrontOfCaret();if(i.length>0&&i.length<25){const e=/@([^,]{3,})$/.exec(i);e?e.index&&!/\s/.test(i[e.index-1])||(this._mentionStart=e[1],null!==this._timer&&(window.clearTimeout(this._timer),this._timer=null),this._timer=window.setTimeout((()=>{n.api(this,{parameters:{data:{searchString:this._mentionStart}}}),this._timer=null}),500)):this._hideDropdown()}else this._hideDropdown()}_getTextLineInFrontOfCaret(){const e=this._selectMention(!1);return null!==e?e.range.cloneContents().textContent.replace(/\u200B/g,"").replace(/\u00A0/g," ").trim():""}_getDropdownMenuPosition(){const e=this._selectMention();if(null===e)return null;this._redactor.selection.save(),e.selection.removeAllRanges(),e.selection.addRange(e.range);const t=e.selection.getRangeAt(0).getBoundingClientRect(),i={top:Math.round(t.bottom)+(window.scrollY||window.pageYOffset),left:Math.round(t.left)+document.body.scrollLeft};return null===this._lineHeight&&(this._lineHeight=Math.round(t.bottom-t.top)),this._redactor.selection.restore(),i}_setUsername(e,t){e&&(e.preventDefault(),t=e.currentTarget);const i=this._selectMention();if(null===i)return void this._hideDropdown();this._redactor.buffer.set(),i.selection.removeAllRanges(),i.selection.addRange(i.range);let n=window.getSelection().getRangeAt(0);n.deleteContents(),n.collapse(!0);let o=t.dataset.username.trim();o.split(/\s/g).length>2&&(o="'"+o.replace(/'/g,"''")+"'");const r=document.createTextNode("@"+o+" ");n.insertNode(r),n=document.createRange(),n.selectNode(r),n.collapse(!1),i.selection.removeAllRanges(),i.selection.addRange(n),this._hideDropdown()}_selectMention(e){const t=window.getSelection();if(!t.rangeCount||!t.isCollapsed)return null;let i=t.anchorNode;if(i.nodeType===Node.TEXT_NODE&&(i=i.parentElement),-1===i.textContent.indexOf("@"))return null;const n=this._redactor.core.editor()[0];for(;i&&i!==n;){if(-1!==["PRE","WOLTLAB-QUOTE"].indexOf(i.nodeName))return null;i=i.parentElement}let o=t.getRangeAt(0),r=o.startContainer,a=o.startOffset;for(;r.nodeType===Node.ELEMENT_NODE;){if(0===a&&0===r.childNodes.length)return null;r=r.childNodes[a?a-1:0],a>0&&(a=r.nodeType===Node.TEXT_NODE?r.textContent.length:r.childNodes.length)}let s=r,l=-1;for(;null!==s;){if(s.nodeType!==Node.TEXT_NODE)return null;if(-1!==s.textContent.indexOf("@")){l=s.textContent.lastIndexOf("@");break}s=s.previousSibling}if(-1===l)return null;try{o=document.createRange(),o.setStart(s,l),o.setEnd(r,a)}catch(e){return window.console.debug(e),null}if(!1===e){let e="";for(l&&(e=s.textContent.substr(0,l));(s=s.previousSibling)&&s.nodeType===Node.TEXT_NODE;)e=s.textContent+e;if(/\S$/.test(e.replace(/\u200B/g,"")))return null}else if(o.cloneContents().textContent.replace(/\u200B/g,"").replace(/\u00A0/g,"").trim().replace(/^@/,"")!==this._mentionStart)return null;return{range:o,selection:t}}_updateDropdownPosition(){const e=this._getDropdownMenuPosition();if(null===e)return void this._hideDropdown();e.top+=7;const t=this._dropdownMenu;if(t.style.setProperty("left",`${e.left}px`,""),t.style.setProperty("top",`${e.top}px`,""),this._selectItem(0),e.top+t.offsetHeight+10>window.innerHeight+(window.scrollY||window.pageYOffset)){const i=e.top-t.offsetHeight-2*this._lineHeight+7;t.style.setProperty("top",`${i}px`,"")}}_selectItem(e){const t=this._dropdownMenu,i=t.querySelector(".active");null!==i&&i.classList.remove("active"),this._itemIndex+=e,this._itemIndex<0?this._itemIndex=t.childElementCount-1:this._itemIndex>=t.childElementCount&&(this._itemIndex=0),t.children[this._itemIndex].classList.add("active")}_hideDropdown(){null!==this._dropdownMenu&&this._dropdownMenu.classList.remove("dropdownOpen"),this._dropdownActive=!1,this._itemIndex=0}_ajaxSetup(){return{data:{actionName:"getSearchResultList",className:"wcf\\data\\user\\UserAction",interfaceName:"wcf\\data\\ISearchAction",parameters:{data:{includeUserGroups:!0,scope:"mention"}}},silent:!0}}_ajaxSuccess(e){Array.isArray(e.returnValues)&&e.returnValues.length?(null===this._dropdownMenu&&(this._dropdownMenu=document.createElement("ol"),this._dropdownMenu.className="dropdownMenu",null===s&&(s=document.createElement("div"),s.className="dropdownMenuContainer",document.body.appendChild(s)),s.appendChild(this._dropdownMenu)),this._dropdownMenu.innerHTML="",e.returnValues.forEach((e=>{const t=document.createElement("li"),i=document.createElement("a");i.addEventListener("mousedown",(e=>this._setUsername(e))),i.className="box16",i.innerHTML=`<span>${e.icon}</span> <span>${r.escapeHTML(e.label)}</span>`,i.dataset.userId=e.objectID.toString(),i.dataset.username=e.label,t.appendChild(i),this._dropdownMenu.appendChild(t)})),this._dropdownMenu.classList.add("dropdownOpen"),this._dropdownActive=!0,this._updateDropdownPosition()):this._hideDropdown()}}return o.enableLegacyInheritance(l),l})),define("WoltLabSuite/Core/Ui/Redactor/Page",["require","exports","tslib","../../Core","../Page/Search"],(function(e,t,i,n,o){"use strict";n=i.__importStar(n),o=i.__importStar(o);class r{constructor(e,t){this._editor=e,t.addEventListener("click",(e=>this._click(e)))}_click(e){e.preventDefault(),o.open((e=>this._insert(e)))}_insert(e){this._editor.buffer.set(),this._editor.insert.text(`[wsp='${e}'][/wsp]`)}}return n.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Ui/Redactor/Quote",["require","exports","tslib","../../Core","../../Dom/Util","../../Event/Handler","../../Language","../../StringUtil","../Dialog","./Metacode","./PseudoHeader"],(function(e,t,i,n,o,r,a,s,l,c,d){"use strict";n=i.__importStar(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importDefault(l),c=i.__importStar(c),d=i.__importStar(d);let u=0;class h{constructor(e,t){this._quote=null,this._editor=e,this._elementId=this._editor.$element[0].id,r.add("com.woltlab.wcf.redactor2",`observe_load_${this._elementId}`,(()=>this._observeLoad())),this._editor.button.addCallback(t,this._click.bind(this)),this._observeLoad(),r.add("com.woltlab.wcf.redactor2",`insertQuote_${this._elementId}`,(e=>this._insertQuote(e)))}_insertQuote(e){if(this._editor.WoltLabSource.isActive())return;r.fire("com.woltlab.wcf.redactor2","showEditor");const t=this._editor.core.editor()[0];this._editor.selection.restore(),this._editor.buffer.set();let i=this._editor.selection.block();for(!1===i&&(this._editor.focus.end(),i=this._editor.selection.block());i&&i.parentElement!==t;)i=i.parentElement;const n=document.createElement("woltlab-quote");n.dataset.author=e.author,n.dataset.link=e.link;let o=e.content;e.isText?(o=s.escapeHTML(o),o=`<p>${o}</p>`,o=o.replace(/\n\n/g,"</p><p>"),o=o.replace(/\n/g,"<br>")):o=c.convertFromHtml(this._editor.$element[0].id,o),n.innerHTML=o;const a=i.parentElement;a.insertBefore(n,i.nextSibling),"P"!==i.nodeName||"<br>"!==i.innerHTML&&""!==i.innerHTML.replace(/\u200B/g,"")||a.removeChild(i);let l=n.previousElementSibling;l&&"P"!==l.nodeName&&(l=document.createElement("p"),l.textContent="",n.insertAdjacentElement("beforebegin",l)),this._editor.WoltLabCaret.paragraphAfterBlock(n),this._editor.buffer.set()}_click(){this._editor.button.toggle({},"woltlab-quote","func","block.format");const e=this._editor.selection.block();e&&"WOLTLAB-QUOTE"===e.nodeName&&(this._setTitle(e),e.addEventListener("click",(e=>this._edit(e))),this._editor.caret.end(e))}_observeLoad(){document.querySelectorAll("woltlab-quote").forEach((e=>{e.addEventListener("mousedown",(e=>this._edit(e))),this._setTitle(e)}))}_edit(e){const t=e.currentTarget;0===u&&(u=d.getHeight(t));const i=o.default.offset(t);e.pageY>i.top&&e.pageY<i.top+u&&(e.preventDefault(),this._editor.selection.save(),this._quote=t,l.default.open(this))}_dialogSubmit(){const e=`redactor-quote-${this._elementId}`,t=document.getElementById(`${e}-url`),i=t.value.replace(/\u200B/g,"").trim();if(i.length&&!/^https?:\/\/[^/]+/.test(i))return void o.default.innerError(t,a.get("wcf.editor.quote.url.error.invalid"));o.default.innerError(t,!1);const n=this._quote,r=document.getElementById(e+"-author");n.dataset.author=r.value,n.dataset.link=i,this._setTitle(n),this._editor.caret.after(n),l.default.close(this)}_setTitle(e){const t=a.get("wcf.editor.quote.title",{author:e.dataset.author,url:e.dataset.url});e.dataset.title!==t&&(e.dataset.title=t)}_delete(e){e.preventDefault();const t=this._quote;let i=t.nextElementSibling||t.previousElementSibling;null===i&&t.parentElement!==this._editor.core.editor()[0]&&(i=t.parentElement),null===i?(this._editor.code.set(""),this._editor.focus.end()):(t.remove(),this._editor.caret.end(i)),l.default.close(this)}_dialogSetup(){const e=`redactor-quote-${this._elementId}`,t=`${e}-author`,i=`${e}-button-delete`,n=`${e}-button-save`,o=`${e}-url`;return{id:e,options:{onClose:()=>{this._editor.selection.restore(),l.default.destroy(this)},onSetup:()=>{document.getElementById(i).addEventListener("click",(e=>this._delete(e)))},onShow:()=>{document.getElementById(t).value=this._quote.dataset.author||"";document.getElementById(o).value=this._quote.dataset.link||""},title:a.get("wcf.editor.quote.edit")},source:`<div class="section">\n <dl>\n <dt>\n <label for="${t}">${a.get("wcf.editor.quote.author")}</label>\n </dt>\n <dd>\n <input type="text" id="${t}" class="long" data-dialog-submit-on-enter="true">\n </dd>\n </dl>\n <dl>\n <dt>\n <label for="${o}">${a.get("wcf.editor.quote.url")}</label>\n </dt>\n <dd>\n <input type="text" id="${o}" class="long" data-dialog-submit-on-enter="true">\n <small>${a.get("wcf.editor.quote.url.description")}</small>\n </dd>\n </dl>\n </div>\n <div class="formSubmit">\n <button id="${n}" class="buttonPrimary" data-type="submit">${a.get("wcf.global.button.save")}</button>\n <button id="${i}">${a.get("wcf.global.button.delete")}</button>\n </div>`}}}return n.enableLegacyInheritance(h),h})),define("WoltLabSuite/Core/Ui/Redactor/Spoiler",["require","exports","tslib","../../Core","../../Dom/Util","../../Event/Handler","../../Language","../Dialog","./PseudoHeader"],(function(e,t,i,n,o,r,a,s,l){"use strict";n=i.__importStar(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importDefault(s),l=i.__importStar(l);let c=0;class d{constructor(e){this._spoiler=null,this._editor=e,this._elementId=this._editor.$element[0].id,r.add("com.woltlab.wcf.redactor2",`bbcode_spoiler_${this._elementId}`,(e=>this._bbcodeSpoiler(e))),r.add("com.woltlab.wcf.redactor2",`observe_load_${this._elementId}`,(()=>this._observeLoad())),this._observeLoad()}_bbcodeSpoiler(e){e.cancel=!0,this._editor.button.toggle({},"woltlab-spoiler","func","block.format");let t=this._editor.selection.block();t&&("P"===t.nodeName&&(t=t.parentElement),"WOLTLAB-SPOILER"===t.nodeName&&(this._setTitle(t),t.addEventListener("click",(e=>this._edit(e))),this._editor.caret.end(t)))}_observeLoad(){this._editor.$editor[0].querySelectorAll("woltlab-spoiler").forEach((e=>{e.addEventListener("mousedown",(e=>this._edit(e))),this._setTitle(e)}))}_edit(e){const t=e.currentTarget;0===c&&(c=l.getHeight(t));const i=o.default.offset(t);e.pageY>i.top&&e.pageY<i.top+c&&(e.preventDefault(),this._editor.selection.save(),this._spoiler=t,s.default.open(this))}_dialogSubmit(){const e=this._spoiler,t=document.getElementById("redactor-spoiler-"+this._elementId+"-label");e.dataset.label=t.value,this._setTitle(e),this._editor.caret.after(e),s.default.close(this)}_setTitle(e){const t=a.get("wcf.editor.spoiler.title",{label:e.dataset.label||""});e.dataset.title!==t&&(e.dataset.title=t)}_delete(e){e.preventDefault();const t=this._spoiler;let i=t.nextElementSibling||t.previousElementSibling;null===i&&t.parentElement!==this._editor.core.editor()[0]&&(i=t.parentElement),null===i?(this._editor.code.set(""),this._editor.focus.end()):(t.remove(),this._editor.caret.end(i)),s.default.close(this)}_dialogSetup(){const e=`redactor-spoiler-${this._elementId}`,t=`${e}-button-delete`,i=`${e}-button-save`,n=`${e}-label`;return{id:e,options:{onClose:()=>{this._editor.selection.restore(),s.default.destroy(this)},onSetup:()=>{document.getElementById(t).addEventListener("click",(e=>this._delete(e)))},onShow:()=>{document.getElementById(n).value=this._spoiler.dataset.label||""},title:a.get("wcf.editor.spoiler.edit")},source:`<div class="section">\n <dl>\n <dt>\n <label for="${n}">${a.get("wcf.editor.spoiler.label")}</label>\n </dt>\n <dd>\n <input type="text" id="${n}" class="long" data-dialog-submit-on-enter="true">\n <small>${a.get("wcf.editor.spoiler.label.description")}</small>\n </dd>\n </dl>\n </div>\n <div class="formSubmit">\n <button id="${i}" class="buttonPrimary" data-type="submit">${a.get("wcf.global.button.save")}</button>\n <button id="${t}">${a.get("wcf.global.button.delete")}</button>\n </div>`}}}return n.enableLegacyInheritance(d),d})),define("WoltLabSuite/Core/Ui/Redactor/Table",["require","exports","tslib","../../Language","../Dialog"],(function(e,t,i,n,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.showDialog=void 0,n=i.__importStar(n),o=i.__importDefault(o);class r{open(e){o.default.open(this),this.callbackSubmit=e.submitCallback}_dialogSubmit(){let e=!0;["rows","cols"].forEach((t=>{const i=document.getElementById("redactor-table-"+t);(+i.value<1||+i.value>100)&&(e=!1)})),e&&(this.callbackSubmit(),o.default.close(this))}_dialogSetup(){return{id:"redactorDialogTable",options:{onShow:()=>{document.getElementById("redactor-table-rows").value="2";document.getElementById("redactor-table-cols").value="3"},title:n.get("wcf.editor.table.insertTable")},source:`<dl>\n <dt>\n <label for="redactor-table-rows">${n.get("wcf.editor.table.rows")}</label>\n </dt>\n <dd>\n <input type="number" id="redactor-table-rows" class="small" min="1" max="100" value="2" data-dialog-submit-on-enter="true">\n </dd>\n </dl>\n <dl>\n <dt>\n <label for="redactor-table-cols">${n.get("wcf.editor.table.cols")}</label>\n </dt>\n <dd>\n <input type="number" id="redactor-table-cols" class="small" min="1" max="100" value="3" data-dialog-submit-on-enter="true">\n </dd>\n </dl>\n <div class="formSubmit">\n <button id="redactor-modal-button-action" class="buttonPrimary" data-type="submit">${n.get("wcf.global.button.insert")}</button>\n </div>`}}}let a;t.showDialog=function(e){a||(a=new r),a.open(e)}})),define("WoltLabSuite/Core/Ui/Search/Data",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})})),define("WoltLabSuite/Core/Ui/Search/Page",["require","exports","tslib","../../Core","../../Dom/Traverse","../../Dom/Util","../Dropdown/Simple","../Screen","./Input"],(function(e,t,i,n,o,r,a,s,l){"use strict";function c(e){e.preventDefault();const t=document.getElementById("pageHeader");t.classList.add("searchBarForceOpen"),window.setTimeout((()=>{t.classList.remove("searchBarForceOpen")}),10);const i=e.currentTarget,o=i.dataset.objectType,r=document.getElementById("pageHeaderSearchParameters");r.innerHTML="";const a=i.dataset.extendedLink;if(a){document.querySelector(".pageHeaderSearchExtendedLink").href=a}const s=new Map;try{const e=JSON.parse(i.dataset.parameters||"");n.isPlainObject(e)&&Object.keys(e).forEach((t=>{s.set(t,e[t])}))}catch(e){}o&&s.set("types[]",o),s.forEach(((e,t)=>{const i=document.createElement("input");i.type="hidden",i.name=t,i.value=e,r.appendChild(i)}));document.getElementById("pageHeaderSearchInputContainer").querySelector(".pageHeaderSearchType > .button > .pageHeaderSearchTypeLabel").textContent=i.textContent}Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importDefault(a),s=i.__importStar(s),l=i.__importDefault(l),t.init=function(e){const t=document.getElementById("pageHeaderSearchInput");new l.default(t,{ajax:{className:"wcf\\data\\search\\keyword\\SearchKeywordAction"},autoFocus:!1,callbackDropdownInit(e){if(e.classList.add("dropdownMenuPageSearch"),s.is("screen-lg")){e.dataset.dropdownAlignmentHorizontal="right";const i=t.clientWidth;e.style.setProperty("min-width",`${i}px`,"");const n=t.parentElement,o=r.default.offset(n).left+n.clientWidth-(r.default.offset(t).left+i),a=r.default.styleAsInt(window.getComputedStyle(n),"padding-bottom");e.style.setProperty("transform",`translateX(-${Math.ceil(o)}px) translateY(-${a}px)`,"")}},callbackSelect:()=>(setTimeout((()=>{o.parentByTag(t,"FORM").submit()}),1),!0)});const i=document.querySelector(".pageHeaderSearchType"),n=a.default.getDropdownMenu(r.default.identify(i));n.querySelectorAll("a[data-object-type]").forEach((e=>{e.addEventListener("click",c)})),n.querySelector('a[data-object-type="'+e+'"]').click()}})),define("WoltLabSuite/Core/Ui/Smiley/Insert",["require","exports","tslib","../../Core","../../Event/Handler"],(function(e,t,i,n,o){"use strict";n=i.__importStar(n),o=i.__importStar(o);class r{constructor(e){this.editorId=e;let t=document.getElementById("smilies-"+this.editorId);if(!t&&(t=document.getElementById(this.editorId+"SmiliesTabContainer"),!t))throw new Error("Unable to find the message tab menu container containing the smilies.");this.container=t,this.container.addEventListener("keydown",(e=>this.keydown(e))),this.container.addEventListener("mousedown",(e=>this.mousedown(e)))}keydown(e){const t=document.activeElement;if(t.classList.contains("jsSmiley"))if(["ArrowLeft","ArrowRight","End","Home"].includes(e.key)){e.preventDefault();const i=e.currentTarget,n=Array.from(i.querySelectorAll(".jsSmiley"));"ArrowLeft"===e.key&&n.reverse();let o=n.indexOf(t);"Home"===e.key?o=0:"End"===e.key?o=n.length-1:(o+=1,o===n.length&&(o=0)),n[o].focus()}else if("Enter"===e.key||"Space"===e.key){e.preventDefault();const i=t.querySelector("img");this.insert(i)}}mousedown(e){const t=e.target.closest("li");if(t&&this.container.contains(t)){e.preventDefault();const i=t.querySelector("img");i&&this.insert(i)}}insert(e){o.fire("com.woltlab.wcf.redactor2","insertSmiley_"+this.editorId,{img:e})}}return n.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Ui/Style/FontAwesome",["require","exports","tslib","../../Language","../Dialog","../ItemList/Filter"],(function(e,t,i,n,o,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.open=t.setup=void 0,n=i.__importStar(n),o=i.__importDefault(o),r=i.__importDefault(r);class a{constructor(e){this.callback=void 0,this.iconList=void 0,this.itemListFilter=void 0,this.icons=e}open(e){this.callback=e,o.default.open(this)}click(e){e.preventDefault();const t=e.target.closest("li").querySelector("small").textContent.trim();o.default.close(this),this.callback(t)}_dialogSetup(){return{id:"fontAwesomeSelection",options:{onSetup:()=>{this.iconList=document.getElementById("fontAwesomeIcons"),this.iconList.innerHTML=this.icons.map((e=>`<li><span class="icon icon48 fa-${e}"></span><small>${e}</small></li>`)).join(""),this.iconList.addEventListener("click",(e=>this.click(e))),this.itemListFilter=new r.default("fontAwesomeIcons",{callbackPrepareItem:e=>{const t=e.querySelector("small"),i=t.textContent.trim();return{item:e,span:t,text:i}},enableVisibilityFilter:!1,filterPosition:"top"})},onShow:()=>{this.itemListFilter.reset()},title:n.get("wcf.global.fontAwesome.selectIcon")},source:'<ul class="fontAwesomeIcons" id="fontAwesomeIcons"></ul>'}}}let s;t.setup=function(e){s||(s=new a(e))},t.open=function(e){if(!s)throw new Error("Missing icon data, please include the template before calling this method using `{include file='fontAwesomeJavaScript'}`.");s.open(e)}})),define("WoltLabSuite/Core/Ui/Toggle/Input",["require","exports","tslib","../../Core","../../Dom/Util"],(function(e,t,i,n,o){"use strict";n=i.__importStar(n),o=i.__importDefault(o);class r{constructor(e,t){const i=document.querySelector(e);if(null===i)throw new Error("Unable to find element by selector '"+e+"'.");const n="INPUT"===i.nodeName?i.type:"";if("checkbox"!==n&&"radio"!==n)throw new Error("Illegal element, expected input[type='checkbox'] or input[type='radio'].");this.element=i,this.hide=this.getElements("hide",Array.isArray(t.hide)?t.hide:[]),this.hide=this.getElements("show",Array.isArray(t.show)?t.show:[]),this.element.addEventListener("change",(e=>this.change(e))),this.updateVisibility(this.show,this.element.checked),this.updateVisibility(this.hide,!this.element.checked)}getElements(e,t){const i=[];return t.forEach((t=>{let n=null;if("string"==typeof t){if(n=document.querySelector(t),null===n)throw new Error(`Unable to find an element with the selector '${t}'.`)}else{if(!(t instanceof HTMLElement))throw new TypeError(`The array '${e}' may only contain string selectors or DOM elements.`);n=t}i.push(n)})),i}change(e){const t=e.currentTarget.checked;this.updateVisibility(this.show,t),this.updateVisibility(this.hide,!t)}updateVisibility(e,t){e.forEach((e=>{o.default[t?"show":"hide"](e)}))}}return n.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Ui/User/Editor",["require","exports","tslib","../../Ajax","../../Core","../../Dom/Util","../../Language","../../StringUtil","../Dialog","../Notification"],(function(e,t,i,n,o,r,a,s,l,c){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importDefault(l),c=i.__importStar(c);class d{constructor(){this.actionName="",this.header=document.querySelector(".userProfileUser"),["ban","disableAvatar","disableCoverPhoto","disableSignature","enable"].forEach((e=>{const t=document.querySelector(".userProfileButtonMenu .jsButtonUser"+s.ucfirst(e));t&&(t.dataset.action=e,t.addEventListener("click",(e=>this._click(e))))}))}_click(e){e.preventDefault();const t=e.currentTarget.dataset.action||"";let i="";switch(t){case"ban":o.stringToBool(this.header.dataset.banned||"")&&(i="unban");break;case"disableAvatar":o.stringToBool(this.header.dataset.disableAvatar||"")&&(i="enableAvatar");break;case"disableCoverPhoto":o.stringToBool(this.header.dataset.disableCoverPhoto||"")&&(i="enableCoverPhoto");break;case"disableSignature":o.stringToBool(this.header.dataset.disableSignature||"")&&(i="enableSignature");break;case"enable":i=o.stringToBool(this.header.dataset.isDisabled||"")?"enable":"disable"}""===i?(this.actionName=t,l.default.open(this)):n.api(this,{actionName:i})}_submit(e){e.preventDefault();const t=document.getElementById("wcfUiUserEditorExpiresLabel");let i="",o="";if(!document.getElementById("wcfUiUserEditorNeverExpires").checked){i=document.getElementById("wcfUiUserEditorExpiresDatePicker").value,""===i&&(o=a.get("wcf.global.form.error.empty"))}r.default.innerError(t,o);const s={};s[this.actionName+"Expires"]=i;const l=document.getElementById("wcfUiUserEditorReason");s[this.actionName+"Reason"]=l.value.trim(),n.api(this,{actionName:this.actionName,parameters:s})}_ajaxSuccess(e){let t;switch(e.actionName){case"ban":case"unban":{this.header.dataset.banned="ban"===e.actionName?"true":"false",t=document.querySelector(".userProfileButtonMenu .jsButtonUserBan"),t.textContent=a.get("wcf.user."+("ban"===e.actionName?"unban":"ban"));const i=this.header.querySelector(".contentTitle");let n=i.querySelector(".jsUserBanned");"ban"===e.actionName?(n=document.createElement("span"),n.className="icon icon24 fa-lock jsUserBanned jsTooltip",n.title=e.returnValues,i.appendChild(n)):n&&n.remove();break}case"disableAvatar":case"enableAvatar":this.header.dataset.disableAvatar="disableAvatar"===e.actionName?"true":"false",t=document.querySelector(".userProfileButtonMenu .jsButtonUserDisableAvatar"),t.textContent=a.get("wcf.user."+("disableAvatar"===e.actionName?"enable":"disable")+"Avatar");break;case"disableCoverPhoto":case"enableCoverPhoto":this.header.dataset.disableCoverPhoto="disableCoverPhoto"===e.actionName?"true":"false",t=document.querySelector(".userProfileButtonMenu .jsButtonUserDisableCoverPhoto"),t.textContent=a.get("wcf.user."+("disableCoverPhoto"===e.actionName?"enable":"disable")+"CoverPhoto");break;case"disableSignature":case"enableSignature":this.header.dataset.disableSignature="disableSignature"===e.actionName?"true":"false",t=document.querySelector(".userProfileButtonMenu .jsButtonUserDisableSignature"),t.textContent=a.get("wcf.user."+("disableSignature"===e.actionName?"enable":"disable")+"Signature");break;case"enable":case"disable":this.header.dataset.isDisabled="disable"===e.actionName?"true":"false",t=document.querySelector(".userProfileButtonMenu .jsButtonUserEnable"),t.textContent=a.get("wcf.acp.user."+("enable"===e.actionName?"disable":"enable"))}-1!==["ban","disableAvatar","disableCoverPhoto","disableSignature"].indexOf(e.actionName)&&l.default.close(this),c.show()}_ajaxSetup(){return{data:{className:"wcf\\data\\user\\UserAction",objectIDs:[+this.header.dataset.objectId]}}}_dialogSetup(){return{id:"wcfUiUserEditor",options:{onSetup:e=>{const t=document.getElementById("wcfUiUserEditorNeverExpires");t.addEventListener("change",(()=>{const e=document.getElementById("wcfUiUserEditorExpiresSettings");r.default[t.checked?"hide":"show"](e)}));e.querySelector("button.buttonPrimary").addEventListener("click",this._submit.bind(this))},onShow:e=>{l.default.setTitle("wcfUiUserEditor",a.get("wcf.user."+this.actionName+".confirmMessage"));let t=document.getElementById("wcfUiUserEditorReason").nextElementSibling;const i="wcf.user."+this.actionName+".reason.description";t.textContent=a.get(i),t.textContent===i?r.default.hide(t):r.default.show(t),t=document.getElementById("wcfUiUserEditorNeverExpires").nextElementSibling,t.textContent=a.get("wcf.user."+this.actionName+".neverExpires"),t=e.querySelector('label[for="wcfUiUserEditorExpires"]'),t.textContent=a.get("wcf.user."+this.actionName+".expires"),t=document.getElementById("wcfUiUserEditorExpiresLabel"),t.textContent=a.get("wcf.user."+this.actionName+".expires.description")}},source:`<div class="section">\n <dl>\n <dt><label for="wcfUiUserEditorReason">${a.get("wcf.global.reason")}</label></dt>\n <dd><textarea id="wcfUiUserEditorReason" cols="40" rows="3"></textarea><small></small></dd>\n </dl>\n <dl>\n <dt></dt>\n <dd><label><input type="checkbox" id="wcfUiUserEditorNeverExpires" checked> <span></span></label></dd>\n </dl>\n <dl id="wcfUiUserEditorExpiresSettings" style="display: none">\n <dt><label for="wcfUiUserEditorExpires"></label></dt>\n <dd>\n <input type="date" name="wcfUiUserEditorExpires" id="wcfUiUserEditorExpires" class="medium" min="${new Date(1e3*window.TIME_NOW).toISOString()}" data-ignore-timezone="true">\n <small id="wcfUiUserEditorExpiresLabel"></small>\n </dd>\n </dl>\n </div>\n <div class="formSubmit">\n <button class="buttonPrimary">${a.get("wcf.global.button.submit")}</button>\n </div>`}}}t.init=function(){new d}})),define("WoltLabSuite/Core/Ui/User/List",["require","exports","tslib","../../Ajax","../../Core","../../Dom/Util","../Dialog","../Pagination"],(function(e,t,i,n,o,r,a,s){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importDefault(a),s=i.__importDefault(s);class l{constructor(e){this.cache=new Map,this.pageCount=0,this.pageNo=1,this.options=o.extend({className:"",dialogTitle:"",parameters:{}},e)}open(){this.pageNo=1,this.showPage()}showPage(e){if("number"==typeof e&&(this.pageNo=+e),0!==this.pageCount&&(this.pageNo<1||this.pageNo>this.pageCount))throw new RangeError(`pageNo must be between 1 and ${this.pageCount} (${this.pageNo} given).`);if(this.cache.has(this.pageNo)){const e=a.default.open(this,this.cache.get(this.pageNo));if(this.pageCount>1){const t=e.content.querySelector(".jsPagination");null!==t&&new s.default(t,{activePage:this.pageNo,maxPage:this.pageCount,callbackSwitch:this.showPage.bind(this)});const i=e.content.parentElement;i.scrollTop>0&&(i.scrollTop=0)}}else this.options.parameters.pageNo=this.pageNo,n.api(this,{parameters:this.options.parameters})}_ajaxSuccess(e){void 0!==e.returnValues.pageCount&&(this.pageCount=~~e.returnValues.pageCount),this.cache.set(this.pageNo,e.returnValues.template),this.showPage()}_ajaxSetup(){return{data:{actionName:"getGroupedUserList",className:this.options.className,interfaceName:"wcf\\data\\IGroupedUserListAction"}}}_dialogSetup(){return{id:r.default.getUniqueId(),options:{title:this.options.dialogTitle},source:null}}}return o.enableLegacyInheritance(l),l})),define("WoltLabSuite/Core/Ui/User/PasswordStrength",["require","exports","tslib","../../Language","../../Dom/Util"],(function(e,t,i,n,o){"use strict";function r(e){return[].concat(e,e.split(/\W+/))}var a;n=i.__importStar(n),o=i.__importDefault(o);const s=[],l=null===(a=document.querySelector('meta[property="og:site_name"]'))||void 0===a?void 0:a.getAttribute("content");l&&s.push(l);return class{constructor(t,o){this.input=t,this.relatedInputs=[],this.staticDictionary=[],this.score=document.createElement("span"),this.verdictResult=document.createElement("input"),new Promise(((t,i)=>{e(["zxcvbn"],t,i)})).then(i.__importStar).then((({default:e})=>{this.zxcvbn=e,o.relatedInputs&&(this.relatedInputs=o.relatedInputs),o.staticDictionary&&(this.staticDictionary=o.staticDictionary),this.feedbacker=function(e){const t={};return Object.entries(e.default_phrases).forEach((([e,i])=>{t[e]={},Object.entries(i).forEach((([i,o])=>{const r=`wcf.user.password.zxcvbn.${e}.${i}`,a=n.get(r);t[e][i]=a!==r?a:o}))})),new e(t)}(e.Feedback);const t=this.input.closest(".inputAddon");if(null===t)throw new Error("Expected a parent with `.inputAddon`.");this.wrapper=t,this.wrapper.classList.add("inputAddonPasswordStrength");const i=document.createElement("div");i.className="passwordStrengthRating";const r=document.createElement("small");r.textContent=n.get("wcf.user.password.strength"),i.appendChild(r),this.score.className="passwordStrengthScore",this.score.dataset.score="-1",i.appendChild(this.score),this.wrapper.appendChild(i),this.verdictResult.type="hidden",this.verdictResult.name=`${this.input.name}_passwordStrengthVerdict`,this.wrapper.parentNode.insertBefore(this.verdictResult,this.wrapper),this.input.addEventListener("input",(e=>this.evaluate(e))),this.relatedInputs.forEach((e=>e.addEventListener("input",(e=>this.evaluate(e))))),""!==this.input.value.trim()&&this.evaluate()}))}evaluate(e){const t=(i=s.concat(this.staticDictionary,this.relatedInputs.map((e=>e.value.trim()))),n=r,i.map(n).reduce(((e,t)=>e.concat(t)),[])).filter((e=>e.length>0));var i,n;const a=this.input.value.trim(),l=this.zxcvbn(a.substr(0,100),t);l.feedback=this.feedbacker.from_result(l),this.score.dataset.score=0===a.length?"-1":l.score.toString(),void 0!==e&&o.default.innerError(this.wrapper,l.feedback.warning),this.verdictResult.value=JSON.stringify(l)}}})),define("WoltLabSuite/Core/Controller/Condition/Page/Dependence",["require","exports","tslib","../../../Dom/Util","../../../Event/Handler"],(function(e,t,i,n,o){"use strict";function r(){s.forEach((e=>{const t=l.get(e),i=[];a.forEach((e=>{e.checked&&i.push(~~e.value)}));const o=i.filter((e=>t.includes(e)));!i.length||o.length?function(e){n.default.hide(e);c.get(e).forEach((e=>n.default.hide(e))),c.set(e,[])}(e):function(e){n.default.show(e);let t=e;for(;(t=t.parentElement)&&t;)n.default.isHidden(t)&&c.get(e).push(t),n.default.show(t)}(e)})),o.fire("com.woltlab.wcf.pageConditionDependence","checkVisivility")}Object.defineProperty(t,"__esModule",{value:!0}),t.register=void 0,n=i.__importDefault(n),o=i.__importStar(o);const a=Array.from(document.querySelectorAll('input[name="pageIDs[]"]')),s=[],l=new WeakMap,c=new WeakMap;let d=!1;t.register=function(e,t){s.push(e),l.set(e,t),c.set(e,[]),d||(a.forEach((e=>{e.addEventListener("change",(()=>r()))})),d=!0),e.closest("form").addEventListener("submit",(()=>{n.default.isHidden(e)&&e.remove()})),r()}})),define("WoltLabSuite/Core/Controller/Map/Route/Planner",["require","exports","tslib","../../../Ajax/Status","../../../Core","../../../Dom/Util","../../../Language","../../../Ui/Dialog"],(function(e,t,i,n,o,r,a,s){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importStar(a),s=i.__importDefault(s);class l{constructor(e,t){this.didInitDialog=!1,this.directionsRenderer=void 0,this.directionsService=void 0,this.googleLink=void 0,this.lastOrigin=void 0,this.map=void 0,this.originInput=void 0,this.travelMode=void 0;const i=document.getElementById(e);if(null===i)throw new Error(`Unknown button with id '${e}'`);this.button=i,this.button.addEventListener("click",(e=>this.openDialog(e))),this.destination=t}_calculateRoute(e){const t=s.default.getDialog(this).dialog;if(e.label&&(this.originInput.value=e.label),void 0===this.map){const e=t.querySelector(".googleMap");this.map=new google.maps.Map(e,{disableDoubleClickZoom:window.WCF.Location.GoogleMaps.Settings.get("disableDoubleClickZoom"),draggable:window.WCF.Location.GoogleMaps.Settings.get("draggable"),mapTypeId:google.maps.MapTypeId.ROADMAP,scaleControl:window.WCF.Location.GoogleMaps.Settings.get("scaleControl"),scrollwheel:window.WCF.Location.GoogleMaps.Settings.get("scrollwheel")}),this.directionsService=new google.maps.DirectionsService,this.directionsRenderer=new google.maps.DirectionsRenderer,this.directionsRenderer.setMap(this.map);const i=t.querySelector(".googleMapsDirections");this.directionsRenderer.setPanel(i),this.googleLink=t.querySelector(".googleMapsDirectionsGoogleLink")}const i={destination:this.destination,origin:e.location,provideRouteAlternatives:!0,travelMode:google.maps.TravelMode[this.travelMode.value.toUpperCase()]};n.show(),this.directionsService.route(i,((e,t)=>this.setRoute(e,t))),this.googleLink.href=this.getGoogleMapsLink(e.location,this.travelMode.value),this.lastOrigin=e.location}getGoogleMapsLink(e,t){if(e){let i=`https://www.google.com/maps/dir/?api=1&origin=${e.lat()},${e.lng()}&destination=${this.destination.lat()},${this.destination.lng()}`;return t&&(i+=`&travelmode=${t}`),i}return`https://www.google.com/maps/search/?api=1&query=${this.destination.lat()},${this.destination.lng()}`}initDialog(){if(!this.didInitDialog){const e=s.default.getDialog(this).dialog;this.originInput=e.querySelector('input[name="origin"]'),new window.WCF.Location.GoogleMaps.LocationSearch(this.originInput,(e=>this._calculateRoute(e))),this.travelMode=e.querySelector('select[name="travelMode"]'),this.travelMode.addEventListener("change",this.updateRoute.bind(this)),this.didInitDialog=!0}}openDialog(e){e.preventDefault(),s.default.open(this)}setRoute(e,t){n.hide(),"OK"===t?(r.default.show(this.map.getDiv().parentElement),google.maps.event.trigger(this.map,"resize"),this.directionsRenderer.setDirections(e),r.default.show(this.travelMode.closest("dl")),r.default.show(this.googleLink),r.default.innerError(this.originInput,!1)):("OVER_QUERY_LIMIT"!==t&&"REQUEST_DENIED"!==t&&(t=google.maps.DirectionsStatus.NOT_FOUND),r.default.innerError(this.originInput,a.get(`wcf.map.route.error.${t.toLowerCase()}`)))}updateRoute(){this._calculateRoute({location:this.lastOrigin})}_dialogSetup(){return{id:this.button.id+"Dialog",options:{onShow:this.initDialog.bind(this),title:a.get("wcf.map.route.planner")},source:`\n<div class="googleMapsDirectionsContainer" style="display: none;">\n <div class="googleMap"></div>\n <div class="googleMapsDirections"></div>\n</div>\n<small class="googleMapsDirectionsGoogleLinkContainer">\n <a href="${this.getGoogleMapsLink()}" class="googleMapsDirectionsGoogleLink" target="_blank" style="display: none;">${a.get("wcf.map.route.viewOnGoogleMaps")}</a>\n</small>\n<dl>\n <dt>${a.get("wcf.map.route.origin")}</dt>\n <dd>\n <input type="text" name="origin" class="long" autofocus>\n </dd>\n</dl>\n<dl style="display: none;">\n <dt>${a.get("wcf.map.route.travelMode")}</dt>\n <dd>\n <select name="travelMode">\n <option value="driving">${a.get("wcf.map.route.travelMode.driving")}</option>\n <option value="walking">${a.get("wcf.map.route.travelMode.walking")}</option>\n <option value="bicycling">${a.get("wcf.map.route.travelMode.bicycling")}</option>\n <option value="transit">${a.get("wcf.map.route.travelMode.transit")}</option>\n </select>\n </dd>\n</dl>`}}}return o.enableLegacyInheritance(l),l})),define("WoltLabSuite/Core/Controller/User/Notification/Settings",["require","exports","tslib","../../../Language","../../../Ui/Dropdown/Reusable"],(function(e,t,i,n,o){"use strict";function r(e){e.preventDefault(),e.stopPropagation();const t=e.currentTarget;var i,r;l=~~t.dataset.objectId,function(){if(s)return;s=document.createElement("ul"),s.className="dropdownMenu",["instant","daily","divider","none"].forEach((e=>{const t=document.createElement("li");if("divider"===e)t.className="dropdownDivider";else{const i=document.createElement("a");i.href="#",i.textContent=n.get(`wcf.user.notification.mailNotificationType.${e}`),t.appendChild(i),t.dataset.value=e,t.addEventListener("click",(e=>function(e){e.preventDefault();const t=e.currentTarget.dataset.value;a().value=t;const i=document.querySelector(`.notificationSettingsEmailType[data-object-id="${l}"]`);i.title=n.get(`wcf.user.notification.mailNotificationType.${t}`);const o=i.querySelector(".jsIconNotificationSettingsEmailType");switch(o.classList.remove("fa-clock-o","fa-flash","fa-times","green","red"),t){case"daily":o.classList.add("fa-clock-o","green");break;case"instant":o.classList.add("fa-flash","green");break;case"none":o.classList.add("fa-times","red")}l=0}(e)))}s.appendChild(t)})),o.init("UiNotificationSettingsEmailType",s)}(),i=a().value,s.querySelectorAll("li").forEach((e=>{e.dataset.value===i?e.classList.add("active"):e.classList.remove("active")})),r=t,o.toggleDropdown("UiNotificationSettingsEmailType",r)}function a(){return document.getElementById(`settings_${l}_mailNotificationType`)}let s;Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,n=i.__importStar(n),o=i.__importStar(o);let l=0;t.init=function(){document.querySelectorAll(".jsCheckboxNotificationSettingsState").forEach((e=>{e.addEventListener("change",(e=>function(e){const t=e.currentTarget,i=~~t.dataset.objectId,n=document.querySelector(`.notificationSettingsEmailType[data-object-id="${i}"]`);null!==n&&(t.checked?n.classList.remove("disabled"):n.classList.add("disabled"))}(e)))})),document.querySelectorAll(".notificationSettingsEmailType").forEach((e=>{e.addEventListener("click",(e=>r(e)))}))}})),define("WoltLabSuite/Core/Form/Builder/Container/SuffixFormField",["require","exports","tslib","../../../Ui/Dropdown/Simple","../../../Event/Handler","../../../Core"],(function(e,t,i,n,o,r){"use strict";n=i.__importDefault(n),o=i.__importStar(o),r=i.__importStar(r);class a{constructor(e,t){this._formId=e,this._suffixField=document.getElementById(t),this._suffixDropdownMenu=n.default.getDropdownMenu(t+"_dropdown"),this._suffixDropdownToggle=n.default.getDropdown(t+"_dropdown").getElementsByClassName("dropdownToggle")[0],Array.from(this._suffixDropdownMenu.children).forEach((e=>{e.addEventListener("click",(e=>this._changeSuffixSelection(e)))})),o.add("WoltLabSuite/Core/Form/Builder/Manager","afterUnregisterForm",(e=>this._destroyDropdown(e)))}_changeSuffixSelection(e){const t=e.currentTarget;t.classList.contains("disabled")||(Array.from(this._suffixDropdownMenu.children).forEach((e=>{e===t?e.classList.add("active"):e.classList.remove("active")})),this._suffixField.value=t.dataset.value,this._suffixDropdownToggle.innerHTML=t.dataset.label+' <span class="icon icon16 fa-caret-down pointer"></span>')}_destroyDropdown(e){e.formId===this._formId&&n.default.destroy(this._suffixDropdownMenu.id)}}return r.enableLegacyInheritance(a),a})),define("WoltLabSuite/Core/Form/Builder/Field/Acl",["require","exports","tslib","./Field","../../../Core"],(function(e,t,i,n,o){"use strict";n=i.__importDefault(n),o=i.__importStar(o);class r extends n.default{_getData(){return{[this._fieldId]:this._aclList.getData()}}_readField(){}setAclList(e){return this._aclList=e,this}}return o.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Form/Builder/Field/Button",["require","exports","tslib","./Field"],(function(e,t,i,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Button=void 0,n=i.__importDefault(n);class o extends n.default{_getData(){const e={};return"1"===this._field.dataset.isClicked&&(e[this._fieldId]=this._field.value),e}}t.Button=o,t.default=o})),define("WoltLabSuite/Core/Form/Builder/Field/Captcha",["require","exports","tslib","./Field","../../../Controller/Captcha","../../../Core"],(function(e,t,i,n,o,r){"use strict";n=i.__importDefault(n),o=i.__importDefault(o),r=i.__importStar(r);class a extends n.default{_getData(){return o.default.has(this._fieldId)?o.default.getData(this._fieldId):{}}_readField(){}destroy(){o.default.has(this._fieldId)&&o.default.delete(this._fieldId)}}return r.enableLegacyInheritance(a),a})),define("WoltLabSuite/Core/Form/Builder/Field/Checkboxes",["require","exports","tslib","./Field","../../../Core"],(function(e,t,i,n,o){"use strict";n=i.__importDefault(n),o=i.__importStar(o);class r extends n.default{_getData(){const e=this._fields.map((e=>e.checked?e.value:null)).filter((e=>null!==e));return{[this._fieldId]:e}}_readField(){this._fields=Array.from(document.querySelectorAll(`input[name="${this._fieldId}[]"]`))}}return o.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Form/Builder/Field/Checked",["require","exports","tslib","./Field","../../../Core"],(function(e,t,i,n,o){"use strict";n=i.__importDefault(n),o=i.__importStar(o);class r extends n.default{_getData(){return{[this._fieldId]:this._field.checked?1:0}}}return o.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Form/Builder/Field/Date",["require","exports","tslib","./Field","../../../Date/Picker","../../../Core"],(function(e,t,i,n,o,r){"use strict";n=i.__importDefault(n),o=i.__importDefault(o),r=i.__importStar(r);class a extends n.default{_getData(){return{[this._fieldId]:o.default.getValue(this._field)}}}return r.enableLegacyInheritance(a),a})),define("WoltLabSuite/Core/Form/Builder/Field/ItemList",["require","exports","tslib","./Field","../../../Ui/ItemList/Static","../../../Core"],(function(e,t,i,n,o,r){"use strict";n=i.__importDefault(n),o=i.__importStar(o),r=i.__importStar(r);class a extends n.default{_getData(){const e=[];return o.getValues(this._fieldId).forEach((t=>{t.objectId?e[t.objectId]=t.value:e.push(t.value)})),{[this._fieldId]:e}}}return r.enableLegacyInheritance(a),a})),define("WoltLabSuite/Core/Form/Builder/Field/RadioButton",["require","exports","tslib","./Field","../../../Core"],(function(e,t,i,n,o){"use strict";n=i.__importDefault(n),o=i.__importStar(o);class r extends n.default{_getData(){const e={};return this._fields.some((t=>!!t.checked&&(e[this._fieldId]=t.value,!0))),e}_readField(){this._fields=Array.from(document.querySelectorAll("input[name="+this._fieldId+"]"))}}return o.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Form/Builder/Field/SimpleAcl",["require","exports","tslib","./Field","../../../Core"],(function(e,t,i,n,o){"use strict";n=i.__importDefault(n),o=i.__importStar(o);class r extends n.default{_getData(){const e=Array.from(document.querySelectorAll('input[name="'+this._fieldId+'[group][]"]')).map((e=>e.value)),t=Array.from(document.querySelectorAll('input[name="'+this._fieldId+'[user][]"]')).map((e=>e.value));return{[this._fieldId]:{group:e,user:t}}}_readField(){}}return o.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Form/Builder/Field/Tag",["require","exports","tslib","./Field","../../../Ui/ItemList","../../../Core"],(function(e,t,i,n,o,r){"use strict";n=i.__importDefault(n),o=i.__importStar(o),r=i.__importStar(r);class a extends n.default{_getData(){const e=o.getValues(this._fieldId).map((e=>e.value));return{[this._fieldId]:e}}}return r.enableLegacyInheritance(a),a})),define("WoltLabSuite/Core/Form/Builder/Field/User",["require","exports","tslib","./Field","../../../Core","../../../Ui/ItemList"],(function(e,t,i,n,o,r){"use strict";n=i.__importDefault(n),o=i.__importStar(o),r=i.__importStar(r);class a extends n.default{_getData(){const e=r.getValues(this._fieldId).map((e=>e.value));return{[this._fieldId]:e.join(",")}}}return o.enableLegacyInheritance(a),a})),define("WoltLabSuite/Core/Form/Builder/Field/Value",["require","exports","tslib","./Field","../../../Core"],(function(e,t,i,n,o){"use strict";n=i.__importDefault(n),o=i.__importStar(o);class r extends n.default{_getData(){return{[this._fieldId]:this._field.value}}}return o.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Form/Builder/Field/ValueI18n",["require","exports","tslib","./Field","../../../Language/Input","../../../Core"],(function(e,t,i,n,o,r){"use strict";n=i.__importDefault(n),o=i.__importStar(o),r=i.__importStar(r);class a extends n.default{_getData(){const e={},t=o.getValues(this._fieldId);return t.size>1?t.forEach(((t,i)=>{e[this._fieldId+"_i18n"][i]=t})):e[this._fieldId]=t.get(0),e}destroy(){o.unregister(this._fieldId)}}return r.enableLegacyInheritance(a),a})),define("WoltLabSuite/Core/Ui/Comment/Response/Add",["require","exports","tslib","../../../Core","../../../Dom/Change/Listener","../../../Dom/Util","../../../Language","../Add","../../Notification"],(function(e,t,i,n,o,r,a,s,l){"use strict";n=i.__importStar(n),o=i.__importDefault(o),r=i.__importDefault(r),a=i.__importStar(a),s=i.__importDefault(s),l=i.__importStar(l);class c extends s.default{constructor(e,t){super(e),this._options=n.extend({callbackInsert:null},t)}getContainer(){return this._container}getContent(){return window.jQuery(this._textarea).redactor("code.get")}setContent(e){window.jQuery(this._textarea).redactor("code.set",e),window.jQuery(this._textarea).redactor("WoltLabCaret.endOfEditor");const t=this._textarea.parentElement.querySelector(".innerError");null!==t&&t.remove(),this._content.classList.remove("collapsed"),this._focusEditor()}_getParameters(){const e=super._getParameters(),t=this._container.closest(".comment");return e.data.commentID=~~t.dataset.objectId,e}_insertMessage(e){const t=this._container.parentElement.querySelector(".commentContent");let i=t.nextElementSibling;return null!==i&&i.classList.contains("commentResponseList")||(i=document.createElement("ul"),i.className="containerList commentResponseList",i.dataset.responses="0",t.insertAdjacentElement("afterend",i)),r.default.insertHtml(e.returnValues.template,i,"append"),l.show(a.get("wcf.global.success.add")),o.default.trigger(),window.jQuery(this._textarea).redactor("code.set",""),null!==this._options.callbackInsert&&this._options.callbackInsert(),i.dataset.responses=i.children.length.toString(),i.lastElementChild}_ajaxSetup(){const e=super._ajaxSetup();return e.data.actionName="addResponse",e}}return n.enableLegacyInheritance(c),c})),define("WoltLabSuite/Core/Ui/Comment/Response/Edit",["require","exports","tslib","../../../Ajax","../../../Core","../../../Dom/Change/Listener","../../../Dom/Util","../Edit","../../Notification"],(function(e,t,i,n,o,r,a,s,l){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importDefault(a),s=i.__importDefault(s),l=i.__importStar(l);class c extends s.default{constructor(e){super(e),this._responses=new WeakSet,this.rebuildResponses(),r.default.add("Ui/Comment/Response/Edit_"+a.default.identify(this._container),(()=>this.rebuildResponses()))}rebuild(){}rebuildResponses(){this._container.querySelectorAll(".commentResponse").forEach((e=>{if(!this._responses.has(e)){if(o.stringToBool(e.dataset.canEdit||"")){const t=e.querySelector(".jsCommentResponseEditButton");null!==t&&t.addEventListener("click",(e=>this._click(e)))}this._responses.add(e)}}))}_click(e){if(e.preventDefault(),null===this._activeElement){const t=e.currentTarget;this._activeElement=t.closest(".commentResponse"),this._prepare(),n.api(this,{actionName:"beginEdit",objectIDs:[this._getObjectId(this._activeElement)]})}else l.show("wcf.message.error.editorAlreadyInUse",null,"warning")}_prepare(){this._editorContainer=document.createElement("div"),this._editorContainer.className="commentEditorContainer",this._editorContainer.innerHTML='<span class="icon icon48 fa-spinner"></span>';const e=this._activeElement.querySelector(".commentResponseContent");e.insertBefore(this._editorContainer,e.firstChild)}_showMessage(e){const t=this._editorContainer.parentElement;a.default.setInnerHtml(t.querySelector(".commentResponseContent .userMessage"),e.returnValues.message),this._restoreMessage(),l.show()}_getEditorId(){return`commentResponseEditor${this._getObjectId(this._activeElement)}`}_ajaxSetup(){return{data:{className:"wcf\\data\\comment\\response\\CommentResponseAction",parameters:{data:{objectTypeID:~~this._container.dataset.objectTypeId}}},silent:!0}}}return o.enableLegacyInheritance(c),c})),define("WoltLabSuite/Core/Ui/Message/InlineEditor/Data",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})})),define("WoltLabSuite/Core/Ui/Moderation/Clipboard/AssignUser",["require","exports","tslib","../../../Event/Handler","../../Notification","../../../User","../../../StringUtil","../../../Language","../../User/Search/Input","../../../Dom/Traverse","../../../Ajax","../../../Dom/Util","../../Dialog"],(function(e,t,i,n,o,r,a,s,l,c,d,u,h){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importDefault(l),c=i.__importStar(c),d=i.__importStar(d),u=i.__importDefault(u),h=i.__importDefault(h);class p{constructor(){this.queueIds=[]}_ajaxFailure(e){var t;if("assignedUsername"===(null===(t=e.returnValues)||void 0===t?void 0:t.fieldName)){let t="";const i=h.default.getDialog(this).content.querySelector("input[name=assignedUsername]"),n=e.returnValues.errorType;switch(n){case"empty":t=s.get("wcf.global.form.error.empty");break;case"notAffected":t=s.get("wcf.moderation.assignedUser.error.notAffected");break;default:t=s.get(`wcf.user.username.error.${n}`,{username:i.value})}return u.default.innerError(i,t),!1}return!0}_ajaxSetup(){return{data:{actionName:"assignUserByClipboard",className:"wcf\\data\\moderation\\queue\\ModerationQueueAction"}}}_ajaxSuccess(){h.default.close(this),o.show(void 0,(()=>window.location.reload()))}_dialogSetup(){const e=()=>this.submitDialog();return{id:"moderationQueueClipboardAssignUser",options:{onSetup(t){const i=t.querySelector("input[name=assignedUsername]");new l.default(i,{}),i.addEventListener("click",(e=>{c.prevBySel(e.currentTarget,"input[name=assignedUserID]").click()})),t.querySelector("button[data-type=submit]").addEventListener("click",e)},onShow(e){const t=e.querySelector("input[name=assignedUsername]");e.querySelectorAll("input[name=assignedUserID]").forEach((e=>e.checked=e.defaultChecked)),t.value="",u.default.innerError(t,"")},title:s.get("wcf.moderation.assignedUser.change")},source:`\n<div class="section">\n <dl>\n <dt>${s.get("wcf.moderation.assignedUser")}</dt>\n <dd>\n <ul>\n <li>\n <label>\n <input type="radio" name="assignedUserID" value="${r.default.userId}" checked>\n ${a.escapeHTML(r.default.username)}\n </label>\n </li>\n <li>\n <label>\n <input type="radio" name="assignedUserID" value="0">\n ${s.get("wcf.moderation.assignedUser.nobody")}\n </label>\n </li>\n <li>\n <input type="radio" name="assignedUserID" value="-1">\n <input type="text" name="assignedUsername" value="">\n </li>\n </ul>\n </dd>\n </dl>\n</div>\n<div class="formSubmit">\n <button class="buttonPrimary" data-type="submit">${s.get("wcf.global.button.save")}</button>\n</div>`}}showDialog(e){this.queueIds=e,h.default.open(this)}submitDialog(){const e=h.default.getDialog(this).content,t=e.querySelector("input[name=assignedUserID]:checked"),i=e.querySelector("input[name=assignedUsername]");d.api(this,{objectIDs:this.queueIds,parameters:{assignedUserID:t.value,assignedUsername:i.value}})}}let m=!1;t.setup=function(){if(m)return;const e=new p;n.add("com.woltlab.wcf.clipboard","com.woltlab.wcf.moderation.queue",(t=>{"com.woltlab.wcf.moderation.queue.assignUserByClipboard"===t.data.actionName&&null===t.responseData&&e.showDialog(t.data.parameters.objectIDs)})),m=!0}})),define("WoltLabSuite/Core/Ui/Page/Header/Fixed",["require","exports","tslib","../../../Event/Handler","../../Alignment","../../CloseOverlay","../../Dropdown/Simple","../../Screen"],(function(e,t,i,n,o,r,a,s){"use strict";function l(){h=document.getElementById("pageHeaderSearch"),h.addEventListener("click",(e=>e.stopPropagation())),u=document.getElementById("pageHeaderPanel"),p=document.getElementById("pageHeaderSearchInput"),m=document.getElementById("topMenu"),f=document.getElementById("userPanelSearchButton"),f.addEventListener("click",(e=>{e.preventDefault(),e.stopPropagation(),d.classList.contains("searchBarOpen")?c():function(){window.WCF.Dropdown.Interactive.Handler.closeAll(),d.classList.add("searchBarOpen"),f.parentElement.classList.add("open"),g||o.set(h,m,{horizontal:"right"});h.style.setProperty("top",`${u.clientHeight}px`,""),p.focus(),window.setTimeout((()=>{p.selectionStart=p.selectionEnd=p.value.length}),1)}()})),r.default.add("WoltLabSuite/Core/Ui/Page/Header/Fixed",(()=>{d.classList.contains("searchBarForceOpen")||c()})),n.add("com.woltlab.wcf.MainMenuMobile","more",(e=>{"com.woltlab.wcf.search"===e.identifier&&(e.handler.close(!0),f.click())}))}function c(){d.classList.remove("searchBarOpen"),f.parentElement.classList.remove("open"),["bottom","left","right","top"].forEach((e=>{h.style.removeProperty(e)})),p.blur();const e=h.querySelector(".pageHeaderSearchType");a.default.close(e.id)}Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importDefault(a),s=i.__importStar(s);let d,u,h,p,m,f,g=!1;t.init=function(){d=document.getElementById("pageHeader"),l(),s.on("screen-md-down",{match(){g=!0},unmatch(){g=!1},setup(){g=!0}}),n.add("com.woltlab.wcf.Search","close",c)}})),define("WoltLabSuite/Core/Ui/Page/Search/Input",["require","exports","tslib","../../../Core","../../Search/Input"],(function(e,t,i,n,o){"use strict";n=i.__importStar(n),o=i.__importDefault(o);class r extends o.default{constructor(e,t){if("function"!=typeof t.callbackSuccess)throw new Error("Expected a valid callback function for 'callbackSuccess'.");super(e,t=n.extend({ajax:{className:"wcf\\data\\page\\PageAction"}},t)),this.callbackSuccess=t.callbackSuccess,this.pageId=0}setPageId(e){this.pageId=e}getParameters(e){const t=super.getParameters(e);return t.objectIDs=[this.pageId],t}_ajaxSuccess(e){this.callbackSuccess(e)}}return n.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Ui/Page/Search/Handler",["require","exports","tslib","../../../Language","../../../StringUtil","../../../Dom/Util","../../Dialog","./Input"],(function(e,t,i,n,o,r,a,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.open=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importDefault(a),s=i.__importDefault(s);class l{constructor(){this.callbackSuccess=void 0,this.resultList=void 0,this.resultListContainer=void 0,this.searchInput=void 0,this.searchInputHandler=void 0,this.searchInputLabel=void 0}open(e,t,i,o){this.callbackSuccess=i,a.default.open(this),a.default.setTitle(this,t),this.searchInputLabel.textContent=n.get(o||"wcf.page.pageObjectID.search.terms"),this._getSearchInputHandler().setPageId(e)}buildList(e){this.resetList(),Array.isArray(e.returnValues)&&0!==e.returnValues.length?(e.returnValues.forEach((e=>{let t=e.image;/^fa-/.test(t)&&(t=`<span class="icon icon48 ${t} pointer jsTooltip" title="${n.get("wcf.global.select")}"></span>`);const i=document.createElement("li");i.dataset.objectId=e.objectID.toString();const r=e.description?`<p>${e.description}</p>`:"";i.innerHTML=`<div class="box48">\n ${t}\n <div>\n <div class="containerHeadline">\n <h3>\n <a href="${o.escapeHTML(e.link)}">${o.escapeHTML(e.title)}</a>\n </h3>\n ${r}\n </div>\n </div>\n </div>`,i.addEventListener("click",this.click.bind(this)),this.resultList.appendChild(i)})),r.default.show(this.resultListContainer)):r.default.innerError(this.searchInput,n.get("wcf.page.pageObjectID.search.noResults"))}resetList(){r.default.innerError(this.searchInput,!1),this.resultList.innerHTML="",r.default.hide(this.resultListContainer)}_getSearchInputHandler(){if(!this.searchInputHandler){const e=document.getElementById("wcfUiPageSearchInput");this.searchInputHandler=new s.default(e,{callbackSuccess:this.buildList.bind(this)})}return this.searchInputHandler}click(e){if("A"===e.target.nodeName)return;e.stopPropagation();const t=e.currentTarget;this.callbackSuccess(+t.dataset.objectId),a.default.close(this)}_dialogSetup(){return{id:"wcfUiPageSearchHandler",options:{onShow:e=>{this.searchInput||(this.searchInput=document.getElementById("wcfUiPageSearchInput"),this.searchInputLabel=e.querySelector('label[for="wcfUiPageSearchInput"]'),this.resultList=document.getElementById("wcfUiPageSearchResultList"),this.resultListContainer=document.getElementById("wcfUiPageSearchResultListContainer")),this.searchInput.value="",r.default.hide(this.resultListContainer),this.resultList.innerHTML="",this.searchInput.focus()},title:""},source:`<div class="section">\n <dl>\n <dt>\n <label for="wcfUiPageSearchInput">${n.get("wcf.page.pageObjectID.search.terms")}</label>\n </dt>\n <dd>\n <input type="text" id="wcfUiPageSearchInput" class="long">\n </dd>\n </dl>\n </div>\n <section id="wcfUiPageSearchResultListContainer" class="section sectionContainerList">\n <header class="sectionHeader">\n <h2 class="sectionTitle">${n.get("wcf.page.pageObjectID.search.results")}</h2>\n </header>\n <ul id="wcfUiPageSearchResultList" class="containerList wcfUiPageSearchResultList"></ul>\n </section>`}}}let c;t.open=function(e,t,i,n){(c||(c=new l),c).open(e,t,i,n)}})),define("WoltLabSuite/Core/Ui/Reaction/Profile/Loader",["require","exports","tslib","../../../Ajax","../../../Core","../../../Dom/Util","../../../Language"],(function(e,t,i,n,o,r,a){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importStar(a);class s{constructor(e){if(this._reactionTypeID=null,this._targetType="received",this._container=document.getElementById("likeList"),this._userID=e,this._options={parameters:{}},!this._userID)throw new Error("[WoltLabSuite/Core/Ui/Reaction/Profile/Loader] Invalid parameter 'userID' given.");const t=document.createElement("li");t.className="likeListMore showMore",this._noMoreEntries=document.createElement("small"),this._noMoreEntries.innerHTML=a.get("wcf.like.reaction.noMoreEntries"),this._noMoreEntries.style.display="none",t.appendChild(this._noMoreEntries),this._loadButton=document.createElement("button"),this._loadButton.className="small",this._loadButton.innerHTML=a.get("wcf.like.reaction.more"),this._loadButton.addEventListener("click",(()=>this._loadReactions())),this._loadButton.style.display="none",t.appendChild(this._loadButton),this._container.appendChild(t),2===document.querySelectorAll("#likeList > li").length?this._noMoreEntries.style.display="":this._loadButton.style.display="",this._setupReactionTypeButtons(),this._setupTargetTypeButtons()}_setupReactionTypeButtons(){document.querySelectorAll("#reactionType .button").forEach((e=>{e.addEventListener("click",(()=>this._changeReactionTypeValue(~~e.dataset.reactionTypeId)))}))}_setupTargetTypeButtons(){document.querySelectorAll("#likeType .button").forEach((e=>{e.addEventListener("click",(()=>this._changeTargetType(e.dataset.likeType)))}))}_changeTargetType(e){if("given"!==e&&"received"!==e)throw new Error("[WoltLabSuite/Core/Ui/Reaction/Profile/Loader] Invalid parameter 'targetType' given.");e!==this._targetType&&(document.querySelector("#likeType .button.active").classList.remove("active"),document.querySelector(`#likeType .button[data-like-type="${e}"]`).classList.add("active"),this._targetType=e,this._reload())}_changeReactionTypeValue(e){const t=document.querySelector("#reactionType .button.active");t&&t.classList.remove("active"),this._reactionTypeID!==e?(document.querySelector(`#reactionType .button[data-reaction-type-id="${e}"]`).classList.add("active"),this._reactionTypeID=e):this._reactionTypeID=null,this._reload()}_reload(){document.querySelectorAll("#likeList > li:not(:first-child):not(:last-child)").forEach((e=>e.remove())),this._container.dataset.lastLikeTime="0",this._loadReactions()}_loadReactions(){this._options.parameters.userID=this._userID,this._options.parameters.lastLikeTime=~~this._container.dataset.lastLikeTime,this._options.parameters.targetType=this._targetType,this._options.parameters.reactionTypeID=~~this._reactionTypeID,n.api(this,{parameters:this._options.parameters})}_ajaxSuccess(e){e.returnValues.template?(document.querySelector("#likeList > li:nth-last-child(1)").insertAdjacentHTML("beforebegin",e.returnValues.template),this._container.dataset.lastLikeTime=e.returnValues.lastLikeTime.toString(),r.default.hide(this._noMoreEntries),r.default.show(this._loadButton)):(r.default.show(this._noMoreEntries),r.default.hide(this._loadButton))}_ajaxSetup(){return{data:{actionName:"load",className:"\\wcf\\data\\reaction\\ReactionAction"}}}}return o.enableLegacyInheritance(s),s})),define("WoltLabSuite/Core/Ui/User/Activity/Recent",["require","exports","tslib","../../../Ajax","../../../Core","../../../Language","../../../Dom/Util"],(function(e,t,i,n,o,r,a){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importDefault(a);class s{constructor(e){this.containerId=e;const t=document.getElementById(this.containerId);this.list=t.querySelector(".recentActivityList");const i=document.createElement("li");if(i.className="showMore",this.list.childElementCount){i.innerHTML='<button class="small">'+r.get("wcf.user.recentActivity.more")+"</button>";i.children[0].addEventListener("click",(e=>this.showMore(e)))}else i.innerHTML="<small>"+r.get("wcf.user.recentActivity.noMoreEntries")+"</small>";this.list.appendChild(i),this.showMoreItem=i,t.querySelectorAll(".jsRecentActivitySwitchContext .button").forEach((e=>{e.addEventListener("click",(t=>{t.preventDefault(),e.classList.contains("active")||this.switchContext()}))}))}showMore(e){e.preventDefault();this.showMoreItem.children[0].disabled=!0,n.api(this,{actionName:"load",parameters:{boxID:~~this.list.dataset.boxId,filteredByFollowedUsers:o.stringToBool(this.list.dataset.filteredByFollowedUsers||""),lastEventId:this.list.dataset.lastEventId,lastEventTime:this.list.dataset.lastEventTime,userID:~~this.list.dataset.userId}})}switchContext(){n.api(this,{actionName:"switchContext"},(()=>{window.location.hash=`#${this.containerId}`,window.location.reload()}))}_ajaxSuccess(e){if(e.returnValues.template){a.default.insertHtml(e.returnValues.template,this.showMoreItem,"before"),this.list.dataset.lastEventTime=e.returnValues.lastEventTime.toString(),this.list.dataset.lastEventId=e.returnValues.lastEventID.toString();this.showMoreItem.children[0].disabled=!1}else this.showMoreItem.innerHTML="<small>"+r.get("wcf.user.recentActivity.noMoreEntries")+"</small>"}_ajaxSetup(){return{data:{className:"wcf\\data\\user\\activity\\event\\UserActivityEventAction"}}}}return o.enableLegacyInheritance(s),s})),define("WoltLabSuite/Core/Ui/User/CoverPhoto/Delete",["require","exports","tslib","../../../Ajax","../../../Dom/Util","../../../Event/Handler","../../../Language","../../Confirmation","../../Notification"],(function(e,t,i,n,o,r,a,s,l){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,n=i.__importStar(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importStar(l);class c{constructor(e){this.button=document.querySelector(".jsButtonDeleteCoverPhoto"),this.button.addEventListener("click",(e=>this._click(e))),this.userId=e,r.add("com.woltlab.wcf.user","coverPhoto",(e=>{"string"==typeof e.url&&e.url.length>0&&o.default.show(this.button.parentElement)}))}_click(e){e.preventDefault(),s.show({confirm:()=>n.api(this),message:a.get("wcf.user.coverPhoto.delete.confirmMessage")})}_ajaxSuccess(e){document.querySelector(".userProfileCoverPhoto").style.setProperty("background-image",`url(${e.returnValues.url})`,""),o.default.hide(this.button.parentElement),l.show()}_ajaxSetup(){return{data:{actionName:"deleteCoverPhoto",className:"wcf\\data\\user\\UserProfileAction",parameters:{userID:this.userId}}}}}let d;t.init=function(e){d||(d=new c(e))}})),define("WoltLabSuite/Core/Ui/User/CoverPhoto/Upload",["require","exports","tslib","../../../Core","../../../Dom/Util","../../../Event/Handler","../../Dialog","../../Notification","../../../Upload"],(function(e,t,i,n,o,r,a,s,l){"use strict";n=i.__importStar(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importDefault(l);class c extends l.default{constructor(e){super("coverPhotoUploadButtonContainer","coverPhotoUploadPreview",{action:"uploadCoverPhoto",className:"wcf\\data\\user\\UserProfileAction"}),this.userId=e}_getParameters(){return{userID:this.userId}}_success(e,t){if(o.default.innerError(this._button,t.returnValues.errorMessage),this._target.innerHTML="",t.returnValues.url){document.querySelector(".userProfileCoverPhoto").style.setProperty("background-image",`url(${t.returnValues.url})`,""),a.close("userProfileCoverPhotoUpload"),s.show(),r.fire("com.woltlab.wcf.user","coverPhoto",{url:t.returnValues.url})}}}return n.enableLegacyInheritance(c),c})),define("WoltLabSuite/Core/Ui/User/Ignore/List",["require","exports","tslib","../../../Form/Builder/Dialog","../../../Language","../../Notification"],(function(e,t,i,n,o,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UiUserIgnoreList=void 0,n=i.__importDefault(n),o=i.__importStar(o),r=i.__importStar(r);class a{constructor(){this.dialogs=new Map,document.querySelectorAll(".jsEditIgnoreButton").forEach((e=>e.addEventListener("click",(e=>this.openDialog(e)))))}openDialog(e){const t=~~e.currentTarget.closest(".jsIgnoredUser").dataset.objectId;this.dialogs.has(t)||this.dialogs.set(t,new n.default("ignoreDialog","wcf\\data\\user\\ignore\\UserIgnoreAction","getDialog",{dialog:{title:o.get("wcf.user.button.ignore")},actionParameters:{userID:t},submitActionName:"submitDialog",successCallback(e){r.show(void 0,(()=>{e.isIgnoredUser||window.location.reload()}))}})),this.dialogs.get(t).open()}}t.UiUserIgnoreList=a,t.default=a})),define("WoltLabSuite/Core/Ui/User/Session/Delete",["require","exports","tslib","../../../Ajax","../../Notification","../../Confirmation","../../../Language"],(function(e,t,i,n,o,r,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UiUserSessionDelete=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a);class s{constructor(){this.knownElements=new Map,document.querySelectorAll(".sessionDeleteButton").forEach((e=>{if(!e.dataset.sessionId)throw new Error("No sessionId for session delete button given.");this.knownElements.has(e.dataset.sessionId)||(e.addEventListener("click",(t=>this.delete(e,t))),this.knownElements.set(e.dataset.sessionId,e))}))}delete(e,t){t.preventDefault(),r.show({message:a.get("wcf.user.security.deleteSession.confirmMessage"),confirm:t=>{n.api(this,{sessionID:e.dataset.sessionId})}})}_ajaxSuccess(e){const t=this.knownElements.get(e.sessionID);if(void 0!==t){const e=t.closest("li");null!==e&&e.remove()}o.show()}_ajaxSetup(){return{url:"index.php?delete-session/&t="+window.SECURITY_TOKEN}}}t.UiUserSessionDelete=s,t.default=s})),define("WoltLabSuite/Core/Ui/User/Trophy/List",["require","exports","tslib","../../../Ajax","../../../Core","../../../Dom/Change/Listener","../../Dialog","../../Pagination"],(function(e,t,i,n,o,r,a,s){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importDefault(a),s=i.__importDefault(s);class l{constructor(e,t){this.pageCount=e,this.title=t,this.cache=new Map}has(e){return this.cache.has(e)}get(e){return this.cache.get(e)}set(e,t){this.cache.set(e,t)}}class c{constructor(){this.cache=new Map,this.currentPageNo=0,this.currentUser=0,this.knownElements=new WeakSet,r.default.add("WoltLabSuite/Core/Ui/User/Trophy/List",(()=>this.rebuild())),this.rebuild()}rebuild(){document.querySelectorAll(".userTrophyOverlayList").forEach((e=>{this.knownElements.has(e)||(e.addEventListener("click",(t=>this.open(e,t))),this.knownElements.add(e))}))}open(e,t){t.preventDefault(),this.currentPageNo=1,this.currentUser=+e.dataset.userId,this.showPage()}showPage(e){void 0!==e&&(this.currentPageNo=e);const t=this.cache.get(this.currentUser);if(t&&0!==t.pageCount&&(this.currentPageNo<1||this.currentPageNo>t.pageCount))throw new RangeError(`pageNo must be between 1 and ${t.pageCount} (${this.currentPageNo} given).`);if(t&&t.has(this.currentPageNo)){const e=a.default.open(this,t.get(this.currentPageNo));if(a.default.setTitle("userTrophyListOverlay",t.title),t.pageCount>1){const i=e.content.querySelector(".jsPagination");null!==i&&new s.default(i,{activePage:this.currentPageNo,maxPage:t.pageCount,callbackSwitch:this.showPage.bind(this)})}}else n.api(this,{parameters:{pageNo:this.currentPageNo,userID:this.currentUser}})}_ajaxSuccess(e){let t;void 0!==e.returnValues.pageCount?(t=new l(+e.returnValues.pageCount,e.returnValues.title),this.cache.set(this.currentUser,t)):t=this.cache.get(this.currentUser),t.set(this.currentPageNo,e.returnValues.template),this.showPage()}_ajaxSetup(){return{data:{actionName:"getGroupedUserTrophyList",className:"wcf\\data\\user\\trophy\\UserTrophyAction"}}}_dialogSetup(){return{id:"userTrophyListOverlay",options:{title:""},source:null}}}return o.enableLegacyInheritance(c),c})),define("WoltLabSuite/Core/Form/Builder/Field/Controller/Label",["require","exports","tslib","../../../../Core","../../../../Dom/Util","../../../../Language","../../../../Ui/Dropdown/Simple"],(function(e,t,i,n,o,r,a){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importDefault(a);class s{constructor(e,t,i){this._formFieldContainer=document.getElementById(e+"Container"),this._labelChooser=this._formFieldContainer.getElementsByClassName("labelChooser")[0],this._options=n.extend({forceSelection:!1,showWithoutSelection:!1},i),this._input=document.createElement("input"),this._input.type="hidden",this._input.id=e,this._input.name=e,this._input.value=t,this._formFieldContainer.appendChild(this._input);const s=o.identify(this._labelChooser);let l=a.default.getDropdownMenu(s);null===l&&(a.default.init(this._labelChooser.getElementsByClassName("dropdownToggle")[0]),l=a.default.getDropdownMenu(s));let c=null;if(this._options.showWithoutSelection||!this._options.forceSelection){c=document.createElement("ul"),l.appendChild(c);const e=document.createElement("li");e.classList.add("dropdownDivider"),c.appendChild(e)}if(this._options.showWithoutSelection){const e=document.createElement("li");e.dataset.labelId="-1",this._blockScroll(e),c.appendChild(e);const t=document.createElement("span");e.appendChild(t);const i=document.createElement("span");i.classList.add("badge","label"),i.innerHTML=r.get("wcf.label.withoutSelection"),t.appendChild(i)}if(!this._options.forceSelection){const e=document.createElement("li");e.dataset.labelId="0",this._blockScroll(e),c.appendChild(e);const t=document.createElement("span");e.appendChild(t);const i=document.createElement("span");i.classList.add("badge","label"),i.innerHTML=r.get("wcf.label.none"),t.appendChild(i)}l.querySelectorAll("li:not(.dropdownDivider)").forEach((e=>{e.addEventListener("click",(e=>this._click(e))),t&&e.dataset.labelId===t&&this._selectLabel(e)}))}_blockScroll(e){e.addEventListener("wheel",(e=>e.preventDefault()),{passive:!1})}_click(e){e.preventDefault(),this._selectLabel(e.currentTarget)}_selectLabel(e){let t=e.dataset.labelId;t||(t="0");const i=e.querySelector("span > span"),n=this._labelChooser.querySelector(".dropdownToggle > span");n.className=i.className,n.textContent=i.textContent,this._input.value=t}}return n.enableLegacyInheritance(s),s})),define("WoltLabSuite/Core/Form/Builder/Field/Controller/Rating",["require","exports","tslib","../../../../Core","../../../../Environment"],(function(e,t,i,n,o){"use strict";n=i.__importStar(n),o=i.__importStar(o);class r{constructor(e,t,i,n){if(this._field=document.getElementById(e+"Container"),null===this._field)throw new Error("Unknown field with id '"+e+"'");this._input=document.createElement("input"),this._input.id=e,this._input.name=e,this._input.type="hidden",this._input.value=t,this._field.appendChild(this._input),this._activeCssClasses=i,this._defaultCssClasses=n,this._ratingElements=new Map;const o=this._field.querySelector(".ratingList");o.addEventListener("mouseleave",(()=>this._restoreRating())),o.querySelectorAll("li").forEach((e=>{e.classList.contains("ratingMetaButton")?(e.addEventListener("click",(e=>this._metaButtonClick(e))),e.addEventListener("mouseenter",(()=>this._restoreRating()))):(this._ratingElements.set(e.dataset.rating,e),e.addEventListener("click",(e=>this._listItemClick(e))),e.addEventListener("mouseenter",(e=>this._listItemMouseEnter(e))),e.addEventListener("mouseleave",(()=>this._listItemMouseLeave())))}))}_listItemClick(e){const t=e.currentTarget;this._input.value=t.dataset.rating,"desktop"!==o.platform()&&this._restoreRating()}_listItemMouseEnter(e){const t=e.currentTarget.dataset.rating;this._ratingElements.forEach(((e,i)=>{const n=e.getElementsByClassName("icon")[0];this._toggleIcon(n,~~i<=~~t)}))}_listItemMouseLeave(){this._ratingElements.forEach((e=>{const t=e.getElementsByClassName("icon")[0];this._toggleIcon(t,!1)}))}_metaButtonClick(e){"removeRating"===e.currentTarget.dataset.action&&(this._input.value="",this._listItemMouseLeave())}_restoreRating(){this._ratingElements.forEach(((e,t)=>{const i=e.getElementsByClassName("icon")[0];this._toggleIcon(i,~~t<=~~this._input.value)}))}_toggleIcon(e,t=!1){t?(e.classList.remove(...this._defaultCssClasses),e.classList.add(...this._activeCssClasses)):(e.classList.remove(...this._activeCssClasses),e.classList.add(...this._defaultCssClasses))}}return n.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Form/Builder/Field/Dependency/Abstract",["require","exports","tslib","./Manager","../../../../Core"],(function(e,t,i,n,o){"use strict";n=i.__importStar(n),o=i.__importStar(o);class r{constructor(e,t){this.init(e,t)}checkDependency(){throw new Error("Missing implementation of WoltLabSuite/Core/Form/Builder/Field/Dependency/Abstract.checkDependency!")}getDependentNode(){return this._dependentElement}getField(){return this._field}getFields(){return this._fields}init(e,t){if(this._dependentElement=document.getElementById(e),null===this._dependentElement)throw new Error("Unknown dependent element with container id '"+e+"Container'.");if(this._field=document.getElementById(t),null===this._field){if(this._fields=[],document.querySelectorAll("input[type=radio][name="+t+"]").forEach((e=>{this._fields.push(e)})),!this._fields.length&&(document.querySelectorAll('input[type=checkbox][name="'+t+'[]"]').forEach((e=>{this._fields.push(e)})),!this._fields.length))throw new Error("Unknown field with id '"+t+"'.")}else if(this._fields=[this._field],"INPUT"===this._field.tagName&&"radio"===this._field.type&&""!==this._field.dataset.noInputId){if(this._noField=document.getElementById(this._field.dataset.noInputId),null===this._noField)throw new Error("Cannot find 'no' input field for input field '"+t+"'");this._fields.push(this._noField)}n.addDependency(this)}}return o.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Form/Builder/Field/Dependency/Empty",["require","exports","tslib","./Abstract","../../../../Core"],(function(e,t,i,n,o){"use strict";n=i.__importDefault(n),o=i.__importStar(o);class r extends n.default{checkDependency(){if(null!==this._field)switch(this._field.tagName){case"INPUT":{const e=this._field;switch(e.type){case"checkbox":return!e.checked;case"radio":return!(!this._noField||!this._noField.checked)||!e.checked;default:return 0===e.value.trim().length}}case"SELECT":{const e=this._field;return e.multiple?0===this._field.querySelectorAll("option:checked").length:"0"==e.value||0===e.value.length}case"TEXTAREA":return 0===this._field.value.trim().length}return this._fields.every((e=>!e.checked))}}return o.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Form/Builder/Field/Dependency/IsNotClicked",["require","exports","tslib","./Abstract","./Manager"],(function(e,t,i,n,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IsNotClicked=void 0,n=i.__importDefault(n),o=i.__importStar(o);class r extends n.default{constructor(e,t){super(e,t),this._field.addEventListener("click",(()=>{this._field.dataset.isClicked="1",o.checkDependencies()}))}checkDependency(){return"1"!==this._field.dataset.isClicked}}t.IsNotClicked=r,t.default=r})),define("WoltLabSuite/Core/Form/Builder/Field/Dependency/NonEmpty",["require","exports","tslib","./Abstract","../../../../Core"],(function(e,t,i,n,o){"use strict";n=i.__importDefault(n),o=i.__importStar(o);class r extends n.default{checkDependency(){if(null!==this._field)switch(this._field.tagName){case"INPUT":{const e=this._field;switch(e.type){case"checkbox":return e.checked;case"radio":return(!this._noField||!this._noField.checked)&&e.checked;default:return 0!==e.value.trim().length}}case"SELECT":{const e=this._field;return e.multiple?0!==e.querySelectorAll("option:checked").length:"0"!=e.value&&0!==e.value.length}case"TEXTAREA":return 0!==this._field.value.trim().length}return this._fields.some((e=>e.checked))}}return o.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Form/Builder/Field/Dependency/Value",["require","exports","tslib","./Abstract","./Manager","../../../../Core"],(function(e,t,i,n,o,r){"use strict";n=i.__importDefault(n),o=i.__importStar(o),r=i.__importStar(r);class a extends n.default{constructor(){super(...arguments),this._isNegated=!1}checkDependency(){if(!this._values)throw new Error("Values have not been set.");const e=[];if(this._field){if(o.isHiddenByDependencies(this._field))return!1;e.push(this._field.value)}else{let t=!0;if(this._fields.forEach((i=>{if(i.checked){if(o.isHiddenByDependencies(i))return t=!1,!1;e.push(i.value)}})),!t)return!1}let t=!1;return this._values.forEach((i=>{e.forEach((e=>{i==e&&(t=!0)}))})),t?!this._isNegated:this._isNegated}negate(e){return this._isNegated=e,this}values(e){return this._values=e,this}}return r.enableLegacyInheritance(a),a})),define("WoltLabSuite/Core/Form/Builder/Field/Language/ContentLanguage",["require","exports","tslib","../Value","../../../../Language/Chooser","../../../../Core"],(function(e,t,i,n,o,r){"use strict";n=i.__importDefault(n),o=i.__importStar(o),r=i.__importStar(r);class a extends n.default{destroy(){o.removeChooser(this._fieldId)}}return r.enableLegacyInheritance(a),a})),define("WoltLabSuite/Core/Form/Builder/Field/Wysiwyg/Attachment",["require","exports","tslib","../Value","../../../../Core"],(function(e,t,i,n,o){"use strict";n=i.__importDefault(n),o=i.__importStar(o);class r extends n.default{constructor(e){super(e+"_tmpHash")}}return o.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Form/Builder/Field/Wysiwyg/Poll",["require","exports","tslib","../Field","../../../../Core"],(function(e,t,i,n,o){"use strict";n=i.__importDefault(n),o=i.__importStar(o);class r extends n.default{_getData(){return this._pollEditor.getData()}_readField(){}setPollEditor(e){this._pollEditor=e}}return o.enableLegacyInheritance(r),r}));let G=null;class H{}H.render=function(e,t){G(e,t)},self.QrCreator=H,function(e){function t(t,i,n,o){var r,a,s={},l=e(n,i);return l.u(t),l.J(),o=o||0,r=l.h(),a=l.h()+2*o,s.text=t,s.level=i,s.version=n,s.O=a,s.a=function(e,t){return t-=o,!(0>(e-=o)||e>=r||0>t||t>=r)&&l.a(e,t)},s}function i(e,t,i,n,o,r,a,s,l,c){function d(t,i,n,o,a,s,l){t?(e.lineTo(i+s,n+l),e.arcTo(i,n,o,a,r)):e.lineTo(i,n)}a?e.moveTo(t+r,i):e.moveTo(t,i),d(s,n,i,n,o,-r,0),d(l,n,o,t,o,0,-r),d(c,t,o,t,i,r,0),d(a,t,i,n,i,0,r)}function n(e,t,i,n,o,r,a,s,l,c){function d(t,i,n,o){e.moveTo(t+n,i),e.lineTo(t,i),e.lineTo(t,i+o),e.arcTo(t,i,t+n,i,r)}a&&d(t,i,r,r),s&&d(n,i,-r,r),l&&d(n,o,-r,-r),c&&d(t,o,r,-r)}function o(e,o){var r,a,s,l,c,d,u,h,p,m,f,g,b,_,v,w,y,E,S,L,C,A,I;e:{for(r=o.text,a=o.v,s=o.N,l=o.K,c=o.P,s=Math.max(1,s||1),l=Math.min(40,l||40);s<=l;s+=1)try{d=t(r,a,s,c);break e}catch(e){}d=void 0}if(!d)return null;for(r=e.getContext("2d"),o.background&&(r.fillStyle=o.background,r.fillRect(o.left,o.top,o.size,o.size)),a=d.O,l=o.size/a,r.beginPath(),c=0;c<a;c+=1)for(s=0;s<a;s+=1)u=r,h=o.left+s*l,p=o.top+c*l,m=c,f=s,g=d.a,b=h+l,_=p+l,v=m-1,w=m+1,y=f-1,E=f+1,S=Math.floor(Math.min(.5,Math.max(0,o.R))*l),L=g(m,f),C=g(v,y),A=g(v,f),v=g(v,E),I=g(m,E),E=g(w,E),f=g(w,f),w=g(w,y),m=g(m,y),h=Math.round(h),p=Math.round(p),b=Math.round(b),_=Math.round(_),L?i(u,h,p,b,_,S,!A&&!m,!A&&!I,!f&&!I,!f&&!m):n(u,h,p,b,_,S,A&&m&&C,A&&I&&v,f&&I&&E,f&&m&&w);return function(e,t){var i,n,o,r=t.fill;if("string"==typeof r)e.fillStyle=r;else{if(i=r.type,n=r.colorStops,r=r.position.map((e=>Math.round(e*t.size))),"linear-gradient"===i)o=e.createLinearGradient.apply(e,r);else{if("radial-gradient"!==i)throw Error("Unsupported fill");o=e.createRadialGradient.apply(e,r)}n.forEach((([e,t])=>{o.addColorStop(e,t)})),e.fillStyle=o}}(r,o),r.fill(),e}var r={minVersion:1,maxVersion:40,ecLevel:"L",left:0,top:0,size:200,fill:"#000",background:null,text:"no text",radius:.5,quiet:0};G=function(e,t){var i={};Object.assign(i,r,e),i.N=i.minVersion,i.K=i.maxVersion,i.v=i.ecLevel,i.left=i.left,i.top=i.top,i.size=i.size,i.fill=i.fill,i.background=i.background,i.text=i.text,i.R=i.radius,i.P=i.quiet,t instanceof HTMLCanvasElement?(t.width===i.size&&t.height===i.size||(t.width=i.size,t.height=i.size),t.getContext("2d").clearRect(0,0,t.width,t.height),o(t,i)):((e=document.createElement("canvas")).width=i.size,e.height=i.size,i=o(e,i),t.appendChild(i))}}(function(){function e(o,a){function s(e,t){var i,n;for(i=-1;7>=i;i+=1)if(!(-1>=e+i||u<=e+i))for(n=-1;7>=n;n+=1)-1>=t+n||u<=t+n||(d[e+i][t+n]=0<=i&&6>=i&&(0==n||6==n)||0<=n&&6>=n&&(0==i||6==i)||2<=i&&4>=i&&2<=n&&4>=n)}function l(e,i){var a,l,m,f,g,b,_,v,w,y;for(a=u=4*o+17,l=Array(a),m=0;m<a;m+=1)for(l[m]=Array(a),f=0;f<a;f+=1)l[m][f]=null;for(d=l,s(0,0),s(u-7,0),s(0,u-7),a=n.G(o),l=0;l<a.length;l+=1)for(m=0;m<a.length;m+=1)if(f=a[l],g=a[m],null==d[f][g])for(b=-2;2>=b;b+=1)for(_=-2;2>=_;_+=1)d[f+b][g+_]=-2==b||2==b||-2==_||2==_||0==b&&0==_;for(a=8;a<u-8;a+=1)null==d[a][6]&&(d[a][6]=0==a%2);for(a=8;a<u-8;a+=1)null==d[6][a]&&(d[6][a]=0==a%2);for(a=n.w(c<<3|i),l=0;15>l;l+=1)m=!e&&1==(a>>l&1),d[6>l?l:8>l?l+1:u-15+l][8]=m,d[8][8>l?u-l-1:9>l?15-l:14-l]=m;if(d[u-8][8]=!e,7<=o){for(a=n.A(o),l=0;18>l;l+=1)m=!e&&1==(a>>l&1),d[Math.floor(l/3)][l%3+u-8-3]=m;for(l=0;18>l;l+=1)m=!e&&1==(a>>l&1),d[l%3+u-8-3][Math.floor(l/3)]=m}if(null==h){for(e=r.I(o,c),a=function(){var e=[],t=0,i={B:function(){return e},c:function(t){return 1==(e[Math.floor(t/8)]>>>7-t%8&1)},put:function(e,t){for(var n=0;n<t;n+=1)i.m(1==(e>>>t-n-1&1))},f:function(){return t},m:function(i){var n=Math.floor(t/8);e.length<=n&&e.push(0),i&&(e[n]|=128>>>t%8),t+=1}};return i}(),l=0;l<p.length;l+=1)m=p[l],a.put(4,4),a.put(m.b(),n.f(4,o)),m.write(a);for(l=m=0;l<e.length;l+=1)m+=e[l].j;if(a.f()>8*m)throw Error("code length overflow. ("+a.f()+">"+8*m+")");for(a.f()+4<=8*m&&a.put(0,4);0!=a.f()%8;)a.m(!1);for(;!(a.f()>=8*m)&&(a.put(236,8),!(a.f()>=8*m));)a.put(17,8);for(v=0,m=l=0,f=Array(e.length),g=Array(e.length),b=0;b<e.length;b+=1){for(w=e[b].j,y=e[b].o-w,l=Math.max(l,w),m=Math.max(m,y),f[b]=Array(w),_=0;_<f[b].length;_+=1)f[b][_]=255&a.B()[_+v];for(v+=w,_=n.C(y),w=t(f[b],_.b()-1).l(_),g[b]=Array(_.b()-1),_=0;_<g[b].length;_+=1)y=_+w.b()-g[b].length,g[b][_]=0<=y?w.c(y):0}for(_=a=0;_<e.length;_+=1)a+=e[_].o;for(a=Array(a),_=v=0;_<l;_+=1)for(b=0;b<e.length;b+=1)_<f[b].length&&(a[v]=f[b][_],v+=1);for(_=0;_<m;_+=1)for(b=0;b<e.length;b+=1)_<g[b].length&&(a[v]=g[b][_],v+=1);h=a}for(e=h,a=-1,l=u-1,m=7,f=0,i=n.F(i),g=u-1;0<g;g-=2)for(6==g&&--g;;){for(b=0;2>b;b+=1)null==d[l][g-b]&&(_=!1,f<e.length&&(_=1==(e[f]>>>m&1)),i(l,g-b)&&(_=!_),d[l][g-b]=_,-1==--m&&(f+=1,m=7));if(0>(l+=a)||u<=l){l-=a,a=-a;break}}}var c=i[a],d=null,u=0,h=null,p=[],m={u:function(t){t=function(t){var i=e.s(t);return{S:function(){return 4},b:function(){return i.length},write:function(e){for(var t=0;t<i.length;t+=1)e.put(i[t],8)}}}(t),p.push(t),h=null},a:function(e,t){if(0>e||u<=e||0>t||u<=t)throw Error(e+","+t);return d[e][t]},h:function(){return u},J:function(){var e,t,i,o;for(e=0,t=0,i=0;8>i;i+=1)l(!0,i),o=n.D(m),(0==i||e>o)&&(e=o,t=i);l(!1,t)}};return m}function t(e,i){if(void 0===e.length)throw Error(e.length+"/"+i);var n=function(){var t,n,o;for(t=0;t<e.length&&0==e[t];)t+=1;for(n=Array(e.length-t+i),o=0;o<e.length-t;o+=1)n[o]=e[o+t];return n}(),r={c:function(e){return n[e]},b:function(){return n.length},multiply:function(e){var i,n,a;for(i=Array(r.b()+e.b()-1),n=0;n<r.b();n+=1)for(a=0;a<e.b();a+=1)i[n+a]^=o.i(o.g(r.c(n))+o.g(e.c(a)));return t(i,0)},l:function(e){if(0>r.b()-e.b())return r;for(var i=o.g(r.c(0))-o.g(e.c(0)),n=Array(r.b()),a=0;a<r.b();a+=1)n[a]=r.c(a);for(a=0;a<e.b();a+=1)n[a]^=o.i(o.g(e.c(a))+i);return t(n,0).l(e)}};return r}e.s=function(e){var t,i,n;for(t=[],i=0;i<e.length;i++)128>(n=e.charCodeAt(i))?t.push(n):2048>n?t.push(192|n>>6,128|63&n):55296>n||57344<=n?t.push(224|n>>12,128|n>>6&63,128|63&n):(i++,n=65536+((1023&n)<<10|1023&e.charCodeAt(i)),t.push(240|n>>18,128|n>>12&63,128|n>>6&63,128|63&n));return t};var i={L:1,M:0,Q:3,H:2},n=function(){function e(e){for(var t=0;0!=e;)t+=1,e>>>=1;return t}var i=[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]];return{w:function(t){for(var i=t<<10;0<=e(i)-e(1335);)i^=1335<<e(i)-e(1335);return 21522^(t<<10|i)},A:function(t){for(var i=t<<12;0<=e(i)-e(7973);)i^=7973<<e(i)-e(7973);return t<<12|i},G:function(e){return i[e-1]},F:function(e){switch(e){case 0:return function(e,t){return 0==(e+t)%2};case 1:return function(e){return 0==e%2};case 2:return function(e,t){return 0==t%3};case 3:return function(e,t){return 0==(e+t)%3};case 4:return function(e,t){return 0==(Math.floor(e/2)+Math.floor(t/3))%2};case 5:return function(e,t){return 0==e*t%2+e*t%3};case 6:return function(e,t){return 0==(e*t%2+e*t%3)%2};case 7:return function(e,t){return 0==(e*t%3+(e+t)%2)%2};default:throw Error("bad maskPattern:"+e)}},C:function(e){for(var i=t([1],0),n=0;n<e;n+=1)i=i.multiply(t([1,o.i(n)],0));return i},f:function(e,t){if(4!=e||1>t||40<t)throw Error("mode: "+e+"; type: "+t);return 10>t?8:16},D:function(e){var t,i,n,o,r,a,s,l;for(t=e.h(),i=0,n=0;n<t;n+=1)for(o=0;o<t;o+=1){for(r=0,a=e.a(n,o),s=-1;1>=s;s+=1)if(!(0>n+s||t<=n+s))for(l=-1;1>=l;l+=1)0>o+l||t<=o+l||(0!=s||0!=l)&&a==e.a(n+s,o+l)&&(r+=1);5<r&&(i+=3+r-5)}for(n=0;n<t-1;n+=1)for(o=0;o<t-1;o+=1)r=0,e.a(n,o)&&(r+=1),e.a(n+1,o)&&(r+=1),e.a(n,o+1)&&(r+=1),e.a(n+1,o+1)&&(r+=1),(0==r||4==r)&&(i+=3);for(n=0;n<t;n+=1)for(o=0;o<t-6;o+=1)e.a(n,o)&&!e.a(n,o+1)&&e.a(n,o+2)&&e.a(n,o+3)&&e.a(n,o+4)&&!e.a(n,o+5)&&e.a(n,o+6)&&(i+=40);for(o=0;o<t;o+=1)for(n=0;n<t-6;n+=1)e.a(n,o)&&!e.a(n+1,o)&&e.a(n+2,o)&&e.a(n+3,o)&&e.a(n+4,o)&&!e.a(n+5,o)&&e.a(n+6,o)&&(i+=40);for(o=r=0;o<t;o+=1)for(n=0;n<t;n+=1)e.a(n,o)&&(r+=1);return i+Math.abs(100*r/t/t-50)/5*10}}}(),o=function(){for(var e=Array(256),t=Array(256),i=0;8>i;i+=1)e[i]=1<<i;for(i=8;256>i;i+=1)e[i]=e[i-4]^e[i-5]^e[i-6]^e[i-8];for(i=0;255>i;i+=1)t[e[i]]=i;return{g:function(e){if(1>e)throw Error("glog("+e+")");return t[e]},i:function(t){for(;0>t;)t+=255;for(;256<=t;)t-=255;return e[t]}}}(),r=function(){function e(e,n){switch(n){case i.L:return t[4*(e-1)];case i.M:return t[4*(e-1)+1];case i.Q:return t[4*(e-1)+2];case i.H:return t[4*(e-1)+3]}}var t=[[1,26,19],[1,26,16],[1,26,13],[1,26,9],[1,44,34],[1,44,28],[1,44,22],[1,44,16],[1,70,55],[1,70,44],[2,35,17],[2,35,13],[1,100,80],[2,50,32],[2,50,24],[4,25,9],[1,134,108],[2,67,43],[2,33,15,2,34,16],[2,33,11,2,34,12],[2,86,68],[4,43,27],[4,43,19],[4,43,15],[2,98,78],[4,49,31],[2,32,14,4,33,15],[4,39,13,1,40,14],[2,121,97],[2,60,38,2,61,39],[4,40,18,2,41,19],[4,40,14,2,41,15],[2,146,116],[3,58,36,2,59,37],[4,36,16,4,37,17],[4,36,12,4,37,13],[2,86,68,2,87,69],[4,69,43,1,70,44],[6,43,19,2,44,20],[6,43,15,2,44,16],[4,101,81],[1,80,50,4,81,51],[4,50,22,4,51,23],[3,36,12,8,37,13],[2,116,92,2,117,93],[6,58,36,2,59,37],[4,46,20,6,47,21],[7,42,14,4,43,15],[4,133,107],[8,59,37,1,60,38],[8,44,20,4,45,21],[12,33,11,4,34,12],[3,145,115,1,146,116],[4,64,40,5,65,41],[11,36,16,5,37,17],[11,36,12,5,37,13],[5,109,87,1,110,88],[5,65,41,5,66,42],[5,54,24,7,55,25],[11,36,12,7,37,13],[5,122,98,1,123,99],[7,73,45,3,74,46],[15,43,19,2,44,20],[3,45,15,13,46,16],[1,135,107,5,136,108],[10,74,46,1,75,47],[1,50,22,15,51,23],[2,42,14,17,43,15],[5,150,120,1,151,121],[9,69,43,4,70,44],[17,50,22,1,51,23],[2,42,14,19,43,15],[3,141,113,4,142,114],[3,70,44,11,71,45],[17,47,21,4,48,22],[9,39,13,16,40,14],[3,135,107,5,136,108],[3,67,41,13,68,42],[15,54,24,5,55,25],[15,43,15,10,44,16],[4,144,116,4,145,117],[17,68,42],[17,50,22,6,51,23],[19,46,16,6,47,17],[2,139,111,7,140,112],[17,74,46],[7,54,24,16,55,25],[34,37,13],[4,151,121,5,152,122],[4,75,47,14,76,48],[11,54,24,14,55,25],[16,45,15,14,46,16],[6,147,117,4,148,118],[6,73,45,14,74,46],[11,54,24,16,55,25],[30,46,16,2,47,17],[8,132,106,4,133,107],[8,75,47,13,76,48],[7,54,24,22,55,25],[22,45,15,13,46,16],[10,142,114,2,143,115],[19,74,46,4,75,47],[28,50,22,6,51,23],[33,46,16,4,47,17],[8,152,122,4,153,123],[22,73,45,3,74,46],[8,53,23,26,54,24],[12,45,15,28,46,16],[3,147,117,10,148,118],[3,73,45,23,74,46],[4,54,24,31,55,25],[11,45,15,31,46,16],[7,146,116,7,147,117],[21,73,45,7,74,46],[1,53,23,37,54,24],[19,45,15,26,46,16],[5,145,115,10,146,116],[19,75,47,10,76,48],[15,54,24,25,55,25],[23,45,15,25,46,16],[13,145,115,3,146,116],[2,74,46,29,75,47],[42,54,24,1,55,25],[23,45,15,28,46,16],[17,145,115],[10,74,46,23,75,47],[10,54,24,35,55,25],[19,45,15,35,46,16],[17,145,115,1,146,116],[14,74,46,21,75,47],[29,54,24,19,55,25],[11,45,15,46,46,16],[13,145,115,6,146,116],[14,74,46,23,75,47],[44,54,24,7,55,25],[59,46,16,1,47,17],[12,151,121,7,152,122],[12,75,47,26,76,48],[39,54,24,14,55,25],[22,45,15,41,46,16],[6,151,121,14,152,122],[6,75,47,34,76,48],[46,54,24,10,55,25],[2,45,15,64,46,16],[17,152,122,4,153,123],[29,74,46,14,75,47],[49,54,24,10,55,25],[24,45,15,46,46,16],[4,152,122,18,153,123],[13,74,46,32,75,47],[48,54,24,14,55,25],[42,45,15,32,46,16],[20,147,117,4,148,118],[40,75,47,7,76,48],[43,54,24,22,55,25],[10,45,15,67,46,16],[19,148,118,6,149,119],[18,75,47,31,76,48],[34,54,24,34,55,25],[20,45,15,61,46,16]];return{I:function(t,i){var n,o,r,a,s,l,c,d=e(t,i);if(void 0===d)throw Error("bad rs block @ typeNumber:"+t+"/errorCorrectLevel:"+i);for(t=d.length/3,i=[],n=0;n<t;n+=1)for(o=d[3*n],r=d[3*n+1],a=d[3*n+2],s=0;s<o;s+=1)l=a,(c={}).o=r,c.j=l,i.push(c);return i}}}();return e}()),define("qr-creator",function(e){return function(){return e.QrCreator}}(this)),define("WoltLabSuite/Core/Ui/User/Multifactor/Totp/Qr",["require","exports","tslib","qr-creator"],(function(e,t,i,n){"use strict";function o(e){const t=e.querySelector(".totpSecret");if(!t)return;const i=t.dataset.accountname;if(!i)return;const o=t.dataset.issuer,r=(o?`${o}:`:"")+i,a=e.querySelector("canvas");n.default.render({text:`otpauth://totp/${encodeURIComponent(r)}?secret=${encodeURIComponent(t.textContent)}${o?`&issuer=${encodeURIComponent(o)}`:""}`,size:a&&a.clientWidth?a.clientWidth:200},a||e)}Object.defineProperty(t,"__esModule",{value:!0}),t.renderAll=t.render=void 0,n=i.__importDefault(n),t.render=o,t.default=o,t.renderAll=function(){document.querySelectorAll(".totpSecretContainer").forEach((e=>o(e)))}})),define("WoltLabSuite/Core/Form/Builder/Field/Dependency/Container/Abstract",["require","exports","tslib","../Manager","../../../../../Core"],(function(e,t,i,n,o){"use strict";n=i.__importStar(n),o=i.__importStar(o);class r{constructor(e){this.init(e)}checkContainer(){throw new Error("Missing implementation of WoltLabSuite/Core/Form/Builder/Field/Dependency/Container.checkContainer!")}init(e){if("string"!=typeof e)throw new TypeError("Container id has to be a string.");if(this._container=document.getElementById(e),null===this._container)throw new Error("Unknown container with id '"+e+"'.");n.addContainerCheckCallback((()=>this.checkContainer()))}}return o.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Form/Builder/Field/Dependency/Container/Default",["require","exports","tslib","./Abstract","../../../../../Core","../Manager","../../../../../Dom/Util"],(function(e,t,i,n,o,r,a){"use strict";n=i.__importDefault(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importDefault(a);class s extends n.default{checkContainer(){if(o.stringToBool(this._container.dataset.ignoreDependencies||""))return;if(r.isHiddenByDependencies(this._container))return;const e=!a.default.isHidden(this._container),t=Array.from(this._container.children).some(((e,t)=>(0!==t||"H2"!==e.tagName&&"HEADER"!==e.tagName)&&!a.default.isHidden(e)));e!==t&&(t?a.default.show(this._container):a.default.hide(this._container),r.checkContainers())}}return o.enableLegacyInheritance(s),s})),define("WoltLabSuite/Core/Form/Builder/Field/Dependency/Container/Tab",["require","exports","tslib","./Abstract","../Manager","../../../../../Dom/Util","../../../../../Ui/TabMenu","../../../../../Core"],(function(e,t,i,n,o,r,a,s){"use strict";n=i.__importDefault(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s);class l extends n.default{checkContainer(){if(o.isHiddenByDependencies(this._container))return;const e=!r.isHidden(this._container),t=Array.from(this._container.children).some((e=>!r.isHidden(e)));if(e!==t){const e=this._container.parentNode.parentNode.querySelector("#"+r.identify(this._container.parentNode)+" > nav > ul > li[data-name="+this._container.id+"]");if(null===e)throw new Error("Cannot find tab menu entry for tab '"+this._container.id+"'.");if(t)r.show(this._container),r.show(e);else{r.hide(this._container),r.hide(e);const t=a.getTabMenu(r.identify(e.closest(".tabMenuContainer")));t.getActiveTab()===e&&t.selectFirstVisible()}o.checkContainers()}}}return s.enableLegacyInheritance(l),l})),define("WoltLabSuite/Core/Form/Builder/Field/Dependency/Container/TabMenu",["require","exports","tslib","./Abstract","../Manager","../../../../../Dom/Util","../../../../../Ui/TabMenu","../../../../../Core"],(function(e,t,i,n,o,r,a,s){"use strict";n=i.__importDefault(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s);class l extends n.default{checkContainer(){if(o.isHiddenByDependencies(this._container))return;const e=!r.isHidden(this._container),t=this._container.parentNode.querySelectorAll("#"+r.identify(this._container)+" > nav > ul > li"),i=Array.from(t).some((e=>!r.isHidden(e)));e!==i&&(i?(r.show(this._container),a.getTabMenu(r.identify(this._container)).selectFirstVisible()):r.hide(this._container),o.checkContainers())}}return s.enableLegacyInheritance(l),l})),define("WoltLabSuite/Core/Ui/User/Profile/Menu/Item/Abstract",["require","exports","tslib","../../../../../Ajax","../../../../../Core"],(function(e,t,i,n,o){"use strict";n=i.__importStar(n),o=i.__importStar(o);class r{constructor(e,t){this._button=document.createElement("a"),this._listItem=document.createElement("li"),this._userId=e,this._isActive=t,this._initButton(),this._updateButton()}_initButton(){this._button.href="#",this._button.addEventListener("click",(e=>this._toggle(e))),this._listItem.appendChild(this._button);document.querySelector('.userProfileButtonMenu[data-menu="interaction"]').insertAdjacentElement("afterbegin",this._listItem)}_toggle(e){e.preventDefault(),n.api(this,{actionName:this._getAjaxActionName(),parameters:{data:{userID:this._userId}}})}_updateButton(){this._button.textContent=this._getLabel(),this._isActive?this._listItem.classList.add("active"):this._listItem.classList.remove("active")}_getLabel(){throw new Error("Implement me!")}_getAjaxActionName(){throw new Error("Implement me!")}_ajaxSuccess(e){throw new Error("Implement me!")}_ajaxSetup(){throw new Error("Implement me!")}}return o.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Ui/User/Profile/Menu/Item/Follow",["require","exports","tslib","../../../../../Core","../../../../../Language","../../../../Notification","./Abstract"],(function(e,t,i,n,o,r,a){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importDefault(a);class s extends a.default{constructor(e,t){super(e,t)}_getLabel(){return o.get("wcf.user.button."+(this._isActive?"un":"")+"follow")}_getAjaxActionName(){return this._isActive?"unfollow":"follow"}_ajaxSuccess(e){this._isActive=!!e.returnValues.following,this._updateButton(),r.show()}_ajaxSetup(){return{data:{className:"wcf\\data\\user\\follow\\UserFollowAction"}}}}return n.enableLegacyInheritance(s),s})),define("WoltLabSuite/Core/Ui/User/Profile/Menu/Item/Ignore",["require","exports","tslib","../../../../../Core","../../../../../Language","../../../../Notification","./Abstract","../../../../../Form/Builder/Dialog"],(function(e,t,i,n,o,r,a,s){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importDefault(a),s=i.__importDefault(s);class l extends a.default{constructor(e,t){super(e,t),this.dialog=new s.default("ignoreDialog","wcf\\data\\user\\ignore\\UserIgnoreAction","getDialog",{dialog:{title:o.get("wcf.user.button.ignore")},actionParameters:{userID:this._userId},submitActionName:"submitDialog",successCallback:e=>this._ajaxSuccess(e),destroyOnClose:!0})}_getLabel(){return o.get("wcf.user.button."+(this._isActive?"un":"")+"ignore")}_ajaxSuccess(e){this._isActive=!!e.isIgnoredUser,this._updateButton(),r.show()}_toggle(e){e.preventDefault(),this.dialog.open()}}return n.enableLegacyInheritance(l),l})),function(e){function t(){for(;n.length&&"function"==typeof n[0];)n.shift()()}var i=e.require,n=[],o=0;e.orgRequire=i,e.require=function(r,a,s){if(!Array.isArray(r))return i.apply(e,arguments);var l=new Promise((function(e,a){var s=o++;n.push(s),i(r,(function(){var i=arguments;n[n.indexOf(s)]=function(){e(i)},t()}),(function(e){n[n.indexOf(s)]=function(){a(e)},t()}))}));return a&&(l=l.then((function(t){return a.apply(e,t)}))),s&&l.catch(s),l},e.require.config=i.config}(window),define("require.linearExecution",(function(){}));
-//# sourceMappingURL=https://assets.woltlab.com/sourcemap/WCF/75ca81c8569d1c049f8052559c1e9c50f686075d7f00f6f32b2bcf949bb96b23.map
\ No newline at end of file
+var requirejs,require,define,__extends,__assign,__rest,__decorate,__param,__metadata,__awaiter,__generator,__exportStar,__values,__read,__spread,__spreadArrays,__await,__asyncGenerator,__asyncDelegator,__asyncValues,__makeTemplateObject,__importStar,__importDefault,__classPrivateFieldGet,__classPrivateFieldSet,__createBinding,_self,Prism;(function(global,Promise,undef){function commentReplace(e,t){return t||""}function hasProp(e,t){return hasOwn.call(e,t)}function getOwn(e,t){return e&&hasProp(e,t)&&e[t]}function obj(){return Object.create(null)}function eachProp(e,t){var i;for(i in e)if(hasProp(e,i)&&t(e[i],i))break}function mixin(e,t,i,n){return t&&eachProp(t,(function(t,o){!i&&hasProp(e,o)||(!n||"object"!=typeof t||!t||Array.isArray(t)||"function"==typeof t||t instanceof RegExp?e[o]=t:(e[o]||(e[o]={}),mixin(e[o],t,i,n)))})),e}function getGlobal(e){if(!e)return e;var t=global;return e.split(".").forEach((function(e){t=t[e]})),t}function newContext(e){function t(e,t,i){var n,o,r,a,s,l,c,d,u,h,p=t&&t.split("/"),m=I.map,f=m&&m["*"];if(e&&(l=(e=e.split("/")).length-1,I.nodeIdCompat&&jsSuffixRegExp.test(e[l])&&(e[l]=e[l].replace(jsSuffixRegExp,"")),"."===e[0].charAt(0)&&p&&(e=p.slice(0,p.length-1).concat(e)),function(e){var t,i,n=e.length;for(t=0;t<n;t++)if("."===(i=e[t]))e.splice(t,1),t-=1;else if(".."===i){if(0===t||1===t&&".."===e[2]||".."===e[t-1])continue;t>0&&(e.splice(t-1,2),t-=2)}}(e),e=e.join("/")),i&&m&&(p||f)){e:for(r=(o=e.split("/")).length;r>0;r-=1){if(s=o.slice(0,r).join("/"),p)for(a=p.length;a>0;a-=1)if((n=getOwn(m,p.slice(0,a).join("/")))&&(n=getOwn(n,s))){c=n,d=r;break e}!u&&f&&getOwn(f,s)&&(u=getOwn(f,s),h=r)}!c&&u&&(c=u,d=h),c&&(o.splice(0,d,c),e=o.join("/"))}return getOwn(I.pkgs,e)||e}function i(e){var t,i,n,o;for(t=0;t<queue.length;t+=1){if("string"!=typeof queue[t][0]){if(!e)break;queue[t].unshift(e),e=undef}t-=1,(i=(n=queue.shift())[0])in C||i in A||(i in D?_.apply(undef,n):A[i]=n)}e&&(o=getOwn(I.shim,e)||{},_(e,o.deps||[],o.exportsFn))}function n(e,n){var o=function(t,r,a,s){var l,c;if(n&&i(),"string"==typeof t){if(y[t])return y[t](e);if(!((l=v(t,e,!0).id)in C))throw new Error("Not loaded: "+l);return C[l]}return t&&!Array.isArray(t)&&(c=t,t=undef,Array.isArray(r)&&(t=r,r=a,a=s),n)?o.config(c)(t,r,a):(r=r||function(){return slice.call(arguments,0)},U.then((function(){return i(),_(undef,t||[],r,a,e)})))};return o.isBrowser="undefined"!=typeof document&&"undefined"!=typeof navigator,o.nameToUrl=function(e,t,i){var n,r,a,s,l,c,d=getOwn(I.pkgs,e);if(d&&(e=d),c=getOwn(O,e))return o.nameToUrl(c,t,i);if(urlRegExp.test(e))s=e+(t||"");else{for(n=I.paths,a=(r=e.split("/")).length;a>0;a-=1)if(l=getOwn(n,r.slice(0,a).join("/"))){Array.isArray(l)&&(l=l[0]),r.splice(0,a,l);break}s=r.join("/"),s=("/"===(s+=t||(/^data\:|^blob\:|\?/.test(s)||i?"":".js")).charAt(0)||s.match(/^[\w\+\.\-]+:/)?"":I.baseUrl)+s}return I.urlArgs&&!/^blob\:/.test(s)?s+I.urlArgs(e,s):s},o.toUrl=function(i){var n,r=i.lastIndexOf("."),a=i.split("/")[0];return-1!==r&&(!("."===a||".."===a)||r>1)&&(n=i.substring(r,i.length),i=i.substring(0,r)),o.nameToUrl(t(i,e),n,!0)},o.defined=function(t){return v(t,e,!0).id in C},o.specified=function(t){return(t=v(t,e,!0).id)in C||t in D},o}function o(e,t,i){e&&(C[e]=i,requirejs.onResourceLoad&&requirejs.onResourceLoad(L,t.map,t.deps)),t.finished=!0,t.resolve(i)}function r(e,t){e.finished=!0,e.rejected=!0,e.reject(t)}function a(e){e.factoryCalled=!0;var t,i=e.map.id;try{t=L.execCb(i,e.factory,e.values,C[i])}catch(t){return r(e,t)}i?t===undef&&(e.cjsModule?t=e.cjsModule.exports:e.usingExports&&(t=C[i])):k.splice(k.indexOf(e),1),o(i,e,t)}function s(e,t){this.rejected||this.depDefined[t]||(this.depDefined[t]=!0,this.depCount+=1,this.values[t]=e,this.depending||this.depCount!==this.depMax||a(this))}function l(e,t){var i={};return i.promise=new Promise((function(t,n){i.resolve=t,i.reject=function(t){e||k.splice(k.indexOf(i),1),n(t)}})),i.map=e?t||v(e):{},i.depCount=0,i.depMax=0,i.values=[],i.depDefined=[],i.depFinished=s,i.map.pr&&(i.deps=[v(i.map.pr)]),i}function c(e,t){var i;return e?(i=e in D&&D[e])||(i=D[e]=l(e,t)):(i=l(),k.push(i)),i}function d(e,t){return function(i){e.rejected||(i.dynaId||(i.dynaId="id"+(P+=1),i.requireModules=[t]),r(e,i))}}function u(e,t,i,n){i.depMax+=1,w(e,t).then((function(e){i.depFinished(e,n)}),d(i,e.id)).catch(d(i,i.map.id))}function h(e,t,a){e.load(t.n,n(a),function(e){function t(t){n||o(e,c(e),t)}var n;return t.error=function(t){c(e).reject(t)},t.fromText=function(t,o){var a=c(e),s=v(v(e).n),l=s.id;n=!0,a.factory=function(e,t){return t},o&&(t=o),hasProp(I.config,e)&&(I.config[l]=I.config[e]);try{b.exec(t)}catch(e){r(a,new Error("fromText eval for "+l+" failed: "+e))}i(l),a.deps=[s],u(s,null,a,a.deps.length)},t}(t.id),I)}function p(e){var t,i=e?e.indexOf("!"):-1;return i>-1&&(t=e.substring(0,i),e=e.substring(i+1,e.length)),[t,e]}function m(e,t,i){var n=e.map.id;t[n]=!0,!e.finished&&e.deps&&e.deps.forEach((function(n){var o=n.id,r=!hasProp(y,o)&&c(o,n);!r||r.finished||i[o]||(hasProp(t,o)?e.deps.forEach((function(t,i){t.id===o&&e.depFinished(C[o],i)})):m(r,t,i))})),i[n]=!0}function f(e){var t,i,n,o=[],r=1e3*I.waitSeconds,a=r&&B+r<(new Date).getTime();if(0===j&&(e?e.finished||m(e,{},{}):k.length&&k.forEach((function(e){m(e,{},{})}))),a){for(i in D)(n=D[i]).finished||o.push(n.map.id);(t=new Error("Timeout for modules: "+o)).requireModules=o,b.onError(t)}else(j||k.length)&&(E||(E=!0,setTimeout((function(){E=!1,f()}),70)))}function g(e){return setTimeout((function(){e.dynaId&&N[e.dynaId]||(N[e.dynaId]=!0,b.onError(e))})),e}var b,_,v,w,y,E,S,L,C=obj(),A=obj(),I={waitSeconds:7,baseUrl:"./",paths:{},bundles:{},pkgs:{},shim:{},config:{}},x=obj(),k=[],D=obj(),T=obj(),M=obj(),j=0,B=(new Date).getTime(),P=0,N=obj(),q=obj(),O=obj(),U=Promise.resolve();return S="function"==typeof importScripts?function(e){var t=e.url;q[t]||(q[t]=!0,c(e.id),importScripts(t),i(e.id))}:function(e){var t,n=e.id,o=e.url;q[o]||(q[o]=!0,(t=document.createElement("script")).setAttribute("data-requiremodule",n),t.type=I.scriptType||"text/javascript",t.charset="utf-8",t.async=!0,j+=1,t.addEventListener("load",(function(){j-=1,i(n)}),!1),t.addEventListener("error",(function(){var e,i,o;j-=1,(i=getOwn(I.paths,n))&&Array.isArray(i)&&i.length>1?(t.parentNode.removeChild(t),i.shift(),(o=c(n)).map=v(n),o.map.url=b.nameToUrl(n),S(o.map)):((e=new Error("Load failed: "+n+": "+t.src)).requireModules=[n],c(n).reject(e))}),!1),t.src=o,10===document.documentMode?asap.then((function(){document.head.appendChild(t)})):document.head.appendChild(t))},w=function(e,t){var i,n,o=e.id,r=I.shim[o];if(o in A)i=A[o],delete A[o],_.apply(undef,i);else if(!(o in D))if(e.pr){if(!(n=getOwn(O,o)))return w(v(e.pr)).then((function(i){var n=e.prn?e:v(o,t,!0),r=n.id,a=getOwn(I.shim,r);return r in M||(M[r]=!0,a&&a.deps?b(a.deps,(function(){h(i,n,t)})):h(i,n,t)),c(r).promise}));e.url=b.nameToUrl(n),S(e)}else r&&r.deps?b(r.deps,(function(){S(e)})):S(e);return c(o).promise},v=function(e,i,n){if("string"!=typeof e)return e;var o,r,a,s,l,c,d=e+" & "+(i||"")+" & "+!!n;return s=(a=p(e))[0],e=a[1],!s&&d in x?x[d]:(s&&(o=(s=t(s,i,n))in C&&C[s]),s?o&&o.normalize?(e=o.normalize(e,function(e){return function(i){return t(i,e,!0)}}(i)),c=!0):e=-1===e.indexOf("!")?t(e,i,n):e:(s=(a=p(e=t(e,i,n)))[0],e=a[1],r=b.nameToUrl(e)),l={id:s?s+"!"+e:e,n:e,pr:s,url:r,prn:s&&c},s||(x[d]=l),l)},y={require:function(e){return n(e)},exports:function(e){var t=C[e];return void 0!==t?t:C[e]={}},module:function(e){return{id:e,uri:"",exports:y.exports(e),config:function(){return getOwn(I.config,e)||{}}}}},_=function(e,t,i,n,r){if(e){if(e in T)return;T[e]=!0}var s=c(e);return t&&!Array.isArray(t)&&(i=t,t=[]),t=t?slice.call(t,0):null,n||(hasProp(I,"defaultErrback")?I.defaultErrback&&(n=I.defaultErrback):n=g),n&&s.promise.catch(n),r=r||e,"function"==typeof i?(!t.length&&i.length&&(i.toString().replace(commentRegExp,commentReplace).replace(cjsRequireRegExp,(function(e,i){t.push(i)})),t=(1===i.length?["require"]:["require","exports","module"]).concat(t)),s.factory=i,s.deps=t,s.depending=!0,t.forEach((function(i,n){var o;t[n]=o=v(i,r,!0),"require"===(i=o.id)?s.values[n]=y.require(e):"exports"===i?(s.values[n]=y.exports(e),s.usingExports=!0):"module"===i?s.values[n]=s.cjsModule=y.module(e):void 0===i?s.values[n]=void 0:u(o,r,s,n)})),s.depending=!1,s.depCount===s.depMax&&a(s)):e&&o(e,s,i),B=(new Date).getTime(),e||f(s),s.promise},(b=n(null,!0)).config=function(t){var i,n,o,r;return t.context&&t.context!==e?(i=getOwn(contexts,t.context))?i.req.config(t):newContext(t.context).config(t):(x=obj(),t.baseUrl&&"/"!==t.baseUrl.charAt(t.baseUrl.length-1)&&(t.baseUrl+="/"),"string"==typeof t.urlArgs&&(n=t.urlArgs,t.urlArgs=function(e,t){return(-1===t.indexOf("?")?"?":"&")+n}),o=I.shim,r={paths:!0,bundles:!0,config:!0,map:!0},eachProp(t,(function(e,t){r[t]?(I[t]||(I[t]={}),mixin(I[t],e,!0,!0)):I[t]=e})),t.bundles&&eachProp(t.bundles,(function(e,t){e.forEach((function(e){e!==t&&(O[e]=t)}))})),t.shim&&(eachProp(t.shim,(function(e,t){Array.isArray(e)&&(e={deps:e}),!e.exports&&!e.init||e.exportsFn||(e.exportsFn=function(e){return function(){var t;return e.init&&(t=e.init.apply(global,arguments)),t||e.exports&&getGlobal(e.exports)}}(e)),o[t]=e})),I.shim=o),t.packages&&t.packages.forEach((function(e){var t;t=(e="string"==typeof e?{name:e}:e).name,e.location&&(I.paths[t]=e.location),I.pkgs[t]=e.name+"/"+(e.main||"main").replace(currDirRegExp,"").replace(jsSuffixRegExp,"")})),(t.deps||t.callback)&&b(t.deps,t.callback),b)},b.onError=function(e){throw e},L={id:e,defined:C,waiting:A,config:I,deferreds:D,req:b,execCb:function(e,t,i,n){return t.apply(n,i)}},contexts[e]=L,b}var topReq,dataMain,src,subPath,bootstrapConfig,hasOwn,contexts,queue,currDirRegExp,urlRegExp,commentRegExp,cjsRequireRegExp,jsSuffixRegExp,slice,asap;if(!Promise)throw new Error("No Promise implementation available");bootstrapConfig=requirejs||require,hasOwn=Object.prototype.hasOwnProperty,contexts={},queue=[],currDirRegExp=/^\.\//,urlRegExp=/^\/|\:|\?|\.js$/,commentRegExp=/\/\*[\s\S]*?\*\/|([^:"'=]|^)\/\/.*$/gm,cjsRequireRegExp=/[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g,jsSuffixRegExp=/\.js$/,slice=Array.prototype.slice,"function"!=typeof requirejs&&(asap=Promise.resolve(void 0),requirejs=topReq=newContext("_"),"function"!=typeof require&&(require=topReq),topReq.exec=function(text){return eval(text)},topReq.contexts=contexts,define=function(){queue.push(slice.call(arguments,0))},define.amd={jQuery:!0},bootstrapConfig&&topReq.config(bootstrapConfig),topReq.isBrowser&&!contexts._.config.skipDataMain&&(dataMain=document.querySelectorAll("script[data-main]")[0],dataMain=dataMain&&dataMain.getAttribute("data-main"),dataMain&&(dataMain=dataMain.replace(jsSuffixRegExp,""),bootstrapConfig&&bootstrapConfig.baseUrl||-1!==dataMain.indexOf("!")||(src=dataMain.split("/"),dataMain=src.pop(),subPath=src.length?src.join("/")+"/":"./",topReq.config({baseUrl:subPath})),topReq([dataMain]))))})(this,"undefined"!=typeof Promise?Promise:void 0),define("requireLib",(function(){})),requirejs.config({paths:{favico:"3rdParty/favico","perfect-scrollbar":"3rdParty/perfect-scrollbar",Pica:"3rdParty/pica",pica:"3rdParty/pica",prism:"3rdParty/prism",prismjs:"3rdParty/prism/prism","qr-creator":"3rdParty/qr-creator.min",tslib:"3rdParty/tslib",zxcvbn:"3rdParty/zxcvbn"},shim:{favico:{exports:"Favico"},"perfect-scrollbar":{exports:"PerfectScrollbar"},"qr-creator":{exports:"QrCreator"}},map:{"*":{Ajax:"WoltLabSuite/Core/Ajax",AjaxJsonp:"WoltLabSuite/Core/Ajax/Jsonp",AjaxRequest:"WoltLabSuite/Core/Ajax/Request",CallbackList:"WoltLabSuite/Core/CallbackList",ColorUtil:"WoltLabSuite/Core/ColorUtil",Core:"WoltLabSuite/Core/Core",DateUtil:"WoltLabSuite/Core/Date/Util",Devtools:"WoltLabSuite/Core/Devtools",Dictionary:"WoltLabSuite/Core/Dictionary","Dom/ChangeListener":"WoltLabSuite/Core/Dom/Change/Listener","Dom/Traverse":"WoltLabSuite/Core/Dom/Traverse","Dom/Util":"WoltLabSuite/Core/Dom/Util",Environment:"WoltLabSuite/Core/Environment",EventHandler:"WoltLabSuite/Core/Event/Handler",EventKey:"WoltLabSuite/Core/Event/Key",Language:"WoltLabSuite/Core/Language",List:"WoltLabSuite/Core/List",ObjectMap:"WoltLabSuite/Core/ObjectMap",Permission:"WoltLabSuite/Core/Permission",StringUtil:"WoltLabSuite/Core/StringUtil","Ui/Alignment":"WoltLabSuite/Core/Ui/Alignment","Ui/CloseOverlay":"WoltLabSuite/Core/Ui/CloseOverlay","Ui/Confirmation":"WoltLabSuite/Core/Ui/Confirmation","Ui/Dialog":"WoltLabSuite/Core/Ui/Dialog","Ui/Notification":"WoltLabSuite/Core/Ui/Notification","Ui/ReusableDropdown":"WoltLabSuite/Core/Ui/Dropdown/Reusable","Ui/Screen":"WoltLabSuite/Core/Ui/Screen","Ui/Scroll":"WoltLabSuite/Core/Ui/Scroll","Ui/SimpleDropdown":"WoltLabSuite/Core/Ui/Dropdown/Simple","Ui/TabMenu":"WoltLabSuite/Core/Ui/TabMenu",Upload:"WoltLabSuite/Core/Upload",User:"WoltLabSuite/Core/User"}},waitSeconds:0}),define("jquery",[],(function(){return window.jQuery})),define("require.config",(function(){})),function(e,t){var i;e.elAttr=function(e,t,i){if(void 0===i)return e.getAttribute(t)||"";e.setAttribute(t,i)},e.elAttrBool=function(e,t){var i=elAttr(e,t);return"1"===i||"true"===i},e.elByClass=function(e,i){return(i||t).getElementsByClassName(e)},e.elById=function(e){return t.getElementById(e)},e.elBySel=function(e,i){return(i||t).querySelector(e)},e.elBySelAll=function(e,i,n){var o=(i||t).querySelectorAll(e);return"function"==typeof n&&Array.prototype.forEach.call(o,n),o},e.elByTag=function(e,i){return(i||t).getElementsByTagName(e)},e.elCreate=function(e){return t.createElement(e)},e.elClosest=function(e,t){if(!(e instanceof Node))throw new TypeError("Provided element is not a Node.");return e.nodeType===Node.TEXT_NODE&&null===(e=e.parentNode)?null:("string"!=typeof t&&(t=""),0===t.length?e:e.closest(t))},e.elData=function(e,t,i){if(t="data-"+t,void 0===i)return e.getAttribute(t)||"";e.setAttribute(t,i)},e.elDataBool=function(e,t){var i=elData(e,t);return"1"===i||"true"===i},e.elHide=function(e){e.style.setProperty("display","none","")},e.elIsHidden=function(e){return"none"===e.style.getPropertyValue("display")},e.elInnerError=function(e,t,i){var n,o,r,a=e.parentNode;if(null===a)throw new Error("Only elements that have a parent element or document are valid.");if("string"!=typeof t){if(null!=t&&!1!==t)throw new TypeError("The error message must be a string; `false`, `null` or `undefined` can be used as a substitute for an empty string.");t=""}return o=e,(n=a).classList.contains("inputAddon")&&(n=a.parentElement,o=a),null!==(r=o.nextElementSibling)&&"SMALL"===r.nodeName&&r.classList.contains("innerError")||(""===t?r=null:((r=elCreate("small")).className="innerError",n.insertBefore(r,o.nextSibling))),""===t?null!==r&&(a.removeChild(r),r=null):r[i?"innerHTML":"textContent"]=t,r},e.elRemove=function(e){e.parentNode.removeChild(e)},e.elShow=function(e){e.style.removeProperty("display")},e.elToggle=function(e){"none"===e.style.getPropertyValue("display")?elShow(e):elHide(e)},e.forEach=function(e,t){for(var i=0,n=e.length;i<n;i++)t(e[i],i)},e.objOwns=function(e,t){return e.hasOwnProperty(t)},e.debounce=function(e,t,i){var n;return function(){var o=this,r=arguments;clearTimeout(n),n=setTimeout((function(){n=null,i||e.apply(o,r)}),t),i&&!n&&e.apply(o,r)}},Object.defineProperty(e,"WCF_CLICK_EVENT",{value:"click"}),i=0,function t(){e.history.state&&e.history.state.name&&"initial"!==e.history.state.name?(e.history.replaceState({name:"skip",depth:++i},""),e.history.back(),setTimeout(t,1)):e.history.replaceState({name:"initial"},"")}(),e.addEventListener("popstate",(function(t){t.state&&t.state.name&&"skip"===t.state.name&&e.history.go(t.state.depth)})),e.String.prototype.hashCode=function(){var e,t,i=0;if(this.length)for(e=0,t=this.length;e<t;e++)i=(i<<5)-i+this.charCodeAt(e),i&=i;return i}}(window,document),define("wcf.globalHelper",(function(){})),function(){var e=function(e){"use strict";function t(e){if(e.paused||e.ended||g)return!1;try{d.clearRect(0,0,l,s),d.drawImage(e,0,0,l,s)}catch(e){}v=setTimeout((function(){t(e)}),j.duration),M.setIcon(c)}function i(e){var t,i=/^#?([a-f\d])([a-f\d])([a-f\d])$/i;return e=e.replace(i,(function(e,t,i,n){return t+t+i+i+n+n})),!!(t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e))&&{r:parseInt(t[1],16),g:parseInt(t[2],16),b:parseInt(t[3],16)}}function n(e,t){var i,n={};for(i in e)n[i]=e[i];for(i in t)n[i]=t[i];return n}var o,r,a,s,l,c,d,u,h,p,m,f,g,b,_,v,w,y,E,S,L,C,A,I,x,k,D,T,M,j;return e=e||{},o={bgColor:"#d00",textColor:"#fff",fontFamily:"sans-serif",fontStyle:"bold",type:"circle",position:"down",animation:"slide",elementId:!1,element:null,dataUrl:!1,win:window},(b={}).ff="undefined"!=typeof InstallTrigger,b.chrome=!!window.chrome,b.opera=!!window.opera||navigator.userAgent.indexOf("Opera")>=0,b.ie=!1,b.safari=Object.prototype.toString.call(window.HTMLElement).indexOf("Constructor")>0,b.supported=b.chrome||b.ff||b.opera,y=[],f=function(){},h=g=!1,E=function(){var t,h,p,m,f,g;if((r=n(o,e)).bgColor=i(r.bgColor),r.textColor=i(r.textColor),r.position=r.position.toLowerCase(),r.animation=j.types[""+r.animation]?r.animation:o.animation,w=r.win.document,t=r.position.indexOf("up")>-1,h=r.position.indexOf("left")>-1,t||h)for(p in j.types)for(m=0;m<j.types[p].length;m++)f=j.types[p][m],t&&(f.y<.6?f.y=f.y-.4:f.y=f.y-2*f.y+(1-f.w)),h&&(f.x<.6?f.x=f.x-.4:f.x=f.x-2*f.x+(1-f.h)),j.types[p][m]=f;r.type=L[""+r.type]?r.type:o.type,a=M.getIcons(),c=document.createElement("canvas"),u=document.createElement("img"),(g=a[a.length-1]).hasAttribute("href")?(u.setAttribute("crossOrigin","anonymous"),u.onload=function(){s=u.height>0?u.height:32,l=u.width>0?u.width:32,c.height=s,c.width=l,d=c.getContext("2d"),S.ready()},u.setAttribute("src",g.getAttribute("href"))):(s=32,l=32,u.height=s,u.width=l,c.height=s,c.width=l,d=c.getContext("2d"),S.ready())},(S={}).ready=function(){h=!0,S.reset(),f()},S.reset=function(){h&&(y=[],p=!1,m=!1,d.clearRect(0,0,l,s),d.drawImage(u,0,0,l,s),M.setIcon(c),window.clearTimeout(_),window.clearTimeout(v))},S.start=function(){var e,t;h&&!m&&(e=function(){p=y[0],m=!1,y.length>0&&(y.shift(),S.start())},y.length>0&&(m=!0,t=function(){["type","animation","bgColor","textColor","fontFamily","fontStyle"].forEach((function(e){e in y[0].options&&(r[e]=y[0].options[e])})),j.run(y[0].options,(function(){e()}),!1)},p?j.run(p.options,(function(){t()}),!0):t()))},C=function(e){return e.n="number"==typeof e.n?Math.abs(0|e.n):e.n,e.x=l*e.x,e.y=s*e.y,e.w=l*e.w,e.h=s*e.h,e.len=(""+e.n).length,e},(L={}).circle=function(e){var t=!1;2===(e=C(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),d.clearRect(0,0,l,s),d.drawImage(u,0,0,l,s),d.beginPath(),d.font=r.fontStyle+" "+Math.floor(e.h*(e.n>99?.85:1))+"px "+r.fontFamily,d.textAlign="center",t?(d.moveTo(e.x+e.w/2,e.y),d.lineTo(e.x+e.w-e.h/2,e.y),d.quadraticCurveTo(e.x+e.w,e.y,e.x+e.w,e.y+e.h/2),d.lineTo(e.x+e.w,e.y+e.h-e.h/2),d.quadraticCurveTo(e.x+e.w,e.y+e.h,e.x+e.w-e.h/2,e.y+e.h),d.lineTo(e.x+e.h/2,e.y+e.h),d.quadraticCurveTo(e.x,e.y+e.h,e.x,e.y+e.h-e.h/2),d.lineTo(e.x,e.y+e.h/2),d.quadraticCurveTo(e.x,e.y,e.x+e.h/2,e.y)):d.arc(e.x+e.w/2,e.y+e.h/2,e.h/2,0,2*Math.PI),d.fillStyle="rgba("+r.bgColor.r+","+r.bgColor.g+","+r.bgColor.b+","+e.o+")",d.fill(),d.closePath(),d.beginPath(),d.stroke(),d.fillStyle="rgba("+r.textColor.r+","+r.textColor.g+","+r.textColor.b+","+e.o+")","number"==typeof e.n&&e.n>999?d.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)):d.fillText(e.n,Math.floor(e.x+e.w/2),Math.floor(e.y+e.h-.15*e.h)),d.closePath()},L.rectangle=function(e){2===(e=C(e)).len?(e.x=e.x-.4*e.w,e.w=1.4*e.w):e.len>=3&&(e.x=e.x-.65*e.w,e.w=1.65*e.w),d.clearRect(0,0,l,s),d.drawImage(u,0,0,l,s),d.beginPath(),d.font=r.fontStyle+" "+Math.floor(e.h*(e.n>99?.9:1))+"px "+r.fontFamily,d.textAlign="center",d.fillStyle="rgba("+r.bgColor.r+","+r.bgColor.g+","+r.bgColor.b+","+e.o+")",d.fillRect(e.x,e.y,e.w,e.h),d.fillStyle="rgba("+r.textColor.r+","+r.textColor.g+","+r.textColor.b+","+e.o+")","number"==typeof e.n&&e.n>999?d.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)):d.fillText(e.n,Math.floor(e.x+e.w/2),Math.floor(e.y+e.h-.15*e.h)),d.closePath()},A=function(e,t){t=("string"==typeof t?{animation:t}:t)||{},f=function(){try{if("number"==typeof e?e>0:""!==e){var n={type:"badge",options:{n:e}};if("animation"in t&&j.types[""+t.animation]&&(n.options.animation=""+t.animation),"type"in t&&L[""+t.type]&&(n.options.type=""+t.type),["bgColor","textColor"].forEach((function(e){e in t&&(n.options[e]=i(t[e]))})),["fontStyle","fontFamily"].forEach((function(e){e in t&&(n.options[e]=t[e])})),y.push(n),y.length>100)throw new Error("Too many badges requests in queue.");S.start()}else S.reset()}catch(e){throw new Error("Error setting badge. Message: "+e.message)}},h&&f()},I=function(e){f=function(){var t,i,n,o;try{t=e.width,i=e.height,n=document.createElement("img"),o=t/l<i/s?t/l:i/s,n.setAttribute("crossOrigin","anonymous"),n.onload=function(){d.clearRect(0,0,l,s),d.drawImage(n,0,0,l,s),M.setIcon(c)},n.setAttribute("src",e.getAttribute("src")),n.height=i/o,n.width=t/o}catch(e){throw new Error("Error setting image. Message: "+e.message)}},h&&f()},x=function(e){f=function(){M.setIconSrc(e)},h&&f()},k=function(e){f=function(){try{if("stop"===e)return g=!0,S.reset(),void(g=!1);e.addEventListener("play",(function(){t(this)}),!1)}catch(e){throw new Error("Error setting video. Message: "+e.message)}},h&&f()},D=function(e){if(window.URL&&window.URL.createObjectURL||(window.URL=window.URL||{},window.URL.createObjectURL=function(e){return e}),b.supported){var i=!1;navigator.getUserMedia=navigator.getUserMedia||navigator.oGetUserMedia||navigator.msGetUserMedia||navigator.mozGetUserMedia||navigator.webkitGetUserMedia,f=function(){try{if("stop"===e)return g=!0,S.reset(),void(g=!1);(i=document.createElement("video")).width=l,i.height=s,navigator.getUserMedia({video:!0,audio:!1},(function(e){i.src=URL.createObjectURL(e),i.play(),t(i)}),(function(){}))}catch(e){throw new Error("Error setting webcam. Message: "+e.message)}},h&&f()}},T=function(e,t){var n,o,a=e;for(null==t&&"[object Object]"==Object.prototype.toString.call(e)||((a={})[e]=t),n=Object.keys(a),o=0;o<n.length;o++)"bgColor"==n[o]||"textColor"==n[o]?r[n[o]]=i(a[n[o]]):r[n[o]]=a[n[o]];y.push(p),S.start()},(M={}).getIcons=function(){var e=[],t=function(){var e,t=[],i=w.getElementsByTagName("head")[0].getElementsByTagName("link");for(e=0;e<i.length;e++)/(^|\s)icon(\s|$)/i.test(i[e].getAttribute("rel"))&&t.push(i[e]);return t};return r.element?e=[r.element]:r.elementId?(e=[w.getElementById(r.elementId)])[0].setAttribute("href",e[0].getAttribute("src")):0===(e=t()).length&&((e=[w.createElement("link")])[0].setAttribute("rel","icon"),w.getElementsByTagName("head")[0].appendChild(e[0])),e.forEach((function(e){e.setAttribute("type","image/png")})),e},M.setIcon=function(e){var t=e.toDataURL("image/png");M.setIconSrc(t)},M.setIconSrc=function(e){var t,i,n;r.dataUrl&&r.dataUrl(e),r.element?(r.element.setAttribute("href",e),r.element.setAttribute("src",e)):r.elementId?((t=w.getElementById(r.elementId)).setAttribute("href",e),t.setAttribute("src",e)):b.ff||b.opera?(i=a[a.length-1],n=w.createElement("link"),a=[n],b.opera&&n.setAttribute("rel","icon"),n.setAttribute("rel","icon"),n.setAttribute("type","image/png"),w.getElementsByTagName("head")[0].appendChild(n),n.setAttribute("href",e),i.parentNode&&i.parentNode.removeChild(i)):a.forEach((function(t){t.setAttribute("href",e)}))},(j={}).duration=40,j.types={},j.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}],j.types.none=[{x:.4,y:.4,w:.6,h:.6,o:1}],j.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}],j.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}],j.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}],j.run=function(e,t,i,o){var a=j.types[w.hidden||w.msHidden||w.webkitHidden||w.mozHidden?"none":r.animation];o=!0===i?void 0!==o?o:a.length-1:void 0!==o?o:0,t=t||function(){},o<a.length&&o>=0?(L[r.type](n(e,a[o])),_=setTimeout((function(){i?o-=1:o+=1,j.run(e,t,i,o)}),j.duration),M.setIcon(c)):t()},E(),{badge:A,video:k,image:I,rawImageSrc:x,webcam:D,setOpt:T,reset:S.reset,browser:{supported:b.supported}}};void 0!==define&&define.amd?define("favico",[],(function(){return e})):"undefined"!=typeof module&&module.exports?module.exports=e:this.Favico=e}(),function(e){function t(e,t){return e!==i&&("function"==typeof Object.create?Object.defineProperty(e,"__esModule",{value:!0}):e.__esModule=!0),function(i,n){return e[i]=t?t(i,n):n}}var i="object"==typeof global?global:"object"==typeof self?self:"object"==typeof this?this:{};"function"==typeof define&&define.amd?define("tslib",["exports"],(function(n){e(t(i,t(n)))})):"object"==typeof module&&"object"==typeof module.exports?e(t(i,t(module.exports))):e(t(i))}((function(e){var t,i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])};__extends=function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},__assign=Object.assign||function(e){var t,i,n,o;for(i=1,n=arguments.length;i<n;i++)for(o in t=arguments[i])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},__rest=function(e,t){var i,n,o={};for(i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(o[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(n=0,i=Object.getOwnPropertySymbols(e);n<i.length;n++)t.indexOf(i[n])<0&&Object.prototype.propertyIsEnumerable.call(e,i[n])&&(o[i[n]]=e[i[n]]);return o},__decorate=function(e,t,i,n){var o,r,a=arguments.length,s=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,n);else for(r=e.length-1;r>=0;r--)(o=e[r])&&(s=(a<3?o(s):a>3?o(t,i,s):o(t,i))||s);return a>3&&s&&Object.defineProperty(t,i,s),s},__param=function(e,t){return function(i,n){t(i,n,e)}},__metadata=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},__awaiter=function(e,t,i,n){return new(i||(i=Promise))((function(o,r){function a(e){try{l(n.next(e))}catch(e){r(e)}}function s(e){try{l(n.throw(e))}catch(e){r(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(a,s)}l((n=n.apply(e,t||[])).next())}))},__generator=function(e,t){function i(i){return function(a){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,o&&(r=2&i[0]?o.return:i[0]?o.throw||((r=o.return)&&r.call(o),0):o.next)&&!(r=r.call(o,i[1])).done)return r;switch(o=0,r&&(i=[2&i[0],r.value]),i[0]){case 0:case 1:r=i;break;case 4:return s.label++,{value:i[1],done:!1};case 5:s.label++,o=i[1],i=[0];continue;case 7:i=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==i[0]&&2!==i[0])){s=0;continue}if(3===i[0]&&(!r||i[1]>r[0]&&i[1]<r[3])){s.label=i[1];break}if(6===i[0]&&s.label<r[1]){s.label=r[1],r=i;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(i);break}r[2]&&s.ops.pop(),s.trys.pop();continue}i=t.call(e,s)}catch(e){i=[6,e],o=0}finally{n=r=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,a])}}var n,o,r,a,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return a={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a},__exportStar=function(e,t){for(var i in e)"default"===i||Object.prototype.hasOwnProperty.call(t,i)||__createBinding(t,e,i)},__createBinding=Object.create?function(e,t,i,n){void 0===n&&(n=i),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[i]}})}:function(e,t,i,n){void 0===n&&(n=i),e[n]=t[i]},__values=function(e){var t="function"==typeof Symbol&&Symbol.iterator,i=t&&e[t],n=0;if(i)return i.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},__read=function(e,t){var i,n,o,r,a="function"==typeof Symbol&&e[Symbol.iterator];if(!a)return e;i=a.call(e),o=[];try{for(;(void 0===t||t-- >0)&&!(n=i.next()).done;)o.push(n.value)}catch(e){r={error:e}}finally{try{n&&!n.done&&(a=i.return)&&a.call(i)}finally{if(r)throw r.error}}return o},__spread=function(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(__read(arguments[t]));return e},__spreadArrays=function(){var e,t,i,n,o,r,a,s;for(e=0,t=0,i=arguments.length;t<i;t++)e+=arguments[t].length;for(n=Array(e),o=0,t=0;t<i;t++)for(a=0,s=(r=arguments[t]).length;a<s;a++,o++)n[o]=r[a];return n},__await=function(e){return this instanceof __await?(this.v=e,this):new __await(e)},__asyncGenerator=function(e,t,i){function n(e){c[e]&&(l[e]=function(t){return new Promise((function(i,n){d.push([e,t,i,n])>1||o(e,t)}))})}function o(e,t){try{(i=c[e](t)).value instanceof __await?Promise.resolve(i.value.v).then(r,a):s(d[0][2],i)}catch(e){s(d[0][3],e)}var i}function r(e){o("next",e)}function a(e){o("throw",e)}function s(e,t){e(t),d.shift(),d.length&&o(d[0][0],d[0][1])}if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var l,c=i.apply(e,t||[]),d=[];return l={},n("next"),n("throw"),n("return"),l[Symbol.asyncIterator]=function(){return this},l},__asyncDelegator=function(e){function t(t,o){i[t]=e[t]?function(i){return(n=!n)?{value:__await(e[t](i)),done:"return"===t}:o?o(i):i}:o}var i,n;return i={},t("next"),t("throw",(function(e){throw e})),t("return"),i[Symbol.iterator]=function(){return this},i},__asyncValues=function(e){function t(t){i[t]=e[t]&&function(i){return new Promise((function(n,o){(function(e,t,i,n){Promise.resolve(n).then((function(t){e({value:t,done:i})}),t)})(n,o,(i=e[t](i)).done,i.value)}))}}if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i,n=e[Symbol.asyncIterator];return n?n.call(e):(e="function"==typeof __values?__values(e):e[Symbol.iterator](),i={},t("next"),t("throw"),t("return"),i[Symbol.asyncIterator]=function(){return this},i)},__makeTemplateObject=function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e},t=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t},__importStar=function(e){var i,n;if(e&&e.__esModule)return e;if(i={},null!=e)for(n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&__createBinding(i,e,n);return t(i,e),i},__importDefault=function(e){return e&&e.__esModule?e:{default:e}},__classPrivateFieldGet=function(e,t){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return t.get(e)},__classPrivateFieldSet=function(e,t,i){if(!t.has(e))throw new TypeError("attempted to set private field on non-instance");return t.set(e,i),i},e("__extends",__extends),e("__assign",__assign),e("__rest",__rest),e("__decorate",__decorate),e("__param",__param),e("__metadata",__metadata),e("__awaiter",__awaiter),e("__generator",__generator),e("__exportStar",__exportStar),e("__createBinding",__createBinding),e("__values",__values),e("__read",__read),e("__spread",__spread),e("__spreadArrays",__spreadArrays),e("__await",__await),e("__asyncGenerator",__asyncGenerator),e("__asyncDelegator",__asyncDelegator),e("__asyncValues",__asyncValues),e("__makeTemplateObject",__makeTemplateObject),e("__importStar",__importStar),e("__importDefault",__importDefault),e("__classPrivateFieldGet",__classPrivateFieldGet),e("__classPrivateFieldSet",__classPrivateFieldSet)})),define("WoltLabSuite/Core/Core",["require","exports"],(function(e,t){"use strict";function i(e){return r(e)}function n(e,...t){const r=i(e=e||{});for(let i=0,a=t.length;i<a;i++){const a=t[i];a&&Object.keys(a).forEach((t=>{Array.isArray(a[t])||"object"!=typeof a[t]?r[t]=a[t]:o(a[t])?r[t]=n(e[t],a[t]):r[t]=a[t]}))}return r}function o(e){return"object"==typeof e&&null!==e&&Object.getPrototypeOf(e)===Object.prototype}Object.defineProperty(t,"__esModule",{value:!0}),t.enableLegacyInheritance=t.debounce=t.stringToBool=t.getStoragePrefix=t.triggerEvent=t.serialize=t.getUuid=t.getType=t.isPlainObject=t.inherit=t.extend=t.convertLegacyUrl=t.clone=void 0;const r=function(e){return"object"==typeof e&&(Array.isArray(e)||o(e))?a(e):e},a=function(e){if(!e)return null;if(Array.isArray(e))return e.slice();const t={};return Object.keys(e).forEach((i=>t[i]=r(e[i]))),t},s="wsc"+window.WCF_PATH.hashCode()+"-";t.clone=i,t.convertLegacyUrl=function(e){return e.replace(/^index\.php\/(.*?)\/\?/,((e,t)=>{const i=t.split(/([A-Z][a-z0-9]+)/);t="";for(let e=0,n=i.length;e<n;e++){const n=i[e].trim();n.length&&(t.length&&(t+="-"),t+=n.toLowerCase())}return`index.php?${t}/&`}))},t.extend=n,t.inherit=function(e,t,i){if(null==e)throw new TypeError("The constructor must not be undefined or null.");if(null==t)throw new TypeError("The super constructor must not be undefined or null.");if(void 0===t.prototype)throw new TypeError("The super constructor must have a prototype.");e._super=t,e.prototype=n(Object.create(t.prototype,{constructor:{configurable:!0,enumerable:!1,value:e,writable:!0}}),i||{})},t.isPlainObject=o,t.getType=function(e){return Object.prototype.toString.call(e).replace(/^\[object (.+)]$/,"$1")},t.getUuid=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(e=>{const t=16*Math.random()|0;return("x"==e?t:3&t|8).toString(16)}))},t.serialize=function e(t,i){if(null===t)return"";const n=[];return Object.keys(t).forEach((o=>{const r=i?i+"["+o+"]":o,a=t[o];"object"==typeof a?n.push(e(a,r)):n.push(encodeURIComponent(r)+"="+encodeURIComponent(a))})),n.join("&")},t.triggerEvent=function(e,t){if("click"===t&&e instanceof HTMLElement)return void e.click();const i=new Event(t,{bubbles:!0,cancelable:!0});e.dispatchEvent(i)},t.getStoragePrefix=function(){return s},t.stringToBool=function(e){return"1"===e||"true"===e},t.debounce=function(e,t=50,i={isImmediate:!1}){let n;return function(...o){const r=i.isImmediate&&void 0===n;void 0!==n&&clearTimeout(n),n=setTimeout((()=>{n=void 0,i.isImmediate||e.apply(this,o)}),t),r&&e.apply(this,o)}},t.enableLegacyInheritance=function(e){e.call=function(t,...i){const n=Reflect.construct(e,i,t.constructor);Object.entries(n).forEach((([e,i])=>{t[e]=i}))}}})),define("WoltLabSuite/Core/NumberUtil",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.round=void 0,t.round=function(e,t){if(void 0===t||0==+t)return Math.round(e);if(e=+e,t=+t,isNaN(e)||"number"!=typeof t||t%1!=0)return NaN;let i=e.toString().split("e"),n=i[1]?+i[1]-t:-t;return i=(e=Math.round(+`${i[0]}e${n}`)).toString().split("e"),n=i[1]?+i[1]+t:t,+`${i[0]}e${n}`}})),define("WoltLabSuite/Core/StringUtil",["require","exports","tslib","./NumberUtil"],(function(e,t,i,n){"use strict";function o(e){return String(e).replace(/(^-?\d{1,3}|\d{3})(?=(?:\d{3})+(?:$|\.))/g,"$1"+l)}function r(e,t){let i=n.round(e,t||-2).toString();const r=i.split(".");return i=o(+r[0]),r.length>1&&(i+=s+r[1]),i=i.replace("-","−"),i}function a(e){return String(e).substring(0,1).toUpperCase()+e.substring(1)}Object.defineProperty(t,"__esModule",{value:!0}),t.setupI18n=t.toCamelCase=t.shortUnit=t.unescapeHTML=t.ucfirst=t.lcfirst=t.formatNumeric=t.escapeRegExp=t.escapeHTML=t.addThousandsSeparator=void 0,n=i.__importStar(n);let s=".",l=",";t.addThousandsSeparator=o,t.escapeHTML=function(e){return String(e).replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")},t.escapeRegExp=function(e){return String(e).replace(/([.*+?^=!:${}()|[\]/\\])/g,"\\$1")},t.formatNumeric=r,t.lcfirst=function(e){return String(e).substring(0,1).toLowerCase()+e.substring(1)},t.ucfirst=a,t.unescapeHTML=function(e){return String(e).replace(/&/g,"&").replace(/"/g,'"').replace(/</g,"<").replace(/>/g,">")},t.shortUnit=function(e){let t="";return e>=1e6?(e=(e/=1e6)>10?Math.floor(e):n.round(e,-1),t="M"):e>=1e3&&(e=(e/=1e3)>10?Math.floor(e):n.round(e,-1),t="k"),r(e)+t},t.toCamelCase=function(e){return e.includes("-")?e.split("-").map(((e,t)=>(t>0&&(e=a(e)),e))).join(""):e},t.setupI18n=function(e){s=e.decimalPoint,l=e.thousandsSeparator}})),define("WoltLabSuite/Core/I18n/Plural",["require","exports","tslib","../StringUtil"],(function(e,t,i,n){"use strict";n=i.__importStar(n);const o={af(e){if(1==e)return"one"},am(e){const t=Math.floor(Math.abs(e));if(1==e||0===t)return"one"},ar(e){if(0==e)return"zero";if(1==e)return"one";if(2==e)return"two";const t=e%100;return t>=3&&t<=10?"few":t>=11&&t<=99?"many":void 0},as(e){const t=Math.floor(Math.abs(e));if(1==e||0===t)return"one"},az(e){if(1==e)return"one"},be(e){const t=e%10,i=e%100;return 1==t&&11!=i?"one":t>=2&&t<=4&&!(i>=12&&i<=14)?"few":0==t||t>=5&&t<=9||i>=11&&i<=14?"many":void 0},bg(e){if(1==e)return"one"},bn(e){const t=Math.floor(Math.abs(e));if(1==e||0===t)return"one"},bo(e){},bs(e){const t=r.getV(e),i=r.getF(e),n=e%10,o=e%100,a=i%10,s=i%100;return 0==t&&1==n&&11!=o||1==a&&11!=s?"one":0==t&&n>=2&&n<=4&&o>=12&&o<=14||a>=2&&a<=4&&s>=12&&s<=14?"few":void 0},cs(e){const t=r.getV(e);return 1==e&&0===t?"one":e>=2&&e<=4&&0===t?"few":0===t?"many":void 0},cy:e=>0==e?"zero":1==e?"one":2==e?"two":3==e?"few":6==e?"many":void 0,da(e){if(e>0&&e<2)return"one"},el(e){if(1==e)return"one"},en(e){if(1==e&&0===r.getV(e))return"one"},es(e){if(1==e)return"one"},eu(e){if(1==e)return"one"},fa(e){if(e>=0&&e<=1)return"one"},fr(e){if(e>=0&&e<2)return"one"},ga:e=>1==e?"one":2==e?"two":3==e||4==e||5==e||6==e?"few":7==e||8==e||9==e||10==e?"many":void 0,gu(e){if(e>=0&&e<=1)return"one"},he(e){const t=r.getV(e);return 1==e&&0===t?"one":2==e&&0===t?"two":e>10&&0===t&&e%10==0?"many":void 0},hi(e){if(e>=0&&e<=1)return"one"},hr:e=>r.bs(e),hu(e){if(1==e)return"one"},hy(e){if(e>=0&&e<2)return"one"},id(e){},is(e){const t=r.getF(e);if(0===t&&e%10==1&&e%100!=11||0!==t)return"one"},ja(e){},jv(e){},ka(e){if(1==e)return"one"},kk(e){if(1==e)return"one"},km(e){},kn(e){if(e>=0&&e<=1)return"one"},ko(e){},ku(e){if(1==e)return"one"},ky(e){if(1==e)return"one"},lb(e){if(1==e)return"one"},lo(e){},lt(e){const t=e%10,i=e%100;return 1!=t||i>=11&&i<=19?t>=2&&t<=9&&!(i>=11&&i<=19)?"few":0!=r.getF(e)?"many":void 0:"one"},lv(e){const t=e%10,i=e%100,n=r.getV(e),o=r.getF(e),a=o%10,s=o%100;return 0==t||i>=11&&i<=19||2==n&&s>=11&&s<=19?"zero":1==t&&11!=i||2==n&&1==a&&11!=s||2!=n&&1==a?"one":void 0},mk:e=>r.bs(e),ml(e){if(1==e)return"one"},mn(e){if(1==e)return"one"},mr(e){if(1==e)return"one"},ms(e){},mt(e){const t=e%100;return 1==e?"one":0==e||t>=2&&t<=10?"few":t>=11&&t<=19?"many":void 0},my(e){},no(e){if(1==e)return"one"},ne(e){if(1==e)return"one"},or(e){if(1==e)return"one"},pa(e){if(1==e||0==e)return"one"},pl(e){const t=r.getV(e),i=e%10,n=e%100;return 1==e&&0==t?"one":0==t&&i>=2&&i<=4&&!(n>=12&&n<=14)?"few":0==t&&(1!=e&&i>=0&&i<=1||i>=5&&i<=9||n>=12&&n<=14)?"many":void 0},ps(e){if(1==e)return"one"},pt(e){if(e>=0&&e<2)return"one"},ro(e){const t=r.getV(e),i=e%100;return 1==e&&0===t?"one":0!=t||0==e||i>=2&&i<=19?"few":void 0},ru(e){const t=e%10,i=e%100;if(0==r.getV(e)){if(1==t&&11!=i)return"one";if(t>=2&&t<=4&&!(i>=12&&i<=14))return"few";if(0==t||t>=5&&t<=9||i>=11&&i<=14)return"many"}},sd(e){if(1==e)return"one"},si(e){if(0==e||1==e||0==Math.floor(e)&&1==r.getF(e))return"one"},sk:e=>r.cs(e),sl(e){const t=r.getV(e),i=e%100;return 0==t&&1==i?"one":0==t&&2==i?"two":0==t&&(3==i||4==i)||0!=t?"few":void 0},sq(e){if(1==e)return"one"},sr:e=>r.bs(e),ta(e){if(1==e)return"one"},te(e){if(1==e)return"one"},tg(e){},th(e){},tk(e){if(1==e)return"one"},tr(e){if(1==e)return"one"},ug(e){if(1==e)return"one"},uk:e=>r.ru(e),uz(e){if(1==e)return"one"},vi(e){},zh(e){}},r=Object.assign({getCategory(e,t){t||(t=document.documentElement.lang),"function"!=typeof r[t]&&(t="en");const i=r[t](e);return i||"other"},getCategoryFromTemplateParameters(e){if(!e.value)throw new Error("Missing parameter value");if(!e.other)throw new Error("Missing parameter other");let t=e.value;Array.isArray(t)&&(t=t.length);const i=Object.keys(e).find((e=>e.toString()===(~~e).toString()&&e.toString()===t.toString()));if(i)return i;let o=r.getCategory(t);e[o]||(o="other");const a=e[o];return-1!==a.indexOf("#")?a.replace("#",n.formatNumeric(t)):a},getF(e){const t=e.toString(),i=t.indexOf(".");return-1===i?0:parseInt(t.substr(i+1),10)},getV:e=>e.toString().replace(/^[^.]*\.?/,"").length},o);return r})),define("WoltLabSuite/Core/Language/Store",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.add=t.get=void 0;const i=new Map;t.get=function(e,t={}){const n=i.get(e);return void 0===n?e:n(t)},t.add=function(e,t){i.set(e,t)}})),define("WoltLabSuite/Core/Template.grammar",["require"],(function(e){var t=function(e,t,i,n){for(i=i||{},n=e.length;n--;i[e[n]]=t);return i},i=[2,44],n=[5,9,11,12,13,18,19,21,22,23,25,26,28,29,30,32,33,34,35,37,39,41],o=[1,25],r=[1,27],a=[1,33],s=[1,31],l=[1,32],c=[1,28],d=[1,29],u=[1,26],h=[1,35],p=[1,41],m=[1,40],f=[11,12,15,42,43,47,49,51,52,54,55],g=[9,11,12,13,18,19,21,23,26,28,30,32,33,34,35,37,39],b=[11,12,15,42,43,46,47,48,49,51,52,54,55],_=[1,64],v=[1,65],w=[18,37,39],y=[12,15],E={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,T_WS:12,"{if":13,COMMAND_PARAMETERS:14,"}":15,COMMAND_repetition0:16,COMMAND_option0:17,"{/if}":18,"{include":19,COMMAND_PARAMETER_LIST:20,"{implode":21,"{/implode}":22,"{foreach":23,COMMAND_option1:24,"{/foreach}":25,"{plural":26,PLURAL_PARAMETER_LIST:27,"{lang}":28,"{/lang}":29,"{":30,VARIABLE:31,"{#":32,"{@":33,"{ldelim}":34,"{rdelim}":35,ELSE:36,"{else}":37,ELSE_IF:38,"{elseif":39,FOREACH_ELSE:40,"{foreachelse}":41,T_VARIABLE:42,T_VARIABLE_NAME:43,VARIABLE_repetition0:44,VARIABLE_SUFFIX:45,"[":46,"]":47,".":48,"(":49,VARIABLE_SUFFIX_option0:50,")":51,"=":52,COMMAND_PARAMETER_VALUE:53,T_QUOTED_STRING:54,T_DIGITS:55,COMMAND_PARAMETERS_repetition_plus0:56,COMMAND_PARAMETER:57,T_PLURAL_PARAMETER_NAME:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",9:"T_LITERAL",11:"T_ANY",12:"T_WS",13:"{if",15:"}",18:"{/if}",19:"{include",21:"{implode",22:"{/implode}",23:"{foreach",25:"{/foreach}",26:"{plural",28:"{lang}",29:"{/lang}",30:"{",32:"{#",33:"{@",34:"{ldelim}",35:"{rdelim}",37:"{else}",39:"{elseif",41:"{foreachelse}",42:"T_VARIABLE",43:"T_VARIABLE_NAME",46:"[",47:"]",48:".",49:"(",51:")",52:"=",54:"T_QUOTED_STRING",55:"T_DIGITS"},productions_:[0,[3,2],[4,1],[7,1],[7,1],[7,1],[8,1],[8,1],[10,7],[10,3],[10,5],[10,6],[10,3],[10,3],[10,3],[10,3],[10,3],[10,1],[10,1],[36,2],[38,4],[40,2],[31,3],[45,3],[45,2],[45,3],[20,5],[20,3],[53,1],[53,1],[53,1],[14,1],[57,1],[57,1],[57,1],[57,1],[57,1],[57,1],[57,1],[57,3],[27,5],[27,3],[58,1],[58,1],[6,0],[6,2],[16,0],[16,2],[17,0],[17,1],[24,0],[24,1],[44,0],[44,2],[50,0],[50,1],[56,1],[56,2]],performAction:function(e,t,i,n,o,r,a){var s,l,c,d=r.length-1;switch(o){case 1:return r[d-1]+";";case 2:(s=r[d].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]))[1]&&(s[0]+="'"),this.$=s[0];break;case 3:case 4:this.$={encode:!0,value:r[d].replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/(\r\n|\n|\r)/g,"\\n")};break;case 5:this.$={encode:!1,value:r[d]};break;case 8:this.$="(function() { if ("+r[d-5]+") { return "+r[d-3]+"; } "+r[d-2].join(" ")+" "+(r[d-1]||"")+" return ''; })()";break;case 9:if(!r[d-1].file)throw new Error("Missing parameter file");this.$=r[d-1].file+".fetch(v)";break;case 10:if(!r[d-3].from)throw new Error("Missing parameter from");if(!r[d-3].item)throw new Error("Missing parameter item");r[d-3].glue||(r[d-3].glue="', '"),this.$="(function() { return "+r[d-3].from+".map(function(item) { v["+r[d-3].item+"] = item; return "+r[d-1]+"; }).join("+r[d-3].glue+"); })()";break;case 11:if(!r[d-4].from)throw new Error("Missing parameter from");if(!r[d-4].item)throw new Error("Missing parameter item");this.$="(function() {var looped = false, result = '';if ("+r[d-4].from+" instanceof Array) {for (var i = 0; i < "+r[d-4].from+".length; i++) { looped = true;v["+r[d-4].key+"] = i;v["+r[d-4].item+"] = "+r[d-4].from+"[i];result += "+r[d-2]+";}} else {for (var key in "+r[d-4].from+") {if (!"+r[d-4].from+".hasOwnProperty(key)) continue;looped = true;v["+r[d-4].key+"] = key;v["+r[d-4].item+"] = "+r[d-4].from+"[key];result += "+r[d-2]+";}}return (looped ? result : "+(r[d-1]||"''")+"); })()";break;case 12:for(c in this.$="I18nPlural.getCategoryFromTemplateParameters({",l=!1,r[d-1])objOwns(r[d-1],c)&&(this.$+=(l?",":"")+c+": "+r[d-1][c],l=!0);this.$+="})";break;case 13:this.$="Language.get("+r[d-1]+", v)";break;case 14:this.$="StringUtil.escapeHTML("+r[d-1]+")";break;case 15:this.$="StringUtil.formatNumeric("+r[d-1]+")";break;case 16:this.$=r[d-1];break;case 17:this.$="'{'";break;case 18:this.$="'}'";break;case 19:this.$="else { return "+r[d]+"; }";break;case 20:this.$="else if ("+r[d-2]+") { return "+r[d]+"; }";break;case 21:this.$=r[d];break;case 22:this.$="v['"+r[d-1]+"']"+r[d].join("");break;case 23:this.$=r[d-2]+r[d-1]+r[d];break;case 24:this.$="['"+r[d]+"']";break;case 25:case 39:this.$=r[d-2]+(r[d-1]||"")+r[d];break;case 26:case 40:this.$=r[d],this.$[r[d-4]]=r[d-2];break;case 27:case 41:this.$={},this.$[r[d-2]]=r[d];break;case 31:this.$=r[d].join("");break;case 44:case 46:case 52:this.$=[];break;case 45:case 47:case 53:case 57:r[d-1].push(r[d]);break;case 56:this.$=[r[d]]}},table:[t([5,9,11,12,13,19,21,23,26,28,30,32,33,34,35],i,{3:1,4:2,6:3}),{1:[3]},{5:[1,4]},t([5,18,22,25,29,37,39,41],[2,2],{7:5,8:6,10:8,9:[1,7],11:[1,9],12:[1,10],13:[1,11],19:[1,12],21:[1,13],23:[1,14],26:[1,15],28:[1,16],30:[1,17],32:[1,18],33:[1,19],34:[1,20],35:[1,21]}),{1:[2,1]},t(n,[2,45]),t(n,[2,3]),t(n,[2,4]),t(n,[2,5]),t(n,[2,6]),t(n,[2,7]),{11:o,12:r,14:22,31:30,42:a,43:s,49:l,52:c,54:d,55:u,56:23,57:24},{20:34,43:h},{20:36,43:h},{20:37,43:h},{27:38,43:p,55:m,58:39},t([9,11,12,13,19,21,23,26,28,29,30,32,33,34,35],i,{6:3,4:42}),{31:43,42:a},{31:44,42:a},{31:45,42:a},t(n,[2,17]),t(n,[2,18]),{15:[1,46]},t([15,47,51],[2,31],{31:30,57:47,11:o,12:r,42:a,43:s,49:l,52:c,54:d,55:u}),t(f,[2,56]),t(f,[2,32]),t(f,[2,33]),t(f,[2,34]),t(f,[2,35]),t(f,[2,36]),t(f,[2,37]),t(f,[2,38]),{11:o,12:r,14:48,31:30,42:a,43:s,49:l,52:c,54:d,55:u,56:23,57:24},{43:[1,49]},{15:[1,50]},{52:[1,51]},{15:[1,52]},{15:[1,53]},{15:[1,54]},{52:[1,55]},{52:[2,42]},{52:[2,43]},{29:[1,56]},{15:[1,57]},{15:[1,58]},{15:[1,59]},t(g,i,{6:3,4:60}),t(f,[2,57]),{51:[1,61]},t(b,[2,52],{44:62}),t(n,[2,9]),{31:66,42:a,53:63,54:_,55:v},t([9,11,12,13,19,21,22,23,26,28,30,32,33,34,35],i,{6:3,4:67}),t([9,11,12,13,19,21,23,25,26,28,30,32,33,34,35,41],i,{6:3,4:68}),t(n,[2,12]),{31:66,42:a,53:69,54:_,55:v},t(n,[2,13]),t(n,[2,14]),t(n,[2,15]),t(n,[2,16]),t(w,[2,46],{16:70}),t(f,[2,39]),t([11,12,15,42,43,47,51,52,54,55],[2,22],{45:71,46:[1,72],48:[1,73],49:[1,74]}),{12:[1,75],15:[2,27]},t(y,[2,28]),t(y,[2,29]),t(y,[2,30]),{22:[1,76]},{24:77,25:[2,50],40:78,41:[1,79]},{12:[1,80],15:[2,41]},{17:81,18:[2,48],36:83,37:[1,85],38:82,39:[1,84]},t(b,[2,53]),{11:o,12:r,14:86,31:30,42:a,43:s,49:l,52:c,54:d,55:u,56:23,57:24},{43:[1,87]},{11:o,12:r,14:89,31:30,42:a,43:s,49:l,50:88,51:[2,54],52:c,54:d,55:u,56:23,57:24},{20:90,43:h},t(n,[2,10]),{25:[1,91]},{25:[2,51]},t([9,11,12,13,19,21,23,25,26,28,30,32,33,34,35],i,{6:3,4:92}),{27:93,43:p,55:m,58:39},{18:[1,94]},t(w,[2,47]),{18:[2,49]},{11:o,12:r,14:95,31:30,42:a,43:s,49:l,52:c,54:d,55:u,56:23,57:24},t([9,11,12,13,18,19,21,23,26,28,30,32,33,34,35],i,{6:3,4:96}),{47:[1,97]},t(b,[2,24]),{51:[1,98]},{51:[2,55]},{15:[2,26]},t(n,[2,11]),{25:[2,21]},{15:[2,40]},t(n,[2,8]),{15:[1,99]},{18:[2,19]},t(b,[2,23]),t(b,[2,25]),t(g,i,{6:3,4:100}),t(w,[2,20])],defaultActions:{4:[2,1],40:[2,42],41:[2,43],78:[2,51],83:[2,49],89:[2,55],90:[2,26],92:[2,21],93:[2,40],96:[2,19]},parseError:function(e,t){if(!t.recoverable){var i=new Error(e);throw i.hash=t,i}this.trace(e)},parse:function(e){var t,i,n,o,r,a,s,l,c,d,u,h,p,m,f,g=this,b=[0],_=[null],v=[],w=this.table,y="",E=0,S=0,L=0,C=2,A=1,I=v.slice.call(arguments,1),x=Object.create(this.lexer),k={yy:{}};for(t in this.yy)Object.prototype.hasOwnProperty.call(this.yy,t)&&(k.yy[t]=this.yy[t]);for(x.setInput(e,k.yy),k.yy.lexer=x,k.yy.parser=this,void 0===x.yylloc&&(x.yylloc={}),i=x.yylloc,v.push(i),n=x.options&&x.options.ranges,"function"==typeof k.yy.parseError?this.parseError=k.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,o=function(){var e;return"number"!=typeof(e=x.lex()||A)&&(e=g.symbols_[e]||e),e},d={};;){if(s=b[b.length-1],this.defaultActions[s]?l=this.defaultActions[s]:(null==r&&(r=o()),l=w[s]&&w[s][r]),void 0===l||!l.length||!l[0]){for(u in f="",m=[],w[s])this.terminals_[u]&&u>C&&m.push("'"+this.terminals_[u]+"'");f=x.showPosition?"Parse error on line "+(E+1)+":\n"+x.showPosition()+"\nExpecting "+m.join(", ")+", got '"+(this.terminals_[r]||r)+"'":"Parse error on line "+(E+1)+": Unexpected "+(r==A?"end of input":"'"+(this.terminals_[r]||r)+"'"),this.parseError(f,{text:x.match,token:this.terminals_[r]||r,line:x.yylineno,loc:i,expected:m})}if(l[0]instanceof Array&&l.length>1)throw new Error("Parse Error: multiple actions possible at state: "+s+", token: "+r);switch(l[0]){case 1:b.push(r),_.push(x.yytext),v.push(x.yylloc),b.push(l[1]),r=null,a?(r=a,a=null):(S=x.yyleng,y=x.yytext,E=x.yylineno,i=x.yylloc,L>0&&L--);break;case 2:if(h=this.productions_[l[1]][1],d.$=_[_.length-h],d._$={first_line:v[v.length-(h||1)].first_line,last_line:v[v.length-1].last_line,first_column:v[v.length-(h||1)].first_column,last_column:v[v.length-1].last_column},n&&(d._$.range=[v[v.length-(h||1)].range[0],v[v.length-1].range[1]]),void 0!==(c=this.performAction.apply(d,[y,S,E,k.yy,l[1],_,v].concat(I))))return c;h&&(b=b.slice(0,-1*h*2),_=_.slice(0,-1*h),v=v.slice(0,-1*h)),b.push(this.productions_[l[1]][0]),_.push(d.$),v.push(d._$),p=w[b[b.length-2]][b[b.length-1]],b.push(p);break;case 3:return!0}}return!0}},S={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];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(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,i,n=e.length,o=e.split(/(?:\r\n?|\n)/g);return this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-n),this.offset-=n,t=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),o.length-1&&(this.yylineno-=o.length-1),i=this.yylloc.range,this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:o?(o.length===t.length?this.yylloc.first_column:0)+t[t.length-o.length].length-o[0].length:this.yylloc.first_column-n},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-n]),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 i,n,o,r;if(this.options.backtrack_lexer&&(o={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&&(o.yylloc.range=this.yylloc.range.slice(0))),(n=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.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],i=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack){for(r in o)this[r]=o[r];return!1}return!1},next:function(){var e,t,i,n,o,r;if(this.done)return this.EOF;for(this._input||(this.done=!0),this._more||(this.yytext="",this.match=""),o=this._currentRules(),r=0;r<o.length;r++)if((i=this._input.match(this.rules[o[r]]))&&(!t||i[0].length>t[0].length)){if(t=i,n=r,this.options.backtrack_lexer){if(!1!==(e=this.test_match(i,o[r])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,o[n]))&&e:""===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||this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.length-1>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))>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,i,n){switch(i){case 0:break;case 1:return t.yytext=t.yytext.substring(9,t.yytext.length-10),9;case 2:case 3:return 54;case 4:return 42;case 5:return 55;case 6:return 43;case 7:return 48;case 8:return 46;case 9:return 47;case 10:return 49;case 11:return 51;case 12:return 52;case 13:return 34;case 14:return 35;case 15:return this.begin("command"),32;case 16:return this.begin("command"),33;case 17:return this.begin("command"),13;case 18:case 19:return this.begin("command"),39;case 20:return 37;case 21:return 18;case 22:return 28;case 23:return 29;case 24:return this.begin("command"),19;case 25:return this.begin("command"),21;case 26:return this.begin("command"),26;case 27:return 22;case 28:return this.begin("command"),23;case 29:return 41;case 30:return 25;case 31:return this.begin("command"),30;case 32:return this.popState(),15;case 33:return 12;case 34:return 5;case 35:return 11}},rules:[/^(?:\{\*[\s\S]*?\*\})/,/^(?:\{literal\}[\s\S]*?\{\/literal\})/,/^(?:"([^"]|\\\.)*")/,/^(?:'([^']|\\\.)*')/,/^(?:\$)/,/^(?:[0-9]+)/,/^(?:[_a-zA-Z][_a-zA-Z0-9]*)/,/^(?:\.)/,/^(?:\[)/,/^(?:\])/,/^(?:\()/,/^(?:\))/,/^(?:=)/,/^(?:\{ldelim\})/,/^(?:\{rdelim\})/,/^(?:\{#)/,/^(?:\{@)/,/^(?:\{if )/,/^(?:\{else if )/,/^(?:\{elseif )/,/^(?:\{else\})/,/^(?:\{\/if\})/,/^(?:\{lang\})/,/^(?:\{\/lang\})/,/^(?:\{include )/,/^(?:\{implode )/,/^(?:\{plural )/,/^(?:\{\/implode\})/,/^(?:\{foreach )/,/^(?:\{foreachelse\})/,/^(?:\{\/foreach\})/,/^(?:\{(?!\s))/,/^(?:\})/,/^(?:\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,35],inclusive:!0},INITIAL:{rules:[0,1,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,33,34,35],inclusive:!0}}};return E.lexer=S,E})),define("WoltLabSuite/Core/Template/Compiler",["require","exports","tslib","../Template.grammar"],(function(e,t,i,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.compile=void 0,n=i.__importStar(n),t.compile=function(e){return e="var tmp = {};\nfor (var key in v) tmp[key] = v[key];\nv = tmp;\nv.__wcf = window.WCF; v.__window = window;\nreturn "+(e=n.parse(e)),new Function("StringUtil","Language","I18nPlural","v",e)}})),define("WoltLabSuite/Core/Template",["require","exports","tslib","./Core","./I18n/Plural","./Language/Store","./StringUtil","./Template/Compiler"],(function(e,t,i,n,o,r,a,s){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a);class l{constructor(e){try{this.compiled=s.compile(e)}catch(e){throw console.debug(e.message),e}}fetch(e){return this.compiled(a,r,o,e)}}return Object.defineProperty(l,"callbacks",{enumerable:!1,configurable:!1,get:function(){throw new Error("WCF.Template.callbacks is no longer supported")},set:function(e){throw new Error("WCF.Template.callbacks is no longer supported")}}),n.enableLegacyInheritance(l),l})),define("WoltLabSuite/Core/Language",["require","exports","tslib","./Template","./Language/Store","./Language/Store"],(function(e,t,i,n,o,r){"use strict";function a(e,t){"string"==typeof t?o.add(e,function(e){try{const t=new n.default(e);return t.fetch.bind(t)}catch(t){return function(){return e}}}(t)):o.add(e,(function(){return t}))}Object.defineProperty(t,"__esModule",{value:!0}),t.add=t.addObject=t.get=void 0,n=i.__importDefault(n),Object.defineProperty(t,"get",{enumerable:!0,get:function(){return r.get}}),t.addObject=function(e){Object.entries(e).forEach((([e,t])=>{a(e,t)}))},t.add=a})),define("WoltLabSuite/Core/Ajax/Status",["require","exports","tslib","../Language"],(function(e,t,i,n){"use strict";function o(){return void 0===a&&(a=new r),a}Object.defineProperty(t,"__esModule",{value:!0}),t.hide=t.show=void 0,n=i.__importStar(n);class r{constructor(){this._activeRequests=0,this._timer=null,this._overlay=document.createElement("div"),this._overlay.classList.add("spinner"),this._overlay.setAttribute("role","status");const e=document.createElement("span");e.className="icon icon48 fa-spinner",this._overlay.appendChild(e);const t=document.createElement("span");t.textContent=n.get("wcf.global.loading"),this._overlay.appendChild(t),document.body.appendChild(this._overlay)}show(){this._activeRequests++,null===this._timer&&(this._timer=window.setTimeout((()=>{this._activeRequests&&this._overlay.classList.add("active"),this._timer=null}),250))}hide(){0==--this._activeRequests&&(null!==this._timer&&window.clearTimeout(this._timer),this._overlay.classList.remove("active"))}}let a;t.show=function(){o().show()},t.hide=function(){o().hide()}})),define("WoltLabSuite/Core/CallbackList",["require","exports","tslib","./Core"],(function(e,t,i,n){"use strict";n=i.__importStar(n);class o{constructor(){this._callbacks=new Map}add(e,t){if("function"!=typeof t)throw new TypeError("Expected a valid callback as second argument for identifier '"+e+"'.");this._callbacks.has(e)||this._callbacks.set(e,[]),this._callbacks.get(e).push(t)}remove(e){this._callbacks.delete(e)}forEach(e,t){var i;null===e?this._callbacks.forEach(((e,i)=>{e.forEach(t)})):null===(i=this._callbacks.get(e))||void 0===i||i.forEach(t)}}return n.enableLegacyInheritance(o),o})),define("WoltLabSuite/Core/Dom/Change/Listener",["require","exports","tslib","../../CallbackList"],(function(e,t,i,n){"use strict";const o=new((n=i.__importDefault(n)).default);let r=!1;return{add:o.add.bind(o),remove:o.remove.bind(o),trigger(){if(!r)try{r=!0,o.forEach(null,(e=>e()))}finally{r=!1}}}})),define("WoltLabSuite/Core/Dom/Util",["require","exports","tslib","../StringUtil"],(function(e,t,i,n){"use strict";function o(e,t,i){if(!t.contains(e))throw new Error("Ancestor element does not contain target element.");let n,o=e;const r=i+"Sibling";for(;null!==o&&o!==t;){if(null!==o[i+"ElementSibling"])return!1;if(o[r])for(n=o[r];n;){if(""!==n.textContent.trim())return!1;n=n[r]}o=o.parentNode}return!0}n=i.__importStar(n);let r=0;const a={createFragmentFromHtml(e){const t=document.createElement("div");this.setInnerHtml(t,e);const i=document.createDocumentFragment();for(;t.childNodes.length;)i.appendChild(t.childNodes[0]);return i},getUniqueId(){let e;do{e="wcf"+r++}while(null!==document.getElementById(e));return e},identify(e){if(!(e instanceof Element))throw new TypeError("Expected a valid DOM element as argument.");let t=e.id;return t||(t=this.getUniqueId(),e.id=t),t},outerHeight(e,t){t=t||window.getComputedStyle(e);let i=e.offsetHeight;return i+=~~t.marginTop+~~t.marginBottom,i},outerWidth(e,t){t=t||window.getComputedStyle(e);let i=e.offsetWidth;return i+=~~t.marginLeft+~~t.marginRight,i},outerDimensions(e){const t=window.getComputedStyle(e);return{height:this.outerHeight(e,t),width:this.outerWidth(e,t)}},offset(e){const t=e.getBoundingClientRect();return{top:Math.round(t.top+(window.scrollY||window.pageYOffset)),left:Math.round(t.left+(window.scrollX||window.pageXOffset))}},prepend(e,t){t.insertAdjacentElement("afterbegin",e)},insertAfter(e,t){t.insertAdjacentElement("afterend",e)},setStyles(e,t){let i=!1;Object.keys(t).forEach((n=>{/ !important$/.test(t[n])?(i=!0,t[n]=t[n].replace(/ !important$/,"")):i=!1,"important"!==e.style.getPropertyPriority(n)||i||e.style.removeProperty(n),e.style.setProperty(n,t[n],i?"important":"")}))},styleAsInt(e,t){const i=e.getPropertyValue(t);return null===i?0:parseInt(i,10)},setInnerHtml(e,t){let i;e.innerHTML=t,i=e instanceof HTMLTemplateElement?e.content:e;const n=i.querySelectorAll("script");for(let e=0,t=n.length;e<t;e++){const t=n[e],o=document.createElement("script");t.src?o.src=t.src:o.textContent=t.textContent,i.appendChild(o),t.remove()}},insertHtml(e,t,i){const n=document.createElement("template");this.setInnerHtml(n,e);const o=document.importNode(n.content,!0);switch(i){case"append":t.appendChild(o);break;case"after":if(null===t.parentNode)throw new Error("The reference element has no parent, but the insert position was set to 'after'.");t.parentNode.insertBefore(o,t.nextSibling);break;case"prepend":t.insertBefore(o,t.firstChild);break;case"before":if(null===t.parentNode)throw new Error("The reference element has no parent, but the insert position was set to 'before'.");t.parentNode.insertBefore(o,t);break;default:throw new Error("Unknown insert method '"+i+"'.")}},contains:(e,t)=>e.contains(t),getDataAttributes(e,t,i,o){0!==(t=t||"").indexOf("data-")&&(t="data-"+t),i=!0===i,o=!0===o;const r={};for(let a=0,s=e.attributes.length;a<s;a++){const s=e.attributes[a];if(0===s.name.indexOf(t)){let e=s.name.replace(new RegExp("^"+t),"");if(i){const t=e.split("-");e="";for(let i=0,r=t.length;i<r;i++)e.length&&(o&&"id"===t[i]?t[i]="ID":t[i]=n.ucfirst(t[i])),e+=t[i]}r[e]=s.value}}return r},unwrapChildNodes(e){if(null===e.parentNode)throw new Error("The element has no parent.");const t=e.parentNode;for(;e.childNodes.length;)t.insertBefore(e.childNodes[0],e);e.remove()},replaceElement(e,t){if(null===e.parentNode)throw new Error("The old element has no parent.");for(;e.childNodes.length;)t.appendChild(e.childNodes[0]);e.parentNode.insertBefore(t,e),e.remove()},isAtNodeStart:(e,t)=>o(e,t,"previous"),isAtNodeEnd:(e,t)=>o(e,t,"next"),getFixedParent(e){for(;e&&e!==document.body;){if("fixed"===window.getComputedStyle(e).getPropertyValue("position"))return e;e=e.offsetParent}return null},hide(e){e.style.setProperty("display","none","")},show(e){e.style.removeProperty("display")},isHidden:e=>"none"===e.style.getPropertyValue("display"),toggle(e){this.isHidden(e)?this.show(e):this.hide(e)},innerError(e,t,i){const n=e.parentNode;if(null===n)throw new Error("Only elements that have a parent element or document are valid.");if("string"!=typeof t){if(t)throw new TypeError("The error message must be a string; `false`, `null` or `undefined` can be used as a substitute for an empty string.");t=""}let o=n,r=e;o.classList.contains("inputAddon")&&(o=n.parentElement,r=n);let a=r.nextElementSibling;return null!==a&&"SMALL"===a.nodeName&&a.classList.contains("innerError")||(""===t?a=null:(a=document.createElement("small"),a.className="innerError",o.insertBefore(a,r.nextSibling))),""===t?null!==a&&(a.remove(),a=null):i?a.innerHTML=t:a.textContent=t,a},innerSuccess(e,t,i){const n=e.parentNode;if(null===n)throw new Error("Only elements that have a parent element or document are valid.");if("string"!=typeof t){if(t)throw new TypeError("The message must be a string; `false`, `null` or `undefined` can be used as a substitute for an empty string.");t=""}let o=e.nextElementSibling;return null!==o&&"SMALL"===o.nodeName&&o.classList.contains("innerSuccess")||(""===t?o=null:(o=document.createElement("small"),o.className="innerSuccess",n.insertBefore(o,e.nextSibling))),""===t?null!==o&&(o.remove(),o=null):i?o.innerHTML=t:o.textContent=t,o},closest:(e,t)=>(e instanceof HTMLElement?e:e.parentElement).closest(t),getClosestElement:e=>e instanceof HTMLElement?e:e.parentElement};return window.bc_wcfDomUtil=a,a})),define("WoltLabSuite/Core/Ajax/Request",["require","exports","tslib","./Status","../Core","../Dom/Change/Listener","../Dom/Util","../Language"],(function(e,t,i,n,o,r,a,s){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importDefault(a),s=i.__importStar(s);let l=!1,c=!1;class d{constructor(e){this._options=o.extend({data:{},contentType:"application/x-www-form-urlencoded; charset=UTF-8",responseType:"application/json",type:"POST",url:"",withCredentials:!1,autoAbort:!1,ignoreError:!1,pinData:!1,silent:!1,includeRequestedWith:!0,failure:null,finalize:null,success:null,progress:null,uploadProgress:null,callbackObject:null},e),"object"==typeof e.callbackObject&&(this._options.callbackObject=e.callbackObject),this._options.url=o.convertLegacyUrl(this._options.url),0===this._options.url.indexOf("index.php")&&(this._options.url=window.WSC_API_URL+this._options.url),0===this._options.url.indexOf(window.WSC_API_URL)&&(this._options.includeRequestedWith=!0,this._options.withCredentials=!0),this._options.pinData&&(this._data=this._options.data),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)),"function"==typeof this._options.callbackObject._ajaxProgress&&(this._options.progress=this._options.callbackObject._ajaxProgress.bind(this._options.callbackObject)),"function"==typeof this._options.callbackObject._ajaxUploadProgress&&(this._options.uploadProgress=this._options.callbackObject._ajaxUploadProgress.bind(this._options.callbackObject))),l||(l=!0,window.addEventListener("beforeunload",(()=>c=!0)))}sendRequest(e){(e||this._options.autoAbort)&&this.abortPrevious(),this._options.silent||n.show(),this._xhr instanceof XMLHttpRequest&&(this._previousXhr=this._xhr),this._xhr=new XMLHttpRequest,this._xhr.open(this._options.type,this._options.url,!0),this._options.contentType&&this._xhr.setRequestHeader("Content-Type",this._options.contentType),(this._options.withCredentials||this._options.includeRequestedWith)&&this._xhr.setRequestHeader("X-Requested-With","XMLHttpRequest"),this._options.withCredentials&&(this._xhr.withCredentials=!0);const t=o.clone(this._options),i=this._xhr;if(i.onload=()=>{i.readyState===XMLHttpRequest.DONE&&(i.status>=200&&i.status<300||304===i.status?t.responseType&&0!==i.getResponseHeader("Content-Type").indexOf(t.responseType)?this._failure(i,t):this._success(i,t):this._failure(i,t))},i.onerror=()=>{this._failure(i,t)},this._options.progress&&(i.onprogress=this._options.progress),this._options.uploadProgress&&(i.upload.onprogress=this._options.uploadProgress),"POST"===this._options.type){let e=this._options.data;"object"==typeof e&&"FormData"!==o.getType(e)&&(e=o.serialize(e)),i.send(e)}else i.send()}abortPrevious(){this._previousXhr&&(this._previousXhr.abort(),this._previousXhr=void 0,this._options.silent||n.hide())}setOption(e,t){this._options[e]=t}getOption(e){return Object.prototype.hasOwnProperty.call(this._options,e)?this._options[e]:null}setData(e){null!==this._data&&"FormData"!==o.getType(e)&&(e=o.extend(this._data,e)),this._options.data=e}_success(t,o){if(o.silent||n.hide(),"function"==typeof o.success){let n=null;if("application/json"===t.getResponseHeader("Content-Type").split(";",1)[0].trim()){try{n=JSON.parse(t.responseText)}catch(e){return void this._failure(t,o)}n&&n.returnValues&&void 0!==n.returnValues.template&&(n.returnValues.template=n.returnValues.template.trim()),n&&n.forceBackgroundQueuePerform&&new Promise(((t,i)=>{e(["../BackgroundQueue"],t,i)})).then(i.__importStar).then((e=>e.invoke()))}o.success(n,t.responseText,t,o.data)}this._finalize(o)}_failure(t,o){if(c)return;o.silent||n.hide();let r=null;try{r=JSON.parse(t.responseText)}catch(e){}let l=!0;if("function"==typeof o.failure){l=!1!==o.failure(r||{},t.responseText||"",t,o.data)}if(!0!==o.ignoreError&&l){const n=this.getErrorHtml(r,t);n&&new Promise(((t,i)=>{e(["../Ui/Dialog"],t,i)})).then(i.__importStar).then((e=>{e.openStatic(a.default.getUniqueId(),n,{title:s.get("wcf.global.error.title")})}))}this._finalize(o)}getErrorHtml(e,t){let i,n="";if(null!==e&&Object.keys(e).length>0?(e.returnValues&&e.returnValues.description&&(n+=`<br><p>Description:</p><p>${e.returnValues.description}</p>`),e.file&&e.line&&(n+=`<br><p>File:</p><p>${e.file} in line ${e.line}</p>`),e.stacktrace?n+=`<br><p>Stacktrace:</p><p>${e.stacktrace}</p>`:e.exceptionID&&(n+=`<br><p>Exception ID: <code>${e.exceptionID}</code></p>`),i=e.message,e.previous.forEach((e=>{n+=`<hr><p>${e.message}</p>`,n+=`<br><p>Stacktrace</p><p>${e.stacktrace}</p>`}))):i=t.responseText,!i||"undefined"===i){if(!window.ENABLE_DEBUG_MODE)return null;i="XMLHttpRequest failed without a responseText. Check your browser console."}return`<div class="ajaxDebugMessage"><p>${i}</p>${n}</div>`}_finalize(e){"function"==typeof e.finalize&&e.finalize(this._xhr),this._previousXhr=void 0,r.default.trigger(),document.querySelectorAll('a[href*="#"]').forEach((e=>{let t=e.href;-1===t.indexOf("AJAXProxy")&&-1===t.indexOf("ajax-proxy")||(t=t.substr(t.indexOf("#")),e.href=document.location.toString().replace(/#.*/,"")+t)}))}}return o.enableLegacyInheritance(d),d})),define("WoltLabSuite/Core/Ajax",["require","exports","tslib","./Ajax/Request"],(function(e,t,i,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getRequestObject=t.apiOnce=t.api=void 0,n=i.__importDefault(n);const o=new WeakMap;t.api=function(e,t,i,r){"object"!=typeof t&&(t={});let a=o.get(e);if(void 0===a){if("function"!=typeof e._ajaxSetup)throw new TypeError("Callback object must implement at least _ajaxSetup().");const t=e._ajaxSetup();t.pinData=!0,t.callbackObject=e,t.url||(t.url="index.php?ajax-proxy/&t="+window.SECURITY_TOKEN,t.withCredentials=!0),a=new n.default(t),o.set(e,a)}let s=null,l=null;return"function"==typeof i&&(s=a.getOption("success"),a.setOption("success",i)),"function"==typeof r&&(l=a.getOption("failure"),a.setOption("failure",r)),a.setData(t),a.sendRequest(),null!==s&&a.setOption("success",s),null!==l&&a.setOption("failure",l),a},t.apiOnce=function(e){e.pinData=!1,e.callbackObject=null,e.url||(e.url="index.php?ajax-proxy/&t="+window.SECURITY_TOKEN,e.withCredentials=!0),new n.default(e).sendRequest(!1)},t.getRequestObject=function(e){if(!o.has(e))throw new Error("Expected a previously used callback object, provided object is unknown.");return o.get(e)}})),define("WoltLabSuite/Core/BackgroundQueue",["require","exports","tslib","./Ajax"],(function(e,t,i,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.invoke=t.setUrl=void 0,n=i.__importStar(n);class o{constructor(e){this._invocations=0,this._isBusy=!1,this._url=e}invoke(){this._isBusy||(this._isBusy=!0,n.api(this))}_ajaxSuccess(e){this._invocations++,e>0&&this._invocations<5?window.setTimeout((()=>{this._isBusy=!1,this.invoke()}),1e3):(this._isBusy=!1,this._invocations=0)}_ajaxSetup(){return{url:this._url,ignoreError:!0,silent:!0}}}let r;t.setUrl=function(e){r||(r=new o(e))},t.invoke=function(){r?r.invoke():console.error("The background queue has not been initialized yet.")}})),define("WoltLabSuite/Core/Date/Util",["require","exports","tslib","../Language"],(function(e,t,i,n){"use strict";function o(e){return a(e,n.get("wcf.date.dateFormat"))}function r(e){return a(e,n.get("wcf.date.timeFormat"))}function a(e,t){"c"===t&&(t="Y-m-dTH:i:sP");let i="";for(let o=0,r=t.length;o<r;o++){let a;switch(t[o]){case"s":a=e.getSeconds().toString().padStart(2,"0");break;case"i":a=e.getMinutes().toString().padStart(2,"0");break;case"a":a=e.getHours()>11?"pm":"am";break;case"g":{const t=e.getHours();a=0===t?"12":t>12?(t-12).toString():t.toString();break}case"h":{const t=e.getHours();a=0===t?"12":t>12?(t-12).toString():t.toString(),a=a.padStart(2,"0");break}case"A":a=e.getHours()>11?"PM":"AM";break;case"G":a=e.getHours().toString();break;case"H":a=e.getHours().toString().padStart(2,"0");break;case"d":a=e.getDate().toString().padStart(2,"0");break;case"j":a=e.getDate().toString();break;case"l":a=n.get("__days")[e.getDay()];break;case"D":a=n.get("__daysShort")[e.getDay()];break;case"S":a="";break;case"m":a=(e.getMonth()+1).toString().padStart(2,"0");break;case"n":a=(e.getMonth()+1).toString();break;case"F":a=n.get("__months")[e.getMonth()];break;case"M":a=n.get("__monthsShort")[e.getMonth()];break;case"y":a=e.getFullYear().toString().slice(-2);break;case"Y":a=e.getFullYear().toString();break;case"P":{let t=e.getTimezoneOffset();a=t>0?"-":"+",t=Math.abs(t),a+=(~~(t/60)).toString().padStart(2,"0"),a+=":",a+=(t%60).toString().padStart(2,"0");break}case"r":a=e.toString();break;case"U":a=Math.round(e.getTime()/1e3).toString();break;case"\\":a="",o+1<r&&(a=t[++o]);break;default:a=t[o]}i+=a}return i}Object.defineProperty(t,"__esModule",{value:!0}),t.getTimezoneDate=t.getTimeElement=t.gmdate=t.format=t.formatDateTime=t.formatTime=t.formatDate=void 0,n=i.__importStar(n),t.formatDate=o,t.formatTime=r,t.formatDateTime=function(e){const t=n.get("wcf.date.dateTimeFormat"),i=n.get("wcf.date.dateFormat"),o=n.get("wcf.date.timeFormat");return a(e,t.replace(/%date%/,i).replace(/%time%/,o))},t.format=a,t.gmdate=function(e){return e instanceof Date||(e=new Date),Math.round(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDay(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds())/1e3)},t.getTimeElement=function(e){const t=document.createElement("time");t.className="datetime";const i=o(e),s=r(e);return t.setAttribute("datetime",a(e,"c")),t.dataset.timestamp=((e.getTime()-e.getMilliseconds())/1e3).toString(),t.dataset.date=i,t.dataset.time=s,t.dataset.offset=(60*e.getTimezoneOffset()).toString(),e.getTime()>Date.now()&&(t.dataset.isFutureDate="true",t.textContent=n.get("wcf.date.dateTimeFormat").replace("%time%",s).replace("%date%",i)),t},t.getTimezoneDate=function(e,t){const i=6e4*new Date(e).getTimezoneOffset();return new Date(e+i+t)}})),define("WoltLabSuite/Core/Devtools",["require","exports"],(function(e,t){"use strict";function i(){window.sessionStorage&&window.sessionStorage.setItem("__wsc_devtools_config",JSON.stringify(n))}let n={editorAutosave:!0,eventLogging:!1};const o={help(){window.console.log(""),window.console.log("%cAvailable commands:","text-decoration: underline"),Object.keys(o).filter((e=>"_internal_"!==e)).sort().forEach((e=>{window.console.log(`\tDevtools.${e}()`)})),window.console.log("")},toggleEditorAutosave(e){n.editorAutosave=!e&&!n.editorAutosave,i(),window.console.log("%c\tEditor autosave "+(n.editorAutosave?"enabled":"disabled"),"font-style: italic")},toggleEventLogging(e){n.eventLogging=!!e||!n.eventLogging,i(),window.console.log("%c\tEvent logging "+(n.eventLogging?"enabled":"disabled"),"font-style: italic")},_internal_:{enable(){if(window.Devtools=o,window.console.log("%cDevtools for WoltLab Suite loaded","font-weight: bold"),window.sessionStorage){const e=window.sessionStorage.getItem("__wsc_devtools_config");try{null!==e&&(n=JSON.parse(e))}catch(e){}n.editorAutosave||o.toggleEditorAutosave(!0),n.eventLogging&&o.toggleEventLogging(!0)}window.console.log("Settings are saved per browser session, enter `Devtools.help()` to learn more."),window.console.log("")},editorAutosave:()=>n.editorAutosave,eventLog(e,t){n.eventLogging&&window.console.log("[Devtools.EventLogging] Firing event: "+t+" @ "+e)}}};return o})),define("WoltLabSuite/Core/Event/Handler",["require","exports","tslib","../Core","../Devtools"],(function(e,t,i,n,o){"use strict";function r(e,t){"string"!=typeof t&&(t=void 0);const i=a.get(e);void 0!==i&&(void 0===t?a.delete(e):i.delete(t))}Object.defineProperty(t,"__esModule",{value:!0}),t.removeAllBySuffix=t.removeAll=t.remove=t.fire=t.add=void 0,n=i.__importStar(n),o=i.__importDefault(o);const a=new Map;t.add=function(e,t,i){if("function"!=typeof i)throw new TypeError(`Expected a valid callback for '${t}'@'${e}'.`);let o=a.get(e);void 0===o&&(o=new Map,a.set(e,o));let r=o.get(t);void 0===r&&(r=new Map,o.set(t,r));const s=n.getUuid();return r.set(s,i),s},t.fire=function(e,t,i){var n,r;o.default._internal_.eventLog(e,t),i=i||{},null===(r=null===(n=a.get(e))||void 0===n?void 0:n.get(t))||void 0===r||r.forEach((e=>e(i)))},t.remove=function(e,t,i){var n,o;null===(o=null===(n=a.get(e))||void 0===n?void 0:n.get(t))||void 0===o||o.delete(i)},t.removeAll=r,t.removeAllBySuffix=function(e,t){const i=a.get(e);if(void 0===i)return;const n=-1*(t="_"+t).length;i.forEach(((i,o)=>{o.substr(n)===t&&r(e,o)}))}})),define("WoltLabSuite/Core/Dom/Traverse",["require","exports"],(function(e,t){"use strict";function i(e,t,i){if(!(e instanceof Element))throw new TypeError("Expected a valid element as first argument.");const n=[];for(let o=0;o<e.childElementCount;o++)r.get(t)(e.children[o],i)&&n.push(e.children[o]);return n}function n(e,t,i,n){if(!(e instanceof Element))throw new TypeError("Expected a valid element as first argument.");let o=e.parentNode;for(;o instanceof Element;){if(o===n)return null;if(r.get(t)(o,i))return o;o=o.parentNode}return null}function o(e,t,i,n){if(!(e instanceof Element))throw new TypeError("Expected a valid element as first argument.");return e instanceof Element&&null!==e[t]&&r.get(i)(e[t],n)?e[t]:null}Object.defineProperty(t,"__esModule",{value:!0}),t.prevByTag=t.prevByClass=t.prevBySel=t.prev=t.nextByTag=t.nextByClass=t.nextBySel=t.next=t.parentByTag=t.parentByClass=t.parentBySel=t.childrenByTag=t.childrenByClass=t.childrenBySel=t.childByTag=t.childByClass=t.childBySel=void 0;const r=new Map([[0,()=>!0],[1,(e,t)=>e.matches(t)],[2,(e,t)=>e.classList.contains(t)],[3,(e,t)=>e.nodeName===t]]);t.childBySel=function(e,t){return i(e,1,t)[0]||null},t.childByClass=function(e,t){return i(e,2,t)[0]||null},t.childByTag=function(e,t){return i(e,3,t)[0]||null},t.childrenBySel=function(e,t){return i(e,1,t)},t.childrenByClass=function(e,t){return i(e,2,t)},t.childrenByTag=function(e,t){return i(e,3,t)},t.parentBySel=function(e,t,i){return n(e,1,t,i)},t.parentByClass=function(e,t,i){return n(e,2,t,i)},t.parentByTag=function(e,t,i){return n(e,3,t,i)},t.next=function(e){return o(e,"nextElementSibling",0,"")},t.nextBySel=function(e,t){return o(e,"nextElementSibling",1,t)},t.nextByClass=function(e,t){return o(e,"nextElementSibling",2,t)},t.nextByTag=function(e,t){return o(e,"nextElementSibling",3,t)},t.prev=function(e){return o(e,"previousElementSibling",0,"")},t.prevBySel=function(e,t){return o(e,"previousElementSibling",1,t)},t.prevByClass=function(e,t){return o(e,"previousElementSibling",2,t)},t.prevByTag=function(e,t){return o(e,"previousElementSibling",3,t)}})),define("WoltLabSuite/Core/Ui/Alignment",["require","exports","tslib","../Core","../Dom/Traverse","../Dom/Util","../Language"],(function(e,t,i,n,o,r,a){"use strict";function s(e,t,i,n,o,r){let a="auto",s="auto",l=!0,c=50;const d=document.getElementById("pageHeaderPanel");if(null!==d){const e=window.getComputedStyle(d).position;c="fixed"===e||"static"===e?d.offsetHeight:0}if("top"===e){const e=document.body.clientHeight;a=e-n.top+r,e-(a+t.height)<(window.scrollY||window.pageYOffset)+c&&(l=!1)}else s=n.top+i.height+r,s+t.height-(window.scrollY||window.pageYOffset)>o&&(l=!1);return{align:e,bottom:a,top:s,result:l}}function l(e,t,i,n,o){let r="auto",a="auto",s=!0;return"left"===e?(r=n.left,r+t.width>o&&(s=!1)):"right"===e?n.left+i.width<t.width?s=!1:(a=o-(n.left+i.width),a<0&&(s=!1)):(r=n.left+i.width/2-t.width/2,r=~~r,(r<0||r+t.width>o)&&(s=!1)),{align:e,left:r,right:a,result:s}}Object.defineProperty(t,"__esModule",{value:!0}),t.set=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importStar(a),t.set=function(e,t,i){i=n.extend({verticalOffset:0,pointer:!1,pointerClassNames:[],refDimensionsElement:null,horizontal:"left",vertical:"bottom",allowFlip:"both"},i||{}),Array.isArray(i.pointerClassNames)&&i.pointerClassNames.length===(i.pointer?1:2)||(i.pointerClassNames=[]),-1===["left","right","center"].indexOf(i.horizontal)&&(i.horizontal="left"),"bottom"!==i.vertical&&(i.vertical="top"),-1===["both","horizontal","vertical","none"].indexOf(i.allowFlip)&&(i.allowFlip="both"),r.default.setStyles(e,{bottom:"auto !important",left:"0 !important",right:"auto !important",top:"0 !important",visibility:"hidden !important"});const c=r.default.outerDimensions(e),d=r.default.outerDimensions(i.refDimensionsElement instanceof HTMLElement?i.refDimensionsElement:t),u=r.default.offset(t),h=window.innerHeight,p=document.body.clientWidth;let m=null,f=!1;if("center"===i.horizontal&&(f=!0,m=l(i.horizontal,c,d,u,p),m.result||("both"===i.allowFlip||"horizontal"===i.allowFlip?i.horizontal="left":m.result=!0)),"rtl"===a.get("wcf.global.pageDirection")&&(i.horizontal="left"===i.horizontal?"right":"left"),null===m||!m.result){const e=m;if(m=l(i.horizontal,c,d,u,p),!m.result&&("both"===i.allowFlip||"horizontal"===i.allowFlip)){const t=l("left"===i.horizontal?"right":"left",c,d,u,p);t.result?m=t:f&&(m=e)}}const g=m.left,b=m.right;let _=s(i.vertical,c,d,u,h,i.verticalOffset);if(!_.result&&("both"===i.allowFlip||"vertical"===i.allowFlip)){const e=s("top"===i.vertical?"bottom":"top",c,d,u,h,i.verticalOffset);e.result&&(_=e)}const v=_.bottom,w=_.top;if(i.pointer){const t=o.childrenByClass(e,"elementPointer")[0]||null;if(null===t)throw new Error("Expected the .elementPointer element to be a direct children.");"center"===m.align?(t.classList.add("center"),t.classList.remove("left","right")):(t.classList.add(m.align),t.classList.remove("center"),t.classList.remove("left"===m.align?"right":"left")),"top"===_.align?t.classList.add("flipVertical"):t.classList.remove("flipVertical")}else 2===i.pointerClassNames.length&&(e.classList["auto"===w?"add":"remove"](i.pointerClassNames[0]),e.classList["auto"===g?"add":"remove"](i.pointerClassNames[1]));r.default.setStyles(e,{bottom:"auto"===v?v:Math.round(v).toString()+"px",left:"auto"===g?g:Math.ceil(g).toString()+"px",right:"auto"===b?b:Math.floor(b).toString()+"px",top:"auto"===w?w:Math.round(w).toString()+"px"}),r.default.show(e),e.style.removeProperty("visibility")}})),define("WoltLabSuite/Core/Ui/CloseOverlay",["require","exports","tslib","../CallbackList"],(function(e,t,i,n){"use strict";const o=new((n=i.__importDefault(n)).default),r={add:o.add.bind(o),remove:o.remove.bind(o),execute(){o.forEach(null,(e=>e()))}};return document.body.addEventListener("click",(()=>r.execute())),r})),define("WoltLabSuite/Core/Date/Picker",["require","exports","tslib","../Core","./Util","../Dom/Change/Listener","../Event/Handler","../Language","../Ui/Alignment","../Ui/CloseOverlay","../Dom/Util"],(function(e,t,i,n,o,r,a,s,l,c,d){"use strict";function u(e,t,i){const n=i?"minDate":"maxDate";let o=(e.dataset[n]||"").trim();if(/^(\d{4})-(\d{2})-(\d{2})$/.exec(o))o=new Date(o).getTime().toString();else if("now"===o)o=t.getTime().toString();else if(/^\d{1,3}$/.exec(o)){const e=new Date(t.getTime());e.setFullYear(e.getFullYear()+~~o*(i?-1:1)),o=e.getTime().toString()}else if(/^datePicker-(.+)$/.exec(o)){if(o=RegExp.$1,null===document.getElementById(o))throw new Error("Reference date picker identified by '"+o+"' does not exists (element id: '"+e.id+"').")}else o=/^\d{4}-\d{2}-\d{2}T/.test(o)?new Date(o).getTime().toString():new Date(i?1902:2038,0,1).getTime().toString();e.dataset[n]=o}function h(e){let t=k.dataset[e]||"";if(/^datePicker-(.+)$/.exec(t)){const e=document.getElementById(RegExp.$1);if(null===e)throw new Error(`Unable to find an element with the id '${RegExp.$1}'.`);t=e.dataset.value||""}return new Date(parseInt(t,10))}function p(e){e.preventDefault(),e.stopPropagation(),function(){if(null!==U)return;U=document.createElement("div"),U.className="datePicker",U.addEventListener("click",(e=>{e.stopPropagation()}));const e=document.createElement("header");U.appendChild(e),N=document.createElement("a"),N.className="previous jsTooltip",N.href="#",N.setAttribute("role","button"),N.tabIndex=0,N.title=s.get("wcf.date.datePicker.previousMonth"),N.setAttribute("aria-label",s.get("wcf.date.datePicker.previousMonth")),N.innerHTML='<span class="icon icon16 fa-arrow-left"></span>',N.addEventListener("click",(e=>F.previousMonth(e))),e.appendChild(N);const t=document.createElement("span");e.appendChild(t),B=document.createElement("select"),B.className="month jsTooltip",B.title=s.get("wcf.date.datePicker.month"),B.setAttribute("aria-label",s.get("wcf.date.datePicker.month")),B.addEventListener("change",_),t.appendChild(B);let i="";const n=s.get("__monthsShort");for(let e=0;e<12;e++)i+=`<option value="${e}">${n[e]}</option>`;B.innerHTML=i,O=document.createElement("select"),O.className="year jsTooltip",O.title=s.get("wcf.date.datePicker.year"),O.setAttribute("aria-label",s.get("wcf.date.datePicker.year")),O.addEventListener("change",v),t.appendChild(O),P=document.createElement("a"),P.className="next jsTooltip",P.href="#",P.setAttribute("role","button"),P.tabIndex=0,P.title=s.get("wcf.date.datePicker.nextMonth"),P.setAttribute("aria-label",s.get("wcf.date.datePicker.nextMonth")),P.innerHTML='<span class="icon icon16 fa-arrow-right"></span>',P.addEventListener("click",(e=>F.nextMonth(e))),e.appendChild(P),T=document.createElement("ul"),U.appendChild(T);const r=document.createElement("li");r.className="weekdays",T.appendChild(r);const a=s.get("__daysShort");for(let e=0;e<7;e++){let t=e+L;t>6&&(t-=7);const i=document.createElement("span");i.textContent=a[t],r.appendChild(i)}for(let e=0;e<6;e++){const e=document.createElement("li");T.appendChild(e);for(let t=0;t<7;t++){const t=document.createElement("a");t.addEventListener("click",w),D.push(t),e.appendChild(t)}}q=document.createElement("footer"),U.appendChild(q),M=document.createElement("select"),M.className="hour",M.title=s.get("wcf.date.datePicker.hour"),M.setAttribute("aria-label",s.get("wcf.date.datePicker.hour")),M.addEventListener("change",b);const l=new Date(2e3,0,1),c=s.get("wcf.date.timeFormat").replace(/:/,"").replace(/[isu]/g,"");let d="";for(let e=0;e<24;e++)l.setHours(e),d+=`<option value="${e}">${o.format(l,c)}</option>`;M.innerHTML=d,q.appendChild(M),q.appendChild(document.createTextNode(" : ")),j=document.createElement("select"),j.className="minute",j.title=s.get("wcf.date.datePicker.minute"),j.setAttribute("aria-label",s.get("wcf.date.datePicker.minute")),j.addEventListener("change",b),d="";for(let e=0;e<60;e++){const t=e<10?"0"+e.toString():e;d+=`<option value="${e}">${t}</option>`}j.innerHTML=d,q.appendChild(j),document.body.appendChild(U),document.body.addEventListener("focus",E,{capture:!0})}();const t=e.currentTarget,i="INPUT"===t.nodeName?t:t.previousElementSibling;if(i===k)return void m();const r=i.closest(".dialogContent");null!==r&&(n.stringToBool(r.dataset.hasDatepickerScrollListener||"")||(r.addEventListener("scroll",f),r.dataset.hasDatepickerScrollListener="1")),k=i;const a=A.get(k),c=k.dataset.value;let d;c?(d=new Date(parseInt(c,10)),"Invalid Date"===d.toString()&&(d=new Date)):d=new Date,x=h("minDate"),x.getTime()>d.getTime()&&(d=x),I=h("maxDate"),a.isDateTime?(M.value=d.getHours().toString(),j.value=d.getMinutes().toString(),U.classList.add("datePickerTime")):U.classList.remove("datePickerTime"),U.classList[a.isTimeOnly?"add":"remove"]("datePickerTimeOnly"),function(e,t,i){g(e,t,i);let n="";for(let e=x.getFullYear(),t=I.getFullYear();e<=t;e++)n+=`<option value="${e}">${e}</option>`;O.innerHTML=n,O.value=i.toString(),B.value=t.toString(),U.classList.add("active")}(d.getDate(),d.getMonth(),d.getFullYear()),l.set(U,k),k.nextElementSibling.setAttribute("aria-expanded","true"),C=!1}function m(){if(null===U||!U.classList.contains("active"))return;U.classList.remove("active");const e=A.get(k);"function"==typeof e.onClose&&e.onClose(),a.fire("WoltLabSuite/Core/Date/Picker","close",{element:k});k.nextElementSibling.setAttribute("aria-expanded","false"),k=null}function f(e){if(null===k)return;const t=e.currentTarget,i=d.default.offset(k),n=d.default.offset(t);i.top+k.clientHeight<=n.top||i.top>=n.top+t.offsetHeight||i.left<=n.left||i.left>=n.left+t.offsetWidth?m():l.set(U,k)}function g(e,t,i){const n=void 0!==e,r=void 0!==t;if("number"!=typeof e&&(e=parseInt(e||T.dataset.day||"0",10)),"number"!=typeof t&&(t=parseInt(t||"0",10)),"number"!=typeof i&&(i=parseInt(i||"0",10)),r||i){let a=0!==i;const s=document.createDocumentFragment();s.appendChild(T),r||(t=parseInt(T.dataset.month,10)),i||(i=parseInt(T.dataset.year,10));let l,c=new Date(i.toString()+"-"+("0"+(t+1).toString()).slice(-2)+"-"+("0"+e.toString()).slice(-2));for(c<x?(i=x.getFullYear(),t=x.getMonth(),e=x.getDate(),B.value=t.toString(),O.value=i.toString(),a=!0):c>I&&(i=I.getFullYear(),t=I.getMonth(),e=I.getDate(),B.value=t.toString(),O.value=i.toString(),a=!0),c=new Date(i.toString()+"-"+("0"+(t+1).toString()).slice(-2)+"-01");c.getDay()!==L;)c.setDate(c.getDate()-1);d.default.show(D[35].parentNode);const u=new Date(x.getFullYear(),x.getMonth(),x.getDate());for(let e=0;e<42;e++){if(35===e&&c.getMonth()!==t){d.default.hide(D[35].parentNode);break}const i=D[e];i.textContent=c.getDate().toString(),l=c.getMonth()===t,l&&(c<u||c>I)&&(l=!1),i.classList[l?"remove":"add"]("otherMonth"),l&&(i.href="#",i.setAttribute("role","button"),i.tabIndex=0,i.title=o.formatDate(c),i.setAttribute("aria-label",o.formatDate(c))),c.setDate(c.getDate()+1)}if(T.dataset.month=t.toString(),T.dataset.year=i.toString(),U.insertBefore(s,q),!n&&(c=new Date(i,t,e),c.getDate()!==e)){for(;c.getMonth()!==t;)c.setDate(c.getDate()-1);e=c.getDate()}if(a){for(let e=0;e<12;e++){const t=B.children[e];t.disabled=i===x.getFullYear()&&+t.value<x.getMonth()||i===I.getFullYear()&&+t.value>I.getMonth()}const e=new Date(i.toString()+"-"+("0"+(t+1).toString()).slice(-2)+"-01");e.setMonth(e.getMonth()+1),P.classList[e<I?"add":"remove"]("active");const n=new Date(i.toString()+"-"+("0"+(t+1).toString()).slice(-2)+"-01");n.setDate(n.getDate()-1),N.classList[n>x?"add":"remove"]("active")}}if(e){for(let t=0;t<35;t++){const i=D[t];i.classList[i.classList.contains("otherMonth")||+i.textContent!==e?"remove":"add"]("active")}T.dataset.day=e.toString()}b()}function b(){const e=A.get(k);let t;n.stringToBool(k.dataset.empty||"")||(t=e.isDateTime?new Date(+T.dataset.year,+T.dataset.month,+T.dataset.day,+M.value,+j.value):new Date(+T.dataset.year,+T.dataset.month,+T.dataset.day),F.setDate(k,t))}function _(e){g(void 0,+e.currentTarget.value)}function v(e){g(void 0,void 0,+e.currentTarget.value)}function w(e){e.preventDefault();const t=e.currentTarget;if(t.classList.contains("otherMonth"))return;k.dataset.empty="false",g(+t.textContent);A.get(k).isDateTime||m()}function y(e){if("string"==typeof e&&(e=document.getElementById(e)),!(e instanceof HTMLInputElement&&e.classList.contains("inputDatePicker")&&A.has(e)))throw new Error("Expected a valid date picker input element or id.");return e}function E(e){if(null!==U&&U.classList.contains("active"))if(U.contains(e.target))C=!0;else if(C){k.nextElementSibling.focus(),C=!1}else U.querySelector(".previous").focus()}n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importStar(l),c=i.__importDefault(c),d=i.__importDefault(d);let S=!1,L=0,C=!1;const A=new Map;let I,x,k=null;const D=[];let T,M,j,B,P,N,q,O,U=null;const F={init(){S||(S=!0,L=parseInt(s.get("wcf.date.firstDayOfTheWeek"),10),r.default.add("WoltLabSuite/Core/Date/Picker",(()=>F.init())),c.default.add("WoltLabSuite/Core/Date/Picker",(()=>m())));const e=new Date;document.querySelectorAll('input[type="date"]:not(.inputDatePicker), input[type="datetime"]:not(.inputDatePicker)').forEach((t=>{t.classList.add("inputDatePicker"),t.readOnly=!0;const i="datetime"===t.getAttribute("type"),r=i&&n.stringToBool(t.dataset.timeOnly||""),a=n.stringToBool(t.dataset.disableClear||""),l=i&&n.stringToBool(t.dataset.ignoreTimezone||""),c=t.classList.contains("birthday");t.dataset.isDateTime=i?"true":"false",t.dataset.isTimeOnly=r?"true":"false";let d=null,h=t.value;h||(h=t.getAttribute("value")||"");const m=/^\d+-\d+-\d+$/.test(h);if(h){if(r){d=new Date;const e=h.split(":");d.setHours(+e[0],+e[1])}else{if(l||c||m){let e=new Date(h).getTimezoneOffset(),t=e>0?"-":"+";e=Math.abs(e);const i=Math.floor(e/60).toString(),n=(e%60).toString();t+=2===i.length?i:"0"+i,t+=":",t+=2===n.length?n:"0"+n,c||m?h+="T00:00:00"+t:h=h.replace(/[+-][0-9]{2}:[0-9]{2}$/,t)}d=new Date(h)}const e=d.getTime();isNaN(e)?h="":(t.dataset.value=e.toString(),h=r?o.formatTime(d):i?o.formatDateTime(d):o.formatDate(d))}const f=0===h.length;if(c?(t.dataset.minDate="120",t.dataset.maxDate=(new Date).getFullYear().toString()+"-12-31"):(t.min&&(t.dataset.minDate=t.min),t.max&&(t.dataset.maxDate=t.max)),u(t,e,!0),u(t,e,!1),(t.dataset.minDate||"")===(t.dataset.maxDate||""))throw new Error("Minimum and maximum date cannot be the same (element id '"+t.id+"').");t.type="text",t.value=h,t.dataset.empty=f?"true":"false";const g=t.dataset.placeholder||"";g&&(t.placeholder=g);const b=document.createElement("input");b.id=t.id+"DatePicker",b.name=t.name,b.type="hidden",null!==d&&(b.value=r?o.format(d,"H:i"):l?o.format(d,"Y-m-dTH:i:s"):o.format(d,i?"c":"Y-m-d")),t.parentNode.insertBefore(b,t),t.removeAttribute("name"),t.addEventListener("click",p);let _=null;if(!t.disabled){const e=document.createElement("div");e.className="inputAddon";const i=document.createElement("a");i.className="inputSuffix button jsTooltip",i.href="#",i.setAttribute("role","button"),i.tabIndex=0,i.title=s.get("wcf.date.datePicker"),i.setAttribute("aria-label",s.get("wcf.date.datePicker")),i.setAttribute("aria-haspopup","true"),i.setAttribute("aria-expanded","false"),i.addEventListener("click",p),e.appendChild(i);let n=document.createElement("span");n.className="icon icon16 fa-calendar",i.appendChild(n),t.parentNode.insertBefore(e,t),e.insertBefore(t,i),a||(_=document.createElement("a"),_.className="inputSuffix button",_.addEventListener("click",(()=>this.clear(t))),f&&_.style.setProperty("visibility","hidden",""),e.appendChild(_),n=document.createElement("span"),n.className="icon icon16 fa-times",_.appendChild(n))}const v=["tiny","short","medium","long"];let w=!1;for(let e=0;e<4;e++)t.classList.contains(v[e])&&(w=!0);w||t.classList.add("short"),A.set(t,{clearButton:_,shadow:b,disableClear:a,isDateTime:i,isEmpty:f,isTimeOnly:r,ignoreTimezone:l,onClose:null})}))},previousMonth(e){e.preventDefault(),"0"===B.value?(B.value="11",O.value=(+O.value-1).toString()):B.value=(+B.value-1).toString(),g(void 0,+B.value,+O.value)},nextMonth(e){e.preventDefault(),"11"===B.value?(B.value="0",O.value=(+O.value+1).toString()):B.value=(+B.value+1).toString(),g(void 0,+B.value,+O.value)},getDate(e){const t=(e=y(e)).dataset.value||"";return t?new Date(+t):null},setDate(e,t){e=y(e);const i=A.get(e);e.dataset.value=t.getTime().toString();let n,r="";i.isDateTime?i.isTimeOnly?(n=o.formatTime(t),r="H:i"):i.ignoreTimezone?(n=o.formatDateTime(t),r="Y-m-dTH:i:s"):(n=o.formatDateTime(t),r="c"):(n=o.formatDate(t),r="Y-m-d"),e.value=n,i.shadow.value=o.format(t,r),i.disableClear||i.clearButton.style.removeProperty("visibility")},getValue(e){e=y(e);const t=A.get(e);return t?t.shadow.value:""},clear(e){e=y(e);const t=A.get(e);e.removeAttribute("data-value"),e.value="",t.disableClear||t.clearButton.style.setProperty("visibility","hidden",""),t.isEmpty=!0,t.shadow.value=""},destroy(e){e=y(e);const t=A.get(e),i=e.parentNode;i.parentNode.insertBefore(e,i),i.remove(),e.setAttribute("type","date"+(t.isDateTime?"time":"")),e.name=t.shadow.name,e.value=t.shadow.value,e.removeAttribute("data-value"),e.removeEventListener("click",p),t.shadow.remove(),e.classList.remove("inputDatePicker"),e.readOnly=!1,A.delete(e)},setCloseCallback(e,t){e=y(e),A.get(e).onClose=t}};return window.__wcf_bc_datePicker=F,F})),define("WoltLabSuite/Core/Timer/Repeating",["require","exports","tslib","../Core"],(function(e,t,i,n){"use strict";n=i.__importStar(n);class o{constructor(e,t){if("function"!=typeof e)throw new TypeError("Expected a valid callback as first argument.");if(t<0||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.restart()}restart(){this.stop(),this._timer=setInterval(this._callback,this._delta)}stop(){void 0!==this._timer&&(clearInterval(this._timer),this._timer=void 0)}setDelta(e){this._delta=e,this.restart()}}return n.enableLegacyInheritance(o),o})),define("WoltLabSuite/Core/Date/Time/Relative",["require","exports","tslib","../../Core","../Util","../../Dom/Change/Listener","../../Language","../../Timer/Repeating"],(function(e,t,i,n,o,r,a,s){"use strict";function l(){document.hidden?(u=!1,h=!1):(u=!0,h&&(c(),h=!1))}function c(){if(!u)return void(h||(h=!0));const e=new Date,t=(e.getTime()-e.getMilliseconds())/1e3;document.querySelectorAll("time").forEach((i=>{!function(e,t,i){if(!e.classList.contains("datetime")||n.stringToBool(e.dataset.isFutureDate||""))return;const r=parseInt(e.dataset.timestamp,10)+d,s=e.dataset.date,l=e.dataset.time,c=e.dataset.offset;e.title||(e.title=a.get("wcf.date.dateTimeFormat").replace(/%date%/,s).replace(/%time%/,l));if(r>=i||i<r+60)e.textContent=a.get("wcf.date.relative.now");else if(i<r+3540){const t=Math.max(Math.round((i-r)/60),1);e.textContent=a.get("wcf.date.relative.minutes",{minutes:t})}else if(i<r+86400){const t=Math.round((i-r)/3600);e.textContent=a.get("wcf.date.relative.hours",{hours:t})}else if(i<r+518400){const i=new Date(t.getFullYear(),t.getMonth(),t.getDate()),n=Math.ceil((i.getTime()/1e3-r)/86400),s=o.getTimezoneDate(1e3*r,1e3*parseInt(c,10)).getDay(),d=a.get("__days")[s];e.textContent=a.get("wcf.date.relative.pastDays",{days:n,day:d,time:l})}else e.textContent=a.get("wcf.date.shortDateTimeFormat").replace(/%date%/,s).replace(/%time%/,l)}(i,e,t)}))}Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importStar(a),s=i.__importDefault(s);let d,u=!0,h=!1;t.setup=function(){d=Math.trunc(Date.now()/1e3-window.TIME_NOW),new s.default(c,6e4),r.default.add("WoltLabSuite/Core/Date/Time/Relative",c),document.addEventListener("visibilitychange",l)}})),define("WoltLabSuite/Core/Environment",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.touch=t.platform=t.editor=t.browser=t.setup=void 0;let i="other",n="none",o="desktop",r=!1;t.setup=function(){if("object"==typeof window.chrome)i="chrome";else{const e=window.getComputedStyle(document.documentElement);for(let t=0,n=e.length;t<n;t++){const n=e[t];0===n.indexOf("-ms-")?i="microsoft":0===n.indexOf("-moz-")?i="firefox":"firefox"!==i&&0===n.indexOf("-webkit-")&&(i="safari")}}const e=window.navigator.userAgent.toLowerCase();-1!==e.indexOf("crios")?(i="chrome",o="ios"):/(?:iphone|ipad|ipod)/.test(e)?(i="safari",o="ios"):-1!==e.indexOf("android")?o="android":-1!==e.indexOf("iemobile")&&(i="microsoft",o="windows"),"desktop"!==o||-1===e.indexOf("mobile")&&-1===e.indexOf("tablet")||(o="mobile"),n="redactor",r="ontouchstart"in window||"msMaxTouchPoints"in window.navigator&&window.navigator.msMaxTouchPoints>0||window.DocumentTouch&&document instanceof window.DocumentTouch,"MacIntel"===window.navigator.platform&&window.navigator.maxTouchPoints>1&&(i="safari",o="ios")},t.browser=function(){return i},t.editor=function(){return n},t.platform=function(){return o},t.touch=function(){return r}})),define("WoltLabSuite/Core/Ui/Screen",["require","exports","tslib","../Core","../Environment"],(function(e,t,i,n,o){"use strict";function r(e){if("string"!=typeof e||""===e.trim())throw new TypeError("Expected a non-empty string for parameter 'query'.");p.has(e)&&(e=p.get(e)),h.has(e)&&(e=h.get(e));let t=s.get(e);return t||(t={callbacksMatch:new Map,callbacksUnmatch:new Map,callbacksSetup:new Map,mql:window.matchMedia(e)},t.mql.addListener(a),s.set(e,t),e!==t.mql.media&&p.set(t.mql.media,e)),t}function a(e){const t=r(e.media);if(e.matches)t.callbacksSetup.size?(t.callbacksSetup.forEach((e=>{e()})),t.callbacksSetup=new Map):t.callbacksMatch.forEach((e=>{e()}));else{if(t.callbacksSetup.size)return;t.callbacksUnmatch.forEach((e=>{e()}))}}Object.defineProperty(t,"__esModule",{value:!0}),t.setDialogContainer=t.pageOverlayIsActive=t.pageOverlayClose=t.pageOverlayOpen=t.scrollEnable=t.scrollDisable=t.is=t.remove=t.on=void 0,n=i.__importStar(n),o=i.__importStar(o);const s=new Map;let l,c=0,d=0,u=0;const h=new Map(Object.entries({"screen-xs":"(max-width: 544px)","screen-sm":"(min-width: 545px) and (max-width: 768px)","screen-sm-down":"(max-width: 768px)","screen-sm-up":"(min-width: 545px)","screen-sm-md":"(min-width: 545px) and (max-width: 1024px)","screen-md":"(min-width: 769px) and (max-width: 1024px)","screen-md-down":"(max-width: 1024px)","screen-md-up":"(min-width: 769px)","screen-lg":"(min-width: 1025px)","screen-lg-only":"(min-width: 1025px) and (max-width: 1280px)","screen-lg-down":"(max-width: 1280px)","screen-xl":"(min-width: 1281px)"})),p=new Map;t.on=function(e,t){const i=n.getUuid(),o=r(e);return"function"==typeof t.match&&o.callbacksMatch.set(i,t.match),"function"==typeof t.unmatch&&o.callbacksUnmatch.set(i,t.unmatch),"function"==typeof t.setup&&(o.mql.matches?t.setup():o.callbacksSetup.set(i,t.setup)),i},t.remove=function(e,t){const i=r(e);i.callbacksMatch.delete(t),i.callbacksUnmatch.delete(t),i.callbacksSetup.delete(t)},t.is=function(e){return r(e).mql.matches},t.scrollDisable=function(){if(0===c){d=document.body.scrollTop,l="body",d||(d=document.documentElement.scrollTop,l="documentElement");const e=document.getElementById("pageContainer");"ios"===o.platform()?(e.style.setProperty("position","relative",""),e.style.setProperty("top",`-${d}px`,"")):e.style.setProperty("margin-top",`-${d}px`,""),document.documentElement.classList.add("disableScrolling")}c++},t.scrollEnable=function(){if(c&&(c--,0===c)){document.documentElement.classList.remove("disableScrolling");const e=document.getElementById("pageContainer");"ios"===o.platform()?(e.style.removeProperty("position"),e.style.removeProperty("top")):e.style.removeProperty("margin-top"),d&&(document[l].scrollTop=~~d)}},t.pageOverlayOpen=function(){0===u&&document.documentElement.classList.add("pageOverlayActive"),u++},t.pageOverlayClose=function(){u&&(u--,0===u&&document.documentElement.classList.remove("pageOverlayActive"))},t.pageOverlayIsActive=function(){return u>0},t.setDialogContainer=function(e){}})),define("WoltLabSuite/Core/Ui/Dropdown/Simple",["require","exports","tslib","../../CallbackList","../../Core","../../Dom/Change/Listener","../../Dom/Traverse","../../Dom/Util","../Alignment","../CloseOverlay"],(function(e,t,i,n,o,r,a,s,l,c){"use strict";function d(e){const t=e.currentTarget,i=t.querySelectorAll(".dropdown.dropdownOpen");for(let e=0,n=i.length;e<n;e++){const n=i[e],o=s.default.identify(n),r=s.default.offset(n),a=s.default.offset(t);r.top+n.clientHeight<=a.top||r.top>=a.top+t.offsetHeight||r.left<=a.left||r.left>=a.left+t.offsetWidth?S.toggleDropdown(o):S.setAlignment(v.get(o),w.get(o))}}function u(){v.forEach(((e,t)=>{if(e.classList.contains("dropdownOpen"))if(o.stringToBool(e.dataset.isOverlayDropdownButton||""))S.setAlignment(e,w.get(t));else{const i=w.get(e.id);o.stringToBool(i.dataset.dropdownIgnorePageScroll||"")||S.close(t)}}))}function h(e,t){b.forEach(e,(i=>{i(e,t)}))}function p(e,t,i,n){let r=!1;if(null!==e){e.preventDefault(),e.stopPropagation();const i=e.currentTarget;t=i.dataset.target,void 0===n&&e instanceof MouseEvent&&(o.stringToBool(i.dataset.isKeyboardClick||"")?(r=!0,delete i.dataset.isKeyboardClick):n=!0)}let s=v.get(t),l=!1;if(void 0!==s){let i,r;if(e&&(i=e.currentTarget,r=i.parentNode,r!==s&&(r.classList.add("dropdown"),r.id=s.id,s.classList.remove("dropdown"),s.id="",s=r,v.set(t,r))),void 0===n&&(i=s.closest(".dropdownToggle"),i||(i=s.querySelector(".dropdownToggle"),!i&&s.id&&(i=document.querySelector('[data-target="'+s.id+'"]'))),i&&o.stringToBool(i.dataset.dropdownLazyInit||"")&&(n=!0)),o.stringToBool(s.dataset.dropdownPreventToggle||"")&&s.classList.contains("dropdownOpen")&&(l=!0),""===s.dataset.isOverlayDropdownButton){const e=a.parentByClass(s,"dialogContent");s.dataset.isOverlayDropdownButton=null!==e?"true":"false",null!==e&&e.addEventListener("scroll",d)}}return E="",v.forEach(((e,a)=>{const s=w.get(a);let c=null;if(e.classList.contains("dropdownOpen"))if(l)E=t;else{e.classList.remove("dropdownOpen"),s.classList.remove("dropdownOpen");const t=e.querySelector(".dropdownToggle");t&&t.setAttribute("aria-expanded","false"),h(a,"close")}else if(a===t&&s.childElementCount>0){E=t,e.classList.add("dropdownOpen"),s.classList.add("dropdownOpen");const l=e.querySelector(".dropdownToggle");l&&l.setAttribute("aria-expanded","true");const d=s.childElementCount>0?s.children[0]:null;if(d&&o.stringToBool(d.dataset.scrollToActive||"")){delete d.dataset.scrollToActive;let e=null;for(let t=0,i=d.childElementCount;t<i;t++)if(d.children[t].classList.contains("active")){e=d.children[t];break}e&&(d.scrollTop=Math.max(e.offsetTop+e.clientHeight-s.clientHeight,0))}const u=s.querySelector(".scrollableDropdownMenu");null!==u&&u.classList[u.scrollHeight>u.clientHeight?"add":"remove"]("forceScrollbar"),h(a,"open"),n||(s.setAttribute("role","menu"),s.tabIndex=-1,s.removeEventListener("keydown",f),s.addEventListener("keydown",f),s.querySelectorAll("li").forEach((e=>{e.clientHeight&&((null===c||e.classList.contains("active"))&&(c=e),e.setAttribute("role","menuitem"),e.tabIndex=-1)}))),S.setAlignment(e,s,i),null!==c&&(c.focus(),r&&c.classList.add("focus-visible"))}})),window.WCF.Dropdown.Interactive.Handler.closeAll(),null===e}function m(e){const t=e.currentTarget;"INPUT"!==t.nodeName&&("Enter"!==e.key&&"Space"!==e.key||(e.preventDefault(),t.dataset.requiresSynthethicClick?(t.dataset.isKeyboardClick="true",t.click()):p(e)))}function f(e){const t=document.activeElement;if("LI"===t.nodeName)if("ArrowDown"===e.key||"ArrowUp"===e.key||"End"===e.key||"Home"===e.key){e.preventDefault();const i=Array.from(t.closest(".dropdownMenu").querySelectorAll("li"));"ArrowUp"!==e.key&&"End"!==e.key||i.reverse();let n=null;const o=e=>!e.classList.contains("dropdownDivider")&&e.clientHeight>0;let r=i.indexOf(t);"End"!==e.key&&"Home"!==e.key||(r=-1);for(let e=r+1;e<i.length;e++)if(o(i[e])){n=i[e];break}null===n&&(n=i.find(o)||null),null!==n&&n.focus()}else if("Enter"===e.key||"Space"===e.key){e.preventDefault();let i=t;1!==i.childElementCount||"SPAN"!==i.children[0].nodeName&&"A"!==i.children[0].nodeName||(i=i.children[0]);const n=v.get(E),r=n.querySelector(".dropdownToggle"),a=n.dataset.a11yMouseEvent||"click";o.triggerEvent(i,a),r&&r.focus()}else if("Escape"===e.key||"Tab"===e.key){e.preventDefault();const t=v.get(E);let i=t.querySelector(".dropdownToggle");null!==i||t.classList.contains("dropdown")||(i=t),p(null,E),i&&i.focus()}}let g;n=i.__importDefault(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importStar(a),s=i.__importDefault(s),l=i.__importStar(l),c=i.__importDefault(c);const b=new n.default;let _=!1;const v=new Map,w=new Map;let y,E="";const S={setup(){_||(_=!0,y=document.createElement("div"),y.className="dropdownMenuContainer",document.body.appendChild(y),g=document.getElementsByClassName("dropdownToggle"),S.initAll(),c.default.add("WoltLabSuite/Core/Ui/Dropdown/Simple",(()=>S.closeAll())),r.default.add("WoltLabSuite/Core/Ui/Dropdown/Simple",(()=>S.initAll())),document.addEventListener("scroll",u),window.bc_wcfSimpleDropdown=this)},initAll(){for(let e=0,t=g.length;e<t;e++)S.init(g[e],!1)},init(e,t){if(S.setup(),e.setAttribute("role","button"),e.tabIndex=0,e.setAttribute("aria-haspopup","true"),e.setAttribute("aria-expanded","false"),e.classList.contains("jsDropdownEnabled")||e.dataset.target)return!1;const i=a.parentByClass(e,"dropdown");if(null===i)throw new Error("Invalid dropdown passed, button '"+s.default.identify(e)+"' does not have a parent with .dropdown.");const n=a.nextByClass(e,"dropdownMenu");if(null===n)throw new Error("Invalid dropdown passed, button '"+s.default.identify(e)+"' does not have a menu as next sibling.");y.appendChild(n);const r=s.default.identify(i);if(!v.has(r)&&(e.classList.add("jsDropdownEnabled"),e.addEventListener("click",p),e.addEventListener("keydown",m),v.set(r,i),w.set(r,n),/^wcf\d+$/.test(r)||(n.dataset.source=r),n.childElementCount&&n.children[0].classList.contains("scrollableDropdownMenu"))){const e=n.children[0];e.dataset.scrollToActive="true";let t=null,i=null;e.addEventListener("wheel",(n=>{null===t&&(t=e.clientHeight),null===i&&(i=e.scrollHeight),(n.deltaY<0&&0===e.scrollTop||n.deltaY>0&&e.scrollTop+t===i)&&n.preventDefault()}),{passive:!1})}return e.dataset.target=r,t&&setTimeout((()=>{e.dataset.dropdownLazyInit=t instanceof MouseEvent?"true":"false",o.triggerEvent(e,"click"),setTimeout((()=>{delete e.dataset.dropdownLazyInit}),10)}),10),!0},initFragment(e,t){S.setup();const i=s.default.identify(e);v.has(i)||(v.set(i,e),y.appendChild(t),w.set(i,t))},registerCallback(e,t){b.add(e,t)},getDropdown:e=>v.get(e),getDropdownMenu:e=>w.get(e),toggleDropdown(e,t,i){p(null,e,t,i)},setAlignment(e,t,i){const n=e.querySelector(".dropdownToggle"),o=null!==n?n.parentNode:null;let r;o&&o.classList.contains("inputAddonTextarea")&&(r=n),l.set(t,i||e,{pointerClassNames:["dropdownArrowBottom","dropdownArrowRight"],refDimensionsElement:r||null,horizontal:"right"===t.dataset.dropdownAlignmentHorizontal?"right":"left",vertical:"top"===t.dataset.dropdownAlignmentVertical?"top":"bottom",allowFlip:t.dataset.dropdownAllowFlip||"both"})},setAlignmentById(e){const t=v.get(e);if(void 0===t)throw new Error("Unknown dropdown identifier '"+e+"'.");const i=w.get(e);S.setAlignment(t,i)},isOpen(e){const t=w.get(e);return void 0!==t&&t.classList.contains("dropdownOpen")},open(e,t,i){const n=w.get(e);void 0===n||n.classList.contains("dropdownOpen")||S.toggleDropdown(e,i,t)},close(e){const t=v.get(e);void 0!==t&&(t.classList.remove("dropdownOpen"),w.get(e).classList.remove("dropdownOpen"))},closeAll(){v.forEach(((e,t)=>{e.classList.contains("dropdownOpen")&&(e.classList.remove("dropdownOpen"),w.get(t).classList.remove("dropdownOpen"),h(t,"close"))}))},destroy(e){var t;if(!v.has(e))return!1;try{S.close(e),null===(t=w.get(e))||void 0===t||t.remove()}catch(e){}return w.delete(e),v.delete(e),!0},_toggle:(e,t,i,n)=>p(e,t,i,n)};return S})),define("WoltLabSuite/Core/Ui/Dialog",["require","exports","tslib","../Core","../Dom/Change/Listener","./Screen","../Dom/Util","../Language","../Environment","../Event/Handler","./Dropdown/Simple"],(function(e,t,i,n,o,r,a,s,l,c,d){"use strict";n=i.__importStar(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importDefault(a),s=i.__importStar(s),l=i.__importStar(l),c=i.__importStar(c),d=i.__importDefault(d);let u,h,p=null;const m=new Map;let f=!1;const g=new WeakMap,b=new Map;let _;const v=["onBeforeClose","onClose","onShow"],w=["number","password","search","tel","text","url"],y=['a[href]:not([tabindex^="-"]):not([inert])','area[href]:not([tabindex^="-"]):not([inert])',"input:not([disabled]):not([inert])","select:not([disabled]):not([inert])","textarea:not([disabled]):not([inert])","button:not([disabled]):not([inert])",'iframe:not([tabindex^="-"]):not([inert])','audio:not([tabindex^="-"]):not([inert])','video:not([tabindex^="-"]):not([inert])','[contenteditable]:not([tabindex^="-"]):not([inert])','[tabindex]:not([tabindex^="-"]):not([inert])'];return{setup(){h=document.createElement("div"),h.classList.add("dialogOverlay"),h.setAttribute("aria-hidden","true"),h.addEventListener("mousedown",(e=>this._closeOnBackdrop(e))),h.addEventListener("wheel",(e=>{e.target===h&&e.preventDefault()}),{passive:!1}),document.getElementById("content").appendChild(h),_=e=>{if("Escape"===e.key){const t=e.target;if("INPUT"!==t.nodeName&&"TEXTAREA"!==t.nodeName)return this.close(p),!1}return!0},r.on("screen-xs",{match(){f=!0},unmatch(){f=!1},setup(){f=!0}}),this._initStaticDialogs(),o.default.add("Ui/Dialog",(()=>{this._initStaticDialogs()})),window.addEventListener("resize",(()=>{m.forEach((e=>{n.stringToBool(e.dialog.getAttribute("aria-hidden"))||this.rebuild(e.dialog.dataset.id||"")}))}))},_initStaticDialogs(){document.querySelectorAll(".jsStaticDialog").forEach((e=>{e.classList.remove("jsStaticDialog");const t=e.dataset.dialogId||"";if(t){const i=document.getElementById(t);null!==i&&(i.classList.remove("jsStaticDialogContent"),i.dataset.isStaticDialog="true",a.default.hide(i),e.addEventListener("click",(e=>{e.preventDefault(),this.openStatic(i.id,null,{title:i.dataset.title||""})})))}}))},open(t,o){let r=g.get(t);if(r&&n.isPlainObject(r))return this.openStatic(r.id,void 0===o?null:o);if("function"!=typeof t._dialogSetup)throw new Error("Callback object does not implement the method '_dialogSetup()'.");const s=t._dialogSetup();if(!n.isPlainObject(s))throw new Error("Expected an object literal as return value of '_dialogSetup()'.");const l=s.id;let c;if(r={id:l},void 0===s.source){if(c=document.getElementById(l),null===c)throw new Error("Element id '"+l+"' is invalid and no source attribute was given. If you want to use the `html` argument instead, please add `source: null` to your dialog configuration.");s.source=document.createDocumentFragment(),s.source.appendChild(c),c.removeAttribute("id"),a.default.show(c)}else if(null===s.source)s.source=o;else if("function"==typeof s.source)s.source();else if(n.isPlainObject(s.source)){if("string"!=typeof o||""===o.trim())return new Promise(((t,i)=>{e(["../Ajax"],t,i)})).then(i.__importStar).then((e=>{const i=s.source;e.api(this,i.data,(e=>{e.returnValues&&"string"==typeof e.returnValues.template&&(this.open(t,e.returnValues.template),"function"==typeof i.after&&i.after(m.get(l).content,e))}))})),{};s.source=o}else if("string"==typeof s.source&&(c=document.createElement("div"),c.id=l,a.default.setInnerHtml(c,s.source),s.source=document.createDocumentFragment(),s.source.appendChild(c)),!s.source.nodeType||s.source.nodeType!==Node.DOCUMENT_FRAGMENT_NODE)throw new Error("Expected at least a document fragment as 'source' attribute.");return g.set(t,r),b.set(l,t),this.openStatic(l,s.source,s.options)},openStatic(t,o,a){r.pageOverlayOpen(),"desktop"!==l.platform()&&(this.isOpen(t)||r.scrollDisable()),m.has(t)?this._updateDialog(t,o):((a=n.extend({backdropCloseOnClick:!0,closable:!0,closeButtonLabel:s.get("wcf.global.button.close"),closeConfirmMessage:"",disableContentPadding:!1,title:"",onBeforeClose:null,onClose:null,onShow:null},a||{})).closable||(a.backdropCloseOnClick=!1),a.closeConfirmMessage&&(a.onBeforeClose=t=>{new Promise(((t,i)=>{e(["./Confirmation"],t,i)})).then(i.__importStar).then((e=>{e.show({confirm:this.close.bind(this,t),message:a.closeConfirmMessage||""})}))}),this._createDialog(t,o,a));const c=m.get(t);return"ios"===l.platform()&&window.setTimeout((()=>{var e;null===(e=c.content.querySelector("input, textarea"))||void 0===e||e.focus()}),200),c},setTitle(e,t){e=this._getDialogId(e);const i=m.get(e);if(void 0===i)throw new Error("Expected a valid dialog id, '"+e+"' does not match any active dialog.");const n=i.dialog.querySelector(".dialogTitle");n&&(n.textContent=t)},setCallback(e,t,i){if("object"==typeof e){const t=g.get(e);void 0!==t&&(e=t.id)}const n=m.get(e);if(void 0===n)throw new Error(`Expected a valid dialog id, '${e}' does not match any active dialog.`);if(-1===v.indexOf(t))throw new Error("Invalid callback identifier, '"+t+"' is not recognized.");if("function"!=typeof i&&null!==i)throw new Error("Only functions or the 'null' value are acceptable callback values ('"+typeof i+"' given).");n[t]=i},removeCallback(e,t){if("object"==typeof e){const t=g.get(e);void 0!==t&&(e=t.id)}const i=m.get(e);if(void 0===i)throw new Error(`Expected a valid dialog id, '${e}' does not match any active dialog.`);if(-1===v.indexOf(t))throw new Error("Invalid callback identifier, '"+t+"' is not recognized.");i[t]=void 0},_createDialog(e,t,i){let n=null;if(null===t&&(n=document.getElementById(e),null===n))throw new Error("Expected either a HTML string or an existing element id.");const o=document.createElement("div");o.classList.add("dialogContainer"),o.setAttribute("aria-hidden","true"),o.setAttribute("role","dialog"),o.dataset.id=e;const r=document.createElement("header");o.appendChild(r);const s=a.default.getUniqueId();o.setAttribute("aria-labelledby",s);const l=document.createElement("span");if(l.classList.add("dialogTitle"),l.textContent=i.title,l.id=s,r.appendChild(l),i.closable){const e=document.createElement("a");e.className="dialogCloseButton jsTooltip",e.href="#",e.setAttribute("role","button"),e.tabIndex=0,e.title=i.closeButtonLabel,e.setAttribute("aria-label",i.closeButtonLabel),e.addEventListener("click",(e=>this._close(e))),r.appendChild(e);const t=document.createElement("span");t.className="icon icon24 fa-times",e.appendChild(t)}const c=document.createElement("div");let d;if(c.classList.add("dialogContent"),i.disableContentPadding&&c.classList.add("dialogContentNoPadding"),o.appendChild(c),c.addEventListener("wheel",(e=>{let t,i,n,o=!1,r=e.target;for(;;){if(t=r.clientHeight,i=r.scrollHeight,t<i){if(n=r.scrollTop,e.deltaY<0&&n>0){o=!0;break}if(e.deltaY>0&&n+t<i){o=!0;break}}if(!r||r===c)break;r=r.parentNode}o||e.preventDefault()}),{passive:!1}),null===n)if("string"==typeof t)d=document.createElement("div"),d.id=e,a.default.setInnerHtml(d,t);else{if(!(t instanceof DocumentFragment))throw new TypeError("'html' must either be a string or a DocumentFragment");{const i=[];let n;for(let e=0,o=t.childNodes.length;e<o;e++)n=t.childNodes[e],n.nodeType===Node.ELEMENT_NODE&&i.push(n);"DIV"!==i[0].nodeName||i.length>1?(d=document.createElement("div"),d.id=e,d.appendChild(t)):d=i[0]}}else d=n;c.appendChild(d),"none"===d.style.getPropertyValue("display")&&a.default.show(d),m.set(e,{backdropCloseOnClick:i.backdropCloseOnClick,closable:i.closable,content:d,dialog:o,header:r,onBeforeClose:i.onBeforeClose,onClose:i.onClose,onShow:i.onShow,submitButton:null,inputFields:new Set}),h.insertBefore(o,h.firstChild),"function"==typeof i.onSetup&&i.onSetup(d),this._updateDialog(e,null)},_updateDialog(e,t){const i=m.get(e);if(void 0===i)throw new Error("Expected a valid dialog id, '"+e+"' does not match any active dialog.");if("string"==typeof t&&a.default.setInnerHtml(i.content,t),n.stringToBool(i.dialog.getAttribute("aria-hidden"))){d.default.closeAll(),window.WCF.Dropdown.Interactive.Handler.closeAll(),null===u&&(u=this._maintainFocus.bind(this),document.body.addEventListener("focus",u,{capture:!0})),i.closable&&n.stringToBool(h.getAttribute("aria-hidden"))&&window.addEventListener("keyup",_),i.dialog.parentNode.insertBefore(i.dialog,i.dialog.parentNode.firstChild),i.dialog.setAttribute("aria-hidden","false"),h.setAttribute("aria-hidden","false"),h.setAttribute("close-on-click",i.backdropCloseOnClick?"true":"false"),p=e;const t=i.header.querySelector(".dialogCloseButton");t&&t.setAttribute("inert","true"),this._setFocusToFirstItem(i.dialog,!1),t&&t.removeAttribute("inert"),"function"==typeof i.onShow&&i.onShow(i.content),n.stringToBool(i.content.dataset.isStaticDialog||"")&&c.fire("com.woltlab.wcf.dialog","openStatic",{content:i.content,id:e})}this.rebuild(e),o.default.trigger()},_maintainFocus(e){if(p){const t=m.get(p),i=e.target;t.dialog.contains(i)||i.closest(".dropdownMenuContainer")||i.closest(".datePicker")||this._setFocusToFirstItem(t.dialog,!0)}},_setFocusToFirstItem(e,t){let i=this._getFirstFocusableChild(e);null!==i&&(t&&("username"!==i.id&&"username"!==i.name||"safari"===l.browser()&&"ios"===l.platform()&&(i=null)),i&&setTimeout((()=>{i.focus()}),1))},_getFirstFocusableChild(e){const t=e.querySelectorAll(y.join(","));for(let e=0,i=t.length;e<i;e++)if(t[e].offsetWidth&&t[e].offsetHeight&&t[e].getClientRects().length)return t[e];return null},rebuild(e){const t=this._getDialogId(e),i=m.get(t);if(void 0===i)throw new Error("Expected a valid dialog id, '"+t+"' does not match any active dialog.");if(n.stringToBool(i.dialog.getAttribute("aria-hidden")))return;const o=i.content.parentNode,r=i.content.querySelector(".formSubmit");let s=0;null!==r?(o.classList.add("dialogForm"),r.classList.add("dialogFormSubmit"),s+=a.default.outerHeight(r),s-=1,o.style.setProperty("margin-bottom",`${s}px`,"")):(o.classList.remove("dialogForm"),o.style.removeProperty("margin-bottom")),s+=a.default.outerHeight(i.header);const c=window.innerHeight*(f?1:.8)-s;o.style.setProperty("max-height",~~c+"px",""),"chrome"!==l.browser()&&"safari"!==l.browser()||o.classList.add("jsWebKitFractionalPixelFix");const d=b.get(t);if(void 0!==d&&"function"==typeof d._dialogSubmit){const e=i.content.querySelectorAll('input[data-dialog-submit-on-enter="true"]'),n=i.content.querySelector('.formSubmit > input[type="submit"], .formSubmit > button[data-type="submit"]');if(null===n)return void(0===e.length&&console.warn("Broken dialog, expected a submit button.",i.content));if(i.submitButton!==n){i.submitButton=n,n.addEventListener("click",(e=>{e.preventDefault(),this._submit(t)}));const o=e=>{"Enter"===e.key&&(e.preventDefault(),this._submit(t))};let r;for(let t=0,n=e.length;t<n;t++)r=e[t],i.inputFields.has(r)||(-1!==w.indexOf(r.type)?(i.inputFields.add(r),r.addEventListener("keydown",o)):console.warn("Unsupported input type.",r))}}},_submit(e){const t=m.get(e);let i=!0;if(t.inputFields.forEach((e=>{e.required&&(""===e.value.trim()?(a.default.innerError(e,s.get("wcf.global.form.error.empty")),i=!1):a.default.innerError(e,!1))})),i){const t=b.get(e);"function"==typeof t._dialogSubmit&&t._dialogSubmit()}},submit(e){this._submit(e)},_close(e){e.preventDefault();const t=m.get(p);return"function"==typeof t.onBeforeClose?(t.onBeforeClose(p),!1):(this.close(p),!0)},_closeOnBackdrop(e){e.target===h&&(n.stringToBool(h.getAttribute("close-on-click"))?this._close(e):e.preventDefault())},close(e){e=this._getDialogId(e);let t=m.get(e);if(void 0===t)throw new Error("Expected a valid dialog id, '"+e+"' does not match any active dialog.");t.dialog.setAttribute("aria-hidden","true");const i=document.activeElement;i.closest(".dialogContainer")===t.dialog&&i.blur(),"function"==typeof t.onClose&&t.onClose(e),p=null;for(let e=0;e<h.childElementCount;e++){const t=h.children[e];if(!n.stringToBool(t.getAttribute("aria-hidden"))){p=t.dataset.id||"";break}}r.pageOverlayClose(),null===p?(h.setAttribute("aria-hidden","true"),h.dataset.closeOnClick="false",t.closable&&window.removeEventListener("keyup",_)):(t=m.get(p),h.dataset.closeOnClick=t.backdropCloseOnClick?"true":"false"),"desktop"!==l.platform()&&r.scrollEnable()},getDialog(e){return m.get(this._getDialogId(e))},isOpen(e){const t=this.getDialog(e);return void 0!==t&&"false"===t.dialog.getAttribute("aria-hidden")},destroy(e){if("object"!=typeof e)throw new TypeError("Expected the callback object as parameter.");if(g.has(e)){const t=g.get(e).id;this.isOpen(t)&&this.close(t),m.has(t)&&(m.get(t).dialog.remove(),m.delete(t)),g.delete(e)}},_getDialogId(e){if("object"==typeof e){const t=g.get(e);if(void 0!==t)return t.id}return e.toString()},_ajaxSetup:()=>({})}})),define("WoltLabSuite/Core/Ui/Dropdown/Reusable",["require","exports","tslib","./Simple"],(function(e,t,i,n){"use strict";function o(e){if(!r.has(e))throw new Error("Unknown dropdown identifier '"+e+"'");return r.get(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.toggleDropdown=t.registerCallback=t.getDropdownMenu=t.init=void 0,n=i.__importDefault(n);const r=new Map;let a=0;t.init=function(e,t){if(r.has(e))return;const i=document.createElement("div");i.id="reusableDropdownGhost"+a++,n.default.initFragment(i,t),r.set(e,i.id)},t.getDropdownMenu=function(e){return n.default.getDropdownMenu(o(e))},t.registerCallback=function(e,t){n.default.registerCallback(o(e),t)},t.toggleDropdown=function(e,t){n.default.toggleDropdown(o(e),t)}})),define("WoltLabSuite/Core/Ui/Page/Menu/Abstract",["require","exports","tslib","../../../Core","../../../Environment","../../../Event/Handler","../../../Language","../../../Dom/Traverse","../../Screen"],(function(e,t,i,n,o,r,a,s,l){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importStar(l);const c=document.getElementById("pageContainer");let d="";class u{constructor(e,t,i){if(this.activeList=[],this.depth=0,this.enabled=!0,this.items=new Map,this.removeActiveList=!1,"packageInstallationSetup"===document.body.dataset.template)return;this.eventIdentifier=e,this.menu=document.getElementById(t);const n=this.open.bind(this);this.button=document.querySelector(i),this.button.addEventListener("click",n),this.initItems(),this.initHeader(),r.add(this.eventIdentifier,"open",n),r.add(this.eventIdentifier,"close",this.close.bind(this)),r.add(this.eventIdentifier,"updateButtonState",this.updateButtonState.bind(this)),this.menu.addEventListener("animationend",(()=>{this.menu.classList.contains("open")||this.menu.querySelectorAll(".menuOverlayItemList").forEach((e=>{e.classList.remove("active","hidden")}))})),this.menu.children[0].addEventListener("transitionend",(()=>{if(this.menu.classList.add("allowScroll"),this.removeActiveList){this.removeActiveList=!1;const e=this.activeList.pop();e&&e.classList.remove("activeList")}}));const a=document.createElement("div");a.className="menuOverlayMobileBackdrop",a.addEventListener("click",this.close.bind(this)),this.menu.insertAdjacentElement("afterend",a),this.menu.parentElement.insertBefore(a,this.menu.nextSibling),this.updateButtonState(),"android"===o.platform()&&this.initializeAndroid()}open(e){return!!this.enabled&&(e instanceof Event&&e.preventDefault(),this.menu.classList.add("open"),this.menu.classList.add("allowScroll"),this.menu.children[0].classList.add("activeList"),l.scrollDisable(),c.classList.add("menuOverlay-"+this.menu.id),l.pageOverlayOpen(),!0)}close(e){return e instanceof Event&&e.preventDefault(),!!this.menu.classList.contains("open")&&(this.menu.classList.remove("open"),l.scrollEnable(),l.pageOverlayClose(),c.classList.remove("menuOverlay-"+this.menu.id),!0)}enable(){this.enabled=!0}disable(){this.enabled=!1,this.close()}initializeAndroid(){let e;switch(this.menu.id){case"pageUserMenuMobile":e="right";break;case"pageMainMenuMobile":e="left";break;default:return}const t=this.menu.nextElementSibling;let i;document.addEventListener("touchstart",(t=>{const o=t.touches;let r,a;const s=this.menu.classList.contains("open");if("left"===e?(r=!s&&o[0].clientX<20,a=s&&Math.abs(this.menu.offsetWidth-o[0].clientX)<20):(r=s&&Math.abs(document.body.clientWidth-this.menu.offsetWidth-o[0].clientX)<20,a=!s&&document.body.clientWidth-o[0].clientX<20),o.length>1)d&&n.triggerEvent(document,"touchend");else if(!d&&(r||a)){if(l.pageOverlayIsActive()){if(!c.classList.contains(`menuOverlay-${this.menu.id}`))return}document.documentElement.classList.contains("redactorActive")||(i={x:o[0].clientX,y:o[0].clientY},r&&(d="left"),a&&(d="right"))}})),document.addEventListener("touchend",(n=>{if(!d||!i)return;if(!this.menu.classList.contains("open"))return i=void 0,void(d="");let o;o=n?n.changedTouches[0].clientX:i.x,this.menu.classList.add("androidMenuTouchEnd"),this.menu.style.removeProperty("transform"),t.style.removeProperty(e),this.menu.addEventListener("transitionend",(()=>{this.menu.classList.remove("androidMenuTouchEnd")}),{once:!0}),"left"===e?("left"===d&&o<i.x+100&&this.close(),"right"===d&&o<i.x-100&&this.close()):("left"===d&&o>i.x+100&&this.close(),"right"===d&&o>i.x-100&&this.close()),i=void 0,d=""})),document.addEventListener("touchmove",(n=>{if(!d||!i)return;const o=n.touches;let r=!1;"left"===d&&(r=o[0].clientX>i.x+5),"right"===d&&(r=o[0].clientX<i.x-5);const a=Math.abs(o[0].clientY-i.y)>20;let s=this.menu.classList.contains("open");if(s||!r||a||(this.open(),s=!0),s){let i=o[0].clientX;"right"===e&&(i=document.body.clientWidth-i),i>this.menu.offsetWidth&&(i=this.menu.offsetWidth),i<0&&(i=0);const n=("left"===e?1:-1)*(i-this.menu.offsetWidth);this.menu.style.setProperty("transform",`translateX(${n}px)`),t.style.setProperty(e,Math.min(this.menu.offsetWidth,i).toString()+"px")}}))}initItems(){this.menu.querySelectorAll(".menuOverlayItemLink").forEach((e=>{this.initItem(e)}))}initItem(e){const t=e.parentElement,i=t.dataset.more;if(i)return void e.addEventListener("click",(n=>{n.preventDefault(),n.stopPropagation(),r.fire(this.eventIdentifier,"more",{handler:this,identifier:i,item:e,parent:t})}));const n=e.nextElementSibling;if(null===n)return;if("OL"!==n.nodeName&&n.classList.contains("menuOverlayItemLinkIcon")){const i=document.createElement("span");for(i.className="menuOverlayItemWrapper",t.insertBefore(i,e),i.appendChild(e);i.nextElementSibling;)i.appendChild(i.nextElementSibling);return}const o="#"!==e.href,a=t.parentElement;let l=n.dataset.title;this.items.set(e,{itemList:n,parentItemList:a}),l||(l=s.childByClass(e,"menuOverlayItemTitle").textContent,n.dataset.title=l);const c=this.showItemList.bind(this,e);if(o){const i=document.createElement("span");i.className="menuOverlayItemWrapper",t.insertBefore(i,e),i.appendChild(e);const n=document.createElement("a");n.href="#",n.className="menuOverlayItemLinkIcon"+(e.classList.contains("active")?" active":""),n.innerHTML='<span class="icon icon24 fa-angle-right"></span>',n.addEventListener("click",c),i.appendChild(n)}else e.classList.add("menuOverlayItemLinkMore"),e.addEventListener("click",c);const d=document.createElement("li");d.className="menuOverlayHeader";const u=document.createElement("span");u.className="menuOverlayItemWrapper";const h=document.createElement("a");h.href="#",h.className="menuOverlayItemLink menuOverlayBackLink",h.textContent=a.dataset.title||"",h.addEventListener("click",this.hideItemList.bind(this,e));const p=document.createElement("a");if(p.href="#",p.className="menuOverlayItemLinkIcon",p.innerHTML='<span class="icon icon24 fa-times"></span>',p.addEventListener("click",this.close.bind(this)),u.appendChild(h),u.appendChild(p),d.appendChild(u),n.insertBefore(d,n.firstElementChild),!d.nextElementSibling.classList.contains("menuOverlayTitle")){const e=document.createElement("li");e.className="menuOverlayTitle";const t=document.createElement("span");t.textContent=l,e.appendChild(t),n.insertBefore(e,d.nextElementSibling)}}initHeader(){const e=document.createElement("li");e.className="menuOverlayHeader";const t=document.createElement("span");t.className="menuOverlayItemWrapper",e.appendChild(t);const i=document.createElement("span");i.className="menuOverlayLogoWrapper",t.appendChild(i);const n=document.createElement("span");n.className="menuOverlayLogo";const o=this.menu.dataset.pageLogo;n.style.setProperty("background-image",`url("${o}")`,""),i.appendChild(n);const r=document.createElement("a");r.href="#",r.className="menuOverlayItemLinkIcon",r.innerHTML='<span class="icon icon24 fa-times"></span>',r.addEventListener("click",this.close.bind(this)),t.appendChild(r);const a=s.childByClass(this.menu,"menuOverlayItemList");a.insertBefore(e,a.firstElementChild)}hideItemList(e,t){t instanceof Event&&t.preventDefault(),this.menu.classList.remove("allowScroll"),this.removeActiveList=!0;this.items.get(e).parentItemList.classList.remove("hidden"),this.updateDepth(!1)}showItemList(e,t){t.preventDefault();const i=this.items.get(e),o=i.itemList.dataset.load;if(o&&!n.stringToBool(e.dataset.loaded||"")){const e=t.currentTarget.firstElementChild;return e.classList.contains("fa-angle-right")&&(e.classList.remove("fa-angle-right"),e.classList.add("fa-spinner")),void r.fire(this.eventIdentifier,"load_"+o)}this.menu.classList.remove("allowScroll"),i.itemList.classList.add("activeList"),i.parentItemList.classList.add("hidden"),this.activeList.push(i.itemList),this.updateDepth(!0)}updateDepth(e){this.depth+=e?1:-1;let t=-100*this.depth;"rtl"===a.get("wcf.global.pageDirection")&&(t*=-1);this.menu.children[0].style.setProperty("transform",`translateX(${t}%)`,"")}updateButtonState(){let e=!1;const t=this.menu.querySelector(".menuOverlayItemList");this.menu.querySelectorAll(".badgeUpdate").forEach((i=>{~~i.textContent>0&&i.closest(".menuOverlayItemList")===t&&(e=!0)})),this.button.classList[e?"add":"remove"]("pageMenuMobileButtonHasContent")}}return n.enableLegacyInheritance(u),u})),define("WoltLabSuite/Core/Ui/Page/Menu/Main",["require","exports","tslib","../../../Core","../../../Dom/Util","../../../Language","./Abstract"],(function(e,t,i,n,o,r,a){"use strict";n=i.__importStar(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importDefault(a);class s extends a.default{constructor(){super("com.woltlab.wcf.MainMenuMobile","pageMainMenuMobile","#pageHeader .mainMenu"),this.hasItems=!1,this.title=document.getElementById("pageMainMenuMobilePageOptionsTitle"),null!==this.title&&(this.navigationList=document.querySelector(".jsPageNavigationIcons")),this.button.setAttribute("aria-label",r.get("wcf.menu.page")),this.button.setAttribute("role","button")}open(e){if(!super.open(e))return!1;if(null===this.title)return!0;if(this.hasItems=this.navigationList&&this.navigationList.childElementCount>0,this.hasItems){for(;this.navigationList.childElementCount;){const e=this.navigationList.children[0];e.classList.add("menuOverlayItem","menuOverlayItemOption"),e.addEventListener("click",(e=>{e.stopPropagation(),this.close()}));const t=e.children[0];t.classList.add("menuOverlayItemLink"),t.classList.add("box24"),t.children[1].classList.remove("invisible"),t.children[1].classList.add("menuOverlayItemTitle"),this.title.insertAdjacentElement("afterend",e)}o.default.show(this.title)}else o.default.hide(this.title);return!0}close(e){if(!super.close(e))return!1;if(this.hasItems){o.default.hide(this.title);let e=this.title.nextElementSibling;for(;e&&e.classList.contains("menuOverlayItemOption");){e.classList.remove("menuOverlayItem","menuOverlayItemOption"),e.removeEventListener("click",(e=>{e.stopPropagation(),this.close()}));const t=e.children[0];t.classList.remove("menuOverlayItemLink"),t.classList.remove("box24"),t.children[1].classList.add("invisible"),t.children[1].classList.remove("menuOverlayItemTitle"),this.navigationList.appendChild(e),e=e.nextElementSibling}}return!0}}return n.enableLegacyInheritance(s),s})),define("WoltLabSuite/Core/Ui/Page/Menu/User",["require","exports","tslib","../../../Core","../../../Event/Handler","../../../Language","./Abstract"],(function(e,t,i,n,o,r,a){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importDefault(a);class s extends a.default{constructor(){const e=document.querySelector("#pageUserMenuMobile > .menuOverlayItemList");if(1===e.childElementCount&&e.children[0].classList.contains("menuOverlayTitle")){document.querySelector("#pageHeader .userPanel").classList.add("hideUserPanel")}else super("com.woltlab.wcf.UserMenuMobile","pageUserMenuMobile","#pageHeader .userPanel"),o.add("com.woltlab.wcf.userMenu","updateBadge",(e=>this.updateBadge(e))),this.button.setAttribute("aria-label",r.get("wcf.menu.user")),this.button.setAttribute("role","button")}close(e){if(void 0===this.menu)return!1;const t=window.WCF.Dropdown.Interactive.Handler.getOpenDropdown();return t?(e&&(e.preventDefault(),e.stopPropagation()),t.close(),!0):super.close(e)}updateBadge(e){this.menu.querySelectorAll(".menuOverlayItemBadge").forEach((t=>{if(t.dataset.badgeIdentifier===e.identifier){let i=t.querySelector(".badge");e.count?(null===i&&(i=document.createElement("span"),i.className="badge badgeUpdate",t.appendChild(i)),i.textContent=e.count.toString()):null!==i&&i.remove(),this.updateButtonState()}}))}}return n.enableLegacyInheritance(s),s})),define("WoltLabSuite/Core/Ui/Mobile",["require","exports","tslib","../Core","../Dom/Change/Listener","../Environment","../Event/Handler","./Alignment","./CloseOverlay","./Dropdown/Reusable","./Page/Menu/Main","./Page/Menu/User","./Screen"],(function(e,t,i,n,o,r,a,s,l,c,d,u,h){"use strict";function p(){j=!0,function(){const e=document.getElementById("pageHeaderSearch"),t=document.getElementById("pageHeaderSearchInput");let i=null;a.add("com.woltlab.wcf.MainMenuMobile","more",(n=>{if("com.woltlab.wcf.search"===n.identifier){n.handler.close(),"ios"===r.platform()&&(i=document.body.scrollTop,h.scrollDisable());const o=document.getElementById("pageHeader");e.style.setProperty("top",`${o.offsetHeight}px`,""),e.classList.add("open"),t.focus(),"ios"===r.platform()&&(document.body.scrollTop=0)}})),document.getElementById("main").addEventListener("click",(()=>{e&&e.classList.remove("open"),"ios"===r.platform()&&i&&(h.scrollEnable(),document.body.scrollTop=i,i=null)}))}(),m(),f(),P&&(q=new d.default,O=new u.default),l.default.add("WoltLabSuite/Core/Ui/Mobile",g),o.default.add("WoltLabSuite/Core/Ui/Mobile",(()=>{m(),f()}))}function m(){document.querySelectorAll(".buttonGroupNavigation").forEach((e=>{if(e.classList.contains("jsMobileButtonGroupNavigation"))return;e.classList.add("jsMobileButtonGroupNavigation");const t=e.querySelector(".buttonList");if(0===t.childElementCount)return;e.parentElement.classList.add("hasMobileNavigation");const i=document.createElement("a");i.className="dropdownLabel";const n=document.createElement("span");n.className="icon icon24 fa-ellipsis-v",i.appendChild(n),i.addEventListener("click",(t=>{t.preventDefault(),t.stopPropagation(),e.classList.toggle("open")})),t.addEventListener("click",(function(t){t.stopPropagation(),e.classList.remove("open")})),e.insertBefore(i,e.firstChild)}))}function f(){document.querySelectorAll(".message").forEach((e=>{if(N.has(e))return;const t=e.querySelector(".jsMobileNavigation");if(t){t.addEventListener("click",(e=>{e.stopPropagation(),window.setTimeout((()=>{t.classList.remove("open")}),10)}));const i=e.querySelector(".messageQuickOptions");i&&t.childElementCount&&(i.classList.add("active"),i.addEventListener("click",(n=>{const o=n.target;j&&h.is("screen-sm-down")&&"LABEL"!==o.nodeName&&"INPUT"!==o.nodeName&&(n.preventDefault(),n.stopPropagation(),function(e,t,i){if(null===T)T=document.createElement("ul"),T.className="dropdownMenu",c.init("com.woltlab.wcf.jsMobileNavigation",T);else if(T.classList.contains("dropdownOpen")&&(w(),M===e))return;T.innerHTML="",l.default.execute(),L(i);const n=i.previousElementSibling;if(n&&n.classList.contains("messageFooterButtonsExtra")){const e=document.createElement("li");e.className="dropdownDivider",T.appendChild(e),L(n)}s.set(T,t,{horizontal:"right",allowFlip:"vertical"}),T.classList.add("dropdownOpen"),M=e}(e,i,t))})))}N.add(e)}))}function g(){document.querySelectorAll(".jsMobileButtonGroupNavigation.open, .jsMobileNavigation.open").forEach((e=>{e.classList.remove("open")})),j&&T&&w()}function b(){U=!0}function _(){U=!1,H.forEach((function(e){e.classList.remove("open")}))}function v(){H.forEach((function(e){e.addEventListener("mousedown",(function(t){U&&t.target===e&&(t.preventDefault(),e.classList.toggle("open"))}))})),U=!0}function w(){T.classList.remove("dropdownOpen")}function y(){B=!0,document.querySelectorAll(".boxMenuHasChildren > a").forEach((e=>{e.addEventListener("touchstart",(t=>{B&&"false"===e.getAttribute("aria-expanded")&&(t.preventDefault(),e.setAttribute("aria-expanded","true"),e.addEventListener("touchend",(()=>{document.body.addEventListener("touchstart",(()=>{document.body.addEventListener("touchend",(t=>{const i=e.parentElement,n=t.target;i.contains(n)||n===i||e.setAttribute("aria-expanded","false")}),{once:!0})}),{once:!0})}),{once:!0}))}),{passive:!1})}))}function E(){B=!0}function S(){B=!1}function L(e){e.querySelectorAll(".button").forEach((e=>{if(e.classList.contains("ignoreMobileNavigation")||e.classList.contains("reactButton"))return;const t=document.createElement("li");e.classList.contains("active")&&(t.className="active");const i=e.querySelector("span:not(.icon)");t.innerHTML=`<a href="#">${i.textContent}</a>`,t.children[0].addEventListener("click",(function(t){t.preventDefault(),t.stopPropagation(),"A"===e.nodeName?e.click():n.triggerEvent(e,"click"),w()})),T.appendChild(t)}))}function C(){j=!0,P&&(q.enable(),O.enable())}function A(){F&&k(F,".messageGroupLink")}function I(){j=!1,P&&(q.disable(),O.disable())}function x(){F&&D(F),T&&w()}function k(e,t){Array.from(e).forEach((e=>{const i=e.parentElement;let n=i.querySelector(".mobileLinkShadow");if(null===n){const o=e.querySelector(t);o.href&&(n=document.createElement("a"),n.className="mobileLinkShadow",n.href=o.href,i.appendChild(n),i.classList.add("mobileLinkShadowContainer"))}}))}function D(e){Array.from(e).forEach((e=>{const t=e.parentElement;if(t.classList.contains("mobileLinkShadowContainer")){const e=t.querySelector(".mobileLinkShadow");null!==e&&e.remove(),t.classList.remove("mobileLinkShadowContainer")}}))}Object.defineProperty(t,"__esModule",{value:!0}),t.removeShadow=t.rebuildShadow=t.disableShadow=t.disable=t.enableShadow=t.enable=t.setup=void 0,n=i.__importStar(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importDefault(l),c=i.__importStar(c),d=i.__importDefault(d),u=i.__importDefault(u),h=i.__importStar(h);let T=null,M=null,j=!1,B=!1,P=!1;const N=new WeakSet;let q,O,U=!1,F=null;const H=[];t.setup=function(e){P=e,document.querySelectorAll(".sidebar").forEach((e=>{H.push(e)})),r.touch()&&document.documentElement.classList.add("touch"),"desktop"!==r.platform()&&document.documentElement.classList.add("mobile");const t=document.querySelector(".messageGroupList");t&&(F=t.getElementsByClassName("messageGroup")),h.on("screen-md-down",{match:C,unmatch:I,setup:p}),h.on("screen-sm-down",{match:A,unmatch:x,setup:A}),h.on("screen-md-down",{match:b,unmatch:_,setup:v}),!r.touch()||"ios"!==r.platform()&&"android"!==r.platform()||h.on("screen-lg",{match:E,unmatch:S,setup:y})},t.enable=C,t.enableShadow=A,t.disable=I,t.disableShadow=x,t.rebuildShadow=k,t.removeShadow=D})),define("WoltLabSuite/Core/Ui/Page/Action",["require","exports","tslib","../../Core","../../Language","../../Ui/Screen"],(function(e,t,i,n,o,r){"use strict";function a(){if(document.documentElement.classList.contains("disableScrolling"))return;const e=window.pageYOffset;e!==g?(e>=b?(p.classList.contains("initiallyHidden")&&p.classList.remove("initiallyHidden"),p.setAttribute("aria-hidden","false")):p.setAttribute("aria-hidden","true"),l(),-1!==g&&m.classList[e<g?"remove":"add"]("scrolledDown"),g=-1):_()}function s(e){e.preventDefault();document.getElementById("top").scrollIntoView({behavior:"smooth"})}function l(){const e=Array.from(h.children).find((e=>"false"===e.getAttribute("aria-hidden")));h.classList[e?"add":"remove"]("active"),e?m.classList.add("pageActionHasContextButtons"):m.classList.remove("pageActionHasContextButtons")}function c(){if(f)return;f=!0,m=document.createElement("div"),m.className="pageAction",h=document.createElement("div"),h.className="pageActionButtons",m.appendChild(h),p=function(){const e=document.createElement("a");return e.className="button buttonPrimary pageActionButtonToTop initiallyHidden jsTooltip",e.href="",e.title=o.get("wcf.global.scrollUp"),e.setAttribute("aria-hidden","true"),e.innerHTML='<span class="icon icon32 fa-angle-up"></span>',e.addEventListener("click",s),e}(),m.appendChild(p),document.body.appendChild(m);const e=n.debounce(a,100);window.addEventListener("scroll",(()=>{-1===g&&(g=window.pageYOffset,window.setTimeout((()=>{a(),g=window.pageYOffset}),60)),e()}),{passive:!0}),window.addEventListener("touchstart",(()=>{-1!==g&&(g=-1)}),{passive:!0}),r.on("screen-sm-down",{match(){b=50},unmatch(){b=300},setup(){b=50}}),a()}function d(e){const t=u.get(e);if(t){t.parentElement.setAttribute("aria-hidden","true"),l()}}Object.defineProperty(t,"__esModule",{value:!0}),t.show=t.hide=t.remove=t.get=t.has=t.add=t.setup=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r);const u=new Map;let h,p,m,f=!1,g=-1,b=300;const _=n.debounce((()=>{g=-1}),50);t.setup=c,t.add=function(e,t,i){c();const n=document.createElement("div");n.className="pageActionButton",n.dataset.name=e,n.setAttribute("aria-hidden","true"),t.classList.add("button"),t.classList.add("buttonPrimary"),n.appendChild(t);let o=null;i&&(o=u.get(i)||null,o&&(o=o.parentElement)),!o&&h.childElementCount&&(o=h.children[0]),o||(o=h.firstChild),h.insertBefore(n,o),m.classList.remove("scrolledDown"),u.set(e,t),n.offsetParent,n.setAttribute("aria-hidden","false"),l()},t.has=function(e){return u.has(e)},t.get=function(e){return u.get(e)},t.remove=function(e){const t=u.get(e);if(void 0!==t){const i=t.parentElement,o=()=>{try{n.stringToBool(i.getAttribute("aria-hidden"))&&(h.removeChild(i),u.delete(e)),i.removeEventListener("transitionend",o)}catch(e){}};i.addEventListener("transitionend",o),d(e)}},t.hide=d,t.show=function(e){const t=u.get(e);if(t){const e=t.parentElement;e.classList.contains("initiallyHidden")&&e.classList.remove("initiallyHidden"),e.setAttribute("aria-hidden","false"),m.classList.remove("scrolledDown"),l()}}})),define("WoltLabSuite/Core/Ui/TabMenu/Simple",["require","exports","tslib","../../Core","../../Dom/Traverse","../../Dom/Util","../../Environment","../../Event/Handler"],(function(e,t,i,n,o,r,a,s){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importStar(a),s=i.__importStar(s);class l{constructor(e){this.containers=new Map,this.isLegacy=!1,this.store=null,this.tabs=new Map,this.container=e}validate(){if(!this.container.classList.contains("tabMenuContainer"))return!1;const e=o.childByTag(this.container,"NAV");if(null===e)return!1;const t=e.querySelectorAll("li");if(0===t.length)return!1;o.childrenByTag(this.container,"DIV").forEach((e=>{let t=e.dataset.name;t||(t=r.default.identify(e),e.dataset.name=t),this.containers.set(t,e)}));const i=this.container.id;if(t.forEach((e=>{const t=this._getTabName(e);if(!t)return;if(this.tabs.has(t))throw new Error("Tab names must be unique, li[data-name='"+t+"'] (tab menu id: '"+i+"') exists more than once.");const n=this.containers.get(t);if(void 0===n)throw new Error("Expected content element for li[data-name='"+t+"'] (tab menu id: '"+i+"').");if(n.parentNode!==this.container)throw new Error("Expected content element '"+t+"' (tab menu id: '"+i+"') to be a direct children.");if(1!==e.childElementCount||"A"!==e.children[0].nodeName)throw new Error("Expected exactly one <a> as children for li[data-name='"+t+"'] (tab menu id: '"+i+"').");this.tabs.set(t,e)})),!this.tabs.size)throw new Error("Expected at least one tab (tab menu id: '"+i+"').");return this.isLegacy&&(this.container.dataset.isLegacy="true",this.tabs.forEach((function(e,t){e.setAttribute("aria-controls",t)}))),!0}init(e){this.tabs.forEach((t=>{if(!e||e.get(t.dataset.name||"")!==t){const e=t.children[0];if(e.addEventListener("click",(e=>this._onClick(e))),"ios"===a.platform()){let t=!1;e.addEventListener("touchstart",(()=>{t=!0})),e.addEventListener("touchmove",(()=>{t=!1})),e.addEventListener("touchend",(e=>{t&&(t=!1,e.preventDefault(),this._onClick(e))}))}}}));let t=null;if(!e){const e=l.getIdentifierFromHash();let i;if(""!==e&&(i=this.tabs.get(e),i)){const e=this.container.parentNode;e.classList.contains("tabMenuContainer")&&(t=e)}if(!i){let e=this.container.dataset.preselect||this.container.dataset.active;"true"!==e&&e||(e=!0),!0===e?this.tabs.forEach((function(e){i||r.default.isHidden(e)||e.previousElementSibling&&!r.default.isHidden(e.previousElementSibling)||(i=e)})):"string"==typeof e&&"false"!==e&&(i=this.tabs.get(e))}i&&(this.containers.forEach((e=>{e.classList.add("hidden")})),this.select(null,i,!0));const n=this.container.dataset.store;if(n){const e=document.createElement("input");e.type="hidden",e.name=n,e.value=this.getActiveTab().dataset.name||"",this.container.appendChild(e),this.store=e}}return t}select(t,n,o){if(t=t?t.toString():"",!(n=n||this.tabs.get(t))){if(~~t==+t){t=~~t;let e=0;this.tabs.forEach((i=>{e===t&&(n=i),e++}))}if(!n)throw new Error(`Expected a valid tab name, '${t}' given (tab menu id: '${this.container.id}').`)}t=t||n.dataset.name||"";const r=this.getActiveTab();let a=null;if(r){const e=r.dataset.name;if(e===t)return;o||s.fire("com.woltlab.wcf.simpleTabMenu_"+this.container.id,"beforeSelect",{tab:r,tabName:e}),r.classList.remove("active"),a=this.containers.get(r.dataset.name||""),a.classList.remove("active"),a.classList.add("hidden"),this.isLegacy&&(r.classList.remove("ui-state-active"),a.classList.remove("ui-state-active"))}n.classList.add("active");const c=this.containers.get(t);if(c.classList.add("active"),c.classList.remove("hidden"),this.isLegacy&&(n.classList.add("ui-state-active"),c.classList.add("ui-state-active")),this.store&&(this.store.value=t),!o){s.fire("com.woltlab.wcf.simpleTabMenu_"+this.container.id,"select",{active:n,activeName:t,previous:r,previousName:r?r.dataset.name:null});const e=this.isLegacy&&"function"==typeof window.jQuery?window.jQuery:null;e&&e(this.container).trigger("wcftabsbeforeactivate",{newTab:e(n),oldTab:e(r),newPanel:e(c),oldPanel:e(a)});let i=window.location.href.replace(/#+[^#]*$/,"");l.getIdentifierFromHash()===t?i+=window.location.hash:i+="#"+t,window.history.replaceState(void 0,"",i)}new Promise(((t,i)=>{e(["../TabMenu"],t,i)})).then(i.__importStar).then((e=>{e.scrollToTab(n)}))}selectFirstVisible(){let e=null;return this.tabs.forEach((t=>{e||r.default.isHidden(t)||(e=t)})),e&&this.select(null,e,!1),null!==e}rebuild(){const e=new Map(this.tabs);this.validate(),this.init(e)}hasTab(e){return this.tabs.has(e)}_onClick(e){e.preventDefault();const t=e.currentTarget;this.select(null,t.parentNode)}_getTabName(e){let t=e.dataset.name||null;if(!t&&1===e.childElementCount&&"A"===e.children[0].nodeName){const i=e.children[0];/#([^#]+)$/.exec(i.href)&&(t=RegExp.$1,null===document.getElementById(t)?t=null:(this.isLegacy=!0,e.dataset.name=t))}return t}getActiveTab(){return document.querySelector("#"+this.container.id+" > nav > ul > li.active")}getContainers(){return this.containers}getTabs(){return this.tabs}static getIdentifierFromHash(){return/^#+([^/]+)+(?:\/.+)?/.exec(window.location.hash)?RegExp.$1:""}}return n.enableLegacyInheritance(l),l})),define("WoltLabSuite/Core/Ui/Scroll",["require","exports","tslib","../Dom/Util"],(function(e,t,i,n){"use strict";function o(){null!==s&&window.clearTimeout(s),s=window.setTimeout((()=>{null!==r&&r(),window.removeEventListener("scroll",o),r=null,s=null}),100)}Object.defineProperty(t,"__esModule",{value:!0}),t.element=void 0,n=i.__importDefault(n);let r=null,a=null,s=null;t.element=function(e,t){if(!(e instanceof HTMLElement))throw new TypeError("Expected a valid DOM element.");if(void 0!==t&&"function"!=typeof t)throw new TypeError("Expected a valid callback function.");if(!document.body.contains(e))throw new Error("Element must be part of the visible DOM.");if(null!==r)throw new Error("Cannot scroll to element, a concurrent request is running.");t&&(r=t,window.addEventListener("scroll",o));let i=n.default.offset(e).top;if(null===a){a=50;const e=document.getElementById("pageHeaderPanel");if(null!==e){const t=window.getComputedStyle(e).position;a="fixed"===t||"static"===t?e.offsetHeight:0}}a>0&&(i<=a?i=0:i-=a);const s=window.pageYOffset;window.scrollTo({left:0,top:i,behavior:"smooth"}),window.setTimeout((()=>{s===window.pageYOffset&&o()}),100)}})),define("WoltLabSuite/Core/Ui/TabMenu",["require","exports","tslib","../Dom/Change/Listener","../Dom/Util","./TabMenu/Simple","./CloseOverlay","./Screen","./Scroll"],(function(e,t,i,n,o,r,a,s,l){"use strict";function c(){document.querySelectorAll(".tabMenuContainer:not(.staticTabMenuContainer)").forEach((e=>{const t=o.default.identify(e);if(_.has(t))return;let i=new r.default(e);if(!i.validate())return;const n=i.init();if(_.set(t,i),n instanceof HTMLElement){const e=m(n.parentNode.id);e&&(i=e,i.select(n.id,void 0,!0))}const a=document.querySelector("#"+t+" > nav > ul");a.addEventListener("click",(e=>{e.preventDefault(),e.stopPropagation(),e.target===a?(a.classList.add("active"),g=a):(a.classList.remove("active"),g=null)})),e.querySelectorAll(".tabMenu, .menu").forEach((e=>{function t(){i=null,p(e)}let i=null;e.querySelector("ul").addEventListener("scroll",(()=>{null!==i&&window.clearTimeout(i),i=window.setTimeout(t,10)}),{passive:!0})}));const s=e.closest("form");if(null!==s){const t=s.querySelector('input[type="submit"]');null!==t&&t.addEventListener("click",(t=>{t.defaultPrevented||e.querySelectorAll("input, select").forEach((e=>{if(!e.checkValidity()){t.preventDefault();const i=m(e.closest(".tabMenuContainer").id),n=e.closest(".tabMenuContent");return i.select(n.dataset.name||""),void l.element(e,(()=>{e.reportValidity()}))}}))}))}}))}function d(e){b=!0,_.forEach((t=>{const i=t.getActiveTab();e?p(i.closest(".menu, .tabMenu")):f(i)}))}function u(){b=!1}function h(e,t,i,n,o,r){(r||t>0)&&(t-=15),i!==(t=t<0?0:Math.min(t,n-o))&&(e.classList.add("enableAnimation"),i<t?e.firstElementChild.style.setProperty("margin-left",i-t+"px",""):e.style.setProperty("padding-left",i-t+"px",""),setTimeout((()=>{e.classList.remove("enableAnimation"),e.firstElementChild.style.removeProperty("margin-left"),e.style.removeProperty("padding-left"),e.scrollLeft=t}),300))}function p(e){if(!b)return;const t=e.clientWidth,i=e.querySelector("ul"),n=i.scrollLeft,o=i.scrollWidth,r=n>0;let a=e.querySelector(".tabMenuOverlayLeft");r?(null===a&&(a=document.createElement("span"),a.className="tabMenuOverlayLeft icon icon24 fa-angle-left",a.addEventListener("click",(()=>{const e=i.clientWidth;h(i,i.scrollLeft-~~(e/2),i.scrollLeft,i.scrollWidth,e,!1)})),e.insertBefore(a,e.firstChild)),a.classList.add("active")):null!==a&&a.classList.remove("active");const s=t+n<o;let l=e.querySelector(".tabMenuOverlayRight");s?(null===l&&(l=document.createElement("span"),l.className="tabMenuOverlayRight icon icon24 fa-angle-right",l.addEventListener("click",(()=>{const e=i.clientWidth;h(i,i.scrollLeft+~~(e/2),i.scrollLeft,i.scrollWidth,e,!1)})),e.appendChild(l)),l.classList.add("active")):null!==l&&l.classList.remove("active")}function m(e){return _.get(e)}function f(e){if(!b)return;const t=e.closest("ul"),i=t.clientWidth,n=t.scrollLeft,o=t.scrollWidth;if(i===o)return;const r=e.offsetLeft;let a=!1;r<n&&(a=!0);let s=!1;if(!a){const t=i-(r-n);let o=e.clientWidth;null!==e.nextElementSibling&&(s=!0,o+=20),t<o&&(a=!0)}a&&h(t,r,n,o,i,s)}Object.defineProperty(t,"__esModule",{value:!0}),t.scrollToTab=t.getTabMenu=t.setup=void 0,n=i.__importDefault(n),o=i.__importDefault(o),r=i.__importDefault(r),a=i.__importDefault(a),s=i.__importStar(s),l=i.__importStar(l);let g=null,b=!1;const _=new Map;t.setup=function(){c(),_.forEach((e=>{let t=!1;e.getContainers().forEach((i=>{t||null===i.querySelector(".formError")||(t=!0,e.select(i.id))}))})),n.default.add("WoltLabSuite/Core/Ui/TabMenu",c),a.default.add("WoltLabSuite/Core/Ui/TabMenu",(()=>{g&&(g.classList.remove("active"),g=null)})),s.on("screen-sm-down",{match(){d(!1)},unmatch:u,setup(){d(!0)}}),window.addEventListener("hashchange",(()=>{const e=r.default.getIdentifierFromHash(),t=e?document.getElementById(e):null;null!==t&&t.classList.contains("tabMenuContent")&&_.forEach((t=>{t.hasTab(e)&&t.select(e)}))}));const e=r.default.getIdentifierFromHash();e&&window.setTimeout((()=>{const t=document.getElementById(e);if(t&&t.classList.contains("tabMenuContent")){const e=window.scrollY||window.pageYOffset;if(e>0){const i=t.parentNode;let n=i.offsetTop-50;if(n<0&&(n=0),e>n){let e=o.default.offset(i).top;e<=50?e=0:e-=50,window.scrollTo(0,e)}}}}),100)},t.getTabMenu=m,t.scrollToTab=f})),define("WoltLabSuite/Core/Ui/Tooltip",["require","exports","tslib","../Dom/Change/Listener","../Environment","./Alignment"],(function(e,t,i,n,o,r){"use strict";function a(e){const t=e.currentTarget;let i=t.title.trim();""!==i&&(t.dataset.tooltip=i,t.setAttribute("aria-label",i),t.removeAttribute("title")),i=t.dataset.tooltip||"",u.style.removeProperty("top"),u.style.removeProperty("left"),i.length?(u.classList.add("active"),d.textContent=i,r.set(u,t,{horizontal:"center",verticalOffset:4,pointer:!0,pointerClassNames:["inverse"],vertical:"top"})):u.classList.remove("active")}function s(){u.classList.remove("active")}function l(){document.querySelectorAll(".jsTooltip").forEach((e=>{e.classList.remove("jsTooltip");const t=e.title.trim();t.length&&(e.dataset.tooltip=t,e.removeAttribute("title"),e.setAttribute("aria-label",t),e.addEventListener("mouseenter",a),e.addEventListener("mouseleave",s),e.addEventListener("click",s))}))}let c,d,u;Object.defineProperty(t,"__esModule",{value:!0}),t.init=t.setup=void 0,n=i.__importDefault(n),o=i.__importStar(o),r=i.__importStar(r),t.setup=function(){"desktop"===o.platform()&&(u=document.createElement("div"),u.id="balloonTooltip",u.classList.add("balloonTooltip"),u.addEventListener("transitionend",(()=>{u.classList.contains("active")||["bottom","left","right","top"].forEach((e=>{u.style.removeProperty(e)}))})),d=document.createElement("span"),d.id="balloonTooltipText",u.appendChild(d),c=document.createElement("span"),c.classList.add("elementPointer"),c.appendChild(document.createElement("span")),u.appendChild(c),document.body.appendChild(u),l(),n.default.add("WoltLabSuite/Core/Ui/Tooltip",l),window.addEventListener("scroll",s))},t.init=l})),define("WoltLabSuite/Core/Ui/Page/JumpTo",["require","exports","tslib","../../Language","../Dialog"],(function(e,t,i,n,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,n=i.__importStar(n),o=i.__importDefault(o);class r{constructor(){this.elements=new Map}init(e,t){if(t){if("function"!=typeof t)throw new TypeError("Expected a valid function for parameter 'callback'.")}else{const i=e.dataset.link;t=i?e=>{window.location.href=i.replace(/pageNo=%d/,`pageNo=${e}`)}:()=>{}}this.elements.has(e)||e.querySelectorAll(".jumpTo").forEach((i=>{i.addEventListener("click",(t=>this.click(e,t))),this.elements.set(e,t)}))}click(e,t){t.preventDefault(),this.activeElement=e,o.default.open(this);const i=e.dataset.pages||"0";this.input.value=i,this.input.max=i,this.input.select(),this.description.textContent=n.get("wcf.page.jumpTo.description").replace(/#pages#/,i)}_keyUp(e){if("Enter"===e.key&&!this.submitButton.disabled)return void this.submit();const t=+this.input.value;this.submitButton.disabled=t<1||t>+this.input.max}submit(){this.elements.get(this.activeElement)(+this.input.value),o.default.close(this)}_dialogSetup(){const e=`<dl>\n <dt><label for="jsPaginationPageNo">${n.get("wcf.page.jumpTo")}</label></dt>\n <dd>\n <input type="number" id="jsPaginationPageNo" value="1" min="1" max="1" class="tiny">\n <small></small>\n </dd>\n </dl>\n <div class="formSubmit">\n <button class="buttonPrimary">${n.get("wcf.global.button.submit")}</button>\n </div>`;return{id:"paginationOverlay",options:{onSetup:e=>{this.input=e.querySelector("input"),this.input.addEventListener("keyup",(e=>this._keyUp(e))),this.description=e.querySelector("small"),this.submitButton=e.querySelector("button"),this.submitButton.addEventListener("click",(()=>this.submit()))},title:n.get("wcf.global.page.pagination")},source:e}}}let a=null;t.init=function(e,t){(null===a&&(a=new r),a).init(e,t)}})),define("WoltLabSuite/Core/Ui/Password",["require","exports","tslib","../Dom/Change/Listener","../Language"],(function(e,t,i,n,o){"use strict";function r(){document.querySelectorAll("input[type=password]").forEach((e=>{s.has(e)||function(e){s.add(e);const t=document.activeElement,i=document.createElement("div");i.classList.add("inputAddon"),e.insertAdjacentElement("beforebegin",i),i.appendChild(e);const n=document.createElement("span");n.title=o.get("wcf.global.form.password.button.show"),n.classList.add("button","inputSuffix","jsTooltip"),n.setAttribute("role","button"),n.tabIndex=0,n.setAttribute("aria-hidden","true"),i.appendChild(n);const r=document.createElement("span");r.classList.add("icon","icon16","fa-eye"),n.appendChild(r),n.addEventListener("click",(()=>{a(e,n,r)})),n.addEventListener("keydown",(t=>{"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),a(e,n,r))})),t===e&&e.focus()}(e)}))}function a(e,t,i){"password"===e.type?(i.classList.remove("fa-eye"),i.classList.add("fa-eye-slash"),t.dataset.tooltip=o.get("wcf.global.form.password.button.hide"),e.type="text"):(i.classList.add("fa-eye"),i.classList.remove("fa-eye-slash"),t.dataset.tooltip=o.get("wcf.global.form.password.button.show"),e.type="password")}Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,n=i.__importDefault(n),o=i.__importStar(o);const s=new WeakSet;t.setup=function(){r(),n.default.add("WoltLabSuite/Core/Ui/Password",(()=>r()))}})),define("WoltLabSuite/Core/Ui/Empty",["require","exports","tslib","../Dom/Change/Listener"],(function(e,t,i,n){"use strict";function o(){document.querySelectorAll(".jsReloadPageWhenEmpty").forEach((e=>{e.classList.remove("jsReloadPageWhenEmpty"),r.observe(e,{childList:!0})}))}Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,n=i.__importDefault(n);const r=new MutationObserver((e=>{e.forEach((e=>{const t=e.target;if(0===t.childElementCount)window.location.reload();else{Array.from(t.children).every((e=>"ignore"===e.dataset.reloadPageWhenEmpty))&&window.location.reload()}}))}));t.setup=function(){o(),n.default.add("WoltLabSuite/Core/Ui/Empty",(()=>o()))}})),define("WoltLabSuite/Core/Ui/Confirmation",["require","exports","tslib","../Core","../Language","./Dialog"],(function(e,t,i,n,o,r){"use strict";function a(){return l||(l=new s),l}Object.defineProperty(t,"__esModule",{value:!0}),t.getContentElement=t.show=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r);class s{constructor(){this._active=!1,this.dialog=document.createElement("div"),this.dialog.id="wcfSystemConfirmation",this.dialog.classList.add("systemConfirmation"),this.text=document.createElement("p"),this.dialog.appendChild(this.text),this._content=document.createElement("div"),this._content.id="wcfSystemConfirmationContent",this.dialog.appendChild(this._content);const e=document.createElement("div");e.classList.add("formSubmit"),this.dialog.appendChild(e),this.confirmButton=document.createElement("button"),this.confirmButton.dataset.type="submit",this.confirmButton.classList.add("buttonPrimary"),this.confirmButton.textContent=o.get("wcf.global.confirmation.confirm"),e.appendChild(this.confirmButton);const t=document.createElement("button");t.textContent=o.get("wcf.global.confirmation.cancel"),t.addEventListener("click",(()=>{r.default.close(this)})),e.appendChild(t),document.body.appendChild(this.dialog)}open(e){this.parameters=e.parameters||{},this._content.innerHTML="string"==typeof e.template?e.template.trim():"",this.text[e.messageIsHtml?"innerHTML":"textContent"]=e.message,"function"==typeof e.legacyCallback?(this.callbackCancel=t=>{e.legacyCallback("cancel",t,this.content)},this.callbackConfirm=t=>{e.legacyCallback("confirm",t,this.content)}):("function"!=typeof e.cancel&&(e.cancel=()=>{}),this.callbackCancel=e.cancel,this.callbackConfirm=e.confirm),this._active=!0,r.default.open(this)}get active(){return this._active}get content(){return this._content}_confirm(){this.callbackConfirm(this.parameters,this.content),this._active=!1,r.default.close("wcfSystemConfirmation")}_onClose(){this.active&&(this.confirmButton.blur(),this._active=!1,this.callbackCancel(this.parameters))}_onShow(){this.confirmButton.blur(),this.confirmButton.focus()}_dialogSetup(){return{id:"wcfSystemConfirmation",options:{onClose:this._onClose.bind(this),onShow:this._onShow.bind(this),title:o.get("wcf.global.confirmation.title")}}}_dialogSubmit(){this._confirm()}}let l;t.show=function(e){if(!a().active){if((e=n.extend({cancel:null,confirm:null,legacyCallback:null,message:"",messageIsHtml:!1,parameters:{},template:""},e)).message="string"==typeof e.message?e.message.trim():"",!e.message)throw new Error("Expected a non-empty string for option 'message'.");if("function"!=typeof e.confirm&&"function"!=typeof e.legacyCallback)throw new TypeError("Expected a valid callback for option 'confirm'.");a().open(e)}},t.getContentElement=function(){return a().content}})),define("WoltLabSuite/Core/Ui/Object/Action",["require","exports","tslib","../../Ajax","../../Event/Handler","../Confirmation","../../Language","../../StringUtil","../../Dom/Change/Listener"],(function(e,t,i,n,o,r,a,s,l){"use strict";function c(e){function t(){n.apiOnce({data:{actionName:l,className:c,objectIDs:[d],parameters:p},success:e=>function(e,t){"reload"===e.dataset.objectActionSuccess?window.location.reload():o.fire("WoltLabSuite/Core/Ui/Object/Action",e.dataset.objectAction,{containerElement:e.closest(u),data:t,objectElement:e.closest(h)})}(i,e)})}const i=e.currentTarget,l=i.dataset.objectAction;let c=i.closest(u).dataset.objectActionClassName;i.dataset.objectActionClassName&&(c=i.dataset.objectActionClassName);let d=i.closest(h).dataset.objectId;i.dataset.objectId&&(d=i.dataset.objectId);const p={};Object.entries(i.dataset).forEach((([e,t])=>{let i=/^objectActionParameterData(.+)/.exec(e);if(i)Object.prototype.hasOwnProperty.call(p,"data")||(p.data={}),p.data[s.lcfirst(i[1])]=t;else if(i=/^objectActionParameter(.+)/.exec(e),i){const e=s.lcfirst(i[1]);if("data"===e)throw new Error("Additional object action parameters may not use 'data' as key.");p[e]=t}})),i.dataset.confirmMessage?r.show({confirm:t,message:a.get(i.dataset.confirmMessage),messageIsHtml:!0}):t()}function d(){document.querySelectorAll(`${u} ${h} .jsObjectAction[data-object-action]`).forEach((e=>{p.has(e)||(e.addEventListener("click",(e=>c(e))),p.add(e))}))}Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importDefault(l);const u=".jsObjectActionContainer[data-object-action-class-name]",h=".jsObjectActionObject[data-object-id]",p=new Set;t.setup=function(){d(),l.default.add("WoltLabSuite/Core/Ui/Action",(()=>d()))}})),define("WoltLabSuite/Core/Controller/Clipboard",["require","exports","tslib","../Ajax","../Core","../Dom/Change/Listener","../Dom/Util","../Event/Handler","../Language","../Ui/Confirmation","../Ui/Dropdown/Simple","../Ui/Page/Action","../Ui/Screen"],(function(e,t,i,n,o,r,a,s,l,c,d,u,h){"use strict";function p(){return g||(g=new f),g}Object.defineProperty(t,"__esModule",{value:!0}),t.unmark=t.showEditor=t.hideEditor=t.reload=t.setup=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importDefault(a),s=i.__importStar(s),l=i.__importStar(l),c=i.__importStar(c),d=i.__importDefault(d),u=i.__importStar(u),h=i.__importStar(h);const m='.messageCheckboxLabel > input[type="checkbox"], .message .messageClipboardCheckbox > input[type="checkbox"], .messageGroupList .columnMark > label > input[type="checkbox"]';class f{constructor(){this.containers=new Map,this.editors=new Map,this.editorDropdowns=new Map,this.itemData=new WeakMap,this.knownCheckboxes=new WeakSet,this.pageClassNames=[],this.pageObjectId=0,this.reloadPageOnSuccess=new Map}setup(e){if(!e.pageClassName)throw new Error("Expected a non-empty string for parameter 'pageClassName'.");let t=!1;0===this.pageClassNames.length&&(t=e.hasMarkedItems,this.pageObjectId=e.pageObjectId),this.pageClassNames.push(e.pageClassName),this.initContainers(),t&&this.containers.size&&this.loadMarkedItems(),r.default.add("WoltLabSuite/Core/Controller/Clipboard",(()=>this.initContainers()))}reload(){this.containers.size&&this.loadMarkedItems()}initContainers(){document.querySelectorAll(".jsClipboardContainer").forEach((e=>{const t=a.default.identify(e);let i=this.containers.get(t);if(void 0===i){const n=e.querySelector(".jsClipboardMarkAll");if(null!==n){if(n.matches(m)){const e=n.closest("label");e.setAttribute("role","checkbox"),e.tabIndex=0,e.setAttribute("aria-checked","false"),e.setAttribute("aria-label",l.get("wcf.clipboard.item.markAll")),e.addEventListener("keyup",(e=>{"Enter"!==e.key&&"Space"!==e.key||n.click()}))}n.dataset.containerId=t,n.addEventListener("click",(e=>this.markAll(e)))}i={checkboxes:e.getElementsByClassName("jsClipboardItem"),element:e,markAll:n,markedObjectIds:new Set},this.containers.set(t,i)}Array.from(i.checkboxes).forEach((e=>{if(this.knownCheckboxes.has(e))return;if(e.dataset.containerId=t,e.matches(m)){const t=e.closest("label");t.setAttribute("role","checkbox"),t.tabIndex=0,t.setAttribute("aria-checked","false"),t.setAttribute("aria-label",l.get("wcf.clipboard.item.mark")),t.addEventListener("keyup",(t=>{"Enter"!==t.key&&"Space"!==t.key||e.click()}))}null===e.closest("a")?e.addEventListener("click",(e=>this.mark(e))):e.addEventListener("click",(t=>{t.preventDefault(),window.setTimeout((()=>{e.checked=!e.checked,this.mark(e)}),10)})),this.knownCheckboxes.add(e)}))}))}loadMarkedItems(){n.api(this,{actionName:"getMarkedItems",parameters:{pageClassNames:this.pageClassNames,pageObjectID:this.pageObjectId}})}markAll(e){const t=e.currentTarget,i="INPUT"!==t.nodeName||t.checked;this.setParentAsMarked(t,i);const n=[],o=t.dataset.containerId,r=this.containers.get(o),a=r.element.dataset.type;Array.from(r.checkboxes).forEach((e=>{const o=~~e.dataset.objectId;i?e.checked||(e.checked=!0,r.markedObjectIds.add(o),n.push(o)):e.checked&&(e.checked=!1,r.markedObjectIds.delete(o),n.push(o)),this.setParentAsMarked(e,i);const a=t.closest(".jsClipboardObject");null!==a&&(i?a.classList.add("jsMarked"):a.classList.remove("jsMarked"))})),this.saveState(a,n,i)}mark(e){const t=e instanceof Event?e.currentTarget:e,i=~~t.dataset.objectId,n=t.checked,o=t.dataset.containerId,r=this.containers.get(o),a=r.element.dataset.type,s=t.closest(".jsClipboardObject");n?(r.markedObjectIds.add(i),s.classList.add("jsMarked")):(r.markedObjectIds.delete(i),s.classList.remove("jsMarked")),null!==r.markAll&&(r.markAll.checked=!Array.from(r.checkboxes).some((e=>!e.checked)),this.setParentAsMarked(r.markAll,n)),this.setParentAsMarked(t,t.checked),this.saveState(a,[i],n)}saveState(e,t,i){n.api(this,{actionName:i?"mark":"unmark",parameters:{pageClassNames:this.pageClassNames,pageObjectID:this.pageObjectId,objectIDs:t,objectType:e}})}executeAction(e){function t(){const e=i.dataset.type;s.fire("com.woltlab.wcf.clipboard",e,{data:n,listItem:i,responseData:null})}const i=e.currentTarget,n=this.itemData.get(i);if(n.url)return void(window.location.href=n.url);const r="string"==typeof n.internalData.confirmMessage?n.internalData.confirmMessage:"";let a=!0;if(o.isPlainObject(n.parameters)&&n.parameters.actionName&&n.parameters.className){if("unmarkAll"===n.parameters.actionName||Array.isArray(n.parameters.objectIDs))if(r.length){const e="string"==typeof n.internalData.template?n.internalData.template:"";c.show({confirm:()=>{const t={};e.length&&c.getContentElement().querySelectorAll("input, select, textarea").forEach((e=>{const i=e.name;switch(e.nodeName){case"INPUT":("checkbox"!==e.type&&"radio"!==e.type||e.checked)&&(t[i]=e.value);break;case"SELECT":t[i]=e.value;break;case"TEXTAREA":t[i]=e.value.trim()}})),this.executeProxyAction(i,n,t)},message:r,template:e})}else this.executeProxyAction(i,n)}else r.length&&(a=!1,c.show({confirm:t,message:r}));a&&t()}executeProxyAction(e,t,i={}){const r="unmarkAll"!==t.parameters.actionName?t.parameters.objectIDs:[],a={data:i};o.isPlainObject(t.internalData.parameters)&&Object.entries(t.internalData.parameters).forEach((([e,t])=>{a[e]=t})),n.api(this,{actionName:t.parameters.actionName,className:t.parameters.className,objectIDs:r,parameters:a},(i=>{if("unmarkAll"!==t.actionName){const n=e.dataset.type;s.fire("com.woltlab.wcf.clipboard",n,{data:t,listItem:e,responseData:i});const o=this.reloadPageOnSuccess.get(n);if(o&&o.includes(i.actionName))return void window.location.reload()}this.loadMarkedItems()}))}unmarkAll(e){const t=e.currentTarget;n.api(this,{actionName:"unmarkAll",parameters:{objectType:t.dataset.type}})}_ajaxSetup(){return{data:{className:"wcf\\data\\clipboard\\item\\ClipboardItemAction"}}}_ajaxSuccess(e){if("unmarkAll"===e.actionName){const t=e.returnValues.objectType;return void this.containers.forEach((e=>{e.element.dataset.type===t&&(e.element.querySelectorAll(".jsMarked").forEach((e=>e.classList.remove("jsMarked"))),null!==e.markAll&&(e.markAll.checked=!1,this.setParentAsMarked(e.markAll,!1)),Array.from(e.checkboxes).forEach((e=>{e.checked=!1,this.setParentAsMarked(e,!1)})),u.remove(`wcfClipboard-${t}`))}))}this.itemData=new WeakMap,this.reloadPageOnSuccess.clear();const t=o.isPlainObject(e.returnValues.markedItems)?e.returnValues.markedItems:{};this.containers.forEach((e=>{const i=e.element.dataset.type,n=Array.isArray(t[i])?t[i]:[];this.rebuildMarkings(e,n)}));const i=Object.keys(e.returnValues.items||{});this.editors.forEach(((e,t)=>{i.includes(t)||(u.remove(`wcfClipboard-${t}`),this.editorDropdowns.get(t).innerHTML="")})),e.returnValues.items&&Object.entries(e.returnValues.items).forEach((([e,t])=>{this.reloadPageOnSuccess.set(e,t.reloadPageOnSuccess);let n=!1,o=this.editors.get(e),r=this.editorDropdowns.get(e);void 0===o?(n=!0,o=document.createElement("a"),o.className="dropdownToggle",o.textContent=t.label,this.editors.set(e,o),r=document.createElement("ol"),r.className="dropdownMenu",this.editorDropdowns.set(e,r)):(o.textContent=t.label,r.innerHTML=""),Object.values(t.items).forEach((t=>{const i=document.createElement("li"),n=document.createElement("span");n.textContent=t.label,i.appendChild(n),r.appendChild(i),i.dataset.type=e,i.addEventListener("click",(e=>this.executeAction(e))),this.itemData.set(i,t)}));const a=document.createElement("li");a.classList.add("dropdownDivider"),r.appendChild(a);const s=document.createElement("li");s.dataset.type=e;const c=document.createElement("span");if(c.textContent=l.get("wcf.clipboard.item.unmarkAll"),s.appendChild(c),s.addEventListener("click",(e=>this.unmarkAll(e))),r.appendChild(s),-1!==i.indexOf(e)){const t=`wcfClipboard-${e}`;u.has(t)?u.show(t):u.add(t,o)}if(n){const e=o.parentElement;e.classList.add("dropdown"),e.appendChild(r),d.default.init(o)}}))}rebuildMarkings(e,t){var i;let n=!0;if(Array.from(e.checkboxes).forEach((e=>{const i=e.closest(".jsClipboardObject"),o=t.includes(~~e.dataset.objectId);o||(n=!1),e.checked=o,o?i.classList.add("jsMarked"):i.classList.remove("jsMarked"),this.setParentAsMarked(e,o)})),null!==e.markAll){e.markAll.checked=n,this.setParentAsMarked(e.markAll,n);const t=null===(i=e.markAll.closest(".columnMark"))||void 0===i?void 0:i.parentNode;t&&(n?t.classList.add("jsMarked"):t.classList.remove("jsMarked"))}}setParentAsMarked(e,t){const i=e.parentElement;"checkbox"===i.getAttribute("role")&&i.setAttribute("aria-checked",t?"true":"false")}hideEditor(e){u.remove("wcfClipboard-"+e),h.pageOverlayOpen()}showEditor(){this.loadMarkedItems(),h.pageOverlayClose()}unmark(e,t){this.saveState(e,t,!1)}}let g;t.setup=function(e){p().setup(e)},t.reload=function(){p().reload()},t.hideEditor=function(e){p().hideEditor(e)},t.showEditor=function(){p().showEditor()},t.unmark=function(e,t){p().unmark(e,t)}})),define("WoltLabSuite/Core/Ui/Object/Action/Handler",["require","exports","tslib","../../../Event/Handler","../../../Controller/Clipboard"],(function(e,t,i,n,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n=i.__importStar(n),o=i.__importStar(o);t.default=class{constructor(e,t,i){this.objectAction=i,n.add("WoltLabSuite/Core/Ui/Object/Action",e,(e=>this.handleObjectAction(e))),document.querySelectorAll(".jsClipboardContainer[data-type]").forEach((e=>{n.add("com.woltlab.wcf.clipboard",e.dataset.type,(e=>{null!==e.responseData&&-1!==t.indexOf(e.responseData.actionName)&&this.handleClipboardAction(e)}))}))}handleClipboardAction(e){const t=e.listItem.dataset.type;document.querySelectorAll(`.jsClipboardContainer[data-type="${t}"] .jsClipboardObject`).forEach((t=>{const i=t.dataset.objectId;e.responseData.objectIDs.forEach((n=>{~~n==~~i&&this.objectAction({containerElement:t.closest(".jsObjectActionContainer"),data:e.responseData,objectElement:t})}))}))}handleObjectAction(e){this.objectAction(e),o.reload()}}})),define("WoltLabSuite/Core/Ui/Object/Action/Delete",["require","exports","tslib","./Handler"],(function(e,t,i,n){"use strict";function o(e){const t=e.objectElement.querySelector('.jsObjectAction[data-object-action="delete"]');if(!t||t.dataset.objectActionHandler)return;const i=e.objectElement.querySelector(".jsObjectActionObjectChildren");i&&Array.from(i.children).forEach((t=>{e.objectElement.insertAdjacentElement("beforebegin",t)})),e.objectElement.remove()}Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,n=i.__importDefault(n),t.setup=function(){new n.default("delete",["delete"],o)}})),define("WoltLabSuite/Core/Ui/Object/Action/Toogle",["require","exports","tslib","../../../Language","./Handler"],(function(e,t,i,n,o){"use strict";function r(e){const t=e.objectElement.querySelector('.jsObjectAction[data-object-action="toggle"]');if(t&&!t.dataset.objectActionHandler)if(t.classList.contains("fa-square-o")){t.classList.replace("fa-square-o","fa-check-square-o");const e=t.dataset.disableTitle||n.get("wcf.global.button.disable");t.title=e}else{t.classList.replace("fa-check-square-o","fa-square-o");const e=t.dataset.enableTitle||n.get("wcf.global.button.enable");t.title=e}}Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,n=i.__importStar(n),o=i.__importDefault(o),t.setup=function(){new o.default("toggle",["enable","disable"],r)}})),function e(t,i,n){function o(r,s){var l,c,d;if(!i[r]){if(!t[r]){if(l="function"==typeof require&&require,!s&&l)return l(r,!0);if(a)return a(r,!0);throw(c=new Error("Cannot find module '"+r+"'")).code="MODULE_NOT_FOUND",c}d=i[r]={exports:{}},t[r][0].call(d.exports,(function(e){var i=t[r][1][e];return o(i||e)}),d,d.exports,e,t,i,n)}return i[r].exports}var r,a="function"==typeof require&&require;for(r=0;r<n.length;r++)o(n[r]);return o}({1:[function(e,t,i){"use strict";var n=e("../main");"function"==typeof define&&define.amd?define("perfect-scrollbar",n):(window.PerfectScrollbar=n,void 0===window.Ps&&(window.Ps=n))},{"../main":7}],2:[function(e,t,i){"use strict";i.add=function(e,t){e.classList?e.classList.add(t):function(e,t){var i=e.className.split(" ");i.indexOf(t)<0&&i.push(t),e.className=i.join(" ")}(e,t)},i.remove=function(e,t){e.classList?e.classList.remove(t):function(e,t){var i=e.className.split(" "),n=i.indexOf(t);n>=0&&i.splice(n,1),e.className=i.join(" ")}(e,t)},i.list=function(e){return e.classList?Array.prototype.slice.apply(e.classList):e.className.split(" ")}},{}],3:[function(e,t,i){"use strict";var n={e:function(e,t){var i=document.createElement(e);return i.className=t,i},appendTo:function(e,t){return t.appendChild(e),e}};n.css=function(e,t,i){return"object"==typeof t?function(e,t){var i,n;for(i in t)"number"==typeof(n=t[i])&&(n=n.toString()+"px"),e.style[i]=n;return e}(e,t):void 0===i?function(e,t){return window.getComputedStyle(e)[t]}(e,t):function(e,t,i){return"number"==typeof i&&(i=i.toString()+"px"),e.style[t]=i,e}(e,t,i)},n.matches=function(e,t){return void 0!==e.matches?e.matches(t):void 0!==e.matchesSelector?e.matchesSelector(t):void 0!==e.webkitMatchesSelector?e.webkitMatchesSelector(t):void 0!==e.mozMatchesSelector?e.mozMatchesSelector(t):void 0!==e.msMatchesSelector?e.msMatchesSelector(t):void 0},n.remove=function(e){void 0!==e.remove?e.remove():e.parentNode&&e.parentNode.removeChild(e)},n.queryChildren=function(e,t){return Array.prototype.filter.call(e.childNodes,(function(e){return n.matches(e,t)}))},t.exports=n},{}],4:[function(e,t,i){"use strict";var n,o=function(e){this.element=e,this.events={}};o.prototype.bind=function(e,t){void 0===this.events[e]&&(this.events[e]=[]),this.events[e].push(t),this.element.addEventListener(e,t,!1)},o.prototype.unbind=function(e,t){var i=void 0!==t;this.events[e]=this.events[e].filter((function(n){return!(!i||n===t)||(this.element.removeEventListener(e,n,!1),!1)}),this)},o.prototype.unbindAll=function(){for(var e in this.events)this.unbind(e)},(n=function(){this.eventElements=[]}).prototype.eventElement=function(e){var t=this.eventElements.filter((function(t){return t.element===e}))[0];return void 0===t&&(t=new o(e),this.eventElements.push(t)),t},n.prototype.bind=function(e,t,i){this.eventElement(e).bind(t,i)},n.prototype.unbind=function(e,t,i){this.eventElement(e).unbind(t,i)},n.prototype.unbindAll=function(){for(var e=0;e<this.eventElements.length;e++)this.eventElements[e].unbindAll()},n.prototype.once=function(e,t,i){var n=this.eventElement(e),o=function(e){n.unbind(t,o),i(e)};n.bind(t,o)},t.exports=n},{}],5:[function(e,t,i){"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,i){"use strict";var n=e("./class"),o=e("./dom"),r=i.toInt=function(e){return parseInt(e,10)||0},a=i.clone=function(e){var t,i;if(e){if(e.constructor===Array)return e.map(a);if("object"==typeof e){for(i in t={},e)t[i]=a(e[i]);return t}return e}return null};i.extend=function(e,t){var i,n=a(e);for(i in t)n[i]=a(t[i]);return n},i.isEditable=function(e){return o.matches(e,"input,[contenteditable]")||o.matches(e,"select,[contenteditable]")||o.matches(e,"textarea,[contenteditable]")||o.matches(e,"button,[contenteditable]")},i.removePsClasses=function(e){var t,i,o=n.list(e);for(t=0;t<o.length;t++)0===(i=o[t]).indexOf("ps-")&&n.remove(e,i)},i.outerWidth=function(e){return r(o.css(e,"width"))+r(o.css(e,"paddingLeft"))+r(o.css(e,"paddingRight"))+r(o.css(e,"borderLeftWidth"))+r(o.css(e,"borderRightWidth"))},i.startScrolling=function(e,t){n.add(e,"ps-in-scrolling"),void 0!==t?n.add(e,"ps-"+t):(n.add(e,"ps-x"),n.add(e,"ps-y"))},i.stopScrolling=function(e,t){n.remove(e,"ps-in-scrolling"),void 0!==t?n.remove(e,"ps-"+t):(n.remove(e,"ps-x"),n.remove(e,"ps-y"))},i.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,i){"use strict";var n=e("./plugin/destroy"),o=e("./plugin/initialize"),r=e("./plugin/update");t.exports={initialize:o,update:r,destroy:n}},{"./plugin/destroy":9,"./plugin/initialize":17,"./plugin/update":21}],8:[function(e,t,i){"use strict";t.exports={handlers:["click-rail","drag-scrollbar","keyboard","wheel","touch"],maxScrollbarLength:null,minScrollbarLength:null,scrollXMarginOffset:0,scrollYMarginOffset:0,suppressScrollX:!1,suppressScrollY:!1,swipePropagation:!0,useBothWheelAxes:!1,wheelPropagation:!1,wheelSpeed:1,theme:"default"}},{}],9:[function(e,t,i){"use strict";var n=e("../lib/helper"),o=e("../lib/dom"),r=e("./instances");t.exports=function(e){var t=r.get(e);t&&(t.event.unbindAll(),o.remove(t.scrollbarX),o.remove(t.scrollbarY),o.remove(t.scrollbarXRail),o.remove(t.scrollbarYRail),n.removePsClasses(e),r.remove(e))}},{"../lib/dom":3,"../lib/helper":6,"./instances":18}],10:[function(e,t,i){"use strict";var n=e("../instances"),o=e("../update-geometry"),r=e("../update-scroll");t.exports=function(e){!function(e,t){function i(e){return e.getBoundingClientRect()}var n=function(e){e.stopPropagation()};t.event.bind(t.scrollbarY,"click",n),t.event.bind(t.scrollbarYRail,"click",(function(n){var a=n.pageY-window.pageYOffset-i(t.scrollbarYRail).top>t.scrollbarYTop?1:-1;r(e,"top",e.scrollTop+a*t.containerHeight),o(e),n.stopPropagation()})),t.event.bind(t.scrollbarX,"click",n),t.event.bind(t.scrollbarXRail,"click",(function(n){var a=n.pageX-window.pageXOffset-i(t.scrollbarXRail).left>t.scrollbarXLeft?1:-1;r(e,"left",e.scrollLeft+a*t.containerWidth),o(e),n.stopPropagation()}))}(e,n.get(e))}},{"../instances":18,"../update-geometry":19,"../update-scroll":20}],11:[function(e,t,i){"use strict";function n(e,t){var i=null,n=null,o=function(o){var a,s,d,u;a=o.pageX-n,d=i+a*t.railXRatio,u=Math.max(0,t.scrollbarXRail.getBoundingClientRect().left)+t.railXRatio*(t.railXWidth-t.scrollbarXWidth),t.scrollbarXLeft=d<0?0:d>u?u:d,s=r.toInt(t.scrollbarXLeft*(t.contentWidth-t.containerWidth)/(t.containerWidth-t.railXRatio*t.scrollbarXWidth))-t.negativeScrollAdjustment,c(e,"left",s),l(e),o.stopPropagation(),o.preventDefault()},s=function(){r.stopScrolling(e,"x"),t.event.unbind(t.ownerDocument,"mousemove",o)};t.event.bind(t.scrollbarX,"mousedown",(function(l){n=l.pageX,i=r.toInt(a.css(t.scrollbarX,"left"))*t.railXRatio,r.startScrolling(e,"x"),t.event.bind(t.ownerDocument,"mousemove",o),t.event.once(t.ownerDocument,"mouseup",s),l.stopPropagation(),l.preventDefault()}))}function o(e,t){var i=null,n=null,o=function(o){var a,s,d,u;a=o.pageY-n,d=i+a*t.railYRatio,u=Math.max(0,t.scrollbarYRail.getBoundingClientRect().top)+t.railYRatio*(t.railYHeight-t.scrollbarYHeight),t.scrollbarYTop=d<0?0:d>u?u:d,s=r.toInt(t.scrollbarYTop*(t.contentHeight-t.containerHeight)/(t.containerHeight-t.railYRatio*t.scrollbarYHeight)),c(e,"top",s),l(e),o.stopPropagation(),o.preventDefault()},s=function(){r.stopScrolling(e,"y"),t.event.unbind(t.ownerDocument,"mousemove",o)};t.event.bind(t.scrollbarY,"mousedown",(function(l){n=l.pageY,i=r.toInt(a.css(t.scrollbarY,"top"))*t.railYRatio,r.startScrolling(e,"y"),t.event.bind(t.ownerDocument,"mousemove",o),t.event.once(t.ownerDocument,"mouseup",s),l.stopPropagation(),l.preventDefault()}))}var r=e("../../lib/helper"),a=e("../../lib/dom"),s=e("../instances"),l=e("../update-geometry"),c=e("../update-scroll");t.exports=function(e){var t=s.get(e);n(e,t),o(e,t)}},{"../../lib/dom":3,"../../lib/helper":6,"../instances":18,"../update-geometry":19,"../update-scroll":20}],12:[function(e,t,i){"use strict";function n(e,t){var i=!1;t.event.bind(e,"mouseenter",(function(){i=!0})),t.event.bind(e,"mouseleave",(function(){i=!1})),t.event.bind(t.ownerDocument,"keydown",(function(n){var a,c,d,u;if(!(n.isDefaultPrevented&&n.isDefaultPrevented()||n.defaultPrevented)&&(a=r.matches(t.scrollbarX,":focus")||r.matches(t.scrollbarY,":focus"),i||a)){if(c=document.activeElement?document.activeElement:t.ownerDocument.activeElement){if("IFRAME"===c.tagName)c=c.contentDocument.activeElement;else for(;c.shadowRoot;)c=c.shadowRoot.activeElement;if(o.isEditable(c))return}switch(d=0,u=0,n.which){case 37:d=n.metaKey?-t.contentWidth:n.altKey?-t.containerWidth:-30;break;case 38:u=n.metaKey?t.contentHeight:n.altKey?t.containerHeight:30;break;case 39:d=n.metaKey?t.contentWidth:n.altKey?t.containerWidth:30;break;case 40:u=n.metaKey?-t.contentHeight:n.altKey?-t.containerHeight:-30;break;case 33:u=90;break;case 32:u=n.shiftKey?90:-90;break;case 34:u=-90;break;case 35:u=n.ctrlKey?-t.contentHeight:-t.containerHeight;break;case 36:u=n.ctrlKey?e.scrollTop:t.containerHeight;break;default:return}l(e,"top",e.scrollTop-u),l(e,"left",e.scrollLeft+d),s(e),function(i,n){var o,r=e.scrollTop;if(0===i){if(!t.scrollbarYActive)return!1;if(0===r&&n>0||r>=t.contentHeight-t.containerHeight&&n<0)return!t.settings.wheelPropagation}if(o=e.scrollLeft,0===n){if(!t.scrollbarXActive)return!1;if(0===o&&i<0||o>=t.contentWidth-t.containerWidth&&i>0)return!t.settings.wheelPropagation}return!0}(d,u)&&n.preventDefault()}}))}var o=e("../../lib/helper"),r=e("../../lib/dom"),a=e("../instances"),s=e("../update-geometry"),l=e("../update-scroll");t.exports=function(e){n(e,a.get(e))}},{"../../lib/dom":3,"../../lib/helper":6,"../instances":18,"../update-geometry":19,"../update-scroll":20}],13:[function(e,t,i){"use strict";function n(e,t){function i(i){var o=function(e){var t=e.deltaX,i=-1*e.deltaY;return void 0!==t&&void 0!==i||(t=-1*e.wheelDeltaX/6,i=e.wheelDeltaY/6),e.deltaMode&&1===e.deltaMode&&(t*=10,i*=10),t!=t&&i!=i&&(t=0,i=e.wheelDelta),e.shiftKey?[-i,-t]:[t,i]}(i),s=o[0],l=o[1];(function(t,i){var n,o,r=e.querySelector("textarea:hover, select[multiple]:hover, .ps-child:hover");if(r){if(!window.getComputedStyle(r).overflow.match(/(scroll|auto)/))return!1;if((n=r.scrollHeight-r.clientHeight)>0&&!(0===r.scrollTop&&i>0||r.scrollTop===n&&i<0))return!0;if((o=r.scrollLeft-r.clientWidth)>0&&!(0===r.scrollLeft&&t<0||r.scrollLeft===o&&t>0))return!0}return!1})(s,l)||(n=!1,t.settings.useBothWheelAxes?t.scrollbarYActive&&!t.scrollbarXActive?(a(e,"top",l?e.scrollTop-l*t.settings.wheelSpeed:e.scrollTop+s*t.settings.wheelSpeed),n=!0):t.scrollbarXActive&&!t.scrollbarYActive&&(a(e,"left",s?e.scrollLeft+s*t.settings.wheelSpeed:e.scrollLeft-l*t.settings.wheelSpeed),n=!0):(a(e,"top",e.scrollTop-l*t.settings.wheelSpeed),a(e,"left",e.scrollLeft+s*t.settings.wheelSpeed)),r(e),(n=n||function(i,n){var o,r=e.scrollTop;if(0===i){if(!t.scrollbarYActive)return!1;if(0===r&&n>0||r>=t.contentHeight-t.containerHeight&&n<0)return!t.settings.wheelPropagation}if(o=e.scrollLeft,0===n){if(!t.scrollbarXActive)return!1;if(0===o&&i<0||o>=t.contentWidth-t.containerWidth&&i>0)return!t.settings.wheelPropagation}return!0}(s,l))&&(i.stopPropagation(),i.preventDefault()))}var n=!1;void 0!==window.onwheel?t.event.bind(e,"wheel",i):void 0!==window.onmousewheel&&t.event.bind(e,"mousewheel",i)}var o=e("../instances"),r=e("../update-geometry"),a=e("../update-scroll");t.exports=function(e){n(e,o.get(e))}},{"../instances":18,"../update-geometry":19,"../update-scroll":20}],14:[function(e,t,i){"use strict";var n=e("../instances"),o=e("../update-geometry");t.exports=function(e){!function(e,t){t.event.bind(e,"scroll",(function(){o(e)}))}(e,n.get(e))}},{"../instances":18,"../update-geometry":19}],15:[function(e,t,i){"use strict";function n(e,t){function i(){n&&(clearInterval(n),n=null),o.stopScrolling(e)}var n=null,l={top:0,left:0},c=!1;t.event.bind(t.ownerDocument,"selectionchange",(function(){var t;e.contains(0===(t=window.getSelection?window.getSelection():document.getSelection?document.getSelection():"").toString().length?null:t.getRangeAt(0).commonAncestorContainer)?c=!0:(c=!1,i())})),t.event.bind(window,"mouseup",(function(){c&&(c=!1,i())})),t.event.bind(window,"keyup",(function(){c&&(c=!1,i())})),t.event.bind(window,"mousemove",(function(t){var d,u;c&&(d={x:t.pageX,y:t.pageY},u={left:e.offsetLeft,right:e.offsetLeft+e.offsetWidth,top:e.offsetTop,bottom:e.offsetTop+e.offsetHeight},d.x<u.left+3?(l.left=-5,o.startScrolling(e,"x")):d.x>u.right-3?(l.left=5,o.startScrolling(e,"x")):l.left=0,d.y<u.top+3?(u.top+3-d.y<5?l.top=-5:l.top=-20,o.startScrolling(e,"y")):d.y>u.bottom-3?(d.y-u.bottom+3<5?l.top=5:l.top=20,o.startScrolling(e,"y")):l.top=0,0===l.top&&0===l.left?i():n||(n=setInterval((function(){r.get(e)?(s(e,"top",e.scrollTop+l.top),s(e,"left",e.scrollLeft+l.left),a(e)):clearInterval(n)}),50)))}))}var o=e("../../lib/helper"),r=e("../instances"),a=e("../update-geometry"),s=e("../update-scroll");t.exports=function(e){n(e,r.get(e))}},{"../../lib/helper":6,"../instances":18,"../update-geometry":19,"../update-scroll":20}],16:[function(e,t,i){"use strict";function n(e,t,i,n){function o(t,i){s(e,"top",e.scrollTop-i),s(e,"left",e.scrollLeft-t),a(e)}function l(){v=!0}function c(){v=!1}function d(e){return e.targetTouches?e.targetTouches[0]:e}function u(e){return!(!e.targetTouches||1!==e.targetTouches.length)||!(!e.pointerType||"mouse"===e.pointerType||e.pointerType===e.MSPOINTER_TYPE_MOUSE)}function h(e){if(u(e)){w=!0;var t=d(e);f.pageX=t.pageX,f.pageY=t.pageY,g=(new Date).getTime(),null!==_&&clearInterval(_),e.stopPropagation()}}function p(i){var n,r,a,s,l,c;!w&&t.settings.swipePropagation&&h(i),!v&&w&&u(i)&&(o(a=(r={pageX:(n=d(i)).pageX,pageY:n.pageY}).pageX-f.pageX,s=r.pageY-f.pageY),f=r,(c=(l=(new Date).getTime())-g)>0&&(b.x=a/c,b.y=s/c,g=l),function(i,n){var o=e.scrollTop,r=e.scrollLeft,a=Math.abs(i),s=Math.abs(n);if(s>a){if(n<0&&o===t.contentHeight-t.containerHeight||n>0&&0===o)return!t.settings.swipePropagation}else if(a>s&&(i<0&&r===t.contentWidth-t.containerWidth||i>0&&0===r))return!t.settings.swipePropagation;return!0}(a,s)&&(i.stopPropagation(),i.preventDefault()))}function m(){!v&&w&&(w=!1,clearInterval(_),_=setInterval((function(){r.get(e)&&(b.x||b.y)?Math.abs(b.x)<.01&&Math.abs(b.y)<.01?clearInterval(_):(o(30*b.x,30*b.y),b.x*=.8,b.y*=.8):clearInterval(_)}),10))}var f={},g=0,b={},_=null,v=!1,w=!1;i?(t.event.bind(window,"touchstart",l),t.event.bind(window,"touchend",c),t.event.bind(e,"touchstart",h),t.event.bind(e,"touchmove",p),t.event.bind(e,"touchend",m)):n&&(window.PointerEvent?(t.event.bind(window,"pointerdown",l),t.event.bind(window,"pointerup",c),t.event.bind(e,"pointerdown",h),t.event.bind(e,"pointermove",p),t.event.bind(e,"pointerup",m)):window.MSPointerEvent&&(t.event.bind(window,"MSPointerDown",l),t.event.bind(window,"MSPointerUp",c),t.event.bind(e,"MSPointerDown",h),t.event.bind(e,"MSPointerMove",p),t.event.bind(e,"MSPointerUp",m)))}var o=e("../../lib/helper"),r=e("../instances"),a=e("../update-geometry"),s=e("../update-scroll");t.exports=function(e){(o.env.supportsTouch||o.env.supportsIePointer)&&n(e,r.get(e),o.env.supportsTouch,o.env.supportsIePointer)}},{"../../lib/helper":6,"../instances":18,"../update-geometry":19,"../update-scroll":20}],17:[function(e,t,i){"use strict";var n=e("../lib/helper"),o=e("../lib/class"),r=e("./instances"),a=e("./update-geometry"),s={"click-rail":e("./handler/click-rail"),"drag-scrollbar":e("./handler/drag-scrollbar"),keyboard:e("./handler/keyboard"),wheel:e("./handler/mouse-wheel"),touch:e("./handler/touch"),selection:e("./handler/selection")},l=e("./handler/native-scroll");t.exports=function(e,t){t="object"==typeof t?t:{},o.add(e,"ps-container");var i=r.add(e);i.settings=n.extend(i.settings,t),o.add(e,"ps-theme-"+i.settings.theme),i.settings.handlers.forEach((function(t){s[t](e)})),l(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,i){"use strict";function n(e){function t(){a.add(e,"ps-focus")}function i(){a.remove(e,"ps-focus")}var n,o,d=this;d.settings=r.clone(s),d.containerWidth=null,d.containerHeight=null,d.contentWidth=null,d.contentHeight=null,d.isRtl="rtl"===l.css(e,"direction"),d.isNegativeScroll=(n=e.scrollLeft,o=null,e.scrollLeft=-1,o=e.scrollLeft<0,e.scrollLeft=n,o),d.negativeScrollAdjustment=d.isNegativeScroll?e.scrollWidth-e.clientWidth:0,d.event=new c,d.ownerDocument=e.ownerDocument||document,d.scrollbarXRail=l.appendTo(l.e("div","ps-scrollbar-x-rail"),e),d.scrollbarX=l.appendTo(l.e("div","ps-scrollbar-x"),d.scrollbarXRail),d.scrollbarX.setAttribute("tabindex",0),d.event.bind(d.scrollbarX,"focus",t),d.event.bind(d.scrollbarX,"blur",i),d.scrollbarXActive=null,d.scrollbarXWidth=null,d.scrollbarXLeft=null,d.scrollbarXBottom=r.toInt(l.css(d.scrollbarXRail,"bottom")),d.isScrollbarXUsingBottom=d.scrollbarXBottom==d.scrollbarXBottom,d.scrollbarXTop=d.isScrollbarXUsingBottom?null:r.toInt(l.css(d.scrollbarXRail,"top")),d.railBorderXWidth=r.toInt(l.css(d.scrollbarXRail,"borderLeftWidth"))+r.toInt(l.css(d.scrollbarXRail,"borderRightWidth")),l.css(d.scrollbarXRail,"display","block"),d.railXMarginWidth=r.toInt(l.css(d.scrollbarXRail,"marginLeft"))+r.toInt(l.css(d.scrollbarXRail,"marginRight")),l.css(d.scrollbarXRail,"display",""),d.railXWidth=null,d.railXRatio=null,d.scrollbarYRail=l.appendTo(l.e("div","ps-scrollbar-y-rail"),e),d.scrollbarY=l.appendTo(l.e("div","ps-scrollbar-y"),d.scrollbarYRail),d.scrollbarY.setAttribute("tabindex",0),d.event.bind(d.scrollbarY,"focus",t),d.event.bind(d.scrollbarY,"blur",i),d.scrollbarYActive=null,d.scrollbarYHeight=null,d.scrollbarYTop=null,d.scrollbarYRight=r.toInt(l.css(d.scrollbarYRail,"right")),d.isScrollbarYUsingRight=d.scrollbarYRight==d.scrollbarYRight,d.scrollbarYLeft=d.isScrollbarYUsingRight?null:r.toInt(l.css(d.scrollbarYRail,"left")),d.scrollbarYOuterWidth=d.isRtl?r.outerWidth(d.scrollbarY):null,d.railBorderYWidth=r.toInt(l.css(d.scrollbarYRail,"borderTopWidth"))+r.toInt(l.css(d.scrollbarYRail,"borderBottomWidth")),l.css(d.scrollbarYRail,"display","block"),d.railYMarginHeight=r.toInt(l.css(d.scrollbarYRail,"marginTop"))+r.toInt(l.css(d.scrollbarYRail,"marginBottom")),l.css(d.scrollbarYRail,"display",""),d.railYHeight=null,d.railYRatio=null}function o(e){return e.getAttribute("data-ps-id")}var r=e("../lib/helper"),a=e("../lib/class"),s=e("./default-setting"),l=e("../lib/dom"),c=e("../lib/event-manager"),d=e("../lib/guid"),u={};i.add=function(e){var t=d();return function(e,t){e.setAttribute("data-ps-id",t)}(e,t),u[t]=new n(e),u[t]},i.remove=function(e){delete u[o(e)],function(e){e.removeAttribute("data-ps-id")}(e)},i.get=function(e){return u[o(e)]}},{"../lib/class":2,"../lib/dom":3,"../lib/event-manager":4,"../lib/guid":5,"../lib/helper":6,"./default-setting":8}],19:[function(e,t,i){"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}var o=e("../lib/helper"),r=e("../lib/class"),a=e("../lib/dom"),s=e("./instances"),l=e("./update-scroll");t.exports=function(e){var t,i=s.get(e);i.containerWidth=e.clientWidth,i.containerHeight=e.clientHeight,i.contentWidth=e.scrollWidth,i.contentHeight=e.scrollHeight,e.contains(i.scrollbarXRail)||((t=a.queryChildren(e,".ps-scrollbar-x-rail")).length>0&&t.forEach((function(e){a.remove(e)})),a.appendTo(i.scrollbarXRail,e)),e.contains(i.scrollbarYRail)||((t=a.queryChildren(e,".ps-scrollbar-y-rail")).length>0&&t.forEach((function(e){a.remove(e)})),a.appendTo(i.scrollbarYRail,e)),!i.settings.suppressScrollX&&i.containerWidth+i.settings.scrollXMarginOffset<i.contentWidth?(i.scrollbarXActive=!0,i.railXWidth=i.containerWidth-i.railXMarginWidth,i.railXRatio=i.containerWidth/i.railXWidth,i.scrollbarXWidth=n(i,o.toInt(i.railXWidth*i.containerWidth/i.contentWidth)),i.scrollbarXLeft=o.toInt((i.negativeScrollAdjustment+e.scrollLeft)*(i.railXWidth-i.scrollbarXWidth)/(i.contentWidth-i.containerWidth))):i.scrollbarXActive=!1,!i.settings.suppressScrollY&&i.containerHeight+i.settings.scrollYMarginOffset<i.contentHeight?(i.scrollbarYActive=!0,i.railYHeight=i.containerHeight-i.railYMarginHeight,i.railYRatio=i.containerHeight/i.railYHeight,i.scrollbarYHeight=n(i,o.toInt(i.railYHeight*i.containerHeight/i.contentHeight)),i.scrollbarYTop=o.toInt(e.scrollTop*(i.railYHeight-i.scrollbarYHeight)/(i.contentHeight-i.containerHeight))):i.scrollbarYActive=!1,i.scrollbarXLeft>=i.railXWidth-i.scrollbarXWidth&&(i.scrollbarXLeft=i.railXWidth-i.scrollbarXWidth),i.scrollbarYTop>=i.railYHeight-i.scrollbarYHeight&&(i.scrollbarYTop=i.railYHeight-i.scrollbarYHeight),function(e,t){var i,n={width:t.railXWidth};t.isRtl?n.left=t.negativeScrollAdjustment+e.scrollLeft+t.containerWidth-t.contentWidth:n.left=e.scrollLeft,t.isScrollbarXUsingBottom?n.bottom=t.scrollbarXBottom-e.scrollTop:n.top=t.scrollbarXTop+e.scrollTop,a.css(t.scrollbarXRail,n),i={top:e.scrollTop,height:t.railYHeight},t.isScrollbarYUsingRight?t.isRtl?i.right=t.contentWidth-(t.negativeScrollAdjustment+e.scrollLeft)-t.scrollbarYRight-t.scrollbarYOuterWidth:i.right=t.scrollbarYRight-e.scrollLeft:t.isRtl?i.left=t.negativeScrollAdjustment+e.scrollLeft+2*t.containerWidth-t.contentWidth-t.scrollbarYLeft-t.scrollbarYOuterWidth:i.left=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})}(e,i),i.scrollbarXActive?r.add(e,"ps-active-x"):(r.remove(e,"ps-active-x"),i.scrollbarXWidth=0,i.scrollbarXLeft=0,l(e,"left",0)),i.scrollbarYActive?r.add(e,"ps-active-y"):(r.remove(e,"ps-active-y"),i.scrollbarYHeight=0,i.scrollbarYTop=0,l(e,"top",0))}},{"../lib/class":2,"../lib/dom":3,"../lib/helper":6,"./instances":18,"./update-scroll":20}],20:[function(e,t,i){"use strict";var n,o,r=e("./instances"),a=function(e){var t=document.createEvent("Event");return t.initEvent(e,!0,!0),t};t.exports=function(e,t,i){if(void 0===e)throw"You must provide an element to the update-scroll function";if(void 0===t)throw"You must provide an axis to the update-scroll function";if(void 0===i)throw"You must provide a value to the update-scroll function";"top"===t&&i<=0&&(e.scrollTop=i=0,e.dispatchEvent(a("ps-y-reach-start"))),"left"===t&&i<=0&&(e.scrollLeft=i=0,e.dispatchEvent(a("ps-x-reach-start")));var s=r.get(e);"top"===t&&i>=s.contentHeight-s.containerHeight&&((i=s.contentHeight-s.containerHeight)-e.scrollTop<=1?i=e.scrollTop:e.scrollTop=i,e.dispatchEvent(a("ps-y-reach-end"))),"left"===t&&i>=s.contentWidth-s.containerWidth&&((i=s.contentWidth-s.containerWidth)-e.scrollLeft<=1?i=e.scrollLeft:e.scrollLeft=i,e.dispatchEvent(a("ps-x-reach-end"))),n||(n=e.scrollTop),o||(o=e.scrollLeft),"top"===t&&i<n&&e.dispatchEvent(a("ps-scroll-up")),"top"===t&&i>n&&e.dispatchEvent(a("ps-scroll-down")),"left"===t&&i<o&&e.dispatchEvent(a("ps-scroll-left")),"left"===t&&i>o&&e.dispatchEvent(a("ps-scroll-right")),"top"===t&&(e.scrollTop=n=i,e.dispatchEvent(a("ps-scroll-y"))),"left"===t&&(e.scrollLeft=o=i,e.dispatchEvent(a("ps-scroll-x")))}},{"./instances":18}],21:[function(e,t,i){"use strict";var n=e("../lib/helper"),o=e("../lib/dom"),r=e("./instances"),a=e("./update-geometry"),s=e("./update-scroll");t.exports=function(e){var t=r.get(e);t&&(t.negativeScrollAdjustment=t.isNegativeScroll?e.scrollWidth-e.clientWidth:0,o.css(t.scrollbarXRail,"display","block"),o.css(t.scrollbarYRail,"display","block"),t.railXMarginWidth=n.toInt(o.css(t.scrollbarXRail,"marginLeft"))+n.toInt(o.css(t.scrollbarXRail,"marginRight")),t.railYMarginHeight=n.toInt(o.css(t.scrollbarYRail,"marginTop"))+n.toInt(o.css(t.scrollbarYRail,"marginBottom")),o.css(t.scrollbarXRail,"display","none"),o.css(t.scrollbarYRail,"display","none"),a(e),s(e,"top",e.scrollTop),s(e,"left",e.scrollLeft),o.css(t.scrollbarXRail,"display",""),o.css(t.scrollbarYRail,"display",""))}},{"../lib/dom":3,"../lib/helper":6,"./instances":18,"./update-geometry":19,"./update-scroll":20}]},{},[1]),define("WoltLabSuite/Core/Bootstrap",["require","exports","tslib","./Core","./Date/Picker","./Date/Time/Relative","./Devtools","./Dom/Change/Listener","./Environment","./Event/Handler","./Language","./StringUtil","./Ui/Dialog","./Ui/Dropdown/Simple","./Ui/Mobile","./Ui/Page/Action","./Ui/TabMenu","./Ui/Tooltip","./Ui/Page/JumpTo","./Ui/Password","./Ui/Empty","./Ui/Object/Action","./Ui/Object/Action/Delete","./Ui/Object/Action/Toogle","perfect-scrollbar"],(function(e,t,i,n,o,r,a,s,l,c,d,u,h,p,m,f,g,b,_,v,w,y,E,S){"use strict";function L(){document.querySelectorAll("nav:not([aria-label]):not([aria-labelledby]):not([role])").forEach((e=>{e.setAttribute("role","presentation")})),document.querySelectorAll("article:not([aria-label]):not([aria-labelledby]):not([role])").forEach((e=>{e.setAttribute("role","presentation")}))}Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,n=i.__importStar(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importDefault(a),s=i.__importDefault(s),l=i.__importStar(l),c=i.__importStar(c),d=i.__importStar(d),u=i.__importStar(u),h=i.__importDefault(h),p=i.__importDefault(p),m=i.__importStar(m),f=i.__importStar(f),g=i.__importStar(g),b=i.__importStar(b),_=i.__importStar(_),v=i.__importStar(v),w=i.__importStar(w),y=i.__importStar(y),E=i.__importStar(E),S=i.__importStar(S),null==window.WCF&&(window.WCF={}),null==window.WCF.Language&&(window.WCF.Language={}),window.WCF.Language.get=d.get,window.WCF.Language.add=d.add,window.WCF.Language.addObject=d.addObject,window.__wcf_bc_eventHandler=c,t.setup=function(e){e=n.extend({enableMobileMenu:!0},e),u.setupI18n({decimalPoint:d.get("wcf.global.decimalPoint"),thousandsSeparator:d.get("wcf.global.thousandsSeparator")}),window.ENABLE_DEVELOPER_TOOLS&&a.default._internal_.enable(),l.setup(),r.setup(),o.default.init(),p.default.setup(),m.setup(e.enableMobileMenu),g.setup(),h.default.setup(),b.setup(),v.setup(),w.setup(),y.setup(),E.setup(),S.setup(),document.querySelectorAll("form[method=get]").forEach((e=>{e.method="post"})),"microsoft"===l.browser()&&(window.onbeforeunload=()=>{});let t=0;t=window.setInterval((()=>{if("function"==typeof window.jQuery){window.clearInterval(t),window.jQuery((()=>{f.setup()}));const e=window.jQuery;e.browser=e.browser||{},e.browser.mobile="desktop"!==l.platform(),window.jQuery.holdReady(!1)}}),20),document.querySelectorAll(".pagination").forEach((e=>_.init(e))),L(),s.default.add("WoltLabSuite/Core/Bootstrap",(()=>L))}})),define("WoltLabSuite/Core/Controller/Style/Changer",["require","exports","tslib","../../Ajax","../../Language","../../Ui/Dialog"],(function(e,t,i,n,o,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.showDialog=t.setup=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r);class a{constructor(){document.querySelectorAll(".jsButtonStyleChanger").forEach((e=>{e.addEventListener("click",(e=>this.showDialog(e)))}))}showDialog(e){e.preventDefault(),r.default.open(this)}_dialogSetup(){return{id:"styleChanger",options:{disableContentPadding:!0,title:o.get("wcf.style.changeStyle")},source:{data:{actionName:"getStyleChooser",className:"wcf\\data\\style\\StyleAction"},after:e=>{e.querySelectorAll(".styleList > li").forEach((e=>{e.classList.add("pointer"),e.addEventListener("click",(e=>this.click(e)))}))}}}}click(e){e.preventDefault();const t=e.currentTarget;n.apiOnce({data:{actionName:"changeStyle",className:"wcf\\data\\style\\StyleAction",objectIDs:[t.dataset.styleId]},success:function(){window.location.reload()}})}}let s;t.setup=function(){new a},t.showDialog=function(e){s.showDialog(e)}})),define("WoltLabSuite/Core/Controller/Popover",["require","exports","tslib","../Ajax","../Dom/Change/Listener","../Dom/Util","../Environment","../Ui/Alignment"],(function(e,t,i,n,o,r,a,s){"use strict";function l(){return d||(d=new c),d}Object.defineProperty(t,"__esModule",{value:!0}),t.ajaxApi=t.setContent=t.init=void 0,n=i.__importStar(n),o=i.__importDefault(o),r=i.__importDefault(r),a=i.__importStar(a),s=i.__importStar(s);class c{constructor(){this.activeId="",this.cache=new Map,this.elements=new Map,this.handlers=new Map,this.hoverId="",this.suspended=!1,this.timerEnter=void 0,this.timerLeave=void 0,this.popover=document.createElement("div"),this.popover.className="popover forceHide",this.popoverContent=document.createElement("div"),this.popoverContent.className="popoverContent",this.popover.appendChild(this.popoverContent);const e=document.createElement("span");e.className="elementPointer",e.appendChild(document.createElement("span")),this.popover.appendChild(e),document.body.appendChild(this.popover),this.popover.addEventListener("mouseenter",(()=>this.popoverMouseEnter())),this.popover.addEventListener("mouseleave",(()=>this.mouseLeave())),this.popover.addEventListener("animationend",(()=>this.clearContent())),window.addEventListener("beforeunload",(()=>{this.suspended=!0,this.timerEnter&&(window.clearTimeout(this.timerEnter),this.timerEnter=void 0),this.hidePopover()})),o.default.add("WoltLabSuite/Core/Controller/Popover",(e=>this.initHandler(e)))}init(e){if("desktop"!==a.platform())return;if(e.attributeName=e.attributeName||"data-object-id",e.legacy=!0===e.legacy,this.handlers.has(e.identifier))return;const t=e.legacy?e.className:`.${e.className}`;this.handlers.set(e.identifier,{attributeName:e.attributeName,dboAction:e.dboAction,legacy:e.legacy,loadCallback:e.loadCallback,selector:t}),this.initHandler(e.identifier)}initHandler(e){"string"==typeof e&&e.length?this.initElements(this.handlers.get(e),e):this.handlers.forEach(((e,t)=>{this.initElements(e,t)}))}initElements(e,t){document.querySelectorAll(e.selector).forEach((i=>{const n=r.default.identify(i);if(this.cache.has(n))return;if(null!==i.closest(".popover"))return void this.cache.set(n,{content:null,state:0});const o=e.legacy?n:~~i.getAttribute(e.attributeName);if(0===o)return;i.addEventListener("mouseenter",(e=>this.mouseEnter(e))),i.addEventListener("mouseleave",(()=>this.mouseLeave())),i instanceof HTMLAnchorElement&&i.href&&i.addEventListener("click",(()=>this.hidePopover()));const a=`${t}-${o}`;i.dataset.cacheId=a,this.elements.set(n,{element:i,identifier:t,objectId:o.toString()}),this.cache.has(a)||this.cache.set(a,{content:null,state:0})}))}setContent(e,t,i){const n=`${e}-${t}`,o=this.cache.get(n);if(void 0===o)throw new Error(`Unable to find element for object id '${t}' (identifier: '${e}').`);let a=r.default.createFragmentFromHtml(i);if(a.childElementCount||(a=r.default.createFragmentFromHtml("<p>"+i+"</p>")),o.content=a,o.state=2,this.activeId){this.elements.get(this.activeId).element.dataset.cacheId===n&&this.show()}}mouseEnter(e){if(this.suspended)return;this.timerEnter&&(window.clearTimeout(this.timerEnter),this.timerEnter=void 0);const t=r.default.identify(e.currentTarget);this.activeId===t&&this.timerLeave&&(window.clearTimeout(this.timerLeave),this.timerLeave=void 0),this.hoverId=t,this.timerEnter=window.setTimeout((()=>{this.timerEnter=void 0,this.hoverId===t&&this.show()}),800)}mouseLeave(){this.hoverId="",this.timerLeave||(this.timerLeave=window.setTimeout((()=>this.hidePopover()),500))}popoverMouseEnter(){this.timerLeave&&(window.clearTimeout(this.timerLeave),this.timerLeave=void 0)}show(){this.timerLeave&&(window.clearTimeout(this.timerLeave),this.timerLeave=void 0);let e=!1;this.popover.classList.contains("active")?this.activeId!==this.hoverId&&(this.hidePopover(),e=!0):this.popoverContent.childElementCount&&(e=!0),e&&(this.popover.classList.add("forceHide"),this.popover.offsetTop,this.clearContent(),this.popover.classList.remove("forceHide")),this.activeId=this.hoverId;const t=this.elements.get(this.activeId);if(void 0===t)return;const i=t.element.dataset.cacheId,n=this.cache.get(i);switch(n.state){case 2:this.popoverContent.appendChild(n.content),this.rebuild();break;case 0:{n.state=1;const e=this.handlers.get(t.identifier);if(e.loadCallback)e.loadCallback(t.objectId,this,t.element);else if(e.dboAction){const i=e=>(this.setContent(t.identifier,t.objectId,e.returnValues.template),!0);this.ajaxApi({actionName:"getPopover",className:e.dboAction,interfaceName:"wcf\\data\\IPopoverAction",objectIDs:[t.objectId]},i,i)}break}}}hidePopover(){this.timerLeave&&(window.clearTimeout(this.timerLeave),this.timerLeave=void 0),this.popover.classList.remove("active")}clearContent(){if(this.activeId&&this.popoverContent.childElementCount&&!this.popover.classList.contains("active")){const e=this.elements.get(this.activeId).element.dataset.cacheId,t=this.cache.get(e);for(;this.popoverContent.childNodes.length;)t.content.appendChild(this.popoverContent.childNodes[0])}}rebuild(){this.popover.classList.contains("active")||(this.popover.classList.remove("forceHide"),this.popover.classList.add("active"),s.set(this.popover,this.elements.get(this.activeId).element,{pointer:!0,vertical:"top"}))}_ajaxSuccess(){}_ajaxSetup(){return{silent:!0}}ajaxApi(e,t,i){if("function"!=typeof t)throw new TypeError("Expected a valid callback for parameter 'success'.");n.api(this,e,t,i)}}let d;t.init=function(e){l().init(e)},t.setContent=function(e,t,i){l().setContent(e,t,i)},t.ajaxApi=function(e,t,i){l().ajaxApi(e,t,i)}})),define("WoltLabSuite/Core/Ui/User/Ignore",["require","exports","tslib","../../Dom/Change/Listener"],(function(e,t,i,n){"use strict";function o(){for(let e=0,t=a.length;e<t;e++){const t=a[e];s.has(t)||(t.addEventListener("click",r,{once:!0}),s.add(t))}}function r(e){e.preventDefault();const t=e.currentTarget;t.classList.remove("ignoredUserMessage"),s.delete(t),window.getSelection().removeAllRanges()}Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,n=i.__importDefault(n);const a=document.getElementsByClassName("ignoredUserMessage"),s=new Set;t.init=function(){o(),n.default.add("WoltLabSuite/Core/Ui/User/Ignore",o)}})),define("WoltLabSuite/Core/Ui/Page/Header/Menu",["require","exports","tslib","../../../Environment","../../../Language","../../Screen"],(function(e,t,i,n,o,r){"use strict";function a(){b=!0,"safari"===n.browser()||u(),window.setTimeout(u,1e3)}function s(){b=!1}function l(e){if(e.preventDefault(),w.length){const e=w.slice(0,3).pop();d(g.clientWidth-(e.offsetLeft+e.clientWidth)),g.lastElementChild===e&&p.classList.remove("active"),m.classList.add("active")}}function c(e){if(e.preventDefault(),v.length){const e=v.slice(-3)[0];d(-1*e.offsetLeft),g.firstElementChild===e&&m.classList.remove("active"),p.classList.add("active")}}function d(e){_=Math.min(_+e,0),f.style.setProperty("margin-left",`${_}px`,"")}function u(){if(!b)return;v=[],w=[];const e=g.clientWidth;(g.scrollWidth>e||_<0)&&Array.from(g.children).forEach((t=>{const i=t.offsetLeft;i<0?v.push(t):i+t.clientWidth>e&&w.push(t)})),m.classList[v.length?"add":"remove"]("active"),p.classList[w.length?"add":"remove"]("active")}function h(){!function(){const e=g.parentElement;p=document.createElement("a"),p.className="mainMenuShowNext",p.href="#",p.innerHTML='<span class="icon icon32 fa-angle-right"></span>',p.setAttribute("aria-hidden","true"),p.addEventListener("click",l),e.appendChild(p),m=document.createElement("a"),m.className="mainMenuShowPrevious",m.href="#",m.innerHTML='<span class="icon icon32 fa-angle-left"></span>',m.setAttribute("aria-hidden","true"),m.addEventListener("click",c),e.insertBefore(m,e.firstChild),f.addEventListener("transitionend",u),window.addEventListener("resize",(()=>{f.style.setProperty("margin-left","0px",""),_=0,u()})),a()}(),g.querySelectorAll(".boxMenuHasChildren").forEach((e=>{const t=e.querySelector(".boxMenuLink");t.setAttribute("aria-haspopup","true"),t.setAttribute("aria-expanded","false");const i=document.createElement("button");i.className="visuallyHidden",i.tabIndex=0,i.setAttribute("role","button"),i.setAttribute("aria-label",o.get("wcf.global.button.showMenu")),e.insertBefore(i,t.nextSibling);let n=!1;i.addEventListener("click",(()=>{n=!n,t.setAttribute("aria-expanded",n?"true":"false"),i.setAttribute("aria-label",o.get(n?"wcf.global.button.hideMenu":"wcf.global.button.showMenu"))}))}))}Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r);let p,m,f,g,b=!1,_=0,v=[],w=[];t.init=function(){const e=document.querySelector(".mainMenu .boxMenu"),t=e&&e.childElementCount?e.children[0]:null;if(null===t)throw new Error("Unable to find the main menu.");g=e,f=t,r.on("screen-lg",{match:a,unmatch:s,setup:h})}})),define("WoltLabSuite/Core/User",["require","exports"],(function(e,t){"use strict";class i{constructor(e,t,i){this.userId=e,this.username=t,this.link=i}}let n;return{getLink:()=>n.link,init(e,t,o){if(n)throw new Error("User has already been initialized.");n=new i(e,t,o)},get userId(){return n.userId},get username(){return n.username}}})),define("WoltLabSuite/Core/Ui/Message/UserConsent",["require","exports","tslib","../../Ajax","../../Core","../../Dom/Change/Listener","../../Dom/Util","../../User"],(function(e,t,i,n,o,r,a,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importDefault(a),s=i.__importDefault(s);class l{constructor(){this.enableAll=!1,this.knownButtons=new WeakSet,"all"===window.sessionStorage.getItem(`${o.getStoragePrefix()}user-consent`)&&(this.enableAll=!0),this.registerEventListeners(),r.default.add("WoltLabSuite/Core/Ui/Message/UserConsent",(()=>this.registerEventListeners()))}registerEventListeners(){this.enableAll?this.enableAllExternalMedia():document.querySelectorAll(".jsButtonMessageUserConsentEnable").forEach((e=>{this.knownButtons.has(e)||(this.knownButtons.add(e),e.addEventListener("click",(e=>this.click(e))))}))}click(e){e.preventDefault(),this.enableAll=!0,this.enableAllExternalMedia(),s.default.userId?n.apiOnce({data:{actionName:"saveUserConsent",className:"wcf\\data\\user\\UserAction"},silent:!0}):window.sessionStorage.setItem(`${o.getStoragePrefix()}user-consent`,"all")}enableExternalMedia(e){const t=atob(e.dataset.payload);a.default.insertHtml(t,e,"before"),e.remove()}enableAllExternalMedia(){document.querySelectorAll(".messageUserConsent").forEach((e=>this.enableExternalMedia(e)))}}let c;t.init=function(){c||(c=new l)}})),define("WoltLabSuite/Core/Clipboard",["require","exports"],(function(e,t){"use strict";async function i(e){if(navigator.clipboard)return navigator.clipboard.writeText(e);throw new Error("navigator.clipboard is not supported.")}Object.defineProperty(t,"__esModule",{value:!0}),t.copyElementTextToClipboard=t.copyTextToClipboard=void 0,t.copyTextToClipboard=i,t.copyElementTextToClipboard=async function(e){return i(e.textContent.replace(/\u200B/g,"").replace(/\u00A0/g," "))}})),define("WoltLabSuite/Core/Ui/Notification",["require","exports","tslib","../Language"],(function(e,t,i,n){"use strict";function o(){clearTimeout(s),a.classList.remove("active"),null!==c&&c(),l=!1}Object.defineProperty(t,"__esModule",{value:!0}),t.show=void 0,n=i.__importStar(n);let r,a,s,l=!1,c=null,d=!1;t.show=function(e,t,i){l||(l=!0,d||(d=!0,a=document.createElement("div"),a.id="systemNotification",r=document.createElement("p"),r.addEventListener("click",o),a.appendChild(r),document.body.appendChild(a)),c="function"==typeof t?t:null,r.className=i||"success",r.textContent=n.get(e||"wcf.global.success"),a.classList.add("active"),s=setTimeout(o,2e3))}})),define("WoltLabSuite/Core/Ui/Message/Share",["require","exports","tslib","../../Event/Handler","../../StringUtil"],(function(e,t,i,n,o){"use strict";function r(e,t,i,n){n||(n=s),window.open(t.replace("{pageURL}",n).replace("{text}",a+(i?`%20${n}`:"")),e,"height=600,width=600")}Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,n=i.__importStar(n),o=i.__importStar(o);let a="",s="";t.init=function(){const e=document.querySelector('meta[property="og:title"]');null!==e&&(a=encodeURIComponent(e.content));const t=document.querySelector('meta[property="og:url"]');null!==t&&(s=encodeURIComponent(t.content)),document.querySelectorAll(".jsMessageShareButtons").forEach((e=>{e.classList.remove("jsMessageShareButtons");let t=encodeURIComponent(o.unescapeHTML(e.dataset.url||""));t||(t=s);const i={facebook:{link:e.querySelector(".jsShareFacebook"),share(e){e.preventDefault(),r("facebook","https://www.facebook.com/sharer.php?u={pageURL}&t={text}",!0,t)}},reddit:{link:e.querySelector(".jsShareReddit"),share(e){e.preventDefault(),r("reddit","https://ssl.reddit.com/submit?url={pageURL}",!1,t)}},twitter:{link:e.querySelector(".jsShareTwitter"),share(e){e.preventDefault(),r("twitter","https://twitter.com/share?url={pageURL}&text={text}",!1,t)}},linkedIn:{link:e.querySelector(".jsShareLinkedIn"),share(e){e.preventDefault(),r("linkedIn","https://www.linkedin.com/cws/share?url={pageURL}",!1,t)}},pinterest:{link:e.querySelector(".jsSharePinterest"),share(e){e.preventDefault(),r("pinterest","https://www.pinterest.com/pin/create/link/?url={pageURL}&description={text}",!1,t)}},xing:{link:e.querySelector(".jsShareXing"),share(e){e.preventDefault(),r("xing","https://www.xing.com/social_plugins/share?url={pageURL}",!1,t)}},whatsApp:{link:e.querySelector(".jsShareWhatsApp"),share(e){e.preventDefault(),window.location.href="https://api.whatsapp.com/send?text="+a+"%20"+s}}};n.fire("com.woltlab.wcf.message.share","shareProvider",{container:e,providers:i,pageDescription:a,pageUrl:s}),Object.values(i).forEach((e=>{if(null!==e.link){e.link.addEventListener("click",(t=>e.share(t)))}}))}))}})),define("WoltLabSuite/Core/Ui/Message/Share/Providers",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getEnabledProviders=t.getProviders=t.enableShareProviders=t.addShareProvider=void 0;const i=new Set,n=new Map([["Facebook",{cssClass:"jsShareFacebook",iconClassName:"fa-facebook-official",label:"wcf.message.share.facebook"}],["Twitter",{cssClass:"jsShareTwitter",iconClassName:"fa-twitter",label:"wcf.message.share.twitter"}],["Reddit",{cssClass:"jsShareReddit",iconClassName:"fa-reddit",label:"wcf.message.share.reddit"}],["WhatsApp",{cssClass:"jsShareWhatsApp",iconClassName:"fa-whatsapp",label:"wcf.message.share.whatsApp"}],["LinkedIn",{cssClass:"jsShareLinkedIn",iconClassName:"fa-linkedin",label:"wcf.message.share.linkedIn"}],["Pinterest",{cssClass:"jsSharePinterest",iconClassName:"fa-pinterest-p",label:"wcf.message.share.pinterest"}],["XING",{cssClass:"jsShareXing",iconClassName:"fa-xing",label:"wcf.message.share.xing"}]]);t.addShareProvider=function(e,t){if(n.has(e))throw new Error(`A share provider with name "${e}" already exists.`);n.set(e,t)},t.enableShareProviders=function(e){e.forEach((e=>{n.has(e)&&i.add(n.get(e))}))},t.getProviders=function(){return n},t.getEnabledProviders=function(){return i}})),define("WoltLabSuite/Core/Ui/Message/Share/Dialog",["require","exports","tslib","../../Dialog","../../../Dom/Util","../../../Dom/Traverse","../../../Language","../../../Clipboard","../../Notification","../../../StringUtil","../../../Dom/Change/Listener","../Share","./Providers"],(function(e,t,i,n,o,r,a,s,l,c,d,u,h){"use strict";function p(e,t){return`\n <dl>\n <dt>${a.get(e)}</dt>\n <dd>\n <div class="inputAddon">\n <input type="text" class="long" readonly value="${c.escapeHTML(t)}">\n <a href="#" class="inputSuffix button jsTooltip shareDialogCopyButton" title="${a.get("wcf.message.share.copy")}"><span class="icon icon16 fa-files-o pointer"></span></a>\n </div>\n </dd>\n </dl>\n `}function m(e){e.preventDefault();const t=e.currentTarget,i=`shareContentDialog_${o.default.identify(t)}`;if(n.default.getDialog(i))n.default.openStatic(i,null);else{const e=function(){const e=Array.from(h.getEnabledProviders()).map((e=>{const t=a.get(e.label);return`\n <li>\n <a href="#" role="button" class="button ${e.cssClass}" title="${t}" aria-label="${t}">\n <span class="icon icon24 ${e.iconClassName}"></span>\n <span>${t}</span>\n </a>\n </li>\n `})).join("\n");return e?`<ul class="inlineList">${e}</ul>`:""}();let o="";e&&(o=`\n <dl class="messageShareButtons jsMessageShareButtons" data-url="${c.escapeHTML(t.href)}">\n <dt>${a.get("wcf.message.share.socialMedia")}</dt>\n <dd>${e}</dd>\n </dl>\n `);let d="";b&&(d=`\n <dl>\n <dt></dt>\n <dd>\n <button class="shareDialogNativeButton" data-url="${c.escapeHTML(t.href)}" data-title="${c.escapeHTML(t.dataset.linkTitle||"")}">${a.get("wcf.message.share.nativeShare")}</button>\n </dd>\n </dl>\n `);const m=`\n <div class="shareContentDialog">\n ${function(e){const t=e.href;let i=p("wcf.message.share.permalink",t);return e.dataset.bbcode&&(i+=p("wcf.message.share.permalink.bbcode",e.dataset.bbcode)),t&&e.dataset.linkTitle&&(e.dataset.bbcode||(i+=p("wcf.message.share.permalink.bbcode",`[url='${t}']${e.dataset.linkTitle}[/url]`)),i+=p("wcf.message.share.permalink.html",`<a href="${c.escapeHTML(t)}">${c.escapeHTML(e.dataset.linkTitle)}</a>`)),i}(t)}\n ${o}\n ${d}\n </div>\n `,f=n.default.openStatic(i,m,{title:a.get("wcf.message.share")});f.content.style.maxWidth="600px",f.content.querySelectorAll(".shareDialogCopyButton").forEach((e=>e.addEventListener("click",(e=>async function(e){e.preventDefault();const t=e.currentTarget,i=r.prevBySel(t,'input[type="text"]');await s.copyTextToClipboard(i.value),l.show(a.get("wcf.message.share.copy.success"))}(e))))),b&&f.content.querySelector(".shareDialogNativeButton").addEventListener("click",(e=>async function(e){e.preventDefault();const t=e.currentTarget,i={url:t.dataset.url};t.dataset.title&&(i.title=t.dataset.title),await window.navigator.share(i)}(e))),e&&u.init()}}function f(){document.querySelectorAll("a.shareButton").forEach((e=>{g.has(e)||(e.addEventListener("click",(e=>m(e))),g.add(e))}))}Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,n=i.__importDefault(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importStar(l),c=i.__importStar(c),d=i.__importDefault(d),u=i.__importStar(u),h=i.__importStar(h);const g=new WeakSet,b=void 0!==window.navigator.share;t.setup=function(){f(),d.default.add("WoltLabSuite/Core/Ui/Message/Share/Dialog",(()=>f()))}})),define("WoltLabSuite/Core/Ui/Feed/Dialog",["require","exports","tslib","../Dialog","../../StringUtil","../../Language","../../Clipboard","../Notification"],(function(e,t,i,n,o,r,a,s){"use strict";function l(e){e.preventDefault();const t=e.currentTarget,i=t.href,l=i.replace(/(\\?|&)at=[^&]*&?/,"$1").replace(/(\?|&)$/,"");n.default.openStatic("feedLinkDialog",`\n<p class="info">${r.get("wcf.global.rss.accessToken.info")}</p>\n<dl>\n <dt>${r.get("wcf.global.rss.withoutAccessToken")}</dt>\n <dd>\n <div class="inputAddon">\n <input type="text" class="long" readonly value="${o.escapeHTML(l)}">\n <a href="#" class="inputSuffix button jsTooltip feedLinkDialogCopyButton" title="${r.get("wcf.global.rss.copy")}"><span class="icon icon16 fa-files-o pointer"></span></a>\n </div>\n </dd>\n</dl>\n<dl>\n <dt>${r.get("wcf.global.rss.withAccessToken")}</dt>\n <dd>\n <div class="inputAddon">\n <input type="text" class="long" readonly value="${o.escapeHTML(i)}">\n <a href="#" class="inputSuffix button jsTooltip feedLinkDialogCopyButton" title="${r.get("wcf.global.rss.copy")}"><span class="icon icon16 fa-files-o pointer"></span></a>\n </div>\n </dd>\n</dl>\n`,{onSetup(e){e.querySelectorAll(".feedLinkDialogCopyButton").forEach((e=>e.addEventListener("click",(e=>async function(e){e.preventDefault();const t=e.currentTarget.parentNode.querySelector('input[type="text"]');await a.copyTextToClipboard(t.value),s.show(r.get("wcf.global.rss.copy.success"))}(e)))))},title:t.title||r.get("wcf.global.button.rss")})}Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,n=i.__importDefault(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s),t.setup=function(){document.querySelectorAll("a.rssFeed").forEach((e=>{e.addEventListener("click",(e=>l(e)))}))}})),define("WoltLabSuite/Core/BootstrapFrontend",["require","exports","tslib","./BackgroundQueue","./Bootstrap","./Controller/Style/Changer","./Controller/Popover","./Ui/User/Ignore","./Ui/Page/Header/Menu","./Ui/Message/UserConsent","./Ajax","./Ui/Message/Share/Dialog","./Ui/Message/Share/Providers","./Ui/Feed/Dialog","./User"],(function(e,t,i,n,o,r,a,s,l,c,d,u,h,p,m){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importStar(l),c=i.__importStar(c),d=i.__importStar(d),u=i.__importStar(u),h=i.__importStar(h),p=i.__importStar(p),m=i.__importDefault(m),t.setup=function(e){e.backgroundQueue.url=window.WSC_API_URL+e.backgroundQueue.url.substr(window.WCF_PATH.length),o.setup({enableMobileMenu:!0}),l.init(),e.styleChanger&&r.setup(),e.enableUserPopover&&(a.init({className:"userLink",dboAction:"wcf\\data\\user\\UserProfileAction",identifier:"com.woltlab.wcf.user"}),a.init({attributeName:"data-user-id",className:"userLink",dboAction:"wcf\\data\\user\\UserProfileAction",identifier:"com.woltlab.wcf.user.deprecated"})),e.executeCronjobs&&d.apiOnce({data:{className:"wcf\\data\\cronjob\\CronjobAction",actionName:"executeCronjobs"},failure:()=>!1,silent:!0}),n.setUrl(e.backgroundQueue.url),(Math.random()<.1||e.backgroundQueue.force)&&n.invoke(),globalThis.COMPILER_TARGET_DEFAULT&&s.init(),c.init(),h.enableShareProviders(e.shareButtonProviders||[]),u.setup(),m.default.userId&&p.setup()}})),define("WoltLabSuite/Core/ColorUtil",["require","exports"],(function(e,t){"use strict";function i(e,t,i){const n={r:0,g:0,b:0},o=Math.floor(e/60),r=e/60-o,a=(i/=100)*(1-(t/=100)),s=i*(1-t*r),l=i*(1-t*(1-r));if(0==t)n.r=n.g=n.b=i;else switch(o){case 1:n.r=s,n.g=i,n.b=a;break;case 2:n.r=a,n.g=i,n.b=l;break;case 3:n.r=a,n.g=s,n.b=i;break;case 4:n.r=l,n.g=a,n.b=i;break;case 5:n.r=i,n.g=a,n.b=s;break;case 0:case 6:n.r=i,n.g=l,n.b=a}return{r:Math.round(255*n.r),g:Math.round(255*n.g),b:Math.round(255*n.b)}}function n(e,t,i){let n,o;e/=255,t/=255,i/=255;const r=Math.max(Math.max(e,t),i),a=Math.min(Math.min(e,t),i),s=r-a;if(n=0,r!==a){switch(r){case e:n=(t-i)/s*60;break;case t:n=60*(2+(i-e)/s);break;case i:n=60*(4+(e-t)/s)}n<0&&(n+=360)}return o=0===r?0:s/r,{h:Math.round(n),s:Math.round(100*o),v:Math.round(100*r)}}function o(e){if(/^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/.test(e)){const t=e.split("");return"#"===t[0]&&t.shift(),3===t.length?{r:parseInt(t[0]+""+t[0],16),g:parseInt(t[1]+""+t[1],16),b:parseInt(t[2]+""+t[2],16)}:{r:parseInt(t[0]+""+t[1],16),g:parseInt(t[2]+""+t[3],16),b:parseInt(t[4]+""+t[5],16)}}return Number.NaN}function r(e,t,i){const n="0123456789ABCDEF";return void 0===t&&/^rgba?\((\d+), ?(\d+), ?(\d+)(?:, ?[0-9.]+)?\)$/.exec(e.toString())&&(e=+RegExp.$1,t=+RegExp.$2,i=+RegExp.$3),n.charAt((e-e%16)/16)+""+n.charAt(e%16)+n.charAt((t-t%16)/16)+n.charAt(t%16)+n.charAt((i-i%16)/16)+n.charAt(i%16)}Object.defineProperty(t,"__esModule",{value:!0}),t.rgbToHex=t.hexToRgb=t.rgbToHsv=t.hsvToRgb=void 0,t.hsvToRgb=i,t.rgbToHsv=n,t.hexToRgb=o,t.rgbToHex=r,window.__wcf_bc_colorUtil={hexToRgb:o,hsvToRgb:i,rgbToHex:r,rgbToHsv:n}})),define("WoltLabSuite/Core/Dictionary",["require","exports","tslib","./Core"],(function(e,t,i,n){"use strict";n=i.__importStar(n);class o{constructor(){this._dictionary=new Map}set(e,t){this._dictionary.set(e.toString(),t)}delete(e){return this._dictionary.delete(e.toString())}has(e){return this._dictionary.has(e.toString())}get(e){return this._dictionary.get(e.toString())}forEach(e){if("function"!=typeof e)throw new TypeError("forEach() expects a callback as first parameter.");this._dictionary.forEach(e)}merge(...e){for(let t=0,i=e.length;t<i;t++){e[t].forEach(((e,t)=>this.set(t,e)))}}toObject(){const e={};return this._dictionary.forEach(((t,i)=>e[i]=t)),e}static fromObject(e){const t=new o;return Object.keys(e).forEach((i=>{t.set(i,e[i])})),t}get size(){return this._dictionary.size}}return n.enableLegacyInheritance(o),o})),define("WoltLabSuite/Core/FileUtil",["require","exports","tslib","./StringUtil"],(function(e,t,i,n){"use strict";function o(e){return a.has(e)?"."+a.get(e):""}Object.defineProperty(t,"__esModule",{value:!0}),t.blobToFile=t.getExtensionByMimeType=t.getIconNameByFilename=t.formatFilesize=void 0,n=i.__importStar(n);const r=new Map(Object.entries({zip:"archive",rar:"archive",tar:"archive",gz:"archive",mp3:"audio",ogg:"audio",wav:"audio",php:"code",html:"code",htm:"code",tpl:"code",js:"code",xls:"excel",ods:"excel",xlsx:"excel",gif:"image",jpg:"image",jpeg:"image",png:"image",bmp:"image",webp:"image",avi:"video",wmv:"video",mov:"video",mp4:"video",mpg:"video",mpeg:"video",flv:"video",pdf:"pdf",ppt:"powerpoint",pptx:"powerpoint",txt:"text",doc:"word",docx:"word",odt:"word"})),a=new Map(Object.entries({"application/zip":"zip","application/x-zip-compressed":"zip","application/rar":"rar","application/vnd.rar":"rar","application/x-rar-compressed":"rar","application/x-tar":"tar","application/x-gzip":"gz","application/gzip":"gz","audio/mpeg":"mp3","audio/mp3":"mp3","audio/ogg":"ogg","audio/x-wav":"wav","application/x-php":"php","text/html":"html","application/javascript":"js","application/vnd.ms-excel":"xls","application/vnd.oasis.opendocument.spreadsheet":"ods","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":"xlsx","image/gif":"gif","image/jpeg":"jpg","image/png":"png","image/x-ms-bmp":"bmp","image/bmp":"bmp","image/webp":"webp","video/x-msvideo":"avi","video/x-ms-wmv":"wmv","video/quicktime":"mov","video/mp4":"mp4","video/mpeg":"mpg","video/x-flv":"flv","application/pdf":"pdf","application/vnd.ms-powerpoint":"ppt","application/vnd.openxmlformats-officedocument.presentationml.presentation":"pptx","text/plain":"txt","application/msword":"doc","application/vnd.openxmlformats-officedocument.wordprocessingml.document":"docx","application/vnd.oasis.opendocument.text":"odt","public.jpeg":"jpeg","public.png":"png","com.compuserve.gif":"gif","org.webmproject.webp":"webp"}));t.formatFilesize=function(e,t=2){let i="Byte";return e>=1e3&&(e/=1e3,i="kB"),e>=1e3&&(e/=1e3,i="MB"),e>=1e3&&(e/=1e3,i="GB"),e>=1e3&&(e/=1e3,i="TB"),n.formatNumeric(e,-t)+" "+i},t.getIconNameByFilename=function(e){const t=e.lastIndexOf(".");if(-1!==t){const i=e.substr(t+1);if(r.has(i))return r.get(i)}return""},t.getExtensionByMimeType=o,t.blobToFile=function(e,t){const i=o(e.type);return new File([e],t+i,{type:e.type})}})),define("WoltLabSuite/Core/List",["require","exports","tslib","./Core"],(function(e,t,i,n){"use strict";n=i.__importStar(n);class o{constructor(){this._set=new Set}add(e){this._set.add(e)}clear(){this._set.clear()}delete(e){return this._set.delete(e)}forEach(e){this._set.forEach(e)}has(e){return this._set.has(e)}get size(){return this._set.size}}return n.enableLegacyInheritance(o),o})),define("WoltLabSuite/Core/ObjectMap",["require","exports","tslib","./Core"],(function(e,t,i,n){"use strict";n=i.__importStar(n);class o{constructor(){this._map=new WeakMap}set(e,t){if("object"!=typeof e||null===e)throw new TypeError("Only objects can be used as key");if("object"!=typeof t||null===t)throw new TypeError("Only objects can be used as value");this._map.set(e,t)}delete(e){this._map.delete(e)}has(e){return this._map.has(e)}get(e){return this._map.get(e)}}return n.enableLegacyInheritance(o),o})),define("WoltLabSuite/Core/Permission",["require","exports"],(function(e,t){"use strict";function i(e,t){if("boolean"!=typeof t)throw new TypeError("The permission value has to be boolean.");n.set(e,t)}Object.defineProperty(t,"__esModule",{value:!0}),t.get=t.addObject=t.add=void 0;const n=new Map;t.add=i,t.addObject=function(e){Object.keys(e).forEach((t=>i(t,e[t])))},t.get=function(e){return!!n.has(e)&&n.get(e)}})),_self="undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{},Prism=function(e){function t(e,t,i,n){this.type=e,this.content=t,this.alias=i,this.length=0|(n||"").length}function i(e,n,a,s,l,c){var d,h,p,m,f,g,b,_,v,w,y,E,S,L,C,A,I,x,k,D,T,M,j,B,P;for(d in a)if(a.hasOwnProperty(d)&&a[d])for(h=a[d],h=Array.isArray(h)?h:[h],p=0;p<h.length;++p){if(c&&c.cause==d+","+p)return;for(f=(m=h[p]).inside,g=!!m.lookbehind,b=!!m.greedy,_=0,v=m.alias,b&&!m.pattern.global&&(w=m.pattern.toString().match(/[imsuy]*$/)[0],m.pattern=RegExp(m.pattern.source,w+"g")),y=m.pattern||m,E=s.next,S=l;E!==n.tail&&!(c&&S>=c.reach);S+=E.value.length,E=E.next){if(L=E.value,n.length>e.length)return;if(!(L instanceof t)){if(C=1,b&&E!=n.tail.prev){if(y.lastIndex=S,!(A=y.exec(e)))break;for(I=A.index+(g&&A[1]?A[1].length:0),x=A.index+A[0].length,k=S,k+=E.value.length;I>=k;)k+=(E=E.next).value.length;if(S=k-=E.value.length,E.value instanceof t)continue;for(D=E;D!==n.tail&&(k<x||"string"==typeof D.value);D=D.next)C++,k+=D.value.length;C--,L=e.slice(S,k),A.index-=S}else y.lastIndex=0,A=y.exec(L);A&&(g&&(_=A[1]?A[1].length:0),x=(I=A.index+_)+(T=A[0].slice(_)).length,M=L.slice(0,I),j=L.slice(x),B=S+L.length,c&&B>c.reach&&(c.reach=B),P=E.prev,M&&(P=o(n,P,M),S+=M.length),r(n,P,C),E=o(n,P,new t(d,f?u.tokenize(T,f):T,v,T)),j&&o(n,E,j),C>1&&i(e,n,a,E.prev,S,{cause:d+","+p,reach:B}))}}}}function n(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function o(e,t,i){var n=t.next,o={value:i,prev:t,next:n};return t.next=o,n.prev=o,e.length++,o}function r(e,t,i){var n,o=t.next;for(n=0;n<i&&o!==e.tail;n++)o=o.next;t.next=o,o.prev=t,e.length-=n}function a(){u.manual||u.highlightAll()}var s,l,c=/\blang(?:uage)?-([\w-]+)\b/i,d=0,u={manual:e.Prism&&e.Prism.manual,disableWorkerMessageHandler:e.Prism&&e.Prism.disableWorkerMessageHandler,util:{encode:function e(i){return i instanceof t?new t(i.type,e(i.content),i.alias):Array.isArray(i)?i.map(e):i.replace(/&/g,"&").replace(/</g,"<").replace(/\u00a0/g," ")},type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,"__id",{value:++d}),e.__id},clone:function e(t,i){var n,o,r;switch(i=i||{},u.util.type(t)){case"Object":if(o=u.util.objId(t),i[o])return i[o];for(r in n={},i[o]=n,t)t.hasOwnProperty(r)&&(n[r]=e(t[r],i));return n;case"Array":return o=u.util.objId(t),i[o]?i[o]:(n=[],i[o]=n,t.forEach((function(t,o){n[o]=e(t,i)})),n);default:return t}},getLanguage:function(e){for(;e&&!c.test(e.className);)e=e.parentElement;return e?(e.className.match(c)||[,"none"])[1].toLowerCase():"none"},currentScript:function(){var e,t,i;if("undefined"==typeof document)return null;if("currentScript"in document)return document.currentScript;try{throw new Error}catch(n){if(e=(/at [^(\r\n]*\((.*):.+:.+\)$/i.exec(n.stack)||[])[1])for(i in t=document.getElementsByTagName("script"))if(t[i].src==e)return t[i];return null}},isActive:function(e,t,i){for(var n,o="no-"+t;e;){if((n=e.classList).contains(t))return!0;if(n.contains(o))return!1;e=e.parentElement}return!!i}},languages:{extend:function(e,t){var i,n=u.util.clone(u.languages[e]);for(i in t)n[i]=t[i];return n},insertBefore:function(e,t,i,n){var o,r,a,s,l;for(a in o=(n=n||u.languages)[e],r={},o)if(o.hasOwnProperty(a)){if(a==t)for(s in i)i.hasOwnProperty(s)&&(r[s]=i[s]);i.hasOwnProperty(a)||(r[a]=o[a])}return l=n[e],n[e]=r,u.languages.DFS(u.languages,(function(t,i){i===l&&t!=e&&(this[t]=r)})),r},DFS:function e(t,i,n,o){var r,a,s,l;for(a in o=o||{},r=u.util.objId,t)t.hasOwnProperty(a)&&(i.call(t,a,t[a],n||a),s=t[a],"Object"!==(l=u.util.type(s))||o[r(s)]?"Array"!==l||o[r(s)]||(o[r(s)]=!0,e(s,i,a,o)):(o[r(s)]=!0,e(s,i,null,o)))}},plugins:{},highlightAll:function(e,t){u.highlightAllUnder(document,e,t)},highlightAllUnder:function(e,t,i){var n,o,r={callback:i,container:e,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};for(u.hooks.run("before-highlightall",r),r.elements=Array.prototype.slice.apply(r.container.querySelectorAll(r.selector)),u.hooks.run("before-all-elements-highlight",r),n=0;o=r.elements[n++];)u.highlightElement(o,!0===t,r.callback)},highlightElement:function(t,i,n){function o(e){s.highlightedCode=e,u.hooks.run("before-insert",s),s.element.innerHTML=s.highlightedCode,u.hooks.run("after-highlight",s),u.hooks.run("complete",s),n&&n.call(s.element)}var r,a,s,l,d=u.util.getLanguage(t),h=u.languages[d];if(t.className=t.className.replace(c,"").replace(/\s+/g," ")+" language-"+d,(r=t.parentElement)&&"pre"===r.nodeName.toLowerCase()&&(r.className=r.className.replace(c,"").replace(/\s+/g," ")+" language-"+d),a=t.textContent,s={element:t,language:d,grammar:h,code:a},u.hooks.run("before-sanity-check",s),!s.code)return u.hooks.run("complete",s),void(n&&n.call(s.element));u.hooks.run("before-highlight",s),s.grammar?i&&e.Worker?((l=new Worker(u.filename)).onmessage=function(e){o(e.data)},l.postMessage(JSON.stringify({language:s.language,code:s.code,immediateClose:!0}))):o(u.highlight(s.code,s.grammar,s.language)):o(u.util.encode(s.code))},highlight:function(e,i,n){var o={code:e,grammar:i,language:n};return u.hooks.run("before-tokenize",o),o.tokens=u.tokenize(o.code,o.grammar),u.hooks.run("after-tokenize",o),t.stringify(u.util.encode(o.tokens),o.language)},tokenize:function(e,t){var r,a,s=t.rest;if(s){for(r in s)t[r]=s[r];delete t.rest}return o(a=new n,a.head,e),i(e,a,t,a.head,0),function(e){for(var t=[],i=e.head.next;i!==e.tail;)t.push(i.value),i=i.next;return t}(a)},hooks:{all:{},add:function(e,t){var i=u.hooks.all;i[e]=i[e]||[],i[e].push(t)},run:function(e,t){var i,n,o=u.hooks.all[e];if(o&&o.length)for(i=0;n=o[i++];)n(t)}},Token:t};return e.Prism=u,t.stringify=function e(t,i){var n,o,r,a,s;if("string"==typeof t)return t;if(Array.isArray(t))return n="",t.forEach((function(t){n+=e(t,i)})),n;for(s in o={type:t.type,content:e(t.content,i),tag:"span",classes:["token",t.type],attributes:{},language:i},(r=t.alias)&&(Array.isArray(r)?Array.prototype.push.apply(o.classes,r):o.classes.push(r)),u.hooks.run("wrap",o),a="",o.attributes)a+=" "+s+'="'+(o.attributes[s]||"").replace(/"/g,""")+'"';return"<"+o.tag+' class="'+o.classes.join(" ")+'"'+a+">"+o.content+"</"+o.tag+">"},e.document?((s=u.util.currentScript())&&(u.filename=s.src,s.hasAttribute("data-manual")&&(u.manual=!0)),u.manual||("loading"===(l=document.readyState)||"interactive"===l&&s&&s.defer?document.addEventListener("DOMContentLoaded",a):window.requestAnimationFrame?window.requestAnimationFrame(a):window.setTimeout(a,16)),u):e.addEventListener?(u.disableWorkerMessageHandler||e.addEventListener("message",(function(t){var i=JSON.parse(t.data),n=i.language,o=i.code,r=i.immediateClose;e.postMessage(u.highlight(o,u.languages[n],n)),r&&e.close()}),!1),u):u}(_self),"undefined"!=typeof module&&module.exports&&(module.exports=Prism),"undefined"!=typeof global&&(global.Prism=Prism),define("prism/prism",(function(){})),window.Prism=window.Prism||{},window.Prism.manual=!0,define("WoltLabSuite/Core/Prism",["prism/prism"],(function(){return Prism.wscSplitIntoLines=function(e){function t(){var e=elCreate("span");return elData(e,"number",o++),n.appendChild(e),e}for(var i,n=document.createDocumentFragment(),o=1,r=document.createNodeIterator(e,NodeFilter.SHOW_TEXT,(function(){return NodeFilter.FILTER_ACCEPT}),!1),a=t();i=r.nextNode();)i.data.split(/\r?\n/).forEach((function(n,o){var r,s,l;for(o>=1&&(a.appendChild(document.createTextNode("\n")),a=t()),r=document.createTextNode(n),s=i.parentNode;s!==e;)(l=s.cloneNode(!1)).appendChild(r),r=l,s=s.parentNode;a.appendChild(r)}));return n},Prism})),define("WoltLabSuite/Core/Upload",["require","exports","tslib","./Ajax/Request","./Core","./Dom/Change/Listener","./Language"],(function(e,t,i,n,o,r,a){"use strict";n=i.__importDefault(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importStar(a);class s{constructor(e,t,i){if(this._button=document.createElement("p"),this._fileElements=[],this._fileUpload=document.createElement("input"),this._internalFileId=0,this._multiFileUploadIds=[],!(i=i||{}).className)throw new Error("Missing class name.");this._options=o.extend({action:"upload",multiple:!1,acceptableFiles:null,name:"__files[]",singleFileRequests:!1,url:`index.php?ajax-upload/&t=${window.SECURITY_TOKEN}`},i),this._options.url=o.convertLegacyUrl(this._options.url),0===this._options.url.indexOf("index.php")&&(this._options.url=window.WSC_API_URL+this._options.url);const n=document.getElementById(e);if(null===n)throw new Error(`Element id '${e}' is unknown.`);this._buttonContainer=n;const r=document.getElementById(t);if(null===r)throw new Error(`Element id '${t}' is unknown.`);if(this._target=r,i.multiple&&"UL"!==this._target.nodeName&&"OL"!==this._target.nodeName&&"TBODY"!==this._target.nodeName)throw new Error("Target element has to be list or table body if uploading multiple files is supported.");this._createButton()}_createButton(){this._fileUpload=document.createElement("input"),this._fileUpload.type="file",this._fileUpload.name=this._options.name,this._options.multiple&&(this._fileUpload.multiple=!0),null!==this._options.acceptableFiles&&(this._fileUpload.accept=this._options.acceptableFiles.join(",")),this._fileUpload.addEventListener("change",(e=>this._upload(e))),this._button=document.createElement("p"),this._button.className="button uploadButton",this._button.setAttribute("role","button"),this._fileUpload.addEventListener("focus",(()=>{this._fileUpload.classList.contains("focus-visible")&&this._button.classList.add("active")})),this._fileUpload.addEventListener("blur",(()=>{this._button.classList.remove("active")}));const e=document.createElement("span");e.textContent=a.get("wcf.global.button.upload"),this._button.appendChild(e),this._button.insertAdjacentElement("afterbegin",this._fileUpload),this._insertButton(),r.default.trigger()}_createFileElement(e){const t=document.createElement("progress");let i;switch(t.max=100,this._target.nodeName){case"OL":case"UL":return i=document.createElement("li"),i.innerText=e.name,i.appendChild(t),this._target.appendChild(i),i;case"TBODY":return this._createFileTableRow(e);default:return i=document.createElement("p"),i.appendChild(t),this._target.appendChild(i),i}}_createFileElements(e){if(!e.length)return null;const t=[];Array.from(e).forEach((e=>{const i=this._createFileElement(e);i.classList.contains("uploadFailed")||(i.dataset.filename=e.name,i.dataset.internalFileId=(this._internalFileId++).toString(),t.push(i))}));const i=this._fileElements.length;return this._fileElements.push(t),r.default.trigger(),i}_createFileTableRow(e){throw new Error("Has to be implemented in subclass.")}_failure(e,t,i,n,o){return!0}_getParameters(){return{}}_getFormData(){return{}}_insertButton(){this._buttonContainer.insertAdjacentElement("afterbegin",this._button)}_progress(e,t){const i=Math.round(t.loaded/t.total*100);this._fileElements[e].forEach((e=>{const t=e.querySelector("progress");t&&(t.value=i)}))}_removeButton(){this._button.remove(),r.default.trigger()}_success(e,t,i,n,o){}_upload(e,t,i){this._target.querySelectorAll(".uploadFailed").forEach((e=>e.remove()));let n=null,o=[];if(t)o.push(t);else if(i){let e="";switch(i.type){case"image/jpeg":e="jpg";break;case"image/gif":e="gif";break;case"image/png":e="png";break;case"image/webp":e="webp"}o.push({name:`pasted-from-clipboard.${e}`})}else o=Array.from(this._fileUpload.files);return o.length&&this.validateUpload(o)&&(this._options.singleFileRequests?(n=[],o.forEach((e=>{const t=this._uploadFiles([e],i);1!==o.length&&this._multiFileUploadIds.push(t),n.push(t)}))):n=this._uploadFiles(o,i)),this._removeButton(),this._createButton(),n}validateUpload(e){return!0}_uploadFiles(e,t){function i(e,t){null!==e&&(t=t||"",Object.entries(e).forEach((([e,n])=>{if("object"==typeof n){i(n,0===t.length?e:`${t}[${e}]`)}else{const i=0===t.length?e:`${t}[${e}]`;r.append(i,n)}})))}const o=this._createFileElements(e);if(!this._fileElements[o].length)return null;const r=new FormData;for(let i=0,n=e.length;i<n;i++)if(this._fileElements[o][i]){const n=this._fileElements[o][i].dataset.internalFileId;t?r.append(`__files[${n}]`,t,e[i].name):r.append(`__files[${n}]`,e[i])}r.append("actionName",this._options.action),r.append("className",this._options.className),"upload"===this._options.action&&r.append("interfaceName","wcf\\data\\IUploadAction"),i(this._getParameters(),"parameters"),i(this._getFormData());return new n.default({data:r,contentType:!1,failure:this._failure.bind(this,o),silent:!0,success:this._success.bind(this,o),uploadProgress:this._progress.bind(this,o),url:this._options.url,withCredentials:!0}).sendRequest(),o}hasPendingUploads(){return void 0!==this._fileElements.find((e=>e.find((e=>null!==e.querySelector("progress")))))}uploadBlob(e){return this._upload(null,null,e)}uploadFile(e){return this._upload(null,e)}}return o.enableLegacyInheritance(s),s})),define("WoltLabSuite/Core/prism-meta",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default={markup:{title:"Markup",file:"markup"},html:{title:"HTML",file:"markup"},xml:{title:"XML",file:"markup"},svg:{title:"SVG",file:"markup"},mathml:{title:"MathML",file:"markup"},ssml:{title:"SSML",file:"markup"},atom:{title:"Atom",file:"markup"},rss:{title:"RSS",file:"markup"},css:{title:"CSS",file:"css"},clike:{title:"C-like",file:"clike"},javascript:{title:"JavaScript",file:"javascript"},abap:{title:"ABAP",file:"abap"},abnf:{title:"ABNF",file:"abnf"},actionscript:{title:"ActionScript",file:"actionscript"},ada:{title:"Ada",file:"ada"},agda:{title:"Agda",file:"agda"},al:{title:"AL",file:"al"},antlr4:{title:"ANTLR4",file:"antlr4"},apacheconf:{title:"Apache Configuration",file:"apacheconf"},apl:{title:"APL",file:"apl"},applescript:{title:"AppleScript",file:"applescript"},aql:{title:"AQL",file:"aql"},arduino:{title:"Arduino",file:"arduino"},arff:{title:"ARFF",file:"arff"},asciidoc:{title:"AsciiDoc",file:"asciidoc"},aspnet:{title:"ASP.NET (C#)",file:"aspnet"},asm6502:{title:"6502 Assembly",file:"asm6502"},autohotkey:{title:"AutoHotkey",file:"autohotkey"},autoit:{title:"AutoIt",file:"autoit"},bash:{title:"Bash",file:"bash"},basic:{title:"BASIC",file:"basic"},batch:{title:"Batch",file:"batch"},bbcode:{title:"BBcode",file:"bbcode"},bison:{title:"Bison",file:"bison"},bnf:{title:"BNF",file:"bnf"},brainfuck:{title:"Brainfuck",file:"brainfuck"},brightscript:{title:"BrightScript",file:"brightscript"},bro:{title:"Bro",file:"bro"},c:{title:"C",file:"c"},csharp:{title:"C#",file:"csharp"},cpp:{title:"C++",file:"cpp"},cil:{title:"CIL",file:"cil"},clojure:{title:"Clojure",file:"clojure"},cmake:{title:"CMake",file:"cmake"},coffeescript:{title:"CoffeeScript",file:"coffeescript"},concurnas:{title:"Concurnas",file:"concurnas"},csp:{title:"Content-Security-Policy",file:"csp"},crystal:{title:"Crystal",file:"crystal"},"css-extras":{title:"CSS Extras",file:"css-extras"},cypher:{title:"Cypher",file:"cypher"},d:{title:"D",file:"d"},dart:{title:"Dart",file:"dart"},dax:{title:"DAX",file:"dax"},dhall:{title:"Dhall",file:"dhall"},diff:{title:"Diff",file:"diff"},django:{title:"Django/Jinja2",file:"django"},"dns-zone-file":{title:"DNS zone file",file:"dns-zone-file"},docker:{title:"Docker",file:"docker"},ebnf:{title:"EBNF",file:"ebnf"},editorconfig:{title:"EditorConfig",file:"editorconfig"},eiffel:{title:"Eiffel",file:"eiffel"},ejs:{title:"EJS",file:"ejs"},elixir:{title:"Elixir",file:"elixir"},elm:{title:"Elm",file:"elm"},etlua:{title:"Embedded Lua templating",file:"etlua"},erb:{title:"ERB",file:"erb"},erlang:{title:"Erlang",file:"erlang"},"excel-formula":{title:"Excel Formula",file:"excel-formula"},fsharp:{title:"F#",file:"fsharp"},factor:{title:"Factor",file:"factor"},"firestore-security-rules":{title:"Firestore security rules",file:"firestore-security-rules"},flow:{title:"Flow",file:"flow"},fortran:{title:"Fortran",file:"fortran"},ftl:{title:"FreeMarker Template Language",file:"ftl"},gml:{title:"GameMaker Language",file:"gml"},gcode:{title:"G-code",file:"gcode"},gdscript:{title:"GDScript",file:"gdscript"},gedcom:{title:"GEDCOM",file:"gedcom"},gherkin:{title:"Gherkin",file:"gherkin"},git:{title:"Git",file:"git"},glsl:{title:"GLSL",file:"glsl"},go:{title:"Go",file:"go"},graphql:{title:"GraphQL",file:"graphql"},groovy:{title:"Groovy",file:"groovy"},haml:{title:"Haml",file:"haml"},handlebars:{title:"Handlebars",file:"handlebars"},haskell:{title:"Haskell",file:"haskell"},haxe:{title:"Haxe",file:"haxe"},hcl:{title:"HCL",file:"hcl"},hlsl:{title:"HLSL",file:"hlsl"},http:{title:"HTTP",file:"http"},hpkp:{title:"HTTP Public-Key-Pins",file:"hpkp"},hsts:{title:"HTTP Strict-Transport-Security",file:"hsts"},ichigojam:{title:"IchigoJam",file:"ichigojam"},icon:{title:"Icon",file:"icon"},ignore:{title:".ignore",file:"ignore"},gitignore:{title:".gitignore",file:"ignore"},hgignore:{title:".hgignore",file:"ignore"},npmignore:{title:".npmignore",file:"ignore"},inform7:{title:"Inform 7",file:"inform7"},ini:{title:"Ini",file:"ini"},io:{title:"Io",file:"io"},j:{title:"J",file:"j"},java:{title:"Java",file:"java"},javadoc:{title:"JavaDoc",file:"javadoc"},javadoclike:{title:"JavaDoc-like",file:"javadoclike"},javastacktrace:{title:"Java stack trace",file:"javastacktrace"},jolie:{title:"Jolie",file:"jolie"},jq:{title:"JQ",file:"jq"},jsdoc:{title:"JSDoc",file:"jsdoc"},"js-extras":{title:"JS Extras",file:"js-extras"},json:{title:"JSON",file:"json"},json5:{title:"JSON5",file:"json5"},jsonp:{title:"JSONP",file:"jsonp"},jsstacktrace:{title:"JS stack trace",file:"jsstacktrace"},"js-templates":{title:"JS Templates",file:"js-templates"},julia:{title:"Julia",file:"julia"},keyman:{title:"Keyman",file:"keyman"},kotlin:{title:"Kotlin",file:"kotlin"},kts:{title:"Kotlin Script",file:"kotlin"},latex:{title:"LaTeX",file:"latex"},tex:{title:"TeX",file:"latex"},context:{title:"ConTeXt",file:"latex"},latte:{title:"Latte",file:"latte"},less:{title:"Less",file:"less"},lilypond:{title:"LilyPond",file:"lilypond"},liquid:{title:"Liquid",file:"liquid"},lisp:{title:"Lisp",file:"lisp"},livescript:{title:"LiveScript",file:"livescript"},llvm:{title:"LLVM IR",file:"llvm"},lolcode:{title:"LOLCODE",file:"lolcode"},lua:{title:"Lua",file:"lua"},makefile:{title:"Makefile",file:"makefile"},markdown:{title:"Markdown",file:"markdown"},"markup-templating":{title:"Markup templating",file:"markup-templating"},matlab:{title:"MATLAB",file:"matlab"},mel:{title:"MEL",file:"mel"},mizar:{title:"Mizar",file:"mizar"},monkey:{title:"Monkey",file:"monkey"},moonscript:{title:"MoonScript",file:"moonscript"},n1ql:{title:"N1QL",file:"n1ql"},n4js:{title:"N4JS",file:"n4js"},"nand2tetris-hdl":{title:"Nand To Tetris HDL",file:"nand2tetris-hdl"},nasm:{title:"NASM",file:"nasm"},neon:{title:"NEON",file:"neon"},nginx:{title:"nginx",file:"nginx"},nim:{title:"Nim",file:"nim"},nix:{title:"Nix",file:"nix"},nsis:{title:"NSIS",file:"nsis"},objectivec:{title:"Objective-C",file:"objectivec"},ocaml:{title:"OCaml",file:"ocaml"},opencl:{title:"OpenCL",file:"opencl"},oz:{title:"Oz",file:"oz"},parigp:{title:"PARI/GP",file:"parigp"},parser:{title:"Parser",file:"parser"},pascal:{title:"Pascal",file:"pascal"},pascaligo:{title:"Pascaligo",file:"pascaligo"},pcaxis:{title:"PC-Axis",file:"pcaxis"},peoplecode:{title:"PeopleCode",file:"peoplecode"},perl:{title:"Perl",file:"perl"},php:{title:"PHP",file:"php"},phpdoc:{title:"PHPDoc",file:"phpdoc"},"php-extras":{title:"PHP Extras",file:"php-extras"},plsql:{title:"PL/SQL",file:"plsql"},powerquery:{title:"PowerQuery",file:"powerquery"},powershell:{title:"PowerShell",file:"powershell"},processing:{title:"Processing",file:"processing"},prolog:{title:"Prolog",file:"prolog"},properties:{title:".properties",file:"properties"},protobuf:{title:"Protocol Buffers",file:"protobuf"},pug:{title:"Pug",file:"pug"},puppet:{title:"Puppet",file:"puppet"},pure:{title:"Pure",file:"pure"},purebasic:{title:"PureBasic",file:"purebasic"},python:{title:"Python",file:"python"},q:{title:"Q (kdb+ database)",file:"q"},qml:{title:"QML",file:"qml"},qore:{title:"Qore",file:"qore"},r:{title:"R",file:"r"},racket:{title:"Racket",file:"racket"},jsx:{title:"React JSX",file:"jsx"},tsx:{title:"React TSX",file:"tsx"},reason:{title:"Reason",file:"reason"},regex:{title:"Regex",file:"regex"},renpy:{title:"Ren'py",file:"renpy"},rest:{title:"reST (reStructuredText)",file:"rest"},rip:{title:"Rip",file:"rip"},roboconf:{title:"Roboconf",file:"roboconf"},robotframework:{title:"Robot Framework",file:"robotframework"},ruby:{title:"Ruby",file:"ruby"},rust:{title:"Rust",file:"rust"},sas:{title:"SAS",file:"sas"},sass:{title:"Sass (Sass)",file:"sass"},scss:{title:"Sass (Scss)",file:"scss"},scala:{title:"Scala",file:"scala"},scheme:{title:"Scheme",file:"scheme"},"shell-session":{title:"Shell session",file:"shell-session"},smali:{title:"Smali",file:"smali"},smalltalk:{title:"Smalltalk",file:"smalltalk"},smarty:{title:"Smarty",file:"smarty"},solidity:{title:"Solidity (Ethereum)",file:"solidity"},"solution-file":{title:"Solution file",file:"solution-file"},soy:{title:"Soy (Closure Template)",file:"soy"},sparql:{title:"SPARQL",file:"sparql"},"splunk-spl":{title:"Splunk SPL",file:"splunk-spl"},sqf:{title:"SQF: Status Quo Function (Arma 3)",file:"sqf"},sql:{title:"SQL",file:"sql"},iecst:{title:"Structured Text (IEC 61131-3)",file:"iecst"},stylus:{title:"Stylus",file:"stylus"},swift:{title:"Swift",file:"swift"},"t4-templating":{title:"T4 templating",file:"t4-templating"},"t4-cs":{title:"T4 Text Templates (C#)",file:"t4-cs"},"t4-vb":{title:"T4 Text Templates (VB)",file:"t4-vb"},tap:{title:"TAP",file:"tap"},tcl:{title:"Tcl",file:"tcl"},tt2:{title:"Template Toolkit 2",file:"tt2"},textile:{title:"Textile",file:"textile"},toml:{title:"TOML",file:"toml"},turtle:{title:"Turtle",file:"turtle"},twig:{title:"Twig",file:"twig"},typescript:{title:"TypeScript",file:"typescript"},unrealscript:{title:"UnrealScript",file:"unrealscript"},vala:{title:"Vala",file:"vala"},vbnet:{title:"VB.Net",file:"vbnet"},velocity:{title:"Velocity",file:"velocity"},verilog:{title:"Verilog",file:"verilog"},vhdl:{title:"VHDL",file:"vhdl"},vim:{title:"vim",file:"vim"},"visual-basic":{title:"Visual Basic",file:"visual-basic"},vba:{title:"VBA",file:"visual-basic"},warpscript:{title:"WarpScript",file:"warpscript"},wasm:{title:"WebAssembly",file:"wasm"},wiki:{title:"Wiki markup",file:"wiki"},xeora:{title:"Xeora",file:"xeora"},"xml-doc":{title:"XML doc (.net)",file:"xml-doc"},xojo:{title:"Xojo (REALbasic)",file:"xojo"},xquery:{title:"XQuery",file:"xquery"},yaml:{title:"YAML",file:"yaml"},yang:{title:"YANG",file:"yang"},zig:{title:"Zig",file:"zig"}}})),define("WoltLabSuite/Core/Ajax/Data",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})})),define("WoltLabSuite/Core/Ajax/Jsonp",["require","exports","tslib","../Core"],(function(e,t,i,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.send=void 0,n=i.__importStar(n),t.send=function(e,t,i,o){if(0===(e="string"==typeof e?e.trim():"").length)throw new Error("Expected a non-empty string for parameter 'url'.");if("function"!=typeof t)throw new TypeError("Expected a valid callback function for parameter 'success'.");o=n.extend({parameterName:"callback",timeout:10},o||{});const r="wcf_jsonp_"+n.getUuid().replace(/-/g,"").substr(0,8),a=document.createElement("script"),s=window.setTimeout((()=>{"function"==typeof i&&i(),window[r]=void 0,a.remove()}),1e3*(~~o.timeout||10));window[r]=(...e)=>{window.clearTimeout(s),t(...e),window[r]=void 0,a.remove()},e+=-1===e.indexOf("?")?"?":"&",e+=o.parameterName+"="+r,a.async=!0,a.src=e,document.head.appendChild(a)}})),define("WoltLabSuite/Core/Prism/Helper",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.splitIntoLines=void 0,t.splitIntoLines=function*(e){const t=document.createNodeIterator(e,NodeFilter.SHOW_TEXT,{acceptNode:()=>NodeFilter.FILTER_ACCEPT});let i,n=document.createElement("span");for(;i=t.nextNode();){const t=i,o=t.data.split(/\r?\n/);for(let i=0,r=o.length;i<r;i++){const r=o[i];i>=1&&(n.appendChild(document.createTextNode("\n")),yield n,n=document.createElement("span"));let a=document.createTextNode(r),s=t.parentNode;for(;s&&s!==e;){const e=s.cloneNode(!1);e.appendChild(a),a=e,s=s.parentNode}n.appendChild(a)}}yield n}})),define("WoltLabSuite/Core/Bbcode/Code",["require","exports","tslib","../Language","../Clipboard","../Ui/Notification","../Prism","../Prism/Helper","../prism-meta"],(function(e,t,i,n,o,r,a,s,l){"use strict";async function c(){return new Promise(((e,t)=>{window.requestIdleCallback?window.requestIdleCallback(e,{timeout:5e3}):setTimeout(e,0)}))}n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importDefault(a),s=i.__importStar(s),l=i.__importDefault(l);class d{constructor(e){var t;this.container=e,this.codeContainer=this.container.querySelector(".codeBoxCode > code"),this.language=null===(t=Array.from(this.codeContainer.classList).find((e=>/^language-([a-z0-9_-]+)$/.test(e))))||void 0===t?void 0:t.replace(/^language-/,"")}static processAll(){document.querySelectorAll(".codeBox:not([data-processed])").forEach((e=>{e.dataset.processed="1";const t=new d(e);t.language&&t.highlight(),t.createCopyButton()}))}createCopyButton(){const e=this.container.querySelector(".codeBoxHeader");if(!e)return;const t=document.createElement("span");t.tabIndex=0,t.setAttribute("role","button"),t.className="icon icon24 fa-files-o pointer jsTooltip",t.setAttribute("title",n.get("wcf.message.bbcode.code.copy"));const i=async()=>{await o.copyElementTextToClipboard(this.codeContainer),r.show(n.get("wcf.message.bbcode.code.copy.success"))};t.addEventListener("click",i),t.addEventListener("keydown",(e=>{"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),i())})),e.appendChild(t)}async highlight(){if(!this.language)throw new Error("No language detected");if(!l.default[this.language])throw new Error(`Unknown language '${this.language}'`);this.container.classList.add("highlighting"),await new Promise(((t,i)=>{e(["prism/components/prism-"+l.default[this.language].file],t,i)})).then(i.__importStar),await c();const t=a.default.languages[this.language];if(!t)throw new Error(`Invalid language '${this.language}' given.`);const n=document.createElement("div");n.innerHTML=a.default.highlight(this.codeContainer.textContent,t,this.language),await c();const o=this.codeContainer.querySelectorAll(".codeBoxLine > span"),r=s.splitIntoLines(n);for(let e=0,t=o.length;e<t;e+=d.chunkSize){await c();const i=Math.min(e+d.chunkSize,t);for(let t=e;t<i;t++){const e=o[t],i=r.next().value;e.parentNode.replaceChild(i,e)}}this.container.classList.remove("highlighting"),this.container.classList.add("highlighted")}}return d.chunkSize=50,d})),define("WoltLabSuite/Core/Bbcode/Collapsible",["require","exports"],(function(e,t){"use strict";function i(e,t,i){if(e.classList.toggle("collapsed")){if(t.forEach((e=>{const t=e.dataset.titleExpand;e.classList.contains("icon")?(e.classList.remove("fa-compress"),e.classList.add("fa-expand"),e.title=t):e.textContent=t})),i instanceof Event){const t=e.getBoundingClientRect().top;if(t<0){let e=window.pageYOffset+(t-100);e<0&&(e=0),window.scrollTo(window.pageXOffset,e)}}}else t.forEach((e=>{const t=e.dataset.titleCollapse;e.classList.contains("icon")?(e.classList.add("fa-compress"),e.classList.remove("fa-expand"),e.title=t):e.textContent=t}))}Object.defineProperty(t,"__esModule",{value:!0}),t.observe=void 0,t.observe=function(){document.querySelectorAll(".jsCollapsibleBbcode").forEach((e=>{const t=Array.from(e.querySelectorAll(".toggleButton:not(.jsToggleButtonEnabled)")).filter((t=>t.closest(".jsCollapsibleBbcode")===e)),n=e.querySelector(".collapsibleBbcodeOverflow")||e;t.length>0&&function(e,t,n){t.forEach((n=>{n.classList.add("jsToggleButtonEnabled"),n.addEventListener("click",(n=>i(e,t,n))),n.addEventListener("keydown",(n=>{"Enter"!==n.key&&" "!==n.key||(n.preventDefault(),i(e,t))}))})),0!==n.scrollTop&&(n.scrollTop=0,i(e,t)),n.addEventListener("scroll",(()=>{n.scrollTop=0,e.classList.contains("collapsed")&&i(e,t)}))}(e,t,n),e.classList.remove("jsCollapsibleBbcode")}))}})),define("WoltLabSuite/Core/Bbcode/Spoiler",["require","exports","tslib","../Core","../Language","../Dom/Util"],(function(e,t,i,n,o,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.observe=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),t.observe=function(){const e="jsSpoilerBox";document.querySelectorAll(".jsSpoilerBox").forEach((t=>{t.classList.remove(e);const i=t.querySelector(".jsSpoilerToggle"),a=t.querySelector(".spoilerBoxContent");i.addEventListener("click",(e=>function(e,t,i){e.preventDefault(),i.classList.toggle("active");const a=i.classList.contains("active");a?r.default.show(t):r.default.hide(t),i.setAttribute("aria-expanded",a?"true":"false"),t.setAttribute("aria-hidden",a?"false":"true"),n.stringToBool(i.dataset.hasCustomLabel||"")||(i.textContent=o.get(i.classList.contains("active")?"wcf.bbcode.spoiler.hide":"wcf.bbcode.spoiler.show"))}(e,a,i)))}))}})),define("WoltLabSuite/Core/Controller/Captcha",["require","exports"],(function(e,t){"use strict";const i=new Map;return{add(e,t){if(i.has(e))throw new Error(`Captcha with id '${e}' is already registered.`);if("function"!=typeof t)throw new TypeError("Expected a valid callback for parameter 'callback'.");i.set(e,t)},delete(e){if(!i.has(e))throw new Error(`Unknown captcha with id '${e}'.`);i.delete(e)},has:e=>i.has(e),getData(e){if(!i.has(e))throw new Error(`Unknown captcha with id '${e}'.`);return i.get(e)()}}})),define("WoltLabSuite/Core/Event/Key",["require","exports"],(function(e,t){"use strict";function i(e,t,i){if(!(e instanceof Event))throw new TypeError("Expected a valid event when testing for key '"+t+"'.");return e.key===t||e.which===i}Object.defineProperty(t,"__esModule",{value:!0}),t.Tab=t.Space=t.Home=t.Escape=t.Enter=t.End=t.Comma=t.ArrowUp=t.ArrowRight=t.ArrowLeft=t.ArrowDown=void 0,t.ArrowDown=function(e){return i(e,"ArrowDown",40)},t.ArrowLeft=function(e){return i(e,"ArrowLeft",37)},t.ArrowRight=function(e){return i(e,"ArrowRight",39)},t.ArrowUp=function(e){return i(e,"ArrowUp",38)},t.Comma=function(e){return i(e,",",44)},t.End=function(e){return i(e,"End",35)},t.Enter=function(e){return i(e,"Enter",13)},t.Escape=function(e){return i(e,"Escape",27)},t.Home=function(e){return i(e,"Home",36)},t.Space=function(e){return i(e,"Space",32)},t.Tab=function(e){return i(e,"Tab",9)}})),define("WoltLabSuite/Core/Image/ExifUtil",["require","exports"],(function(e,t){"use strict";function i(e){return"Exif"===e||"http://ns.adobe.com/xap/1.0/"===e||"http://ns.adobe.com/xmp/extension/"===e}function n(...e){let t=0;const i=e.reduce(((e,t)=>e+t.length),0),n=new Uint8Array(i);return e.forEach((e=>{n.set(e,t),t+=e.length})),n}async function o(e){return new Promise(((t,i)=>{const n=new FileReader;n.addEventListener("error",(()=>{n.abort(),i(n.error)})),n.addEventListener("load",(()=>{t(new Uint8Array(n.result))})),n.readAsArrayBuffer(e)}))}async function r(e){if(!(e instanceof Blob||e instanceof File))throw new TypeError("The argument must be a Blob or a File");const t=await o(e);if(255!==t[0]&&t[1]!==a.SOI)throw new Error("Not a JPEG");let r=t;for(let e=2;e<r.length&&255===r[e];){const t=2+(r[e+2]<<8|r[e+3]);if(r[e+1]===a.APP1){let o="";for(let t=e+4;0!==r[t]&&t<r.length;t++)o+=String.fromCharCode(r[t]);if(i(o)){const i=r.slice(0,e),o=r.slice(e+t);r=n(i,o)}else e+=t}else e+=t}return new Blob([r],{type:e.type})}var a;Object.defineProperty(t,"__esModule",{value:!0}),t.setExifData=t.removeExifData=t.getExifBytesFromJpeg=void 0,function(e){e[e.SOI=216]="SOI",e[e.APP0=224]="APP0",e[e.APP1=225]="APP1",e[e.APP2=226]="APP2",e[e.APP3=227]="APP3",e[e.APP4=228]="APP4",e[e.APP5=229]="APP5",e[e.APP6=230]="APP6",e[e.APP7=231]="APP7",e[e.APP8=232]="APP8",e[e.APP9=233]="APP9",e[e.APP10=234]="APP10",e[e.APP11=235]="APP11",e[e.APP12=236]="APP12",e[e.APP13=237]="APP13",e[e.APP14=238]="APP14",e[e.COM=254]="COM"}(a||(a={}));t.getExifBytesFromJpeg=async function(e){if(!(e instanceof Blob||e instanceof File))throw new TypeError("The argument must be a Blob or a File");const t=await o(e);let r=new Uint8Array(0);if(255!==t[0]&&t[1]!==a.SOI)throw new Error("Not a JPEG");for(let e=2;e<t.length&&255===t[e];){const o=2+(t[e+2]<<8|t[e+3]);if(t[e+1]===a.APP1){let a="";for(let i=e+4;0!==t[i]&&i<t.length;i++)a+=String.fromCharCode(t[i]);if(i(a)){r=n(r,t.slice(e,o+e))}}e+=o}return r},t.removeExifData=r,t.setExifData=async function(e,t){e=await r(e);const i=await o(e);let s=2;255===i[2]&&i[3]===a.APP0&&(s+=2+(i[4]<<8|i[5]));const l=n(i.slice(0,s),t,i.slice(s));return new Blob([l],{type:e.type})}})),define("WoltLabSuite/Core/Image/ImageUtil",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.containsTransparentPixels=void 0,t.containsTransparentPixels=function(e){const t=e.getContext("2d");if(!t)throw new Error("Unable to get canvas context.");const i=t.getImageData(0,0,e.width,e.height);for(let e=3,t=i.data.length;e<t;e+=4)if(255!==i.data[e])return!0;return!1}})),function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define("pica",[],e);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).pica=e()}}((function(){return function e(t,i,n){function o(a,s){var l,c,d;if(!i[a]){if(!t[a]){if(l="function"==typeof require&&require,!s&&l)return l(a,!0);if(r)return r(a,!0);throw(c=new Error("Cannot find module '"+a+"'")).code="MODULE_NOT_FOUND",c}d=i[a]={exports:{}},t[a][0].call(d.exports,(function(e){return o(t[a][1][e]||e)}),d,d.exports,e,t,i,n)}return i[a].exports}for(var r="function"==typeof require&&require,a=0;a<n.length;a++)o(n[a]);return o}({1:[function(e,t,i){"use strict";function n(e){var t=e||[],i={js:t.indexOf("js")>=0,wasm:t.indexOf("wasm")>=0};r.call(this,i),this.features={js:i.js,wasm:i.wasm&&this.has_wasm()},this.use(a),this.use(s)}var o=e("inherits"),r=e("multimath"),a=e("multimath/lib/unsharp_mask"),s=e("./mm_resize");o(n,r),n.prototype.resizeAndUnsharp=function(e,t){var i=this.resize(e,t);return e.unsharpAmount&&this.unsharp_mask(i,e.toWidth,e.toHeight,e.unsharpAmount,e.unsharpRadius,e.unsharpThreshold),i},t.exports=n},{"./mm_resize":4,inherits:15,multimath:16,"multimath/lib/unsharp_mask":19}],2:[function(e,t,i){"use strict";function n(e){return e<0?0:e>255?255:e}t.exports={convolveHorizontally:function(e,t,i,o,r,a){var s,l,c,d,u,h,p,m,f,g,b,_=0,v=0;for(f=0;f<o;f++){for(u=0,g=0;g<r;g++){for(h=a[u++],p=a[u++],m=_+4*h|0,s=l=c=d=0;p>0;p--)d=d+(b=a[u++])*e[m+3]|0,c=c+b*e[m+2]|0,l=l+b*e[m+1]|0,s=s+b*e[m]|0,m=m+4|0;t[v+3]=n(d+8192>>14),t[v+2]=n(c+8192>>14),t[v+1]=n(l+8192>>14),t[v]=n(s+8192>>14),v=v+4*o|0}v=4*(f+1)|0,_=(f+1)*i*4|0}},convolveVertically:function(e,t,i,o,r,a){var s,l,c,d,u,h,p,m,f,g,b,_=0,v=0;for(f=0;f<o;f++){for(u=0,g=0;g<r;g++){for(h=a[u++],p=a[u++],m=_+4*h|0,s=l=c=d=0;p>0;p--)d=d+(b=a[u++])*e[m+3]|0,c=c+b*e[m+2]|0,l=l+b*e[m+1]|0,s=s+b*e[m]|0,m=m+4|0;t[v+3]=n(d+8192>>14),t[v+2]=n(c+8192>>14),t[v+1]=n(l+8192>>14),t[v]=n(s+8192>>14),v=v+4*o|0}v=4*(f+1)|0,_=(f+1)*i*4|0}}}},{}],3:[function(e,t,i){"use strict";t.exports="AGFzbQEAAAABFAJgBn9/f39/fwBgB39/f39/f38AAg8BA2VudgZtZW1vcnkCAAEDAwIAAQQEAXAAAAcZAghjb252b2x2ZQAACmNvbnZvbHZlSFYAAQkBAArmAwLBAwEQfwJAIANFDQAgBEUNACAFQQRqIRVBACEMQQAhDQNAIA0hDkEAIRFBACEHA0AgB0ECaiESAn8gBSAHQQF0IgdqIgZBAmouAQAiEwRAQQAhCEEAIBNrIRQgFSAHaiEPIAAgDCAGLgEAakECdGohEEEAIQlBACEKQQAhCwNAIBAoAgAiB0EYdiAPLgEAIgZsIAtqIQsgB0H/AXEgBmwgCGohCCAHQRB2Qf8BcSAGbCAKaiEKIAdBCHZB/wFxIAZsIAlqIQkgD0ECaiEPIBBBBGohECAUQQFqIhQNAAsgEiATagwBC0EAIQtBACEKQQAhCUEAIQggEgshByABIA5BAnRqIApBgMAAakEOdSIGQf8BIAZB/wFIG0EQdEGAgPwHcUEAIAZBAEobIAtBgMAAakEOdSIGQf8BIAZB/wFIG0EYdEEAIAZBAEobciAJQYDAAGpBDnUiBkH/ASAGQf8BSBtBCHRBgP4DcUEAIAZBAEobciAIQYDAAGpBDnUiBkH/ASAGQf8BSBtB/wFxQQAgBkEAShtyNgIAIA4gA2ohDiARQQFqIhEgBEcNAAsgDCACaiEMIA1BAWoiDSADRw0ACwsLIQACQEEAIAIgAyAEIAUgABAAIAJBACAEIAUgBiABEAALCw=="},{}],4:[function(e,t,i){"use strict";t.exports={name:"resize",fn:e("./resize"),wasm_fn:e("./resize_wasm"),wasm_src:e("./convolve_wasm_base64")}},{"./convolve_wasm_base64":3,"./resize":5,"./resize_wasm":8}],5:[function(e,t,i){"use strict";var n=e("./resize_filter_gen"),o=e("./convolve").convolveHorizontally,r=e("./convolve").convolveVertically;t.exports=function(e){var t=e.src,i=e.width,a=e.height,s=e.toWidth,l=e.toHeight,c=e.scaleX||e.toWidth/e.width,d=e.scaleY||e.toHeight/e.height,u=e.offsetX||0,h=e.offsetY||0,p=e.dest||new Uint8Array(s*l*4),m=void 0===e.quality?3:e.quality,f=e.alpha||!1,g=n(m,i,s,c,u),b=n(m,a,l,d,h),_=new Uint8Array(s*a*4);return o(t,_,i,a,s,g),r(_,p,a,s,l,b),f||function(e,t,i){for(var n=3,o=t*i*4|0;n<o;)e[n]=255,n=n+4|0}(p,s,l),p}},{"./convolve":2,"./resize_filter_gen":6}],6:[function(e,t,i){"use strict";function n(e){return Math.round(e*((1<<r)-1))}var o=e("./resize_filter_info"),r=14;t.exports=function(e,t,i,r,a){var s,l,c,d,u,h,p,m,f,g,b,_,v,w,y,E,S,L=o[e].filter,C=1/r,A=Math.min(1,r),I=o[e].win/A,x=Math.floor(2*(I+1)),k=new Int16Array((x+2)*i),D=0,T=!k.subarray||!k.set;for(s=0;s<i;s++){for(l=(s+.5)*C+a,c=Math.max(0,Math.floor(l-I)),u=(d=Math.min(t-1,Math.ceil(l+I)))-c+1,h=new Float32Array(u),p=new Int16Array(u),m=0,f=c,g=0;f<=d;f++,g++)m+=b=L((f+.5-l)*A),h[g]=b;for(_=0,g=0;g<h.length;g++)_+=v=h[g]/m,p[g]=n(v);for(p[i>>1]+=n(1-_),w=0;w<p.length&&0===p[w];)w++;if(w<p.length){for(y=p.length-1;y>0&&0===p[y];)y--;if(E=c+w,S=y-w+1,k[D++]=E,k[D++]=S,T)for(g=w;g<=y;g++)k[D++]=p[g];else k.set(p.subarray(w,y+1),D),D+=S}else k[D++]=0,k[D++]=0}return k}},{"./resize_filter_info":7}],7:[function(e,t,i){"use strict";t.exports=[{win:.5,filter:function(e){return e>=-.5&&e<.5?1:0}},{win:1,filter:function(e){if(e<=-1||e>=1)return 0;if(e>-1.1920929e-7&&e<1.1920929e-7)return 1;var t=e*Math.PI;return Math.sin(t)/t*(.54+.46*Math.cos(t/1))}},{win:2,filter:function(e){if(e<=-2||e>=2)return 0;if(e>-1.1920929e-7&&e<1.1920929e-7)return 1;var t=e*Math.PI;return Math.sin(t)/t*Math.sin(t/2)/(t/2)}},{win:3,filter:function(e){if(e<=-3||e>=3)return 0;if(e>-1.1920929e-7&&e<1.1920929e-7)return 1;var t=e*Math.PI;return Math.sin(t)/t*Math.sin(t/3)/(t/3)}}]},{}],8:[function(e,t,i){"use strict";function n(e,t,i){var n,o,a;if(r)t.set(function(e){return new Uint8Array(e.buffer,0,e.byteLength)}(e),i);else for(n=i,o=0;o<e.length;o++)a=e[o],t[n++]=255&a,t[n++]=a>>8&255}var o=e("./resize_filter_gen"),r=!0;try{r=1===new Uint32Array(new Uint8Array([1,0,0,0]).buffer)[0]}catch(e){}t.exports=function(e){var t=e.src,i=e.width,r=e.height,a=e.toWidth,s=e.toHeight,l=e.scaleX||e.toWidth/e.width,c=e.scaleY||e.toHeight/e.height,d=e.offsetX||0,u=e.offsetY||0,h=e.dest||new Uint8Array(a*s*4),p=void 0===e.quality?3:e.quality,m=e.alpha||!1,f=o(p,i,a,l,d),g=o(p,r,s,c,u),b=0,_=this.__align(b+Math.max(t.byteLength,h.byteLength)),v=this.__align(_+r*a*4),w=this.__align(v+f.byteLength),y=w+g.byteLength,E=this.__instance("resize",y),S=new Uint8Array(this.__memory.buffer),L=new Uint32Array(this.__memory.buffer),C=new Uint32Array(t.buffer);return L.set(C),n(f,S,v),n(g,S,w),(E.exports.convolveHV||E.exports._convolveHV)(v,w,_,i,r,a,s),new Uint32Array(h.buffer).set(new Uint32Array(this.__memory.buffer,0,s*a)),m||function(e,t,i){for(var n=3,o=t*i*4|0;n<o;)e[n]=255,n=n+4|0}(h,a,s),h}},{"./resize_filter_gen":6}],9:[function(e,t,i){"use strict";function n(e,t){this.create=e,this.available=[],this.acquired={},this.lastId=1,this.timeoutId=0,this.idle=t||2e3}n.prototype.acquire=function(){var e,t=this;return 0!==this.available.length?e=this.available.pop():((e=this.create()).id=this.lastId++,e.release=function(){return t.release(e)}),this.acquired[e.id]=e,e},n.prototype.release=function(e){var t=this;delete this.acquired[e.id],e.lastUsed=Date.now(),this.available.push(e),0===this.timeoutId&&(this.timeoutId=setTimeout((function(){return t.gc()}),100))},n.prototype.gc=function(){var e=this,t=Date.now();this.available=this.available.filter((function(i){return!(t-i.lastUsed>e.idle)||(i.destroy(),!1)})),0!==this.available.length?this.timeoutId=setTimeout((function(){return e.gc()}),100):this.timeoutId=0},t.exports=n},{}],10:[function(e,t,i){"use strict";t.exports=function(e,t,i,n,o,r){var a,s,l,c,d,u=i/e,h=n/t,p=(2*r+2+1)/o;if(p>.5)return[[i,n]];if((a=Math.ceil(Math.log(Math.min(u,h))/Math.log(p)))<=1)return[[i,n]];for(s=[],l=0;l<a;l++)c=Math.round(Math.pow(Math.pow(e,a-l-1)*Math.pow(i,l+1),1/a)),d=Math.round(Math.pow(Math.pow(t,a-l-1)*Math.pow(n,l+1),1/a)),s.push([c,d]);return s}},{}],11:[function(e,t,i){"use strict";function n(e){var t=Math.round(e);return Math.abs(e-t)<r?t:Math.floor(e)}function o(e){var t=Math.round(e);return Math.abs(e-t)<r?t:Math.ceil(e)}var r=1e-5;t.exports=function(e){var t,i,r,a,s,l,c,d,u=e.toWidth/e.width,h=e.toHeight/e.height,p=n(e.srcTileSize*u)-2*e.destTileBorder,m=n(e.srcTileSize*h)-2*e.destTileBorder;if(p<1||m<1)throw new Error("Internal error in pica: target tile width/height is too small.");for(c=[],a=0;a<e.toHeight;a+=m)for(r=0;r<e.toWidth;r+=p)(t=r-e.destTileBorder)<0&&(t=0),t+(s=r+p+e.destTileBorder-t)>=e.toWidth&&(s=e.toWidth-t),(i=a-e.destTileBorder)<0&&(i=0),i+(l=a+m+e.destTileBorder-i)>=e.toHeight&&(l=e.toHeight-i),d={toX:t,toY:i,toWidth:s,toHeight:l,toInnerX:r,toInnerY:a,toInnerWidth:p,toInnerHeight:m,offsetX:t/u-n(t/u),offsetY:i/h-n(i/h),scaleX:u,scaleY:h,x:n(t/u),y:n(i/h),width:o(s/u),height:o(l/h)},c.push(d);return c}},{}],12:[function(e,t,i){"use strict";function n(e){return Object.prototype.toString.call(e)}t.exports.isCanvas=function(e){var t=n(e);return"[object HTMLCanvasElement]"===t||"[object Canvas]"===t},t.exports.isImage=function(e){return"[object HTMLImageElement]"===n(e)},t.exports.limiter=function(e){function t(){i<e&&n.length&&(i++,n.shift()())}var i=0,n=[];return function(e){return new Promise((function(o,r){n.push((function(){e().then((function(e){o(e),i--,t()}),(function(e){r(e),i--,t()}))})),t()}))}},t.exports.cib_quality_name=function(e){switch(e){case 0:return"pixelated";case 1:return"low";case 2:return"medium"}return"high"},t.exports.cib_support=function(){return Promise.resolve().then((function(){if("undefined"==typeof createImageBitmap||"undefined"==typeof document)return!1;var e=document.createElement("canvas");return e.width=100,e.height=100,createImageBitmap(e,0,0,100,100,{resizeWidth:10,resizeHeight:10,resizeQuality:"high"}).then((function(t){var i=10===t.width;return t.close(),e=null,i}))})).catch((function(){return!1}))}},{}],13:[function(e,t,i){"use strict";t.exports=function(){var t,i=e("./mathlib");onmessage=function(e){var n,o=e.data.opts;t||(t=new i(e.data.features)),n=t.resizeAndUnsharp(o),postMessage({result:n},[n.buffer])}}},{"./mathlib":1}],14:[function(e,t,i){function n(e,t,i,n,o,r){var a,s,l,c,d,u,h,p,m,f,g,b,_,v;for(m=0;m<r;m++){for(h=m,p=0,c=d=(a=e[u=m*o])*n[6],g=n[0],b=n[1],_=n[4],v=n[5],f=0;f<o;f++)l=(s=e[u])*g+a*b+c*_+d*v,d=c,c=l,a=s,i[p]=c,p++,u++;for(p--,h+=r*(o-1),c=d=(a=e[--u])*n[7],s=a,g=n[2],b=n[3],f=o-1;f>=0;f--)l=s*g+a*b+c*_+d*v,d=c,c=l,a=s,s=e[u],t[h]=i[p]+c,u--,p--,h-=r}}var o,r,a,s,l,c;t.exports=function(e,t,i,d){var u,h,p;d&&(n(e,u=new Uint16Array(e.length),h=new Float32Array(Math.max(t,i)),p=function(e){e<.5&&(e=.5);var t=Math.exp(.527076)/e,i=Math.exp(-t),n=Math.exp(-2*t),d=(1-i)*(1-i)/(1+2*t*i-n);return o=d,r=d*(t-1)*i,a=d*(t+1)*i,s=-d*n,l=2*i,c=-n,new Float32Array([o,r,a,s,l,c,(o+r)/(1-l-c),(a+s)/(1-l-c)])}(d),t,i),n(u,e,h,p,i,t))}},{}],15:[function(e,t,i){"function"==typeof Object.create?t.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:t.exports=function(e,t){if(t){e.super_=t;var i=function(){};i.prototype=t.prototype,e.prototype=new i,e.prototype.constructor=e}}},{}],16:[function(e,t,i){"use strict";function n(e){if(!(this instanceof n))return new n(e);var t=o({},s,e||{});if(this.options=t,this.__cache={},this.__init_promise=null,this.__modules=t.modules||{},this.__memory=null,this.__wasm={},this.__isLE=1===new Uint32Array(new Uint8Array([1,0,0,0]).buffer)[0],!this.options.js&&!this.options.wasm)throw new Error('mathlib: at least "js" or "wasm" should be enabled')}var o=e("object-assign"),r=e("./lib/base64decode"),a=e("./lib/wa_detect"),s={js:!0,wasm:!0};n.prototype.has_wasm=a,n.prototype.use=function(e){return this.__modules[e.name]=e,this.options.wasm&&this.has_wasm()&&e.wasm_fn?this[e.name]=e.wasm_fn:this[e.name]=e.fn,this},n.prototype.init=function(){if(this.__init_promise)return this.__init_promise;if(!this.options.js&&this.options.wasm&&!this.has_wasm())return Promise.reject(new Error('mathlib: only "wasm" was enabled, but it\'s not supported'));var e=this;return this.__init_promise=Promise.all(Object.keys(e.__modules).map((function(t){var i=e.__modules[t];return e.options.wasm&&e.has_wasm()&&i.wasm_fn?e.__wasm[t]?null:WebAssembly.compile(e.__base64decode(i.wasm_src)).then((function(i){e.__wasm[t]=i})):null}))).then((function(){return e})),this.__init_promise},n.prototype.__base64decode=r,n.prototype.__reallocate=function(e){if(!this.__memory)return this.__memory=new WebAssembly.Memory({initial:Math.ceil(e/65536)}),this.__memory;var t=this.__memory.buffer.byteLength;return t<e&&this.__memory.grow(Math.ceil((e-t)/65536)),this.__memory},n.prototype.__instance=function(e,t,i){var n,r;return t&&this.__reallocate(t),this.__wasm[e]||(n=this.__modules[e],this.__wasm[e]=new WebAssembly.Module(this.__base64decode(n.wasm_src))),this.__cache[e]||(r={memoryBase:0,memory:this.__memory,tableBase:0,table:new WebAssembly.Table({initial:0,element:"anyfunc"})},this.__cache[e]=new WebAssembly.Instance(this.__wasm[e],{env:o(r,i||{})})),this.__cache[e]},n.prototype.__align=function(e,t){var i=e%(t=t||8);return e+(i?t-i:0)},t.exports=n},{"./lib/base64decode":17,"./lib/wa_detect":23,"object-assign":24}],17:[function(e,t,i){"use strict";t.exports=function(e){var t,i,n=e.replace(/[\r\n=]/g,""),o=n.length,r=new Uint8Array(3*o>>2),a=0,s=0;for(t=0;t<o;t++)t%4==0&&t&&(r[s++]=a>>16&255,r[s++]=a>>8&255,r[s++]=255&a),a=a<<6|"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".indexOf(n.charAt(t));return 0===(i=o%4*6)?(r[s++]=a>>16&255,r[s++]=a>>8&255,r[s++]=255&a):18===i?(r[s++]=a>>10&255,r[s++]=a>>2&255):12===i&&(r[s++]=a>>4&255),r}},{}],18:[function(e,t,i){"use strict";t.exports=function(e,t,i){var n,o,r,a,s,l,c=t*i,d=new Uint16Array(c);for(l=0;l<c;l++)n=e[4*l],o=e[4*l+1],r=e[4*l+2],s=n>=o&&n>=r?n:o>=r&&o>=n?o:r,a=n<=o&&n<=r?n:o<=r&&o<=n?o:r,d[l]=257*(s+a)>>1;return d}},{}],19:[function(e,t,i){"use strict";t.exports={name:"unsharp_mask",fn:e("./unsharp_mask"),wasm_fn:e("./unsharp_mask_wasm"),wasm_src:e("./unsharp_mask_wasm_base64")}},{"./unsharp_mask":20,"./unsharp_mask_wasm":21,"./unsharp_mask_wasm_base64":22}],20:[function(e,t,i){"use strict";var n=e("glur/mono16"),o=e("./hsl_l16");t.exports=function(e,t,i,r,a,s){var l,c,d,u,h,p,m,f,g,b,_,v,w,y,E,S,L,C,A;if(!(0===r||a<.5))for(a>2&&(a=2),y=o(e,t,i),E=new Uint16Array(y),n(E,t,i,a),S=r/100*4096+.5|0,L=257*s|0,C=t*i,A=0;A<C;A++)v=2*(y[A]-E[A]),Math.abs(v)>=L&&(l=e[w=4*A],c=e[w+1],d=e[w+2],p=257*((f=l>=c&&l>=d?l:c>=l&&c>=d?c:d)+(m=l<=c&&l<=d?l:c<=l&&c<=d?c:d))>>1,m===f?u=h=0:(h=p<=32767?4095*(f-m)/(f+m)|0:4095*(f-m)/(510-f-m)|0,u=l===f?65535*(c-d)/(6*(f-m))|0:c===f?21845+(65535*(d-l)/(6*(f-m))|0):43690+(65535*(l-c)/(6*(f-m))|0)),(p+=S*v+2048>>12)>65535?p=65535:p<0&&(p=0),0===h?l=c=d=p>>8:(g=2*p-(b=p<=32767?p*(4096+h)+2048>>12:p+((65535-p)*h+2048>>12))>>8,b>>=8,l=(_=u+21845&65535)>=43690?g:_>=32767?g+(6*(b-g)*(43690-_)+32768>>16):_>=10922?b:g+(6*(b-g)*_+32768>>16),c=(_=65535&u)>=43690?g:_>=32767?g+(6*(b-g)*(43690-_)+32768>>16):_>=10922?b:g+(6*(b-g)*_+32768>>16),d=(_=u-21845&65535)>=43690?g:_>=32767?g+(6*(b-g)*(43690-_)+32768>>16):_>=10922?b:g+(6*(b-g)*_+32768>>16)),e[w]=l,e[w+1]=c,e[w+2]=d)}},{"./hsl_l16":18,"glur/mono16":14}],21:[function(e,t,i){"use strict";t.exports=function(e,t,i,n,o,r){var a,s,l,c,d,u,h,p,m,f,g,b,_,v;0===n||o<.5||(o>2&&(o=2),u=32,h=0,b=(g=(f=(m=(p=s=4*(a=t*i))+(l=2*a))+(c=2*a))+c)+(d=4*Math.max(t,i)),_=this.__instance("unsharp_mask",s+l+2*c+d+u,{exp:Math.exp}),v=new Uint32Array(e.buffer),new Uint32Array(this.__memory.buffer).set(v),(_.exports.hsl_l16||_.exports._hsl_l16)(h,p,t,i),(_.exports.blurMono16||_.exports._blurMono16)(p,m,f,g,b,t,i,o),(_.exports.unsharp||_.exports._unsharp)(h,h,p,m,t,i,n,r),v.set(new Uint32Array(this.__memory.buffer,0,a)))}},{}],22:[function(e,t,i){"use strict";t.exports="AGFzbQEAAAABMQZgAXwBfGACfX8AYAZ/f39/f38AYAh/f39/f39/fQBgBH9/f38AYAh/f39/f39/fwACGQIDZW52A2V4cAAAA2VudgZtZW1vcnkCAAEDBgUBAgMEBQQEAXAAAAdMBRZfX2J1aWxkX2dhdXNzaWFuX2NvZWZzAAEOX19nYXVzczE2X2xpbmUAAgpibHVyTW9ubzE2AAMHaHNsX2wxNgAEB3Vuc2hhcnAABQkBAAqJEAXZAQEGfAJAIAFE24a6Q4Ia+z8gALujIgOaEAAiBCAEoCIGtjgCECABIANEAAAAAAAAAMCiEAAiBbaMOAIUIAFEAAAAAAAA8D8gBKEiAiACoiAEIAMgA6CiRAAAAAAAAPA/oCAFoaMiArY4AgAgASAEIANEAAAAAAAA8L+gIAKioiIHtjgCBCABIAQgA0QAAAAAAADwP6AgAqKiIgO2OAIIIAEgBSACoiIEtow4AgwgASACIAegIAVEAAAAAAAA8D8gBqGgIgKjtjgCGCABIAMgBKEgAqO2OAIcCwu3AwMDfwR9CHwCQCADKgIUIQkgAyoCECEKIAMqAgwhCyADKgIIIQwCQCAEQX9qIgdBAEgiCA0AIAIgAC8BALgiDSADKgIYu6IiDiAJuyIQoiAOIAq7IhGiIA0gAyoCBLsiEqIgAyoCALsiEyANoqCgoCIPtjgCACACQQRqIQIgAEECaiEAIAdFDQAgBCEGA0AgAiAOIBCiIA8iDiARoiANIBKiIBMgAC8BALgiDaKgoKAiD7Y4AgAgAkEEaiECIABBAmohACAGQX9qIgZBAUoNAAsLAkAgCA0AIAEgByAFbEEBdGogAEF+ai8BACIIuCINIAu7IhGiIA0gDLsiEqKgIA0gAyoCHLuiIg4gCrsiE6KgIA4gCbsiFKKgIg8gAkF8aioCALugqzsBACAHRQ0AIAJBeGohAiAAQXxqIQBBACAFQQF0ayEHIAEgBSAEQQF0QXxqbGohBgNAIAghAyAALwEAIQggBiANIBGiIAO4Ig0gEqKgIA8iECAToqAgDiAUoqAiDyACKgIAu6CrOwEAIAYgB2ohBiAAQX5qIQAgAkF8aiECIBAhDiAEQX9qIgRBAUoNAAsLCwvfAgIDfwZ8AkAgB0MAAAAAWw0AIARE24a6Q4Ia+z8gB0MAAAA/l7ujIgyaEAAiDSANoCIPtjgCECAEIAxEAAAAAAAAAMCiEAAiDraMOAIUIAREAAAAAAAA8D8gDaEiCyALoiANIAwgDKCiRAAAAAAAAPA/oCAOoaMiC7Y4AgAgBCANIAxEAAAAAAAA8L+gIAuioiIQtjgCBCAEIA0gDEQAAAAAAADwP6AgC6KiIgy2OAIIIAQgDiALoiINtow4AgwgBCALIBCgIA5EAAAAAAAA8D8gD6GgIgujtjgCGCAEIAwgDaEgC6O2OAIcIAYEQCAFQQF0IQogBiEJIAIhCANAIAAgCCADIAQgBSAGEAIgACAKaiEAIAhBAmohCCAJQX9qIgkNAAsLIAVFDQAgBkEBdCEIIAUhAANAIAIgASADIAQgBiAFEAIgAiAIaiECIAFBAmohASAAQX9qIgANAAsLC7wBAQV/IAMgAmwiAwRAQQAgA2shBgNAIAAoAgAiBEEIdiIHQf8BcSECAn8gBEH/AXEiAyAEQRB2IgRB/wFxIgVPBEAgAyIIIAMgAk8NARoLIAQgBCAHIAIgA0kbIAIgBUkbQf8BcQshCAJAIAMgAk0EQCADIAVNDQELIAQgByAEIAMgAk8bIAIgBUsbQf8BcSEDCyAAQQRqIQAgASADIAhqQYECbEEBdjsBACABQQJqIQEgBkEBaiIGDQALCwvTBgEKfwJAIAazQwAAgEWUQwAAyEKVu0QAAAAAAADgP6CqIQ0gBSAEbCILBEAgB0GBAmwhDgNAQQAgAi8BACADLwEAayIGQQF0IgdrIAcgBkEASBsgDk8EQCAAQQJqLQAAIQUCfyAALQAAIgYgAEEBai0AACIESSIJRQRAIAYiCCAGIAVPDQEaCyAFIAUgBCAEIAVJGyAGIARLGwshCAJ/IAYgBE0EQCAGIgogBiAFTQ0BGgsgBSAFIAQgBCAFSxsgCRsLIgogCGoiD0GBAmwiEEEBdiERQQAhDAJ/QQAiCSAIIApGDQAaIAggCmsiCUH/H2wgD0H+AyAIayAKayAQQYCABEkbbSEMIAYgCEYEQCAEIAVrQf//A2wgCUEGbG0MAQsgBSAGayAGIARrIAQgCEYiBhtB//8DbCAJQQZsbUHVqgFBqtUCIAYbagshCSARIAcgDWxBgBBqQQx1aiIGQQAgBkEAShsiBkH//wMgBkH//wNIGyEGAkACfwJAIAxB//8DcSIFBEAgBkH//wFKDQEgBUGAIGogBmxBgBBqQQx2DAILIAZBCHYiBiEFIAYhBAwCCyAFIAZB//8Dc2xBgBBqQQx2IAZqCyIFQQh2IQcgBkEBdCAFa0EIdiIGIQQCQCAJQdWqAWpB//8DcSIFQanVAksNACAFQf//AU8EQEGq1QIgBWsgByAGa2xBBmxBgIACakEQdiAGaiEEDAELIAchBCAFQanVAEsNACAFIAcgBmtsQQZsQYCAAmpBEHYgBmohBAsCfyAGIgUgCUH//wNxIghBqdUCSw0AGkGq1QIgCGsgByAGa2xBBmxBgIACakEQdiAGaiAIQf//AU8NABogByIFIAhBqdUASw0AGiAIIAcgBmtsQQZsQYCAAmpBEHYgBmoLIQUgCUGr1QJqQf//A3EiCEGp1QJLDQAgCEH//wFPBEBBqtUCIAhrIAcgBmtsQQZsQYCAAmpBEHYgBmohBgwBCyAIQanVAEsEQCAHIQYMAQsgCCAHIAZrbEEGbEGAgAJqQRB2IAZqIQYLIAEgBDoAACABQQFqIAU6AAAgAUECaiAGOgAACyADQQJqIQMgAkECaiECIABBBGohACABQQRqIQEgC0F/aiILDQALCwsL"},{}],23:[function(e,t,i){"use strict";var n;t.exports=function(){var e,t;if(void 0!==n)return n;if(n=!1,"undefined"==typeof WebAssembly)return n;try{return e=new Uint8Array([0,97,115,109,1,0,0,0,1,6,1,96,1,127,1,127,3,2,1,0,5,3,1,0,1,7,8,1,4,116,101,115,116,0,0,10,16,1,14,0,32,0,65,1,54,2,0,32,0,40,2,0,11]),t=new WebAssembly.Module(e),0!==new WebAssembly.Instance(t,{}).exports.test(4)&&(n=!0),n}catch(e){}return n}},{}],24:[function(e,t,i){"use strict";function n(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}var o=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;t.exports=function(){var e,t,i,n;try{if(!Object.assign)return!1;if((e=new String("abc"))[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(t={},i=0;i<10;i++)t["_"+String.fromCharCode(i)]=i;return"0123456789"===Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join("")&&(n={},"abcdefghijklmnopqrst".split("").forEach((function(e){n[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join(""))}catch(e){return!1}}()?Object.assign:function(e,t){var i,s,l,c,d,u=n(e);for(l=1;l<arguments.length;l++){for(c in i=Object(arguments[l]))r.call(i,c)&&(u[c]=i[c]);if(o)for(s=o(i),d=0;d<s.length;d++)a.call(i,s[d])&&(u[s[d]]=i[s[d]])}return u}},{}],25:[function(e,t,i){var n=arguments[3],o=arguments[4],r=arguments[5],a=JSON.stringify;t.exports=function(e,t){var i,s,l,c,d,u,h,p,m,f,g,b,_,v,w=Object.keys(r);for(s=0,l=w.length;s<l;s++)if(c=w[s],(d=r[c].exports)===e||d&&d.default===e){i=c;break}if(!i){for(i=Math.floor(Math.pow(16,8)*Math.random()).toString(16),u={},s=0,l=w.length;s<l;s++)u[c=w[s]]=c;o[i]=["function(require,module,exports){"+e+"(self); }",u]}return h=Math.floor(Math.pow(16,8)*Math.random()).toString(16),(p={})[i]=i,o[h]=["function(require,module,exports){var f = require("+a(i)+");(f.default ? f.default : f)(self);}",p],m={},function e(t){var i,n;for(i in m[t]=!0,o[t][1])n=o[t][1][i],m[n]||e(n)}(h),f="("+n+")({"+Object.keys(m).map((function(e){return a(e)+":["+o[e][0]+","+a(o[e][1])+"]"})).join(",")+"},{},["+a(h)+"])",g=window.URL||window.webkitURL||window.mozURL||window.msURL,b=new Blob([f],{type:"text/javascript"}),t&&t.bare?b:(_=g.createObjectURL(b),(v=new Worker(_)).objectURL=_,v)}},{}],"/":[function(e,t,i){"use strict";function n(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var i,n,o=[],r=!0,a=!1,s=void 0;try{for(i=e[Symbol.iterator]();!(r=(n=i.next()).done)&&(o.push(n.value),!t||o.length!==t);r=!0);}catch(e){a=!0,s=e}finally{try{r||null==i.return||i.return()}finally{if(a)throw s}}return o}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function o(){return{value:h(g),destroy:function(){if(this.value.terminate(),"undefined"!=typeof window){var e=window.URL||window.webkitURL||window.mozURL||window.msURL;e&&e.revokeObjectURL&&this.value.objectURL&&e.revokeObjectURL(this.value.objectURL)}}}}function r(e){if(!(this instanceof r))return new r(e);this.options=u({},s,e||{});var t="lk_".concat(this.options.concurrency);this.__limit=v[t]||f.limiter(this.options.concurrency),v[t]||(v[t]=this.__limit),this.features={js:!1,wasm:!1,cib:!1,ww:!1},this.__workersPool=null,this.__requested_features=[],this.__mathlib=null}var a,s,l,c,d,u=e("object-assign"),h=e("webworkify"),p=e("./lib/mathlib"),m=e("./lib/pool"),f=e("./lib/utils"),g=e("./lib/worker"),b=e("./lib/stepper"),_=e("./lib/tiler"),v={},w=!1;try{"undefined"!=typeof navigator&&navigator.userAgent&&(w=navigator.userAgent.indexOf("Safari")>=0)}catch(e){}a=1,"undefined"!=typeof navigator&&(a=Math.min(navigator.hardwareConcurrency||1,4)),s={tile:1024,concurrency:a,features:["js","wasm","ww"],idle:2e3},l={quality:3,alpha:!1,unsharpAmount:0,unsharpRadius:0,unsharpThreshold:0},r.prototype.init=function(){var t,i,n,r,a=this;if(this.__initPromise)return this.__initPromise;if(!1!==c&&!0!==c&&(c=!1,"undefined"!=typeof ImageData&&"undefined"!=typeof Uint8ClampedArray))try{new ImageData(new Uint8ClampedArray(400),10,10),c=!0}catch(e){}if(!1!==d&&!0!==d&&(d=!1,"undefined"!=typeof ImageBitmap&&(ImageBitmap.prototype&&ImageBitmap.prototype.close?d=!0:this.debug("ImageBitmap does not support .close(), disabled"))),(t=this.options.features.slice()).indexOf("all")>=0&&(t=["cib","wasm","js","ww"]),this.__requested_features=t,this.__mathlib=new p(t),t.indexOf("ww")>=0&&"undefined"!=typeof window&&"Worker"in window)try{e("webworkify")((function(){})).terminate(),this.features.ww=!0,i="wp_".concat(JSON.stringify(this.options)),v[i]?this.__workersPool=v[i]:(this.__workersPool=new m(o,this.options.idle),v[i]=this.__workersPool)}catch(e){}return n=this.__mathlib.init().then((function(e){u(a.features,e.features)})),r=d?f.cib_support().then((function(e){a.features.cib&&t.indexOf("cib")<0?a.debug("createImageBitmap() resize supported, but disabled by config"):t.indexOf("cib")>=0&&(a.features.cib=e)})):Promise.resolve(!1),this.__initPromise=Promise.all([n,r]).then((function(){return a})),this.__initPromise},r.prototype.resize=function(e,t,i){var o,r,a,s,h,p=this;return this.debug("Start resize..."),o=u({},l),isNaN(i)?i&&(o=u(o,i)):o=u(o,{quality:i}),o.toWidth=t.width,o.toHeight=t.height,o.width=e.naturalWidth||e.width,o.height=e.naturalHeight||e.height,0===t.width||0===t.height?Promise.reject(new Error("Invalid output size: ".concat(t.width,"x").concat(t.height))):(o.unsharpRadius>2&&(o.unsharpRadius=2),r=!1,a=null,o.cancelToken&&(a=o.cancelToken.then((function(e){throw r=!0,e}),(function(e){throw r=!0,e}))),s=3,h=Math.ceil(Math.max(s,2.5*o.unsharpRadius|0)),this.init().then((function(){var i,s,l,m;return r?a:p.features.cib?(i=t.getContext("2d",{alpha:Boolean(o.alpha)}),p.debug("Resize via createImageBitmap()"),createImageBitmap(e,{resizeWidth:o.toWidth,resizeHeight:o.toHeight,resizeQuality:f.cib_quality_name(o.quality)}).then((function(e){var n,s,l;return r?a:o.unsharpAmount?(p.debug("Unsharp result"),(n=document.createElement("canvas")).width=o.toWidth,n.height=o.toHeight,(s=n.getContext("2d",{alpha:Boolean(o.alpha)})).drawImage(e,0,0),e.close(),l=s.getImageData(0,0,o.toWidth,o.toHeight),p.__mathlib.unsharp_mask(l.data,o.toWidth,o.toHeight,o.unsharpAmount,o.unsharpRadius,o.unsharpThreshold),i.putImageData(l,0,0),l=s=n=i=null,p.debug("Finished!"),t):(i.drawImage(e,0,0),e.close(),i=null,p.debug("Finished!"),t)}))):(s={},l=function(e){return Promise.resolve().then((function(){return p.features.ww?new Promise((function(t,i){var n=p.__workersPool.acquire();a&&a.catch((function(e){return i(e)})),n.value.onmessage=function(e){n.release(),e.data.err?i(e.data.err):t(e.data.result)},n.value.postMessage({opts:e,features:p.__requested_features,preload:{wasm_nodule:p.__mathlib.__}},[e.src.buffer])})):p.__mathlib.resizeAndUnsharp(e,s)}))},m=function(e,t,i){var n,o,s,u=function(t){return p.__limit((function(){var d,u,h,m;return r?a:(f.isCanvas(e)?(p.debug("Get tile pixel data"),d=n.getImageData(t.x,t.y,t.width,t.height)):(p.debug("Draw tile imageBitmap/image to temporary canvas"),(u=document.createElement("canvas")).width=t.width,u.height=t.height,(h=u.getContext("2d",{alpha:Boolean(i.alpha)})).globalCompositeOperation="copy",h.drawImage(o||e,t.x,t.y,t.width,t.height,0,0,t.width,t.height),p.debug("Get tile pixel data"),d=h.getImageData(0,0,t.width,t.height),h=u=null),m={src:d.data,width:t.width,height:t.height,toWidth:t.toWidth,toHeight:t.toHeight,scaleX:t.scaleX,scaleY:t.scaleY,offsetX:t.offsetX,offsetY:t.offsetY,quality:i.quality,alpha:i.alpha,unsharpAmount:i.unsharpAmount,unsharpRadius:i.unsharpRadius,unsharpThreshold:i.unsharpThreshold},p.debug("Invoke resize math"),Promise.resolve().then((function(){return l(m)})).then((function(e){var i,n;if(r)return a;if(d=null,p.debug("Convert raw rgba tile result to ImageData"),c)i=new ImageData(new Uint8ClampedArray(e),t.toWidth,t.toHeight);else if((i=s.createImageData(t.toWidth,t.toHeight)).data.set)i.data.set(e);else for(n=i.data.length-1;n>=0;n--)i.data[n]=e[n];return p.debug("Draw tile"),w?s.putImageData(i,t.toX,t.toY,t.toInnerX-t.toX,t.toInnerY-t.toY,t.toInnerWidth+1e-5,t.toInnerHeight+1e-5):s.putImageData(i,t.toX,t.toY,t.toInnerX-t.toX,t.toInnerY-t.toY,t.toInnerWidth,t.toInnerHeight),null})))}))};return Promise.resolve().then((function(){if(s=t.getContext("2d",{alpha:Boolean(i.alpha)}),f.isCanvas(e))return n=e.getContext("2d",{alpha:Boolean(i.alpha)}),null;if(f.isImage(e))return d?(p.debug("Decode image via createImageBitmap"),createImageBitmap(e).then((function(e){o=e}))):null;throw new Error('".from" should be image or canvas')})).then((function(){function e(){o&&(o.close(),o=null)}var n;return r?a:(p.debug("Calculate tiles"),n=_({width:i.width,height:i.height,srcTileSize:p.options.tile,toWidth:i.toWidth,toHeight:i.toHeight,destTileBorder:h}).map((function(e){return u(e)})),p.debug("Process tiles"),Promise.all(n).then((function(){return p.debug("Finished!"),e(),t}),(function(t){throw e(),t})))}))},function e(t,i,o,s){var l,c,d,h,p;return r?a:(l=n(t.shift(),2),c=l[0],d=l[1],h=0===t.length,s=u({},s,{toWidth:c,toHeight:d,quality:h?s.quality:Math.min(1,s.quality)}),h||((p=document.createElement("canvas")).width=c,p.height=d),m(i,h?o:p,s).then((function(){return h?o:(s.width=c,s.height=d,e(t,p,o,s))})))}(b(o.width,o.height,o.toWidth,o.toHeight,p.options.tile,h),e,t,o))})))},r.prototype.resizeBuffer=function(e){var t=this,i=u({},l,e);return this.init().then((function(){return t.__mathlib.resizeAndUnsharp(i)}))},r.prototype.toBlob=function(e,t,i){return t=t||"image/png",new Promise((function(n){var o,r,a,s;if(e.toBlob)e.toBlob((function(e){return n(e)}),t,i);else{for(r=(o=atob(e.toDataURL(t,i).split(",")[1])).length,a=new Uint8Array(r),s=0;s<r;s++)a[s]=o.charCodeAt(s);n(new Blob([a],{type:t}))}}))},r.prototype.debug=function(){},t.exports=r},{"./lib/mathlib":1,"./lib/pool":9,"./lib/stepper":10,"./lib/tiler":11,"./lib/utils":12,"./lib/worker":13,"object-assign":24,webworkify:25}]},{},[])("/")})),define("WoltLabSuite/Core/Image/Resizer",["require","exports","tslib","../Core","../FileUtil","./ExifUtil","pica"],(function(e,t,i,n,o,r,a){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r);const s=new((a=i.__importDefault(a)).default)({features:["js","wasm","ww"]}),l="image/jpeg";class c{constructor(){this.maxWidth=800,this.maxHeight=600,this.quality=.8,this.fileType=l}setMaxWidth(e){return null==e&&(e=800),this.maxWidth=e,this}setMaxHeight(e){return null==e&&(e=600),this.maxHeight=e,this}setQuality(e){return null==e&&(e=.8),this.quality=e,this}setFileType(e){return null==e&&(e=l),this.fileType=e,this}async saveFile(e,t,i=this.fileType,n=this.quality){const a=/(.+)(\..+?)$/.exec(t);let l=await s.toBlob(e.image,i,n);return"image/jpeg"===i&&void 0!==e.exif&&(l=await r.setExifData(l,e.exif)),o.blobToFile(l,a[1])}async loadFile(e){let t=Promise.resolve(void 0),i=e;"image/jpeg"===e.type&&(t=r.getExifBytesFromJpeg(e),i=await r.removeExifData(i));const n=new Promise(((e,t)=>{const n=new FileReader,o=new Image;n.addEventListener("load",(()=>{o.src=n.result})),n.addEventListener("error",(()=>{n.abort(),t(n.error)})),o.addEventListener("error",t),o.addEventListener("load",(()=>{e(o)})),n.readAsDataURL(i)})),[o,a]=await Promise.all([t,n]);return{exif:o,image:a}}async resize(e,t=this.maxWidth,i=this.maxHeight,n=this.quality,o=!1,r){const a=document.createElement("canvas");if(window.createImageBitmap){if((await createImageBitmap(e)).height!=e.height)throw new Error("Chrome Bug #1069965")}const l=Math.min(t,e.width),c=Math.min(i,e.height);if(e.width<=l&&e.height<=c&&!o)return;const d=Math.min(l/e.width,c/e.height);a.width=Math.floor(e.width*d),a.height=Math.floor(e.height*d);let u=1;n>=.8?u=3:n>=.4&&(u=2);const h={quality:u,cancelToken:r,alpha:!0};return s.resize(e,a,h)}}return n.enableLegacyInheritance(c),c})),define("WoltLabSuite/Core/Language/Chooser",["require","exports","tslib","../Core","../Language","../Dom/Util","../Ui/Dropdown/Simple"],(function(e,t,i,n,o,r,a){"use strict";function s(e,t,i){const o=u.get(e);if(void 0===i&&void 0===(i=Array.from(o.dropdownMenu.children).find((e=>~~e.dataset.languageId===t))))throw new Error(`The language id '${t}' is unknown`);o.element.value=t.toString(),n.triggerEvent(o.element,"change"),o.dropdownToggle.innerHTML=i.children[0].innerHTML,u.set(e,o),"function"==typeof o.callback&&o.callback(i)}function l(e){const t=e.currentTarget;h.get(t).forEach((e=>{const i=document.createElement("input");i.type="hidden",i.name=e,i.value=d(e).toString(),t.appendChild(i)}))}function c(e){const t=u.get(e);if(void 0===t)throw new Error(`Expected a valid language chooser input element, '${e}' is not i18n input field.`);return t}function d(e){return~~c(e).element.value}Object.defineProperty(t,"__esModule",{value:!0}),t.setLanguageId=t.removeChooser=t.getLanguageId=t.getChooser=t.init=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importDefault(a);const u=new Map,h=new WeakMap;t.init=function(e,t,i,n,c,d){if(u.has(t))return;const p=document.getElementById(e);if(null===p)throw new Error(`Expected a valid container id, cannot find '${t}'.`);let m=document.getElementById(t);null===m&&(m=document.createElement("input"),m.type="hidden",m.id=t,m.name=t,m.value=i.toString(),p.appendChild(m)),function(e,t,i,n,c,d){function p(t){const i=t.currentTarget,n=~~i.dataset.languageId,o=b.querySelector(".active");null!==o&&o.classList.remove("active"),n&&i.classList.add("active"),s(e,n,i)}let m;const f=t.parentElement;"DD"===f.nodeName?(m=document.createElement("div"),m.className="dropdown",f.insertAdjacentElement("afterbegin",m)):(m=f,m.classList.add("dropdown")),r.default.hide(t);const g=document.createElement("a");g.className="dropdownToggle dropdownIndicator boxFlag box24 inputPrefix","DD"===f.nodeName&&g.classList.add("button"),m.appendChild(g);const b=document.createElement("ul");if(b.className="dropdownMenu",m.appendChild(b),Object.entries(n).forEach((([e,t])=>{const n=document.createElement("li");n.className="boxFlag",n.addEventListener("click",p),n.dataset.languageId=e,void 0!==t.languageCode&&(n.dataset.languageCode=t.languageCode),b.appendChild(n);const o=document.createElement("a");o.className="box24",n.appendChild(o);const r=document.createElement("img");r.src=t.iconPath,r.alt="",r.className="iconFlag",o.appendChild(r);const a=document.createElement("span");a.textContent=t.languageName,o.appendChild(a),+e===i&&(g.innerHTML=o.innerHTML)})),d){const e=document.createElement("li");e.className="dropdownDivider",b.appendChild(e);const t=document.createElement("li");t.dataset.languageId="0",t.addEventListener("click",p),b.appendChild(t);const n=document.createElement("a");n.textContent=o.get("wcf.global.language.noSelection"),t.appendChild(n),0===i&&(g.innerHTML=n.innerHTML),t.addEventListener("click",p)}else if(0===i){g.innerHTML="";const e=document.createElement("div");g.appendChild(e);const t=document.createElement("span");t.className="icon icon24 fa-question pointer",e.appendChild(t);const i=document.createElement("span");i.textContent=o.get("wcf.global.language.noSelection"),e.appendChild(i)}a.default.init(g),u.set(e,{callback:c,dropdownMenu:b,dropdownToggle:g,element:t});const _=t.closest("form");if(null!==_){_.addEventListener("submit",l);let t=h.get(_);void 0===t&&(t=[],h.set(_,t)),t.push(e)}}(t,m,i,n,c,d)},t.getChooser=c,t.getLanguageId=d,t.removeChooser=function(e){u.delete(e)},t.setLanguageId=function(e,t){if(void 0===u.get(e))throw new Error(`Expected a valid input element, '${e}' is not i18n input field.`);s(e,t)}})),define("WoltLabSuite/Core/Language/Input",["require","exports","tslib","../Dom/Util","../Language","../Ui/Dropdown/Simple","../StringUtil"],(function(e,t,i,n,o,r,a){"use strict";function s(e,t,i){const n=d.get(e),o=r.default.getDropdownMenu(n.element.closest(".inputAddon").id).querySelector(`[data-language-id="${t}"]`),a=o?o.textContent:"";if(n.languageId!==t){const o=h.get(e);n.languageId&&o.set(n.languageId,n.element.value),0===t?h.set(e,new Map):(n.buttonLabel.classList.contains("active")||i)&&(n.element.value=o.get(t)||""),n.buttonLabel.textContent=a,n.buttonLabel.classList[t?"add":"remove"]("active"),n.languageId=t}i||(n.element.blur(),n.element.focus()),n.callbacks.has("select")&&n.callbacks.get("select")(n.element)}function l(e,t){if("open"!==t)return;const i=r.default.getDropdownMenu(e),n=document.getElementById(e).dataset.inputId,o=d.get(n),a=h.get(n);Array.from(i.children).forEach((e=>{const t=~~(e.dataset.languageId||"");if(t){let i=!1;o.languageId&&(i=t===o.languageId?""===o.element.value.trim():!a.get(t)),i?e.classList.add("missingValue"):e.classList.remove("missingValue")}}))}function c(e){const t=e.currentTarget;u.get(t).forEach((e=>{const i=d.get(e);if(!i.isEnabled)return;const n=h.get(e);i.callbacks.has("submit")&&i.callbacks.get("submit")(i.element),i.languageId&&n.set(i.languageId,i.element.value),n.size&&(n.forEach((function(i,n){const o=document.createElement("input");o.type="hidden",o.name=`${e}_i18n[${n}]`,o.value=i,t.appendChild(o)})),i.element.removeAttribute("name"))}))}Object.defineProperty(t,"__esModule",{value:!0}),t.validate=t.isEnabled=t.enable=t.disable=t.setValues=t.getValues=t.unregister=t.registerCallback=t.init=void 0,n=i.__importDefault(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importStar(a);const d=new Map,u=new WeakMap,h=new Map;t.init=function(e,t,i,n){if(h.has(e))return;const p=document.getElementById(e);if(null===p)throw new Error(`Expected a valid element id, cannot find '${e}'.`);const m=new Map;Object.entries(t).forEach((([e,t])=>{m.set(+e,a.unescapeHTML(t))})),h.set(e,m),function(e,t,i,n,a){let h=t.parentElement;if(!h.classList.contains("inputAddon")){h=document.createElement("div"),h.className="inputAddon","TEXTAREA"===t.nodeName&&h.classList.add("inputAddonTextarea"),h.dataset.inputId=e;const i=document.activeElement===t;t.insertAdjacentElement("beforebegin",h),h.appendChild(t),i&&t.focus()}h.classList.add("dropdown");const p=document.createElement("span");p.className="button dropdownToggle inputPrefix";const m=document.createElement("span");m.textContent=o.get("wcf.global.button.disabledI18n"),p.appendChild(m),h.insertBefore(p,t);const f=document.createElement("ul");f.className="dropdownMenu",p.insertAdjacentElement("afterend",f);const g=t=>{let i;i=t instanceof HTMLElement?t:t.currentTarget;const n=~~i.dataset.languageId,o=f.querySelector(".active");null!==o&&o.classList.remove("active"),n&&i.classList.add("active");const r=t instanceof HTMLElement;s(e,n,r)};if(Object.entries(n).forEach((([e,t])=>{const i=document.createElement("li");i.dataset.languageId=e;const n=document.createElement("span");n.textContent=t,i.appendChild(n),i.addEventListener("click",g),f.appendChild(i)})),!a){const e=document.createElement("li");e.className="dropdownDivider",f.appendChild(e);const t=document.createElement("li");t.dataset.languageId="0",t.addEventListener("click",g);const i=document.createElement("span");i.textContent=o.get("wcf.global.button.disabledI18n"),t.appendChild(i),f.appendChild(t)}let b;(a||i.size)&&(b=Array.from(f.children).find((e=>+e.dataset.languageId===window.LANGUAGE_ID))),r.default.init(p),r.default.registerCallback(h.id,l),d.set(e,{buttonLabel:m,callbacks:new Map,element:t,languageId:0,isEnabled:!0,forceSelection:a});const _=t.closest("form");if(null!==_){_.addEventListener("submit",c);let t=u.get(_);void 0===t&&(t=[],u.set(_,t)),t.push(e)}b&&g(b)}(e,p,m,i,n)},t.registerCallback=function(e,t,i){if(!h.has(e))throw new Error(`Unknown element id '${e}'.`);d.get(e).callbacks.set(t,i)},t.unregister=function(e){if(!h.has(e))throw new Error(`Unknown element id '${e}'.`);h.delete(e),d.delete(e)},t.getValues=function(e){const t=d.get(e);if(void 0===t)throw new Error(`Expected a valid i18n input element, '${e}' is not i18n input field.`);const i=h.get(e);return i.set(t.languageId,t.element.value),i},t.setValues=function(e,t){const i=d.get(e);if(void 0===i)throw new Error(`Expected a valid i18n input element, '${e}' is not i18n input field.`);i.element.value="";const n=new Map(Object.entries(t).map((([e,t])=>[+e,t])));if(n.has(0))return i.element.value=n.get(0),n.delete(0),h.set(e,n),void s(e,0,!0);h.set(e,n),i.languageId=0,s(e,window.LANGUAGE_ID,!0)},t.disable=function(e){const t=d.get(e);if(void 0===t)throw new Error(`Expected a valid element, '${e}' is not an i18n input field.`);if(!t.isEnabled)return;t.isEnabled=!1;const i=t.buttonLabel.parentElement;n.default.hide(i),i.parentElement.classList.remove("inputAddon","dropdown")},t.enable=function(e){const t=d.get(e);if(void 0===t)throw new Error(`Expected a valid i18n input element, '${e}' is not i18n input field.`);if(t.isEnabled)return;t.isEnabled=!0;const i=t.buttonLabel.parentElement;n.default.show(i),i.parentElement.classList.add("inputAddon","dropdown")},t.isEnabled=function(e){const t=d.get(e);if(void 0===t)throw new Error(`Expected a valid i18n input element, '${e}' is not i18n input field.`);return t.isEnabled},t.validate=function(e,t){const i=d.get(e);if(void 0===i)throw new Error(`Expected a valid i18n input element, '${e}' is not i18n input field.`);if(!i.isEnabled)return!0;const n=h.get(e),o=r.default.getDropdownMenu(i.element.parentElement.id);i.languageId&&n.set(i.languageId,i.element.value);let a=!1,s=!1;return Array.from(o.children).forEach((e=>{const t=~~e.dataset.languageId;if(t)if(n.has(t)&&0!==n.get(t).length){if(a)return!1;s=!0}else{if(s)return!1;a=!0}})),!a||t}})),define("WoltLabSuite/Core/Language/Text",["require","exports","tslib","./Input"],(function(e,t,i,n){"use strict";function o(e){void 0!==window.jQuery&&window.jQuery(e).redactor("code.set",e.value)}function r(e){void 0!==window.jQuery&&(e.value=window.jQuery(e).redactor("code.get"))}Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,n=i.__importStar(n),t.init=function(e,t,i,a){const s=document.getElementById(e);if(!s||"TEXTAREA"!==s.nodeName||!s.classList.contains("wysiwygTextarea"))throw new Error(`Expected <textarea class="wysiwygTextarea" /> for id '${e}'.`);n.init(e,t,i,a),n.registerCallback(e,"select",o),n.registerCallback(e,"submit",r)}})),define("WoltLabSuite/Core/Media/Clipboard",["require","exports","tslib","../Controller/Clipboard","../Ui/Notification","../Ui/Dialog","../Event/Handler","../Language","../Ajax"],(function(e,t,i,n,o,r,a,s,l){"use strict";let c;Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importStar(l);const d=new class{_ajaxSetup(){return{data:{className:"wcf\\data\\media\\MediaAction"}}}_ajaxSuccess(e){switch(e.actionName){case"getSetCategoryDialog":r.open(this,e.returnValues.template);break;case"setCategory":r.close(this),o.show(),n.reload()}}_dialogSetup(){return{id:"mediaSetCategoryDialog",options:{onSetup:e=>{e.querySelector("button").addEventListener("click",(t=>{t.preventDefault();const i=e.querySelector('select[name="categoryID"]');var n;n=~~i.value,l.api(d,{actionName:"setCategory",objectIDs:u,parameters:{categoryID:n}});t.currentTarget.disabled=!0}))},title:s.get("wcf.media.setCategory")},source:null}}};let u=[];t.init=function(e,t,i){n.setup({hasMarkedItems:t,pageClassName:e}),c=i,a.add("com.woltlab.wcf.clipboard","com.woltlab.wcf.media",(e=>function(e){const t=e.data.parameters.objectIDs;switch(e.data.actionName){case"com.woltlab.wcf.media.delete":null!==e.responseData&&c.clipboardDeleteMedia(t);break;case"com.woltlab.wcf.media.insert":c.clipboardInsertMedia(t);break;case"com.woltlab.wcf.media.setCategory":u=t,l.api(d,{actionName:"getSetCategoryDialog"})}}(e)))}})),define("WoltLabSuite/Core/Media/Data",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})})),define("WoltLabSuite/Core/Media/Upload",["require","exports","tslib","../Upload","../Core","../Dom/Util","../Dom/Traverse","../Language","../User","../Date/Util","../FileUtil","../Dom/Change/Listener","../Event/Handler"],(function(e,t,i,n,o,r,a,s,l,c,d,u,h){"use strict";n=i.__importDefault(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importDefault(l),c=i.__importStar(c),d=i.__importStar(d),u=i.__importStar(u),h=i.__importStar(h);class p extends n.default{constructor(e,t,i){super(e,t,o.extend({className:"wcf\\data\\media\\MediaAction",multiple:!!i.mediaManager,singleFileRequests:!0},i||{})),this._categoryId=null,i=i||{},this._elementTagSize=144,this._options.elementTagSize&&(this._elementTagSize=this._options.elementTagSize),this._mediaManager=null,this._options.mediaManager&&(this._mediaManager=this._options.mediaManager,delete this._options.mediaManager)}_createFileElement(e){let t;if("OL"===this._target.nodeName||"UL"===this._target.nodeName)t=document.createElement("li");else{if("TBODY"===this._target.nodeName){const i=this._target.getElementsByTagName("TR")[0],n=this._target.parentNode.parentNode;return"none"===n.style.getPropertyValue("display")?(t=i,n.style.removeProperty("display"),document.getElementById(this._target.dataset.noItemsInfo).remove()):(t=i.cloneNode(!0),t.removeAttribute("id"),r.identify(t)),Array.from(t.getElementsByTagName("TD")).forEach((t=>{if(t.classList.contains("columnMark"))t.querySelectorAll("[data-object-id]").forEach((e=>r.hide(e)));else if(t.classList.contains("columnIcon"))t.querySelectorAll("[data-object-id]").forEach((e=>r.hide(e))),t.querySelector(".mediaEditButton").classList.add("jsMediaEditButton"),t.querySelector(".jsObjectAction[data-object-action='delete']").dataset.confirmMessage=s.get("wcf.media.delete.confirmMessage",{title:e.name});else if(t.classList.contains("columnFilename")){let i=t.querySelector("img");i||(i=t.querySelector(".icon48"));const n=document.createElement("span");n.className="icon icon48 fa-spinner mediaThumbnail",r.replaceElement(i,n);const o=t.querySelectorAll(".box48 > div > p");o[0].textContent=e.name;let a=o[1].getElementsByTagName("A")[0];a||(a=document.createElement("a"),o[1].getElementsByTagName("SMALL")[0].appendChild(a)),a.setAttribute("href",l.default.getLink()),a.textContent=l.default.username}else t.classList.contains("columnUploadTime")?(t.innerHTML="",t.appendChild(c.getTimeElement(new Date))):t.classList.contains("columnDigits")?t.textContent=d.formatFilesize(e.size):t.innerHTML=""})),r.prepend(t,this._target),t}t=document.createElement("p")}const i=document.createElement("div");i.className="mediaThumbnail",t.appendChild(i);const n=document.createElement("span");n.className="icon icon144 fa-spinner",i.appendChild(n);const o=document.createElement("div");o.className="mediaInformation",t.appendChild(o);const a=document.createElement("p");a.className="mediaTitle",a.textContent=e.name,o.appendChild(a);const h=document.createElement("progress");return h.max=100,o.appendChild(h),r.prepend(t,this._target),u.trigger(),t}_getParameters(){const e={elementTagSize:this._elementTagSize};if(this._mediaManager){e.imagesOnly=this._mediaManager.getOption("imagesOnly");const t=this._mediaManager.getCategoryId();t&&(e.categoryID=t)}return o.extend(super._getParameters(),e)}_replaceFileIcon(e,t,i){if(t.elementTag)e.outerHTML=t.elementTag;else if(t.tinyThumbnailType){const n=document.createElement("img");n.src=t.tinyThumbnailLink,n.alt="",n.style.setProperty("width",`${i}px`),n.style.setProperty("height",`${i}px`),r.replaceElement(e,n)}else{e.classList.remove("fa-spinner");let i=d.getIconNameByFilename(t.filename);i&&(i="-"+i),e.classList.add(`fa-file${i}-o`)}}_success(e,t){const i=this._fileElements[e];i.forEach((e=>{const i=e.dataset.internalFileId,n=t.returnValues.media[i];if("TR"===e.tagName)if(n)e.dataset.objectId=n.mediaID.toString(),e.querySelectorAll("[data-object-id]").forEach((e=>{e.dataset.objectId=n.mediaID.toString(),e.style.removeProperty("display")})),e.querySelector(".columnMediaID").textContent=n.mediaID.toString(),this._replaceFileIcon(e.querySelector(".fa-spinner"),n,48);else{let n=t.returnValues.errors[i];n||(n={errorType:"uploadFailed",filename:e.dataset.filename});const o=e.querySelector(".fa-spinner");o.classList.remove("fa-spinner"),o.classList.add("fa-remove","pointer","jsTooltip"),o.title=s.get("wcf.global.button.delete"),o.addEventListener("click",(e=>{e.currentTarget.closest(".mediaFile").remove(),h.fire("com.woltlab.wcf.media.upload","removedErroneousUploadRow")})),e.classList.add("uploadFailed");const a=e.querySelectorAll(".columnFilename .box48 > div > p")[1];r.innerError(a,s.get(`wcf.media.upload.error.${n.errorType}`,{filename:n.filename})),a.remove()}else if(a.childByTag(a.childByClass(e,"mediaInformation"),"PROGRESS").remove(),n){const t=a.childByTag(a.childByClass(e,"mediaThumbnail"),"SPAN");this._replaceFileIcon(t,n,144),e.classList.add("jsClipboardObject","mediaFile","jsObjectActionObject"),e.dataset.objectId=n.mediaID.toString(),this._mediaManager&&(this._mediaManager.setupMediaElement(n,e),this._mediaManager.addMedia(n,e))}else{let n=t.returnValues.errors[i];n||(n={errorType:"uploadFailed",filename:e.dataset.filename});const o=a.childByTag(a.childByClass(e,"mediaThumbnail"),"SPAN");o.classList.remove("fa-spinner"),o.classList.add("fa-remove","pointer"),e.classList.add("uploadFailed","jsTooltip"),e.title=s.get("wcf.global.button.delete"),e.addEventListener("click",(()=>e.remove()));a.childByClass(a.childByClass(e,"mediaInformation"),"mediaTitle").innerText=s.get(`wcf.media.upload.error.${n.errorType}`,{filename:n.filename})}u.trigger()})),h.fire("com.woltlab.wcf.media.upload","success",{files:i,isMultiFileUpload:-1!==this._multiFileUploadIds.indexOf(e),media:t.returnValues.media,upload:this,uploadId:e})}}return o.enableLegacyInheritance(p),p})),define("WoltLabSuite/Core/Media/Replace",["require","exports","tslib","../Core","./Upload","../Language","../Dom/Util","../Ui/Notification","../Dom/Change/Listener"],(function(e,t,i,n,o,r,a,s,l){"use strict";n=i.__importStar(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importDefault(a),s=i.__importStar(s),l=i.__importStar(l);class c extends o.default{constructor(e,t,i,o){super(t,i,n.extend(o,{action:"replaceFile"})),this._mediaID=e}_createButton(){super._createButton(),this._button.classList.add("small"),this._button.querySelector("span").textContent=r.get("wcf.media.button.replaceFile")}_createFileElement(){return this._target}_getFormData(){return{objectIDs:[this._mediaID]}}_success(e,t){this._fileElements[e].forEach((e=>{const i=e.dataset.internalFileId,n=t.returnValues.media[i];if(n)n.isImage&&(this._target.innerHTML=n.smallThumbnailTag),document.getElementById("mediaFilename").textContent=n.filename,document.getElementById("mediaFilesize").textContent=n.formattedFilesize,n.isImage&&(document.getElementById("mediaImageDimensions").textContent=n.imageDimensions),document.getElementById("mediaUploader").innerHTML=n.userLinkElement,this._options.mediaEditor.updateData(n),a.default.innerError(this._buttonContainer,""),s.show();else{let n=t.returnValues.errors[i];n||(n={errorType:"uploadFailed",filename:e.dataset.filename}),a.default.innerError(this._buttonContainer,r.get("wcf.media.upload.error."+n.errorType,{filename:n.filename}))}l.trigger()}))}}return n.enableLegacyInheritance(c),c})),define("WoltLabSuite/Core/Media/Editor",["require","exports","tslib","../Core","../Ui/Notification","../Ui/Dialog","../Language/Chooser","../Language/Input","../Dom/Util","../Dom/Traverse","../Dom/Change/Listener","../Language","../Ajax","./Replace"],(function(e,t,i,n,o,r,a,s,l,c,d,u,h,p){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importStar(l),c=i.__importStar(c),d=i.__importDefault(d),u=i.__importStar(u),h=i.__importStar(h),p=i.__importDefault(p);class m{constructor(e){if(this._availableLanguageCount=1,this._categoryIds=[],this._dialogs=new Map,this._media=null,this._oldCategoryId=0,this._callbackObject=e||{},this._callbackObject._editorClose&&"function"!=typeof this._callbackObject._editorClose)throw new TypeError("Callback object has no function '_editorClose'.");if(this._callbackObject._editorSuccess&&"function"!=typeof this._callbackObject._editorSuccess)throw new TypeError("Callback object has no function '_editorSuccess'.")}_ajaxSetup(){return{data:{actionName:"update",className:"wcf\\data\\media\\MediaAction"}}}_ajaxSuccess(){o.show(),this._callbackObject._editorSuccess&&(this._callbackObject._editorSuccess(this._media,this._oldCategoryId),this._oldCategoryId=0),r.close(`mediaEditor_${this._media.mediaID}`),this._media=null}_close(){this._media=null,this._callbackObject._editorClose&&this._callbackObject._editorClose()}_initEditor(e,t){this._availableLanguageCount=~~t.returnValues.availableLanguageCount,this._categoryIds=t.returnValues.categoryIDs.map((e=>~~e)),t.returnValues.mediaData&&(this._media=t.returnValues.mediaData);const i=this._media,n=i.mediaID;setTimeout((()=>{if(this._availableLanguageCount>1&&a.setLanguageId(`mediaEditor_${n}_languageID`,i.languageID||window.LANGUAGE_ID),this._categoryIds.length){const t=e.querySelector("select[name=categoryID]");i.categoryID?t.value=i.categoryID.toString():t.value="0"}const t=e.querySelector("input[name=title]"),o=e.querySelector("input[name=altText]"),r=e.querySelector("textarea[name=caption]");if(this._availableLanguageCount>1&&i.isMultilingual?(document.getElementById(`altText_${n}`)&&s.setValues(`altText_${n}`,i.altText||{}),document.getElementById(`caption_${n}`)&&s.setValues(`caption_${n}`,i.caption||{}),s.setValues(`title_${n}`,i.title||{})):(t.value=i.title?i.title[i.languageID||window.LANGUAGE_ID]:"",o&&(o.value=i.altText?i.altText[i.languageID||window.LANGUAGE_ID]:""),r&&(r.value=i.caption?i.caption[i.languageID||window.LANGUAGE_ID]:"")),this._availableLanguageCount>1){const t=e.querySelector("input[name=isMultilingual]");t.addEventListener("change",(e=>this._updateLanguageFields(e))),this._updateLanguageFields(null,t)}o&&o.addEventListener("keypress",(e=>this._keyPress(e))),t.addEventListener("keypress",(e=>this._keyPress(e))),e.querySelector("button[data-type=submit]").addEventListener("click",(()=>this._saveData())),document.activeElement.blur(),document.getElementById(`mediaEditor_${n}`).parentNode.scrollTop=0;const c=e.querySelector(".mediaManagerMediaReplaceButton");let u=e.querySelector(".mediaThumbnail");u||(u=document.createElement("div"),e.appendChild(u)),new p.default(n,l.identify(c),l.identify(u),{mediaEditor:this}),d.default.trigger()}),200)}_keyPress(e){"Enter"===e.key&&(e.preventDefault(),this._saveData())}_saveData(){const e=r.getDialog(`mediaEditor_${this._media.mediaID}`).content,t=e.querySelector("select[name=categoryID]"),i=e.querySelector("input[name=altText]"),n=e.querySelector("textarea[name=caption]"),o=e.querySelector("input[name=captionEnableHtml]"),d=e.querySelector("input[name=title]");let p=!1;const m=!!i&&c.childByClass(i.parentNode,"innerError"),f=!!n&&c.childByClass(n.parentNode,"innerError"),g=c.childByClass(d.parentNode,"innerError");if(this._oldCategoryId=this._media.categoryID,this._categoryIds.length&&(this._media.categoryID=~~t.value,-1===this._categoryIds.indexOf(this._media.categoryID)&&(this._media.categoryID=0)),this._availableLanguageCount>1){const t=e.querySelector("input[name=isMultilingual]");this._media.isMultilingual=~~t.checked,this._media.languageID=this._media.isMultilingual?null:a.getLanguageId(`mediaEditor_${this._media.mediaID}_languageID`)}else this._media.languageID=window.LANGUAGE_ID;this._media.altText={},this._media.caption={},this._media.title={},this._availableLanguageCount>1&&this._media.isMultilingual?(i&&!s.validate(i.id,!0)&&(p=!0,m||l.innerError(i,u.get("wcf.global.form.error.multilingual"))),n&&!s.validate(n.id,!0)&&(p=!0,f||l.innerError(n,u.get("wcf.global.form.error.multilingual"))),s.validate(d.id,!0)||(p=!0,g||l.innerError(d,u.get("wcf.global.form.error.multilingual"))),this._media.altText=i?this.mapToI18nValues(s.getValues(i.id)):"",this._media.caption=n?this.mapToI18nValues(s.getValues(n.id)):"",this._media.title=this.mapToI18nValues(s.getValues(d.id))):(this._media.altText[this._media.languageID]=i?i.value:"",this._media.caption[this._media.languageID]=n?n.value:"",this._media.title[this._media.languageID]=d.value),this._media.captionEnableHtml=o?~~o.checked:0;const b={allowAll:~~document.getElementById(`mediaEditor_${this._media.mediaID}_aclAllowAll`).checked,group:Array.from(e.querySelectorAll(`input[name="mediaEditor_${this._media.mediaID}_aclValues[group][]"]`)).map((e=>~~e.value)),user:Array.from(e.querySelectorAll(`input[name="mediaEditor_${this._media.mediaID}_aclValues[user][]"]`)).map((e=>~~e.value))};p||(m&&m.remove(),f&&f.remove(),g&&g.remove(),h.api(this,{actionName:"update",objectIDs:[this._media.mediaID],parameters:{aclValues:b,altText:this._media.altText,caption:this._media.caption,data:{captionEnableHtml:this._media.captionEnableHtml,categoryID:this._media.categoryID,isMultilingual:this._media.isMultilingual,languageID:this._media.languageID},title:this._media.title}}))}mapToI18nValues(e){const t={};return e.forEach(((e,i)=>t[i]=e)),t}_updateLanguageFields(e,t){e&&(t=e.currentTarget);const i=this._media.mediaID,n=document.getElementById(`mediaEditor_${i}_languageIDContainer`).parentNode;t.checked?(s.enable(`title_${i}`),document.getElementById(`caption_${i}`)&&s.enable(`caption_${i}`),document.getElementById(`altText_${i}`)&&s.enable(`altText_${i}`),l.hide(n)):(s.disable(`title_${i}`),document.getElementById(`caption_${i}`)&&s.disable(`caption_${i}`),document.getElementById(`altText_${i}`)&&s.disable(`altText_${i}`),l.show(n))}edit(e){let t,i=0;if("object"==typeof e?(t=e,i=t.mediaID):(t={mediaID:e},i=e),null!==this._media)throw new Error(`Cannot edit media with id ${i} while editing media with id '${this._media.mediaID}'.`);this._media=t,this._dialogs.has(`mediaEditor_${i}`)||this._dialogs.set(`mediaEditor_${i}`,{_dialogSetup:()=>({id:`mediaEditor_${i}`,options:{backdropCloseOnClick:!1,onClose:()=>this._close(),title:u.get("wcf.media.edit")},source:{after:(e,t)=>this._initEditor(e,t),data:{actionName:"getEditorDialog",className:"wcf\\data\\media\\MediaAction",objectIDs:[i]}}})}),r.open(this._dialogs.get(`mediaEditor_${i}`))}updateData(e){this._callbackObject._editorSuccess&&this._callbackObject._editorSuccess(e,void 0,!1)}}return n.enableLegacyInheritance(m),m})),define("WoltLabSuite/Core/Notification/Handler",["require","exports","tslib","../Ajax","../Core","../Event/Handler","../StringUtil"],(function(e,t,i,n,o,r,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a);class s{constructor(e){this.inactiveSince=0,this.lastRequestTimestamp=window.TIME_NOW,this.requestTimer=void 0,e=o.extend({enableNotifications:!1,icon:""},e),this.icon=e.icon,this.prepareNextRequest(),document.addEventListener("visibilitychange",(e=>this.onVisibilityChange(e))),window.addEventListener("storage",(()=>this.onStorage())),this.onVisibilityChange(),e.enableNotifications&&this.enableNotifications()}async enableNotifications(){switch(window.Notification.permission){case"granted":this.allowNotification=!0;break;case"default":"granted"===await window.Notification.requestPermission()&&(this.allowNotification=!0);break}}onVisibilityChange(e){if(e&&!document.hidden){(Date.now()-this.inactiveSince)/6e4>4&&(this.resetTimer(),this.dispatchRequest())}this.inactiveSince=document.hidden?Date.now():0}getNextDelay(){if(0===this.inactiveSince)return 5;const e=~~((Date.now()-this.inactiveSince)/6e4);return e<15?5:e<30?10:15}resetTimer(){this.requestTimer&&(window.clearTimeout(this.requestTimer),this.requestTimer=void 0)}prepareNextRequest(){this.resetTimer(),this.requestTimer=window.setTimeout(this.dispatchRequest.bind(this),6e4*this.getNextDelay())}dispatchRequest(){const e={};r.fire("com.woltlab.wcf.notification","beforePoll",e),e.lastRequestTimestamp=this.lastRequestTimestamp,n.api(this,{parameters:e})}onStorage(){let e,t;this.prepareNextRequest();let i=!1;try{e=window.localStorage.getItem(o.getStoragePrefix()+"notification"),t=window.localStorage.getItem(o.getStoragePrefix()+"keepAliveData"),e=JSON.parse(e),t=JSON.parse(t)}catch(e){i=!0}i||r.fire("com.woltlab.wcf.notification","onStorage",{pollData:e,keepAliveData:t})}_ajaxSuccess(e){const t=e.returnValues.keepAliveData,i=e.returnValues.pollData;window.WCF.System.PushNotification.executeCallbacks({returnValues:t});let n=!1;try{window.localStorage.setItem(o.getStoragePrefix()+"notification",JSON.stringify(i)),window.localStorage.setItem(o.getStoragePrefix()+"keepAliveData",JSON.stringify(t))}catch(e){n=!0,window.console.log(e)}n||this.prepareNextRequest(),this.lastRequestTimestamp=e.returnValues.lastRequestTimestamp,r.fire("com.woltlab.wcf.notification","afterPoll",i),this.showNotification(i)}showNotification(e){if(this.allowNotification&&"object"==typeof e.notification&&"string"==typeof e.notification.message){const t=new window.Notification(e.notification.title,{body:a.unescapeHTML(e.notification.message).replace(/ /g," "),icon:this.icon});t.onclick=()=>{window.focus(),t.close(),window.location.href=e.notification.link}}}_ajaxSetup(){return{data:{actionName:"poll",className:"wcf\\data\\session\\SessionAction"},ignoreError:!window.ENABLE_DEBUG_MODE,silent:!window.ENABLE_DEBUG_MODE}}}let l;t.setup=function(e){l||(l=new s(e))}})),define("WoltLabSuite/Core/Ui/Redactor/DragAndDrop",["require","exports","tslib","../../Event/Handler","../../Language"],(function(e,t,i,n,o){"use strict";function r(e){if(e.preventDefault(),!e.dataTransfer||!e.dataTransfer.types)return;const t=Object.keys(e.dataTransfer).some((e=>e.startsWith("moz")));u=!1,t?"application/x-moz-file"===e.dataTransfer.types[0]&&(u=!0):u=e.dataTransfer.types.some((e=>"Files"===e)),u&&(d||(d=!0,c.forEach(((e,t)=>{const i=e.editor.$editor[0];if(!i.parentElement)return void c.delete(t);let r=e.element;null===r&&(r=document.createElement("div"),r.className="redactorDropArea",r.dataset.elementId=e.editor.$element[0].id,r.dataset.dropHere=o.get("wcf.attachment.dragAndDrop.dropHere"),r.dataset.dropNow=o.get("wcf.attachment.dragAndDrop.dropNow"),r.addEventListener("dragover",(()=>{r.classList.add("active")})),r.addEventListener("dragleave",(()=>{r.classList.remove("active")})),r.addEventListener("drop",(e=>function(e){if(!u)return;if(!e.dataTransfer||!e.dataTransfer.files.length)return;e.preventDefault();const t=e.currentTarget.dataset.elementId;Array.from(e.dataTransfer.files).forEach((e=>{const i={file:e};n.fire("com.woltlab.wcf.redactor2",`dragAndDrop_${t}`,i)})),a()}(e))),e.element=r),i.parentElement.insertBefore(r,i),r.style.setProperty("top",`${i.offsetTop}px`,"")}))))}function a(){d&&u&&(null!==h&&window.clearTimeout(h),h=window.setTimeout((()=>{d||c.forEach((e=>{e.element&&e.element.parentElement&&(e.element.classList.remove("active"),e.element.remove())})),h=null}),100),d=!1)}function s(){window.addEventListener("dragend",(e=>e.preventDefault())),window.addEventListener("dragover",(e=>r(e))),window.addEventListener("dragleave",(()=>a())),window.addEventListener("drop",(e=>function(e){if(null===e.target.closest(".redactor-layer")){const t={cancelDrop:!0,event:e};c.forEach((e=>{n.fire("com.woltlab.wcf.redactor2",`dragAndDrop_globalDrop_${e.editor.$element[0].id}`,t)})),t.cancelDrop&&e.preventDefault()}a()}(e))),l=!0}Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,n=i.__importStar(n),o=i.__importStar(o);let l=!1;const c=new Map;let d=!1,u=!1,h=null;t.init=function(e){l||s(),c.set(e.uuid,{editor:e,element:null})}})),define("WoltLabSuite/Core/Ui/DragAndDrop",["require","exports","tslib","../Core","../Event/Handler","./Redactor/DragAndDrop"],(function(e,t,i,n,o,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.register=void 0,n=i.__importStar(n),o=i.__importStar(o),t.register=function(e){const t=n.getUuid();e=n.extend({element:null,elementId:"",onDrop:function(e){},onGlobalDrop:function(e){}}),o.add("com.woltlab.wcf.redactor2",`dragAndDrop_${e.elementId}`,e.onDrop),o.add("com.woltlab.wcf.redactor2",`dragAndDrop_globalDrop_${e.elementId}`,e.onGlobalDrop),r.init({uuid:t,$editor:[e.element],$element:[{id:e.elementId}]})}})),define("WoltLabSuite/Core/Ui/FlexibleMenu",["require","exports","tslib","../Dom/Change/Listener","../Dom/Util","../Dom/Traverse","./Dropdown/Simple"],(function(e,t,i,n,o,r,a){"use strict";function s(e){const t=document.getElementById(e);if(null===t)throw"Expected a valid element id, '"+e+"' does not exist.";if(u.has(e))return;const i=r.childByTag(t,"UL");if(null===i)throw"Expected an <ul> element as child of container '"+e+"'.";u.set(e,t),m.set(e,i),d(e)}function l(){document.querySelectorAll(".tabMenuContainer:not(.jsFlexibleMenuEnabled), .messageTabMenu:not(.jsFlexibleMenuEnabled)").forEach((e=>{const t=r.childByTag(e,"NAV");null!==t&&(e.classList.add("jsFlexibleMenuEnabled"),s(o.default.identify(t)))}))}function c(){u.forEach(((e,t)=>{d(t)}))}function d(e){const t=u.get(e);if(void 0===t)throw"Expected a valid element id, '"+e+"' is unknown.";const i=window.getComputedStyle(t);let n=t.parentNode.clientWidth;n-=o.default.styleAsInt(i,"margin-left"),n-=o.default.styleAsInt(i,"margin-right");const s=m.get(e),l=r.childrenByTag(s,"LI");let c=h.get(e),f=0;if(void 0!==c){for(let e=0,t=l.length;e<t;e++){const t=l[e];t.classList.contains("dropdown")||o.default.show(t)}null!==c.parentNode&&(f=o.default.outerWidth(c))}const g=[];if(s.scrollWidth-f>n)for(let e=l.length-1;e>=0;e--){const t=l[e];if(!(t.classList.contains("dropdown")||t.classList.contains("active")||t.classList.contains("ui-state-active"))&&(g.push(t),o.default.hide(t),s.scrollWidth<n))break}if(g.length){let t;if(void 0===c){c=document.createElement("li"),c.className="dropdown jsFlexibleMenuDropdown";const i=document.createElement("a");i.className="icon icon16 fa-list",c.appendChild(i),t=document.createElement("ul"),t.classList.add("dropdownMenu"),c.appendChild(t),h.set(e,c),p.set(e,t),a.default.init(i)}else t=p.get(e);null===c.parentNode&&s.appendChild(c);const i=document.createDocumentFragment();g.forEach((t=>{const n=document.createElement("li");n.innerHTML=t.innerHTML,n.addEventListener("click",(i=>{var n;i.preventDefault(),null===(n=t.querySelector("a"))||void 0===n||n.click(),setTimeout((()=>{d(e)}),59)})),i.appendChild(n)})),t.innerHTML="",t.appendChild(i)}else void 0!==c&&null!==c.parentNode&&c.remove()}Object.defineProperty(t,"__esModule",{value:!0}),t.rebuild=t.rebuildAll=t.registerTabMenus=t.register=t.setup=void 0,n=i.__importDefault(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importDefault(a);const u=new Map,h=new Map,p=new Map,m=new Map;t.setup=function(){null!==document.getElementById("mainMenu")&&s("mainMenu");const e=document.querySelector(".navigationHeader");null!==e&&s(o.default.identify(e)),window.addEventListener("resize",c),n.default.add("WoltLabSuite/Core/Ui/FlexibleMenu",l)},t.register=s,t.registerTabMenus=l,t.rebuildAll=c,t.rebuild=d})),define("WoltLabSuite/Core/Ui/Suggestion",["require","exports","tslib","../Ajax","../Core","./Dropdown/Simple"],(function(e,t,i,n,o,r){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r);class a{constructor(e,t){this.dropdownMenu=null,this.value="";const i=document.getElementById(e);if(null===i)throw new Error("Expected a valid element id.");if(this.element=i,this.ajaxPayload=o.extend({actionName:"getSearchResultList",className:"",interfaceName:"wcf\\data\\ISearchAction",parameters:{data:{}}},t.ajax),"function"!=typeof t.callbackSelect)throw new Error("Expected a valid callback for option 'callbackSelect'.");this.callbackSelect=t.callbackSelect,this.excludedSearchValues=new Set(Array.isArray(t.excludedSearchValues)?t.excludedSearchValues:[]),this.threshold=void 0===t.threshold?3:t.threshold,this.element.addEventListener("click",(e=>e.preventDefault())),this.element.addEventListener("keydown",(e=>this.keyDown(e))),this.element.addEventListener("keyup",(e=>this.keyUp(e)))}addExcludedValue(e){this.excludedSearchValues.add(e)}removeExcludedValue(e){this.excludedSearchValues.delete(e)}isActive(){return null!==this.dropdownMenu&&r.default.isOpen(this.element.id)}keyDown(e){if(!this.isActive())return!0;if(-1===["ArrowDown","ArrowUp","Enter","Escape"].indexOf(e.key))return!0;let t,i=0;const n=this.dropdownMenu.childElementCount;for(;i<n&&(t=this.dropdownMenu.children[i],!t.classList.contains("active"));)i++;if("Enter"===e.key)r.default.close(this.element.id),this.select(void 0,t);else if("Escape"===e.key){if(!r.default.isOpen(this.element.id))return!0;r.default.close(this.element.id)}else{let o=0;"ArrowUp"===e.key?o=(0===i?n:i)-1:"ArrowDown"===e.key&&(o=i+1,o===n&&(o=0)),o!==i&&(t.classList.remove("active"),this.dropdownMenu.children[o].classList.add("active"))}return e.preventDefault(),!1}select(e,t){if(e instanceof MouseEvent){t=e.currentTarget.parentNode}const i=t.children[0];this.callbackSelect(this.element.id,{objectId:+(i.dataset.objectId||0),value:t.textContent||"",type:i.dataset.type||""}),e instanceof MouseEvent&&this.element.focus()}keyUp(e){const t=e.currentTarget.value.trim();if(this.value!==t){if(t.length<this.threshold)return null!==this.dropdownMenu&&r.default.close(this.element.id),void(this.value=t);this.value=t,n.api(this,{parameters:{data:{excludedSearchValues:Array.from(this.excludedSearchValues),searchString:t}}})}}_ajaxSetup(){return{data:this.ajaxPayload}}_ajaxSuccess(e){null===this.dropdownMenu?(this.dropdownMenu=document.createElement("div"),this.dropdownMenu.className="dropdownMenu",r.default.initFragment(this.element,this.dropdownMenu)):this.dropdownMenu.innerHTML="",Array.isArray(e.returnValues)&&e.returnValues.length>0?(e.returnValues.forEach(((e,t)=>{const i=document.createElement("a");e.icon?(i.className="box16",i.innerHTML=`${e.icon} <span></span>`,i.children[1].textContent=e.label):i.textContent=e.label,i.dataset.objectId=e.objectID.toString(),e.type&&(i.dataset.type=e.type),i.addEventListener("click",(e=>this.select(e)));const n=document.createElement("li");0===t&&(n.className="active"),n.appendChild(i),this.dropdownMenu.appendChild(n)})),r.default.open(this.element.id,!0)):r.default.close(this.element.id)}}return o.enableLegacyInheritance(a),a})),define("WoltLabSuite/Core/Ui/ItemList",["require","exports","tslib","../Core","../Dom/Traverse","../Language","./Suggestion","./Dropdown/Simple","../Dom/Util"],(function(e,t,i,n,o,r,a,s,l){"use strict";function c(e){const t=y.get(e);return-1===t.options.maxItems||t.list.childElementCount-1<t.options.maxItems}function d(e){const t=y.get(e);c(e)?(l.default.show(t.element),l.default.hide(t.limitReached)):(l.default.hide(t.element),l.default.show(t.limitReached))}function u(e){const t=e.currentTarget,i=t.parentElement.previousElementSibling;"Backspace"===e.key?0===t.value.length&&null!==i&&(i.classList.contains("active")?b(i):i.classList.add("active")):"Escape"===e.key&&null!==i&&i.classList.contains("active")&&i.classList.remove("active")}function h(e){if("Enter"===e.key){e.preventDefault();const t=e.currentTarget;if(y.get(t.id).options.restricted)return;const i=t.value.trim();i.length&&g(t.id,{objectId:0,value:i})}}function p(e){const t=e.currentTarget;if(y.get(t.id).options.restricted)return;let i=t.value;i.includes(",")&&(i=i.replace(/,/g,""),i.length?g(t.id,{objectId:0,value:i}):t.value=i)}function m(e){e.preventDefault();const t=e.clipboardData.getData("text/plain"),i=e.currentTarget,n=i.id,o=+i.maxLength;t.split(/,/).forEach((e=>{e=e.trim(),o&&e.length>o&&(e=e.substr(0,o)),e.length>0&&c(n)&&g(n,{objectId:0,value:e})}))}function f(e){const t=e.currentTarget;if(t.value.length>0){const e=t.parentElement.previousElementSibling;null!==e&&e.classList.remove("active")}}function g(e,t){const i=y.get(e),n=document.createElement("li");n.className="item";const o=document.createElement("span");if(o.className="content",o.dataset.objectId=t.objectId.toString(),t.type&&(o.dataset.type=t.type),o.textContent=t.value,n.appendChild(o),!i.element.disabled){const e=document.createElement("a");e.className="icon icon16 fa-times",e.addEventListener("click",b),n.appendChild(e)}i.list.insertBefore(n,i.listItem),i.suggestion.addExcludedValue(t.value),i.element.value="",i.element.disabled||d(e);let r=_(i);"function"==typeof i.options.callbackChange&&(null===r&&(r=w(e)),i.options.callbackChange(e,r))}function b(e,t){if(e instanceof Event){e=e.currentTarget.parentElement}const i=e.parentElement.dataset.elementId||"",n=y.get(i);e.children[0].textContent&&n.suggestion.removeExcludedValue(e.children[0].textContent),e.remove(),t||n.element.focus(),d(i);let o=_(n);"function"==typeof n.options.callbackChange&&(null===o&&(o=w(i)),n.options.callbackChange(i,o))}function _(e){if(!e.options.isCSV)return null;if("function"==typeof e.options.callbackSyncShadow)return e.options.callbackSyncShadow(e);const t=w(e.element.id);return e.shadow.value=w(e.element.id).map((e=>e.value)).join(","),t}function v(e){const t=e.currentTarget,i=y.get(t.id);if(i.options.restricted)return;const n=t.value.trim();n.length&&(i.suggestion&&i.suggestion.isActive()||g(t.id,{objectId:0,value:n}))}function w(e){const t=y.get(e);if(!t)throw new Error("Element id '"+e+"' is unknown.");const i=[];return t.list.querySelectorAll(".item > span").forEach((e=>{i.push({objectId:+(e.dataset.objectId||""),value:e.textContent.trim(),type:e.dataset.type})})),i}Object.defineProperty(t,"__esModule",{value:!0}),t.setValues=t.getValues=t.init=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importDefault(a),s=i.__importDefault(s),l=i.__importDefault(l);const y=new Map;t.init=function(e,t,i){const d=document.getElementById(e);if(null===d)throw new Error("Expected a valid element id, '"+e+"' is invalid.");if(y.has(e)){const t=y.get(e);Object.keys(t).forEach((e=>{const i=t[e];i instanceof Element&&i.parentNode&&i.remove()})),s.default.destroy(e),y.delete(e)}const b=n.extend({ajax:{actionName:"getSearchResultList",className:"",data:{}},excludedSearchValues:[],maxItems:-1,maxLength:-1,restricted:!1,isCSV:!1,callbackChange:null,callbackSubmit:null,callbackSyncShadow:null,callbackSetupValues:null,submitFieldName:""},i),_=o.parentByTag(d,"FORM");if(null!==_)if(b.isCSV)_.addEventListener("submit",(()=>{if(c(e)){const t=y.get(e).element.value.trim();t.length&&g(e,{objectId:0,value:t})}}));else{if(!b.submitFieldName.length&&"function"!=typeof b.callbackSubmit)throw new Error("Expected a valid function for option 'callbackSubmit', a non-empty value for option 'submitFieldName' or enabling the option 'submitFieldCSV'.");_.addEventListener("submit",(()=>{if(c(e)){const t=y.get(e).element.value.trim();t.length&&g(e,{objectId:0,value:t})}const t=w(e);b.submitFieldName.length?t.forEach((e=>{const t=document.createElement("input");t.type="hidden",t.name=b.submitFieldName.replace("{$objectId}",e.objectId.toString()),t.value=e.value,_.appendChild(t)})):b.callbackSubmit(_,t)}))}const E=function(e,t){const i=e.parentElement,n=document.createElement("ol");n.className="inputItemList"+(e.disabled?" disabled":""),n.dataset.elementId=e.id,n.addEventListener("click",(t=>{t.target===n&&e.focus()}));const o=document.createElement("li");o.className="input",n.appendChild(o),e.addEventListener("input",p),e.addEventListener("keydown",u),e.addEventListener("keypress",h),e.addEventListener("keyup",f),e.addEventListener("paste",m);const a=e===document.activeElement;a&&e.blur(),e.addEventListener("blur",v),i.insertBefore(n,e),o.appendChild(e),a&&window.setTimeout((()=>{e.focus()}),1),-1!==t.maxLength&&(e.maxLength=t.maxLength);const s=document.createElement("span");s.className="inputItemListLimitReached",s.textContent=r.get("wcf.global.form.input.maxItems"),l.default.hide(s),o.appendChild(s);let c=null;const d=[];if(t.isCSV&&(c=document.createElement("input"),c.className="itemListInputShadow",c.type="hidden",c.name=e.name,e.removeAttribute("name"),n.parentNode.insertBefore(c,n),e.value.split(",").forEach((e=>{(e=e.trim())&&d.push(e)})),"TEXTAREA"===e.nodeName)){const t=document.createElement("input");t.type="text",e.parentNode.insertBefore(t,e),t.id=e.id,e.remove(),e=t}return{element:e,limitReached:s,list:n,shadow:c,values:d}}(d,b),S=new a.default(e,{ajax:b.ajax,callbackSelect:g,excludedSearchValues:b.excludedSearchValues});y.set(e,{dropdownMenu:null,element:E.element,limitReached:E.limitReached,list:E.list,listItem:E.element.parentElement,options:b,shadow:E.shadow,suggestion:S}),t=b.callbackSetupValues?b.callbackSetupValues():E.values.length?E.values:t,Array.isArray(t)&&t.forEach((t=>{"string"==typeof t&&(t={objectId:0,value:t}),g(e,t)}))},t.getValues=w,t.setValues=function(e,t){const i=y.get(e);if(!i)throw new Error("Element id '"+e+"' is unknown.");o.childrenByClass(i.list,"item").forEach((e=>{b(e,!0)})),t.forEach((t=>{g(e,t)}))}})),define("WoltLabSuite/Core/Ui/Pagination",["require","exports","tslib","../Core","../Language","../StringUtil","./Page/JumpTo"],(function(e,t,i,n,o,r,a){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a);class s{constructor(e,t){this.callbackSwitch=null,this.callbackShouldSwitch=null,this.element=e,this.activePage=t.activePage,this.maxPage=t.maxPage,"function"==typeof t.callbackSwitch&&(this.callbackSwitch=t.callbackSwitch),"function"==typeof t.callbackShouldSwitch&&(this.callbackShouldSwitch=t.callbackShouldSwitch),this.element.classList.add("pagination"),this.rebuild()}rebuild(){let e=!1;this.element.innerHTML="";const t=document.createElement("ul");let i=document.createElement("li");i.className="skip",t.appendChild(i);let n="icon icon24 fa-chevron-left";if(this.activePage>1){const e=document.createElement("a");e.className=n+" jsTooltip",e.href="#",e.title=o.get("wcf.global.page.previous"),e.rel="prev",i.appendChild(e),e.addEventListener("click",(e=>this.switchPage(this.activePage-1,e)))}else i.innerHTML='<span class="'+n+'"></span>',i.classList.add("disabled");t.appendChild(this.createLink(1));let r=s.showLinks-4,l=this.activePage-2;l<0&&(l=0);let c=this.maxPage-(this.activePage+1);c<0&&(c=0),this.activePage>1&&this.activePage<this.maxPage&&r--;const d=r/2;let u=this.activePage,h=this.activePage;u<1&&(u=1),h<1&&(h=1),h>this.maxPage-1&&(h=this.maxPage-1),l>=d?u-=d:(u-=l,h+=d-l),c>=d?h+=d:(h+=c,u-=d-c),h=Math.ceil(h),u=Math.ceil(u),u<1&&(u=1),h>this.maxPage&&(h=this.maxPage);const p='<a class="jsTooltip" title="'+o.get("wcf.page.jumpTo")+'">…</a>';u>1&&(u-1<2?t.appendChild(this.createLink(2)):(i=document.createElement("li"),i.className="jumpTo",i.innerHTML=p,t.appendChild(i),e=!0));for(let e=u+1;e<h;e++)t.appendChild(this.createLink(e));if(h<this.maxPage&&(this.maxPage-h<2?t.appendChild(this.createLink(this.maxPage-1)):(i=document.createElement("li"),i.className="jumpTo",i.innerHTML=p,t.appendChild(i),e=!0)),t.appendChild(this.createLink(this.maxPage)),i=document.createElement("li"),i.className="skip",t.appendChild(i),n="icon icon24 fa-chevron-right",this.activePage<this.maxPage){const e=document.createElement("a");e.className=n+" jsTooltip",e.href="#",e.title=o.get("wcf.global.page.next"),e.rel="next",i.appendChild(e),e.addEventListener("click",(e=>this.switchPage(this.activePage+1,e)))}else i.innerHTML='<span class="'+n+'"></span>',i.classList.add("disabled");e&&(t.dataset.pages=this.maxPage.toString(),a.init(t,this.switchPage.bind(this))),this.element.appendChild(t)}createLink(e){const t=document.createElement("li");if(e!==this.activePage){const i=document.createElement("a");i.textContent=r.addThousandsSeparator(e),i.addEventListener("click",(t=>this.switchPage(e,t))),t.appendChild(i)}else t.classList.add("active"),t.innerHTML="<span>"+r.addThousandsSeparator(e)+'</span><span class="invisible">'+o.get("wcf.page.pagePosition",{pageNo:e,pages:this.maxPage})+"</span>";return t}getActivePage(){return this.activePage}getElement(){return this.element}getMaxPage(){return this.maxPage}switchPage(e,t){if(t instanceof MouseEvent){t.preventDefault();const e=t.currentTarget;if(e&&e.dataset.tooltip){const t=document.getElementById("balloonTooltip");t&&(n.triggerEvent(e,"mouseleave"),t.style.removeProperty("top"),t.style.removeProperty("bottom"))}}if((e=~~e)>0&&this.activePage!==e&&e<=this.maxPage){if(null!==this.callbackShouldSwitch&&!this.callbackShouldSwitch(e))return;this.activePage=e,this.rebuild(),null!==this.callbackSwitch&&this.callbackSwitch(e)}}}return s.showLinks=11,n.enableLegacyInheritance(s),s})),define("WoltLabSuite/Core/Upload/Data",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})})),define("WoltLabSuite/Core/Wrapper/FacebookSdk",["require","exports","https://connect.facebook.net/en_US/sdk.js"],(function(e,t){"use strict";return FB.init({version:"v7.0"}),FB})),define("WoltLabSuite/Core/Controller/Clipboard/Data",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})})),define("WoltLabSuite/Core/Media/List/Upload",["require","exports","tslib","../Upload","../../Core"],(function(e,t,i,n,o){"use strict";n=i.__importDefault(n),o=i.__importStar(o);class r extends n.default{_createButton(){super._createButton();const e=this._button.querySelector("span"),t=document.createTextNode(" ");e.insertBefore(t,e.childNodes[0]);const i=document.createElement("span");i.className="icon icon16 fa-upload",e.insertBefore(i,e.childNodes[0])}_getParameters(){return this._options.categoryId?o.extend(super._getParameters(),{categoryID:this._options.categoryId}):super._getParameters()}}return o.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Controller/Media/List",["require","exports","tslib","../../Media/List/Upload","../../Media/Clipboard","../../Event/Handler","../../Media/Editor","../../Dom/Change/Listener"],(function(e,t,i,n,o,r,a,s){"use strict";function l(){Array.from(d.getElementsByClassName("jsMediaEditButton")).forEach((e=>{e.classList.remove("jsMediaEditButton"),e.addEventListener("click",(e=>{return t=e,void c.edit(~~t.currentTarget.dataset.objectId);var t}))}))}Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,n=i.__importDefault(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importDefault(a),s=i.__importStar(s);const c=new a.default({_editorSuccess:(e,t,i=!0)=>{(e.categoryID!=t||i)&&window.setTimeout((()=>{window.location.reload()}),500)}}),d=document.getElementById("mediaListTableBody");let u;t.init=function(e){e=e||{},u=new n.default("uploadButton","mediaListTableBody",{categoryId:e.categoryId,multiple:!0,elementTagSize:48}),o.init("wcf\\acp\\page\\MediaListPage",e.hasMarkedItems||!1,{clipboardDeleteMedia:e=>function(e){Array.from(document.getElementsByClassName("jsMediaRow")).forEach((t=>{const i=~~t.querySelector(".jsClipboardItem").dataset.objectId;-1!==e.indexOf(i)&&t.remove()})),document.getElementsByClassName("jsMediaRow").length||window.location.reload()}(e)}),l(),s.add("WoltLabSuite/Core/Controller/Media/List",(()=>l())),r.add("com.woltlab.wcf.media.upload","success",(e=>function(e){if(e.upload===u&&!e.isMultiFileUpload&&!u.hasPendingUploads()){const t=Object.keys(e.media);t.length&&c.edit(e.media[t[0]])}}(e)))}})),define("WoltLabSuite/Core/Controller/Notice/Dismiss",["require","exports","tslib","../../Ajax"],(function(e,t,i,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,n=i.__importStar(n),t.setup=function(){document.querySelectorAll(".jsDismissNoticeButton").forEach((e=>{e.addEventListener("click",(e=>function(e){const t=e.currentTarget;n.apiOnce({data:{actionName:"dismiss",className:"wcf\\data\\notice\\NoticeAction",objectIDs:[t.dataset.objectId]},success:()=>{t.parentElement.remove()}})}(e)))}))}})),define("WoltLabSuite/Core/Devtools/Style/LiveReload",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.notify=t.watch=void 0;const i="com.woltlab.wcf#DevTools/Style/LiveReload";t.watch=function(){if(!window.BroadcastChannel)return;new BroadcastChannel(i).onmessage=e=>{const t=document.querySelector("head link[rel=stylesheet]");if(!t)return;const i=new URL(t.href);i.searchParams.set("m",Math.trunc(Date.now()/1e3).toString());const n=document.createElement("link");n.rel="stylesheet",n.addEventListener("load",(()=>{t.remove()})),n.addEventListener("error",(()=>{n.remove()})),n.href=i.toString(),t.insertAdjacentElement("afterend",n)}},t.notify=function(){if(!window.BroadcastChannel)return;new BroadcastChannel(i).postMessage(void 0)}})),define("WoltLabSuite/Core/Form/Builder/Data",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})})),define("WoltLabSuite/Core/Form/Builder/Field/Field",["require","exports","tslib","../../../Core"],(function(e,t,i,n){"use strict";n=i.__importStar(n);class o{constructor(e){this.init(e)}init(e){this._fieldId=e,this._readField()}_getData(){throw new Error("Missing implementation of WoltLabSuite/Core/Form/Builder/Field/Field._getData!")}_readField(){if(this._field=document.getElementById(this._fieldId),null===this._field)throw new Error("Unknown field with id '"+this._fieldId+"'.")}destroy(){}getData(){return Promise.resolve(this._getData())}getId(){return this._fieldId}}return n.enableLegacyInheritance(o),o})),define("WoltLabSuite/Core/Form/Builder/Field/Dependency/Manager",["require","exports","tslib","../../../../Dom/Util","../../../../Event/Handler"],(function(e,t,i,n,o){"use strict";function r(){!0!==h?(h=!0,p=!1,o.fire("com.woltlab.wcf.form.builder.dependency","checkContainers"),h=!1,p&&r()):p=!0}function a(){const e=[];d.forEach(((t,i)=>{const o=document.getElementById(i);if(null===o)return void e.push(i);let r=!0;var a;t.forEach((e=>{var t;e.checkDependency()||(t=o,n.default.hide(t),s.add(t),t.classList.contains("tabMenuContent")&&t.parentNode.querySelector(".tabMenu").querySelectorAll("li").forEach((e=>{e.dataset.name===t.dataset.name&&n.default.hide(e)})),t.querySelectorAll("[max], [maxlength], [min], [required]").forEach((e=>{const t=new Map,i=e.getAttribute("max");i&&(t.set("max",i),e.removeAttribute("max"));const n=e.getAttribute("maxlength");n&&(t.set("maxlength",n),e.removeAttribute("maxlength"));const o=e.getAttribute("min");o&&(t.set("min",o),e.removeAttribute("min")),e.required&&(t.set("required","true"),e.removeAttribute("required")),u.set(e,t)})),r=!1)})),r&&(a=o,n.default.show(a),s.delete(a),a.classList.contains("tabMenuContent")&&a.parentNode.querySelector(".tabMenu").querySelectorAll("li").forEach((e=>{e.dataset.name===a.dataset.name&&n.default.show(e)})),a.querySelectorAll("input, select").forEach((e=>{let t=e.parentNode;for(;t!==a&&!n.default.isHidden(t);)t=t.parentNode;if(t===a&&u.has(e)){const t=u.get(e);t.has("max")&&e.setAttribute("max",t.get("max")),t.has("maxlength")&&e.setAttribute("maxlength",t.get("maxlength")),t.has("min")&&e.setAttribute("min",t.get("min")),t.has("required")&&e.setAttribute("required",""),u.delete(e)}})))})),e.forEach((e=>d.delete(e))),r()}Object.defineProperty(t,"__esModule",{value:!0}),t.unregister=t.register=t.isHiddenByDependencies=t.checkDependencies=t.checkContainers=t.addDependency=t.addContainerCheckCallback=void 0,n=i.__importDefault(n),o=i.__importStar(o);const s=new Set,l=new Map,c=new WeakSet,d=new Map,u=new WeakMap;let h=!1,p=!0;t.addContainerCheckCallback=function(e){if("function"!=typeof e)throw new TypeError("Expected a valid callback for parameter 'callback'.");o.add("com.woltlab.wcf.form.builder.dependency","checkContainers",e)},t.addDependency=function(e){const t=e.getDependentNode();d.has(t.id)?d.get(t.id).push(e):d.set(t.id,[e]),e.getFields().forEach((e=>{const t=n.default.identify(e);l.has(t)||(l.set(t,e),"INPUT"!==e.tagName||"checkbox"!==e.type&&"radio"!==e.type&&"hidden"!==e.type?e.addEventListener("input",(()=>a())):e.addEventListener("change",(()=>a())))}))},t.checkContainers=r,t.checkDependencies=a,t.isHiddenByDependencies=function(e){if(s.has(e))return!0;let t=!1;return s.forEach((i=>{i.contains(e)&&(t=!0)})),t},t.register=function(e){const t=document.getElementById(e);if(null===t)throw new Error("Unknown element with id '"+e+"'");if(c.has(t))throw new Error("Form with id '"+e+"' has already been registered.");c.add(t)},t.unregister=function(e){const t=document.getElementById(e);if(null===t)throw new Error("Unknown element with id '"+e+"'");if(!c.has(t))throw new Error("Form with id '"+e+"' has not been registered.");c.delete(t),s.forEach((e=>{t.contains(e)&&s.delete(e)})),d.forEach(((e,i)=>{t.contains(document.getElementById(i))&&d.delete(i),e.forEach((e=>{e.getFields().forEach((e=>{l.delete(e.id),u.delete(e)}))}))}))}})),define("WoltLabSuite/Core/Form/Builder/Manager",["require","exports","tslib","../../Core","../../Event/Handler","./Field/Field","./Field/Dependency/Manager"],(function(e,t,i,n,o,r,a){"use strict";function s(e,t){if(!l(e))throw new Error("Unknown form with id '"+e+"'.");return c.get(e).has(t)}function l(e){return d.has(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.unregisterForm=t.registerForm=t.registerField=t.hasForm=t.hasField=t.getForm=t.getField=t.getData=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importStar(a);const c=new Map,d=new Map;t.getData=function(e){if(!l(e))throw new Error("Unknown form with id '"+e+"'.");const t=[];return c.get(e).forEach((e=>{const i=e.getData();if(!(i instanceof Promise))throw new TypeError("Data for field with id '"+e.getId()+"' is no promise.");t.push(i)})),Promise.all(t).then((e=>e.reduce(((e,t)=>n.extend(e,t)),{})))},t.getField=function(e,t){if(!s(e,t))throw new Error("Unknown field with id '"+e+"' for form with id '"+t+"'.");return c.get(e).get(t)},t.getForm=function(e){if(!l(e))throw new Error("Unknown form with id '"+e+"'.");return d.get(e)},t.hasField=s,t.hasForm=l,t.registerField=function(e,t){if(!l(e))throw new Error("Unknown form with id '"+e+"'.");if(!(t instanceof r.default))throw new Error("Add field is no instance of 'WoltLabSuite/Core/Form/Builder/Field/Field'.");const i=t.getId();if(s(e,i))throw new Error("Form field with id '"+i+"' has already been registered for form with id '"+e+"'.");c.get(e).set(i,t),o.fire("WoltLabSuite/Core/Form/Builder/Manager","registerField",{field:t,formId:e})},t.registerForm=function(e){if(l(e))throw new Error("Form with id '"+e+"' has already been registered.");const t=document.getElementById(e);if(null===t)throw new Error("Unknown form with id '"+e+"'.");d.set(e,t),c.set(e,new Map),o.fire("WoltLabSuite/Core/Form/Builder/Manager","registerForm",{formId:e})},t.unregisterForm=function(e){if(!l(e))throw new Error("Unknown form with id '"+e+"'.");o.fire("WoltLabSuite/Core/Form/Builder/Manager","beforeUnregisterForm",{formId:e}),d.delete(e),c.get(e).forEach((function(e){e.destroy()})),c.delete(e),a.unregister(e),o.fire("WoltLabSuite/Core/Form/Builder/Manager","afterUnregisterForm",{formId:e})}})),define("WoltLabSuite/Core/Form/Builder/Dialog",["require","exports","tslib","../../Core","../../Ui/Dialog","../../Ajax","./Manager"],(function(e,t,i,n,o,r,a){"use strict";n=i.__importStar(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importStar(a);class s{constructor(e,t,i,n){this.init(e,t,i,n)}init(e,t,i,o){this._dialogId=e,this._className=t,this._actionName=i,this._options=n.extend({actionParameters:{},destroyOnClose:!1,usesDboAction:/\w+\\data\\/.test(this._className)},o),this._options.dialog=n.extend(this._options.dialog||{},{onClose:()=>this._dialogOnClose()}),this._formId="",this._dialogContent=""}_ajaxSetup(){const e={data:{actionName:this._actionName,className:this._className,parameters:this._options.actionParameters}};return this._options.usesDboAction||(e.url="index.php?ajax-invoke/&t="+window.SECURITY_TOKEN,e.withCredentials=!0),e}_ajaxSuccess(e){switch(e.actionName){case this._actionName:if(void 0===e.returnValues)throw new Error("Missing return data.");!function(e){if(void 0===e.dialog)throw new Error("Missing dialog template in return data.");if(void 0===e.formId)throw new Error("Missing form id in return data.")}(e.returnValues),this._openDialogContent(e.returnValues.formId,e.returnValues.dialog);break;case this._options.submitActionName:if(e.returnValues&&(void 0!==(t=e.returnValues).dialog&&void 0!==t.formId)){if(e.returnValues.formId!==this._formId)throw new Error("Mismatch between form ids: expected '"+this._formId+"' but got '"+e.returnValues.formId+"'.");this._openDialogContent(e.returnValues.formId,e.returnValues.dialog)}else this.destroy(),"function"==typeof this._options.successCallback&&this._options.successCallback(e.returnValues||{});break;default:throw new Error("Cannot handle action '"+e.actionName+"'.")}var t}_closeDialog(){o.default.close(this),"function"==typeof this._options.closeCallback&&this._options.closeCallback()}_dialogOnClose(){this._options.destroyOnClose&&this.destroy()}_dialogSetup(){return{id:this._dialogId,options:this._options.dialog,source:this._dialogContent}}_dialogSubmit(){this.getData().then((e=>this._submitForm(e)))}_openDialogContent(e,t){this.destroy(!0),this._formId=e,this._dialogContent=t;const i=o.default.open(this,this._dialogContent),r=i.content.querySelector("button[data-type=cancel]");null===r||n.stringToBool(r.dataset.hasEventListener||"")||(r.addEventListener("click",(()=>this._closeDialog())),r.dataset.hasEventListener="1"),this._additionalSubmitButtons=Array.from(i.content.querySelectorAll(':not(.formSubmit) button[type="submit"]')),this._additionalSubmitButtons.forEach((e=>{e.addEventListener("click",(()=>{this._additionalSubmitButtons.forEach((t=>{t.dataset.isClicked=t===e?"1":"0"})),setTimeout((()=>o.default.submit(this._dialogId)),0)}))}))}_submitForm(e){const t=o.default.getDialog(this).content.querySelector("button[data-type=submit]");"function"==typeof this._options.onSubmit?this._options.onSubmit(e,t):"string"==typeof this._options.submitActionName&&(t.disabled=!0,this._additionalSubmitButtons.forEach((e=>e.disabled=!0)),r.api(this,{actionName:this._options.submitActionName,parameters:{data:e,formId:this._formId}}))}destroy(e=!1){""!==this._formId&&(a.hasForm(this._formId)&&a.unregisterForm(this._formId),!0!==e&&o.default.destroy(this))}getData(){if(""===this._formId)throw new Error("Form has not been requested yet.");return a.getData(this._formId)}open(){o.default.getDialog(this._dialogId)?o.default.open(this):r.api(this)}}return n.enableLegacyInheritance(s),s})),define("WoltLabSuite/Core/Media/Manager/Search",["require","exports","tslib","../../Dom/Traverse","../../Language","../../Ajax","../../Core","../../Dom/Util"],(function(e,t,i,n,o,r,a,s){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importDefault(s);class l{constructor(e){this._searchMode=!1,this._mediaManager=e;const t=e.getDialog();this._searchContainer=t.querySelector(".mediaManagerSearch"),this._input=t.querySelector(".mediaManagerSearchField"),this._input.addEventListener("keypress",(e=>this._keyPress(e))),this._cancelButton=t.querySelector(".mediaManagerSearchCancelButton"),this._cancelButton.addEventListener("click",(()=>this._cancelSearch()))}_ajaxSetup(){return{data:{actionName:"getSearchResultList",className:"wcf\\data\\media\\MediaAction",interfaceName:"wcf\\data\\ISearchAction"}}}_ajaxSuccess(e){this._mediaManager.setMedia(e.returnValues.media||{},e.returnValues.template||"",{pageCount:e.returnValues.pageCount||0,pageNo:e.returnValues.pageNo||0}),this._mediaManager.getDialog().querySelector(".dialogContent").scrollTop=0}_cancelSearch(){this._searchMode&&(this._searchMode=!1,this.resetSearch(),this._mediaManager.resetMedia())}_hideStringThresholdError(){const e=n.childByClass(this._input.parentNode.parentNode,"innerInfo");e&&s.default.hide(e)}_keyPress(e){"Enter"===e.key&&(e.preventDefault(),this._input.value.length>=this._mediaManager.getOption("minSearchLength")?(this._hideStringThresholdError(),this.search()):this._showStringThresholdError())}_showStringThresholdError(){let e=n.childByClass(this._input.parentNode.parentNode,"innerInfo");e?s.default.show(e):(e=document.createElement("p"),e.className="innerInfo",e.textContent=o.get("wcf.media.search.info.searchStringThreshold",{minSearchLength:this._mediaManager.getOption("minSearchLength")}),this._input.parentNode.insertAdjacentElement("afterend",e))}hideSearch(){s.default.hide(this._searchContainer)}resetSearch(){this._input.value=""}showSearch(){s.default.show(this._searchContainer)}search(e){"number"!=typeof e&&(e=1);let t=this._input.value;t&&this._input.value.length<this._mediaManager.getOption("minSearchLength")?(this._showStringThresholdError(),t=""):this._hideStringThresholdError(),this._searchMode=!0,r.api(this,{parameters:{categoryID:this._mediaManager.getCategoryId(),imagesOnly:this._mediaManager.getOption("imagesOnly"),mode:this._mediaManager.getMode(),pageNo:e,searchString:t}})}}return a.enableLegacyInheritance(l),l})),define("WoltLabSuite/Core/Media/Manager/Base",["require","exports","tslib","../../Core","../../Language","../../Permission","../../Dom/Change/Listener","../../Event/Handler","../../Dom/Traverse","../../Dom/Util","../../Ui/Dialog","../../Controller/Clipboard","../../Ui/Pagination","../../Ui/Notification","../../StringUtil","./Search","../Upload","../Editor","../Clipboard"],(function(e,t,i,n,o,r,a,s,l,c,d,u,h,p,m,f,g,b,_){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importStar(l),c=i.__importStar(c),d=i.__importStar(d),u=i.__importStar(u),h=i.__importDefault(h),p=i.__importStar(p),m=i.__importStar(m),f=i.__importDefault(f),g=i.__importDefault(g),b=i.__importDefault(b),_=i.__importStar(_);let v=0;class w{constructor(e){this._forceClipboard=!1,this._hadInitiallyMarkedItems=!1,this._listItems=new Map,this._media=new Map,this._mediaEditor=null,this._mediaManagerMediaList=null,this._pagination=null,this._search=null,this._upload=null,this._options=n.extend({dialogTitle:o.get("wcf.media.manager"),imagesOnly:!1,minSearchLength:3},e),this._id="mediaManager"+v++,r.get("admin.content.cms.canManageMedia")&&(this._mediaEditor=new b.default(this)),a.add("WoltLabSuite/Core/Media/Manager",(()=>this._addButtonEventListeners())),s.add("com.woltlab.wcf.media.upload","success",(e=>this._openEditorAfterUpload(e)))}_addButtonEventListeners(){this._mediaManagerMediaList&&r.get("admin.content.cms.canManageMedia")&&l.childrenByTag(this._mediaManagerMediaList,"LI").forEach((e=>{const t=e.querySelector(".jsMediaEditButton");t&&(t.classList.remove("jsMediaEditButton"),t.addEventListener("click",(e=>this._editMedia(e))))}))}_categoryChange(){this._search.search()}_click(e){e.preventDefault(),d.open(this)}_dialogClose(){(r.get("admin.content.cms.canManageMedia")||this._forceClipboard)&&u.hideEditor("com.woltlab.wcf.media")}_dialogInit(e,t){Object.entries(t.returnValues.media||{}).forEach((([e,t])=>{this._media.set(~~e,t)})),this._initPagination(~~t.returnValues.pageCount),this._hadInitiallyMarkedItems=t.returnValues.hasMarkedItems>0}_dialogSetup(){return{id:this._id,options:{onClose:()=>this._dialogClose(),onShow:()=>this._dialogShow(),title:this._options.dialogTitle},source:{after:(e,t)=>this._dialogInit(e,t),data:{actionName:"getManagementDialog",className:"wcf\\data\\media\\MediaAction",parameters:{mode:this.getMode(),imagesOnly:this._options.imagesOnly}}}}}_dialogShow(){if(!this._mediaManagerMediaList){const e=this.getDialog();this._mediaManagerMediaList=e.querySelector(".mediaManagerMediaList"),this._mediaCategorySelect=e.querySelector(".mediaManagerCategoryList > select"),this._mediaCategorySelect&&this._mediaCategorySelect.addEventListener("change",(()=>this._categoryChange()));const t=l.childrenByTag(this._mediaManagerMediaList,"LI");if(t.forEach((e=>{this._listItems.set(~~e.dataset.objectId,e)})),r.get("admin.content.cms.canManageMedia")){const e=d.getDialog(this).dialog.querySelector(".mediaManagerMediaUploadButton");this._upload=new g.default(c.identify(e),c.identify(this._mediaManagerMediaList),{mediaManager:this}),s.add("WoltLabSuite/Core/Ui/Object/Action","delete",(e=>this.removeMedia(~~e.objectElement.dataset.objectId)))}r.get("admin.content.cms.canManageMedia")||this._forceClipboard?_.init("menuManagerDialog-"+this.getMode(),!!this._hadInitiallyMarkedItems,this):this._removeClipboardCheckboxes(),this._search=new f.default(this),t.length||this._search.hideSearch()}(r.get("admin.content.cms.canManageMedia")||this._forceClipboard)&&u.showEditor()}_editMedia(e){if(!r.get("admin.content.cms.canManageMedia"))throw new Error("You are not allowed to edit media files.");d.close(this);const t=e.currentTarget;this._mediaEditor.edit(this._media.get(~~t.dataset.objectId))}_editorClose(){d.open(this)}_editorSuccess(e,t,i=!0){if(this._mediaCategorySelect){const i=~~this._mediaCategorySelect.value;if(i){const n=~~e.categoryID;t==n||t!=i&&n!=i||this._search.search()}}i&&d.open(this),this._media.set(~~e.mediaID,e);const n=this._listItems.get(~~e.mediaID),o=n.querySelector(".mediaTitle");e.isMultilingual?e.title&&e.title[window.LANGUAGE_ID]?o.textContent=e.title[window.LANGUAGE_ID]:o.textContent=e.filename:e.title&&e.title[e.languageID]?o.textContent=e.title[e.languageID]:o.textContent=e.filename;const r=n.querySelector(".mediaThumbnail");r.innerHTML=e.elementTag;const a=r.querySelector("img");a&&(a.src+=`&refresh=${Date.now()}`)}_initPagination(e,t){if(void 0===t&&(t=1),e>1){const i=document.createElement("div");i.className="paginationBottom jsPagination",c.replaceElement(d.getDialog(this).content.querySelector(".jsPagination"),i),this._pagination=new h.default(i,{activePage:t,callbackSwitch:e=>this._search.search(e),maxPage:e})}else this._pagination&&c.hide(this._pagination.getElement())}_removeClipboardCheckboxes(){this._mediaManagerMediaList.querySelectorAll(".mediaCheckbox").forEach((e=>e.remove()))}_openEditorAfterUpload(e){if(e.upload===this._upload&&!e.isMultiFileUpload&&!this._upload.hasPendingUploads()){const t=Object.keys(e.media);t.length&&(d.close(this),this._mediaEditor.edit(this._media.get(~~e.media[t[0]].mediaID)))}}_setMedia(e){this._media=new Map(Object.entries(e).map((([e,t])=>[~~e,t])));let t=l.nextByClass(this._mediaManagerMediaList,"info");this._media.size?t&&c.hide(t):(null===t&&(t=document.createElement("p"),t.className="info",t.textContent=o.get("wcf.media.search.noResults")),c.show(t),c.insertAfter(t,this._mediaManagerMediaList)),l.childrenByTag(this._mediaManagerMediaList,"LI").forEach((e=>{this._media.has(~~e.dataset.objectId)?c.show(e):c.hide(e)})),a.trigger(),r.get("admin.content.cms.canManageMedia")||this._forceClipboard?u.reload():this._removeClipboardCheckboxes()}addMedia(e,t){e.languageID||(e.isMultilingual=1),this._media.set(~~e.mediaID,e),this._listItems.set(~~e.mediaID,t),1===this._listItems.size&&this._search.showSearch()}clipboardDeleteMedia(e){e.forEach((e=>{this.removeMedia(~~e)})),p.show()}getCategoryId(){return this._mediaCategorySelect?~~this._mediaCategorySelect.value:0}getDialog(){return d.getDialog(this).dialog}getMode(){return""}getOption(e){return this._options[e]?this._options[e]:null}removeMedia(e){if(this._listItems.has(e)){try{this._listItems.get(e).remove()}catch(e){}this._listItems.delete(e),this._media.delete(e)}}resetMedia(){this._search.search()}setMedia(e,t,i){if(Object.entries(e).length>0){const e=document.createElement("ul");e.innerHTML=t,l.childrenByTag(e,"LI").forEach((e=>{this._listItems.has(~~e.dataset.objectId)||(this._listItems.set(~~e.dataset.objectId,e),this._mediaManagerMediaList.appendChild(e))}))}this._initPagination(i.pageCount,i.pageNo),this._setMedia(e)}setupMediaElement(e,t){const i=l.childByClass(t,"mediaInformation"),a=document.createElement("nav");a.className="jsMobileNavigation buttonGroupNavigation",i.parentNode.appendChild(a);const s=document.createElement("ul");s.className="buttonList iconList",a.appendChild(s);const c=document.createElement("li");c.className="mediaCheckbox",s.appendChild(c);const d=document.createElement("a");c.appendChild(d);const u=document.createElement("label");d.appendChild(u);const h=document.createElement("input");if(h.className="jsClipboardItem",h.type="checkbox",h.dataset.objectId=e.mediaID.toString(),u.appendChild(h),r.get("admin.content.cms.canManageMedia")){const t=document.createElement("li");t.className="jsMediaEditButton",t.dataset.objectId=e.mediaID.toString(),s.appendChild(t),t.innerHTML=`\n <a>\n <span class="icon icon16 fa-pencil jsTooltip" title="${o.get("wcf.global.button.edit")}"></span>\n <span class="invisible">${o.get("wcf.global.button.edit")}</span>\n </a>`;const i=document.createElement("li");i.classList.add("jsObjectAction"),i.dataset.objectAction="delete";const r=n.getUuid();i.dataset.confirmMessage=m.unescapeHTML(o.get("wcf.media.delete.confirmMessage",{title:r})).replace(r,m.escapeHTML(e.filename)),s.appendChild(i),i.innerHTML=`\n <a>\n <span class="icon icon16 fa-times jsTooltip" title="${o.get("wcf.global.button.delete")}"></span>\n <span class="invisible">${o.get("wcf.global.button.delete")}</span>\n </a>`}}}return n.enableLegacyInheritance(w),w})),define("WoltLabSuite/Core/Media/Manager/Editor",["require","exports","tslib","./Base","../../Core","../../Event/Handler","../../Dom/Traverse","../../Language","../../Ui/Dialog","../../Controller/Clipboard","../../Dom/Util"],(function(e,t,i,n,o,r,a,s,l,c,d){"use strict";n=i.__importDefault(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importStar(l),c=i.__importStar(c),d=i.__importDefault(d);class u extends n.default{constructor(e){super(e=o.extend({callbackInsert:null},e)),this._forceClipboard=!0,this._activeButton=null;const t=this._options.editor?this._options.editor.core.toolbar()[0]:void 0;if(this._buttons=(t||window.document).getElementsByClassName(this._options.buttonClass||"jsMediaEditorButton"),Array.from(this._buttons).forEach((e=>{e.addEventListener("click",(e=>this._click(e)))})),this._mediaToInsert=new Map,this._mediaToInsertByClipboard=!1,this._uploadData=null,this._uploadId=null,this._options.editor&&!this._options.editor.opts.woltlab.attachments){const e=this._options.editor.$editor[0].dataset.elementId,t=r.add("com.woltlab.wcf.redactor2",`dragAndDrop_${e}`,(e=>this._editorUpload(e))),i=r.add("com.woltlab.wcf.redactor2",`pasteFromClipboard_${e}`,(e=>this._editorUpload(e)));r.add("com.woltlab.wcf.redactor2",`destroy_${e}`,(()=>{r.remove("com.woltlab.wcf.redactor2",`dragAndDrop_${e}`,t),r.remove("com.woltlab.wcf.redactor2",`dragAndDrop_${e}`,i)})),r.add("com.woltlab.wcf.media.upload","success",(e=>this._mediaUploaded(e)))}}_addButtonEventListeners(){super._addButtonEventListeners(),this._mediaManagerMediaList&&a.childrenByTag(this._mediaManagerMediaList,"LI").forEach((e=>{const t=e.querySelector(".jsMediaInsertButton");t&&(t.classList.remove("jsMediaInsertButton"),t.addEventListener("click",(e=>this._openInsertDialog(e))))}))}_buildInsertDialog(){let e="";this._getThumbnailSizes().forEach((t=>{e+='<option value="'+t+'">'+s.get("wcf.media.insert.imageSize."+t)+"</option>"})),e+='<option value="original">'+s.get("wcf.media.insert.imageSize.original")+"</option>";const t=`\n <div class="section">\n <dl class="thumbnailSizeSelection">\n <dt>${s.get("wcf.media.insert.imageSize")}</dt>\n <dd>\n <select name="thumbnailSize">\n ${e}\n </select>\n </dd>\n </dl>\n </div>\n <div class="formSubmit">\n <button class="buttonPrimary">${s.get("wcf.global.button.insert")}</button>\n </div>`;l.open({_dialogSetup:()=>({id:this._getInsertDialogId(),options:{onClose:()=>this._editorClose(),onSetup:e=>{e.querySelector(".buttonPrimary").addEventListener("click",(e=>this._insertMedia(e))),d.default.show(e.querySelector(".thumbnailSizeSelection"))},title:s.get("wcf.media.insert")},source:t})})}_click(e){this._activeButton=e.currentTarget,super._click(e)}_dialogShow(){if(super._dialogShow(),this._uploadData){const e=this._uploadData;if(e.file)this._upload.uploadFile(e.file);else{const e=this._uploadData;this._uploadId=this._upload.uploadBlob(e.blob)}this._uploadData=null}}_editorUpload(e){this._uploadData=e,l.open(this)}_getInsertDialogId(){return["mediaInsert",...this._mediaToInsert.keys()].join("-")}_getThumbnailSizes(){return["small","medium","large"].map((e=>Array.from(this._mediaToInsert.values()).every((t=>null!==t[e+"ThumbnailType"]))?e:null)).filter((e=>null!==e))}_insertMedia(e,t,i=!1){if(void 0===i&&(i=!0),e){l.close(this._getInsertDialogId());const i=e.currentTarget.closest(".dialogContent").querySelector("select[name=thumbnailSize]");t=i.value}null!==this._options.callbackInsert?this._options.callbackInsert(this._mediaToInsert,"separate",t):(this._options.editor.buffer.set(),this._mediaToInsert.forEach((e=>this._insertMediaItem(t,e)))),this._mediaToInsertByClipboard&&c.unmark("com.woltlab.wcf.media",Array.from(this._mediaToInsert.keys())),this._mediaToInsert=new Map,this._mediaToInsertByClipboard=!1,i&&l.close(this)}_insertMediaItem(e,t){if(t.isImage){let i="";["small","medium","large","original"].some((n=>0!=t[n+"ThumbnailHeight"]&&(i=n,e==n))),(e=i)||(e="original");let n=t.link;"original"!==e&&(n=t[e+"ThumbnailLink"]),this._options.editor.insert.html(`<img src="${n}" class="woltlabSuiteMedia" data-media-id="${t.mediaID}" data-media-size="${e}">`)}else this._options.editor.insert.text(`[wsm='${t.mediaID}'][/wsm]`)}_mediaUploaded(e){null!==this._uploadId&&this._upload===e.upload&&(this._uploadId===e.uploadId||Array.isArray(this._uploadId)&&-1!==this._uploadId.indexOf(e.uploadId))&&(this._mediaToInsert=new Map(e.media.entries()),this._insertMedia(null,"medium",!1),this._uploadId=null)}_openInsertDialog(e){const t=e.currentTarget;this.insertMedia([~~t.dataset.objectId])}clipboardInsertMedia(e){this.insertMedia(e,!0)}insertMedia(e,t){this._mediaToInsert=new Map,this._mediaToInsertByClipboard=t||!1;let i=!0;if(e.forEach((e=>{const t=this._media.get(e);this._mediaToInsert.set(t.mediaID,t),t.isImage||(i=!1)})),i){if(this._getThumbnailSizes().length){l.close(this);const e=this._getInsertDialogId();l.getDialog(e)?l.openStatic(e,null):this._buildInsertDialog()}else this._insertMedia(void 0,"original")}else this._insertMedia()}getMode(){return"editor"}setupMediaElement(e,t){super.setupMediaElement(e,t);const i=t.querySelector("nav.buttonGroupNavigation > ul"),n=document.createElement("li");n.className="jsMediaInsertButton",n.dataset.objectId=e.mediaID.toString(),i.appendChild(n),n.innerHTML=`\n <a>\n <span class="icon icon16 fa-plus jsTooltip" title="${s.get("wcf.global.button.insert")}"></span>\n <span class="invisible">${s.get("wcf.global.button.insert")}</span>\n </a>`}}return o.enableLegacyInheritance(u),u})),define("WoltLabSuite/Core/Media/Manager/Select",["require","exports","tslib","./Base","../../Core","../../Dom/Traverse","../../FileUtil","../../Language","../../Ui/Dialog","../../Dom/Util"],(function(e,t,i,n,o,r,a,s,l,c){"use strict";n=i.__importDefault(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importStar(l),c=i.__importDefault(c);class d extends n.default{constructor(e){super(e),this._activeButton=null,this._storeElements=new WeakMap,this._buttons=document.getElementsByClassName(this._options.buttonClass||"jsMediaSelectButton"),Array.from(this._buttons).forEach((e=>{const t=e.dataset.store;if(t){const i=document.getElementById(t);if(i&&"INPUT"===i.tagName){e.addEventListener("click",(e=>this._click(e))),this._storeElements.set(e,i);const t=document.createElement("p");t.className="button",e.insertAdjacentElement("afterend",t);const n=document.createElement("span");n.className="icon icon16 fa-times",t.appendChild(n),i.value||c.default.hide(t),t.addEventListener("click",(e=>this._removeMedia(e)))}}}))}_addButtonEventListeners(){super._addButtonEventListeners(),this._mediaManagerMediaList&&r.childrenByTag(this._mediaManagerMediaList,"LI").forEach((e=>{const t=e.querySelector(".jsMediaSelectButton");t&&(t.classList.remove("jsMediaSelectButton"),t.addEventListener("click",(e=>this._chooseMedia(e))))}))}_chooseMedia(e){if(null===this._activeButton)throw new Error("Media cannot be chosen if no button is active.");const t=e.currentTarget,i=this._media.get(~~t.dataset.objectId),n=document.getElementById(this._activeButton.dataset.store);n.value=i.mediaID.toString(),o.triggerEvent(n,"change");const r=this._activeButton.dataset.display;if(r){const e=document.getElementById(r);if(e)if(i.isImage){const t=i.smallThumbnailLink?i.smallThumbnailLink:i.link,n=i.altText&&i.altText[window.LANGUAGE_ID]?i.altText[window.LANGUAGE_ID]:"";e.innerHTML=`<img src="${t}" alt="${n}" />`}else{let t=a.getIconNameByFilename(i.filename);t&&(t="-"+t),e.innerHTML=`\n <div class="box48" style="margin-bottom: 10px;">\n <span class="icon icon48 fa-file${t}-o"></span>\n <div class="containerHeadline">\n <h3>${i.filename}</h3>\n <p>${i.formattedFilesize}</p>\n </div>\n </div>`}}this._activeButton.nextElementSibling.style.removeProperty("display"),l.close(this)}_click(e){if(e.preventDefault(),this._activeButton=e.currentTarget,super._click(e),!this._mediaManagerMediaList)return;const t=this._storeElements.get(this._activeButton);r.childrenByTag(this._mediaManagerMediaList,"LI").forEach((e=>{t.value&&t.value==e.dataset.objectId?e.classList.add("jsSelected"):e.classList.remove("jsSelected")}))}getMode(){return"select"}setupMediaElement(e,t){super.setupMediaElement(e,t);const i=t.querySelector("nav.buttonGroupNavigation > ul"),n=document.createElement("li");n.className="jsMediaSelectButton",n.dataset.objectId=e.mediaID.toString(),i.appendChild(n),n.innerHTML='<a><span class="icon icon16 fa-check jsTooltip" title="'+s.get("wcf.media.button.select")+'"></span> <span class="invisible">'+s.get("wcf.media.button.select")+"</span></a>"}_removeMedia(e){e.preventDefault();const t=e.currentTarget,i=t.previousElementSibling;t.remove();const n=document.getElementById(i.dataset.store);n.value="",o.triggerEvent(n,"change");const r=i.dataset.display;if(r){const e=document.getElementById(r);e&&(e.innerHTML="")}}}return o.enableLegacyInheritance(d),d})),define("WoltLabSuite/Core/Ui/Search/Input",["require","exports","tslib","../../Ajax","../../Core","../../Dom/Util","../Dropdown/Simple"],(function(e,t,i,n,o,r,a){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importDefault(a);class s{constructor(e,t){if(this.activeItem=void 0,this.callbackDropdownInit=void 0,this.callbackSelect=void 0,this.dropdownContainerId="",this.excludedSearchValues=new Set,this.list=void 0,this.lastValue="",this.request=void 0,this.timerDelay=void 0,this.element=e,!(this.element instanceof HTMLInputElement))throw new TypeError("Expected a valid DOM element.");if("INPUT"!==this.element.nodeName||"search"!==this.element.type&&"text"!==this.element.type)throw new Error('Expected an input[type="text"].');t=o.extend({ajax:{actionName:"getSearchResultList",className:"",interfaceName:"wcf\\data\\ISearchAction"},autoFocus:!0,callbackDropdownInit:void 0,callbackSelect:void 0,delay:500,excludedSearchValues:[],minLength:3,noResultPlaceholder:"",preventSubmit:!1},t),this.ajaxPayload=t.ajax,this.autoFocus=t.autoFocus,this.callbackDropdownInit=t.callbackDropdownInit,this.callbackSelect=t.callbackSelect,this.delay=t.delay,t.excludedSearchValues.forEach((e=>{this.addExcludedSearchValues(e)})),this.minLength=t.minLength,this.noResultPlaceholder=t.noResultPlaceholder,this.preventSubmit=t.preventSubmit,this.element.autocomplete="off",this.element.addEventListener("keydown",(e=>this.keydown(e))),this.element.addEventListener("keyup",(e=>this.keyup(e)))}addExcludedSearchValues(e){this.excludedSearchValues.add(e)}removeExcludedSearchValues(e){this.excludedSearchValues.delete(e)}keydown(e){(null!==this.activeItem&&a.default.isOpen(this.dropdownContainerId)||this.preventSubmit)&&"Enter"===e.key&&e.preventDefault(),["ArrowUp","ArrowDown","Escape"].includes(e.key)&&e.preventDefault()}keyup(e){if(null!==this.activeItem||!this.autoFocus)if(a.default.isOpen(this.dropdownContainerId)){if("ArrowUp"===e.key)return e.preventDefault(),this.keyboardPreviousItem();if("ArrowDown"===e.key)return e.preventDefault(),this.keyboardNextItem();if("Enter"===e.key)return e.preventDefault(),this.keyboardSelectItem()}else this.activeItem=void 0;if("Escape"===e.key)return void a.default.close(this.dropdownContainerId);const t=this.element.value.trim();this.lastValue!==t&&(this.lastValue=t,t.length<this.minLength?this.dropdownContainerId&&(a.default.close(this.dropdownContainerId),this.activeItem=void 0):this.delay?(this.timerDelay&&window.clearTimeout(this.timerDelay),this.timerDelay=window.setTimeout((()=>{this.search(t)}),this.delay)):this.search(t))}search(e){this.request&&this.request.abortPrevious(),this.request=n.api(this,this.getParameters(e))}getParameters(e){return{parameters:{data:{excludedSearchValues:this.excludedSearchValues,searchString:e}}}}keyboardNextItem(){let e;this.activeItem&&(this.activeItem.classList.remove("active"),this.activeItem.nextElementSibling&&(e=this.activeItem.nextElementSibling)),this.activeItem=e||this.list.children[0],this.activeItem.classList.add("active")}keyboardPreviousItem(){let e;this.activeItem&&(this.activeItem.classList.remove("active"),this.activeItem.previousElementSibling&&(e=this.activeItem.previousElementSibling)),this.activeItem=e||this.list.children[this.list.childElementCount-1],this.activeItem.classList.add("active")}keyboardSelectItem(){this.selectItem(this.activeItem)}clickSelectItem(e){this.selectItem(e.currentTarget)}selectItem(e){this.callbackSelect&&!this.callbackSelect(e)?this.element.value="":this.element.value=e.dataset.label||"",this.activeItem=void 0,a.default.close(this.dropdownContainerId)}_ajaxSuccess(e){let t=!1;if(this.list?this.list.innerHTML="":(this.list=document.createElement("ul"),this.list.className="dropdownMenu",t=!0,"function"==typeof this.callbackDropdownInit&&this.callbackDropdownInit(this.list)),"object"==typeof e.returnValues){const t=this.clickSelectItem.bind(this);Object.keys(e.returnValues).forEach((i=>{const n=this.createListItem(e.returnValues[i]);n.addEventListener("click",t),this.list.appendChild(n)}))}if(t){this.element.insertAdjacentElement("afterend",this.list);const e=this.element.parentElement;a.default.initFragment(e,this.list),this.dropdownContainerId=r.default.identify(e)}if(this.dropdownContainerId)if(this.activeItem=void 0,this.list.childElementCount||this.handleEmptyResult()){a.default.open(this.dropdownContainerId,!0,this.element);const e=this.list.childElementCount?this.list.children[0]:void 0;this.autoFocus&&e&&~~(e.dataset.objectId||"")&&(this.activeItem=e,this.activeItem.classList.add("active"))}else a.default.close(this.dropdownContainerId)}handleEmptyResult(){if(!this.noResultPlaceholder)return!1;const e=document.createElement("li");e.className="dropdownText";const t=document.createElement("span");return t.textContent=this.noResultPlaceholder,e.appendChild(t),this.list.appendChild(e),!0}createListItem(e){const t=document.createElement("li");t.dataset.objectId=e.objectID.toString(),t.dataset.label=e.label;const i=document.createElement("span");return i.textContent=e.label,t.appendChild(i),t}_ajaxSetup(){return{data:this.ajaxPayload}}}return o.enableLegacyInheritance(s),s})),define("WoltLabSuite/Core/Ui/User/Search/Input",["require","exports","tslib","../../../Core","../../Search/Input"],(function(e,t,i,n,o){"use strict";n=i.__importStar(n),o=i.__importDefault(o);class r extends o.default{constructor(e,t){const i=n.isPlainObject(t)&&!0===t.includeUserGroups;super(e,t=n.extend({ajax:{className:"wcf\\data\\user\\UserAction",parameters:{data:{includeUserGroups:i?1:0}}}},t))}createListItem(e){const t=super.createListItem(e);t.dataset.type=e.type;const i=document.createElement("div");return i.className="box16",i.innerHTML="group"===e.type?'<span class="icon icon16 fa-users"></span>':e.icon,i.appendChild(t.children[0]),t.appendChild(i),t}}return n.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Ui/Acl/Simple",["require","exports","tslib","../../Core","../../Language","../../StringUtil","../../Dom/Change/Listener","../../Dom/Util","../User/Search/Input"],(function(e,t,i,n,o,r,a,s,l){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importDefault(a),s=i.__importDefault(s),l=i.__importDefault(l);class c{constructor(e,t){this.prefix=e||"",this.inputName=t||"aclValues";const i=document.getElementById(this.prefix+"aclInputContainer"),n=document.getElementById(this.prefix+"invertPermissionsDl");document.getElementById(this.prefix+"aclAllowAll").addEventListener("change",(()=>{s.default.hide(i),n&&s.default.hide(n)}));document.getElementById(this.prefix+"aclAllowAll_no").addEventListener("change",(()=>{s.default.show(i),n&&s.default.show(n)})),this.list=document.getElementById(this.prefix+"aclAccessList"),this.list.addEventListener("click",this.removeItem.bind(this));const o=[];this.list.querySelectorAll(".aclLabel").forEach((e=>{o.push(e.textContent)})),this.searchInput=new l.default(document.getElementById(this.prefix+"aclSearchInput"),{callbackSelect:this.select.bind(this),includeUserGroups:!0,excludedSearchValues:o,preventSubmit:!0}),this.aclListContainer=document.getElementById(this.prefix+"aclListContainer");const r=document.getElementById(this.prefix+"invertPermissions");r&&r.addEventListener("change",(()=>{this.invertPermissions(!0)}));const c=document.getElementById(this.prefix+"invertPermissions_no");c&&c.addEventListener("change",(()=>{this.invertPermissions(!1)}));const d=document.getElementById(this.prefix+"invertPermissions");d&&this.invertPermissions(!!d.value),a.default.trigger()}select(e){const t=e.dataset.type,i=e.dataset.label,n=e.dataset.objectId,l=`<span class="icon icon16 fa-${"group"===t?"users":"user"}"></span>\n <span class="aclLabel">${r.escapeHTML(i)}</span>\n <span class="icon icon16 fa-times pointer jsTooltip" title="${o.get("wcf.global.button.delete")}"></span>\n <input type="hidden" name="${this.inputName}[${t}][]" value="${n}">`,c=document.createElement("li");c.innerHTML=l;const d=this.list.querySelector(".fa-user");return null===d?this.list.appendChild(c):this.list.insertBefore(c,d.parentNode),s.default.show(this.aclListContainer),this.searchInput.addExcludedSearchValues(i),a.default.trigger(),!1}removeItem(e){const t=e.target;if(t.classList.contains("fa-times")){const e=t.parentElement,i=e.querySelector(".aclLabel");this.searchInput.removeExcludedSearchValues(i.textContent),e.remove(),0===this.list.childElementCount&&s.default.hide(this.aclListContainer)}}invertPermissions(e){const t=document.getElementById(this.prefix+"aclListContainerDt"),i=document.getElementById(this.prefix+"aclSearchInputLabel");t.textContent=o.get(e?"wcf.acl.access.denied":"wcf.acl.access.granted"),i.textContent=o.get(e?"wcf.acl.access.deny":"wcf.acl.access.grant")}}return n.enableLegacyInheritance(c),c})),define("WoltLabSuite/Core/Ui/Article/MarkAllAsRead",["require","exports","tslib","../../Ajax"],(function(e,t,i,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,n=i.__importStar(n);class o{constructor(){document.querySelectorAll(".markAllAsReadButton").forEach((e=>{e.addEventListener("click",this.click.bind(this))}))}click(e){e.preventDefault(),n.api(this)}_ajaxSuccess(){const e=document.querySelector(".mainMenu .active .badge");e&&e.remove(),document.querySelectorAll(".articleList .newMessageBadge").forEach((e=>e.remove()))}_ajaxSetup(){return{data:{actionName:"markAllAsRead",className:"wcf\\data\\article\\ArticleAction"}}}}t.init=function(){new o}})),define("WoltLabSuite/Core/Ui/Article/Search",["require","exports","tslib","../../Ajax","../../Dom/Util","../../Language","../../StringUtil","../Dialog"],(function(e,t,i,n,o,r,a,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.open=void 0,n=i.__importStar(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importDefault(s);class l{constructor(){this.callbackSelect=void 0,this.resultContainer=void 0,this.resultList=void 0,this.searchInput=void 0}open(e){this.callbackSelect=e,s.default.open(this)}search(e){e.preventDefault();const t=this.searchInput.parentElement,i=this.searchInput.value.trim();i.length<3?o.default.innerError(t,r.get("wcf.article.search.error.tooShort")):(o.default.innerError(t,!1),n.api(this,{parameters:{searchString:i}}))}click(e){e.preventDefault();const t=e.currentTarget;this.callbackSelect(+t.dataset.articleId),s.default.close(this)}_ajaxSuccess(e){const t=e.returnValues.map((e=>`<li>\n <div class="containerHeadline pointer" data-article-id="${e.articleID}">\n <h3>${a.escapeHTML(e.name)}</h3>\n <small>${a.escapeHTML(e.displayLink)}</small>\n </div>\n </li>`)).join("");if(this.resultList.innerHTML=t,t?o.default.show(this.resultList):o.default.hide(this.resultList),t)this.resultList.querySelectorAll(".containerHeadline").forEach((e=>{e.addEventListener("click",this.click.bind(this))}));else{const e=this.searchInput.parentElement;o.default.innerError(e,r.get("wcf.article.search.error.noResults"))}}_ajaxSetup(){return{data:{actionName:"search",className:"wcf\\data\\article\\ArticleAction"}}}_dialogSetup(){return{id:"wcfUiArticleSearch",options:{onSetup:()=>{this.searchInput=document.getElementById("wcfUiArticleSearchInput"),this.searchInput.addEventListener("keydown",(e=>{"Enter"===e.key&&this.search(e)}));this.searchInput.nextElementSibling.addEventListener("click",this.search.bind(this)),this.resultContainer=document.getElementById("wcfUiArticleSearchResultContainer"),this.resultList=document.getElementById("wcfUiArticleSearchResultList")},onShow:()=>{this.searchInput.focus()},title:r.get("wcf.article.search")},source:`<div class="section">\n <dl>\n <dt>\n <label for="wcfUiArticleSearchInput">${r.get("wcf.article.search.name")}</label>\n </dt>\n <dd>\n <div class="inputAddon">\n <input type="text" id="wcfUiArticleSearchInput" class="long">\n <a href="#" class="inputSuffix"><span class="icon icon16 fa-search"></span></a>\n </div>\n </dd>\n </dl>\n </div>\n <section id="wcfUiArticleSearchResultContainer" class="section" style="display: none;">\n <header class="sectionHeader">\n <h2 class="sectionTitle">${r.get("wcf.article.search.results")}</h2>\n </header>\n <ol id="wcfUiArticleSearchResultList" class="containerList"></ol>\n </section>`}}}let c;t.open=function(e){(c||(c=new l),c).open(e)}})),define("WoltLabSuite/Core/Ui/Color/Picker",["require","exports","tslib","../../Core"],(function(e,t,i,n){"use strict";n=i.__importStar(n);let o=(e,t)=>{if("object"==typeof window.WCF&&"function"==typeof window.WCF.ColorPicker)return o=(e,t)=>{const i=new window.WCF.ColorPicker(e);return"function"==typeof t.callbackSubmit&&i.setCallbackSubmit(t.callbackSubmit),i},o(e,t);0===r.length&&(window.__wcf_bc_colorPickerInit=()=>{r.forEach((e=>{o(e[0],e[1])})),window.__wcf_bc_colorPickerInit=void 0,r=[]}),r.push([e,t])},r=[];class a{constructor(e,t){if(!(e instanceof Element))throw new TypeError("Expected a valid DOM element, use `UiColorPicker.fromSelector()` if you want to use a CSS selector.");t=n.extend({callbackSubmit:null},t||{}),o(e,t)}static fromSelector(e){document.querySelectorAll(e).forEach((e=>{new a(e)}))}}return n.enableLegacyInheritance(a),a})),define("WoltLabSuite/Core/Ui/Comment/Add",["require","exports","tslib","../../Ajax","../../Controller/Captcha","../../Core","../../Dom/Change/Listener","../../Dom/Util","../../Event/Handler","../../Language","../Dialog","../Scroll","../../User","../Notification"],(function(e,t,i,n,o,r,a,s,l,c,d,u,h,p){"use strict";n=i.__importStar(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importDefault(a),s=i.__importDefault(s),l=i.__importStar(l),c=i.__importStar(c),d=i.__importDefault(d),u=i.__importStar(u),h=i.__importDefault(h),p=i.__importStar(p);class m{constructor(e){this._editor=null,this._loadingOverlay=null,this._container=e,this._content=this._container.querySelector(".jsOuterEditorContainer"),this._textarea=this._container.querySelector(".wysiwygTextarea"),this._content.addEventListener("click",(e=>{this._content.classList.contains("collapsed")&&(e.preventDefault(),this._content.classList.remove("collapsed"),this._focusEditor())}));this._container.querySelector('button[data-type="save"]').addEventListener("click",(e=>this._submit(e)))}_focusEditor(){u.element(this._container,(()=>{window.jQuery(this._textarea).redactor("WoltLabCaret.endOfEditor")}))}_submitGuestDialog(e){if(e instanceof KeyboardEvent&&"Enter"!==e.key)return;const t=e.currentTarget.closest(".dialogContent").querySelector("input[name=username]");if(""===t.value)return s.default.innerError(t,c.get("wcf.global.form.error.empty")),void t.closest("dl").classList.add("formError");let i={parameters:{data:{username:t.value}}};if(o.default.has("commentAdd")){const e=o.default.getData("commentAdd");e instanceof Promise?e.then((e=>{i=r.extend(i,e),this._submit(void 0,i)})):(i=r.extend(i,e),this._submit(void 0,i))}else this._submit(void 0,i)}_submit(e,t){if(e&&e.preventDefault(),!this._validate())return;this._showLoadingOverlay();const i=this._getParameters();l.fire("com.woltlab.wcf.redactor2","submit_text",i.data),h.default.userId||t||(i.requireGuestDialog=!0),n.api(this,r.extend({parameters:i},t))}_getParameters(){const e=this._container.closest(".commentList");return{data:{message:this._getEditor().code.get(),objectID:~~e.dataset.objectId,objectTypeID:~~e.dataset.objectTypeId}}}_validate(){if(this._container.querySelectorAll(".innerError").forEach((e=>e.remove())),this._getEditor().utils.isEmpty())return this.throwError(this._textarea,c.get("wcf.global.form.error.empty")),!1;const e={api:this,editor:this._getEditor(),message:this._getEditor().code.get(),valid:!0};return l.fire("com.woltlab.wcf.redactor2","validate_text",e),e.valid}throwError(e,t){s.default.innerError(e,"empty"===t?c.get("wcf.global.form.error.empty"):t)}_showLoadingOverlay(){null===this._loadingOverlay&&(this._loadingOverlay=document.createElement("div"),this._loadingOverlay.className="commentLoadingOverlay",this._loadingOverlay.innerHTML='<span class="icon icon96 fa-spinner"></span>'),this._content.classList.add("loading"),this._content.appendChild(this._loadingOverlay)}_hideLoadingOverlay(){this._content.classList.remove("loading");const e=this._content.querySelector(".commentLoadingOverlay");null!==e&&e.remove()}_reset(){this._getEditor().code.set("<p></p>"),l.fire("com.woltlab.wcf.redactor2","reset_text"),document.activeElement instanceof HTMLElement&&document.activeElement.blur(),this._content.classList.add("collapsed")}_handleError(e){this.throwError(this._textarea,e.returnValues.errorType)}_getEditor(){if(null===this._editor){if("function"!=typeof window.jQuery)throw new Error("Unable to access editor, jQuery has not been loaded yet.");this._editor=window.jQuery(this._textarea).data("redactor")}return this._editor}_insertMessage(e){return s.default.insertHtml(e.returnValues.template,this._container,"after"),p.show(c.get("wcf.global.success.add")),a.default.trigger(),this._container.nextElementSibling}_ajaxSuccess(e){if(!h.default.userId&&e.returnValues.guestDialog){d.default.openStatic("jsDialogGuestComment",e.returnValues.guestDialog,{closable:!1,onClose:()=>{o.default.has("commentAdd")&&o.default.delete("commentAdd")},title:c.get("wcf.global.confirmation.title")});const t=d.default.getDialog("jsDialogGuestComment");t.content.querySelector("input[type=submit]").addEventListener("click",(e=>this._submitGuestDialog(e)));t.content.querySelector('button[data-type="cancel"]').addEventListener("click",(()=>this._cancelGuestDialog()));t.content.querySelector("input[type=text]").addEventListener("keypress",(e=>this._submitGuestDialog(e)))}else{const t=this._insertMessage(e);h.default.userId||d.default.close("jsDialogGuestComment"),this._reset(),this._hideLoadingOverlay(),window.setTimeout((()=>{u.element(t)}),100)}}_ajaxFailure(e){return this._hideLoadingOverlay(),null===e||void 0===e.returnValues||void 0===e.returnValues.errorType||(this._handleError(e),!1)}_ajaxSetup(){return{data:{actionName:"addComment",className:"wcf\\data\\comment\\CommentAction"},silent:!0}}_cancelGuestDialog(){d.default.close("jsDialogGuestComment"),this._hideLoadingOverlay()}}return r.enableLegacyInheritance(m),m})),define("WoltLabSuite/Core/Ui/Comment/Edit",["require","exports","tslib","../../Ajax","../../Core","../../Dom/Change/Listener","../../Dom/Util","../../Environment","../../Event/Handler","../../Language","../Scroll","../Notification"],(function(e,t,i,n,o,r,a,s,l,c,d,u){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importDefault(a),s=i.__importStar(s),l=i.__importStar(l),c=i.__importStar(c),d=i.__importStar(d),u=i.__importStar(u);class h{constructor(e){this._activeElement=null,this._comments=new WeakSet,this._editorContainer=null,this._container=e,this.rebuild(),r.default.add("Ui/Comment/Edit_"+a.default.identify(this._container),this.rebuild.bind(this))}rebuild(){this._container.querySelectorAll(".comment").forEach((e=>{if(!this._comments.has(e)){if(o.stringToBool(e.dataset.canEdit||"")){const t=e.querySelector(".jsCommentEditButton");null!==t&&t.addEventListener("click",(e=>this._click(e)))}this._comments.add(e)}}))}_click(e){if(e.preventDefault(),null===this._activeElement){const t=e.currentTarget;this._activeElement=t.closest(".comment"),this._prepare(),n.api(this,{actionName:"beginEdit",objectIDs:[this._getObjectId(this._activeElement)]})}else u.show("wcf.message.error.editorAlreadyInUse",null,"warning")}_prepare(){this._editorContainer=document.createElement("div"),this._editorContainer.className="commentEditorContainer",this._editorContainer.innerHTML='<span class="icon icon48 fa-spinner"></span>';const e=this._activeElement.querySelector(".commentContentContainer");e.insertBefore(this._editorContainer,e.firstChild)}_showEditor(e){const t=this._getEditorId(),i=this._editorContainer;i.querySelector(".icon").remove();const n=document.createElement("div");n.className="editorContainer",a.default.setInnerHtml(n,e.returnValues.template),i.appendChild(n);const o=i.querySelector(".formSubmit");o.querySelector('button[data-type="save"]').addEventListener("click",(()=>this._save()));o.querySelector('button[data-type="cancel"]').addEventListener("click",(()=>this._restoreMessage())),l.add("com.woltlab.wcf.redactor",`submitEditor_${t}`,(e=>{e.cancel=!0,this._save()}));const r=document.getElementById(t);"redactor"===s.editor()?window.setTimeout((()=>{d.element(this._activeElement)}),250):r.focus()}_restoreMessage(){this._destroyEditor(),this._editorContainer.remove(),this._activeElement=null}_save(){const e={data:{message:""}},t=this._getEditorId();l.fire("com.woltlab.wcf.redactor2",`getText_${t}`,e.data),this._validate(e)&&(l.fire("com.woltlab.wcf.redactor2",`submit_${t}`,e),n.api(this,{actionName:"save",objectIDs:[this._getObjectId(this._activeElement)],parameters:e}),this._hideEditor())}_validate(e){this._activeElement.querySelectorAll(".innerError").forEach((e=>e.remove()));const t=document.getElementById(this._getEditorId());if(window.jQuery(t).data("redactor").utils.isEmpty())return this.throwError(t,c.get("wcf.global.form.error.empty")),!1;const i={api:this,parameters:e,valid:!0};return l.fire("com.woltlab.wcf.redactor2","validate_"+this._getEditorId(),i),i.valid}throwError(e,t){a.default.innerError(e,t)}_showMessage(e){const t=this._editorContainer.parentElement.querySelector(".commentContent .userMessage");a.default.setInnerHtml(t,e.returnValues.message),this._restoreMessage(),u.show()}_hideEditor(){const e=this._editorContainer.querySelector(".editorContainer");a.default.hide(e);const t=document.createElement("span");t.className="icon icon48 fa-spinner",this._editorContainer.appendChild(t)}_restoreEditor(){this._editorContainer.querySelector(".fa-spinner").remove();const e=this._editorContainer.querySelector(".editorContainer");null!==e&&a.default.show(e)}_destroyEditor(){l.fire("com.woltlab.wcf.redactor2",`autosaveDestroy_${this._getEditorId()}`),l.fire("com.woltlab.wcf.redactor2",`destroy_${this._getEditorId()}`)}_getEditorId(){return`commentEditor${this._getObjectId(this._activeElement)}`}_getObjectId(e){return~~e.dataset.objectId}_ajaxFailure(e){const t=this._editorContainer.querySelector(".redactor-layer");return null===t?(this._restoreMessage(),!0):(this._restoreEditor(),!e||void 0===e.returnValues||void 0===e.returnValues.errorType||(a.default.innerError(t,e.returnValues.errorType),!1))}_ajaxSuccess(e){switch(e.actionName){case"beginEdit":this._showEditor(e);break;case"save":this._showMessage(e)}}_ajaxSetup(){return{data:{className:"wcf\\data\\comment\\CommentAction",parameters:{data:{objectTypeID:~~this._container.dataset.objectTypeId}}},silent:!0}}}return o.enableLegacyInheritance(h),h})),define("WoltLabSuite/Core/Ui/Dialog/Data",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})})),define("WoltLabSuite/Core/Ui/Dropdown/Builder",["require","exports","tslib","../../Core","./Simple"],(function(e,t,i,n,o){"use strict";function r(e){if(!(e instanceof HTMLUListElement))throw new TypeError("Expected a reference to an <ul> element.");if(!e.classList.contains("dropdownMenu"))throw new Error("List does not appear to be a dropdown menu.")}function a(e){const t=document.createElement("li");if("divider"===e)return t.className="dropdownDivider",t;"string"==typeof e.identifier&&(t.dataset.identifier=e.identifier);const i=document.createElement("a");if(i.href="string"==typeof e.href?e.href:"#","function"==typeof e.callback)i.addEventListener("click",(t=>{t.preventDefault(),e.callback(i)}));else if("#"===i.href)throw new Error("Expected either a `href` value or a `callback`.");if(e.attributes&&n.isPlainObject(e.attributes)&&Object.keys(e.attributes).forEach((t=>{const n=e.attributes[t];if("string"!=typeof n)throw new Error("Expected only string values.");-1!==t.indexOf("-")?i.setAttribute(`data-${t}`,n):i.dataset[t]=n})),t.appendChild(i),void 0!==e.icon&&n.isPlainObject(e.icon)){if("string"!=typeof e.icon.name)throw new TypeError("Expected a valid icon name.");let t=16;"number"==typeof e.icon.size&&-1!==c.indexOf(~~e.icon.size)&&(t=~~e.icon.size);const n=document.createElement("span");n.className=`icon icon${t} fa-${e.icon.name}`,i.appendChild(n)}const o="string"==typeof e.label?e.label.trim():"",r="string"==typeof e.labelHtml?e.labelHtml.trim():"";if(""===o&&""===r)throw new TypeError("Expected either a label or a `labelHtml`.");const a=document.createElement("span");return a[o?"textContent":"innerHTML"]=o||r,i.appendChild(document.createTextNode(" ")),i.appendChild(a),t}function s(e,t){r(e),e.appendChild(a(t))}function l(e,t){if(r(e),!Array.isArray(t))throw new TypeError("Expected an array of items.");const i=t.length;if(0===i)throw new Error("Expected a non-empty list of items.");if(1===i)s(e,t[0]);else{const i=document.createDocumentFragment();t.forEach((e=>{i.appendChild(a(e))})),e.appendChild(i)}}Object.defineProperty(t,"__esModule",{value:!0}),t.divider=t.attach=t.setItems=t.appendItems=t.appendItem=t.buildItem=t.create=void 0,n=i.__importStar(n),o=i.__importDefault(o);const c=[16,24,32,48,64,96,144];t.create=function(e,t){const i=document.createElement("ul");return i.className="dropdownMenu","string"==typeof t&&(i.dataset.identifier=t),Array.isArray(e)&&e.length>0&&l(i,e),i},t.buildItem=function(e){return a(e)},t.appendItem=s,t.appendItems=l,t.setItems=function(e,t){r(e),e.innerHTML="",l(e,t)},t.attach=function(e,t){r(e),o.default.initFragment(t,e),t.addEventListener("click",(e=>{e.preventDefault(),e.stopPropagation(),o.default.toggleDropdown(t.id)}))},t.divider=function(){return"divider"}})),define("WoltLabSuite/Core/Ui/Dropdown/Data",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})})),define("WoltLabSuite/Core/Ui/File/Data",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})})),define("WoltLabSuite/Core/Ui/File/Delete",["require","exports","tslib","../../Ajax","../../Core","../../Dom/Change/Listener","../../Language"],(function(e,t,i,n,o,r,a){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importStar(a);class s{constructor(e,t,i,n){this.containers=new Map,this.deleteButton=void 0,this.isSingleImagePreview=i,this.uploadHandler=n;const o=document.getElementById(e);if(null===o)throw new Error(`Element id '${e}' is unknown.`);this.buttonContainer=o;const r=document.getElementById(t);if(null===r)throw new Error(`Element id '${t}' is unknown.`);this.target=r;const a=this.target.dataset.internalId;if(!a)throw new Error("InternalId is unknown.");this.internalId=a,this.rebuild()}createButtons(){let e=!1;this.target.querySelectorAll("li.uploadedFile").forEach((t=>{const i=t.dataset.uniqueFileId;if(this.containers.has(i))return;const n={uniqueFileId:i,element:t};this.containers.set(i,n),this.initDeleteButton(t,n),e=!0})),e&&r.default.trigger()}initDeleteButton(e,t){const i=e.querySelector(".buttonGroup");if(null===i)throw new Error(`Button group in '${this.target.id}' is unknown.`);const n=document.createElement("li"),o=document.createElement("span");o.className="button jsDeleteButton small",o.textContent=a.get("wcf.global.button.delete"),n.appendChild(o),i.appendChild(n),n.addEventListener("click",this.deleteElement.bind(this,t.uniqueFileId))}deleteElement(e){n.api(this,{uniqueFileId:e,internalId:this.internalId})}rebuild(){if(!this.isSingleImagePreview)return void this.createButtons();const e=this.target.querySelector("img");if(null!==e){const t=e.dataset.uniqueFileId;if(!this.containers.has(t)){const i={uniqueFileId:t,element:e};this.containers.set(t,i),this.deleteButton=document.createElement("p"),this.deleteButton.className="button deleteButton";const n=document.createElement("span");n.textContent=a.get("wcf.global.button.delete"),this.deleteButton.appendChild(n),this.buttonContainer.appendChild(this.deleteButton),this.deleteButton.addEventListener("click",this.deleteElement.bind(this,i.uniqueFileId))}}}_ajaxSuccess(e){this.containers.get(e.uniqueFileId).element.remove(),this.isSingleImagePreview&&this.deleteButton&&(this.deleteButton.remove(),this.deleteButton=void 0),this.uploadHandler.checkMaxFiles(),o.triggerEvent(this.target,"change")}_ajaxSetup(){return{url:"index.php?ajax-file-delete/&t="+window.SECURITY_TOKEN}}}return o.enableLegacyInheritance(s),s})),define("WoltLabSuite/Core/Ui/File/Upload",["require","exports","tslib","../../Core","./Delete","../../Dom/Util","../../Language","../../Upload"],(function(e,t,i,n,o,r,a,s){"use strict";n=i.__importStar(n),o=i.__importDefault(o),r=i.__importDefault(r),a=i.__importStar(a),s=i.__importDefault(s);class l extends s.default{constructor(e,t,i){if(void 0===(i=i||{}).internalId)throw new Error("Missing internal id.");(i=n.extend({imagePreview:!1,maxFiles:null,className:"invalid",url:`index.php?ajax-file-upload/&t=${window.SECURITY_TOKEN}`},i)).multiple=null===i.maxFiles||i.maxFiles>1,super(e,t,i),this.checkMaxFiles(),this._deleteHandler=new o.default(e,t,this._options.imagePreview,this)}_createFileElement(e){const t=super._createFileElement(e);t.classList.add("box64","uploadedFile");const i=t.querySelector("progress"),n=document.createElement("span");n.className="icon icon64 fa-spinner";const o=t.textContent;t.textContent="",t.append(n);const r=document.createElement("div"),a=document.createElement("p");a.textContent=o;const s=document.createElement("small");s.appendChild(i),r.appendChild(a),r.appendChild(s);const l=document.createElement("div");l.appendChild(r);const c=document.createElement("ul");return c.className="buttonGroup",l.appendChild(c),t.append(l),t}_failure(e,t){throw this._fileElements[e].forEach((e=>{e.classList.add("uploadFailed");const t=e.querySelector("small");t.innerHTML="";const i=e.querySelector(".icon");i.classList.remove("fa-spinner"),i.classList.add("fa-ban");const n=document.createElement("span");n.className="innerError",n.textContent=a.get("wcf.upload.error.uploadFailed"),t.insertAdjacentElement("afterend",n)})),new Error(`Upload failed: ${t.message}`)}_upload(e,t,i){const n=this._buttonContainer.parentElement.querySelector("small.innerError:not(.innerFileError)");return n&&n.remove(),super._upload(e,t,i)}_success(e,t){this._fileElements[e].forEach(((i,n)=>{if(void 0!==t.files[n]){const e=t.files[n];if(this._options.imagePreview){if(null===e.image)throw new Error("Expect image for uploaded file. None given.");i.remove();const t=this._target.querySelector("img.previewImage");if(null!==t)t.src=e.image;else{const t=document.createElement("img");t.classList.add("previewImage"),t.src=e.image,t.style.setProperty("max-width","100%",""),t.dataset.uniqueFileId=e.uniqueFileId,this._target.appendChild(t)}}else{i.dataset.uniqueFileId=e.uniqueFileId,i.querySelector("small").textContent=e.filesize.toString();const t=i.querySelector(".icon");t.classList.remove("fa-spinner"),t.classList.add(`fa-${e.icon}`)}}else{if(void 0===t.error[n])throw new Error(`Unknown uploaded file for uploadId ${e}.`);{const e=t.error[n];i.classList.add("uploadFailed");const o=i.querySelector("small");o.innerHTML="";const r=i.querySelector(".icon");r.classList.remove("fa-spinner"),r.classList.add("fa-ban");let a=i.querySelector(".innerError");null===a?(a=document.createElement("span"),a.className="innerError",a.textContent=e.errorMessage,o.insertAdjacentElement("afterend",a)):a.textContent=e.errorMessage}}})),this._deleteHandler.rebuild(),this.checkMaxFiles(),n.triggerEvent(this._target,"change")}_getFormData(){return{internalId:this._options.internalId}}validateUpload(e){if(null===this._options.maxFiles||e.length+this.countFiles()<=this._options.maxFiles)return!0;{let e=this._buttonContainer.parentElement.querySelector("small.innerError:not(.innerFileError)");return null===e&&(e=document.createElement("small"),e.className="innerError",this._buttonContainer.insertAdjacentElement("afterend",e)),e.textContent=a.get("wcf.upload.error.reachedRemainingLimit",{maxFiles:this._options.maxFiles-this.countFiles()}),!1}}countFiles(){return this._options.imagePreview?null!==this._target.querySelector("img")?1:0:this._target.childElementCount}checkMaxFiles(){null!==this._options.maxFiles&&this.countFiles()>=this._options.maxFiles?r.default.hide(this._button):r.default.show(this._button)}}return n.enableLegacyInheritance(l),l})),define("WoltLabSuite/Core/Ui/ItemList/Filter",["require","exports","tslib","../../Core","../../Dom/Util","../../Language","../../StringUtil","../Dropdown/Simple"],(function(e,t,i,n,o,r,a,s){"use strict";n=i.__importStar(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importDefault(s);class l{constructor(e,t){this._dropdownId="",this._dropdown=void 0,this._fragment=void 0,this._items=new Set,this._value="",this._options=n.extend({callbackPrepareItem:void 0,enableVisibilityFilter:!0,filterPosition:"bottom"},t),"top"!==this._options.filterPosition&&(this._options.filterPosition="bottom");const i=document.getElementById(e);if(null===i)throw new Error("Expected a valid element id, '"+e+"' does not match anything.");if(!i.classList.contains("scrollableCheckboxList")&&"function"!=typeof this._options.callbackPrepareItem)throw new Error("Filter only works with elements with the CSS class 'scrollableCheckboxList'.");"function"!=typeof this._options.callbackPrepareItem&&(this._options.callbackPrepareItem=e=>this._prepareItem(e)),i.dataset.filter="showAll";const o=document.createElement("div");o.className="itemListFilter",i.insertAdjacentElement("beforebegin",o),o.appendChild(i);const a=document.createElement("div");a.className="inputAddon";const s=document.createElement("input");s.className="long",s.type="text",s.placeholder=r.get("wcf.global.filter.placeholder"),s.addEventListener("keydown",(e=>{"Enter"===e.key&&e.preventDefault()})),s.addEventListener("keyup",(()=>this._keyup()));const l=document.createElement("a");if(l.href="#",l.className="button inputSuffix jsTooltip",l.title=r.get("wcf.global.filter.button.clear"),l.innerHTML='<span class="icon icon16 fa-times"></span>',l.addEventListener("click",(e=>{e.preventDefault(),this.reset()})),a.appendChild(s),a.appendChild(l),this._options.enableVisibilityFilter){const e=document.createElement("a");e.href="#",e.className="button inputSuffix jsTooltip",e.title=r.get("wcf.global.filter.button.visibility"),e.innerHTML='<span class="icon icon16 fa-eye"></span>',e.addEventListener("click",(e=>this._toggleVisibility(e))),a.appendChild(e)}"bottom"===this._options.filterPosition?o.appendChild(a):o.insertBefore(a,i),this._container=o,this._element=i,this._input=s}reset(){this._input.value="",this._keyup()}_buildItems(){this._items.clear(),Array.from(this._element.children).forEach((e=>{this._items.add(this._options.callbackPrepareItem(e))}))}_prepareItem(e){const t=e.children[0],i=t.textContent.trim(),n=t.children[0];for(;n.nextSibling;)t.removeChild(n.nextSibling);t.appendChild(document.createTextNode(" "));const o=document.createElement("span");return o.textContent=i,t.appendChild(o),{item:e,span:o,text:i}}_keyup(){const e=this._input.value.trim();if(this._value===e)return;this._fragment||(this._fragment=document.createDocumentFragment(),this._element.style.setProperty("height",`${this._element.offsetHeight}px`,"")),this._fragment.appendChild(this._element),this._items.size||this._buildItems();const t=new RegExp("("+a.escapeRegExp(e)+")","i");let i=""===e;this._items.forEach((n=>{""===e?(n.span.textContent=n.text,o.default.show(n.item)):t.test(n.text)?(n.span.innerHTML=n.text.replace(t,"<u>$1</u>"),o.default.show(n.item),i=!0):o.default.hide(n.item)})),"bottom"===this._options.filterPosition?this._container.insertAdjacentElement("afterbegin",this._element):this._container.insertAdjacentElement("beforeend",this._element),this._value=e,o.default.innerError(this._container,!i&&r.get("wcf.global.filter.error.noMatches"))}_toggleVisibility(e){e.preventDefault(),e.stopPropagation();const t=e.currentTarget;if(!this._dropdown){const e=document.createElement("ul");e.className="dropdownMenu",["activeOnly","highlightActive","showAll"].forEach((t=>{const i=document.createElement("a");i.dataset.type=t,i.href="#",i.textContent=r.get(`wcf.global.filter.visibility.${t}`),i.addEventListener("click",(e=>this._setVisibility(e)));const n=document.createElement("li");if(n.appendChild(i),"showAll"===t){n.className="active";const t=document.createElement("li");t.className="dropdownDivider",e.appendChild(t)}e.appendChild(n)})),s.default.initFragment(t,e),this._setupVisibilityFilter(),this._dropdown=e,this._dropdownId=t.id}s.default.toggleDropdown(t.id,t)}_setupVisibilityFilter(){const e=this._element.nextSibling,t=this._element.parentElement,i=this._element.scrollTop;document.createDocumentFragment().appendChild(this._element),this._element.querySelectorAll("li").forEach((e=>{const t=e.querySelector('input[type="checkbox"]');if(t)t.checked&&e.classList.add("active"),t.addEventListener("change",(()=>{t.checked?e.classList.add("active"):e.classList.remove("active")}));else{const t=e.querySelector('input[type="radio"]');t&&(t.checked&&e.classList.add("active"),t.addEventListener("change",(()=>{this._element.querySelectorAll("li").forEach((e=>e.classList.remove("active"))),t.checked?e.classList.add("active"):e.classList.remove("active")})))}})),t.insertBefore(this._element,e),this._element.scrollTop=i}_setVisibility(e){e.preventDefault();const t=e.currentTarget,i=t.dataset.type;if(s.default.close(this._dropdownId),this._element.dataset.filter===i)return;this._element.dataset.filter=i;this._dropdown.querySelector(".active").classList.remove("active"),t.parentElement.classList.add("active");const n=document.getElementById(this._dropdownId);"showAll"===i?n.classList.remove("active"):n.classList.add("active");const o=n.querySelector(".icon");"showAll"===i?(o.classList.add("fa-eye"),o.classList.remove("fa-eye-slash")):(o.classList.remove("fa-eye"),o.classList.add("fa-eye-slash"))}}return n.enableLegacyInheritance(l),l})),define("WoltLabSuite/Core/Ui/ItemList/LineBreakSeparatedText",["require","exports","tslib","../Confirmation","../../Language","../../Dom/Util"],(function(e,t,i,n,o,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UiItemListLineBreakSeparatedText=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r);class a{constructor(e,t={}){if(this.addButton=void 0,this.clearButton=void 0,this.itemInput=void 0,this.items=new Set,this.submitField=void 0,this.uiDisabled=!1,this.itemList=e,this.options=t,!this.options.submitFieldName){const e=this.itemList.nextElementSibling;if(!(e instanceof HTMLInputElement&&"hidden"===e.type))throw new Error("Missing `submitFieldName` option");this.submitField=e}this.itemList.closest("form").addEventListener("submit",(()=>this.submit())),this.mutationObserver=new MutationObserver((e=>{e.forEach((e=>{if("readonly"===e.attributeName){e.target.readOnly?this.disableUi():this.enableUi()}}))})),this.initValues(),this.buildUi()}addItem(e){if(e.preventDefault(),this.uiDisabled)return;const t=this.itemInput,i=t.value.trim();""===i?r.default.innerError(t.parentElement,o.get("wcf.global.form.error.empty")):this.items.has(i)?r.default.innerError(t.parentElement,o.get("wcf.acp.option.type.lineBreakSeparatedText.error.duplicate",{item:i}),!0):(this.insertItem(i),this.resetInput()),t.focus()}buildUi(){const e=document.createElement("div");e.classList.add("itemListFilter"),this.itemList.insertAdjacentElement("beforebegin",e),e.appendChild(this.itemList);const t=document.createElement("div");t.classList.add("inputAddon"),e.appendChild(t),this.itemInput=document.createElement("input"),this.itemInput.classList.add("long"),this.itemInput.type="text",this.itemInput.placeholder=o.get("wcf.acp.option.type.lineBreakSeparatedText.placeholder"),this.itemInput.addEventListener("keydown",(e=>this.keydown(e))),this.itemInput.addEventListener("paste",(e=>this.paste(e))),t.appendChild(this.itemInput),this.mutationObserver.observe(this.itemInput,{attributes:!0}),this.addButton=document.createElement("a"),this.addButton.href="#",this.addButton.classList.add("button","inputSuffix","jsTooltip"),this.addButton.title=o.get("wcf.global.button.add"),this.addButton.innerHTML='<span class="icon icon16 fa-plus"></span>',this.addButton.addEventListener("click",(e=>this.addItem(e))),t.appendChild(this.addButton),this.clearButton=document.createElement("a"),this.clearButton.href="#",this.clearButton.classList.add("button","inputSuffix","jsTooltip"),this.clearButton.title=o.get("wcf.global.button.delete"),this.clearButton.innerHTML='<span class="icon icon16 fa-times"></span>',this.clearButton.addEventListener("click",(e=>this.clearList(e))),t.appendChild(this.clearButton),0===this.items.size&&r.default.hide(this.clearButton)}clearList(e){e.preventDefault(),this.uiDisabled||n.show({confirm:()=>{this.itemList.innerHTML="",this.items.clear(),this.hideList()},message:o.get("wcf.acp.option.type.lineBreakSeparatedText.clearList.confirmMessage"),messageIsHtml:!0})}deleteItem(e){if(this.uiDisabled)return;const t=e.currentTarget,i=t.closest("li").dataset.value;n.show({confirm:()=>{t.closest("li").remove(),0===this.itemList.childElementCount&&this.hideList(),this.items.delete(i)},message:o.get("wcf.button.delete.confirmMessage",{objectTitle:i}),messageIsHtml:!0})}disableUi(){this.addButton.classList.add("disabled"),this.clearButton.classList.add("disabled"),this.itemList.querySelectorAll(".jsDeleteItem").forEach((e=>e.classList.add("disabled"))),this.uiDisabled=!0}enableUi(){this.addButton.classList.remove("disabled"),this.clearButton.classList.remove("disabled"),this.itemList.querySelectorAll(".jsDeleteItem").forEach((e=>e.classList.remove("disabled"))),this.uiDisabled=!1}hideList(){r.default.hide(this.itemList),r.default.hide(this.clearButton)}initValues(){Array.from(this.itemList.children).forEach((e=>{this.items.add(e.dataset.value),e.querySelector(".jsDeleteItem").addEventListener("click",(e=>this.deleteItem(e)))}))}insertItem(e){this.items.add(e);const t=document.createElement("li");t.dataset.value=e;const i=document.createElement("span");i.classList.add("icon","icon16","fa-times","jsDeleteItem","jsTooltip","pointer"),i.title=o.get("wcf.global.button.delete"),i.addEventListener("click",(e=>this.deleteItem(e))),t.append(i),t.append(document.createTextNode(" "));const n=document.createElement("span");n.innerText=e,t.append(n);const r=Array.from(this.itemList.children).find((t=>t.dataset.value>e));r?this.itemList.insertBefore(t,r):this.itemList.append(t),this.showList()}keydown(e){"Enter"===e.key&&this.addItem(e)}paste(e){if(this.uiDisabled)return;const t=e.clipboardData.getData("text/plain").split("\n");t.length>1&&(e.preventDefault(),t.forEach((e=>this.insertItem(e))),this.resetInput())}resetInput(){r.default.innerError(this.itemInput.parentElement,""),this.itemInput.value=""}showList(){r.default.show(this.itemList),r.default.show(this.clearButton)}submit(){const e=Array.from(this.items).join("\n");if(this.submitField)this.submitField.value=e;else{const t=document.createElement("input");t.type="hidden",t.name=this.options.submitFieldName,t.value=e,this.itemList.parentElement.append(t)}}}t.UiItemListLineBreakSeparatedText=a,t.default=a})),define("WoltLabSuite/Core/Ui/ItemList/Static",["require","exports","tslib","../../Core","../../Dom/Traverse","../../Language","../Dropdown/Simple"],(function(e,t,i,n,o,r,a){"use strict";function s(e,t){const i=document.createElement("ol");i.className="inputItemList"+(e.disabled?" disabled":""),i.dataset.elementId=e.id,i.addEventListener("click",(t=>{t.target===i&&e.focus()}));const n=document.createElement("li");let o;n.className="input",i.appendChild(n),e.addEventListener("keydown",(e=>function(e){const t=e.currentTarget,i=t.parentElement.previousElementSibling;"Backspace"===e.key?0===t.value.length&&null!==i&&(i.classList.contains("active")?d(i):i.classList.add("active")):"Escape"===e.key&&null!==i&&i.classList.contains("active")&&i.classList.remove("active")}(e))),e.addEventListener("keypress",(e=>function(e){if("Enter"===e.key||"Comma"===e.key){e.preventDefault();const t=e.currentTarget,i=t.value.trim();i.length&&c(t.id,{objectId:0,value:i})}}(e))),e.addEventListener("keyup",(e=>function(e){const t=e.currentTarget;if(t.value.length>0){const e=t.parentElement.previousElementSibling;null!==e&&e.classList.remove("active")}}(e))),e.addEventListener("paste",(e=>function(e){const t=e.currentTarget;e.clipboardData.getData("text/plain").split(",").map((e=>e.trim())).filter((e=>e.length>0)).forEach((e=>{c(t.id,{objectId:0,value:e})})),e.preventDefault()}(e))),e.addEventListener("blur",(e=>function(e){const t=e.currentTarget;window.setTimeout((()=>{const e=t.value.trim();e.length&&c(t.id,{objectId:0,value:e})}),100)}(e))),e.insertAdjacentElement("beforebegin",i),n.appendChild(e),-1!==t.maxLength&&(e.maxLength=t.maxLength);let r=[];if(t.isCSV&&(o=document.createElement("input"),o.className="itemListInputShadow",o.type="hidden",o.name=e.name,e.removeAttribute("name"),i.insertAdjacentElement("beforebegin",o),r=e.value.split(",").map((e=>e.trim())).filter((e=>e.length>0)),"TEXTAREA"===e.nodeName)){const t=document.createElement("input");t.type="text",e.parentElement.insertBefore(t,e),t.id=e.id,e.remove(),e=t}return{element:e,list:i,shadow:o,values:r}}function l(e){const t=p.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,t.element.placeholder=r.get("wcf.global.form.input.maxItems")))}function c(e,t,i){const n=p.get(e),o=document.createElement("li");o.className="item";const r=document.createElement("span");if(r.className="content",r.dataset.objectId=t.objectId.toString(),r.textContent=t.value,o.appendChild(r),i||!n.element.disabled){const e=document.createElement("a");e.className="icon icon16 fa-times",e.addEventListener("click",(e=>d(e))),o.appendChild(e)}n.list.insertBefore(o,n.listItem),n.element.value="",n.element.disabled||l(e);let a=u(n);"function"==typeof n.options.callbackChange&&(null===a&&(a=h(e)),n.options.callbackChange(e,a))}function d(e,t){e instanceof Event&&(e=e.currentTarget.parentElement);const i=e.parentElement.dataset.elementId,n=p.get(i);e.remove(),t||n.element.focus(),l(i);let o=u(n);"function"==typeof n.options.callbackChange&&(null===o&&(o=h(i)),n.options.callbackChange(i,o))}function u(e){if(!e.options.isCSV)return null;const t=h(e.element.id);return e.shadow.value=t.map((e=>e.value)).join(","),t}function h(e){if(!p.has(e))throw new Error(`Element id '${e}' is unknown.`);const t=p.get(e),i=[];return t.list.querySelectorAll(".item > span").forEach((e=>{i.push({objectId:~~e.dataset.objectId,value:e.textContent})})),i}Object.defineProperty(t,"__esModule",{value:!0}),t.setValues=t.getValues=t.init=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importDefault(a);const p=new Map;t.init=function(e,t,i){const r=document.getElementById(e);if(null===r)throw new Error("Expected a valid element id, '"+e+"' is invalid.");if(p.has(e)){const t=p.get(e);Object.values(t).forEach((e=>{e instanceof HTMLElement&&e.parentElement&&e.remove()})),a.default.destroy(e),p.delete(e)}const l=n.extend({maxItems:-1,maxLength:-1,isCSV:!1,callbackChange:null,callbackSubmit:null,submitFieldName:""},i),d=o.parentByTag(r,"FORM");if(null!==d&&!l.isCSV){if(!l.submitFieldName.length&&"function"!=typeof l.callbackSubmit)throw new Error("Expected a valid function for option 'callbackSubmit', a non-empty value for option 'submitFieldName' or enabling the option 'submitFieldCSV'.");d.addEventListener("submit",(()=>{const t=h(e);l.submitFieldName.length?t.forEach((e=>{const t=document.createElement("input");t.type="hidden",t.name=l.submitFieldName.replace("{$objectId}",e.objectId.toString()),t.value=e.value,d.appendChild(t)})):l.callbackSubmit(d,t)}))}const u=s(r,l);if(p.set(e,{dropdownMenu:null,element:u.element,list:u.list,listItem:u.element.parentElement,options:l,shadow:u.shadow}),t=u.values.length?u.values:t,Array.isArray(t)){const i=!u.element.disabled;t.forEach((t=>{"string"==typeof t&&(t={objectId:0,value:t}),c(e,t,i)}))}},t.getValues=h,t.setValues=function(e,t){if(!p.has(e))throw new Error(`Element id '${e}' is unknown.`);const i=p.get(e);o.childrenByClass(i.list,"item").forEach((e=>d(e,!0))),t.forEach((t=>c(e,t)))}})),define("WoltLabSuite/Core/Ui/ItemList/User",["require","exports","tslib","../ItemList"],(function(e,t,i,n){"use strict";function o(e){const t=r(e.element.id),i=[],n=[];t.forEach((e=>{e.type&&"group"===e.type?n.push(e.objectId):i.push(e.value)}));const o=e.shadow;return o.value=i.join(","),e._shadowGroups||(e._shadowGroups=document.createElement("input"),e._shadowGroups.type="hidden",e._shadowGroups.name=`${o.name}GroupIDs`,o.insertAdjacentElement("beforebegin",e._shadowGroups)),e._shadowGroups.value=n.join(","),t}function r(e){return n.getValues(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.getValues=t.init=void 0,n=i.__importStar(n),t.init=function(e,t){n.init(e,[],{ajax:{className:"wcf\\data\\user\\UserAction",parameters:{data:{includeUserGroups:t.includeUserGroups?~~t.includeUserGroups:0,restrictUserGroupIDs:Array.isArray(t.restrictUserGroupIDs)?t.restrictUserGroupIDs:[]}}},callbackChange:"function"==typeof t.callbackChange?t.callbackChange:null,callbackSyncShadow:t.csvPerType?o:null,callbackSetupValues:"function"==typeof t.callbackSetupValues?t.callbackSetupValues:null,excludedSearchValues:Array.isArray(t.excludedSearchValues)?t.excludedSearchValues:[],isCSV:!0,maxItems:t.maxItems?~~t.maxItems:-1,restricted:!0})},t.getValues=r})),define("WoltLabSuite/Core/Ui/Reaction/CountButtons",["require","exports","tslib","../../Ajax","../../Core","../../Dom/Change/Listener","../../Dom/Util","../../Event/Handler","../../StringUtil","../Dialog"],(function(e,t,i,n,o,r,a,s,l,c){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importDefault(a),s=i.__importStar(s),l=i.__importStar(l),c=i.__importDefault(c);const d=new Map(Object.entries(window.REACTION_TYPES));class u{constructor(e,t){if(this._containers=new Map,this._currentObjectId=0,this._objects=new Map,!t.containerSelector)throw new Error("[WoltLabSuite/Core/Ui/Reaction/CountButtons] Expected a non-empty string for option 'containerSelector'.");this._objectType=e,this._options=o.extend({summaryListSelector:".reactionSummaryList",containerSelector:"",isSingleItem:!1,parameters:{data:{}}},t),this.initContainers(),r.default.add(`WoltLabSuite/Core/Ui/Reaction/CountButtons-${e}`,(()=>this.initContainers()))}initContainers(){let e=!1;document.querySelectorAll(this._options.containerSelector).forEach((t=>{const i=a.default.identify(t);if(this._containers.has(i))return;const n=~~t.dataset.objectId,o={reactButton:null,summary:null,objectId:n,element:t};this._containers.set(i,o),this._initReactionCountButtons(t,o);const r=this._objects.get(n)||[];r.push(o),this._objects.set(n,r),e=!0})),e&&r.default.trigger()}updateCountButtons(e,t){let i=!1;this._objects.get(e).forEach((e=>{let n;if(n=this._options.isSingleItem?document.querySelector(this._options.summaryListSelector):e.element.querySelector(this._options.summaryListSelector),null===n)return;const o=new Map(Object.entries(t)),r=new Map;n.querySelectorAll(".reactCountButton").forEach((e=>{const t=e.dataset.reactionTypeId;o.has(t)?r.set(t,e):e.remove()})),o.forEach(((e,t)=>{if(r.has(t)){r.get(t).querySelector(".reactionCount").innerHTML=l.shortUnit(e)}else if(d.has(t)){const o=document.createElement("span");o.className="reactCountButton",o.innerHTML=d.get(t).renderedIcon,o.dataset.reactionTypeId=t;const r=document.createElement("span");r.className="reactionCount",r.innerHTML=l.shortUnit(e),o.appendChild(r),n.appendChild(o),i=!0}})),n.childElementCount>0?a.default.show(n):a.default.hide(n)})),i&&r.default.trigger()}_initReactionCountButtons(e,t){let i;i=this._options.isSingleItem?document.querySelector(this._options.summaryListSelector):e.querySelector(this._options.summaryListSelector),null!==i&&i.addEventListener("click",(e=>this._showReactionOverlay(t.objectId,e)))}_showReactionOverlay(e,t){t.preventDefault(),this._currentObjectId=e,this._showOverlay()}_showOverlay(){this._options.parameters.data.containerID=`${this._objectType}-${this._currentObjectId}`,this._options.parameters.data.objectID=this._currentObjectId,this._options.parameters.data.objectType=this._objectType,n.api(this,{parameters:this._options.parameters})}_ajaxSuccess(e){s.fire("com.woltlab.wcf.ReactionCountButtons","openDialog",e),c.default.open(this,e.returnValues.template),c.default.setTitle("userReactionOverlay-"+this._objectType,e.returnValues.title)}_ajaxSetup(){return{data:{actionName:"getReactionDetails",className:"\\wcf\\data\\reaction\\ReactionAction"}}}_dialogSetup(){return{id:`userReactionOverlay-${this._objectType}`,options:{title:""},source:null}}}return o.enableLegacyInheritance(u),u})),define("WoltLabSuite/Core/Ui/Reaction/Handler",["require","exports","tslib","../../Ajax","../../Core","../../Dom/Change/Listener","../../Dom/Util","../Alignment","../CloseOverlay","../Screen","./CountButtons"],(function(e,t,i,n,o,r,a,s,l,c,d){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importDefault(a),s=i.__importStar(s),l=i.__importDefault(l),c=i.__importStar(c),d=i.__importDefault(d);const u=Object.values(window.REACTION_TYPES);class h{constructor(e,t){if(this.activeButton=void 0,this._cache=new Map,this._containers=new Map,this._objects=new Map,this._popoverCurrentObjectId=0,!t.containerSelector)throw new Error("[WoltLabSuite/Core/Ui/Reaction/Handler] Expected a non-empty string for option 'containerSelector'.");this._objectType=e,this._popover=null,this._popoverContent=null,this._options=o.extend({buttonSelector:".reactButton",containerSelector:"",isButtonGroupNavigation:!1,isSingleItem:!1,parameters:{data:{}}},t),this.initReactButtons(),this.countButtons=new d.default(this._objectType,this._options),r.default.add(`WoltLabSuite/Core/Ui/Reaction/Handler-${e}`,(()=>this.initReactButtons())),l.default.add("WoltLabSuite/Core/Ui/Reaction/Handler",(()=>this._closePopover())),this.callbackFocus=e=>this.maintainFocus(e)}initReactButtons(){let e=!1;document.querySelectorAll(this._options.containerSelector).forEach((t=>{const i=a.default.identify(t);if(this._containers.has(i))return;const n=~~t.dataset.objectId,o={reactButton:null,objectId:n,element:t};this._containers.set(i,o),this._initReactButton(t,o);const r=this._objects.get(n)||[];r.push(o),this._objects.set(n,r),e=!0})),e&&r.default.trigger()}_initReactButton(e,t){if(this._options.isSingleItem?t.reactButton=document.querySelector(this._options.buttonSelector):t.reactButton=e.querySelector(this._options.buttonSelector),null!==t.reactButton){if(1===u.length){const e=u[0];t.reactButton.title=e.title;t.reactButton.querySelector(".invisible").textContent=e.title}t.reactButton.setAttribute("role","button"),u.length>1&&(t.reactButton.setAttribute("aria-haspopup","true"),t.reactButton.setAttribute("aria-expanded","false")),t.reactButton.addEventListener("click",(e=>{this._toggleReactPopover(t.objectId,t.reactButton,e)})),t.reactButton.addEventListener("keydown",(e=>{"Enter"===e.key&&(e.preventDefault(),this._toggleReactPopover(t.objectId,t.reactButton,null))}))}}_updateReactButton(e,t){this._objects.get(e).forEach((e=>{null!==e.reactButton&&(t?(e.reactButton.classList.add("active"),e.reactButton.dataset.reactionTypeId=t.toString()):(e.reactButton.dataset.reactionTypeId="0",e.reactButton.classList.remove("active")))}))}_markReactionAsActive(){let e=null;if(this._objects.get(this._popoverCurrentObjectId).forEach((t=>{null!==t.reactButton&&(e=~~t.reactButton.dataset.reactionTypeId)})),null===e)throw new Error("Unable to find react button for current popover.");const t=this._getPopover();t.querySelectorAll(".reactionTypeButton.active").forEach((e=>{e.classList.remove("active"),e.removeAttribute("aria-selected")}));const i=t.querySelector(".reactionPopoverContent");if(e){const n=t.querySelector(`.reactionTypeButton[data-reaction-type-id="${e}"]`);n.classList.add("active"),n.setAttribute("aria-selected","true"),0==~~n.dataset.isAssignable&&a.default.show(n),this._scrollReactionIntoView(i,n)}else c.is("screen-xs")&&(t.classList.contains("inverseOrder")?i.scrollTop=0:i.scrollTop=i.scrollHeight-i.clientHeight)}_scrollReactionIntoView(e,t){t.offsetTop<.75*e.clientHeight?e.scrollTop=0:e.scrollTop=t.offsetTop+t.clientHeight/2-e.clientHeight/2}_toggleReactPopover(e,t,i){if(null!==i&&(i.preventDefault(),i.stopPropagation()),1===u.length){const t=u[0];this._popoverCurrentObjectId=e,this._react(t.reactionTypeID)}else 0===this._popoverCurrentObjectId||this._popoverCurrentObjectId!==e?this._openReactPopover(e,t):this._closePopover()}_openReactPopover(e,t){0!==this._popoverCurrentObjectId&&this._closePopover(),this._popoverCurrentObjectId=e,s.set(this._getPopover(),t,{pointer:!0,horizontal:this._options.isButtonGroupNavigation?"left":"center",vertical:c.is("screen-xs")?"bottom":"top"}),this._options.isButtonGroupNavigation&&t.closest("nav").style.setProperty("opacity","1","");const i=this._getPopover();"auto"===i.style.getPropertyValue("bottom")?i.classList.add("inverseOrder"):i.classList.remove("inverseOrder"),this._markReactionAsActive(),this._rebuildOverflowIndicator(),i.classList.remove("forceHide"),i.classList.add("active"),this.activeButton=t,u.length>1&&(this.activeButton.setAttribute("aria-expanded","true"),document.body.addEventListener("focus",this.callbackFocus,{capture:!0}))}_getPopover(){if(null==this._popover){this._popover=document.createElement("div"),this._popover.className="reactionPopover forceHide",this._popoverContent=document.createElement("div"),this._popoverContent.className="reactionPopoverContent";const e=document.createElement("ul");e.className="reactionTypeButtonList",this._getSortedReactionTypes().forEach((t=>{const i=document.createElement("li");i.tabIndex=0,i.setAttribute("role","button"),i.className="reactionTypeButton jsTooltip",i.dataset.reactionTypeId=t.reactionTypeID.toString(),i.dataset.title=t.title,i.dataset.isAssignable=t.isAssignable.toString(),i.title=t.title;const n=document.createElement("span");n.className="reactionTypeButtonTitle",n.innerHTML=t.title,i.innerHTML=t.renderedIcon,i.appendChild(n),i.addEventListener("click",(()=>this._react(t.reactionTypeID))),i.addEventListener("keydown",(e=>this.keydown(e))),t.isAssignable||a.default.hide(i),e.appendChild(i)})),this._popoverContent.appendChild(e),this._popoverContent.addEventListener("scroll",(()=>this._rebuildOverflowIndicator()),{passive:!0}),this._popover.appendChild(this._popoverContent);const t=document.createElement("span");t.className="elementPointer",t.appendChild(document.createElement("span")),this._popover.appendChild(t),document.body.appendChild(this._popover),r.default.trigger()}return this._popover}keydown(e){if("Enter"===e.key||" "===e.key||"Escape"===e.key){e.preventDefault();const t=this.activeButton;if("Escape"===e.key)this._closePopover();else{const t=~~e.currentTarget.dataset.reactionTypeId;this._react(t)}t.focus()}}_rebuildOverflowIndicator(){const e=this._popoverContent;e.scrollTop>0?e.classList.add("overflowTop"):e.classList.remove("overflowTop");e.scrollTop+e.clientHeight<e.scrollHeight?e.classList.add("overflowBottom"):e.classList.remove("overflowBottom")}_getSortedReactionTypes(){return u.sort(((e,t)=>e.showOrder-t.showOrder))}_closePopover(){if(0!==this._popoverCurrentObjectId){const e=this._getPopover();e.classList.remove("active"),e.querySelectorAll('.reactionTypeButton[data-is-assignable="0"]').forEach((e=>a.default.hide(e))),this._options.isButtonGroupNavigation&&this._objects.get(this._popoverCurrentObjectId).forEach((e=>{e.reactButton.closest("nav").style.cssText=""})),u.length>1&&(this.activeButton.setAttribute("aria-expanded","false"),document.body.removeEventListener("focus",this.callbackFocus,{capture:!0})),this.activeButton=void 0,this._popoverCurrentObjectId=0}}_react(e){0!=~~this._popoverCurrentObjectId&&(this._options.parameters.reactionTypeID=e,this._options.parameters.data.objectID=this._popoverCurrentObjectId,this._options.parameters.data.objectType=this._objectType,n.api(this,{parameters:this._options.parameters}),this._closePopover())}_ajaxSuccess(e){this.countButtons.updateCountButtons(e.returnValues.objectID,e.returnValues.reactions),this._updateReactButton(e.returnValues.objectID,e.returnValues.reactionTypeID)}_ajaxSetup(){return{data:{actionName:"react",className:"\\wcf\\data\\reaction\\ReactionAction"}}}maintainFocus(e){if(document.activeElement&&!document.activeElement.classList.contains("focus-visible"))return;const t=this._getPopover();if(t.contains(e.target))this.wasInsideReactions=!0;else if(this.wasInsideReactions)this.activeButton.focus(),this.wasInsideReactions=!1;else{t.querySelector(".reactionTypeButton").focus()}}}return o.enableLegacyInheritance(h),h})),define("WoltLabSuite/Core/Ui/Like/Handler",["require","exports","tslib","../../Core","../../Dom/Change/Listener","../../Language","../../StringUtil","../Reaction/Handler","../../User"],(function(e,t,i,n,o,r,a,s,l){"use strict";n=i.__importStar(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importDefault(s),l=i.__importDefault(l);const c=new Map(Object.entries(window.REACTION_TYPES));class d{constructor(e,t){if(this._containers=new WeakMap,!t.containerSelector)throw new Error("[WoltLabSuite/Core/Ui/Like/Handler] Expected a non-empty string for option 'containerSelector'.");this._objectType=e,this._options=n.extend({badgeClassNames:"",isSingleItem:!1,markListItemAsActive:!1,renderAsButton:!0,summaryPrepend:!0,summaryUseIcon:!0,canDislike:!1,canLike:!1,canLikeOwnContent:!1,canViewSummary:!1,badgeContainerSelector:".messageHeader .messageStatus",buttonAppendToSelector:".messageFooter .messageFooterButtons",buttonBeforeSelector:"",containerSelector:"",summarySelector:".messageFooterGroup"},t),this.initContainers(),o.default.add(`WoltLabSuite/Core/Ui/Like/Handler-${e}`,(()=>this.initContainers())),new s.default(this._objectType,{containerSelector:this._options.containerSelector})}initContainers(){let e=!1;document.querySelectorAll(this._options.containerSelector).forEach((t=>{if(this._containers.has(t))return;const i={badge:null,dislikeButton:null,likeButton:null,summary:null,dislikes:~~t.dataset.likeDislikes,liked:~~t.dataset.likeLiked,likes:~~t.dataset.likeLikes,objectId:~~t.dataset.objectId,users:JSON.parse(t.dataset.likeUsers)};this._containers.set(t,i),this._buildWidget(t,i),e=!0})),e&&o.default.trigger()}_buildWidget(e,t){let i,n=!0;if(i=this._options.isSingleItem?document.querySelector(this._options.summarySelector):e.querySelector(this._options.summarySelector),null===i&&(i=this._options.isSingleItem?document.querySelector(this._options.badgeContainerSelector):e.querySelector(this._options.badgeContainerSelector),n=!1),null!==i){const e=document.createElement("ul");if(e.classList.add("reactionSummaryList"),n?e.classList.add("likesSummary"):e.classList.add("reactionSummaryListTiny"),Object.entries(t.users).forEach((([t,i])=>{const n=c.get(t);if("reactionTypeID"===t||!n)return;const o=document.createElement("li");o.className="reactCountButton",o.setAttribute("reaction-type-id",t);const r=document.createElement("span");r.className="reactionCount",r.innerHTML=a.shortUnit(~~i),o.appendChild(r),o.innerHTML=n.renderedIcon+o.innerHTML,e.appendChild(o)})),n)this._options.summaryPrepend?i.insertAdjacentElement("afterbegin",e):i.insertAdjacentElement("beforeend",e);else if("OL"===i.nodeName||"UL"===i.nodeName){const t=document.createElement("li");t.appendChild(e),i.appendChild(t)}else i.appendChild(e);t.badge=e}if(this._options.canLike&&(l.default.userId!=~~e.dataset.userId||this._options.canLikeOwnContent)){let i=null;this._options.buttonAppendToSelector&&(i=this._options.isSingleItem?document.querySelector(this._options.buttonAppendToSelector):e.querySelector(this._options.buttonAppendToSelector));let n=null;if(this._options.buttonBeforeSelector&&(n=this._options.isSingleItem?document.querySelector(this._options.buttonBeforeSelector):e.querySelector(this._options.buttonBeforeSelector)),null===n&&null===i)throw new Error("Unable to find insert location for like/dislike buttons.");t.likeButton=this._createButton(e,t.users.reactionTypeID,n,i)}}_createButton(e,t,i,n){const o=r.get("wcf.reactions.react"),a=document.createElement("li");a.className="wcfReactButton";const s=document.createElement("a");s.className="jsTooltip reactButton",this._options.renderAsButton&&s.classList.add("button"),s.href="#",s.title=o;const l=document.createElement("span");l.className="icon icon16 fa-smile-o",void 0===t||0==t?l.dataset.reactionTypeId="0":(s.dataset.reactionTypeId=t.toString(),s.classList.add("active")),s.appendChild(l);const c=document.createElement("span");return c.className="invisible",c.innerHTML=o,s.appendChild(document.createTextNode(" ")),s.appendChild(c),a.appendChild(s),i?i.insertAdjacentElement("beforebegin",a):n.insertAdjacentElement("beforeend",a),s}}return n.enableLegacyInheritance(d),d})),define("WoltLabSuite/Core/Ui/Message/InlineEditor",["require","exports","tslib","../../Ajax","../../Core","../../Dom/Change/Listener","../../Dom/Util","../../Environment","../../Event/Handler","../../Language","../Dropdown/Reusable","../Notification","../Scroll"],(function(e,t,i,n,o,r,a,s,l,c,d,u,h){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importDefault(a),s=i.__importStar(s),l=i.__importStar(l),c=i.__importStar(c),d=i.__importStar(d),u=i.__importStar(u),h=i.__importStar(h);class p{constructor(e){this.init(e)}init(e){this._activeDropdownElement=null,this._activeElement=null,this._dropdownMenu=null,this._elements=new WeakMap,this._options=o.extend({canEditInline:!1,className:"",containerId:0,dropdownIdentifier:"",editorPrefix:"messageEditor",messageSelector:".jsMessage",quoteManager:null},e),this.rebuild(),r.default.add(`Ui/Message/InlineEdit_${this._options.className}`,(()=>this.rebuild()))}rebuild(){document.querySelectorAll(this._options.messageSelector).forEach((e=>{if(this._elements.has(e))return;const t=e.querySelector(".jsMessageEditButton");if(null!==t){const i=o.stringToBool(e.dataset.canEdit||""),n=o.stringToBool(e.dataset.canEditInline||"");this._options.canEditInline||n?(t.addEventListener("click",(t=>this._clickDropdown(e,t))),t.classList.add("jsDropdownEnabled"),i&&t.addEventListener("dblclick",(t=>this._click(e,t)))):i&&t.addEventListener("click",(t=>this._click(e,t)))}const i=e.querySelector(".messageBody"),n=e.querySelector(".messageFooter"),r=n.querySelector(".messageFooterButtons"),a=e.querySelector(".messageHeader"),s=i.querySelector(".messageText");this._elements.set(e,{button:t,messageBody:i,messageBodyEditor:null,messageFooter:n,messageFooterButtons:r,messageHeader:a,messageText:s})}))}_click(e,t){null===e&&(e=this._activeDropdownElement),t&&t.preventDefault(),null===this._activeElement?(this._activeElement=e,this._prepare(),n.api(this,{actionName:"beginEdit",parameters:{containerID:this._options.containerId,objectID:this._getObjectId(e)}})):u.show("wcf.message.error.editorAlreadyInUse",void 0,"warning")}_clickDropdown(e,t){t.preventDefault();const i=t.currentTarget;if(!i.classList.contains("dropdownToggle")){if(i.classList.add("dropdownToggle"),i.parentElement.classList.add("dropdown"),i.addEventListener("click",(t=>{t.preventDefault(),t.stopPropagation(),this._activeDropdownElement=e,d.toggleDropdown(this._options.dropdownIdentifier,i)})),null===this._dropdownMenu){this._dropdownMenu=document.createElement("ul"),this._dropdownMenu.className="dropdownMenu";const e=this._dropdownGetItems();l.fire("com.woltlab.wcf.inlineEditor",`dropdownInit_${this._options.dropdownIdentifier}`,{items:e}),this._dropdownBuild(e),d.init(this._options.dropdownIdentifier,this._dropdownMenu),d.registerCallback(this._options.dropdownIdentifier,((e,t)=>this._dropdownToggle(e,t)))}setTimeout((()=>i.click()),10)}}_dropdownBuild(e){e.forEach((e=>{const t=document.createElement("li");if(t.dataset.item=e.item,"divider"===e.item)t.className="dropdownDivider";else{const i=document.createElement("span");i.textContent=c.get(e.label),t.appendChild(i),"editItem"===e.item?t.addEventListener("click",(e=>this._click(null,e))):t.addEventListener("click",(e=>this._clickDropdownItem(e)))}this._dropdownMenu.appendChild(t)}))}_dropdownToggle(e,t){const i=this._elements.get(this._activeDropdownElement),n=i.button.parentElement;if("close"===t)return n.classList.remove("dropdownOpen"),void i.messageFooterButtons.classList.remove("forceVisible");n.classList.add("dropdownOpen"),i.messageFooterButtons.classList.add("forceVisible");const o=new Map(Object.entries(this._dropdownOpen()));l.fire("com.woltlab.wcf.inlineEditor",`dropdownOpen_${this._options.dropdownIdentifier}`,{element:this._activeDropdownElement,visibility:o});const r=this._dropdownMenu;let s=!1;const c=Array.from(r.children);c.forEach(((e,t)=>{const i=e.dataset.item;if("divider"===i)s?(a.default.show(e),s=!1):a.default.hide(e);else if(!1===o.get(i)){if(a.default.hide(e),t>0&&t+1===c.length){const t=e.previousElementSibling;"divider"===t.dataset.item&&a.default.hide(t)}}else a.default.show(e),s=!0}))}_dropdownGetItems(){return[]}_dropdownOpen(){return{}}_dropdownSelect(e){}_clickDropdownItem(e){e.preventDefault();const t=e.currentTarget.dataset.item,i={cancel:!1,element:this._activeDropdownElement,item:t};l.fire("com.woltlab.wcf.inlineEditor",`dropdownItemClick_${this._options.dropdownIdentifier}`,i),i.cancel?e.preventDefault():this._dropdownSelect(t)}_prepare(){const e=this._elements.get(this._activeElement),t=document.createElement("div");t.className="messageBody editor",e.messageBodyEditor=t;const i=document.createElement("span");i.className="icon icon48 fa-spinner",t.appendChild(i),e.messageBody.insertAdjacentElement("afterend",t),a.default.hide(e.messageBody)}_showEditor(e){const t=this._getEditorId(),i=this._activeElement,n=this._elements.get(i);i.classList.add("jsInvalidQuoteTarget");n.messageBodyEditor.querySelector(".icon").remove();const o=n.messageBodyEditor,r=document.createElement("div");r.className="editorContainer",a.default.setInnerHtml(r,e.returnValues.template),o.appendChild(r);const c=r.querySelector(".formSubmit");c.querySelector('button[data-type="save"]').addEventListener("click",(()=>this._save()));if(c.querySelector('button[data-type="cancel"]').addEventListener("click",(()=>this._restoreMessage())),l.add("com.woltlab.wcf.redactor",`submitEditor_${t}`,(e=>{e.cancel=!0,this._save()})),a.default.hide(n.messageHeader),a.default.hide(n.messageFooter),"redactor"===s.editor())window.setTimeout((()=>{this._options.quoteManager&&this._options.quoteManager.setAlternativeEditor(t),h.element(i)}),250);else{document.getElementById(t).focus()}}_restoreMessage(){const e=this._activeElement,t=this._elements.get(e);this._destroyEditor(),t.messageBodyEditor.remove(),t.messageBodyEditor=null,a.default.show(t.messageBody),a.default.show(t.messageFooter),a.default.show(t.messageHeader),e.classList.remove("jsInvalidQuoteTarget"),this._activeElement=null,this._options.quoteManager&&this._options.quoteManager.clearAlternativeEditor()}_save(){const e={containerID:this._options.containerId,data:{message:""},objectID:this._getObjectId(this._activeElement),removeQuoteIDs:this._options.quoteManager?this._options.quoteManager.getQuotesMarkedForRemoval():[]},t=this._getEditorId(),i=document.getElementById(`settings_${t}`);i&&i.querySelectorAll("input, select, textarea").forEach((t=>{if("INPUT"===t.nodeName&&("checkbox"===t.type||"radio"===t.type)&&!t.checked)return;const i=t.name;if(Object.prototype.hasOwnProperty.call(e,i))throw new Error(`Variable overshadowing, key '${i}' is already present.`);e[i]=t.value.trim()})),l.fire("com.woltlab.wcf.redactor2",`getText_${t}`,e.data);let o=this._validate(e);o instanceof Promise||(o=!1===o?Promise.reject():Promise.resolve()),o.then((()=>{l.fire("com.woltlab.wcf.redactor2",`submit_${t}`,e),n.api(this,{actionName:"save",parameters:e}),this._hideEditor()}),(e=>{const t=e.message;console.log(`Validation of post edit failed: ${t}`)}))}_validate(e){this._activeElement.querySelectorAll(".innerError").forEach((e=>e.remove()));const t={api:this,parameters:e,valid:!0,promises:[]};return l.fire("com.woltlab.wcf.redactor2",`validate_${this._getEditorId()}`,t),t.valid?t.promises.push(Promise.resolve()):t.promises.push(Promise.reject()),Promise.all(t.promises)}throwError(e,t){a.default.innerError(e,t)}_showMessage(e){const t=this._activeElement,i=this._getEditorId(),n=this._elements.get(t);if(a.default.setInnerHtml(n.messageBody.querySelector(".messageText"),e.returnValues.message),"string"==typeof e.returnValues.attachmentList){n.messageFooter.querySelectorAll(".attachmentThumbnailList, .attachmentFileList").forEach((e=>e.remove()));const t=document.createElement("div");let i;for(a.default.setInnerHtml(t,e.returnValues.attachmentList);t.childNodes.length;)i=t.childNodes[t.childNodes.length-1],n.messageFooter.insertBefore(i,n.messageFooter.firstChild)}if("string"==typeof e.returnValues.poll){const t=n.messageBody.querySelector(".pollContainer");null!==t&&t.parentElement.remove();const i=document.createElement("div");i.className="jsInlineEditorHideContent",a.default.setInnerHtml(i,e.returnValues.poll),n.messageBody.insertAdjacentElement("afterbegin",i)}this._restoreMessage(),this._updateHistory(this._getHash(this._getObjectId(t))),l.fire("com.woltlab.wcf.redactor",`autosaveDestroy_${i}`),u.show(),this._options.quoteManager&&(this._options.quoteManager.clearAlternativeEditor(),this._options.quoteManager.countQuotes())}_hideEditor(){const e=this._elements.get(this._activeElement),t=e.messageBodyEditor.querySelector(".editorContainer");a.default.hide(t);const i=document.createElement("span");i.className="icon icon48 fa-spinner",e.messageBodyEditor.appendChild(i)}_restoreEditor(){const e=this._elements.get(this._activeElement).messageBodyEditor;e.querySelector(".fa-spinner").remove();const t=e.querySelector(".editorContainer");null!==t&&a.default.show(t)}_destroyEditor(){l.fire("com.woltlab.wcf.redactor2",`autosaveDestroy_${this._getEditorId()}`),l.fire("com.woltlab.wcf.redactor2",`destroy_${this._getEditorId()}`)}_getHash(e){return`#message${e}`}_updateHistory(e){window.location.hash=e}_getEditorId(){return this._options.editorPrefix+this._getObjectId(this._activeElement).toString()}_getObjectId(e){return e.dataset.objectId||""}_ajaxFailure(e){const t=this._elements.get(this._activeElement).messageBodyEditor.querySelector(".redactor-layer");return null===t?(this._restoreMessage(),!0):(this._restoreEditor(),!e||void 0===e.returnValues||void 0===e.returnValues.realErrorMessage||(a.default.innerError(t,e.returnValues.realErrorMessage),!1))}_ajaxSuccess(e){switch(e.actionName){case"beginEdit":this._showEditor(e);break;case"save":this._showMessage(e)}}_ajaxSetup(){return{data:{className:this._options.className,interfaceName:"wcf\\data\\IMessageInlineEditorAction"},silent:!0}}legacyEdit(e){this._click(document.getElementById(e),null)}}return o.enableLegacyInheritance(p),p})),define("WoltLabSuite/Core/Ui/Message/Manager",["require","exports","tslib","../../Ajax","../../Core","../../Dom/Change/Listener","../../Language","../../StringUtil"],(function(e,t,i,n,o,r,a,s){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importStar(a),s=i.__importStar(s);class l{constructor(e){this._elements=new Map,this._options=o.extend({className:"",selector:""},e),this.rebuild(),r.default.add(`Ui/Message/Manager${this._options.className}`,this.rebuild.bind(this))}rebuild(){this._elements.clear(),document.querySelectorAll(this._options.selector).forEach((e=>{this._elements.set(e.dataset.objectId,e)}))}getPermission(e,t){t="can"+s.ucfirst(t);const i=this._elements.get(e);if(void 0===i)throw new Error(`Unknown object id '${e}' for selector '${this._options.selector}'`);return o.stringToBool(i.dataset[s.toCamelCase(t)]||"")}getPropertyValue(e,t,i){const n=this._elements.get(e);if(void 0===n)throw new Error(`Unknown object id '${e}' for selector '${this._options.selector}'`);const r=n.dataset[s.toCamelCase(t)]||"";return i?o.stringToBool(r):r}update(e,t,i){n.api(this,{actionName:t,parameters:i||{},objectIDs:[e]})}updateItems(e,t){Array.isArray(e)||(e=[e]),e.forEach((e=>{const i=this._elements.get(e);void 0!==i&&Object.entries(t).forEach((([e,t])=>{this._update(i,e,t)}))}))}updateAllItems(e){const t=Array.from(this._elements.keys());this.updateItems(t,e)}setNote(e,t,i){const n=this._elements.get(e);if(void 0===n)throw new Error(`Unknown object id '${e}' for selector '${this._options.selector}'`);const o=n.querySelector(".messageFooterNotes");let r=o.querySelector(`.${t}`);i?(null===r&&(r=document.createElement("p"),r.className="messageFooterNote "+t,o.appendChild(r)),r.innerHTML=i):null!==r&&r.remove()}_update(e,t,i){e.dataset[t]=i.toString();const n=1==i||!0===i||"true"===i;this._updateState(e,t,i,n)}_updateState(e,t,i,n){switch(t){case"isDeleted":n?e.classList.add("messageDeleted"):e.classList.remove("messageDeleted"),this._toggleMessageStatus(e,"jsIconDeleted","wcf.message.status.deleted","red",n);break;case"isDisabled":n?e.classList.add("messageDisabled"):e.classList.remove("messageDisabled"),this._toggleMessageStatus(e,"jsIconDisabled","wcf.message.status.disabled","green",n)}}_toggleMessageStatus(e,t,i,n,o){let r=e.querySelector(".messageStatus");if(null===r){const t=e.querySelector(".messageHeaderMetaData");if(null===t)return;r=document.createElement("ul"),r.className="messageStatus",t.insertAdjacentElement("afterend",r)}let s=r.querySelector(`.${t}`);if(o){if(null!==s)return;s=document.createElement("span"),s.className=`badge label ${n} ${t}`,s.textContent=a.get(i);const e=document.createElement("li");e.appendChild(s),r.appendChild(e)}else{if(null===s)return;s.parentElement.remove()}}_getAttributeName(e){return-1!==e.indexOf("-")?e:e.split(/([A-Z][a-z]+)/).map((e=>e.trim().toLowerCase())).filter((e=>e.length>0)).join("-")}_ajaxSuccess(e){throw new Error("Method _ajaxSuccess() must be implemented by deriving functions.")}_ajaxSetup(){return{data:{className:this._options.className}}}}return o.enableLegacyInheritance(l),l})),define("WoltLabSuite/Core/Ui/Message/Quote",["require","exports","tslib","../../Ajax","../../Core","../../Event/Handler","../../Language","../../Dom/Change/Listener","../../Dom/Util"],(function(e,t,i,n,o,r,a,s,l){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UiMessageQuote=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importDefault(s),l=i.__importDefault(l);class c{constructor(e,t,i,n,o,r,a){this.activeMessageId="",this.containers=new Map,this.containerSelector="",this.copyQuote=document.createElement("div"),this.message="",this.objectId=0,this.objectType="",this.timerSelectionChange=void 0,this.isMouseDown=!1,this.className=t,this.objectType=i,this.containerSelector=n,this.messageBodySelector=o,this.initContainers(),a=a&&e.supportPaste(),this.quoteManager=e,this.initCopyQuote(a),document.addEventListener("mouseup",(e=>this.onMouseUp(e))),document.addEventListener("selectionchange",(()=>this.onSelectionchange())),s.default.add("UiMessageQuote",(()=>this.initContainers())),document.addEventListener("touchstart",(e=>{if(this.copyQuote.classList.contains("active")){const t=e.target;t===this.copyQuote||this.copyQuote.contains(t)||(this.copyQuote.classList.add("touchForceInaccessible"),document.addEventListener("touchend",(()=>{this.copyQuote.classList.remove("touchForceInaccessible")}),{once:!0}))}}),{passive:!0})}initContainers(){document.querySelectorAll(this.containerSelector).forEach((e=>{var t;const i=l.default.identify(e);this.containers.has(i)||(this.containers.set(i,e),e.classList.contains("jsInvalidQuoteTarget")||(e.addEventListener("mousedown",(e=>this.onMouseDown(e))),e.classList.add("jsQuoteMessageContainer"),null===(t=e.querySelector(".jsQuoteMessage"))||void 0===t||t.addEventListener("click",(e=>this.saveFullQuote(e)))))}))}onSelectionchange(){if(!this.isMouseDown){if(""===this.activeMessageId){const e=window.getSelection();if(1!==e.rangeCount||e.isCollapsed)return;const t=e.getRangeAt(0),i=l.default.closest(t.startContainer,".jsQuoteMessageContainer"),n=l.default.closest(t.endContainer,".jsQuoteMessageContainer");if(i&&i===n&&!i.classList.contains("jsInvalidQuoteTarget")){let e=t.commonAncestorContainer;e.nodeType!==Node.ELEMENT_NODE&&(e=e.parentElement);const n=e.offsetParent;if(i.contains(n)&&n.scrollTop+n.clientHeight<e.offsetTop)return;this.activeMessageId=i.id}}this.timerSelectionChange&&window.clearTimeout(this.timerSelectionChange),this.timerSelectionChange=window.setTimeout((()=>this.onMouseUp()),100)}}onMouseDown(e){this.copyQuote.classList.remove("active");const t=e.currentTarget;this.activeMessageId=t.classList.contains("jsInvalidQuoteTarget")?"":t.id,this.timerSelectionChange&&(window.clearTimeout(this.timerSelectionChange),this.timerSelectionChange=void 0),this.isMouseDown=!0}getNodeText(e){const t=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT|NodeFilter.SHOW_TEXT,{acceptNode:e=>"BLOCKQUOTE"===e.nodeName||"SCRIPT"===e.nodeName?NodeFilter.FILTER_REJECT:!(e instanceof HTMLImageElement)||e.classList.contains("smiley")&&e.alt?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT});let i="";const n=[];for(;t.nextNode();){const e=t.currentNode;if(e instanceof Text){const t=e.parentElement;if(t instanceof HTMLAnchorElement&&n.includes(t))continue;i+=e.nodeValue.replace(/\n/g," ")}else{if(e instanceof HTMLAnchorElement){const t=e.textContent;if(t.indexOf("…")>0){const o=t.split(/\u2026/);if(2===o.length){const t=e.href;0===t.indexOf(o[0])&&t.substr(-1*o[1].length)===o[1]&&(i+=t,n.push(e))}}}switch(e.nodeName){case"BR":case"LI":case"TD":case"UL":i+="\n";break;case"P":i+="\n\n";break;case"IMG":i+=` ${e.alt} `;break;case"DIV":(e.classList.contains("codeBoxHeadline")||e.classList.contains("codeBoxLine"))&&(i+="\n")}}}return i}onMouseUp(e){if(e instanceof Event&&(this.timerSelectionChange&&(window.clearTimeout(this.timerSelectionChange),this.timerSelectionChange=void 0),this.isMouseDown=!1),""===this.activeMessageId)return void this.copyQuote.classList.remove("active");const t=window.getSelection();if(1!==t.rangeCount||t.isCollapsed)return void this.copyQuote.classList.remove("active");const i=this.containers.get(this.activeMessageId),n=~~i.dataset.objectId,o=this.messageBodySelector?i.querySelector(this.messageBodySelector):i;let r=t.anchorNode;for(;r&&r!==o;)r=r.parentNode;if(r!==o)return void this.copyQuote.classList.remove("active");const a=this.getSelectedText().trim();if(""===a)return void this.copyQuote.classList.remove("active");const s=t.getRangeAt(0),c=l.default.getClosestElement(s.startContainer),d=l.default.getClosestElement(s.endContainer);if(c.closest("blockquote")||d.closest("blockquote"))return void this.copyQuote.classList.remove("active");const u=this.getNodeText(o);if(!this.normalizeTextForComparison(u).includes(this.normalizeTextForComparison(a)))return;this.copyQuote.classList.add("active");const h=this.getElementBoundaries(t),p=(this.copyQuote.offsetHeight,this.copyQuote.offsetWidth);let m=(h.right-h.left)/2-p/2+h.left;const f=o.getBoundingClientRect();m<f.left?m=f.left:m+p>f.right&&(m=f.right-p),this.copyQuote.style.setProperty("top",`${h.bottom+7}px`),this.copyQuote.style.setProperty("left",`${m}px`),this.copyQuote.classList.remove("active"),this.timerSelectionChange?(window.clearTimeout(this.timerSelectionChange),this.timerSelectionChange=void 0):this.activeMessageId="",window.setTimeout((()=>{const e=this.getSelectedText().trim();""!==e&&(this.copyQuote.classList.add("active"),this.message=e,this.objectId=n)}),10)}normalizeTextForComparison(e){return e.replace(/\r?\n|\r/g,"\n").replace(/\s/g," ").replace(/\s{2,}/g," ")}getElementBoundaries(e){let t=null;if(e.rangeCount>0){const i=e.getRangeAt(0).getBoundingClientRect(),n=window.pageYOffset;t={bottom:i.bottom+n,left:i.left,right:i.right,top:i.top+n}}return t}initCopyQuote(e){const t=document.getElementById("quoteManagerCopy");null==t||t.remove(),this.copyQuote.id="quoteManagerCopy",this.copyQuote.classList.add("balloonTooltip","interactive");const i=document.createElement("span");if(i.classList.add("jsQuoteManagerStore"),i.textContent=a.get("wcf.message.quote.quoteSelected"),i.addEventListener("click",(e=>this.saveQuote(e))),this.copyQuote.appendChild(i),e){const e=document.createElement("span");e.classList.add("jsQuoteManagerQuoteAndInsert"),e.textContent=a.get("wcf.message.quote.quoteAndReply"),e.addEventListener("click",(e=>this.saveAndInsertQuote(e))),this.copyQuote.appendChild(e)}document.body.appendChild(this.copyQuote)}getSelectedText(){const e=window.getSelection();return e.rangeCount?this.getNodeText(e.getRangeAt(0).cloneContents()):""}saveFullQuote(e){e.preventDefault();const t=e.currentTarget;n.api(this,{actionName:"saveFullQuote",objectIDs:[t.dataset.objectId]});const i=t.querySelector("a");o.stringToBool(t.dataset.isQuoted||"")?(t.dataset.isQuoted="false",i.classList.remove("active")):(t.dataset.isQuoted="true",i.classList.add("active"));const r=t.closest(".buttonGroupNavigation");if(r.classList.contains("jsMobileButtonGroupNavigation")){r.querySelector(".dropdownLabel").click()}}saveQuote(e,t=!1){null==e||e.preventDefault(),n.api(this,{actionName:"saveQuote",objectIDs:[this.objectId],parameters:{message:this.message,renderQuote:t}});const i=window.getSelection();i.rangeCount&&(i.removeAllRanges(),this.copyQuote.classList.remove("active"))}saveAndInsertQuote(e){e.preventDefault(),this.saveQuote(void 0,!0)}_ajaxSuccess(e){if(void 0!==e.returnValues.count){void 0!==e.returnValues.fullQuoteMessageIDs&&(e.returnValues.fullQuoteObjectIDs=e.returnValues.fullQuoteMessageIDs);const t=e.returnValues.fullQuoteObjectIDs||{};this.quoteManager.updateCount(e.returnValues.count,t)}switch(e.actionName){case"saveQuote":case"saveFullQuote":e.returnValues.renderedQuote&&r.fire("com.woltlab.wcf.message.quote","insert",{forceInsert:"saveQuote"===e.actionName,quote:e.returnValues.renderedQuote})}}_ajaxSetup(){return{data:{className:this.className,interfaceName:"wcf\\data\\IMessageQuoteAction"}}}updateFullQuoteObjectIDs(e){this.containers.forEach((t=>{const i=t.querySelector(".jsQuoteMessage");i.dataset.isQuoted="false";const n=i.querySelector("a");i.classList.remove("active");const o=~~i.dataset.objectID;e.includes(o)&&(i.dataset.isQuoted="true",n.classList.add("active"))}))}}t.UiMessageQuote=c,t.default=c})),define("WoltLabSuite/Core/Ui/Message/Reply",["require","exports","tslib","../../Ajax","../../Core","../../Event/Handler","../../Language","../../Dom/Change/Listener","../../Dom/Util","../Dialog","../Notification","../../User","../../Controller/Captcha","../Scroll"],(function(e,t,i,n,o,r,a,s,l,c,d,u,h,p){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importDefault(s),l=i.__importDefault(l),c=i.__importDefault(c),d=i.__importStar(d),u=i.__importDefault(u),h=i.__importDefault(h),p=i.__importStar(p);class m{constructor(e){this._editor=null,this._guestDialogId="",this._loadingOverlay=null,this._options=o.extend({ajax:{className:""},quoteManager:null,successMessage:"wcf.global.success.add"},e),this._container=document.getElementById("messageQuickReply"),this._content=this._container.querySelector(".messageContent"),this._textarea=document.getElementById("text"),this._container.querySelector(".message").classList.add("jsInvalidQuoteTarget");this._container.querySelector('button[data-type="save"]').addEventListener("click",(e=>this._submit(e))),document.querySelectorAll(".jsQuickReply").forEach((e=>{e.addEventListener("click",(e=>{e.preventDefault(),this._getEditor().WoltLabReply.showEditor(),p.element(this._container,(()=>{this._getEditor().WoltLabCaret.endOfEditor()}))}))}))}_submitGuestDialog(e){if(e instanceof KeyboardEvent&&"Enter"!==e.key)return;const t=e.currentTarget,i=t.closest(".dialogContent").querySelector("input[name=username]");if(""===i.value)return l.default.innerError(i,a.get("wcf.global.form.error.empty")),void i.closest("dl").classList.add("formError");let n={parameters:{data:{username:i.value}}};const r=t.dataset.captchaId;if(h.default.has(r)){const e=h.default.getData(r);e instanceof Promise?e.then((e=>{n=o.extend(n,e),this._submit(void 0,n)})):(n=o.extend(n,e),this._submit(void 0,n))}else this._submit(void 0,n)}_submit(e,t){if(e&&e.preventDefault(),this._content.classList.contains("loading")&&(!this._guestDialogId||!c.default.isOpen(this._guestDialogId)))return;if(!this._validate())return;this._showLoadingOverlay();const i={};Object.entries(this._container.dataset).forEach((([e,t])=>{i[e.replace(/Id$/,"ID")]=t})),i.data={message:this._getEditor().code.get()},i.removeQuoteIDs=this._options.quoteManager?this._options.quoteManager.getQuotesMarkedForRemoval():[];const a=document.getElementById("settings_text");a&&a.querySelectorAll("input, select, textarea").forEach((e=>{if("INPUT"===e.nodeName&&("checkbox"===e.type||"radio"===e.type)&&!e.checked)return;const t=e.name;if(Object.prototype.hasOwnProperty.call(i,t))throw new Error(`Variable overshadowing, key '${t}' is already present.`);i[t]=e.value.trim()})),r.fire("com.woltlab.wcf.redactor2","submit_text",i.data),u.default.userId||t||(i.requireGuestDialog=!0),n.api(this,o.extend({parameters:i},t))}_validate(){if(this._container.querySelectorAll(".innerError").forEach((e=>e.remove())),this._getEditor().utils.isEmpty())return this.throwError(this._textarea,a.get("wcf.global.form.error.empty")),!1;const e={api:this,editor:this._getEditor(),message:this._getEditor().code.get(),valid:!0};return r.fire("com.woltlab.wcf.redactor2","validate_text",e),e.valid}throwError(e,t){l.default.innerError(e,"empty"===t?a.get("wcf.global.form.error.empty"):t)}_showLoadingOverlay(){null===this._loadingOverlay&&(this._loadingOverlay=document.createElement("div"),this._loadingOverlay.className="messageContentLoadingOverlay",this._loadingOverlay.innerHTML='<span class="icon icon96 fa-spinner"></span>'),this._content.classList.add("loading"),this._content.appendChild(this._loadingOverlay)}_hideLoadingOverlay(){this._content.classList.remove("loading");const e=this._content.querySelector(".messageContentLoadingOverlay");null!==e&&e.remove()}_reset(){this._getEditor().code.set("<p></p>"),r.fire("com.woltlab.wcf.redactor2","reset_text")}_handleError(e){const t={api:this,cancel:!1,returnValues:e.returnValues};r.fire("com.woltlab.wcf.redactor2","handleError_text",t),t.cancel||this.throwError(this._textarea,e.returnValues.realErrorMessage)}_getEditor(){if(null===this._editor){if("function"!=typeof window.jQuery)throw new Error("Unable to access editor, jQuery has not been loaded yet.");this._editor=window.jQuery(this._textarea).data("redactor")}return this._editor}_insertMessage(e){if(this._getEditor().WoltLabAutosave.reset(),e.returnValues.url)window.location.href==e.returnValues.url&&window.location.reload(),window.location.href=e.returnValues.url;else{if(e.returnValues.template){let t;if("DESC"===this._container.dataset.sortOrder)l.default.insertHtml(e.returnValues.template,this._container,"after"),t=l.default.identify(this._container.nextElementSibling);else{let i=this._container;i.previousElementSibling&&i.previousElementSibling.classList.contains("messageListPagination")&&(i=i.previousElementSibling),l.default.insertHtml(e.returnValues.template,i,"before"),t=l.default.identify(i.previousElementSibling)}this._container.dataset.lastPostTime=e.returnValues.lastPostTime.toString(),window.history.replaceState(void 0,"",`#${t}`),p.element(document.getElementById(t))}d.show(a.get(this._options.successMessage)),this._options.quoteManager&&this._options.quoteManager.countQuotes(),s.default.trigger()}}_ajaxSuccess(e){if(!u.default.userId&&!e.returnValues.guestDialogID)throw new Error("Missing 'guestDialogID' return value for guest.");if(!u.default.userId&&e.returnValues.guestDialog){const t=e.returnValues.guestDialogID;c.default.openStatic(t,e.returnValues.guestDialog,{closable:!1,onClose:function(){h.default.has(t)&&h.default.delete(t)},title:a.get("wcf.global.confirmation.title")});const i=c.default.getDialog(t);i.content.querySelector("input[type=submit]").addEventListener("click",(e=>this._submitGuestDialog(e)));i.content.querySelector("input[type=text]").addEventListener("keypress",(e=>this._submitGuestDialog(e))),this._guestDialogId=t}else this._insertMessage(e),u.default.userId||c.default.close(e.returnValues.guestDialogID),this._reset(),this._hideLoadingOverlay()}_ajaxFailure(e){return this._hideLoadingOverlay(),null===e||void 0===e.returnValues||void 0===e.returnValues.realErrorMessage||(this._handleError(e),!1)}_ajaxSetup(){return{data:{actionName:"quickReply",className:this._options.ajax.className,interfaceName:"wcf\\data\\IMessageQuickReplyAction"},silent:!0}}}return o.enableLegacyInheritance(m),m})),define("WoltLabSuite/Core/Ui/Message/TwitterEmbed",["require","exports","https://platform.twitter.com/widgets.js"],(function(e,t){"use strict";async function i(e,t,i=!1){const o=await n,r=await o.widgets.createTweet(t,e,{dnt:!0,lang:document.documentElement.lang});if(r&&i){for(;e.lastChild;)e.removeChild(e.lastChild);e.appendChild(r)}return r}Object.defineProperty(t,"__esModule",{value:!0}),t.embedAll=t.embedTweet=void 0;const n=new Promise((e=>{twttr.ready(e)}));t.embedTweet=i,t.embedAll=function(){document.querySelectorAll("[data-wsc-twitter-tweet]").forEach((e=>{const t=e.dataset.wscTwitterTweet;t&&(delete e.dataset.wscTwitterTweet,i(e,t,!0))}))}})),define("WoltLabSuite/Core/Ui/Object/Data",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})})),define("WoltLabSuite/Core/Ui/Page/Search",["require","exports","tslib","../../Ajax","../../Dom/Util","../../Language","../../StringUtil","../Dialog"],(function(e,t,i,n,o,r,a,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.open=void 0,n=i.__importStar(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importDefault(s);class l{constructor(){this.callbackSelect=void 0,this.resultContainer=void 0,this.resultList=void 0,this.searchInput=void 0}open(e){this.callbackSelect=e,s.default.open(this)}search(e){e.preventDefault();const t=this.searchInput.parentNode,i=this.searchInput.value.trim();i.length<3?o.default.innerError(t,r.get("wcf.page.search.error.tooShort")):(o.default.innerError(t,!1),n.api(this,{parameters:{searchString:i}}))}click(e){e.preventDefault();const t=e.currentTarget,i=t.querySelector("h3");this.callbackSelect(t.dataset.pageId+"#"+i.textContent.replace(/['"]/g,"")),s.default.close(this)}_ajaxSuccess(e){const t=e.returnValues.map((e=>{const t=a.escapeHTML(e.name),i=a.escapeHTML(e.displayLink);return`<li>\n <div class="containerHeadline pointer" data-page-id="${e.pageID}">\n <h3>${t}</h3>\n <small>${i}</small>\n </div>\n </li>`})).join("");this.resultList.innerHTML=t,o.default[t?"show":"hide"](this.resultContainer),t?this.resultList.querySelectorAll(".containerHeadline").forEach((e=>{e.addEventListener("click",(e=>this.click(e)))})):o.default.innerError(this.searchInput.parentElement,r.get("wcf.page.search.error.noResults"))}_ajaxSetup(){return{data:{actionName:"search",className:"wcf\\data\\page\\PageAction"}}}_dialogSetup(){return{id:"wcfUiPageSearch",options:{onSetup:()=>{this.searchInput=document.getElementById("wcfUiPageSearchInput"),this.searchInput.addEventListener("keydown",(e=>{"Enter"===e.key&&this.search(e)})),this.searchInput.nextElementSibling.addEventListener("click",(e=>this.search(e))),this.resultContainer=document.getElementById("wcfUiPageSearchResultContainer"),this.resultList=document.getElementById("wcfUiPageSearchResultList")},onShow:()=>{this.searchInput.focus()},title:r.get("wcf.page.search")},source:`<div class="section">\n <dl>\n <dt><label for="wcfUiPageSearchInput">${r.get("wcf.page.search.name")}</label></dt>\n <dd>\n <div class="inputAddon">\n <input type="text" id="wcfUiPageSearchInput" class="long">\n <a href="#" class="inputSuffix"><span class="icon icon16 fa-search"></span></a>\n </div>\n </dd>\n </dl>\n </div>\n <section id="wcfUiPageSearchResultContainer" class="section" style="display: none;">\n <header class="sectionHeader">\n <h2 class="sectionTitle">${r.get("wcf.page.search.results")}</h2>\n </header>\n <ol id="wcfUiPageSearchResultList" class="containerList"></ol>\n </section>`}}}let c;t.open=function(e){(void 0===c&&(c=new l),c).open(e)}})),define("WoltLabSuite/Core/Ui/Sortable/List",["require","exports","tslib","../../Core","../Screen"],(function(e,t,i,n,o){"use strict";n=i.__importStar(n),o=i.__importStar(o);class r{constructor(e){this._options=n.extend({containerId:"",className:"",offset:0,options:{},isSimpleSorting:!1,additionalParameters:{}},e),o.on("screen-sm-md",{match:()=>this._enable(!0),unmatch:()=>this._disable(),setup:()=>this._enable(!0)}),o.on("screen-lg",{match:()=>this._enable(!1),unmatch:()=>this._disable(),setup:()=>this._enable(!1)})}_enable(e){const t=this._options.options;e&&(t.handle=".sortableNodeHandle"),new window.WCF.Sortable.List(this._options.containerId,this._options.className,this._options.offset,t,this._options.isSimpleSorting,this._options.additionalParameters)}_disable(){window.jQuery(`#${this._options.containerId} .sortableList`)[this._options.isSimpleSorting?"sortable":"nestedSortable"]("destroy")}}return n.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Ui/Poll/Editor",["require","exports","tslib","../../Core","../../Language","../Sortable/List","../../Event/Handler","../../Date/Picker"],(function(e,t,i,n,o,r,a,s){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importStar(a),s=i.__importStar(s);class l{constructor(e,t,i,o){const s=document.getElementById(e);if(null===s)throw new Error("Unknown poll editor container with id '"+e+"'.");if(this.container=s,this.wysiwygId=i,""!==i&&null===document.getElementById(i))throw new Error("Unknown wysiwyg field with id '"+i+"'.");this.questionField=document.getElementById(this.wysiwygId+"Poll_question");const l=this.container.querySelector(".sortableList");if(null===l)throw new Error("Cannot find poll options list for container with id '"+e+"'.");if(this.optionList=l,this.endTimeField=document.getElementById(this.wysiwygId+"Poll_endTime"),this.maxVotesField=document.getElementById(this.wysiwygId+"Poll_maxVotes"),this.isChangeableYesField=document.getElementById(this.wysiwygId+"Poll_isChangeable"),this.isChangeableNoField=document.getElementById(this.wysiwygId+"Poll_isChangeable_no"),this.isPublicYesField=document.getElementById(this.wysiwygId+"Poll_isPublic"),this.isPublicNoField=document.getElementById(this.wysiwygId+"Poll_isPublic_no"),this.resultsRequireVoteYesField=document.getElementById(this.wysiwygId+"Poll_resultsRequireVote"),this.resultsRequireVoteNoField=document.getElementById(this.wysiwygId+"Poll_resultsRequireVote_no"),this.sortByVotesYesField=document.getElementById(this.wysiwygId+"Poll_sortByVotes"),this.sortByVotesNoField=document.getElementById(this.wysiwygId+"Poll_sortByVotes_no"),this.optionCount=0,this.options=n.extend({isAjax:!1,maxOptions:20},o),this.createOptionList(t||[]),new r.default({containerId:e,options:{toleranceElement:"> div"}}),this.options.isAjax)["handleError","reset","submit","validate"].forEach((e=>{a.add("com.woltlab.wcf.redactor2",e+"_"+this.wysiwygId,((...t)=>this[e](...t)))}));else{const t=this.container.closest("form");if(null===t)throw new Error("Cannot find form for container with id '"+e+"'.");t.addEventListener("submit",(e=>this.submit(e)))}}createOption(e,t,i){e=e||"",t=t||"0";const n=document.createElement("LI");n.classList.add("sortableNode"),n.dataset.optionId=t,i?i.insertAdjacentElement("afterend",n):this.optionList.appendChild(n);const r=document.createElement("div");r.classList.add("pollOptionInput"),n.appendChild(r);const a=document.createElement("span");a.classList.add("icon","icon16","fa-arrows","sortableNodeHandle"),r.appendChild(a);const s=document.createElement("a");n.setAttribute("role","button"),n.setAttribute("href","#"),s.classList.add("icon","icon16","fa-plus","jsTooltip","jsAddOption","pointer"),s.setAttribute("title",o.get("wcf.poll.button.addOption")),s.addEventListener("click",(()=>this.createOption())),r.appendChild(s);const l=document.createElement("a");l.setAttribute("role","button"),l.setAttribute("href","#"),l.classList.add("icon","icon16","fa-times","jsTooltip","jsDeleteOption","pointer"),l.setAttribute("title",o.get("wcf.poll.button.removeOption")),l.addEventListener("click",(e=>this.removeOption(e))),r.appendChild(l);const c=document.createElement("input");c.type="text",c.value=e,c.maxLength=255,c.addEventListener("keydown",(e=>this.optionInputKeyDown(e))),c.addEventListener("click",(()=>{document.activeElement!==c&&c.focus()})),r.appendChild(c),null!==i&&c.focus(),this.optionCount++,this.optionCount===this.options.maxOptions&&this.optionList.querySelectorAll(".jsAddOption").forEach((e=>{e.classList.remove("pointer"),e.classList.add("disabled")}))}createOptionList(e){e.forEach((e=>{this.createOption(e.optionValue,e.optionID)})),this.optionCount<this.options.maxOptions&&this.createOption()}handleError(e){switch(e.returnValues.fieldName){case this.wysiwygId+"Poll_endTime":case this.wysiwygId+"Poll_maxVotes":{const t=e.returnValues.fieldName.replace(this.wysiwygId+"Poll_",""),i=document.createElement("small");i.classList.add("innerError"),i.innerHTML=o.get("wcf.poll."+t+".error."+e.returnValues.errorType);document.getElementById(e.returnValues.fieldName).nextSibling.insertAdjacentElement("afterbegin",i),e.cancel=!0;break}}}optionInputKeyDown(e){if("Enter"!==e.key)return;const t=e.currentTarget.parentElement.querySelector(".jsAddOption");n.triggerEvent(t,"click"),e.preventDefault()}removeOption(e){e.preventDefault();e.currentTarget.closest("li").remove(),this.optionCount--,0===this.optionList.childElementCount?this.createOption():this.optionList.querySelectorAll(".jsAddOption").forEach((e=>{e.classList.add("pointer"),e.classList.remove("disabled")}))}reset(){this.questionField.value="",this.optionCount=0,this.optionList.innerHTML="",this.createOption(),s.clear(this.endTimeField),this.maxVotesField.value="1",this.isChangeableYesField.checked=!1,this.isChangeableNoField.checked=!0,this.isPublicYesField.checked=!1,this.isPublicNoField.checked=!0,this.resultsRequireVoteYesField.checked=!1,this.resultsRequireVoteNoField.checked=!0,this.sortByVotesYesField.checked=!1,this.sortByVotesNoField.checked=!0,a.fire("com.woltlab.wcf.poll.editor","reset",{pollEditor:this})}submit(e){if(this.options.isAjax)a.fire("com.woltlab.wcf.poll.editor","submit",{event:e,pollEditor:this});else{const e=this.container.closest("form");this.getOptions().forEach(((t,i)=>{const n=document.createElement("input");n.type="hidden",n.name=`${this.wysiwygId} + 'Poll_options[${i}}]`,n.value=t,e.appendChild(n)}))}}validate(e){if(""===this.questionField.value.trim())return;let t=0;if(Array.from(this.optionList.children).forEach((e=>{""!==e.querySelector("input[type=text]").value.trim()&&t++})),0===t)e.api.throwError(this.container,o.get("wcf.global.form.error.empty")),e.valid=!1;else{const i=~~this.maxVotesField.value;i&&i>t?(e.api.throwError(this.maxVotesField.parentElement,o.get("wcf.poll.maxVotes.error.invalid")),e.valid=!1):a.fire("com.woltlab.wcf.poll.editor","validate",{data:e,pollEditor:this})}}getData(){return{[this.questionField.id]:this.questionField.value,[this.wysiwygId+"Poll_options"]:this.getOptions(),[this.endTimeField.id]:this.endTimeField.value,[this.maxVotesField.id]:this.maxVotesField.value,[this.isChangeableYesField.id]:!!this.isChangeableYesField.checked,[this.isPublicYesField.id]:!!this.isPublicYesField.checked,[this.resultsRequireVoteYesField.id]:!!this.resultsRequireVoteYesField.checked,[this.sortByVotesYesField.id]:!!this.sortByVotesYesField.checked}}getOptions(){const e=[];return Array.from(this.optionList.children).forEach((t=>{const i=t.querySelector("input[type=text]").value.trim();""!==i&&e.push(`${t.dataset.optionId}_${i}`)})),e}}return n.enableLegacyInheritance(l),l})),define("WoltLabSuite/Core/Ui/Reaction/Data",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})})),define("WoltLabSuite/Core/Ui/Redactor/Article",["require","exports","tslib","../../Core","../Article/Search"],(function(e,t,i,n,o){"use strict";n=i.__importStar(n),o=i.__importStar(o);class r{constructor(e,t){this._editor=e,t.addEventListener("click",(e=>this._click(e)))}_click(e){e.preventDefault(),o.open((e=>this._insert(e)))}_insert(e){this._editor.buffer.set(),this._editor.insert.text(`[wsa='${e}'][/wsa]`)}}return n.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Ui/Redactor/Metacode",["require","exports","tslib","../../Event/Handler","../../Dom/Util"],(function(e,t,i,n,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.convertFromHtml=void 0,n=i.__importStar(n),o=i.__importDefault(o),t.convertFromHtml=function(e,t){const i=document.createElement("div");return i.innerHTML=t,i.querySelectorAll("woltlab-metacode").forEach((t=>{const r=t.dataset.name,a=function(e){try{e=JSON.parse(atob(e))}catch(e){}return Array.isArray(e)?e.map((e=>e.toString().replace(/^'(.*)'$/,"$1"))):[]}(t.dataset.attributes||""),s={attributes:a,cancel:!1,metacode:t};if(n.fire("com.woltlab.wcf.redactor2",`metacode_${r}_${e}`,s),s.cancel)return;const l=function(e,t){let i="["+e;return t.length&&(i+="=",i+=t.map((e=>`'${e}'`)).join(",")),document.createTextNode(i+"]")}(r,a),c=function(e){return document.createTextNode(`[/${e}]`)}(r);if(t.parentElement===i){const e=function(e){let t;if(0===e.childElementCount)t=document.createElement("p"),e.appendChild(t);else{const i=e.children[0];"P"===i.nodeName?t=i:(t=document.createElement("p"),e.insertBefore(t,i))}return t}(t);e.insertBefore(l,e.firstChild),function(e){const t=e.childElementCount;let i;if(0===t)i=document.createElement("p"),e.appendChild(i);else{const n=e.children[t-1];"P"===n.nodeName?i=n:(i=document.createElement("p"),e.appendChild(i))}return i}(t).appendChild(c)}else t.insertBefore(l,t.firstChild),t.appendChild(c);o.default.unwrapChildNodes(t)})),i.querySelectorAll("kbd").forEach((e=>{e.insertBefore(document.createTextNode("[tt]"),e.firstChild),e.appendChild(document.createTextNode("[/tt]")),o.default.unwrapChildNodes(e)})),i.innerHTML}})),define("WoltLabSuite/Core/Ui/Redactor/Autosave",["require","exports","tslib","../../Core","../../Devtools","../../Event/Handler","../../Language","./Metacode"],(function(e,t,i,n,o,r,a,s){"use strict";n=i.__importStar(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s);class l{constructor(e){this._container=null,this._editor=null,this._isActive=!0,this._isPending=!1,this._lastMessage="",this._metaData={},this._originalMessage="",this._restored=!1,this._timer=null,this._element=e,this._key=n.getStoragePrefix()+this._element.dataset.autosave,this._cleanup(),delete this._element.dataset.autosave;const t=this._element.closest("form");null!==t&&t.addEventListener("submit",this.destroy.bind(this)),r.add("com.woltlab.wcf.redactor2",`getMetaData_${this._element.id}`,(e=>{Object.entries(this._metaData).forEach((([t,i])=>{e[t]=i}))})),r.add("com.woltlab.wcf.redactor2",`reset_${this._element.id}`,(()=>this.hideOverlay())),document.addEventListener("visibilitychange",(()=>this._onVisibilityChange()))}_onVisibilityChange(){this._isActive=!document.hidden,this._isPending=document.hidden}getInitialValue(){if(window.ENABLE_DEVELOPER_TOOLS&&!o.default._internal_.editorAutosave())return this._element.value;let e="";try{e=window.localStorage.getItem(this._key)||""}catch(e){const t=e.message;window.console.warn(`Unable to access local storage: ${t}`)}let t=null;try{t=JSON.parse(e)}catch(e){}if(null!==t&&"object"==typeof t&&t.content){if(1e3*~~this._element.dataset.autosaveLastEditTime<=t.timestamp){const e=document.createElement("div");e.innerHTML=this._element.value;const i=document.createElement("div");if(i.innerHTML=t.content,e.innerText.trim()!==i.innerText.trim())return this._originalMessage=this._element.value,this._restored=!0,this._metaData=t.meta||{},t.content}}return this._element.value}getMetaData(){return this._metaData}watch(e){if(this._editor=e,null!==this._timer)throw new Error("Autosave timer is already active.");this._timer=window.setInterval((()=>this._saveToStorage()),15e3),this._saveToStorage(),this._isPending=!1}destroy(){this.clear(),this._editor=null,this._timer&&window.clearInterval(this._timer),this._timer=null,this._isPending=!1}clear(){this._metaData={},this._lastMessage="";try{window.localStorage.removeItem(this._key)}catch(e){const t=e.message;window.console.warn(`Unable to remove from local storage: ${t}`)}}createOverlay(){if(!this._restored)return;const e=this._editor,t=document.createElement("div");t.className="redactorAutosaveRestored active";const i=document.createElement("span");i.textContent=a.get("wcf.editor.autosave.restored"),t.appendChild(i);const n=document.createElement("a");n.className="jsTooltip",n.href="#",n.title=a.get("wcf.editor.autosave.keep"),n.innerHTML='<span class="icon icon16 fa-check green"></span>',n.addEventListener("click",(e=>{e.preventDefault(),this.hideOverlay()})),t.appendChild(n);const o=document.createElement("a");o.className="jsTooltip",o.href="#",o.title=a.get("wcf.editor.autosave.discard"),o.innerHTML='<span class="icon icon16 fa-times red"></span>',o.addEventListener("click",(t=>{t.preventDefault(),this.clear();const i=s.convertFromHtml(e.core.element()[0].id,this._originalMessage);e.code.start(i),e.core.textarea().val(e.clean.onSync(e.$editor.html())),this.hideOverlay()})),t.appendChild(o),e.core.box()[0].appendChild(t),e.core.editor()[0].addEventListener("click",(()=>this.hideOverlay()),{once:!0}),this._container=t}hideOverlay(){null!==this._container&&(this._container.classList.remove("active"),window.setTimeout((()=>{null!==this._container&&this._container.remove(),this._container=null,this._originalMessage=""}),1e3))}_saveToStorage(){if(!this._isActive){if(!this._isPending)return;this._isPending=!1}if(window.ENABLE_DEVELOPER_TOOLS&&!o.default._internal_.editorAutosave())return;const e=this._editor;let t=e.code.get();if(e.utils.isEmpty(t)&&(t=""),this._lastMessage!==t){if(""===t)return this.clear();try{r.fire("com.woltlab.wcf.redactor2",`autosaveMetaData_${this._element.id}`,this._metaData),window.localStorage.setItem(this._key,JSON.stringify({content:t,meta:this._metaData,timestamp:Date.now()})),this._lastMessage=t}catch(e){const t=e.message;window.console.warn(`Unable to write to local storage: ${t}`)}}}_cleanup(){const e=Date.now()-6048e5;Object.keys(window.localStorage).filter((e=>e.startsWith(n.getStoragePrefix()))).forEach((t=>{let i="";try{i=window.localStorage.getItem(t)||""}catch(e){const t=e.message;window.console.warn(`Unable to access local storage: ${t}`)}let n=0;try{n=JSON.parse(i).timestamp}catch(e){}if(!i||n<e)try{window.localStorage.removeItem(t)}catch(e){const t=e.message;window.console.warn(`Unable to remove from local storage: ${t}`)}}))}}return n.enableLegacyInheritance(l),l})),define("WoltLabSuite/Core/Ui/Redactor/PseudoHeader",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getHeight=void 0,t.getHeight=function(e){let t=~~window.getComputedStyle(e).paddingTop.replace(/px$/,"");const i=window.getComputedStyle(e,"::before");t+=~~i.paddingTop.replace(/px$/,""),t+=~~i.paddingBottom.replace(/px$/,"");let n=~~i.height.replace(/px$/,"");return 0===n&&(n=e.scrollHeight,e.classList.add("redactorCalcHeight"),n-=e.scrollHeight,e.classList.remove("redactorCalcHeight")),t+=n,t}})),define("WoltLabSuite/Core/Ui/Redactor/Code",["require","exports","tslib","../../Core","../../Dom/Util","../../Event/Handler","../../Language","../../StringUtil","../Dialog","./PseudoHeader","../../prism-meta"],(function(e,t,i,n,o,r,a,s,l,c,d){"use strict";n=i.__importStar(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importDefault(l),c=i.__importStar(c),d=i.__importDefault(d);let u=0;class h{constructor(e){this._pre=null,this._editor=e,this._elementId=this._editor.$element[0].id,r.add("com.woltlab.wcf.redactor2",`bbcode_code_${this._elementId}`,(e=>this._bbcodeCode(e))),r.add("com.woltlab.wcf.redactor2",`observe_load_${this._elementId}`,(()=>this._observeLoad())),this._editor.opts.activeButtonsStates.pre="code",this._callbackEdit=this._edit.bind(this),this._observeLoad()}_bbcodeCode(e){e.cancel=!0;let t=this._editor.selection.block();t&&"PRE"===t.nodeName&&t.classList.contains("woltlabHtml")||(this._editor.button.toggle({},"pre","func","block.format"),t=this._editor.selection.block(),t&&"PRE"===t.nodeName&&!t.classList.contains("woltlabHtml")&&(1===t.childElementCount&&"BR"===t.children[0].nodeName&&t.removeChild(t.children[0]),this._setTitle(t),t.addEventListener("click",this._callbackEdit),this._editor.caret.end(t)))}_observeLoad(){this._editor.$editor[0].querySelectorAll("pre:not(.woltlabHtml)").forEach((e=>{e.addEventListener("mousedown",this._callbackEdit),this._setTitle(e)}))}_edit(e){const t=e.currentTarget;0===u&&(u=c.getHeight(t));const i=o.default.offset(t);e.pageY>i.top&&e.pageY<i.top+u&&(e.preventDefault(),this._editor.selection.save(),this._pre=t,l.default.open(this))}_dialogSubmit(){const e="redactor-code-"+this._elementId,t=this._pre;["file","highlighter","line"].forEach((i=>{const n=document.getElementById(`${e}-${i}`);t.dataset[i]=n.value})),this._setTitle(t),this._editor.caret.after(t),l.default.close(this)}_setTitle(e){const t=e.dataset.file;let i=e.dataset.highlighter;i=-1!==this._editor.opts.woltlab.highlighters.indexOf(i)?d.default[i].title:"";const n=a.get("wcf.editor.code.title",{file:t,highlighter:i});e.dataset.title!==n&&(e.dataset.title=n)}_delete(e){e.preventDefault();const t=this._pre;let i=t.nextElementSibling||t.previousElementSibling;null===i&&t.parentElement!==this._editor.core.editor()[0]&&(i=t.parentElement),null===i?(this._editor.code.set(""),this._editor.focus.end()):(t.remove(),this._editor.caret.end(i)),l.default.close(this)}_dialogSetup(){const e=`redactor-code-${this._elementId}`,t=`${e}-button-delete`,i=`${e}-button-save`,n=`${e}-file`,o=`${e}-highlighter`,r=`${e}-line`;return{id:e,options:{onClose:()=>{this._editor.selection.restore(),l.default.destroy(this)},onSetup:()=>{document.getElementById(t).addEventListener("click",(e=>this._delete(e)));let e=`<option value="">${a.get("wcf.editor.code.highlighter.detect")}</option>\n <option value="plain">${a.get("wcf.editor.code.highlighter.plain")}</option>`;const i=this._editor.opts.woltlab.highlighters.map((e=>[e,d.default[e].title]));i.sort(((e,t)=>e[1].localeCompare(t[1]))),e+=i.map((([e,t])=>`<option value="${e}">${s.escapeHTML(t)}</option>`)).join("\n"),document.getElementById(o).innerHTML=e},onShow:()=>{const e=this._pre;document.getElementById(o).value=e.dataset.highlighter||"";const t=~~(e.dataset.line||1);document.getElementById(r).value=t.toString();document.getElementById(n).value=e.dataset.file||""},title:a.get("wcf.editor.code.edit")},source:`<div class="section">\n <dl>\n <dt>\n <label for="${o}">${a.get("wcf.editor.code.highlighter")}</label>\n </dt>\n <dd>\n <select id="${o}"></select>\n <small>${a.get("wcf.editor.code.highlighter.description")}</small>\n </dd>\n </dl>\n <dl>\n <dt>\n <label for="${r}">${a.get("wcf.editor.code.line")}</label>\n </dt>\n <dd>\n <input type="number" id="${r}" min="0" value="1" class="long" data-dialog-submit-on-enter="true">\n <small>${a.get("wcf.editor.code.line.description")}</small>\n </dd>\n </dl>\n <dl>\n <dt>\n <label for="${n}">${a.get("wcf.editor.code.file")}</label>\n </dt>\n <dd>\n <input type="text" id="${n}" class="long" data-dialog-submit-on-enter="true">\n <small>${a.get("wcf.editor.code.file.description")}</small>\n </dd>\n </dl>\n </div>\n <div class="formSubmit">\n <button id="${i}" class="buttonPrimary" data-type="submit">${a.get("wcf.global.button.save")}</button>\n <button id="${t}">${a.get("wcf.global.button.delete")}</button>\n </div>`}}}return n.enableLegacyInheritance(h),h})),define("WoltLabSuite/Core/Ui/Redactor/Editor",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})})),define("WoltLabSuite/Core/Ui/Redactor/Format",["require","exports","tslib","../../Dom/Util"],(function(e,t,i,n){"use strict";function o(e){let t=window.getSelection().anchorNode;for(;t;){if(t===e)return!0;t=t.parentNode}return!1}function r(e,t,i){let n=e;for(;n=n[i];)if(n.nodeType!==Node.TEXT_NODE||""!==n.textContent.replace(/\u200B/,""))return!1;return!0}function a(e,t){const i=["DEL","SUB","SUP"].find((i=>{const n=t.anchorNode;let o=n.nodeType===Node.ELEMENT_NODE?n:n.parentElement;if(!(null!==o.querySelector(i.toLowerCase())))for(;o&&o!==e;){if(o.nodeName===i)return!0;o=o.parentElement}return!1}));return"DEL"===i||void 0===i?["strike","strikethrough"]:[i.toLowerCase(),i.toLowerCase()+"script"]}function s(e,t){const i=window.getSelection();if(!i.rangeCount)return;if(!o(e))return void console.error("Invalid selection, range exists outside of the editor:",i.anchorNode);let r=i.getRangeAt(0),s=null;const l=r.collapsed;if(l){let o=r.startContainer;const a=[o];for(;;){const t=o.parentElement;if(t===e||"TD"===t.nodeName)break;o=t,a.push(o)}if(""===o.innerHTML.replace(/[\u200B-\u200D\uFEFF]/g,"").replace(/ /gi,"").replace(/<\/?br\s?\/?>/g,"").replace(/\s/g,"").replace(/^<p>[^\W\w\D\d]*?<\/p>$/i,"").replace(/<iframe(.*?[^>])>$/i,"iframe").replace(/<source(.*?[^>])>$/i,"source").replace(/<[^/>][^>]*><\/[^>]+>/gi,"").replace(/<[^/>][^>]*><\/[^>]+>/gi,"").trim()){const e=document.createElement("woltlab-format-marker");return r.insertNode(e),a.forEach((e=>{"SPAN"===e.nodeName&&e.style.getPropertyValue(t)&&n.default.unwrapChildNodes(e)})),r=document.createRange(),r.selectNode(e),r.collapse(!0),i.removeAllRanges(),i.addRange(r),void e.remove()}s=document.createTextNode(""),r.insertNode(s)}let c=e.querySelectorAll("strike");c.forEach((e=>n.default.unwrapChildNodes(e)));const d=a(e,i);if(document.execCommand(d[1]),c=e.querySelectorAll(d[0]),l&&null!==s&&0===c.length){document.execCommand(d[1]);const e=document.createElement(d[0]);s.parentElement.insertBefore(e,s),e.appendChild(s)}c.forEach((i=>{const o=function(e,t,i){let n=e.parentElement,o=null;for(;n!==t;)"SPAN"===n.nodeName&&""!==n.style.getPropertyValue(i)&&(o=n),n=n.parentElement;return o}(i,e,t);null!==o&&function(e,t,i){const o=t.parentElement;if(!n.default.isAtNodeStart(e,t)){const i=document.createRange();i.setStartBefore(t),i.setEndBefore(e);const n=i.extractContents();o.insertBefore(n,t)}if(!n.default.isAtNodeEnd(e,t)){const i=document.createRange();i.setStartAfter(e),i.setEndAfter(t);const n=i.extractContents();o.insertBefore(n,t.nextSibling)}t.querySelectorAll("span").forEach((e=>{e.style.getPropertyValue(i)&&n.default.unwrapChildNodes(e)})),n.default.unwrapChildNodes(t)}(i,o,t),i.querySelectorAll("span").forEach((e=>{e.style.getPropertyValue(t)&&n.default.unwrapChildNodes(e)})),n.default.unwrapChildNodes(i)})),e.querySelectorAll("span").forEach((e=>{e.parentNode&&!e.textContent.length&&""!==e.style.getPropertyValue(t)&&(1===e.childElementCount&&"MARK"===e.children[0].nodeName&&e.parentNode.insertBefore(e.children[0],e),0===e.childElementCount&&e.remove())}))}Object.defineProperty(t,"__esModule",{value:!0}),t.removeFormat=t.format=void 0,n=i.__importDefault(n),t.format=function(e,t,i){const l=window.getSelection();if(!l.rangeCount)return;if(!o(e))return void console.error("Invalid selection, range exists outside of the editor:",l.anchorNode);let c=l.getRangeAt(0),d=null,u=null,h=null;if(c.collapsed)h=document.createElement("strike"),h.textContent="",c.insertNode(h),c=document.createRange(),c.selectNodeContents(h),l.removeAllRanges(),l.addRange(c);else{d=document.createElement("mark"),u=document.createElement("mark");let i=c.cloneRange();i.collapse(!0),i.insertNode(d),i=c.cloneRange(),i.collapse(!1),i.insertNode(u),c=document.createRange(),c.setStartAfter(d),c.setEndBefore(u),l.removeAllRanges(),l.addRange(c),s(e,t),c=document.createRange(),c.setStartAfter(d),c.setEndBefore(u),l.removeAllRanges(),l.addRange(c)}let p=["strike","strikethrough"];null===h&&(p=a(e,l),document.execCommand(p[1]));const m=[];e.querySelectorAll(p[0]).forEach((e=>{const o=document.createElement("span");o.setAttribute("style",`${t}: ${i}`),n.default.replaceElement(e,o),m.push(o)}));const f=m.length;if(f){const e=m[0],i=m[f-1];if(null===h&&e.parentElement===i.parentElement){const o=e.parentElement;"SPAN"===o.nodeName&&""!==o.style.getPropertyValue(t)&&r(e,0,"previousSibling")&&r(i,0,"nextSibling")&&n.default.unwrapChildNodes(o)}c=document.createRange(),c.setStart(e,0),c.setEnd(i,i.childNodes.length),l.removeAllRanges(),l.addRange(c)}null!==d&&(d.remove(),u.remove())},t.removeFormat=s})),define("WoltLabSuite/Core/Ui/Redactor/Html",["require","exports","tslib","../../Core","../../Event/Handler","../../Language"],(function(e,t,i,n,o,r){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r);class a{constructor(e){this._pre=null,this._editor=e,this._elementId=this._editor.$element[0].id,o.add("com.woltlab.wcf.redactor2",`bbcode_woltlabHtml_${this._elementId}`,(e=>this._bbcodeCode(e))),o.add("com.woltlab.wcf.redactor2",`observe_load_${this._elementId}`,(()=>this._observeLoad())),this._editor.opts.activeButtonsStates["woltlab-html"]="woltlabHtml",this._observeLoad()}_bbcodeCode(e){e.cancel=!0;let t=this._editor.selection.block();t&&"PRE"===t.nodeName&&!t.classList.contains("woltlabHtml")||(this._editor.button.toggle({},"pre","func","block.format"),t=this._editor.selection.block(),t&&"PRE"===t.nodeName&&(t.classList.add("woltlabHtml"),1===t.childElementCount&&"BR"===t.children[0].nodeName&&t.removeChild(t.children[0]),this._setTitle(t),this._editor.caret.end(t)))}_observeLoad(){this._editor.$editor[0].querySelectorAll("pre.woltlabHtml").forEach((e=>{this._setTitle(e)}))}_setTitle(e){["title","description"].forEach((t=>{const i=r.get(`wcf.editor.html.${t}`);e.dataset[t]!==i&&(e.dataset[t]=i)}))}}return n.enableLegacyInheritance(a),a})),define("WoltLabSuite/Core/Ui/Redactor/Link",["require","exports","tslib","../../Dom/Util","../../Language","../Dialog"],(function(e,t,i,n,o,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.showDialog=void 0,n=i.__importDefault(n),o=i.__importStar(o),r=i.__importDefault(r);class a{constructor(){this.boundListener=!1}open(e){r.default.open(this),r.default.setTitle(this,o.get("wcf.editor.link."+(e.insert?"add":"edit")));const t=document.getElementById("redactor-modal-button-action");t.textContent=o.get("wcf.global.button."+(e.insert?"insert":"save")),this.submitCallback=e.submitCallback,this.boundListener||(this.boundListener=!0,t.addEventListener("click",(()=>this.submit())))}submit(){if(this.submitCallback())r.default.close(this);else{const e=document.getElementById("redactor-link-url"),t=""===e.value.trim()?"wcf.global.form.error.empty":"wcf.editor.link.error.invalid";n.default.innerError(e,o.get(t))}}_dialogSetup(){return{id:"redactorDialogLink",options:{onClose:()=>{const e=document.getElementById("redactor-link-url").nextElementSibling;e&&"SMALL"===e.nodeName&&e.remove()},onSetup:e=>{const t=e.querySelector(".formSubmit > .buttonPrimary");null!==t&&e.querySelectorAll('input[type="url"], input[type="text"]').forEach((e=>{e.addEventListener("keyup",(e=>{"Enter"===e.key&&t.click()}))}))},onShow:()=>{document.getElementById("redactor-link-url").focus()}},source:`<dl>\n <dt>\n <label for="redactor-link-url">${o.get("wcf.editor.link.url")}</label>\n </dt>\n <dd>\n <input type="url" id="redactor-link-url" class="long">\n </dd>\n </dl>\n <dl>\n <dt>\n <label for="redactor-link-url-text">${o.get("wcf.editor.link.text")}</label>\n </dt>\n <dd>\n <input type="text" id="redactor-link-url-text" class="long">\n </dd>\n </dl>\n <div class="formSubmit">\n <button id="redactor-modal-button-action" class="buttonPrimary"></button>\n </div>`}}}let s;t.showDialog=function(e){s||(s=new a),s.open(e)}})),define("WoltLabSuite/Core/Ui/Redactor/Mention",["require","exports","tslib","../../Ajax","../../Core","../../StringUtil","../CloseOverlay"],(function(e,t,i,n,o,r,a){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importDefault(a);let s=null;class l{constructor(e){this._active=!1,this._dropdownActive=!1,this._dropdownMenu=null,this._itemIndex=0,this._lineHeight=null,this._mentionStart="",this._timer=null,this._redactor=e,e.WoltLabEvent.register("keydown",(e=>this._keyDown(e))),e.WoltLabEvent.register("keyup",(e=>this._keyUp(e))),a.default.add(`UiRedactorMention-${e.core.element()[0].id}`,(()=>this._hideDropdown()))}_keyDown(e){if(!this._dropdownActive)return;const t=e.event;switch(t.key){case"Enter":this._setUsername(null,this._dropdownMenu.children[this._itemIndex].children[0]);break;case"ArrowUp":this._selectItem(-1);break;case"ArrowDown":this._selectItem(1);break;default:return void this._hideDropdown()}t.preventDefault(),e.cancel=!0}_keyUp(e){const t=e.event;if("Enter"===t.key)return void(this._active=!1);if(this._dropdownActive&&(e.cancel=!0,"ArrowDown"===t.key||"ArrowUp"===t.key))return;const i=this._getTextLineInFrontOfCaret();if(i.length>0&&i.length<25){const e=/@([^,]{3,})$/.exec(i);e?e.index&&!/\s/.test(i[e.index-1])||(this._mentionStart=e[1],null!==this._timer&&(window.clearTimeout(this._timer),this._timer=null),this._timer=window.setTimeout((()=>{n.api(this,{parameters:{data:{searchString:this._mentionStart}}}),this._timer=null}),500)):this._hideDropdown()}else this._hideDropdown()}_getTextLineInFrontOfCaret(){const e=this._selectMention(!1);return null!==e?e.range.cloneContents().textContent.replace(/\u200B/g,"").replace(/\u00A0/g," ").trim():""}_getDropdownMenuPosition(){const e=this._selectMention();if(null===e)return null;this._redactor.selection.save(),e.selection.removeAllRanges(),e.selection.addRange(e.range);const t=e.selection.getRangeAt(0).getBoundingClientRect(),i={top:Math.round(t.bottom)+(window.scrollY||window.pageYOffset),left:Math.round(t.left)+document.body.scrollLeft};return null===this._lineHeight&&(this._lineHeight=Math.round(t.bottom-t.top)),this._redactor.selection.restore(),i}_setUsername(e,t){e&&(e.preventDefault(),t=e.currentTarget);const i=this._selectMention();if(null===i)return void this._hideDropdown();this._redactor.buffer.set(),i.selection.removeAllRanges(),i.selection.addRange(i.range);let n=window.getSelection().getRangeAt(0);n.deleteContents(),n.collapse(!0);let o=t.dataset.username.trim();o.split(/\s/g).length>2&&(o="'"+o.replace(/'/g,"''")+"'");const r=document.createTextNode("@"+o+" ");n.insertNode(r),n=document.createRange(),n.selectNode(r),n.collapse(!1),i.selection.removeAllRanges(),i.selection.addRange(n),this._hideDropdown()}_selectMention(e){const t=window.getSelection();if(!t.rangeCount||!t.isCollapsed)return null;let i=t.anchorNode;if(i.nodeType===Node.TEXT_NODE&&(i=i.parentElement),-1===i.textContent.indexOf("@"))return null;const n=this._redactor.core.editor()[0];for(;i&&i!==n;){if(-1!==["PRE","WOLTLAB-QUOTE"].indexOf(i.nodeName))return null;i=i.parentElement}let o=t.getRangeAt(0),r=o.startContainer,a=o.startOffset;for(;r.nodeType===Node.ELEMENT_NODE;){if(0===a&&0===r.childNodes.length)return null;r=r.childNodes[a?a-1:0],a>0&&(a=r.nodeType===Node.TEXT_NODE?r.textContent.length:r.childNodes.length)}let s=r,l=-1;for(;null!==s;){if(s.nodeType!==Node.TEXT_NODE)return null;if(-1!==s.textContent.indexOf("@")){l=s.textContent.lastIndexOf("@");break}s=s.previousSibling}if(-1===l)return null;try{o=document.createRange(),o.setStart(s,l),o.setEnd(r,a)}catch(e){return window.console.debug(e),null}if(!1===e){let e="";for(l&&(e=s.textContent.substr(0,l));(s=s.previousSibling)&&s.nodeType===Node.TEXT_NODE;)e=s.textContent+e;if(/\S$/.test(e.replace(/\u200B/g,"")))return null}else if(o.cloneContents().textContent.replace(/\u200B/g,"").replace(/\u00A0/g,"").trim().replace(/^@/,"")!==this._mentionStart)return null;return{range:o,selection:t}}_updateDropdownPosition(){const e=this._getDropdownMenuPosition();if(null===e)return void this._hideDropdown();e.top+=7;const t=this._dropdownMenu;if(t.style.setProperty("left",`${e.left}px`,""),t.style.setProperty("top",`${e.top}px`,""),this._selectItem(0),e.top+t.offsetHeight+10>window.innerHeight+(window.scrollY||window.pageYOffset)){const i=e.top-t.offsetHeight-2*this._lineHeight+7;t.style.setProperty("top",`${i}px`,"")}}_selectItem(e){const t=this._dropdownMenu,i=t.querySelector(".active");null!==i&&i.classList.remove("active"),this._itemIndex+=e,this._itemIndex<0?this._itemIndex=t.childElementCount-1:this._itemIndex>=t.childElementCount&&(this._itemIndex=0),t.children[this._itemIndex].classList.add("active")}_hideDropdown(){null!==this._dropdownMenu&&this._dropdownMenu.classList.remove("dropdownOpen"),this._dropdownActive=!1,this._itemIndex=0}_ajaxSetup(){return{data:{actionName:"getSearchResultList",className:"wcf\\data\\user\\UserAction",interfaceName:"wcf\\data\\ISearchAction",parameters:{data:{includeUserGroups:!0,scope:"mention"}}},silent:!0}}_ajaxSuccess(e){Array.isArray(e.returnValues)&&e.returnValues.length?(null===this._dropdownMenu&&(this._dropdownMenu=document.createElement("ol"),this._dropdownMenu.className="dropdownMenu",null===s&&(s=document.createElement("div"),s.className="dropdownMenuContainer",document.body.appendChild(s)),s.appendChild(this._dropdownMenu)),this._dropdownMenu.innerHTML="",e.returnValues.forEach((e=>{const t=document.createElement("li"),i=document.createElement("a");i.addEventListener("mousedown",(e=>this._setUsername(e))),i.className="box16",i.innerHTML=`<span>${e.icon}</span> <span>${r.escapeHTML(e.label)}</span>`,i.dataset.userId=e.objectID.toString(),i.dataset.username=e.label,t.appendChild(i),this._dropdownMenu.appendChild(t)})),this._dropdownMenu.classList.add("dropdownOpen"),this._dropdownActive=!0,this._updateDropdownPosition()):this._hideDropdown()}}return o.enableLegacyInheritance(l),l})),define("WoltLabSuite/Core/Ui/Redactor/Page",["require","exports","tslib","../../Core","../Page/Search"],(function(e,t,i,n,o){"use strict";n=i.__importStar(n),o=i.__importStar(o);class r{constructor(e,t){this._editor=e,t.addEventListener("click",(e=>this._click(e)))}_click(e){e.preventDefault(),o.open((e=>this._insert(e)))}_insert(e){this._editor.buffer.set(),this._editor.insert.text(`[wsp='${e}'][/wsp]`)}}return n.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Ui/Redactor/Quote",["require","exports","tslib","../../Core","../../Dom/Util","../../Event/Handler","../../Language","../../StringUtil","../Dialog","./Metacode","./PseudoHeader"],(function(e,t,i,n,o,r,a,s,l,c,d){"use strict";n=i.__importStar(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importDefault(l),c=i.__importStar(c),d=i.__importStar(d);let u=0;class h{constructor(e,t){this._quote=null,this._editor=e,this._elementId=this._editor.$element[0].id,r.add("com.woltlab.wcf.redactor2",`observe_load_${this._elementId}`,(()=>this._observeLoad())),this._editor.button.addCallback(t,this._click.bind(this)),this._observeLoad(),r.add("com.woltlab.wcf.redactor2",`insertQuote_${this._elementId}`,(e=>this._insertQuote(e)))}_insertQuote(e){if(this._editor.WoltLabSource.isActive())return;r.fire("com.woltlab.wcf.redactor2","showEditor");const t=this._editor.core.editor()[0];this._editor.selection.restore(),this._editor.buffer.set();let i=this._editor.selection.block();for(!1===i&&(this._editor.focus.end(),i=this._editor.selection.block());i&&i.parentElement!==t;)i=i.parentElement;const n=document.createElement("woltlab-quote");n.dataset.author=e.author,n.dataset.link=e.link;let o=e.content;e.isText?(o=s.escapeHTML(o),o=`<p>${o}</p>`,o=o.replace(/\n\n/g,"</p><p>"),o=o.replace(/\n/g,"<br>")):o=c.convertFromHtml(this._editor.$element[0].id,o),n.innerHTML=o;const a=i.parentElement;a.insertBefore(n,i.nextSibling),"P"!==i.nodeName||"<br>"!==i.innerHTML&&""!==i.innerHTML.replace(/\u200B/g,"")||a.removeChild(i);let l=n.previousElementSibling;l&&"P"!==l.nodeName&&(l=document.createElement("p"),l.textContent="",n.insertAdjacentElement("beforebegin",l)),this._editor.WoltLabCaret.paragraphAfterBlock(n),this._editor.buffer.set()}_click(){this._editor.button.toggle({},"woltlab-quote","func","block.format");const e=this._editor.selection.block();e&&"WOLTLAB-QUOTE"===e.nodeName&&(this._setTitle(e),e.addEventListener("click",(e=>this._edit(e))),this._editor.caret.end(e))}_observeLoad(){document.querySelectorAll("woltlab-quote").forEach((e=>{e.addEventListener("mousedown",(e=>this._edit(e))),this._setTitle(e)}))}_edit(e){const t=e.currentTarget;0===u&&(u=d.getHeight(t));const i=o.default.offset(t);e.pageY>i.top&&e.pageY<i.top+u&&(e.preventDefault(),this._editor.selection.save(),this._quote=t,l.default.open(this))}_dialogSubmit(){const e=`redactor-quote-${this._elementId}`,t=document.getElementById(`${e}-url`),i=t.value.replace(/\u200B/g,"").trim();if(i.length&&!/^https?:\/\/[^/]+/.test(i))return void o.default.innerError(t,a.get("wcf.editor.quote.url.error.invalid"));o.default.innerError(t,!1);const n=this._quote,r=document.getElementById(e+"-author");n.dataset.author=r.value,n.dataset.link=i,this._setTitle(n),this._editor.caret.after(n),l.default.close(this)}_setTitle(e){const t=a.get("wcf.editor.quote.title",{author:e.dataset.author,url:e.dataset.url});e.dataset.title!==t&&(e.dataset.title=t)}_delete(e){e.preventDefault();const t=this._quote;let i=t.nextElementSibling||t.previousElementSibling;null===i&&t.parentElement!==this._editor.core.editor()[0]&&(i=t.parentElement),null===i?(this._editor.code.set(""),this._editor.focus.end()):(t.remove(),this._editor.caret.end(i)),l.default.close(this)}_dialogSetup(){const e=`redactor-quote-${this._elementId}`,t=`${e}-author`,i=`${e}-button-delete`,n=`${e}-button-save`,o=`${e}-url`;return{id:e,options:{onClose:()=>{this._editor.selection.restore(),l.default.destroy(this)},onSetup:()=>{document.getElementById(i).addEventListener("click",(e=>this._delete(e)))},onShow:()=>{document.getElementById(t).value=this._quote.dataset.author||"";document.getElementById(o).value=this._quote.dataset.link||""},title:a.get("wcf.editor.quote.edit")},source:`<div class="section">\n <dl>\n <dt>\n <label for="${t}">${a.get("wcf.editor.quote.author")}</label>\n </dt>\n <dd>\n <input type="text" id="${t}" class="long" data-dialog-submit-on-enter="true">\n </dd>\n </dl>\n <dl>\n <dt>\n <label for="${o}">${a.get("wcf.editor.quote.url")}</label>\n </dt>\n <dd>\n <input type="text" id="${o}" class="long" data-dialog-submit-on-enter="true">\n <small>${a.get("wcf.editor.quote.url.description")}</small>\n </dd>\n </dl>\n </div>\n <div class="formSubmit">\n <button id="${n}" class="buttonPrimary" data-type="submit">${a.get("wcf.global.button.save")}</button>\n <button id="${i}">${a.get("wcf.global.button.delete")}</button>\n </div>`}}}return n.enableLegacyInheritance(h),h})),define("WoltLabSuite/Core/Ui/Redactor/Spoiler",["require","exports","tslib","../../Core","../../Dom/Util","../../Event/Handler","../../Language","../Dialog","./PseudoHeader"],(function(e,t,i,n,o,r,a,s,l){"use strict";n=i.__importStar(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importDefault(s),l=i.__importStar(l);let c=0;class d{constructor(e){this._spoiler=null,this._editor=e,this._elementId=this._editor.$element[0].id,r.add("com.woltlab.wcf.redactor2",`bbcode_spoiler_${this._elementId}`,(e=>this._bbcodeSpoiler(e))),r.add("com.woltlab.wcf.redactor2",`observe_load_${this._elementId}`,(()=>this._observeLoad())),this._observeLoad()}_bbcodeSpoiler(e){e.cancel=!0,this._editor.button.toggle({},"woltlab-spoiler","func","block.format");let t=this._editor.selection.block();t&&("P"===t.nodeName&&(t=t.parentElement),"WOLTLAB-SPOILER"===t.nodeName&&(this._setTitle(t),t.addEventListener("click",(e=>this._edit(e))),this._editor.caret.end(t)))}_observeLoad(){this._editor.$editor[0].querySelectorAll("woltlab-spoiler").forEach((e=>{e.addEventListener("mousedown",(e=>this._edit(e))),this._setTitle(e)}))}_edit(e){const t=e.currentTarget;0===c&&(c=l.getHeight(t));const i=o.default.offset(t);e.pageY>i.top&&e.pageY<i.top+c&&(e.preventDefault(),this._editor.selection.save(),this._spoiler=t,s.default.open(this))}_dialogSubmit(){const e=this._spoiler,t=document.getElementById("redactor-spoiler-"+this._elementId+"-label");e.dataset.label=t.value,this._setTitle(e),this._editor.caret.after(e),s.default.close(this)}_setTitle(e){const t=a.get("wcf.editor.spoiler.title",{label:e.dataset.label||""});e.dataset.title!==t&&(e.dataset.title=t)}_delete(e){e.preventDefault();const t=this._spoiler;let i=t.nextElementSibling||t.previousElementSibling;null===i&&t.parentElement!==this._editor.core.editor()[0]&&(i=t.parentElement),null===i?(this._editor.code.set(""),this._editor.focus.end()):(t.remove(),this._editor.caret.end(i)),s.default.close(this)}_dialogSetup(){const e=`redactor-spoiler-${this._elementId}`,t=`${e}-button-delete`,i=`${e}-button-save`,n=`${e}-label`;return{id:e,options:{onClose:()=>{this._editor.selection.restore(),s.default.destroy(this)},onSetup:()=>{document.getElementById(t).addEventListener("click",(e=>this._delete(e)))},onShow:()=>{document.getElementById(n).value=this._spoiler.dataset.label||""},title:a.get("wcf.editor.spoiler.edit")},source:`<div class="section">\n <dl>\n <dt>\n <label for="${n}">${a.get("wcf.editor.spoiler.label")}</label>\n </dt>\n <dd>\n <input type="text" id="${n}" class="long" data-dialog-submit-on-enter="true">\n <small>${a.get("wcf.editor.spoiler.label.description")}</small>\n </dd>\n </dl>\n </div>\n <div class="formSubmit">\n <button id="${i}" class="buttonPrimary" data-type="submit">${a.get("wcf.global.button.save")}</button>\n <button id="${t}">${a.get("wcf.global.button.delete")}</button>\n </div>`}}}return n.enableLegacyInheritance(d),d})),define("WoltLabSuite/Core/Ui/Redactor/Table",["require","exports","tslib","../../Language","../Dialog"],(function(e,t,i,n,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.showDialog=void 0,n=i.__importStar(n),o=i.__importDefault(o);class r{open(e){o.default.open(this),this.callbackSubmit=e.submitCallback}_dialogSubmit(){let e=!0;["rows","cols"].forEach((t=>{const i=document.getElementById("redactor-table-"+t);(+i.value<1||+i.value>100)&&(e=!1)})),e&&(this.callbackSubmit(),o.default.close(this))}_dialogSetup(){return{id:"redactorDialogTable",options:{onShow:()=>{document.getElementById("redactor-table-rows").value="2";document.getElementById("redactor-table-cols").value="3"},title:n.get("wcf.editor.table.insertTable")},source:`<dl>\n <dt>\n <label for="redactor-table-rows">${n.get("wcf.editor.table.rows")}</label>\n </dt>\n <dd>\n <input type="number" id="redactor-table-rows" class="small" min="1" max="100" value="2" data-dialog-submit-on-enter="true">\n </dd>\n </dl>\n <dl>\n <dt>\n <label for="redactor-table-cols">${n.get("wcf.editor.table.cols")}</label>\n </dt>\n <dd>\n <input type="number" id="redactor-table-cols" class="small" min="1" max="100" value="3" data-dialog-submit-on-enter="true">\n </dd>\n </dl>\n <div class="formSubmit">\n <button id="redactor-modal-button-action" class="buttonPrimary" data-type="submit">${n.get("wcf.global.button.insert")}</button>\n </div>`}}}let a;t.showDialog=function(e){a||(a=new r),a.open(e)}})),define("WoltLabSuite/Core/Ui/Search/Data",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})})),define("WoltLabSuite/Core/Ui/Search/Page",["require","exports","tslib","../../Core","../../Dom/Traverse","../../Dom/Util","../Dropdown/Simple","../Screen","./Input"],(function(e,t,i,n,o,r,a,s,l){"use strict";function c(e){e.preventDefault();const t=document.getElementById("pageHeader");t.classList.add("searchBarForceOpen"),window.setTimeout((()=>{t.classList.remove("searchBarForceOpen")}),10);const i=e.currentTarget,o=i.dataset.objectType,r=document.getElementById("pageHeaderSearchParameters");r.innerHTML="";const a=i.dataset.extendedLink;if(a){document.querySelector(".pageHeaderSearchExtendedLink").href=a}const s=new Map;try{const e=JSON.parse(i.dataset.parameters||"");n.isPlainObject(e)&&Object.keys(e).forEach((t=>{s.set(t,e[t])}))}catch(e){}o&&s.set("types[]",o),s.forEach(((e,t)=>{const i=document.createElement("input");i.type="hidden",i.name=t,i.value=e,r.appendChild(i)}));document.getElementById("pageHeaderSearchInputContainer").querySelector(".pageHeaderSearchType > .button > .pageHeaderSearchTypeLabel").textContent=i.textContent}Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importDefault(a),s=i.__importStar(s),l=i.__importDefault(l),t.init=function(e){const t=document.getElementById("pageHeaderSearchInput");new l.default(t,{ajax:{className:"wcf\\data\\search\\keyword\\SearchKeywordAction"},autoFocus:!1,callbackDropdownInit(e){if(e.classList.add("dropdownMenuPageSearch"),s.is("screen-lg")){e.dataset.dropdownAlignmentHorizontal="right";const i=t.clientWidth;e.style.setProperty("min-width",`${i}px`,"");const n=t.parentElement,o=r.default.offset(n).left+n.clientWidth-(r.default.offset(t).left+i),a=r.default.styleAsInt(window.getComputedStyle(n),"padding-bottom");e.style.setProperty("transform",`translateX(-${Math.ceil(o)}px) translateY(-${a}px)`,"")}},callbackSelect:()=>(setTimeout((()=>{o.parentByTag(t,"FORM").submit()}),1),!0)});const i=document.querySelector(".pageHeaderSearchType"),n=a.default.getDropdownMenu(r.default.identify(i));n.querySelectorAll("a[data-object-type]").forEach((e=>{e.addEventListener("click",c)})),n.querySelector('a[data-object-type="'+e+'"]').click()}})),define("WoltLabSuite/Core/Ui/Smiley/Insert",["require","exports","tslib","../../Core","../../Event/Handler"],(function(e,t,i,n,o){"use strict";n=i.__importStar(n),o=i.__importStar(o);class r{constructor(e){this.editorId=e;let t=document.getElementById("smilies-"+this.editorId);if(!t&&(t=document.getElementById(this.editorId+"SmiliesTabContainer"),!t))throw new Error("Unable to find the message tab menu container containing the smilies.");this.container=t,this.container.addEventListener("keydown",(e=>this.keydown(e))),this.container.addEventListener("mousedown",(e=>this.mousedown(e)))}keydown(e){const t=document.activeElement;if(t.classList.contains("jsSmiley"))if(["ArrowLeft","ArrowRight","End","Home"].includes(e.key)){e.preventDefault();const i=e.currentTarget,n=Array.from(i.querySelectorAll(".jsSmiley"));"ArrowLeft"===e.key&&n.reverse();let o=n.indexOf(t);"Home"===e.key?o=0:"End"===e.key?o=n.length-1:(o+=1,o===n.length&&(o=0)),n[o].focus()}else if("Enter"===e.key||"Space"===e.key){e.preventDefault();const i=t.querySelector("img");this.insert(i)}}mousedown(e){const t=e.target.closest("li");if(t&&this.container.contains(t)){e.preventDefault();const i=t.querySelector("img");i&&this.insert(i)}}insert(e){o.fire("com.woltlab.wcf.redactor2","insertSmiley_"+this.editorId,{img:e})}}return n.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Ui/Style/FontAwesome",["require","exports","tslib","../../Language","../Dialog","../ItemList/Filter"],(function(e,t,i,n,o,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.open=t.setup=void 0,n=i.__importStar(n),o=i.__importDefault(o),r=i.__importDefault(r);class a{constructor(e){this.callback=void 0,this.iconList=void 0,this.itemListFilter=void 0,this.icons=e}open(e){this.callback=e,o.default.open(this)}click(e){e.preventDefault();const t=e.target.closest("li").querySelector("small").textContent.trim();o.default.close(this),this.callback(t)}_dialogSetup(){return{id:"fontAwesomeSelection",options:{onSetup:()=>{this.iconList=document.getElementById("fontAwesomeIcons"),this.iconList.innerHTML=this.icons.map((e=>`<li><span class="icon icon48 fa-${e}"></span><small>${e}</small></li>`)).join(""),this.iconList.addEventListener("click",(e=>this.click(e))),this.itemListFilter=new r.default("fontAwesomeIcons",{callbackPrepareItem:e=>{const t=e.querySelector("small"),i=t.textContent.trim();return{item:e,span:t,text:i}},enableVisibilityFilter:!1,filterPosition:"top"})},onShow:()=>{this.itemListFilter.reset()},title:n.get("wcf.global.fontAwesome.selectIcon")},source:'<ul class="fontAwesomeIcons" id="fontAwesomeIcons"></ul>'}}}let s;t.setup=function(e){s||(s=new a(e))},t.open=function(e){if(!s)throw new Error("Missing icon data, please include the template before calling this method using `{include file='fontAwesomeJavaScript'}`.");s.open(e)}})),define("WoltLabSuite/Core/Ui/Toggle/Input",["require","exports","tslib","../../Core","../../Dom/Util"],(function(e,t,i,n,o){"use strict";n=i.__importStar(n),o=i.__importDefault(o);class r{constructor(e,t){const i=document.querySelector(e);if(null===i)throw new Error("Unable to find element by selector '"+e+"'.");const n="INPUT"===i.nodeName?i.type:"";if("checkbox"!==n&&"radio"!==n)throw new Error("Illegal element, expected input[type='checkbox'] or input[type='radio'].");this.element=i,this.hide=this.getElements("hide",Array.isArray(t.hide)?t.hide:[]),this.hide=this.getElements("show",Array.isArray(t.show)?t.show:[]),this.element.addEventListener("change",(e=>this.change(e))),this.updateVisibility(this.show,this.element.checked),this.updateVisibility(this.hide,!this.element.checked)}getElements(e,t){const i=[];return t.forEach((t=>{let n=null;if("string"==typeof t){if(n=document.querySelector(t),null===n)throw new Error(`Unable to find an element with the selector '${t}'.`)}else{if(!(t instanceof HTMLElement))throw new TypeError(`The array '${e}' may only contain string selectors or DOM elements.`);n=t}i.push(n)})),i}change(e){const t=e.currentTarget.checked;this.updateVisibility(this.show,t),this.updateVisibility(this.hide,!t)}updateVisibility(e,t){e.forEach((e=>{o.default[t?"show":"hide"](e)}))}}return n.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Ui/User/Editor",["require","exports","tslib","../../Ajax","../../Core","../../Dom/Util","../../Language","../../StringUtil","../Dialog","../Notification"],(function(e,t,i,n,o,r,a,s,l,c){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importDefault(l),c=i.__importStar(c);class d{constructor(){this.actionName="",this.header=document.querySelector(".userProfileUser"),["ban","disableAvatar","disableCoverPhoto","disableSignature","enable"].forEach((e=>{const t=document.querySelector(".userProfileButtonMenu .jsButtonUser"+s.ucfirst(e));t&&(t.dataset.action=e,t.addEventListener("click",(e=>this._click(e))))}))}_click(e){e.preventDefault();const t=e.currentTarget.dataset.action||"";let i="";switch(t){case"ban":o.stringToBool(this.header.dataset.banned||"")&&(i="unban");break;case"disableAvatar":o.stringToBool(this.header.dataset.disableAvatar||"")&&(i="enableAvatar");break;case"disableCoverPhoto":o.stringToBool(this.header.dataset.disableCoverPhoto||"")&&(i="enableCoverPhoto");break;case"disableSignature":o.stringToBool(this.header.dataset.disableSignature||"")&&(i="enableSignature");break;case"enable":i=o.stringToBool(this.header.dataset.isDisabled||"")?"enable":"disable"}""===i?(this.actionName=t,l.default.open(this)):n.api(this,{actionName:i})}_submit(e){e.preventDefault();const t=document.getElementById("wcfUiUserEditorExpiresLabel");let i="",o="";if(!document.getElementById("wcfUiUserEditorNeverExpires").checked){i=document.getElementById("wcfUiUserEditorExpiresDatePicker").value,""===i&&(o=a.get("wcf.global.form.error.empty"))}r.default.innerError(t,o);const s={};s[this.actionName+"Expires"]=i;const l=document.getElementById("wcfUiUserEditorReason");s[this.actionName+"Reason"]=l.value.trim(),n.api(this,{actionName:this.actionName,parameters:s})}_ajaxSuccess(e){let t;switch(e.actionName){case"ban":case"unban":{this.header.dataset.banned="ban"===e.actionName?"true":"false",t=document.querySelector(".userProfileButtonMenu .jsButtonUserBan"),t.textContent=a.get("wcf.user."+("ban"===e.actionName?"unban":"ban"));const i=this.header.querySelector(".contentTitle");let n=i.querySelector(".jsUserBanned");"ban"===e.actionName?(n=document.createElement("span"),n.className="icon icon24 fa-lock jsUserBanned jsTooltip",n.title=e.returnValues,i.appendChild(n)):n&&n.remove();break}case"disableAvatar":case"enableAvatar":this.header.dataset.disableAvatar="disableAvatar"===e.actionName?"true":"false",t=document.querySelector(".userProfileButtonMenu .jsButtonUserDisableAvatar"),t.textContent=a.get("wcf.user."+("disableAvatar"===e.actionName?"enable":"disable")+"Avatar");break;case"disableCoverPhoto":case"enableCoverPhoto":this.header.dataset.disableCoverPhoto="disableCoverPhoto"===e.actionName?"true":"false",t=document.querySelector(".userProfileButtonMenu .jsButtonUserDisableCoverPhoto"),t.textContent=a.get("wcf.user."+("disableCoverPhoto"===e.actionName?"enable":"disable")+"CoverPhoto");break;case"disableSignature":case"enableSignature":this.header.dataset.disableSignature="disableSignature"===e.actionName?"true":"false",t=document.querySelector(".userProfileButtonMenu .jsButtonUserDisableSignature"),t.textContent=a.get("wcf.user."+("disableSignature"===e.actionName?"enable":"disable")+"Signature");break;case"enable":case"disable":this.header.dataset.isDisabled="disable"===e.actionName?"true":"false",t=document.querySelector(".userProfileButtonMenu .jsButtonUserEnable"),t.textContent=a.get("wcf.acp.user."+("enable"===e.actionName?"disable":"enable"))}-1!==["ban","disableAvatar","disableCoverPhoto","disableSignature"].indexOf(e.actionName)&&l.default.close(this),c.show()}_ajaxSetup(){return{data:{className:"wcf\\data\\user\\UserAction",objectIDs:[+this.header.dataset.objectId]}}}_dialogSetup(){return{id:"wcfUiUserEditor",options:{onSetup:e=>{const t=document.getElementById("wcfUiUserEditorNeverExpires");t.addEventListener("change",(()=>{const e=document.getElementById("wcfUiUserEditorExpiresSettings");r.default[t.checked?"hide":"show"](e)}));e.querySelector("button.buttonPrimary").addEventListener("click",this._submit.bind(this))},onShow:e=>{l.default.setTitle("wcfUiUserEditor",a.get("wcf.user."+this.actionName+".confirmMessage"));let t=document.getElementById("wcfUiUserEditorReason").nextElementSibling;const i="wcf.user."+this.actionName+".reason.description";t.textContent=a.get(i),t.textContent===i?r.default.hide(t):r.default.show(t),t=document.getElementById("wcfUiUserEditorNeverExpires").nextElementSibling,t.textContent=a.get("wcf.user."+this.actionName+".neverExpires"),t=e.querySelector('label[for="wcfUiUserEditorExpires"]'),t.textContent=a.get("wcf.user."+this.actionName+".expires"),t=document.getElementById("wcfUiUserEditorExpiresLabel"),t.textContent=a.get("wcf.user."+this.actionName+".expires.description")}},source:`<div class="section">\n <dl>\n <dt><label for="wcfUiUserEditorReason">${a.get("wcf.global.reason")}</label></dt>\n <dd><textarea id="wcfUiUserEditorReason" cols="40" rows="3"></textarea><small></small></dd>\n </dl>\n <dl>\n <dt></dt>\n <dd><label><input type="checkbox" id="wcfUiUserEditorNeverExpires" checked> <span></span></label></dd>\n </dl>\n <dl id="wcfUiUserEditorExpiresSettings" style="display: none">\n <dt><label for="wcfUiUserEditorExpires"></label></dt>\n <dd>\n <input type="date" name="wcfUiUserEditorExpires" id="wcfUiUserEditorExpires" class="medium" min="${new Date(1e3*window.TIME_NOW).toISOString()}" data-ignore-timezone="true">\n <small id="wcfUiUserEditorExpiresLabel"></small>\n </dd>\n </dl>\n </div>\n <div class="formSubmit">\n <button class="buttonPrimary">${a.get("wcf.global.button.submit")}</button>\n </div>`}}}t.init=function(){new d}})),define("WoltLabSuite/Core/Ui/User/List",["require","exports","tslib","../../Ajax","../../Core","../../Dom/Util","../Dialog","../Pagination"],(function(e,t,i,n,o,r,a,s){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importDefault(a),s=i.__importDefault(s);class l{constructor(e){this.cache=new Map,this.pageCount=0,this.pageNo=1,this.options=o.extend({className:"",dialogTitle:"",parameters:{}},e)}open(){this.pageNo=1,this.showPage()}showPage(e){if("number"==typeof e&&(this.pageNo=+e),0!==this.pageCount&&(this.pageNo<1||this.pageNo>this.pageCount))throw new RangeError(`pageNo must be between 1 and ${this.pageCount} (${this.pageNo} given).`);if(this.cache.has(this.pageNo)){const e=a.default.open(this,this.cache.get(this.pageNo));if(this.pageCount>1){const t=e.content.querySelector(".jsPagination");null!==t&&new s.default(t,{activePage:this.pageNo,maxPage:this.pageCount,callbackSwitch:this.showPage.bind(this)});const i=e.content.parentElement;i.scrollTop>0&&(i.scrollTop=0)}}else this.options.parameters.pageNo=this.pageNo,n.api(this,{parameters:this.options.parameters})}_ajaxSuccess(e){void 0!==e.returnValues.pageCount&&(this.pageCount=~~e.returnValues.pageCount),this.cache.set(this.pageNo,e.returnValues.template),this.showPage()}_ajaxSetup(){return{data:{actionName:"getGroupedUserList",className:this.options.className,interfaceName:"wcf\\data\\IGroupedUserListAction"}}}_dialogSetup(){return{id:r.default.getUniqueId(),options:{title:this.options.dialogTitle},source:null}}}return o.enableLegacyInheritance(l),l})),define("WoltLabSuite/Core/Ui/User/PasswordStrength",["require","exports","tslib","../../Language","../../Dom/Util"],(function(e,t,i,n,o){"use strict";function r(e){return[].concat(e,e.split(/\W+/))}var a;n=i.__importStar(n),o=i.__importDefault(o);const s=[],l=null===(a=document.querySelector('meta[property="og:site_name"]'))||void 0===a?void 0:a.getAttribute("content");l&&s.push(l);return class{constructor(t,o){this.input=t,this.relatedInputs=[],this.staticDictionary=[],this.score=document.createElement("span"),this.verdictResult=document.createElement("input"),new Promise(((t,i)=>{e(["zxcvbn"],t,i)})).then(i.__importStar).then((({default:e})=>{this.zxcvbn=e,o.relatedInputs&&(this.relatedInputs=o.relatedInputs),o.staticDictionary&&(this.staticDictionary=o.staticDictionary),this.feedbacker=function(e){const t={};return Object.entries(e.default_phrases).forEach((([e,i])=>{t[e]={},Object.entries(i).forEach((([i,o])=>{const r=`wcf.user.password.zxcvbn.${e}.${i}`,a=n.get(r);t[e][i]=a!==r?a:o}))})),new e(t)}(e.Feedback);const t=this.input.closest(".inputAddon");if(null===t)throw new Error("Expected a parent with `.inputAddon`.");this.wrapper=t,this.wrapper.classList.add("inputAddonPasswordStrength");const i=document.createElement("div");i.className="passwordStrengthRating";const r=document.createElement("small");r.textContent=n.get("wcf.user.password.strength"),i.appendChild(r),this.score.className="passwordStrengthScore",this.score.dataset.score="-1",i.appendChild(this.score),this.wrapper.appendChild(i),this.verdictResult.type="hidden",this.verdictResult.name=`${this.input.name}_passwordStrengthVerdict`,this.wrapper.parentNode.insertBefore(this.verdictResult,this.wrapper),this.input.addEventListener("input",(e=>this.evaluate(e))),this.relatedInputs.forEach((e=>e.addEventListener("input",(e=>this.evaluate(e))))),""!==this.input.value.trim()&&this.evaluate()}))}evaluate(e){const t=(i=s.concat(this.staticDictionary,this.relatedInputs.map((e=>e.value.trim()))),n=r,i.map(n).reduce(((e,t)=>e.concat(t)),[])).filter((e=>e.length>0));var i,n;const a=this.input.value.trim(),l=this.zxcvbn(a.substr(0,100),t);l.feedback=this.feedbacker.from_result(l),this.score.dataset.score=0===a.length?"-1":l.score.toString(),void 0!==e&&o.default.innerError(this.wrapper,l.feedback.warning),this.verdictResult.value=JSON.stringify(l)}}})),define("WoltLabSuite/Core/Controller/Condition/Page/Dependence",["require","exports","tslib","../../../Dom/Util","../../../Event/Handler"],(function(e,t,i,n,o){"use strict";function r(){s.forEach((e=>{const t=l.get(e),i=[];a.forEach((e=>{e.checked&&i.push(~~e.value)}));const o=i.filter((e=>t.includes(e)));!i.length||o.length?function(e){n.default.hide(e);c.get(e).forEach((e=>n.default.hide(e))),c.set(e,[])}(e):function(e){n.default.show(e);let t=e;for(;(t=t.parentElement)&&t;)n.default.isHidden(t)&&c.get(e).push(t),n.default.show(t)}(e)})),o.fire("com.woltlab.wcf.pageConditionDependence","checkVisivility")}Object.defineProperty(t,"__esModule",{value:!0}),t.register=void 0,n=i.__importDefault(n),o=i.__importStar(o);const a=Array.from(document.querySelectorAll('input[name="pageIDs[]"]')),s=[],l=new WeakMap,c=new WeakMap;let d=!1;t.register=function(e,t){s.push(e),l.set(e,t),c.set(e,[]),d||(a.forEach((e=>{e.addEventListener("change",(()=>r()))})),d=!0),e.closest("form").addEventListener("submit",(()=>{n.default.isHidden(e)&&e.remove()})),r()}})),define("WoltLabSuite/Core/Controller/Map/Route/Planner",["require","exports","tslib","../../../Ajax/Status","../../../Core","../../../Dom/Util","../../../Language","../../../Ui/Dialog"],(function(e,t,i,n,o,r,a,s){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importStar(a),s=i.__importDefault(s);class l{constructor(e,t){this.didInitDialog=!1,this.directionsRenderer=void 0,this.directionsService=void 0,this.googleLink=void 0,this.lastOrigin=void 0,this.map=void 0,this.originInput=void 0,this.travelMode=void 0;const i=document.getElementById(e);if(null===i)throw new Error(`Unknown button with id '${e}'`);this.button=i,this.button.addEventListener("click",(e=>this.openDialog(e))),this.destination=t}_calculateRoute(e){const t=s.default.getDialog(this).dialog;if(e.label&&(this.originInput.value=e.label),void 0===this.map){const e=t.querySelector(".googleMap");this.map=new google.maps.Map(e,{disableDoubleClickZoom:window.WCF.Location.GoogleMaps.Settings.get("disableDoubleClickZoom"),draggable:window.WCF.Location.GoogleMaps.Settings.get("draggable"),mapTypeId:google.maps.MapTypeId.ROADMAP,scaleControl:window.WCF.Location.GoogleMaps.Settings.get("scaleControl"),scrollwheel:window.WCF.Location.GoogleMaps.Settings.get("scrollwheel")}),this.directionsService=new google.maps.DirectionsService,this.directionsRenderer=new google.maps.DirectionsRenderer,this.directionsRenderer.setMap(this.map);const i=t.querySelector(".googleMapsDirections");this.directionsRenderer.setPanel(i),this.googleLink=t.querySelector(".googleMapsDirectionsGoogleLink")}const i={destination:this.destination,origin:e.location,provideRouteAlternatives:!0,travelMode:google.maps.TravelMode[this.travelMode.value.toUpperCase()]};n.show(),this.directionsService.route(i,((e,t)=>this.setRoute(e,t))),this.googleLink.href=this.getGoogleMapsLink(e.location,this.travelMode.value),this.lastOrigin=e.location}getGoogleMapsLink(e,t){if(e){let i=`https://www.google.com/maps/dir/?api=1&origin=${e.lat()},${e.lng()}&destination=${this.destination.lat()},${this.destination.lng()}`;return t&&(i+=`&travelmode=${t}`),i}return`https://www.google.com/maps/search/?api=1&query=${this.destination.lat()},${this.destination.lng()}`}initDialog(){if(!this.didInitDialog){const e=s.default.getDialog(this).dialog;this.originInput=e.querySelector('input[name="origin"]'),new window.WCF.Location.GoogleMaps.LocationSearch(this.originInput,(e=>this._calculateRoute(e))),this.travelMode=e.querySelector('select[name="travelMode"]'),this.travelMode.addEventListener("change",this.updateRoute.bind(this)),this.didInitDialog=!0}}openDialog(e){e.preventDefault(),s.default.open(this)}setRoute(e,t){n.hide(),"OK"===t?(r.default.show(this.map.getDiv().parentElement),google.maps.event.trigger(this.map,"resize"),this.directionsRenderer.setDirections(e),r.default.show(this.travelMode.closest("dl")),r.default.show(this.googleLink),r.default.innerError(this.originInput,!1)):("OVER_QUERY_LIMIT"!==t&&"REQUEST_DENIED"!==t&&(t=google.maps.DirectionsStatus.NOT_FOUND),r.default.innerError(this.originInput,a.get(`wcf.map.route.error.${t.toLowerCase()}`)))}updateRoute(){this._calculateRoute({location:this.lastOrigin})}_dialogSetup(){return{id:this.button.id+"Dialog",options:{onShow:this.initDialog.bind(this),title:a.get("wcf.map.route.planner")},source:`\n<div class="googleMapsDirectionsContainer" style="display: none;">\n <div class="googleMap"></div>\n <div class="googleMapsDirections"></div>\n</div>\n<small class="googleMapsDirectionsGoogleLinkContainer">\n <a href="${this.getGoogleMapsLink()}" class="googleMapsDirectionsGoogleLink" target="_blank" style="display: none;">${a.get("wcf.map.route.viewOnGoogleMaps")}</a>\n</small>\n<dl>\n <dt>${a.get("wcf.map.route.origin")}</dt>\n <dd>\n <input type="text" name="origin" class="long" autofocus>\n </dd>\n</dl>\n<dl style="display: none;">\n <dt>${a.get("wcf.map.route.travelMode")}</dt>\n <dd>\n <select name="travelMode">\n <option value="driving">${a.get("wcf.map.route.travelMode.driving")}</option>\n <option value="walking">${a.get("wcf.map.route.travelMode.walking")}</option>\n <option value="bicycling">${a.get("wcf.map.route.travelMode.bicycling")}</option>\n <option value="transit">${a.get("wcf.map.route.travelMode.transit")}</option>\n </select>\n </dd>\n</dl>`}}}return o.enableLegacyInheritance(l),l})),define("WoltLabSuite/Core/Controller/User/Notification/Settings",["require","exports","tslib","../../../Language","../../../Ui/Dropdown/Reusable"],(function(e,t,i,n,o){"use strict";function r(e){e.preventDefault(),e.stopPropagation();const t=e.currentTarget;var i,r;l=~~t.dataset.objectId,function(){if(s)return;s=document.createElement("ul"),s.className="dropdownMenu",["instant","daily","divider","none"].forEach((e=>{const t=document.createElement("li");if("divider"===e)t.className="dropdownDivider";else{const i=document.createElement("a");i.href="#",i.textContent=n.get(`wcf.user.notification.mailNotificationType.${e}`),t.appendChild(i),t.dataset.value=e,t.addEventListener("click",(e=>function(e){e.preventDefault();const t=e.currentTarget.dataset.value;a().value=t;const i=document.querySelector(`.notificationSettingsEmailType[data-object-id="${l}"]`);i.title=n.get(`wcf.user.notification.mailNotificationType.${t}`);const o=i.querySelector(".jsIconNotificationSettingsEmailType");switch(o.classList.remove("fa-clock-o","fa-flash","fa-times","green","red"),t){case"daily":o.classList.add("fa-clock-o","green");break;case"instant":o.classList.add("fa-flash","green");break;case"none":o.classList.add("fa-times","red")}l=0}(e)))}s.appendChild(t)})),o.init("UiNotificationSettingsEmailType",s)}(),i=a().value,s.querySelectorAll("li").forEach((e=>{e.dataset.value===i?e.classList.add("active"):e.classList.remove("active")})),r=t,o.toggleDropdown("UiNotificationSettingsEmailType",r)}function a(){return document.getElementById(`settings_${l}_mailNotificationType`)}let s;Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,n=i.__importStar(n),o=i.__importStar(o);let l=0;t.init=function(){document.querySelectorAll(".jsCheckboxNotificationSettingsState").forEach((e=>{e.addEventListener("change",(e=>function(e){const t=e.currentTarget,i=~~t.dataset.objectId,n=document.querySelector(`.notificationSettingsEmailType[data-object-id="${i}"]`);null!==n&&(t.checked?n.classList.remove("disabled"):n.classList.add("disabled"))}(e)))})),document.querySelectorAll(".notificationSettingsEmailType").forEach((e=>{e.addEventListener("click",(e=>r(e)))}))}})),define("WoltLabSuite/Core/Form/Builder/Container/SuffixFormField",["require","exports","tslib","../../../Ui/Dropdown/Simple","../../../Event/Handler","../../../Core"],(function(e,t,i,n,o,r){"use strict";n=i.__importDefault(n),o=i.__importStar(o),r=i.__importStar(r);class a{constructor(e,t){this._formId=e,this._suffixField=document.getElementById(t),this._suffixDropdownMenu=n.default.getDropdownMenu(t+"_dropdown"),this._suffixDropdownToggle=n.default.getDropdown(t+"_dropdown").getElementsByClassName("dropdownToggle")[0],Array.from(this._suffixDropdownMenu.children).forEach((e=>{e.addEventListener("click",(e=>this._changeSuffixSelection(e)))})),o.add("WoltLabSuite/Core/Form/Builder/Manager","afterUnregisterForm",(e=>this._destroyDropdown(e)))}_changeSuffixSelection(e){const t=e.currentTarget;t.classList.contains("disabled")||(Array.from(this._suffixDropdownMenu.children).forEach((e=>{e===t?e.classList.add("active"):e.classList.remove("active")})),this._suffixField.value=t.dataset.value,this._suffixDropdownToggle.innerHTML=t.dataset.label+' <span class="icon icon16 fa-caret-down pointer"></span>')}_destroyDropdown(e){e.formId===this._formId&&n.default.destroy(this._suffixDropdownMenu.id)}}return r.enableLegacyInheritance(a),a})),define("WoltLabSuite/Core/Form/Builder/Field/Acl",["require","exports","tslib","./Field","../../../Core"],(function(e,t,i,n,o){"use strict";n=i.__importDefault(n),o=i.__importStar(o);class r extends n.default{_getData(){return{[this._fieldId]:this._aclList.getData()}}_readField(){}setAclList(e){return this._aclList=e,this}}return o.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Form/Builder/Field/Button",["require","exports","tslib","./Field"],(function(e,t,i,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Button=void 0,n=i.__importDefault(n);class o extends n.default{_getData(){const e={};return"1"===this._field.dataset.isClicked&&(e[this._fieldId]=this._field.value),e}}t.Button=o,t.default=o})),define("WoltLabSuite/Core/Form/Builder/Field/Captcha",["require","exports","tslib","./Field","../../../Controller/Captcha","../../../Core"],(function(e,t,i,n,o,r){"use strict";n=i.__importDefault(n),o=i.__importDefault(o),r=i.__importStar(r);class a extends n.default{_getData(){return o.default.has(this._fieldId)?o.default.getData(this._fieldId):{}}_readField(){}destroy(){o.default.has(this._fieldId)&&o.default.delete(this._fieldId)}}return r.enableLegacyInheritance(a),a})),define("WoltLabSuite/Core/Form/Builder/Field/Checkboxes",["require","exports","tslib","./Field","../../../Core"],(function(e,t,i,n,o){"use strict";n=i.__importDefault(n),o=i.__importStar(o);class r extends n.default{_getData(){const e=this._fields.map((e=>e.checked?e.value:null)).filter((e=>null!==e));return{[this._fieldId]:e}}_readField(){this._fields=Array.from(document.querySelectorAll(`input[name="${this._fieldId}[]"]`))}}return o.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Form/Builder/Field/Checked",["require","exports","tslib","./Field","../../../Core"],(function(e,t,i,n,o){"use strict";n=i.__importDefault(n),o=i.__importStar(o);class r extends n.default{_getData(){return{[this._fieldId]:this._field.checked?1:0}}}return o.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Form/Builder/Field/Date",["require","exports","tslib","./Field","../../../Date/Picker","../../../Core"],(function(e,t,i,n,o,r){"use strict";n=i.__importDefault(n),o=i.__importDefault(o),r=i.__importStar(r);class a extends n.default{_getData(){return{[this._fieldId]:o.default.getValue(this._field)}}}return r.enableLegacyInheritance(a),a})),define("WoltLabSuite/Core/Form/Builder/Field/ItemList",["require","exports","tslib","./Field","../../../Ui/ItemList/Static","../../../Core"],(function(e,t,i,n,o,r){"use strict";n=i.__importDefault(n),o=i.__importStar(o),r=i.__importStar(r);class a extends n.default{_getData(){const e=[];return o.getValues(this._fieldId).forEach((t=>{t.objectId?e[t.objectId]=t.value:e.push(t.value)})),{[this._fieldId]:e}}}return r.enableLegacyInheritance(a),a})),define("WoltLabSuite/Core/Form/Builder/Field/RadioButton",["require","exports","tslib","./Field","../../../Core"],(function(e,t,i,n,o){"use strict";n=i.__importDefault(n),o=i.__importStar(o);class r extends n.default{_getData(){const e={};return this._fields.some((t=>!!t.checked&&(e[this._fieldId]=t.value,!0))),e}_readField(){this._fields=Array.from(document.querySelectorAll("input[name="+this._fieldId+"]"))}}return o.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Form/Builder/Field/SimpleAcl",["require","exports","tslib","./Field","../../../Core"],(function(e,t,i,n,o){"use strict";n=i.__importDefault(n),o=i.__importStar(o);class r extends n.default{_getData(){const e=Array.from(document.querySelectorAll('input[name="'+this._fieldId+'[group][]"]')).map((e=>e.value)),t=Array.from(document.querySelectorAll('input[name="'+this._fieldId+'[user][]"]')).map((e=>e.value));return{[this._fieldId]:{group:e,user:t}}}_readField(){}}return o.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Form/Builder/Field/Tag",["require","exports","tslib","./Field","../../../Ui/ItemList","../../../Core"],(function(e,t,i,n,o,r){"use strict";n=i.__importDefault(n),o=i.__importStar(o),r=i.__importStar(r);class a extends n.default{_getData(){const e=o.getValues(this._fieldId).map((e=>e.value));return{[this._fieldId]:e}}}return r.enableLegacyInheritance(a),a})),define("WoltLabSuite/Core/Form/Builder/Field/User",["require","exports","tslib","./Field","../../../Core","../../../Ui/ItemList"],(function(e,t,i,n,o,r){"use strict";n=i.__importDefault(n),o=i.__importStar(o),r=i.__importStar(r);class a extends n.default{_getData(){const e=r.getValues(this._fieldId).map((e=>e.value));return{[this._fieldId]:e.join(",")}}}return o.enableLegacyInheritance(a),a})),define("WoltLabSuite/Core/Form/Builder/Field/Value",["require","exports","tslib","./Field","../../../Core"],(function(e,t,i,n,o){"use strict";n=i.__importDefault(n),o=i.__importStar(o);class r extends n.default{_getData(){return{[this._fieldId]:this._field.value}}}return o.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Form/Builder/Field/ValueI18n",["require","exports","tslib","./Field","../../../Language/Input","../../../Core"],(function(e,t,i,n,o,r){"use strict";n=i.__importDefault(n),o=i.__importStar(o),r=i.__importStar(r);class a extends n.default{_getData(){const e={},t=o.getValues(this._fieldId);return t.size>1?t.forEach(((t,i)=>{e[this._fieldId+"_i18n"][i]=t})):e[this._fieldId]=t.get(0),e}destroy(){o.unregister(this._fieldId)}}return r.enableLegacyInheritance(a),a})),define("WoltLabSuite/Core/Ui/Comment/Response/Add",["require","exports","tslib","../../../Core","../../../Dom/Change/Listener","../../../Dom/Util","../../../Language","../Add","../../Notification"],(function(e,t,i,n,o,r,a,s,l){"use strict";n=i.__importStar(n),o=i.__importDefault(o),r=i.__importDefault(r),a=i.__importStar(a),s=i.__importDefault(s),l=i.__importStar(l);class c extends s.default{constructor(e,t){super(e),this._options=n.extend({callbackInsert:null},t)}getContainer(){return this._container}getContent(){return window.jQuery(this._textarea).redactor("code.get")}setContent(e){window.jQuery(this._textarea).redactor("code.set",e),window.jQuery(this._textarea).redactor("WoltLabCaret.endOfEditor");const t=this._textarea.parentElement.querySelector(".innerError");null!==t&&t.remove(),this._content.classList.remove("collapsed"),this._focusEditor()}_getParameters(){const e=super._getParameters(),t=this._container.closest(".comment");return e.data.commentID=~~t.dataset.objectId,e}_insertMessage(e){const t=this._container.parentElement.querySelector(".commentContent");let i=t.nextElementSibling;return null!==i&&i.classList.contains("commentResponseList")||(i=document.createElement("ul"),i.className="containerList commentResponseList",i.dataset.responses="0",t.insertAdjacentElement("afterend",i)),r.default.insertHtml(e.returnValues.template,i,"append"),l.show(a.get("wcf.global.success.add")),o.default.trigger(),window.jQuery(this._textarea).redactor("code.set",""),null!==this._options.callbackInsert&&this._options.callbackInsert(),i.dataset.responses=i.children.length.toString(),i.lastElementChild}_ajaxSetup(){const e=super._ajaxSetup();return e.data.actionName="addResponse",e}}return n.enableLegacyInheritance(c),c})),define("WoltLabSuite/Core/Ui/Comment/Response/Edit",["require","exports","tslib","../../../Ajax","../../../Core","../../../Dom/Change/Listener","../../../Dom/Util","../Edit","../../Notification"],(function(e,t,i,n,o,r,a,s,l){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importDefault(a),s=i.__importDefault(s),l=i.__importStar(l);class c extends s.default{constructor(e){super(e),this._responses=new WeakSet,this.rebuildResponses(),r.default.add("Ui/Comment/Response/Edit_"+a.default.identify(this._container),(()=>this.rebuildResponses()))}rebuild(){}rebuildResponses(){this._container.querySelectorAll(".commentResponse").forEach((e=>{if(!this._responses.has(e)){if(o.stringToBool(e.dataset.canEdit||"")){const t=e.querySelector(".jsCommentResponseEditButton");null!==t&&t.addEventListener("click",(e=>this._click(e)))}this._responses.add(e)}}))}_click(e){if(e.preventDefault(),null===this._activeElement){const t=e.currentTarget;this._activeElement=t.closest(".commentResponse"),this._prepare(),n.api(this,{actionName:"beginEdit",objectIDs:[this._getObjectId(this._activeElement)]})}else l.show("wcf.message.error.editorAlreadyInUse",null,"warning")}_prepare(){this._editorContainer=document.createElement("div"),this._editorContainer.className="commentEditorContainer",this._editorContainer.innerHTML='<span class="icon icon48 fa-spinner"></span>';const e=this._activeElement.querySelector(".commentResponseContent");e.insertBefore(this._editorContainer,e.firstChild)}_showMessage(e){const t=this._editorContainer.parentElement;a.default.setInnerHtml(t.querySelector(".commentResponseContent .userMessage"),e.returnValues.message),this._restoreMessage(),l.show()}_getEditorId(){return`commentResponseEditor${this._getObjectId(this._activeElement)}`}_ajaxSetup(){return{data:{className:"wcf\\data\\comment\\response\\CommentResponseAction",parameters:{data:{objectTypeID:~~this._container.dataset.objectTypeId}}},silent:!0}}}return o.enableLegacyInheritance(c),c})),define("WoltLabSuite/Core/Ui/Message/InlineEditor/Data",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})})),define("WoltLabSuite/Core/Ui/Moderation/Clipboard/AssignUser",["require","exports","tslib","../../../Event/Handler","../../Notification","../../../User","../../../StringUtil","../../../Language","../../User/Search/Input","../../../Dom/Traverse","../../../Ajax","../../../Dom/Util","../../Dialog"],(function(e,t,i,n,o,r,a,s,l,c,d,u,h){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importDefault(l),c=i.__importStar(c),d=i.__importStar(d),u=i.__importDefault(u),h=i.__importDefault(h);class p{constructor(){this.queueIds=[]}_ajaxFailure(e){var t;if("assignedUsername"===(null===(t=e.returnValues)||void 0===t?void 0:t.fieldName)){let t="";const i=h.default.getDialog(this).content.querySelector("input[name=assignedUsername]"),n=e.returnValues.errorType;switch(n){case"empty":t=s.get("wcf.global.form.error.empty");break;case"notAffected":t=s.get("wcf.moderation.assignedUser.error.notAffected");break;default:t=s.get(`wcf.user.username.error.${n}`,{username:i.value})}return u.default.innerError(i,t),!1}return!0}_ajaxSetup(){return{data:{actionName:"assignUserByClipboard",className:"wcf\\data\\moderation\\queue\\ModerationQueueAction"}}}_ajaxSuccess(){h.default.close(this),o.show(void 0,(()=>window.location.reload()))}_dialogSetup(){const e=()=>this.submitDialog();return{id:"moderationQueueClipboardAssignUser",options:{onSetup(t){const i=t.querySelector("input[name=assignedUsername]");new l.default(i,{}),i.addEventListener("click",(e=>{c.prevBySel(e.currentTarget,"input[name=assignedUserID]").click()})),t.querySelector("button[data-type=submit]").addEventListener("click",e)},onShow(e){const t=e.querySelector("input[name=assignedUsername]");e.querySelectorAll("input[name=assignedUserID]").forEach((e=>e.checked=e.defaultChecked)),t.value="",u.default.innerError(t,"")},title:s.get("wcf.moderation.assignedUser.change")},source:`\n<div class="section">\n <dl>\n <dt>${s.get("wcf.moderation.assignedUser")}</dt>\n <dd>\n <ul>\n <li>\n <label>\n <input type="radio" name="assignedUserID" value="${r.default.userId}" checked>\n ${a.escapeHTML(r.default.username)}\n </label>\n </li>\n <li>\n <label>\n <input type="radio" name="assignedUserID" value="0">\n ${s.get("wcf.moderation.assignedUser.nobody")}\n </label>\n </li>\n <li>\n <input type="radio" name="assignedUserID" value="-1">\n <input type="text" name="assignedUsername" value="">\n </li>\n </ul>\n </dd>\n </dl>\n</div>\n<div class="formSubmit">\n <button class="buttonPrimary" data-type="submit">${s.get("wcf.global.button.save")}</button>\n</div>`}}showDialog(e){this.queueIds=e,h.default.open(this)}submitDialog(){const e=h.default.getDialog(this).content,t=e.querySelector("input[name=assignedUserID]:checked"),i=e.querySelector("input[name=assignedUsername]");d.api(this,{objectIDs:this.queueIds,parameters:{assignedUserID:t.value,assignedUsername:i.value}})}}let m=!1;t.setup=function(){if(m)return;const e=new p;n.add("com.woltlab.wcf.clipboard","com.woltlab.wcf.moderation.queue",(t=>{"com.woltlab.wcf.moderation.queue.assignUserByClipboard"===t.data.actionName&&null===t.responseData&&e.showDialog(t.data.parameters.objectIDs)})),m=!0}})),define("WoltLabSuite/Core/Ui/Page/Header/Fixed",["require","exports","tslib","../../../Event/Handler","../../Alignment","../../CloseOverlay","../../Dropdown/Simple","../../Screen"],(function(e,t,i,n,o,r,a,s){"use strict";function l(){h=document.getElementById("pageHeaderSearch"),h.addEventListener("click",(e=>e.stopPropagation())),u=document.getElementById("pageHeaderPanel"),p=document.getElementById("pageHeaderSearchInput"),m=document.getElementById("topMenu"),f=document.getElementById("userPanelSearchButton"),f.addEventListener("click",(e=>{e.preventDefault(),e.stopPropagation(),d.classList.contains("searchBarOpen")?c():function(){window.WCF.Dropdown.Interactive.Handler.closeAll(),d.classList.add("searchBarOpen"),f.parentElement.classList.add("open"),g||o.set(h,m,{horizontal:"right"});h.style.setProperty("top",`${u.clientHeight}px`,""),p.focus(),window.setTimeout((()=>{p.selectionStart=p.selectionEnd=p.value.length}),1)}()})),r.default.add("WoltLabSuite/Core/Ui/Page/Header/Fixed",(()=>{d.classList.contains("searchBarForceOpen")||c()})),n.add("com.woltlab.wcf.MainMenuMobile","more",(e=>{"com.woltlab.wcf.search"===e.identifier&&(e.handler.close(!0),f.click())}))}function c(){d.classList.remove("searchBarOpen"),f.parentElement.classList.remove("open"),["bottom","left","right","top"].forEach((e=>{h.style.removeProperty(e)})),p.blur();const e=h.querySelector(".pageHeaderSearchType");a.default.close(e.id)}Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importDefault(a),s=i.__importStar(s);let d,u,h,p,m,f,g=!1;t.init=function(){d=document.getElementById("pageHeader"),l(),s.on("screen-md-down",{match(){g=!0},unmatch(){g=!1},setup(){g=!0}}),n.add("com.woltlab.wcf.Search","close",c)}})),define("WoltLabSuite/Core/Ui/Page/Search/Input",["require","exports","tslib","../../../Core","../../Search/Input"],(function(e,t,i,n,o){"use strict";n=i.__importStar(n),o=i.__importDefault(o);class r extends o.default{constructor(e,t){if("function"!=typeof t.callbackSuccess)throw new Error("Expected a valid callback function for 'callbackSuccess'.");super(e,t=n.extend({ajax:{className:"wcf\\data\\page\\PageAction"}},t)),this.callbackSuccess=t.callbackSuccess,this.pageId=0}setPageId(e){this.pageId=e}getParameters(e){const t=super.getParameters(e);return t.objectIDs=[this.pageId],t}_ajaxSuccess(e){this.callbackSuccess(e)}}return n.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Ui/Page/Search/Handler",["require","exports","tslib","../../../Language","../../../StringUtil","../../../Dom/Util","../../Dialog","./Input"],(function(e,t,i,n,o,r,a,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.open=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importDefault(a),s=i.__importDefault(s);class l{constructor(){this.callbackSuccess=void 0,this.resultList=void 0,this.resultListContainer=void 0,this.searchInput=void 0,this.searchInputHandler=void 0,this.searchInputLabel=void 0}open(e,t,i,o){this.callbackSuccess=i,a.default.open(this),a.default.setTitle(this,t),this.searchInputLabel.textContent=n.get(o||"wcf.page.pageObjectID.search.terms"),this._getSearchInputHandler().setPageId(e)}buildList(e){this.resetList(),Array.isArray(e.returnValues)&&0!==e.returnValues.length?(e.returnValues.forEach((e=>{let t=e.image;/^fa-/.test(t)&&(t=`<span class="icon icon48 ${t} pointer jsTooltip" title="${n.get("wcf.global.select")}"></span>`);const i=document.createElement("li");i.dataset.objectId=e.objectID.toString();const r=e.description?`<p>${e.description}</p>`:"";i.innerHTML=`<div class="box48">\n ${t}\n <div>\n <div class="containerHeadline">\n <h3>\n <a href="${o.escapeHTML(e.link)}">${o.escapeHTML(e.title)}</a>\n </h3>\n ${r}\n </div>\n </div>\n </div>`,i.addEventListener("click",this.click.bind(this)),this.resultList.appendChild(i)})),r.default.show(this.resultListContainer)):r.default.innerError(this.searchInput,n.get("wcf.page.pageObjectID.search.noResults"))}resetList(){r.default.innerError(this.searchInput,!1),this.resultList.innerHTML="",r.default.hide(this.resultListContainer)}_getSearchInputHandler(){if(!this.searchInputHandler){const e=document.getElementById("wcfUiPageSearchInput");this.searchInputHandler=new s.default(e,{callbackSuccess:this.buildList.bind(this)})}return this.searchInputHandler}click(e){if("A"===e.target.nodeName)return;e.stopPropagation();const t=e.currentTarget;this.callbackSuccess(+t.dataset.objectId),a.default.close(this)}_dialogSetup(){return{id:"wcfUiPageSearchHandler",options:{onShow:e=>{this.searchInput||(this.searchInput=document.getElementById("wcfUiPageSearchInput"),this.searchInputLabel=e.querySelector('label[for="wcfUiPageSearchInput"]'),this.resultList=document.getElementById("wcfUiPageSearchResultList"),this.resultListContainer=document.getElementById("wcfUiPageSearchResultListContainer")),this.searchInput.value="",r.default.hide(this.resultListContainer),this.resultList.innerHTML="",this.searchInput.focus()},title:""},source:`<div class="section">\n <dl>\n <dt>\n <label for="wcfUiPageSearchInput">${n.get("wcf.page.pageObjectID.search.terms")}</label>\n </dt>\n <dd>\n <input type="text" id="wcfUiPageSearchInput" class="long">\n </dd>\n </dl>\n </div>\n <section id="wcfUiPageSearchResultListContainer" class="section sectionContainerList">\n <header class="sectionHeader">\n <h2 class="sectionTitle">${n.get("wcf.page.pageObjectID.search.results")}</h2>\n </header>\n <ul id="wcfUiPageSearchResultList" class="containerList wcfUiPageSearchResultList"></ul>\n </section>`}}}let c;t.open=function(e,t,i,n){(c||(c=new l),c).open(e,t,i,n)}})),define("WoltLabSuite/Core/Ui/Reaction/Profile/Loader",["require","exports","tslib","../../../Ajax","../../../Core","../../../Dom/Util","../../../Language"],(function(e,t,i,n,o,r,a){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importStar(a);class s{constructor(e){if(this._reactionTypeID=null,this._targetType="received",this._container=document.getElementById("likeList"),this._userID=e,this._options={parameters:{}},!this._userID)throw new Error("[WoltLabSuite/Core/Ui/Reaction/Profile/Loader] Invalid parameter 'userID' given.");const t=document.createElement("li");t.className="likeListMore showMore",this._noMoreEntries=document.createElement("small"),this._noMoreEntries.innerHTML=a.get("wcf.like.reaction.noMoreEntries"),this._noMoreEntries.style.display="none",t.appendChild(this._noMoreEntries),this._loadButton=document.createElement("button"),this._loadButton.className="small",this._loadButton.innerHTML=a.get("wcf.like.reaction.more"),this._loadButton.addEventListener("click",(()=>this._loadReactions())),this._loadButton.style.display="none",t.appendChild(this._loadButton),this._container.appendChild(t),2===document.querySelectorAll("#likeList > li").length?this._noMoreEntries.style.display="":this._loadButton.style.display="",this._setupReactionTypeButtons(),this._setupTargetTypeButtons()}_setupReactionTypeButtons(){document.querySelectorAll("#reactionType .button").forEach((e=>{e.addEventListener("click",(()=>this._changeReactionTypeValue(~~e.dataset.reactionTypeId)))}))}_setupTargetTypeButtons(){document.querySelectorAll("#likeType .button").forEach((e=>{e.addEventListener("click",(()=>this._changeTargetType(e.dataset.likeType)))}))}_changeTargetType(e){if("given"!==e&&"received"!==e)throw new Error("[WoltLabSuite/Core/Ui/Reaction/Profile/Loader] Invalid parameter 'targetType' given.");e!==this._targetType&&(document.querySelector("#likeType .button.active").classList.remove("active"),document.querySelector(`#likeType .button[data-like-type="${e}"]`).classList.add("active"),this._targetType=e,this._reload())}_changeReactionTypeValue(e){const t=document.querySelector("#reactionType .button.active");t&&t.classList.remove("active"),this._reactionTypeID!==e?(document.querySelector(`#reactionType .button[data-reaction-type-id="${e}"]`).classList.add("active"),this._reactionTypeID=e):this._reactionTypeID=null,this._reload()}_reload(){document.querySelectorAll("#likeList > li:not(:first-child):not(:last-child)").forEach((e=>e.remove())),this._container.dataset.lastLikeTime="0",this._loadReactions()}_loadReactions(){this._options.parameters.userID=this._userID,this._options.parameters.lastLikeTime=~~this._container.dataset.lastLikeTime,this._options.parameters.targetType=this._targetType,this._options.parameters.reactionTypeID=~~this._reactionTypeID,n.api(this,{parameters:this._options.parameters})}_ajaxSuccess(e){e.returnValues.template?(document.querySelector("#likeList > li:nth-last-child(1)").insertAdjacentHTML("beforebegin",e.returnValues.template),this._container.dataset.lastLikeTime=e.returnValues.lastLikeTime.toString(),r.default.hide(this._noMoreEntries),r.default.show(this._loadButton)):(r.default.show(this._noMoreEntries),r.default.hide(this._loadButton))}_ajaxSetup(){return{data:{actionName:"load",className:"\\wcf\\data\\reaction\\ReactionAction"}}}}return o.enableLegacyInheritance(s),s})),define("WoltLabSuite/Core/Ui/User/Activity/Recent",["require","exports","tslib","../../../Ajax","../../../Core","../../../Language","../../../Dom/Util"],(function(e,t,i,n,o,r,a){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importDefault(a);class s{constructor(e){this.containerId=e;const t=document.getElementById(this.containerId);this.list=t.querySelector(".recentActivityList");const i=document.createElement("li");if(i.className="showMore",this.list.childElementCount){i.innerHTML='<button class="small">'+r.get("wcf.user.recentActivity.more")+"</button>";i.children[0].addEventListener("click",(e=>this.showMore(e)))}else i.innerHTML="<small>"+r.get("wcf.user.recentActivity.noMoreEntries")+"</small>";this.list.appendChild(i),this.showMoreItem=i,t.querySelectorAll(".jsRecentActivitySwitchContext .button").forEach((e=>{e.addEventListener("click",(t=>{t.preventDefault(),e.classList.contains("active")||this.switchContext()}))}))}showMore(e){e.preventDefault();this.showMoreItem.children[0].disabled=!0,n.api(this,{actionName:"load",parameters:{boxID:~~this.list.dataset.boxId,filteredByFollowedUsers:o.stringToBool(this.list.dataset.filteredByFollowedUsers||""),lastEventId:this.list.dataset.lastEventId,lastEventTime:this.list.dataset.lastEventTime,userID:~~this.list.dataset.userId}})}switchContext(){n.api(this,{actionName:"switchContext"},(()=>{window.location.hash=`#${this.containerId}`,window.location.reload()}))}_ajaxSuccess(e){if(e.returnValues.template){a.default.insertHtml(e.returnValues.template,this.showMoreItem,"before"),this.list.dataset.lastEventTime=e.returnValues.lastEventTime.toString(),this.list.dataset.lastEventId=e.returnValues.lastEventID.toString();this.showMoreItem.children[0].disabled=!1}else this.showMoreItem.innerHTML="<small>"+r.get("wcf.user.recentActivity.noMoreEntries")+"</small>"}_ajaxSetup(){return{data:{className:"wcf\\data\\user\\activity\\event\\UserActivityEventAction"}}}}return o.enableLegacyInheritance(s),s})),define("WoltLabSuite/Core/Ui/User/CoverPhoto/Delete",["require","exports","tslib","../../../Ajax","../../../Dom/Util","../../../Event/Handler","../../../Language","../../Confirmation","../../Notification"],(function(e,t,i,n,o,r,a,s,l){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,n=i.__importStar(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importStar(l);class c{constructor(e){this.button=document.querySelector(".jsButtonDeleteCoverPhoto"),this.button.addEventListener("click",(e=>this._click(e))),this.userId=e,r.add("com.woltlab.wcf.user","coverPhoto",(e=>{"string"==typeof e.url&&e.url.length>0&&o.default.show(this.button.parentElement)}))}_click(e){e.preventDefault(),s.show({confirm:()=>n.api(this),message:a.get("wcf.user.coverPhoto.delete.confirmMessage")})}_ajaxSuccess(e){document.querySelector(".userProfileCoverPhoto").style.setProperty("background-image",`url(${e.returnValues.url})`,""),o.default.hide(this.button.parentElement),l.show()}_ajaxSetup(){return{data:{actionName:"deleteCoverPhoto",className:"wcf\\data\\user\\UserProfileAction",parameters:{userID:this.userId}}}}}let d;t.init=function(e){d||(d=new c(e))}})),define("WoltLabSuite/Core/Ui/User/CoverPhoto/Upload",["require","exports","tslib","../../../Core","../../../Dom/Util","../../../Event/Handler","../../Dialog","../../Notification","../../../Upload"],(function(e,t,i,n,o,r,a,s,l){"use strict";n=i.__importStar(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importDefault(l);class c extends l.default{constructor(e){super("coverPhotoUploadButtonContainer","coverPhotoUploadPreview",{action:"uploadCoverPhoto",className:"wcf\\data\\user\\UserProfileAction"}),this.userId=e}_getParameters(){return{userID:this.userId}}_success(e,t){if(o.default.innerError(this._button,t.returnValues.errorMessage),this._target.innerHTML="",t.returnValues.url){document.querySelector(".userProfileCoverPhoto").style.setProperty("background-image",`url(${t.returnValues.url})`,""),a.close("userProfileCoverPhotoUpload"),s.show(),r.fire("com.woltlab.wcf.user","coverPhoto",{url:t.returnValues.url})}}}return n.enableLegacyInheritance(c),c})),define("WoltLabSuite/Core/Ui/User/Ignore/List",["require","exports","tslib","../../../Form/Builder/Dialog","../../../Language","../../Notification"],(function(e,t,i,n,o,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UiUserIgnoreList=void 0,n=i.__importDefault(n),o=i.__importStar(o),r=i.__importStar(r);class a{constructor(){this.dialogs=new Map,document.querySelectorAll(".jsEditIgnoreButton").forEach((e=>e.addEventListener("click",(e=>this.openDialog(e)))))}openDialog(e){const t=~~e.currentTarget.closest(".jsIgnoredUser").dataset.objectId;this.dialogs.has(t)||this.dialogs.set(t,new n.default("ignoreDialog","wcf\\data\\user\\ignore\\UserIgnoreAction","getDialog",{dialog:{title:o.get("wcf.user.button.ignore")},actionParameters:{userID:t},submitActionName:"submitDialog",successCallback(e){r.show(void 0,(()=>{e.isIgnoredUser||window.location.reload()}))}})),this.dialogs.get(t).open()}}t.UiUserIgnoreList=a,t.default=a})),define("WoltLabSuite/Core/Ui/User/Session/Delete",["require","exports","tslib","../../../Ajax","../../Notification","../../Confirmation","../../../Language"],(function(e,t,i,n,o,r,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UiUserSessionDelete=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a);class s{constructor(){this.knownElements=new Map,document.querySelectorAll(".sessionDeleteButton").forEach((e=>{if(!e.dataset.sessionId)throw new Error("No sessionId for session delete button given.");this.knownElements.has(e.dataset.sessionId)||(e.addEventListener("click",(t=>this.delete(e,t))),this.knownElements.set(e.dataset.sessionId,e))}))}delete(e,t){t.preventDefault(),r.show({message:a.get("wcf.user.security.deleteSession.confirmMessage"),confirm:t=>{n.api(this,{sessionID:e.dataset.sessionId})}})}_ajaxSuccess(e){const t=this.knownElements.get(e.sessionID);if(void 0!==t){const e=t.closest("li");null!==e&&e.remove()}o.show()}_ajaxSetup(){return{url:"index.php?delete-session/&t="+window.SECURITY_TOKEN}}}t.UiUserSessionDelete=s,t.default=s})),define("WoltLabSuite/Core/Ui/User/Trophy/List",["require","exports","tslib","../../../Ajax","../../../Core","../../../Dom/Change/Listener","../../Dialog","../../Pagination"],(function(e,t,i,n,o,r,a,s){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importDefault(a),s=i.__importDefault(s);class l{constructor(e,t){this.pageCount=e,this.title=t,this.cache=new Map}has(e){return this.cache.has(e)}get(e){return this.cache.get(e)}set(e,t){this.cache.set(e,t)}}class c{constructor(){this.cache=new Map,this.currentPageNo=0,this.currentUser=0,this.knownElements=new WeakSet,r.default.add("WoltLabSuite/Core/Ui/User/Trophy/List",(()=>this.rebuild())),this.rebuild()}rebuild(){document.querySelectorAll(".userTrophyOverlayList").forEach((e=>{this.knownElements.has(e)||(e.addEventListener("click",(t=>this.open(e,t))),this.knownElements.add(e))}))}open(e,t){t.preventDefault(),this.currentPageNo=1,this.currentUser=+e.dataset.userId,this.showPage()}showPage(e){void 0!==e&&(this.currentPageNo=e);const t=this.cache.get(this.currentUser);if(t&&0!==t.pageCount&&(this.currentPageNo<1||this.currentPageNo>t.pageCount))throw new RangeError(`pageNo must be between 1 and ${t.pageCount} (${this.currentPageNo} given).`);if(t&&t.has(this.currentPageNo)){const e=a.default.open(this,t.get(this.currentPageNo));if(a.default.setTitle("userTrophyListOverlay",t.title),t.pageCount>1){const i=e.content.querySelector(".jsPagination");null!==i&&new s.default(i,{activePage:this.currentPageNo,maxPage:t.pageCount,callbackSwitch:this.showPage.bind(this)})}}else n.api(this,{parameters:{pageNo:this.currentPageNo,userID:this.currentUser}})}_ajaxSuccess(e){let t;void 0!==e.returnValues.pageCount?(t=new l(+e.returnValues.pageCount,e.returnValues.title),this.cache.set(this.currentUser,t)):t=this.cache.get(this.currentUser),t.set(this.currentPageNo,e.returnValues.template),this.showPage()}_ajaxSetup(){return{data:{actionName:"getGroupedUserTrophyList",className:"wcf\\data\\user\\trophy\\UserTrophyAction"}}}_dialogSetup(){return{id:"userTrophyListOverlay",options:{title:""},source:null}}}return o.enableLegacyInheritance(c),c})),define("WoltLabSuite/Core/Form/Builder/Field/Controller/Label",["require","exports","tslib","../../../../Core","../../../../Dom/Util","../../../../Language","../../../../Ui/Dropdown/Simple"],(function(e,t,i,n,o,r,a){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importDefault(a);class s{constructor(e,t,i){this._formFieldContainer=document.getElementById(e+"Container"),this._labelChooser=this._formFieldContainer.getElementsByClassName("labelChooser")[0],this._options=n.extend({forceSelection:!1,showWithoutSelection:!1},i),this._input=document.createElement("input"),this._input.type="hidden",this._input.id=e,this._input.name=e,this._input.value=t,this._formFieldContainer.appendChild(this._input);const s=o.identify(this._labelChooser);let l=a.default.getDropdownMenu(s);null===l&&(a.default.init(this._labelChooser.getElementsByClassName("dropdownToggle")[0]),l=a.default.getDropdownMenu(s));let c=null;if(this._options.showWithoutSelection||!this._options.forceSelection){c=document.createElement("ul"),l.appendChild(c);const e=document.createElement("li");e.classList.add("dropdownDivider"),c.appendChild(e)}if(this._options.showWithoutSelection){const e=document.createElement("li");e.dataset.labelId="-1",this._blockScroll(e),c.appendChild(e);const t=document.createElement("span");e.appendChild(t);const i=document.createElement("span");i.classList.add("badge","label"),i.innerHTML=r.get("wcf.label.withoutSelection"),t.appendChild(i)}if(!this._options.forceSelection){const e=document.createElement("li");e.dataset.labelId="0",this._blockScroll(e),c.appendChild(e);const t=document.createElement("span");e.appendChild(t);const i=document.createElement("span");i.classList.add("badge","label"),i.innerHTML=r.get("wcf.label.none"),t.appendChild(i)}l.querySelectorAll("li:not(.dropdownDivider)").forEach((e=>{e.addEventListener("click",(e=>this._click(e))),t&&e.dataset.labelId===t&&this._selectLabel(e)}))}_blockScroll(e){e.addEventListener("wheel",(e=>e.preventDefault()),{passive:!1})}_click(e){e.preventDefault(),this._selectLabel(e.currentTarget)}_selectLabel(e){let t=e.dataset.labelId;t||(t="0");const i=e.querySelector("span > span"),n=this._labelChooser.querySelector(".dropdownToggle > span");n.className=i.className,n.textContent=i.textContent,this._input.value=t}}return n.enableLegacyInheritance(s),s})),define("WoltLabSuite/Core/Form/Builder/Field/Controller/Rating",["require","exports","tslib","../../../../Core","../../../../Environment"],(function(e,t,i,n,o){"use strict";n=i.__importStar(n),o=i.__importStar(o);class r{constructor(e,t,i,n){if(this._field=document.getElementById(e+"Container"),null===this._field)throw new Error("Unknown field with id '"+e+"'");this._input=document.createElement("input"),this._input.id=e,this._input.name=e,this._input.type="hidden",this._input.value=t,this._field.appendChild(this._input),this._activeCssClasses=i,this._defaultCssClasses=n,this._ratingElements=new Map;const o=this._field.querySelector(".ratingList");o.addEventListener("mouseleave",(()=>this._restoreRating())),o.querySelectorAll("li").forEach((e=>{e.classList.contains("ratingMetaButton")?(e.addEventListener("click",(e=>this._metaButtonClick(e))),e.addEventListener("mouseenter",(()=>this._restoreRating()))):(this._ratingElements.set(e.dataset.rating,e),e.addEventListener("click",(e=>this._listItemClick(e))),e.addEventListener("mouseenter",(e=>this._listItemMouseEnter(e))),e.addEventListener("mouseleave",(()=>this._listItemMouseLeave())))}))}_listItemClick(e){const t=e.currentTarget;this._input.value=t.dataset.rating,"desktop"!==o.platform()&&this._restoreRating()}_listItemMouseEnter(e){const t=e.currentTarget.dataset.rating;this._ratingElements.forEach(((e,i)=>{const n=e.getElementsByClassName("icon")[0];this._toggleIcon(n,~~i<=~~t)}))}_listItemMouseLeave(){this._ratingElements.forEach((e=>{const t=e.getElementsByClassName("icon")[0];this._toggleIcon(t,!1)}))}_metaButtonClick(e){"removeRating"===e.currentTarget.dataset.action&&(this._input.value="",this._listItemMouseLeave())}_restoreRating(){this._ratingElements.forEach(((e,t)=>{const i=e.getElementsByClassName("icon")[0];this._toggleIcon(i,~~t<=~~this._input.value)}))}_toggleIcon(e,t=!1){t?(e.classList.remove(...this._defaultCssClasses),e.classList.add(...this._activeCssClasses)):(e.classList.remove(...this._activeCssClasses),e.classList.add(...this._defaultCssClasses))}}return n.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Form/Builder/Field/Dependency/Abstract",["require","exports","tslib","./Manager","../../../../Core"],(function(e,t,i,n,o){"use strict";n=i.__importStar(n),o=i.__importStar(o);class r{constructor(e,t){this.init(e,t)}checkDependency(){throw new Error("Missing implementation of WoltLabSuite/Core/Form/Builder/Field/Dependency/Abstract.checkDependency!")}getDependentNode(){return this._dependentElement}getField(){return this._field}getFields(){return this._fields}init(e,t){if(this._dependentElement=document.getElementById(e),null===this._dependentElement)throw new Error("Unknown dependent element with container id '"+e+"Container'.");if(this._field=document.getElementById(t),null===this._field){if(this._fields=[],document.querySelectorAll("input[type=radio][name="+t+"]").forEach((e=>{this._fields.push(e)})),!this._fields.length&&(document.querySelectorAll('input[type=checkbox][name="'+t+'[]"]').forEach((e=>{this._fields.push(e)})),!this._fields.length))throw new Error("Unknown field with id '"+t+"'.")}else if(this._fields=[this._field],"INPUT"===this._field.tagName&&"radio"===this._field.type&&""!==this._field.dataset.noInputId){if(this._noField=document.getElementById(this._field.dataset.noInputId),null===this._noField)throw new Error("Cannot find 'no' input field for input field '"+t+"'");this._fields.push(this._noField)}n.addDependency(this)}}return o.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Form/Builder/Field/Dependency/Empty",["require","exports","tslib","./Abstract","../../../../Core"],(function(e,t,i,n,o){"use strict";n=i.__importDefault(n),o=i.__importStar(o);class r extends n.default{checkDependency(){if(null!==this._field)switch(this._field.tagName){case"INPUT":{const e=this._field;switch(e.type){case"checkbox":return!e.checked;case"radio":return!(!this._noField||!this._noField.checked)||!e.checked;default:return 0===e.value.trim().length}}case"SELECT":{const e=this._field;return e.multiple?0===this._field.querySelectorAll("option:checked").length:"0"==e.value||0===e.value.length}case"TEXTAREA":return 0===this._field.value.trim().length}return this._fields.every((e=>!e.checked))}}return o.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Form/Builder/Field/Dependency/IsNotClicked",["require","exports","tslib","./Abstract","./Manager"],(function(e,t,i,n,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IsNotClicked=void 0,n=i.__importDefault(n),o=i.__importStar(o);class r extends n.default{constructor(e,t){super(e,t),this._field.addEventListener("click",(()=>{this._field.dataset.isClicked="1",o.checkDependencies()}))}checkDependency(){return"1"!==this._field.dataset.isClicked}}t.IsNotClicked=r,t.default=r})),define("WoltLabSuite/Core/Form/Builder/Field/Dependency/NonEmpty",["require","exports","tslib","./Abstract","../../../../Core"],(function(e,t,i,n,o){"use strict";n=i.__importDefault(n),o=i.__importStar(o);class r extends n.default{checkDependency(){if(null!==this._field)switch(this._field.tagName){case"INPUT":{const e=this._field;switch(e.type){case"checkbox":return e.checked;case"radio":return(!this._noField||!this._noField.checked)&&e.checked;default:return 0!==e.value.trim().length}}case"SELECT":{const e=this._field;return e.multiple?0!==e.querySelectorAll("option:checked").length:"0"!=e.value&&0!==e.value.length}case"TEXTAREA":return 0!==this._field.value.trim().length}return this._fields.some((e=>e.checked))}}return o.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Form/Builder/Field/Dependency/Value",["require","exports","tslib","./Abstract","./Manager","../../../../Core"],(function(e,t,i,n,o,r){"use strict";n=i.__importDefault(n),o=i.__importStar(o),r=i.__importStar(r);class a extends n.default{constructor(){super(...arguments),this._isNegated=!1}checkDependency(){if(!this._values)throw new Error("Values have not been set.");const e=[];if(this._field){if(o.isHiddenByDependencies(this._field))return!1;e.push(this._field.value)}else{let t=!0;if(this._fields.forEach((i=>{if(i.checked){if(o.isHiddenByDependencies(i))return t=!1,!1;e.push(i.value)}})),!t)return!1}let t=!1;return this._values.forEach((i=>{e.forEach((e=>{i==e&&(t=!0)}))})),t?!this._isNegated:this._isNegated}negate(e){return this._isNegated=e,this}values(e){return this._values=e,this}}return r.enableLegacyInheritance(a),a})),define("WoltLabSuite/Core/Form/Builder/Field/Language/ContentLanguage",["require","exports","tslib","../Value","../../../../Language/Chooser","../../../../Core"],(function(e,t,i,n,o,r){"use strict";n=i.__importDefault(n),o=i.__importStar(o),r=i.__importStar(r);class a extends n.default{destroy(){o.removeChooser(this._fieldId)}}return r.enableLegacyInheritance(a),a})),define("WoltLabSuite/Core/Form/Builder/Field/Wysiwyg/Attachment",["require","exports","tslib","../Value","../../../../Core"],(function(e,t,i,n,o){"use strict";n=i.__importDefault(n),o=i.__importStar(o);class r extends n.default{constructor(e){super(e+"_tmpHash")}}return o.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Form/Builder/Field/Wysiwyg/Poll",["require","exports","tslib","../Field","../../../../Core"],(function(e,t,i,n,o){"use strict";n=i.__importDefault(n),o=i.__importStar(o);class r extends n.default{_getData(){return this._pollEditor.getData()}_readField(){}setPollEditor(e){this._pollEditor=e}}return o.enableLegacyInheritance(r),r}));let G=null;class H{}H.render=function(e,t){G(e,t)},self.QrCreator=H,function(e){function t(t,i,n,o){var r,a,s={},l=e(n,i);return l.u(t),l.J(),o=o||0,r=l.h(),a=l.h()+2*o,s.text=t,s.level=i,s.version=n,s.O=a,s.a=function(e,t){return t-=o,!(0>(e-=o)||e>=r||0>t||t>=r)&&l.a(e,t)},s}function i(e,t,i,n,o,r,a,s,l,c){function d(t,i,n,o,a,s,l){t?(e.lineTo(i+s,n+l),e.arcTo(i,n,o,a,r)):e.lineTo(i,n)}a?e.moveTo(t+r,i):e.moveTo(t,i),d(s,n,i,n,o,-r,0),d(l,n,o,t,o,0,-r),d(c,t,o,t,i,r,0),d(a,t,i,n,i,0,r)}function n(e,t,i,n,o,r,a,s,l,c){function d(t,i,n,o){e.moveTo(t+n,i),e.lineTo(t,i),e.lineTo(t,i+o),e.arcTo(t,i,t+n,i,r)}a&&d(t,i,r,r),s&&d(n,i,-r,r),l&&d(n,o,-r,-r),c&&d(t,o,r,-r)}function o(e,o){var r,a,s,l,c,d,u,h,p,m,f,g,b,_,v,w,y,E,S,L,C,A,I;e:{for(r=o.text,a=o.v,s=o.N,l=o.K,c=o.P,s=Math.max(1,s||1),l=Math.min(40,l||40);s<=l;s+=1)try{d=t(r,a,s,c);break e}catch(e){}d=void 0}if(!d)return null;for(r=e.getContext("2d"),o.background&&(r.fillStyle=o.background,r.fillRect(o.left,o.top,o.size,o.size)),a=d.O,l=o.size/a,r.beginPath(),c=0;c<a;c+=1)for(s=0;s<a;s+=1)u=r,h=o.left+s*l,p=o.top+c*l,m=c,f=s,g=d.a,b=h+l,_=p+l,v=m-1,w=m+1,y=f-1,E=f+1,S=Math.floor(Math.min(.5,Math.max(0,o.R))*l),L=g(m,f),C=g(v,y),A=g(v,f),v=g(v,E),I=g(m,E),E=g(w,E),f=g(w,f),w=g(w,y),m=g(m,y),h=Math.round(h),p=Math.round(p),b=Math.round(b),_=Math.round(_),L?i(u,h,p,b,_,S,!A&&!m,!A&&!I,!f&&!I,!f&&!m):n(u,h,p,b,_,S,A&&m&&C,A&&I&&v,f&&I&&E,f&&m&&w);return function(e,t){var i,n,o,r=t.fill;if("string"==typeof r)e.fillStyle=r;else{if(i=r.type,n=r.colorStops,r=r.position.map((e=>Math.round(e*t.size))),"linear-gradient"===i)o=e.createLinearGradient.apply(e,r);else{if("radial-gradient"!==i)throw Error("Unsupported fill");o=e.createRadialGradient.apply(e,r)}n.forEach((([e,t])=>{o.addColorStop(e,t)})),e.fillStyle=o}}(r,o),r.fill(),e}var r={minVersion:1,maxVersion:40,ecLevel:"L",left:0,top:0,size:200,fill:"#000",background:null,text:"no text",radius:.5,quiet:0};G=function(e,t){var i={};Object.assign(i,r,e),i.N=i.minVersion,i.K=i.maxVersion,i.v=i.ecLevel,i.left=i.left,i.top=i.top,i.size=i.size,i.fill=i.fill,i.background=i.background,i.text=i.text,i.R=i.radius,i.P=i.quiet,t instanceof HTMLCanvasElement?(t.width===i.size&&t.height===i.size||(t.width=i.size,t.height=i.size),t.getContext("2d").clearRect(0,0,t.width,t.height),o(t,i)):((e=document.createElement("canvas")).width=i.size,e.height=i.size,i=o(e,i),t.appendChild(i))}}(function(){function e(o,a){function s(e,t){var i,n;for(i=-1;7>=i;i+=1)if(!(-1>=e+i||u<=e+i))for(n=-1;7>=n;n+=1)-1>=t+n||u<=t+n||(d[e+i][t+n]=0<=i&&6>=i&&(0==n||6==n)||0<=n&&6>=n&&(0==i||6==i)||2<=i&&4>=i&&2<=n&&4>=n)}function l(e,i){var a,l,m,f,g,b,_,v,w,y;for(a=u=4*o+17,l=Array(a),m=0;m<a;m+=1)for(l[m]=Array(a),f=0;f<a;f+=1)l[m][f]=null;for(d=l,s(0,0),s(u-7,0),s(0,u-7),a=n.G(o),l=0;l<a.length;l+=1)for(m=0;m<a.length;m+=1)if(f=a[l],g=a[m],null==d[f][g])for(b=-2;2>=b;b+=1)for(_=-2;2>=_;_+=1)d[f+b][g+_]=-2==b||2==b||-2==_||2==_||0==b&&0==_;for(a=8;a<u-8;a+=1)null==d[a][6]&&(d[a][6]=0==a%2);for(a=8;a<u-8;a+=1)null==d[6][a]&&(d[6][a]=0==a%2);for(a=n.w(c<<3|i),l=0;15>l;l+=1)m=!e&&1==(a>>l&1),d[6>l?l:8>l?l+1:u-15+l][8]=m,d[8][8>l?u-l-1:9>l?15-l:14-l]=m;if(d[u-8][8]=!e,7<=o){for(a=n.A(o),l=0;18>l;l+=1)m=!e&&1==(a>>l&1),d[Math.floor(l/3)][l%3+u-8-3]=m;for(l=0;18>l;l+=1)m=!e&&1==(a>>l&1),d[l%3+u-8-3][Math.floor(l/3)]=m}if(null==h){for(e=r.I(o,c),a=function(){var e=[],t=0,i={B:function(){return e},c:function(t){return 1==(e[Math.floor(t/8)]>>>7-t%8&1)},put:function(e,t){for(var n=0;n<t;n+=1)i.m(1==(e>>>t-n-1&1))},f:function(){return t},m:function(i){var n=Math.floor(t/8);e.length<=n&&e.push(0),i&&(e[n]|=128>>>t%8),t+=1}};return i}(),l=0;l<p.length;l+=1)m=p[l],a.put(4,4),a.put(m.b(),n.f(4,o)),m.write(a);for(l=m=0;l<e.length;l+=1)m+=e[l].j;if(a.f()>8*m)throw Error("code length overflow. ("+a.f()+">"+8*m+")");for(a.f()+4<=8*m&&a.put(0,4);0!=a.f()%8;)a.m(!1);for(;!(a.f()>=8*m)&&(a.put(236,8),!(a.f()>=8*m));)a.put(17,8);for(v=0,m=l=0,f=Array(e.length),g=Array(e.length),b=0;b<e.length;b+=1){for(w=e[b].j,y=e[b].o-w,l=Math.max(l,w),m=Math.max(m,y),f[b]=Array(w),_=0;_<f[b].length;_+=1)f[b][_]=255&a.B()[_+v];for(v+=w,_=n.C(y),w=t(f[b],_.b()-1).l(_),g[b]=Array(_.b()-1),_=0;_<g[b].length;_+=1)y=_+w.b()-g[b].length,g[b][_]=0<=y?w.c(y):0}for(_=a=0;_<e.length;_+=1)a+=e[_].o;for(a=Array(a),_=v=0;_<l;_+=1)for(b=0;b<e.length;b+=1)_<f[b].length&&(a[v]=f[b][_],v+=1);for(_=0;_<m;_+=1)for(b=0;b<e.length;b+=1)_<g[b].length&&(a[v]=g[b][_],v+=1);h=a}for(e=h,a=-1,l=u-1,m=7,f=0,i=n.F(i),g=u-1;0<g;g-=2)for(6==g&&--g;;){for(b=0;2>b;b+=1)null==d[l][g-b]&&(_=!1,f<e.length&&(_=1==(e[f]>>>m&1)),i(l,g-b)&&(_=!_),d[l][g-b]=_,-1==--m&&(f+=1,m=7));if(0>(l+=a)||u<=l){l-=a,a=-a;break}}}var c=i[a],d=null,u=0,h=null,p=[],m={u:function(t){t=function(t){var i=e.s(t);return{S:function(){return 4},b:function(){return i.length},write:function(e){for(var t=0;t<i.length;t+=1)e.put(i[t],8)}}}(t),p.push(t),h=null},a:function(e,t){if(0>e||u<=e||0>t||u<=t)throw Error(e+","+t);return d[e][t]},h:function(){return u},J:function(){var e,t,i,o;for(e=0,t=0,i=0;8>i;i+=1)l(!0,i),o=n.D(m),(0==i||e>o)&&(e=o,t=i);l(!1,t)}};return m}function t(e,i){if(void 0===e.length)throw Error(e.length+"/"+i);var n=function(){var t,n,o;for(t=0;t<e.length&&0==e[t];)t+=1;for(n=Array(e.length-t+i),o=0;o<e.length-t;o+=1)n[o]=e[o+t];return n}(),r={c:function(e){return n[e]},b:function(){return n.length},multiply:function(e){var i,n,a;for(i=Array(r.b()+e.b()-1),n=0;n<r.b();n+=1)for(a=0;a<e.b();a+=1)i[n+a]^=o.i(o.g(r.c(n))+o.g(e.c(a)));return t(i,0)},l:function(e){if(0>r.b()-e.b())return r;for(var i=o.g(r.c(0))-o.g(e.c(0)),n=Array(r.b()),a=0;a<r.b();a+=1)n[a]=r.c(a);for(a=0;a<e.b();a+=1)n[a]^=o.i(o.g(e.c(a))+i);return t(n,0).l(e)}};return r}e.s=function(e){var t,i,n;for(t=[],i=0;i<e.length;i++)128>(n=e.charCodeAt(i))?t.push(n):2048>n?t.push(192|n>>6,128|63&n):55296>n||57344<=n?t.push(224|n>>12,128|n>>6&63,128|63&n):(i++,n=65536+((1023&n)<<10|1023&e.charCodeAt(i)),t.push(240|n>>18,128|n>>12&63,128|n>>6&63,128|63&n));return t};var i={L:1,M:0,Q:3,H:2},n=function(){function e(e){for(var t=0;0!=e;)t+=1,e>>>=1;return t}var i=[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]];return{w:function(t){for(var i=t<<10;0<=e(i)-e(1335);)i^=1335<<e(i)-e(1335);return 21522^(t<<10|i)},A:function(t){for(var i=t<<12;0<=e(i)-e(7973);)i^=7973<<e(i)-e(7973);return t<<12|i},G:function(e){return i[e-1]},F:function(e){switch(e){case 0:return function(e,t){return 0==(e+t)%2};case 1:return function(e){return 0==e%2};case 2:return function(e,t){return 0==t%3};case 3:return function(e,t){return 0==(e+t)%3};case 4:return function(e,t){return 0==(Math.floor(e/2)+Math.floor(t/3))%2};case 5:return function(e,t){return 0==e*t%2+e*t%3};case 6:return function(e,t){return 0==(e*t%2+e*t%3)%2};case 7:return function(e,t){return 0==(e*t%3+(e+t)%2)%2};default:throw Error("bad maskPattern:"+e)}},C:function(e){for(var i=t([1],0),n=0;n<e;n+=1)i=i.multiply(t([1,o.i(n)],0));return i},f:function(e,t){if(4!=e||1>t||40<t)throw Error("mode: "+e+"; type: "+t);return 10>t?8:16},D:function(e){var t,i,n,o,r,a,s,l;for(t=e.h(),i=0,n=0;n<t;n+=1)for(o=0;o<t;o+=1){for(r=0,a=e.a(n,o),s=-1;1>=s;s+=1)if(!(0>n+s||t<=n+s))for(l=-1;1>=l;l+=1)0>o+l||t<=o+l||(0!=s||0!=l)&&a==e.a(n+s,o+l)&&(r+=1);5<r&&(i+=3+r-5)}for(n=0;n<t-1;n+=1)for(o=0;o<t-1;o+=1)r=0,e.a(n,o)&&(r+=1),e.a(n+1,o)&&(r+=1),e.a(n,o+1)&&(r+=1),e.a(n+1,o+1)&&(r+=1),(0==r||4==r)&&(i+=3);for(n=0;n<t;n+=1)for(o=0;o<t-6;o+=1)e.a(n,o)&&!e.a(n,o+1)&&e.a(n,o+2)&&e.a(n,o+3)&&e.a(n,o+4)&&!e.a(n,o+5)&&e.a(n,o+6)&&(i+=40);for(o=0;o<t;o+=1)for(n=0;n<t-6;n+=1)e.a(n,o)&&!e.a(n+1,o)&&e.a(n+2,o)&&e.a(n+3,o)&&e.a(n+4,o)&&!e.a(n+5,o)&&e.a(n+6,o)&&(i+=40);for(o=r=0;o<t;o+=1)for(n=0;n<t;n+=1)e.a(n,o)&&(r+=1);return i+Math.abs(100*r/t/t-50)/5*10}}}(),o=function(){for(var e=Array(256),t=Array(256),i=0;8>i;i+=1)e[i]=1<<i;for(i=8;256>i;i+=1)e[i]=e[i-4]^e[i-5]^e[i-6]^e[i-8];for(i=0;255>i;i+=1)t[e[i]]=i;return{g:function(e){if(1>e)throw Error("glog("+e+")");return t[e]},i:function(t){for(;0>t;)t+=255;for(;256<=t;)t-=255;return e[t]}}}(),r=function(){function e(e,n){switch(n){case i.L:return t[4*(e-1)];case i.M:return t[4*(e-1)+1];case i.Q:return t[4*(e-1)+2];case i.H:return t[4*(e-1)+3]}}var t=[[1,26,19],[1,26,16],[1,26,13],[1,26,9],[1,44,34],[1,44,28],[1,44,22],[1,44,16],[1,70,55],[1,70,44],[2,35,17],[2,35,13],[1,100,80],[2,50,32],[2,50,24],[4,25,9],[1,134,108],[2,67,43],[2,33,15,2,34,16],[2,33,11,2,34,12],[2,86,68],[4,43,27],[4,43,19],[4,43,15],[2,98,78],[4,49,31],[2,32,14,4,33,15],[4,39,13,1,40,14],[2,121,97],[2,60,38,2,61,39],[4,40,18,2,41,19],[4,40,14,2,41,15],[2,146,116],[3,58,36,2,59,37],[4,36,16,4,37,17],[4,36,12,4,37,13],[2,86,68,2,87,69],[4,69,43,1,70,44],[6,43,19,2,44,20],[6,43,15,2,44,16],[4,101,81],[1,80,50,4,81,51],[4,50,22,4,51,23],[3,36,12,8,37,13],[2,116,92,2,117,93],[6,58,36,2,59,37],[4,46,20,6,47,21],[7,42,14,4,43,15],[4,133,107],[8,59,37,1,60,38],[8,44,20,4,45,21],[12,33,11,4,34,12],[3,145,115,1,146,116],[4,64,40,5,65,41],[11,36,16,5,37,17],[11,36,12,5,37,13],[5,109,87,1,110,88],[5,65,41,5,66,42],[5,54,24,7,55,25],[11,36,12,7,37,13],[5,122,98,1,123,99],[7,73,45,3,74,46],[15,43,19,2,44,20],[3,45,15,13,46,16],[1,135,107,5,136,108],[10,74,46,1,75,47],[1,50,22,15,51,23],[2,42,14,17,43,15],[5,150,120,1,151,121],[9,69,43,4,70,44],[17,50,22,1,51,23],[2,42,14,19,43,15],[3,141,113,4,142,114],[3,70,44,11,71,45],[17,47,21,4,48,22],[9,39,13,16,40,14],[3,135,107,5,136,108],[3,67,41,13,68,42],[15,54,24,5,55,25],[15,43,15,10,44,16],[4,144,116,4,145,117],[17,68,42],[17,50,22,6,51,23],[19,46,16,6,47,17],[2,139,111,7,140,112],[17,74,46],[7,54,24,16,55,25],[34,37,13],[4,151,121,5,152,122],[4,75,47,14,76,48],[11,54,24,14,55,25],[16,45,15,14,46,16],[6,147,117,4,148,118],[6,73,45,14,74,46],[11,54,24,16,55,25],[30,46,16,2,47,17],[8,132,106,4,133,107],[8,75,47,13,76,48],[7,54,24,22,55,25],[22,45,15,13,46,16],[10,142,114,2,143,115],[19,74,46,4,75,47],[28,50,22,6,51,23],[33,46,16,4,47,17],[8,152,122,4,153,123],[22,73,45,3,74,46],[8,53,23,26,54,24],[12,45,15,28,46,16],[3,147,117,10,148,118],[3,73,45,23,74,46],[4,54,24,31,55,25],[11,45,15,31,46,16],[7,146,116,7,147,117],[21,73,45,7,74,46],[1,53,23,37,54,24],[19,45,15,26,46,16],[5,145,115,10,146,116],[19,75,47,10,76,48],[15,54,24,25,55,25],[23,45,15,25,46,16],[13,145,115,3,146,116],[2,74,46,29,75,47],[42,54,24,1,55,25],[23,45,15,28,46,16],[17,145,115],[10,74,46,23,75,47],[10,54,24,35,55,25],[19,45,15,35,46,16],[17,145,115,1,146,116],[14,74,46,21,75,47],[29,54,24,19,55,25],[11,45,15,46,46,16],[13,145,115,6,146,116],[14,74,46,23,75,47],[44,54,24,7,55,25],[59,46,16,1,47,17],[12,151,121,7,152,122],[12,75,47,26,76,48],[39,54,24,14,55,25],[22,45,15,41,46,16],[6,151,121,14,152,122],[6,75,47,34,76,48],[46,54,24,10,55,25],[2,45,15,64,46,16],[17,152,122,4,153,123],[29,74,46,14,75,47],[49,54,24,10,55,25],[24,45,15,46,46,16],[4,152,122,18,153,123],[13,74,46,32,75,47],[48,54,24,14,55,25],[42,45,15,32,46,16],[20,147,117,4,148,118],[40,75,47,7,76,48],[43,54,24,22,55,25],[10,45,15,67,46,16],[19,148,118,6,149,119],[18,75,47,31,76,48],[34,54,24,34,55,25],[20,45,15,61,46,16]];return{I:function(t,i){var n,o,r,a,s,l,c,d=e(t,i);if(void 0===d)throw Error("bad rs block @ typeNumber:"+t+"/errorCorrectLevel:"+i);for(t=d.length/3,i=[],n=0;n<t;n+=1)for(o=d[3*n],r=d[3*n+1],a=d[3*n+2],s=0;s<o;s+=1)l=a,(c={}).o=r,c.j=l,i.push(c);return i}}}();return e}()),define("qr-creator",function(e){return function(){return e.QrCreator}}(this)),define("WoltLabSuite/Core/Ui/User/Multifactor/Totp/Qr",["require","exports","tslib","qr-creator"],(function(e,t,i,n){"use strict";function o(e){const t=e.querySelector(".totpSecret");if(!t)return;const i=t.dataset.accountname;if(!i)return;const o=t.dataset.issuer,r=(o?`${o}:`:"")+i,a=e.querySelector("canvas");n.default.render({text:`otpauth://totp/${encodeURIComponent(r)}?secret=${encodeURIComponent(t.textContent)}${o?`&issuer=${encodeURIComponent(o)}`:""}`,size:a&&a.clientWidth?a.clientWidth:200},a||e)}Object.defineProperty(t,"__esModule",{value:!0}),t.renderAll=t.render=void 0,n=i.__importDefault(n),t.render=o,t.default=o,t.renderAll=function(){document.querySelectorAll(".totpSecretContainer").forEach((e=>o(e)))}})),define("WoltLabSuite/Core/Form/Builder/Field/Dependency/Container/Abstract",["require","exports","tslib","../Manager","../../../../../Core"],(function(e,t,i,n,o){"use strict";n=i.__importStar(n),o=i.__importStar(o);class r{constructor(e){this.init(e)}checkContainer(){throw new Error("Missing implementation of WoltLabSuite/Core/Form/Builder/Field/Dependency/Container.checkContainer!")}init(e){if("string"!=typeof e)throw new TypeError("Container id has to be a string.");if(this._container=document.getElementById(e),null===this._container)throw new Error("Unknown container with id '"+e+"'.");n.addContainerCheckCallback((()=>this.checkContainer()))}}return o.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Form/Builder/Field/Dependency/Container/Default",["require","exports","tslib","./Abstract","../../../../../Core","../Manager","../../../../../Dom/Util"],(function(e,t,i,n,o,r,a){"use strict";n=i.__importDefault(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importDefault(a);class s extends n.default{checkContainer(){if(o.stringToBool(this._container.dataset.ignoreDependencies||""))return;if(r.isHiddenByDependencies(this._container))return;const e=!a.default.isHidden(this._container),t=Array.from(this._container.children).some(((e,t)=>(0!==t||"H2"!==e.tagName&&"HEADER"!==e.tagName)&&!a.default.isHidden(e)));e!==t&&(t?a.default.show(this._container):a.default.hide(this._container),r.checkContainers())}}return o.enableLegacyInheritance(s),s})),define("WoltLabSuite/Core/Form/Builder/Field/Dependency/Container/Tab",["require","exports","tslib","./Abstract","../Manager","../../../../../Dom/Util","../../../../../Ui/TabMenu","../../../../../Core"],(function(e,t,i,n,o,r,a,s){"use strict";n=i.__importDefault(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s);class l extends n.default{checkContainer(){if(o.isHiddenByDependencies(this._container))return;const e=!r.isHidden(this._container),t=Array.from(this._container.children).some((e=>!r.isHidden(e)));if(e!==t){const e=this._container.parentNode.parentNode.querySelector("#"+r.identify(this._container.parentNode)+" > nav > ul > li[data-name="+this._container.id+"]");if(null===e)throw new Error("Cannot find tab menu entry for tab '"+this._container.id+"'.");if(t)r.show(this._container),r.show(e);else{r.hide(this._container),r.hide(e);const t=a.getTabMenu(r.identify(e.closest(".tabMenuContainer")));t.getActiveTab()===e&&t.selectFirstVisible()}o.checkContainers()}}}return s.enableLegacyInheritance(l),l})),define("WoltLabSuite/Core/Form/Builder/Field/Dependency/Container/TabMenu",["require","exports","tslib","./Abstract","../Manager","../../../../../Dom/Util","../../../../../Ui/TabMenu","../../../../../Core"],(function(e,t,i,n,o,r,a,s){"use strict";n=i.__importDefault(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s);class l extends n.default{checkContainer(){if(o.isHiddenByDependencies(this._container))return;const e=!r.isHidden(this._container),t=this._container.parentNode.querySelectorAll("#"+r.identify(this._container)+" > nav > ul > li"),i=Array.from(t).some((e=>!r.isHidden(e)));e!==i&&(i?(r.show(this._container),a.getTabMenu(r.identify(this._container)).selectFirstVisible()):r.hide(this._container),o.checkContainers())}}return s.enableLegacyInheritance(l),l})),define("WoltLabSuite/Core/Ui/User/Profile/Menu/Item/Abstract",["require","exports","tslib","../../../../../Ajax","../../../../../Core"],(function(e,t,i,n,o){"use strict";n=i.__importStar(n),o=i.__importStar(o);class r{constructor(e,t){this._button=document.createElement("a"),this._listItem=document.createElement("li"),this._userId=e,this._isActive=t,this._initButton(),this._updateButton()}_initButton(){this._button.href="#",this._button.addEventListener("click",(e=>this._toggle(e))),this._listItem.appendChild(this._button);document.querySelector('.userProfileButtonMenu[data-menu="interaction"]').insertAdjacentElement("afterbegin",this._listItem)}_toggle(e){e.preventDefault(),n.api(this,{actionName:this._getAjaxActionName(),parameters:{data:{userID:this._userId}}})}_updateButton(){this._button.textContent=this._getLabel(),this._isActive?this._listItem.classList.add("active"):this._listItem.classList.remove("active")}_getLabel(){throw new Error("Implement me!")}_getAjaxActionName(){throw new Error("Implement me!")}_ajaxSuccess(e){throw new Error("Implement me!")}_ajaxSetup(){throw new Error("Implement me!")}}return o.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Ui/User/Profile/Menu/Item/Follow",["require","exports","tslib","../../../../../Core","../../../../../Language","../../../../Notification","./Abstract"],(function(e,t,i,n,o,r,a){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importDefault(a);class s extends a.default{constructor(e,t){super(e,t)}_getLabel(){return o.get("wcf.user.button."+(this._isActive?"un":"")+"follow")}_getAjaxActionName(){return this._isActive?"unfollow":"follow"}_ajaxSuccess(e){this._isActive=!!e.returnValues.following,this._updateButton(),r.show()}_ajaxSetup(){return{data:{className:"wcf\\data\\user\\follow\\UserFollowAction"}}}}return n.enableLegacyInheritance(s),s})),define("WoltLabSuite/Core/Ui/User/Profile/Menu/Item/Ignore",["require","exports","tslib","../../../../../Core","../../../../../Language","../../../../Notification","./Abstract","../../../../../Form/Builder/Dialog"],(function(e,t,i,n,o,r,a,s){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importDefault(a),s=i.__importDefault(s);class l extends a.default{constructor(e,t){super(e,t),this.dialog=new s.default("ignoreDialog","wcf\\data\\user\\ignore\\UserIgnoreAction","getDialog",{dialog:{title:o.get("wcf.user.button.ignore")},actionParameters:{userID:this._userId},submitActionName:"submitDialog",successCallback:e=>this._ajaxSuccess(e),destroyOnClose:!0})}_getLabel(){return o.get("wcf.user.button."+(this._isActive?"un":"")+"ignore")}_ajaxSuccess(e){this._isActive=!!e.isIgnoredUser,this._updateButton(),r.show()}_toggle(e){e.preventDefault(),this.dialog.open()}}return n.enableLegacyInheritance(l),l})),function(e){function t(){for(;n.length&&"function"==typeof n[0];)n.shift()()}var i=e.require,n=[],o=0;e.orgRequire=i,e.require=function(r,a,s){if(!Array.isArray(r))return i.apply(e,arguments);var l=new Promise((function(e,a){var s=o++;n.push(s),i(r,(function(){var i=arguments;n[n.indexOf(s)]=function(){e(i)},t()}),(function(e){n[n.indexOf(s)]=function(){a(e)},t()}))}));return a&&(l=l.then((function(t){return a.apply(e,t)}))),s&&l.catch(s),l},e.require.config=i.config}(window),define("require.linearExecution",(function(){}));
+//# sourceMappingURL=https://assets.woltlab.com/sourcemap/WCF/dee8a387afc67ddeaaa53379f1e3b264b98f30c71b077a4e7c8188f2a2fe9f51.map
\ No newline at end of file
-var requirejs,require,define,__extends,__assign,__rest,__decorate,__param,__metadata,__awaiter,__generator,__exportStar,__values,__read,__spread,__spreadArrays,__await,__asyncGenerator,__asyncDelegator,__asyncValues,__makeTemplateObject,__importStar,__importDefault,__classPrivateFieldGet,__classPrivateFieldSet,__createBinding,_self,Prism;(function(global,Promise,undef){function commentReplace(e,t){return t||""}function hasProp(e,t){return hasOwn.call(e,t)}function getOwn(e,t){return e&&hasProp(e,t)&&e[t]}function obj(){return Object.create(null)}function eachProp(e,t){var i;for(i in e)if(hasProp(e,i)&&t(e[i],i))break}function mixin(e,t,i,n){return t&&eachProp(t,(function(t,o){!i&&hasProp(e,o)||(!n||"object"!=typeof t||!t||Array.isArray(t)||"function"==typeof t||t instanceof RegExp?e[o]=t:(e[o]||(e[o]={}),mixin(e[o],t,i,n)))})),e}function getGlobal(e){if(!e)return e;var t=global;return e.split(".").forEach((function(e){t=t[e]})),t}function newContext(e){function t(e,t,i){var n,o,r,a,s,l,c,d,u,h,p=t&&t.split("/"),m=I.map,f=m&&m["*"];if(e&&(l=(e=e.split("/")).length-1,I.nodeIdCompat&&jsSuffixRegExp.test(e[l])&&(e[l]=e[l].replace(jsSuffixRegExp,"")),"."===e[0].charAt(0)&&p&&(e=p.slice(0,p.length-1).concat(e)),function(e){var t,i,n=e.length;for(t=0;t<n;t++)if("."===(i=e[t]))e.splice(t,1),t-=1;else if(".."===i){if(0===t||1===t&&".."===e[2]||".."===e[t-1])continue;t>0&&(e.splice(t-1,2),t-=2)}}(e),e=e.join("/")),i&&m&&(p||f)){e:for(r=(o=e.split("/")).length;r>0;r-=1){if(s=o.slice(0,r).join("/"),p)for(a=p.length;a>0;a-=1)if((n=getOwn(m,p.slice(0,a).join("/")))&&(n=getOwn(n,s))){c=n,d=r;break e}!u&&f&&getOwn(f,s)&&(u=getOwn(f,s),h=r)}!c&&u&&(c=u,d=h),c&&(o.splice(0,d,c),e=o.join("/"))}return getOwn(I.pkgs,e)||e}function i(e){var t,i,n,o;for(t=0;t<queue.length;t+=1){if("string"!=typeof queue[t][0]){if(!e)break;queue[t].unshift(e),e=undef}t-=1,(i=(n=queue.shift())[0])in C||i in A||(i in D?_.apply(undef,n):A[i]=n)}e&&(o=getOwn(I.shim,e)||{},_(e,o.deps||[],o.exportsFn))}function n(e,n){var o=function(t,r,a,s){var l,c;if(n&&i(),"string"==typeof t){if(y[t])return y[t](e);if(!((l=v(t,e,!0).id)in C))throw new Error("Not loaded: "+l);return C[l]}return t&&!Array.isArray(t)&&(c=t,t=undef,Array.isArray(r)&&(t=r,r=a,a=s),n)?o.config(c)(t,r,a):(r=r||function(){return slice.call(arguments,0)},U.then((function(){return i(),_(undef,t||[],r,a,e)})))};return o.isBrowser="undefined"!=typeof document&&"undefined"!=typeof navigator,o.nameToUrl=function(e,t,i){var n,r,a,s,l,c,d=getOwn(I.pkgs,e);if(d&&(e=d),c=getOwn(O,e))return o.nameToUrl(c,t,i);if(urlRegExp.test(e))s=e+(t||"");else{for(n=I.paths,a=(r=e.split("/")).length;a>0;a-=1)if(l=getOwn(n,r.slice(0,a).join("/"))){Array.isArray(l)&&(l=l[0]),r.splice(0,a,l);break}s=r.join("/"),s=("/"===(s+=t||(/^data\:|^blob\:|\?/.test(s)||i?"":".js")).charAt(0)||s.match(/^[\w\+\.\-]+:/)?"":I.baseUrl)+s}return I.urlArgs&&!/^blob\:/.test(s)?s+I.urlArgs(e,s):s},o.toUrl=function(i){var n,r=i.lastIndexOf("."),a=i.split("/")[0];return-1!==r&&(!("."===a||".."===a)||r>1)&&(n=i.substring(r,i.length),i=i.substring(0,r)),o.nameToUrl(t(i,e),n,!0)},o.defined=function(t){return v(t,e,!0).id in C},o.specified=function(t){return(t=v(t,e,!0).id)in C||t in D},o}function o(e,t,i){e&&(C[e]=i,requirejs.onResourceLoad&&requirejs.onResourceLoad(L,t.map,t.deps)),t.finished=!0,t.resolve(i)}function r(e,t){e.finished=!0,e.rejected=!0,e.reject(t)}function a(e){e.factoryCalled=!0;var t,i=e.map.id;try{t=L.execCb(i,e.factory,e.values,C[i])}catch(t){return r(e,t)}i?t===undef&&(e.cjsModule?t=e.cjsModule.exports:e.usingExports&&(t=C[i])):k.splice(k.indexOf(e),1),o(i,e,t)}function s(e,t){this.rejected||this.depDefined[t]||(this.depDefined[t]=!0,this.depCount+=1,this.values[t]=e,this.depending||this.depCount!==this.depMax||a(this))}function l(e,t){var i={};return i.promise=new Promise((function(t,n){i.resolve=t,i.reject=function(t){e||k.splice(k.indexOf(i),1),n(t)}})),i.map=e?t||v(e):{},i.depCount=0,i.depMax=0,i.values=[],i.depDefined=[],i.depFinished=s,i.map.pr&&(i.deps=[v(i.map.pr)]),i}function c(e,t){var i;return e?(i=e in D&&D[e])||(i=D[e]=l(e,t)):(i=l(),k.push(i)),i}function d(e,t){return function(i){e.rejected||(i.dynaId||(i.dynaId="id"+(P+=1),i.requireModules=[t]),r(e,i))}}function u(e,t,i,n){i.depMax+=1,w(e,t).then((function(e){i.depFinished(e,n)}),d(i,e.id)).catch(d(i,i.map.id))}function h(e,t,a){e.load(t.n,n(a),function(e){function t(t){n||o(e,c(e),t)}var n;return t.error=function(t){c(e).reject(t)},t.fromText=function(t,o){var a=c(e),s=v(v(e).n),l=s.id;n=!0,a.factory=function(e,t){return t},o&&(t=o),hasProp(I.config,e)&&(I.config[l]=I.config[e]);try{b.exec(t)}catch(e){r(a,new Error("fromText eval for "+l+" failed: "+e))}i(l),a.deps=[s],u(s,null,a,a.deps.length)},t}(t.id),I)}function p(e){var t,i=e?e.indexOf("!"):-1;return i>-1&&(t=e.substring(0,i),e=e.substring(i+1,e.length)),[t,e]}function m(e,t,i){var n=e.map.id;t[n]=!0,!e.finished&&e.deps&&e.deps.forEach((function(n){var o=n.id,r=!hasProp(y,o)&&c(o,n);!r||r.finished||i[o]||(hasProp(t,o)?e.deps.forEach((function(t,i){t.id===o&&e.depFinished(C[o],i)})):m(r,t,i))})),i[n]=!0}function f(e){var t,i,n,o=[],r=1e3*I.waitSeconds,a=r&&B+r<(new Date).getTime();if(0===j&&(e?e.finished||m(e,{},{}):k.length&&k.forEach((function(e){m(e,{},{})}))),a){for(i in D)(n=D[i]).finished||o.push(n.map.id);(t=new Error("Timeout for modules: "+o)).requireModules=o,b.onError(t)}else(j||k.length)&&(E||(E=!0,setTimeout((function(){E=!1,f()}),70)))}function g(e){return setTimeout((function(){e.dynaId&&N[e.dynaId]||(N[e.dynaId]=!0,b.onError(e))})),e}var b,_,v,w,y,E,S,L,C=obj(),A=obj(),I={waitSeconds:7,baseUrl:"./",paths:{},bundles:{},pkgs:{},shim:{},config:{}},x=obj(),k=[],D=obj(),T=obj(),M=obj(),j=0,B=(new Date).getTime(),P=0,N=obj(),q=obj(),O=obj(),U=Promise.resolve();return S="function"==typeof importScripts?function(e){var t=e.url;q[t]||(q[t]=!0,c(e.id),importScripts(t),i(e.id))}:function(e){var t,n=e.id,o=e.url;q[o]||(q[o]=!0,(t=document.createElement("script")).setAttribute("data-requiremodule",n),t.type=I.scriptType||"text/javascript",t.charset="utf-8",t.async=!0,j+=1,t.addEventListener("load",(function(){j-=1,i(n)}),!1),t.addEventListener("error",(function(){var e,i,o;j-=1,(i=getOwn(I.paths,n))&&Array.isArray(i)&&i.length>1?(t.parentNode.removeChild(t),i.shift(),(o=c(n)).map=v(n),o.map.url=b.nameToUrl(n),S(o.map)):((e=new Error("Load failed: "+n+": "+t.src)).requireModules=[n],c(n).reject(e))}),!1),t.src=o,10===document.documentMode?asap.then((function(){document.head.appendChild(t)})):document.head.appendChild(t))},w=function(e,t){var i,n,o=e.id,r=I.shim[o];if(o in A)i=A[o],delete A[o],_.apply(undef,i);else if(!(o in D))if(e.pr){if(!(n=getOwn(O,o)))return w(v(e.pr)).then((function(i){var n=e.prn?e:v(o,t,!0),r=n.id,a=getOwn(I.shim,r);return r in M||(M[r]=!0,a&&a.deps?b(a.deps,(function(){h(i,n,t)})):h(i,n,t)),c(r).promise}));e.url=b.nameToUrl(n),S(e)}else r&&r.deps?b(r.deps,(function(){S(e)})):S(e);return c(o).promise},v=function(e,i,n){if("string"!=typeof e)return e;var o,r,a,s,l,c,d=e+" & "+(i||"")+" & "+!!n;return s=(a=p(e))[0],e=a[1],!s&&d in x?x[d]:(s&&(o=(s=t(s,i,n))in C&&C[s]),s?o&&o.normalize?(e=o.normalize(e,function(e){return function(i){return t(i,e,!0)}}(i)),c=!0):e=-1===e.indexOf("!")?t(e,i,n):e:(s=(a=p(e=t(e,i,n)))[0],e=a[1],r=b.nameToUrl(e)),l={id:s?s+"!"+e:e,n:e,pr:s,url:r,prn:s&&c},s||(x[d]=l),l)},y={require:function(e){return n(e)},exports:function(e){var t=C[e];return void 0!==t?t:C[e]={}},module:function(e){return{id:e,uri:"",exports:y.exports(e),config:function(){return getOwn(I.config,e)||{}}}}},_=function(e,t,i,n,r){if(e){if(e in T)return;T[e]=!0}var s=c(e);return t&&!Array.isArray(t)&&(i=t,t=[]),t=t?slice.call(t,0):null,n||(hasProp(I,"defaultErrback")?I.defaultErrback&&(n=I.defaultErrback):n=g),n&&s.promise.catch(n),r=r||e,"function"==typeof i?(!t.length&&i.length&&(i.toString().replace(commentRegExp,commentReplace).replace(cjsRequireRegExp,(function(e,i){t.push(i)})),t=(1===i.length?["require"]:["require","exports","module"]).concat(t)),s.factory=i,s.deps=t,s.depending=!0,t.forEach((function(i,n){var o;t[n]=o=v(i,r,!0),"require"===(i=o.id)?s.values[n]=y.require(e):"exports"===i?(s.values[n]=y.exports(e),s.usingExports=!0):"module"===i?s.values[n]=s.cjsModule=y.module(e):void 0===i?s.values[n]=void 0:u(o,r,s,n)})),s.depending=!1,s.depCount===s.depMax&&a(s)):e&&o(e,s,i),B=(new Date).getTime(),e||f(s),s.promise},(b=n(null,!0)).config=function(t){var i,n,o,r;return t.context&&t.context!==e?(i=getOwn(contexts,t.context))?i.req.config(t):newContext(t.context).config(t):(x=obj(),t.baseUrl&&"/"!==t.baseUrl.charAt(t.baseUrl.length-1)&&(t.baseUrl+="/"),"string"==typeof t.urlArgs&&(n=t.urlArgs,t.urlArgs=function(e,t){return(-1===t.indexOf("?")?"?":"&")+n}),o=I.shim,r={paths:!0,bundles:!0,config:!0,map:!0},eachProp(t,(function(e,t){r[t]?(I[t]||(I[t]={}),mixin(I[t],e,!0,!0)):I[t]=e})),t.bundles&&eachProp(t.bundles,(function(e,t){e.forEach((function(e){e!==t&&(O[e]=t)}))})),t.shim&&(eachProp(t.shim,(function(e,t){Array.isArray(e)&&(e={deps:e}),!e.exports&&!e.init||e.exportsFn||(e.exportsFn=function(e){return function(){var t;return e.init&&(t=e.init.apply(global,arguments)),t||e.exports&&getGlobal(e.exports)}}(e)),o[t]=e})),I.shim=o),t.packages&&t.packages.forEach((function(e){var t;t=(e="string"==typeof e?{name:e}:e).name,e.location&&(I.paths[t]=e.location),I.pkgs[t]=e.name+"/"+(e.main||"main").replace(currDirRegExp,"").replace(jsSuffixRegExp,"")})),(t.deps||t.callback)&&b(t.deps,t.callback),b)},b.onError=function(e){throw e},L={id:e,defined:C,waiting:A,config:I,deferreds:D,req:b,execCb:function(e,t,i,n){return t.apply(n,i)}},contexts[e]=L,b}var topReq,dataMain,src,subPath,bootstrapConfig,hasOwn,contexts,queue,currDirRegExp,urlRegExp,commentRegExp,cjsRequireRegExp,jsSuffixRegExp,slice,asap;if(!Promise)throw new Error("No Promise implementation available");bootstrapConfig=requirejs||require,hasOwn=Object.prototype.hasOwnProperty,contexts={},queue=[],currDirRegExp=/^\.\//,urlRegExp=/^\/|\:|\?|\.js$/,commentRegExp=/\/\*[\s\S]*?\*\/|([^:"'=]|^)\/\/.*$/gm,cjsRequireRegExp=/[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g,jsSuffixRegExp=/\.js$/,slice=Array.prototype.slice,"function"!=typeof requirejs&&(asap=Promise.resolve(void 0),requirejs=topReq=newContext("_"),"function"!=typeof require&&(require=topReq),topReq.exec=function(text){return eval(text)},topReq.contexts=contexts,define=function(){queue.push(slice.call(arguments,0))},define.amd={jQuery:!0},bootstrapConfig&&topReq.config(bootstrapConfig),topReq.isBrowser&&!contexts._.config.skipDataMain&&(dataMain=document.querySelectorAll("script[data-main]")[0],dataMain=dataMain&&dataMain.getAttribute("data-main"),dataMain&&(dataMain=dataMain.replace(jsSuffixRegExp,""),bootstrapConfig&&bootstrapConfig.baseUrl||-1!==dataMain.indexOf("!")||(src=dataMain.split("/"),dataMain=src.pop(),subPath=src.length?src.join("/")+"/":"./",topReq.config({baseUrl:subPath})),topReq([dataMain]))))})(this,"undefined"!=typeof Promise?Promise:void 0),define("requireLib",(function(){})),requirejs.config({paths:{favico:"3rdParty/favico","perfect-scrollbar":"3rdParty/perfect-scrollbar",Pica:"3rdParty/pica",pica:"3rdParty/pica",prism:"3rdParty/prism",prismjs:"3rdParty/prism/prism","qr-creator":"3rdParty/qr-creator.min",tslib:"3rdParty/tslib",zxcvbn:"3rdParty/zxcvbn"},shim:{favico:{exports:"Favico"},"perfect-scrollbar":{exports:"PerfectScrollbar"},"qr-creator":{exports:"QrCreator"}},map:{"*":{Ajax:"WoltLabSuite/Core/Ajax",AjaxJsonp:"WoltLabSuite/Core/Ajax/Jsonp",AjaxRequest:"WoltLabSuite/Core/Ajax/Request",CallbackList:"WoltLabSuite/Core/CallbackList",ColorUtil:"WoltLabSuite/Core/ColorUtil",Core:"WoltLabSuite/Core/Core",DateUtil:"WoltLabSuite/Core/Date/Util",Devtools:"WoltLabSuite/Core/Devtools",Dictionary:"WoltLabSuite/Core/Dictionary","Dom/ChangeListener":"WoltLabSuite/Core/Dom/Change/Listener","Dom/Traverse":"WoltLabSuite/Core/Dom/Traverse","Dom/Util":"WoltLabSuite/Core/Dom/Util",Environment:"WoltLabSuite/Core/Environment",EventHandler:"WoltLabSuite/Core/Event/Handler",EventKey:"WoltLabSuite/Core/Event/Key",Language:"WoltLabSuite/Core/Language",List:"WoltLabSuite/Core/List",ObjectMap:"WoltLabSuite/Core/ObjectMap",Permission:"WoltLabSuite/Core/Permission",StringUtil:"WoltLabSuite/Core/StringUtil","Ui/Alignment":"WoltLabSuite/Core/Ui/Alignment","Ui/CloseOverlay":"WoltLabSuite/Core/Ui/CloseOverlay","Ui/Confirmation":"WoltLabSuite/Core/Ui/Confirmation","Ui/Dialog":"WoltLabSuite/Core/Ui/Dialog","Ui/Notification":"WoltLabSuite/Core/Ui/Notification","Ui/ReusableDropdown":"WoltLabSuite/Core/Ui/Dropdown/Reusable","Ui/Screen":"WoltLabSuite/Core/Ui/Screen","Ui/Scroll":"WoltLabSuite/Core/Ui/Scroll","Ui/SimpleDropdown":"WoltLabSuite/Core/Ui/Dropdown/Simple","Ui/TabMenu":"WoltLabSuite/Core/Ui/TabMenu",Upload:"WoltLabSuite/Core/Upload",User:"WoltLabSuite/Core/User"}},waitSeconds:0}),define("jquery",[],(function(){return window.jQuery})),define("require.config",(function(){})),function(e,t){var i;e.elAttr=function(e,t,i){if(void 0===i)return e.getAttribute(t)||"";e.setAttribute(t,i)},e.elAttrBool=function(e,t){var i=elAttr(e,t);return"1"===i||"true"===i},e.elByClass=function(e,i){return(i||t).getElementsByClassName(e)},e.elById=function(e){return t.getElementById(e)},e.elBySel=function(e,i){return(i||t).querySelector(e)},e.elBySelAll=function(e,i,n){var o=(i||t).querySelectorAll(e);return"function"==typeof n&&Array.prototype.forEach.call(o,n),o},e.elByTag=function(e,i){return(i||t).getElementsByTagName(e)},e.elCreate=function(e){return t.createElement(e)},e.elClosest=function(e,t){if(!(e instanceof Node))throw new TypeError("Provided element is not a Node.");return e.nodeType===Node.TEXT_NODE&&null===(e=e.parentNode)?null:("string"!=typeof t&&(t=""),0===t.length?e:e.closest(t))},e.elData=function(e,t,i){if(t="data-"+t,void 0===i)return e.getAttribute(t)||"";e.setAttribute(t,i)},e.elDataBool=function(e,t){var i=elData(e,t);return"1"===i||"true"===i},e.elHide=function(e){e.style.setProperty("display","none","")},e.elIsHidden=function(e){return"none"===e.style.getPropertyValue("display")},e.elInnerError=function(e,t,i){var n,o=e.parentNode;if(null===o)throw new Error("Only elements that have a parent element or document are valid.");if("string"!=typeof t){if(null!=t&&!1!==t)throw new TypeError("The error message must be a string; `false`, `null` or `undefined` can be used as a substitute for an empty string.");t=""}return null!==(n=e.nextElementSibling)&&"SMALL"===n.nodeName&&n.classList.contains("innerError")||(""===t?n=null:((n=elCreate("small")).className="innerError",o.insertBefore(n,e.nextSibling))),""===t?null!==n&&(o.removeChild(n),n=null):n[i?"innerHTML":"textContent"]=t,n},e.elRemove=function(e){e.parentNode.removeChild(e)},e.elShow=function(e){e.style.removeProperty("display")},e.elToggle=function(e){"none"===e.style.getPropertyValue("display")?elShow(e):elHide(e)},e.forEach=function(e,t){for(var i=0,n=e.length;i<n;i++)t(e[i],i)},e.objOwns=function(e,t){return e.hasOwnProperty(t)},e.debounce=function(e,t,i){var n;return function(){var o=this,r=arguments;clearTimeout(n),n=setTimeout((function(){n=null,i||e.apply(o,r)}),t),i&&!n&&e.apply(o,r)}},Object.defineProperty(e,"WCF_CLICK_EVENT",{value:"click"}),i=0,function t(){e.history.state&&e.history.state.name&&"initial"!==e.history.state.name?(e.history.replaceState({name:"skip",depth:++i},""),e.history.back(),setTimeout(t,1)):e.history.replaceState({name:"initial"},"")}(),e.addEventListener("popstate",(function(t){t.state&&t.state.name&&"skip"===t.state.name&&e.history.go(t.state.depth)})),e.String.prototype.hashCode=function(){var e,t,i=0;if(this.length)for(e=0,t=this.length;e<t;e++)i=(i<<5)-i+this.charCodeAt(e),i&=i;return i}}(window,document),define("wcf.globalHelper",(function(){})),function(){var e=function(e){"use strict";function t(e){if(e.paused||e.ended||g)return!1;try{d.clearRect(0,0,l,s),d.drawImage(e,0,0,l,s)}catch(e){}v=setTimeout((function(){t(e)}),j.duration),M.setIcon(c)}function i(e){var t,i=/^#?([a-f\d])([a-f\d])([a-f\d])$/i;return e=e.replace(i,(function(e,t,i,n){return t+t+i+i+n+n})),!!(t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e))&&{r:parseInt(t[1],16),g:parseInt(t[2],16),b:parseInt(t[3],16)}}function n(e,t){var i,n={};for(i in e)n[i]=e[i];for(i in t)n[i]=t[i];return n}var o,r,a,s,l,c,d,u,h,p,m,f,g,b,_,v,w,y,E,S,L,C,A,I,x,k,D,T,M,j;return e=e||{},o={bgColor:"#d00",textColor:"#fff",fontFamily:"sans-serif",fontStyle:"bold",type:"circle",position:"down",animation:"slide",elementId:!1,element:null,dataUrl:!1,win:window},(b={}).ff="undefined"!=typeof InstallTrigger,b.chrome=!!window.chrome,b.opera=!!window.opera||navigator.userAgent.indexOf("Opera")>=0,b.ie=!1,b.safari=Object.prototype.toString.call(window.HTMLElement).indexOf("Constructor")>0,b.supported=b.chrome||b.ff||b.opera,y=[],f=function(){},h=g=!1,E=function(){var t,h,p,m,f,g;if((r=n(o,e)).bgColor=i(r.bgColor),r.textColor=i(r.textColor),r.position=r.position.toLowerCase(),r.animation=j.types[""+r.animation]?r.animation:o.animation,w=r.win.document,t=r.position.indexOf("up")>-1,h=r.position.indexOf("left")>-1,t||h)for(p in j.types)for(m=0;m<j.types[p].length;m++)f=j.types[p][m],t&&(f.y<.6?f.y=f.y-.4:f.y=f.y-2*f.y+(1-f.w)),h&&(f.x<.6?f.x=f.x-.4:f.x=f.x-2*f.x+(1-f.h)),j.types[p][m]=f;r.type=L[""+r.type]?r.type:o.type,a=M.getIcons(),c=document.createElement("canvas"),u=document.createElement("img"),(g=a[a.length-1]).hasAttribute("href")?(u.setAttribute("crossOrigin","anonymous"),u.onload=function(){s=u.height>0?u.height:32,l=u.width>0?u.width:32,c.height=s,c.width=l,d=c.getContext("2d"),S.ready()},u.setAttribute("src",g.getAttribute("href"))):(s=32,l=32,u.height=s,u.width=l,c.height=s,c.width=l,d=c.getContext("2d"),S.ready())},(S={}).ready=function(){h=!0,S.reset(),f()},S.reset=function(){h&&(y=[],p=!1,m=!1,d.clearRect(0,0,l,s),d.drawImage(u,0,0,l,s),M.setIcon(c),window.clearTimeout(_),window.clearTimeout(v))},S.start=function(){var e,t;h&&!m&&(e=function(){p=y[0],m=!1,y.length>0&&(y.shift(),S.start())},y.length>0&&(m=!0,t=function(){["type","animation","bgColor","textColor","fontFamily","fontStyle"].forEach((function(e){e in y[0].options&&(r[e]=y[0].options[e])})),j.run(y[0].options,(function(){e()}),!1)},p?j.run(p.options,(function(){t()}),!0):t()))},C=function(e){return e.n="number"==typeof e.n?Math.abs(0|e.n):e.n,e.x=l*e.x,e.y=s*e.y,e.w=l*e.w,e.h=s*e.h,e.len=(""+e.n).length,e},(L={}).circle=function(e){var t=!1;2===(e=C(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),d.clearRect(0,0,l,s),d.drawImage(u,0,0,l,s),d.beginPath(),d.font=r.fontStyle+" "+Math.floor(e.h*(e.n>99?.85:1))+"px "+r.fontFamily,d.textAlign="center",t?(d.moveTo(e.x+e.w/2,e.y),d.lineTo(e.x+e.w-e.h/2,e.y),d.quadraticCurveTo(e.x+e.w,e.y,e.x+e.w,e.y+e.h/2),d.lineTo(e.x+e.w,e.y+e.h-e.h/2),d.quadraticCurveTo(e.x+e.w,e.y+e.h,e.x+e.w-e.h/2,e.y+e.h),d.lineTo(e.x+e.h/2,e.y+e.h),d.quadraticCurveTo(e.x,e.y+e.h,e.x,e.y+e.h-e.h/2),d.lineTo(e.x,e.y+e.h/2),d.quadraticCurveTo(e.x,e.y,e.x+e.h/2,e.y)):d.arc(e.x+e.w/2,e.y+e.h/2,e.h/2,0,2*Math.PI),d.fillStyle="rgba("+r.bgColor.r+","+r.bgColor.g+","+r.bgColor.b+","+e.o+")",d.fill(),d.closePath(),d.beginPath(),d.stroke(),d.fillStyle="rgba("+r.textColor.r+","+r.textColor.g+","+r.textColor.b+","+e.o+")","number"==typeof e.n&&e.n>999?d.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)):d.fillText(e.n,Math.floor(e.x+e.w/2),Math.floor(e.y+e.h-.15*e.h)),d.closePath()},L.rectangle=function(e){2===(e=C(e)).len?(e.x=e.x-.4*e.w,e.w=1.4*e.w):e.len>=3&&(e.x=e.x-.65*e.w,e.w=1.65*e.w),d.clearRect(0,0,l,s),d.drawImage(u,0,0,l,s),d.beginPath(),d.font=r.fontStyle+" "+Math.floor(e.h*(e.n>99?.9:1))+"px "+r.fontFamily,d.textAlign="center",d.fillStyle="rgba("+r.bgColor.r+","+r.bgColor.g+","+r.bgColor.b+","+e.o+")",d.fillRect(e.x,e.y,e.w,e.h),d.fillStyle="rgba("+r.textColor.r+","+r.textColor.g+","+r.textColor.b+","+e.o+")","number"==typeof e.n&&e.n>999?d.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)):d.fillText(e.n,Math.floor(e.x+e.w/2),Math.floor(e.y+e.h-.15*e.h)),d.closePath()},A=function(e,t){t=("string"==typeof t?{animation:t}:t)||{},f=function(){try{if("number"==typeof e?e>0:""!==e){var n={type:"badge",options:{n:e}};if("animation"in t&&j.types[""+t.animation]&&(n.options.animation=""+t.animation),"type"in t&&L[""+t.type]&&(n.options.type=""+t.type),["bgColor","textColor"].forEach((function(e){e in t&&(n.options[e]=i(t[e]))})),["fontStyle","fontFamily"].forEach((function(e){e in t&&(n.options[e]=t[e])})),y.push(n),y.length>100)throw new Error("Too many badges requests in queue.");S.start()}else S.reset()}catch(e){throw new Error("Error setting badge. Message: "+e.message)}},h&&f()},I=function(e){f=function(){var t,i,n,o;try{t=e.width,i=e.height,n=document.createElement("img"),o=t/l<i/s?t/l:i/s,n.setAttribute("crossOrigin","anonymous"),n.onload=function(){d.clearRect(0,0,l,s),d.drawImage(n,0,0,l,s),M.setIcon(c)},n.setAttribute("src",e.getAttribute("src")),n.height=i/o,n.width=t/o}catch(e){throw new Error("Error setting image. Message: "+e.message)}},h&&f()},x=function(e){f=function(){M.setIconSrc(e)},h&&f()},k=function(e){f=function(){try{if("stop"===e)return g=!0,S.reset(),void(g=!1);e.addEventListener("play",(function(){t(this)}),!1)}catch(e){throw new Error("Error setting video. Message: "+e.message)}},h&&f()},D=function(e){if(window.URL&&window.URL.createObjectURL||(window.URL=window.URL||{},window.URL.createObjectURL=function(e){return e}),b.supported){var i=!1;navigator.getUserMedia=navigator.getUserMedia||navigator.oGetUserMedia||navigator.msGetUserMedia||navigator.mozGetUserMedia||navigator.webkitGetUserMedia,f=function(){try{if("stop"===e)return g=!0,S.reset(),void(g=!1);(i=document.createElement("video")).width=l,i.height=s,navigator.getUserMedia({video:!0,audio:!1},(function(e){i.src=URL.createObjectURL(e),i.play(),t(i)}),(function(){}))}catch(e){throw new Error("Error setting webcam. Message: "+e.message)}},h&&f()}},T=function(e,t){var n,o,a=e;for(null==t&&"[object Object]"==Object.prototype.toString.call(e)||((a={})[e]=t),n=Object.keys(a),o=0;o<n.length;o++)"bgColor"==n[o]||"textColor"==n[o]?r[n[o]]=i(a[n[o]]):r[n[o]]=a[n[o]];y.push(p),S.start()},(M={}).getIcons=function(){var e=[],t=function(){var e,t=[],i=w.getElementsByTagName("head")[0].getElementsByTagName("link");for(e=0;e<i.length;e++)/(^|\s)icon(\s|$)/i.test(i[e].getAttribute("rel"))&&t.push(i[e]);return t};return r.element?e=[r.element]:r.elementId?(e=[w.getElementById(r.elementId)])[0].setAttribute("href",e[0].getAttribute("src")):0===(e=t()).length&&((e=[w.createElement("link")])[0].setAttribute("rel","icon"),w.getElementsByTagName("head")[0].appendChild(e[0])),e.forEach((function(e){e.setAttribute("type","image/png")})),e},M.setIcon=function(e){var t=e.toDataURL("image/png");M.setIconSrc(t)},M.setIconSrc=function(e){var t,i,n;r.dataUrl&&r.dataUrl(e),r.element?(r.element.setAttribute("href",e),r.element.setAttribute("src",e)):r.elementId?((t=w.getElementById(r.elementId)).setAttribute("href",e),t.setAttribute("src",e)):b.ff||b.opera?(i=a[a.length-1],n=w.createElement("link"),a=[n],b.opera&&n.setAttribute("rel","icon"),n.setAttribute("rel","icon"),n.setAttribute("type","image/png"),w.getElementsByTagName("head")[0].appendChild(n),n.setAttribute("href",e),i.parentNode&&i.parentNode.removeChild(i)):a.forEach((function(t){t.setAttribute("href",e)}))},(j={}).duration=40,j.types={},j.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}],j.types.none=[{x:.4,y:.4,w:.6,h:.6,o:1}],j.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}],j.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}],j.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}],j.run=function(e,t,i,o){var a=j.types[w.hidden||w.msHidden||w.webkitHidden||w.mozHidden?"none":r.animation];o=!0===i?void 0!==o?o:a.length-1:void 0!==o?o:0,t=t||function(){},o<a.length&&o>=0?(L[r.type](n(e,a[o])),_=setTimeout((function(){i?o-=1:o+=1,j.run(e,t,i,o)}),j.duration),M.setIcon(c)):t()},E(),{badge:A,video:k,image:I,rawImageSrc:x,webcam:D,setOpt:T,reset:S.reset,browser:{supported:b.supported}}};void 0!==define&&define.amd?define("favico",[],(function(){return e})):"undefined"!=typeof module&&module.exports?module.exports=e:this.Favico=e}(),function(e){function t(e,t){return e!==i&&("function"==typeof Object.create?Object.defineProperty(e,"__esModule",{value:!0}):e.__esModule=!0),function(i,n){return e[i]=t?t(i,n):n}}var i="object"==typeof global?global:"object"==typeof self?self:"object"==typeof this?this:{};"function"==typeof define&&define.amd?define("tslib",["exports"],(function(n){e(t(i,t(n)))})):"object"==typeof module&&"object"==typeof module.exports?e(t(i,t(module.exports))):e(t(i))}((function(e){var t,i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])};__extends=function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},__assign=Object.assign||function(e){var t,i,n,o;for(i=1,n=arguments.length;i<n;i++)for(o in t=arguments[i])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},__rest=function(e,t){var i,n,o={};for(i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(o[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(n=0,i=Object.getOwnPropertySymbols(e);n<i.length;n++)t.indexOf(i[n])<0&&Object.prototype.propertyIsEnumerable.call(e,i[n])&&(o[i[n]]=e[i[n]]);return o},__decorate=function(e,t,i,n){var o,r,a=arguments.length,s=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,n);else for(r=e.length-1;r>=0;r--)(o=e[r])&&(s=(a<3?o(s):a>3?o(t,i,s):o(t,i))||s);return a>3&&s&&Object.defineProperty(t,i,s),s},__param=function(e,t){return function(i,n){t(i,n,e)}},__metadata=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},__awaiter=function(e,t,i,n){return new(i||(i=Promise))((function(o,r){function a(e){try{l(n.next(e))}catch(e){r(e)}}function s(e){try{l(n.throw(e))}catch(e){r(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(a,s)}l((n=n.apply(e,t||[])).next())}))},__generator=function(e,t){function i(i){return function(a){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,o&&(r=2&i[0]?o.return:i[0]?o.throw||((r=o.return)&&r.call(o),0):o.next)&&!(r=r.call(o,i[1])).done)return r;switch(o=0,r&&(i=[2&i[0],r.value]),i[0]){case 0:case 1:r=i;break;case 4:return s.label++,{value:i[1],done:!1};case 5:s.label++,o=i[1],i=[0];continue;case 7:i=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==i[0]&&2!==i[0])){s=0;continue}if(3===i[0]&&(!r||i[1]>r[0]&&i[1]<r[3])){s.label=i[1];break}if(6===i[0]&&s.label<r[1]){s.label=r[1],r=i;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(i);break}r[2]&&s.ops.pop(),s.trys.pop();continue}i=t.call(e,s)}catch(e){i=[6,e],o=0}finally{n=r=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,a])}}var n,o,r,a,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return a={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a},__exportStar=function(e,t){for(var i in e)"default"===i||Object.prototype.hasOwnProperty.call(t,i)||__createBinding(t,e,i)},__createBinding=Object.create?function(e,t,i,n){void 0===n&&(n=i),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[i]}})}:function(e,t,i,n){void 0===n&&(n=i),e[n]=t[i]},__values=function(e){var t="function"==typeof Symbol&&Symbol.iterator,i=t&&e[t],n=0;if(i)return i.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},__read=function(e,t){var i,n,o,r,a="function"==typeof Symbol&&e[Symbol.iterator];if(!a)return e;i=a.call(e),o=[];try{for(;(void 0===t||t-- >0)&&!(n=i.next()).done;)o.push(n.value)}catch(e){r={error:e}}finally{try{n&&!n.done&&(a=i.return)&&a.call(i)}finally{if(r)throw r.error}}return o},__spread=function(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(__read(arguments[t]));return e},__spreadArrays=function(){var e,t,i,n,o,r,a,s;for(e=0,t=0,i=arguments.length;t<i;t++)e+=arguments[t].length;for(n=Array(e),o=0,t=0;t<i;t++)for(a=0,s=(r=arguments[t]).length;a<s;a++,o++)n[o]=r[a];return n},__await=function(e){return this instanceof __await?(this.v=e,this):new __await(e)},__asyncGenerator=function(e,t,i){function n(e){c[e]&&(l[e]=function(t){return new Promise((function(i,n){d.push([e,t,i,n])>1||o(e,t)}))})}function o(e,t){try{(i=c[e](t)).value instanceof __await?Promise.resolve(i.value.v).then(r,a):s(d[0][2],i)}catch(e){s(d[0][3],e)}var i}function r(e){o("next",e)}function a(e){o("throw",e)}function s(e,t){e(t),d.shift(),d.length&&o(d[0][0],d[0][1])}if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var l,c=i.apply(e,t||[]),d=[];return l={},n("next"),n("throw"),n("return"),l[Symbol.asyncIterator]=function(){return this},l},__asyncDelegator=function(e){function t(t,o){i[t]=e[t]?function(i){return(n=!n)?{value:__await(e[t](i)),done:"return"===t}:o?o(i):i}:o}var i,n;return i={},t("next"),t("throw",(function(e){throw e})),t("return"),i[Symbol.iterator]=function(){return this},i},__asyncValues=function(e){function t(t){i[t]=e[t]&&function(i){return new Promise((function(n,o){(function(e,t,i,n){Promise.resolve(n).then((function(t){e({value:t,done:i})}),t)})(n,o,(i=e[t](i)).done,i.value)}))}}if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i,n=e[Symbol.asyncIterator];return n?n.call(e):(e="function"==typeof __values?__values(e):e[Symbol.iterator](),i={},t("next"),t("throw"),t("return"),i[Symbol.asyncIterator]=function(){return this},i)},__makeTemplateObject=function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e},t=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t},__importStar=function(e){var i,n;if(e&&e.__esModule)return e;if(i={},null!=e)for(n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&__createBinding(i,e,n);return t(i,e),i},__importDefault=function(e){return e&&e.__esModule?e:{default:e}},__classPrivateFieldGet=function(e,t){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return t.get(e)},__classPrivateFieldSet=function(e,t,i){if(!t.has(e))throw new TypeError("attempted to set private field on non-instance");return t.set(e,i),i},e("__extends",__extends),e("__assign",__assign),e("__rest",__rest),e("__decorate",__decorate),e("__param",__param),e("__metadata",__metadata),e("__awaiter",__awaiter),e("__generator",__generator),e("__exportStar",__exportStar),e("__createBinding",__createBinding),e("__values",__values),e("__read",__read),e("__spread",__spread),e("__spreadArrays",__spreadArrays),e("__await",__await),e("__asyncGenerator",__asyncGenerator),e("__asyncDelegator",__asyncDelegator),e("__asyncValues",__asyncValues),e("__makeTemplateObject",__makeTemplateObject),e("__importStar",__importStar),e("__importDefault",__importDefault),e("__classPrivateFieldGet",__classPrivateFieldGet),e("__classPrivateFieldSet",__classPrivateFieldSet)})),define("WoltLabSuite/Core/Core",["require","exports"],(function(e,t){"use strict";function i(e){return r(e)}function n(e,...t){const r=i(e=e||{});for(let i=0,a=t.length;i<a;i++){const a=t[i];a&&Object.keys(a).forEach((t=>{Array.isArray(a[t])||"object"!=typeof a[t]?r[t]=a[t]:o(a[t])?r[t]=n(e[t],a[t]):r[t]=a[t]}))}return r}function o(e){return"object"==typeof e&&null!==e&&Object.getPrototypeOf(e)===Object.prototype}Object.defineProperty(t,"__esModule",{value:!0}),t.enableLegacyInheritance=t.debounce=t.stringToBool=t.getStoragePrefix=t.triggerEvent=t.serialize=t.getUuid=t.getType=t.isPlainObject=t.inherit=t.extend=t.convertLegacyUrl=t.clone=void 0;const r=function(e){return"object"==typeof e&&(Array.isArray(e)||o(e))?a(e):e},a=function(e){if(!e)return null;if(Array.isArray(e))return e.slice();const t={};return Object.keys(e).forEach((i=>t[i]=r(e[i]))),t},s="wsc"+window.WCF_PATH.hashCode()+"-";t.clone=i,t.convertLegacyUrl=function(e){return e.replace(/^index\.php\/(.*?)\/\?/,((e,t)=>{const i=t.split(/([A-Z][a-z0-9]+)/);t="";for(let e=0,n=i.length;e<n;e++){const n=i[e].trim();n.length&&(t.length&&(t+="-"),t+=n.toLowerCase())}return`index.php?${t}/&`}))},t.extend=n,t.inherit=function(e,t,i){if(null==e)throw new TypeError("The constructor must not be undefined or null.");if(null==t)throw new TypeError("The super constructor must not be undefined or null.");if(void 0===t.prototype)throw new TypeError("The super constructor must have a prototype.");e._super=t,e.prototype=n(Object.create(t.prototype,{constructor:{configurable:!0,enumerable:!1,value:e,writable:!0}}),i||{})},t.isPlainObject=o,t.getType=function(e){return Object.prototype.toString.call(e).replace(/^\[object (.+)]$/,"$1")},t.getUuid=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(e=>{const t=16*Math.random()|0;return("x"==e?t:3&t|8).toString(16)}))},t.serialize=function e(t,i){if(null===t)return"";const n=[];return Object.keys(t).forEach((o=>{const r=i?i+"["+o+"]":o,a=t[o];"object"==typeof a?n.push(e(a,r)):n.push(encodeURIComponent(r)+"="+encodeURIComponent(a))})),n.join("&")},t.triggerEvent=function(e,t){if("click"===t&&e instanceof HTMLElement)return void e.click();const i=new Event(t,{bubbles:!0,cancelable:!0});e.dispatchEvent(i)},t.getStoragePrefix=function(){return s},t.stringToBool=function(e){return"1"===e||"true"===e},t.debounce=function(e,t=50,i={isImmediate:!1}){let n;return function(...o){const r=i.isImmediate&&void 0===n;void 0!==n&&clearTimeout(n),n=setTimeout((()=>{n=void 0,i.isImmediate||e.apply(this,o)}),t),r&&e.apply(this,o)}},t.enableLegacyInheritance=function(e){e.call=function(t,...i){const n=Reflect.construct(e,i,t.constructor);Object.entries(n).forEach((([e,i])=>{t[e]=i}))}}})),define("WoltLabSuite/Core/NumberUtil",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.round=void 0,t.round=function(e,t){if(void 0===t||0==+t)return Math.round(e);if(e=+e,t=+t,isNaN(e)||"number"!=typeof t||t%1!=0)return NaN;let i=e.toString().split("e"),n=i[1]?+i[1]-t:-t;return i=(e=Math.round(+`${i[0]}e${n}`)).toString().split("e"),n=i[1]?+i[1]+t:t,+`${i[0]}e${n}`}})),define("WoltLabSuite/Core/StringUtil",["require","exports","tslib","./NumberUtil"],(function(e,t,i,n){"use strict";function o(e){return String(e).replace(/(^-?\d{1,3}|\d{3})(?=(?:\d{3})+(?:$|\.))/g,"$1"+l)}function r(e,t){let i=n.round(e,t||-2).toString();const r=i.split(".");return i=o(+r[0]),r.length>1&&(i+=s+r[1]),i=i.replace("-","−"),i}function a(e){return String(e).substring(0,1).toUpperCase()+e.substring(1)}Object.defineProperty(t,"__esModule",{value:!0}),t.setupI18n=t.toCamelCase=t.shortUnit=t.unescapeHTML=t.ucfirst=t.lcfirst=t.formatNumeric=t.escapeRegExp=t.escapeHTML=t.addThousandsSeparator=void 0,n=i.__importStar(n);let s=".",l=",";t.addThousandsSeparator=o,t.escapeHTML=function(e){return String(e).replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")},t.escapeRegExp=function(e){return String(e).replace(/([.*+?^=!:${}()|[\]/\\])/g,"\\$1")},t.formatNumeric=r,t.lcfirst=function(e){return String(e).substring(0,1).toLowerCase()+e.substring(1)},t.ucfirst=a,t.unescapeHTML=function(e){return String(e).replace(/&/g,"&").replace(/"/g,'"').replace(/</g,"<").replace(/>/g,">")},t.shortUnit=function(e){let t="";return e>=1e6?(e=(e/=1e6)>10?Math.floor(e):n.round(e,-1),t="M"):e>=1e3&&(e=(e/=1e3)>10?Math.floor(e):n.round(e,-1),t="k"),r(e)+t},t.toCamelCase=function(e){return e.includes("-")?e.split("-").map(((e,t)=>(t>0&&(e=a(e)),e))).join(""):e},t.setupI18n=function(e){s=e.decimalPoint,l=e.thousandsSeparator}})),define("WoltLabSuite/Core/I18n/Plural",["require","exports","tslib","../StringUtil"],(function(e,t,i,n){"use strict";n=i.__importStar(n);const o={af(e){if(1==e)return"one"},am(e){const t=Math.floor(Math.abs(e));if(1==e||0===t)return"one"},ar(e){if(0==e)return"zero";if(1==e)return"one";if(2==e)return"two";const t=e%100;return t>=3&&t<=10?"few":t>=11&&t<=99?"many":void 0},as(e){const t=Math.floor(Math.abs(e));if(1==e||0===t)return"one"},az(e){if(1==e)return"one"},be(e){const t=e%10,i=e%100;return 1==t&&11!=i?"one":t>=2&&t<=4&&!(i>=12&&i<=14)?"few":0==t||t>=5&&t<=9||i>=11&&i<=14?"many":void 0},bg(e){if(1==e)return"one"},bn(e){const t=Math.floor(Math.abs(e));if(1==e||0===t)return"one"},bo(e){},bs(e){const t=r.getV(e),i=r.getF(e),n=e%10,o=e%100,a=i%10,s=i%100;return 0==t&&1==n&&11!=o||1==a&&11!=s?"one":0==t&&n>=2&&n<=4&&o>=12&&o<=14||a>=2&&a<=4&&s>=12&&s<=14?"few":void 0},cs(e){const t=r.getV(e);return 1==e&&0===t?"one":e>=2&&e<=4&&0===t?"few":0===t?"many":void 0},cy:e=>0==e?"zero":1==e?"one":2==e?"two":3==e?"few":6==e?"many":void 0,da(e){if(e>0&&e<2)return"one"},el(e){if(1==e)return"one"},en(e){if(1==e&&0===r.getV(e))return"one"},es(e){if(1==e)return"one"},eu(e){if(1==e)return"one"},fa(e){if(e>=0&&e<=1)return"one"},fr(e){if(e>=0&&e<2)return"one"},ga:e=>1==e?"one":2==e?"two":3==e||4==e||5==e||6==e?"few":7==e||8==e||9==e||10==e?"many":void 0,gu(e){if(e>=0&&e<=1)return"one"},he(e){const t=r.getV(e);return 1==e&&0===t?"one":2==e&&0===t?"two":e>10&&0===t&&e%10==0?"many":void 0},hi(e){if(e>=0&&e<=1)return"one"},hr:e=>r.bs(e),hu(e){if(1==e)return"one"},hy(e){if(e>=0&&e<2)return"one"},id(e){},is(e){const t=r.getF(e);if(0===t&&e%10==1&&e%100!=11||0!==t)return"one"},ja(e){},jv(e){},ka(e){if(1==e)return"one"},kk(e){if(1==e)return"one"},km(e){},kn(e){if(e>=0&&e<=1)return"one"},ko(e){},ku(e){if(1==e)return"one"},ky(e){if(1==e)return"one"},lb(e){if(1==e)return"one"},lo(e){},lt(e){const t=e%10,i=e%100;return 1!=t||i>=11&&i<=19?t>=2&&t<=9&&!(i>=11&&i<=19)?"few":0!=r.getF(e)?"many":void 0:"one"},lv(e){const t=e%10,i=e%100,n=r.getV(e),o=r.getF(e),a=o%10,s=o%100;return 0==t||i>=11&&i<=19||2==n&&s>=11&&s<=19?"zero":1==t&&11!=i||2==n&&1==a&&11!=s||2!=n&&1==a?"one":void 0},mk:e=>r.bs(e),ml(e){if(1==e)return"one"},mn(e){if(1==e)return"one"},mr(e){if(1==e)return"one"},ms(e){},mt(e){const t=e%100;return 1==e?"one":0==e||t>=2&&t<=10?"few":t>=11&&t<=19?"many":void 0},my(e){},no(e){if(1==e)return"one"},ne(e){if(1==e)return"one"},or(e){if(1==e)return"one"},pa(e){if(1==e||0==e)return"one"},pl(e){const t=r.getV(e),i=e%10,n=e%100;return 1==e&&0==t?"one":0==t&&i>=2&&i<=4&&!(n>=12&&n<=14)?"few":0==t&&(1!=e&&i>=0&&i<=1||i>=5&&i<=9||n>=12&&n<=14)?"many":void 0},ps(e){if(1==e)return"one"},pt(e){if(e>=0&&e<2)return"one"},ro(e){const t=r.getV(e),i=e%100;return 1==e&&0===t?"one":0!=t||0==e||i>=2&&i<=19?"few":void 0},ru(e){const t=e%10,i=e%100;if(0==r.getV(e)){if(1==t&&11!=i)return"one";if(t>=2&&t<=4&&!(i>=12&&i<=14))return"few";if(0==t||t>=5&&t<=9||i>=11&&i<=14)return"many"}},sd(e){if(1==e)return"one"},si(e){if(0==e||1==e||0==Math.floor(e)&&1==r.getF(e))return"one"},sk:e=>r.cs(e),sl(e){const t=r.getV(e),i=e%100;return 0==t&&1==i?"one":0==t&&2==i?"two":0==t&&(3==i||4==i)||0!=t?"few":void 0},sq(e){if(1==e)return"one"},sr:e=>r.bs(e),ta(e){if(1==e)return"one"},te(e){if(1==e)return"one"},tg(e){},th(e){},tk(e){if(1==e)return"one"},tr(e){if(1==e)return"one"},ug(e){if(1==e)return"one"},uk:e=>r.ru(e),uz(e){if(1==e)return"one"},vi(e){},zh(e){}},r=Object.assign({getCategory(e,t){t||(t=document.documentElement.lang),"function"!=typeof r[t]&&(t="en");const i=r[t](e);return i||"other"},getCategoryFromTemplateParameters(e){if(!e.value)throw new Error("Missing parameter value");if(!e.other)throw new Error("Missing parameter other");let t=e.value;Array.isArray(t)&&(t=t.length);const i=Object.keys(e).find((e=>e.toString()===(~~e).toString()&&e.toString()===t.toString()));if(i)return i;let o=r.getCategory(t);e[o]||(o="other");const a=e[o];return-1!==a.indexOf("#")?a.replace("#",n.formatNumeric(t)):a},getF(e){const t=e.toString(),i=t.indexOf(".");return-1===i?0:parseInt(t.substr(i+1),10)},getV:e=>e.toString().replace(/^[^.]*\.?/,"").length},o);return r})),define("WoltLabSuite/Core/Language/Store",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.add=t.get=void 0;const i=new Map;t.get=function(e,t={}){const n=i.get(e);return void 0===n?e:n(t)},t.add=function(e,t){i.set(e,t)}})),define("WoltLabSuite/Core/Template.grammar",["require"],(function(e){var t=function(e,t,i,n){for(i=i||{},n=e.length;n--;i[e[n]]=t);return i},i=[2,44],n=[5,9,11,12,13,18,19,21,22,23,25,26,28,29,30,32,33,34,35,37,39,41],o=[1,25],r=[1,27],a=[1,33],s=[1,31],l=[1,32],c=[1,28],d=[1,29],u=[1,26],h=[1,35],p=[1,41],m=[1,40],f=[11,12,15,42,43,47,49,51,52,54,55],g=[9,11,12,13,18,19,21,23,26,28,30,32,33,34,35,37,39],b=[11,12,15,42,43,46,47,48,49,51,52,54,55],_=[1,64],v=[1,65],w=[18,37,39],y=[12,15],E={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,T_WS:12,"{if":13,COMMAND_PARAMETERS:14,"}":15,COMMAND_repetition0:16,COMMAND_option0:17,"{/if}":18,"{include":19,COMMAND_PARAMETER_LIST:20,"{implode":21,"{/implode}":22,"{foreach":23,COMMAND_option1:24,"{/foreach}":25,"{plural":26,PLURAL_PARAMETER_LIST:27,"{lang}":28,"{/lang}":29,"{":30,VARIABLE:31,"{#":32,"{@":33,"{ldelim}":34,"{rdelim}":35,ELSE:36,"{else}":37,ELSE_IF:38,"{elseif":39,FOREACH_ELSE:40,"{foreachelse}":41,T_VARIABLE:42,T_VARIABLE_NAME:43,VARIABLE_repetition0:44,VARIABLE_SUFFIX:45,"[":46,"]":47,".":48,"(":49,VARIABLE_SUFFIX_option0:50,")":51,"=":52,COMMAND_PARAMETER_VALUE:53,T_QUOTED_STRING:54,T_DIGITS:55,COMMAND_PARAMETERS_repetition_plus0:56,COMMAND_PARAMETER:57,T_PLURAL_PARAMETER_NAME:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",9:"T_LITERAL",11:"T_ANY",12:"T_WS",13:"{if",15:"}",18:"{/if}",19:"{include",21:"{implode",22:"{/implode}",23:"{foreach",25:"{/foreach}",26:"{plural",28:"{lang}",29:"{/lang}",30:"{",32:"{#",33:"{@",34:"{ldelim}",35:"{rdelim}",37:"{else}",39:"{elseif",41:"{foreachelse}",42:"T_VARIABLE",43:"T_VARIABLE_NAME",46:"[",47:"]",48:".",49:"(",51:")",52:"=",54:"T_QUOTED_STRING",55:"T_DIGITS"},productions_:[0,[3,2],[4,1],[7,1],[7,1],[7,1],[8,1],[8,1],[10,7],[10,3],[10,5],[10,6],[10,3],[10,3],[10,3],[10,3],[10,3],[10,1],[10,1],[36,2],[38,4],[40,2],[31,3],[45,3],[45,2],[45,3],[20,5],[20,3],[53,1],[53,1],[53,1],[14,1],[57,1],[57,1],[57,1],[57,1],[57,1],[57,1],[57,1],[57,3],[27,5],[27,3],[58,1],[58,1],[6,0],[6,2],[16,0],[16,2],[17,0],[17,1],[24,0],[24,1],[44,0],[44,2],[50,0],[50,1],[56,1],[56,2]],performAction:function(e,t,i,n,o,r,a){var s,l,c,d=r.length-1;switch(o){case 1:return r[d-1]+";";case 2:(s=r[d].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]))[1]&&(s[0]+="'"),this.$=s[0];break;case 3:case 4:this.$={encode:!0,value:r[d].replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/(\r\n|\n|\r)/g,"\\n")};break;case 5:this.$={encode:!1,value:r[d]};break;case 8:this.$="(function() { if ("+r[d-5]+") { return "+r[d-3]+"; } "+r[d-2].join(" ")+" "+(r[d-1]||"")+" return ''; })()";break;case 9:if(!r[d-1].file)throw new Error("Missing parameter file");this.$=r[d-1].file+".fetch(v)";break;case 10:if(!r[d-3].from)throw new Error("Missing parameter from");if(!r[d-3].item)throw new Error("Missing parameter item");r[d-3].glue||(r[d-3].glue="', '"),this.$="(function() { return "+r[d-3].from+".map(function(item) { v["+r[d-3].item+"] = item; return "+r[d-1]+"; }).join("+r[d-3].glue+"); })()";break;case 11:if(!r[d-4].from)throw new Error("Missing parameter from");if(!r[d-4].item)throw new Error("Missing parameter item");this.$="(function() {var looped = false, result = '';if ("+r[d-4].from+" instanceof Array) {for (var i = 0; i < "+r[d-4].from+".length; i++) { looped = true;v["+r[d-4].key+"] = i;v["+r[d-4].item+"] = "+r[d-4].from+"[i];result += "+r[d-2]+";}} else {for (var key in "+r[d-4].from+") {if (!"+r[d-4].from+".hasOwnProperty(key)) continue;looped = true;v["+r[d-4].key+"] = key;v["+r[d-4].item+"] = "+r[d-4].from+"[key];result += "+r[d-2]+";}}return (looped ? result : "+(r[d-1]||"''")+"); })()";break;case 12:for(c in this.$="I18nPlural.getCategoryFromTemplateParameters({",l=!1,r[d-1])objOwns(r[d-1],c)&&(this.$+=(l?",":"")+c+": "+r[d-1][c],l=!0);this.$+="})";break;case 13:this.$="Language.get("+r[d-1]+", v)";break;case 14:this.$="StringUtil.escapeHTML("+r[d-1]+")";break;case 15:this.$="StringUtil.formatNumeric("+r[d-1]+")";break;case 16:this.$=r[d-1];break;case 17:this.$="'{'";break;case 18:this.$="'}'";break;case 19:this.$="else { return "+r[d]+"; }";break;case 20:this.$="else if ("+r[d-2]+") { return "+r[d]+"; }";break;case 21:this.$=r[d];break;case 22:this.$="v['"+r[d-1]+"']"+r[d].join("");break;case 23:this.$=r[d-2]+r[d-1]+r[d];break;case 24:this.$="['"+r[d]+"']";break;case 25:case 39:this.$=r[d-2]+(r[d-1]||"")+r[d];break;case 26:case 40:this.$=r[d],this.$[r[d-4]]=r[d-2];break;case 27:case 41:this.$={},this.$[r[d-2]]=r[d];break;case 31:this.$=r[d].join("");break;case 44:case 46:case 52:this.$=[];break;case 45:case 47:case 53:case 57:r[d-1].push(r[d]);break;case 56:this.$=[r[d]]}},table:[t([5,9,11,12,13,19,21,23,26,28,30,32,33,34,35],i,{3:1,4:2,6:3}),{1:[3]},{5:[1,4]},t([5,18,22,25,29,37,39,41],[2,2],{7:5,8:6,10:8,9:[1,7],11:[1,9],12:[1,10],13:[1,11],19:[1,12],21:[1,13],23:[1,14],26:[1,15],28:[1,16],30:[1,17],32:[1,18],33:[1,19],34:[1,20],35:[1,21]}),{1:[2,1]},t(n,[2,45]),t(n,[2,3]),t(n,[2,4]),t(n,[2,5]),t(n,[2,6]),t(n,[2,7]),{11:o,12:r,14:22,31:30,42:a,43:s,49:l,52:c,54:d,55:u,56:23,57:24},{20:34,43:h},{20:36,43:h},{20:37,43:h},{27:38,43:p,55:m,58:39},t([9,11,12,13,19,21,23,26,28,29,30,32,33,34,35],i,{6:3,4:42}),{31:43,42:a},{31:44,42:a},{31:45,42:a},t(n,[2,17]),t(n,[2,18]),{15:[1,46]},t([15,47,51],[2,31],{31:30,57:47,11:o,12:r,42:a,43:s,49:l,52:c,54:d,55:u}),t(f,[2,56]),t(f,[2,32]),t(f,[2,33]),t(f,[2,34]),t(f,[2,35]),t(f,[2,36]),t(f,[2,37]),t(f,[2,38]),{11:o,12:r,14:48,31:30,42:a,43:s,49:l,52:c,54:d,55:u,56:23,57:24},{43:[1,49]},{15:[1,50]},{52:[1,51]},{15:[1,52]},{15:[1,53]},{15:[1,54]},{52:[1,55]},{52:[2,42]},{52:[2,43]},{29:[1,56]},{15:[1,57]},{15:[1,58]},{15:[1,59]},t(g,i,{6:3,4:60}),t(f,[2,57]),{51:[1,61]},t(b,[2,52],{44:62}),t(n,[2,9]),{31:66,42:a,53:63,54:_,55:v},t([9,11,12,13,19,21,22,23,26,28,30,32,33,34,35],i,{6:3,4:67}),t([9,11,12,13,19,21,23,25,26,28,30,32,33,34,35,41],i,{6:3,4:68}),t(n,[2,12]),{31:66,42:a,53:69,54:_,55:v},t(n,[2,13]),t(n,[2,14]),t(n,[2,15]),t(n,[2,16]),t(w,[2,46],{16:70}),t(f,[2,39]),t([11,12,15,42,43,47,51,52,54,55],[2,22],{45:71,46:[1,72],48:[1,73],49:[1,74]}),{12:[1,75],15:[2,27]},t(y,[2,28]),t(y,[2,29]),t(y,[2,30]),{22:[1,76]},{24:77,25:[2,50],40:78,41:[1,79]},{12:[1,80],15:[2,41]},{17:81,18:[2,48],36:83,37:[1,85],38:82,39:[1,84]},t(b,[2,53]),{11:o,12:r,14:86,31:30,42:a,43:s,49:l,52:c,54:d,55:u,56:23,57:24},{43:[1,87]},{11:o,12:r,14:89,31:30,42:a,43:s,49:l,50:88,51:[2,54],52:c,54:d,55:u,56:23,57:24},{20:90,43:h},t(n,[2,10]),{25:[1,91]},{25:[2,51]},t([9,11,12,13,19,21,23,25,26,28,30,32,33,34,35],i,{6:3,4:92}),{27:93,43:p,55:m,58:39},{18:[1,94]},t(w,[2,47]),{18:[2,49]},{11:o,12:r,14:95,31:30,42:a,43:s,49:l,52:c,54:d,55:u,56:23,57:24},t([9,11,12,13,18,19,21,23,26,28,30,32,33,34,35],i,{6:3,4:96}),{47:[1,97]},t(b,[2,24]),{51:[1,98]},{51:[2,55]},{15:[2,26]},t(n,[2,11]),{25:[2,21]},{15:[2,40]},t(n,[2,8]),{15:[1,99]},{18:[2,19]},t(b,[2,23]),t(b,[2,25]),t(g,i,{6:3,4:100}),t(w,[2,20])],defaultActions:{4:[2,1],40:[2,42],41:[2,43],78:[2,51],83:[2,49],89:[2,55],90:[2,26],92:[2,21],93:[2,40],96:[2,19]},parseError:function(e,t){if(!t.recoverable){var i=new Error(e);throw i.hash=t,i}this.trace(e)},parse:function(e){var t,i,n,o,r,a,s,l,c,d,u,h,p,m,f,g=this,b=[0],_=[null],v=[],w=this.table,y="",E=0,S=0,L=0,C=2,A=1,I=v.slice.call(arguments,1),x=Object.create(this.lexer),k={yy:{}};for(t in this.yy)Object.prototype.hasOwnProperty.call(this.yy,t)&&(k.yy[t]=this.yy[t]);for(x.setInput(e,k.yy),k.yy.lexer=x,k.yy.parser=this,void 0===x.yylloc&&(x.yylloc={}),i=x.yylloc,v.push(i),n=x.options&&x.options.ranges,"function"==typeof k.yy.parseError?this.parseError=k.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,o=function(){var e;return"number"!=typeof(e=x.lex()||A)&&(e=g.symbols_[e]||e),e},d={};;){if(s=b[b.length-1],this.defaultActions[s]?l=this.defaultActions[s]:(null==r&&(r=o()),l=w[s]&&w[s][r]),void 0===l||!l.length||!l[0]){for(u in f="",m=[],w[s])this.terminals_[u]&&u>C&&m.push("'"+this.terminals_[u]+"'");f=x.showPosition?"Parse error on line "+(E+1)+":\n"+x.showPosition()+"\nExpecting "+m.join(", ")+", got '"+(this.terminals_[r]||r)+"'":"Parse error on line "+(E+1)+": Unexpected "+(r==A?"end of input":"'"+(this.terminals_[r]||r)+"'"),this.parseError(f,{text:x.match,token:this.terminals_[r]||r,line:x.yylineno,loc:i,expected:m})}if(l[0]instanceof Array&&l.length>1)throw new Error("Parse Error: multiple actions possible at state: "+s+", token: "+r);switch(l[0]){case 1:b.push(r),_.push(x.yytext),v.push(x.yylloc),b.push(l[1]),r=null,a?(r=a,a=null):(S=x.yyleng,y=x.yytext,E=x.yylineno,i=x.yylloc,L>0&&L--);break;case 2:if(h=this.productions_[l[1]][1],d.$=_[_.length-h],d._$={first_line:v[v.length-(h||1)].first_line,last_line:v[v.length-1].last_line,first_column:v[v.length-(h||1)].first_column,last_column:v[v.length-1].last_column},n&&(d._$.range=[v[v.length-(h||1)].range[0],v[v.length-1].range[1]]),void 0!==(c=this.performAction.apply(d,[y,S,E,k.yy,l[1],_,v].concat(I))))return c;h&&(b=b.slice(0,-1*h*2),_=_.slice(0,-1*h),v=v.slice(0,-1*h)),b.push(this.productions_[l[1]][0]),_.push(d.$),v.push(d._$),p=w[b[b.length-2]][b[b.length-1]],b.push(p);break;case 3:return!0}}return!0}},S={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];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(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,i,n=e.length,o=e.split(/(?:\r\n?|\n)/g);return this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-n),this.offset-=n,t=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),o.length-1&&(this.yylineno-=o.length-1),i=this.yylloc.range,this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:o?(o.length===t.length?this.yylloc.first_column:0)+t[t.length-o.length].length-o[0].length:this.yylloc.first_column-n},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-n]),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 i,n,o,r;if(this.options.backtrack_lexer&&(o={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&&(o.yylloc.range=this.yylloc.range.slice(0))),(n=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.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],i=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack){for(r in o)this[r]=o[r];return!1}return!1},next:function(){var e,t,i,n,o,r;if(this.done)return this.EOF;for(this._input||(this.done=!0),this._more||(this.yytext="",this.match=""),o=this._currentRules(),r=0;r<o.length;r++)if((i=this._input.match(this.rules[o[r]]))&&(!t||i[0].length>t[0].length)){if(t=i,n=r,this.options.backtrack_lexer){if(!1!==(e=this.test_match(i,o[r])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,o[n]))&&e:""===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||this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.length-1>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))>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,i,n){switch(i){case 0:break;case 1:return t.yytext=t.yytext.substring(9,t.yytext.length-10),9;case 2:case 3:return 54;case 4:return 42;case 5:return 55;case 6:return 43;case 7:return 48;case 8:return 46;case 9:return 47;case 10:return 49;case 11:return 51;case 12:return 52;case 13:return 34;case 14:return 35;case 15:return this.begin("command"),32;case 16:return this.begin("command"),33;case 17:return this.begin("command"),13;case 18:case 19:return this.begin("command"),39;case 20:return 37;case 21:return 18;case 22:return 28;case 23:return 29;case 24:return this.begin("command"),19;case 25:return this.begin("command"),21;case 26:return this.begin("command"),26;case 27:return 22;case 28:return this.begin("command"),23;case 29:return 41;case 30:return 25;case 31:return this.begin("command"),30;case 32:return this.popState(),15;case 33:return 12;case 34:return 5;case 35:return 11}},rules:[/^(?:\{\*[\s\S]*?\*\})/,/^(?:\{literal\}[\s\S]*?\{\/literal\})/,/^(?:"([^"]|\\\.)*")/,/^(?:'([^']|\\\.)*')/,/^(?:\$)/,/^(?:[0-9]+)/,/^(?:[_a-zA-Z][_a-zA-Z0-9]*)/,/^(?:\.)/,/^(?:\[)/,/^(?:\])/,/^(?:\()/,/^(?:\))/,/^(?:=)/,/^(?:\{ldelim\})/,/^(?:\{rdelim\})/,/^(?:\{#)/,/^(?:\{@)/,/^(?:\{if )/,/^(?:\{else if )/,/^(?:\{elseif )/,/^(?:\{else\})/,/^(?:\{\/if\})/,/^(?:\{lang\})/,/^(?:\{\/lang\})/,/^(?:\{include )/,/^(?:\{implode )/,/^(?:\{plural )/,/^(?:\{\/implode\})/,/^(?:\{foreach )/,/^(?:\{foreachelse\})/,/^(?:\{\/foreach\})/,/^(?:\{(?!\s))/,/^(?:\})/,/^(?:\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,35],inclusive:!0},INITIAL:{rules:[0,1,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,33,34,35],inclusive:!0}}};return E.lexer=S,E})),define("WoltLabSuite/Core/Template/Compiler",["require","exports","tslib","../Template.grammar"],(function(e,t,i,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.compile=void 0,n=i.__importStar(n),t.compile=function(e){return e="var tmp = {};\nfor (var key in v) tmp[key] = v[key];\nv = tmp;\nv.__wcf = window.WCF; v.__window = window;\nreturn "+(e=n.parse(e)),new Function("StringUtil","Language","I18nPlural","v",e)}})),define("WoltLabSuite/Core/Template",["require","exports","tslib","./Core","./I18n/Plural","./Language/Store","./StringUtil","./Template/Compiler"],(function(e,t,i,n,o,r,a,s){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a);class l{constructor(e){try{this.compiled=s.compile(e)}catch(e){throw console.debug(e.message),e}}fetch(e){return this.compiled(a,r,o,e)}}return Object.defineProperty(l,"callbacks",{enumerable:!1,configurable:!1,get:function(){throw new Error("WCF.Template.callbacks is no longer supported")},set:function(e){throw new Error("WCF.Template.callbacks is no longer supported")}}),n.enableLegacyInheritance(l),l})),define("WoltLabSuite/Core/Language",["require","exports","tslib","./Template","./Language/Store","./Language/Store"],(function(e,t,i,n,o,r){"use strict";function a(e,t){"string"==typeof t?o.add(e,function(e){try{const t=new n.default(e);return t.fetch.bind(t)}catch(t){return function(){return e}}}(t)):o.add(e,(function(){return t}))}Object.defineProperty(t,"__esModule",{value:!0}),t.add=t.addObject=t.get=void 0,n=i.__importDefault(n),Object.defineProperty(t,"get",{enumerable:!0,get:function(){return r.get}}),t.addObject=function(e){Object.entries(e).forEach((([e,t])=>{a(e,t)}))},t.add=a})),define("WoltLabSuite/Core/Ajax/Status",["require","exports","tslib","../Language"],(function(e,t,i,n){"use strict";function o(){return void 0===a&&(a=new r),a}Object.defineProperty(t,"__esModule",{value:!0}),t.hide=t.show=void 0,n=i.__importStar(n);class r{constructor(){this._activeRequests=0,this._timer=null,this._overlay=document.createElement("div"),this._overlay.classList.add("spinner"),this._overlay.setAttribute("role","status");const e=document.createElement("span");e.className="icon icon48 fa-spinner",this._overlay.appendChild(e);const t=document.createElement("span");t.textContent=n.get("wcf.global.loading"),this._overlay.appendChild(t),document.body.appendChild(this._overlay)}show(){this._activeRequests++,null===this._timer&&(this._timer=window.setTimeout((()=>{this._activeRequests&&this._overlay.classList.add("active"),this._timer=null}),250))}hide(){0==--this._activeRequests&&(null!==this._timer&&window.clearTimeout(this._timer),this._overlay.classList.remove("active"))}}let a;t.show=function(){o().show()},t.hide=function(){o().hide()}})),define("WoltLabSuite/Core/CallbackList",["require","exports","tslib","./Core"],(function(e,t,i,n){"use strict";n=i.__importStar(n);class o{constructor(){this._callbacks=new Map}add(e,t){if("function"!=typeof t)throw new TypeError("Expected a valid callback as second argument for identifier '"+e+"'.");this._callbacks.has(e)||this._callbacks.set(e,[]),this._callbacks.get(e).push(t)}remove(e){this._callbacks.delete(e)}forEach(e,t){var i;null===e?this._callbacks.forEach(((e,i)=>{e.forEach(t)})):null===(i=this._callbacks.get(e))||void 0===i||i.forEach(t)}}return n.enableLegacyInheritance(o),o})),define("WoltLabSuite/Core/Dom/Change/Listener",["require","exports","tslib","../../CallbackList"],(function(e,t,i,n){"use strict";const o=new((n=i.__importDefault(n)).default);let r=!1;return{add:o.add.bind(o),remove:o.remove.bind(o),trigger(){if(!r)try{r=!0,o.forEach(null,(e=>e()))}finally{r=!1}}}})),define("WoltLabSuite/Core/Dom/Util",["require","exports","tslib","../StringUtil"],(function(e,t,i,n){"use strict";function o(e,t,i){if(!t.contains(e))throw new Error("Ancestor element does not contain target element.");let n,o=e;const r=i+"Sibling";for(;null!==o&&o!==t;){if(null!==o[i+"ElementSibling"])return!1;if(o[r])for(n=o[r];n;){if(""!==n.textContent.trim())return!1;n=n[r]}o=o.parentNode}return!0}n=i.__importStar(n);let r=0;const a={createFragmentFromHtml(e){const t=document.createElement("div");this.setInnerHtml(t,e);const i=document.createDocumentFragment();for(;t.childNodes.length;)i.appendChild(t.childNodes[0]);return i},getUniqueId(){let e;do{e="wcf"+r++}while(null!==document.getElementById(e));return e},identify(e){if(!(e instanceof Element))throw new TypeError("Expected a valid DOM element as argument.");let t=e.id;return t||(t=this.getUniqueId(),e.id=t),t},outerHeight(e,t){t=t||window.getComputedStyle(e);let i=e.offsetHeight;return i+=~~t.marginTop+~~t.marginBottom,i},outerWidth(e,t){t=t||window.getComputedStyle(e);let i=e.offsetWidth;return i+=~~t.marginLeft+~~t.marginRight,i},outerDimensions(e){const t=window.getComputedStyle(e);return{height:this.outerHeight(e,t),width:this.outerWidth(e,t)}},offset(e){const t=e.getBoundingClientRect();return{top:Math.round(t.top+(window.scrollY||window.pageYOffset)),left:Math.round(t.left+(window.scrollX||window.pageXOffset))}},prepend(e,t){t.insertAdjacentElement("afterbegin",e)},insertAfter(e,t){t.insertAdjacentElement("afterend",e)},setStyles(e,t){let i=!1;Object.keys(t).forEach((n=>{/ !important$/.test(t[n])?(i=!0,t[n]=t[n].replace(/ !important$/,"")):i=!1,"important"!==e.style.getPropertyPriority(n)||i||e.style.removeProperty(n),e.style.setProperty(n,t[n],i?"important":"")}))},styleAsInt(e,t){const i=e.getPropertyValue(t);return null===i?0:parseInt(i,10)},setInnerHtml(e,t){let i;e.innerHTML=t,i=e instanceof HTMLTemplateElement?e.content:e;const n=i.querySelectorAll("script");for(let e=0,t=n.length;e<t;e++){const t=n[e],o=document.createElement("script");t.src?o.src=t.src:o.textContent=t.textContent,i.appendChild(o),t.remove()}},insertHtml(e,t,i){const n=document.createElement("template");this.setInnerHtml(n,e);const o=document.importNode(n.content,!0);switch(i){case"append":t.appendChild(o);break;case"after":if(null===t.parentNode)throw new Error("The reference element has no parent, but the insert position was set to 'after'.");t.parentNode.insertBefore(o,t.nextSibling);break;case"prepend":t.insertBefore(o,t.firstChild);break;case"before":if(null===t.parentNode)throw new Error("The reference element has no parent, but the insert position was set to 'before'.");t.parentNode.insertBefore(o,t);break;default:throw new Error("Unknown insert method '"+i+"'.")}},contains:(e,t)=>e.contains(t),getDataAttributes(e,t,i,o){0!==(t=t||"").indexOf("data-")&&(t="data-"+t),i=!0===i,o=!0===o;const r={};for(let a=0,s=e.attributes.length;a<s;a++){const s=e.attributes[a];if(0===s.name.indexOf(t)){let e=s.name.replace(new RegExp("^"+t),"");if(i){const t=e.split("-");e="";for(let i=0,r=t.length;i<r;i++)e.length&&(o&&"id"===t[i]?t[i]="ID":t[i]=n.ucfirst(t[i])),e+=t[i]}r[e]=s.value}}return r},unwrapChildNodes(e){if(null===e.parentNode)throw new Error("The element has no parent.");const t=e.parentNode;for(;e.childNodes.length;)t.insertBefore(e.childNodes[0],e);e.remove()},replaceElement(e,t){if(null===e.parentNode)throw new Error("The old element has no parent.");for(;e.childNodes.length;)t.appendChild(e.childNodes[0]);e.parentNode.insertBefore(t,e),e.remove()},isAtNodeStart:(e,t)=>o(e,t,"previous"),isAtNodeEnd:(e,t)=>o(e,t,"next"),getFixedParent(e){for(;e&&e!==document.body;){if("fixed"===window.getComputedStyle(e).getPropertyValue("position"))return e;e=e.offsetParent}return null},hide(e){e.style.setProperty("display","none","")},show(e){e.style.removeProperty("display")},isHidden:e=>"none"===e.style.getPropertyValue("display"),toggle(e){this.isHidden(e)?this.show(e):this.hide(e)},innerError(e,t,i){const n=e.parentNode;if(null===n)throw new Error("Only elements that have a parent element or document are valid.");if("string"!=typeof t){if(t)throw new TypeError("The error message must be a string; `false`, `null` or `undefined` can be used as a substitute for an empty string.");t=""}let o=e.nextElementSibling;return null!==o&&"SMALL"===o.nodeName&&o.classList.contains("innerError")||(""===t?o=null:(o=document.createElement("small"),o.className="innerError",n.insertBefore(o,e.nextSibling))),""===t?null!==o&&(o.remove(),o=null):i?o.innerHTML=t:o.textContent=t,o},innerSuccess(e,t,i){const n=e.parentNode;if(null===n)throw new Error("Only elements that have a parent element or document are valid.");if("string"!=typeof t){if(t)throw new TypeError("The message must be a string; `false`, `null` or `undefined` can be used as a substitute for an empty string.");t=""}let o=e.nextElementSibling;return null!==o&&"SMALL"===o.nodeName&&o.classList.contains("innerSuccess")||(""===t?o=null:(o=document.createElement("small"),o.className="innerSuccess",n.insertBefore(o,e.nextSibling))),""===t?null!==o&&(o.remove(),o=null):i?o.innerHTML=t:o.textContent=t,o},closest:(e,t)=>(e instanceof HTMLElement?e:e.parentElement).closest(t),getClosestElement:e=>e instanceof HTMLElement?e:e.parentElement};return window.bc_wcfDomUtil=a,a})),define("WoltLabSuite/Core/Ajax/Request",["require","exports","tslib","./Status","../Core","../Dom/Change/Listener","../Dom/Util","../Language"],(function(e,t,i,n,o,r,a,s){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importDefault(a),s=i.__importStar(s);let l=!1,c=!1;class d{constructor(e){this._options=o.extend({data:{},contentType:"application/x-www-form-urlencoded; charset=UTF-8",responseType:"application/json",type:"POST",url:"",withCredentials:!1,autoAbort:!1,ignoreError:!1,pinData:!1,silent:!1,includeRequestedWith:!0,failure:null,finalize:null,success:null,progress:null,uploadProgress:null,callbackObject:null},e),"object"==typeof e.callbackObject&&(this._options.callbackObject=e.callbackObject),this._options.url=o.convertLegacyUrl(this._options.url),0===this._options.url.indexOf("index.php")&&(this._options.url=window.WSC_API_URL+this._options.url),0===this._options.url.indexOf(window.WSC_API_URL)&&(this._options.includeRequestedWith=!0,this._options.withCredentials=!0),this._options.pinData&&(this._data=this._options.data),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)),"function"==typeof this._options.callbackObject._ajaxProgress&&(this._options.progress=this._options.callbackObject._ajaxProgress.bind(this._options.callbackObject)),"function"==typeof this._options.callbackObject._ajaxUploadProgress&&(this._options.uploadProgress=this._options.callbackObject._ajaxUploadProgress.bind(this._options.callbackObject))),l||(l=!0,window.addEventListener("beforeunload",(()=>c=!0)))}sendRequest(e){(e||this._options.autoAbort)&&this.abortPrevious(),this._options.silent||n.show(),this._xhr instanceof XMLHttpRequest&&(this._previousXhr=this._xhr),this._xhr=new XMLHttpRequest,this._xhr.open(this._options.type,this._options.url,!0),this._options.contentType&&this._xhr.setRequestHeader("Content-Type",this._options.contentType),(this._options.withCredentials||this._options.includeRequestedWith)&&this._xhr.setRequestHeader("X-Requested-With","XMLHttpRequest"),this._options.withCredentials&&(this._xhr.withCredentials=!0);const t=o.clone(this._options),i=this._xhr;if(i.onload=()=>{i.readyState===XMLHttpRequest.DONE&&(i.status>=200&&i.status<300||304===i.status?t.responseType&&0!==i.getResponseHeader("Content-Type").indexOf(t.responseType)?this._failure(i,t):this._success(i,t):this._failure(i,t))},i.onerror=()=>{this._failure(i,t)},this._options.progress&&(i.onprogress=this._options.progress),this._options.uploadProgress&&(i.upload.onprogress=this._options.uploadProgress),"POST"===this._options.type){let e=this._options.data;"object"==typeof e&&"FormData"!==o.getType(e)&&(e=o.serialize(e)),i.send(e)}else i.send()}abortPrevious(){this._previousXhr&&(this._previousXhr.abort(),this._previousXhr=void 0,this._options.silent||n.hide())}setOption(e,t){this._options[e]=t}getOption(e){return Object.prototype.hasOwnProperty.call(this._options,e)?this._options[e]:null}setData(e){null!==this._data&&"FormData"!==o.getType(e)&&(e=o.extend(this._data,e)),this._options.data=e}_success(t,o){if(o.silent||n.hide(),"function"==typeof o.success){let n=null;if("application/json"===t.getResponseHeader("Content-Type").split(";",1)[0].trim()){try{n=JSON.parse(t.responseText)}catch(e){return void this._failure(t,o)}n&&n.returnValues&&void 0!==n.returnValues.template&&(n.returnValues.template=n.returnValues.template.trim()),n&&n.forceBackgroundQueuePerform&&new Promise(((t,i)=>{e(["../BackgroundQueue"],t,i)})).then(i.__importStar).then((e=>e.invoke()))}o.success(n,t.responseText,t,o.data)}this._finalize(o)}_failure(t,o){if(c)return;o.silent||n.hide();let r=null;try{r=JSON.parse(t.responseText)}catch(e){}let l=!0;if("function"==typeof o.failure){l=!1!==o.failure(r||{},t.responseText||"",t,o.data)}if(!0!==o.ignoreError&&l){const n=this.getErrorHtml(r,t);n&&new Promise(((t,i)=>{e(["../Ui/Dialog"],t,i)})).then(i.__importStar).then((e=>{e.openStatic(a.default.getUniqueId(),n,{title:s.get("wcf.global.error.title")})}))}this._finalize(o)}getErrorHtml(e,t){let i,n="";if(null!==e&&Object.keys(e).length>0?(e.returnValues&&e.returnValues.description&&(n+=`<br><p>Description:</p><p>${e.returnValues.description}</p>`),e.file&&e.line&&(n+=`<br><p>File:</p><p>${e.file} in line ${e.line}</p>`),e.stacktrace?n+=`<br><p>Stacktrace:</p><p>${e.stacktrace}</p>`:e.exceptionID&&(n+=`<br><p>Exception ID: <code>${e.exceptionID}</code></p>`),i=e.message,e.previous.forEach((e=>{n+=`<hr><p>${e.message}</p>`,n+=`<br><p>Stacktrace</p><p>${e.stacktrace}</p>`}))):i=t.responseText,!i||"undefined"===i){if(!window.ENABLE_DEBUG_MODE)return null;i="XMLHttpRequest failed without a responseText. Check your browser console."}return`<div class="ajaxDebugMessage"><p>${i}</p>${n}</div>`}_finalize(e){"function"==typeof e.finalize&&e.finalize(this._xhr),this._previousXhr=void 0,r.default.trigger(),document.querySelectorAll('a[href*="#"]').forEach((e=>{let t=e.href;-1===t.indexOf("AJAXProxy")&&-1===t.indexOf("ajax-proxy")||(t=t.substr(t.indexOf("#")),e.href=document.location.toString().replace(/#.*/,"")+t)}))}}return o.enableLegacyInheritance(d),d})),define("WoltLabSuite/Core/Ajax",["require","exports","tslib","./Ajax/Request"],(function(e,t,i,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getRequestObject=t.apiOnce=t.api=void 0,n=i.__importDefault(n);const o=new WeakMap;t.api=function(e,t,i,r){"object"!=typeof t&&(t={});let a=o.get(e);if(void 0===a){if("function"!=typeof e._ajaxSetup)throw new TypeError("Callback object must implement at least _ajaxSetup().");const t=e._ajaxSetup();t.pinData=!0,t.callbackObject=e,t.url||(t.url="index.php?ajax-proxy/&t="+window.SECURITY_TOKEN,t.withCredentials=!0),a=new n.default(t),o.set(e,a)}let s=null,l=null;return"function"==typeof i&&(s=a.getOption("success"),a.setOption("success",i)),"function"==typeof r&&(l=a.getOption("failure"),a.setOption("failure",r)),a.setData(t),a.sendRequest(),null!==s&&a.setOption("success",s),null!==l&&a.setOption("failure",l),a},t.apiOnce=function(e){e.pinData=!1,e.callbackObject=null,e.url||(e.url="index.php?ajax-proxy/&t="+window.SECURITY_TOKEN,e.withCredentials=!0),new n.default(e).sendRequest(!1)},t.getRequestObject=function(e){if(!o.has(e))throw new Error("Expected a previously used callback object, provided object is unknown.");return o.get(e)}})),define("WoltLabSuite/Core/BackgroundQueue",["require","exports","tslib","./Ajax"],(function(e,t,i,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.invoke=t.setUrl=void 0,n=i.__importStar(n);class o{constructor(e){this._invocations=0,this._isBusy=!1,this._url=e}invoke(){this._isBusy||(this._isBusy=!0,n.api(this))}_ajaxSuccess(e){this._invocations++,e>0&&this._invocations<5?window.setTimeout((()=>{this._isBusy=!1,this.invoke()}),1e3):(this._isBusy=!1,this._invocations=0)}_ajaxSetup(){return{url:this._url,ignoreError:!0,silent:!0}}}let r;t.setUrl=function(e){r||(r=new o(e))},t.invoke=function(){r?r.invoke():console.error("The background queue has not been initialized yet.")}})),define("WoltLabSuite/Core/Date/Util",["require","exports","tslib","../Language"],(function(e,t,i,n){"use strict";function o(e){return a(e,n.get("wcf.date.dateFormat"))}function r(e){return a(e,n.get("wcf.date.timeFormat"))}function a(e,t){"c"===t&&(t="Y-m-dTH:i:sP");let i="";for(let o=0,r=t.length;o<r;o++){let a;switch(t[o]){case"s":a=e.getSeconds().toString().padStart(2,"0");break;case"i":a=e.getMinutes().toString().padStart(2,"0");break;case"a":a=e.getHours()>11?"pm":"am";break;case"g":{const t=e.getHours();a=0===t?"12":t>12?(t-12).toString():t.toString();break}case"h":{const t=e.getHours();a=0===t?"12":t>12?(t-12).toString():t.toString(),a=a.padStart(2,"0");break}case"A":a=e.getHours()>11?"PM":"AM";break;case"G":a=e.getHours().toString();break;case"H":a=e.getHours().toString().padStart(2,"0");break;case"d":a=e.getDate().toString().padStart(2,"0");break;case"j":a=e.getDate().toString();break;case"l":a=n.get("__days")[e.getDay()];break;case"D":a=n.get("__daysShort")[e.getDay()];break;case"S":a="";break;case"m":a=(e.getMonth()+1).toString().padStart(2,"0");break;case"n":a=(e.getMonth()+1).toString();break;case"F":a=n.get("__months")[e.getMonth()];break;case"M":a=n.get("__monthsShort")[e.getMonth()];break;case"y":a=e.getFullYear().toString().slice(-2);break;case"Y":a=e.getFullYear().toString();break;case"P":{let t=e.getTimezoneOffset();a=t>0?"-":"+",t=Math.abs(t),a+=(~~(t/60)).toString().padStart(2,"0"),a+=":",a+=(t%60).toString().padStart(2,"0");break}case"r":a=e.toString();break;case"U":a=Math.round(e.getTime()/1e3).toString();break;case"\\":a="",o+1<r&&(a=t[++o]);break;default:a=t[o]}i+=a}return i}Object.defineProperty(t,"__esModule",{value:!0}),t.getTimezoneDate=t.getTimeElement=t.gmdate=t.format=t.formatDateTime=t.formatTime=t.formatDate=void 0,n=i.__importStar(n),t.formatDate=o,t.formatTime=r,t.formatDateTime=function(e){const t=n.get("wcf.date.dateTimeFormat"),i=n.get("wcf.date.dateFormat"),o=n.get("wcf.date.timeFormat");return a(e,t.replace(/%date%/,i).replace(/%time%/,o))},t.format=a,t.gmdate=function(e){return e instanceof Date||(e=new Date),Math.round(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDay(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds())/1e3)},t.getTimeElement=function(e){const t=document.createElement("time");t.className="datetime";const i=o(e),s=r(e);return t.setAttribute("datetime",a(e,"c")),t.dataset.timestamp=((e.getTime()-e.getMilliseconds())/1e3).toString(),t.dataset.date=i,t.dataset.time=s,t.dataset.offset=(60*e.getTimezoneOffset()).toString(),e.getTime()>Date.now()&&(t.dataset.isFutureDate="true",t.textContent=n.get("wcf.date.dateTimeFormat").replace("%time%",s).replace("%date%",i)),t},t.getTimezoneDate=function(e,t){const i=6e4*new Date(e).getTimezoneOffset();return new Date(e+i+t)}})),define("WoltLabSuite/Core/Devtools",["require","exports"],(function(e,t){"use strict";function i(){window.sessionStorage&&window.sessionStorage.setItem("__wsc_devtools_config",JSON.stringify(n))}let n={editorAutosave:!0,eventLogging:!1};const o={help(){window.console.log(""),window.console.log("%cAvailable commands:","text-decoration: underline"),Object.keys(o).filter((e=>"_internal_"!==e)).sort().forEach((e=>{window.console.log(`\tDevtools.${e}()`)})),window.console.log("")},toggleEditorAutosave(e){n.editorAutosave=!e&&!n.editorAutosave,i(),window.console.log("%c\tEditor autosave "+(n.editorAutosave?"enabled":"disabled"),"font-style: italic")},toggleEventLogging(e){n.eventLogging=!!e||!n.eventLogging,i(),window.console.log("%c\tEvent logging "+(n.eventLogging?"enabled":"disabled"),"font-style: italic")},_internal_:{enable(){if(window.Devtools=o,window.console.log("%cDevtools for WoltLab Suite loaded","font-weight: bold"),window.sessionStorage){const e=window.sessionStorage.getItem("__wsc_devtools_config");try{null!==e&&(n=JSON.parse(e))}catch(e){}n.editorAutosave||o.toggleEditorAutosave(!0),n.eventLogging&&o.toggleEventLogging(!0)}window.console.log("Settings are saved per browser session, enter `Devtools.help()` to learn more."),window.console.log("")},editorAutosave:()=>n.editorAutosave,eventLog(e,t){n.eventLogging&&window.console.log("[Devtools.EventLogging] Firing event: "+t+" @ "+e)}}};return o})),define("WoltLabSuite/Core/Event/Handler",["require","exports","tslib","../Core","../Devtools"],(function(e,t,i,n,o){"use strict";function r(e,t){"string"!=typeof t&&(t=void 0);const i=a.get(e);void 0!==i&&(void 0===t?a.delete(e):i.delete(t))}Object.defineProperty(t,"__esModule",{value:!0}),t.removeAllBySuffix=t.removeAll=t.remove=t.fire=t.add=void 0,n=i.__importStar(n),o=i.__importDefault(o);const a=new Map;t.add=function(e,t,i){if("function"!=typeof i)throw new TypeError(`Expected a valid callback for '${t}'@'${e}'.`);let o=a.get(e);void 0===o&&(o=new Map,a.set(e,o));let r=o.get(t);void 0===r&&(r=new Map,o.set(t,r));const s=n.getUuid();return r.set(s,i),s},t.fire=function(e,t,i){var n,r;o.default._internal_.eventLog(e,t),i=i||{},null===(r=null===(n=a.get(e))||void 0===n?void 0:n.get(t))||void 0===r||r.forEach((e=>e(i)))},t.remove=function(e,t,i){var n,o;null===(o=null===(n=a.get(e))||void 0===n?void 0:n.get(t))||void 0===o||o.delete(i)},t.removeAll=r,t.removeAllBySuffix=function(e,t){const i=a.get(e);if(void 0===i)return;const n=-1*(t="_"+t).length;i.forEach(((i,o)=>{o.substr(n)===t&&r(e,o)}))}})),define("WoltLabSuite/Core/Dom/Traverse",["require","exports"],(function(e,t){"use strict";function i(e,t,i){if(!(e instanceof Element))throw new TypeError("Expected a valid element as first argument.");const n=[];for(let o=0;o<e.childElementCount;o++)r.get(t)(e.children[o],i)&&n.push(e.children[o]);return n}function n(e,t,i,n){if(!(e instanceof Element))throw new TypeError("Expected a valid element as first argument.");let o=e.parentNode;for(;o instanceof Element;){if(o===n)return null;if(r.get(t)(o,i))return o;o=o.parentNode}return null}function o(e,t,i,n){if(!(e instanceof Element))throw new TypeError("Expected a valid element as first argument.");return e instanceof Element&&null!==e[t]&&r.get(i)(e[t],n)?e[t]:null}Object.defineProperty(t,"__esModule",{value:!0}),t.prevByTag=t.prevByClass=t.prevBySel=t.prev=t.nextByTag=t.nextByClass=t.nextBySel=t.next=t.parentByTag=t.parentByClass=t.parentBySel=t.childrenByTag=t.childrenByClass=t.childrenBySel=t.childByTag=t.childByClass=t.childBySel=void 0;const r=new Map([[0,()=>!0],[1,(e,t)=>e.matches(t)],[2,(e,t)=>e.classList.contains(t)],[3,(e,t)=>e.nodeName===t]]);t.childBySel=function(e,t){return i(e,1,t)[0]||null},t.childByClass=function(e,t){return i(e,2,t)[0]||null},t.childByTag=function(e,t){return i(e,3,t)[0]||null},t.childrenBySel=function(e,t){return i(e,1,t)},t.childrenByClass=function(e,t){return i(e,2,t)},t.childrenByTag=function(e,t){return i(e,3,t)},t.parentBySel=function(e,t,i){return n(e,1,t,i)},t.parentByClass=function(e,t,i){return n(e,2,t,i)},t.parentByTag=function(e,t,i){return n(e,3,t,i)},t.next=function(e){return o(e,"nextElementSibling",0,"")},t.nextBySel=function(e,t){return o(e,"nextElementSibling",1,t)},t.nextByClass=function(e,t){return o(e,"nextElementSibling",2,t)},t.nextByTag=function(e,t){return o(e,"nextElementSibling",3,t)},t.prev=function(e){return o(e,"previousElementSibling",0,"")},t.prevBySel=function(e,t){return o(e,"previousElementSibling",1,t)},t.prevByClass=function(e,t){return o(e,"previousElementSibling",2,t)},t.prevByTag=function(e,t){return o(e,"previousElementSibling",3,t)}})),define("WoltLabSuite/Core/Ui/Alignment",["require","exports","tslib","../Core","../Dom/Traverse","../Dom/Util","../Language"],(function(e,t,i,n,o,r,a){"use strict";function s(e,t,i,n,o,r){let a="auto",s="auto",l=!0,c=50;const d=document.getElementById("pageHeaderPanel");if(null!==d){const e=window.getComputedStyle(d).position;c="fixed"===e||"static"===e?d.offsetHeight:0}if("top"===e){const e=document.body.clientHeight;a=e-n.top+r,e-(a+t.height)<(window.scrollY||window.pageYOffset)+c&&(l=!1)}else s=n.top+i.height+r,s+t.height-(window.scrollY||window.pageYOffset)>o&&(l=!1);return{align:e,bottom:a,top:s,result:l}}function l(e,t,i,n,o){let r="auto",a="auto",s=!0;return"left"===e?(r=n.left,r+t.width>o&&(s=!1)):"right"===e?n.left+i.width<t.width?s=!1:(a=o-(n.left+i.width),a<0&&(s=!1)):(r=n.left+i.width/2-t.width/2,r=~~r,(r<0||r+t.width>o)&&(s=!1)),{align:e,left:r,right:a,result:s}}Object.defineProperty(t,"__esModule",{value:!0}),t.set=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importStar(a),t.set=function(e,t,i){i=n.extend({verticalOffset:0,pointer:!1,pointerClassNames:[],refDimensionsElement:null,horizontal:"left",vertical:"bottom",allowFlip:"both"},i||{}),Array.isArray(i.pointerClassNames)&&i.pointerClassNames.length===(i.pointer?1:2)||(i.pointerClassNames=[]),-1===["left","right","center"].indexOf(i.horizontal)&&(i.horizontal="left"),"bottom"!==i.vertical&&(i.vertical="top"),-1===["both","horizontal","vertical","none"].indexOf(i.allowFlip)&&(i.allowFlip="both"),r.default.setStyles(e,{bottom:"auto !important",left:"0 !important",right:"auto !important",top:"0 !important",visibility:"hidden !important"});const c=r.default.outerDimensions(e),d=r.default.outerDimensions(i.refDimensionsElement instanceof HTMLElement?i.refDimensionsElement:t),u=r.default.offset(t),h=window.innerHeight,p=document.body.clientWidth;let m=null,f=!1;if("center"===i.horizontal&&(f=!0,m=l(i.horizontal,c,d,u,p),m.result||("both"===i.allowFlip||"horizontal"===i.allowFlip?i.horizontal="left":m.result=!0)),"rtl"===a.get("wcf.global.pageDirection")&&(i.horizontal="left"===i.horizontal?"right":"left"),null===m||!m.result){const e=m;if(m=l(i.horizontal,c,d,u,p),!m.result&&("both"===i.allowFlip||"horizontal"===i.allowFlip)){const t=l("left"===i.horizontal?"right":"left",c,d,u,p);t.result?m=t:f&&(m=e)}}const g=m.left,b=m.right;let _=s(i.vertical,c,d,u,h,i.verticalOffset);if(!_.result&&("both"===i.allowFlip||"vertical"===i.allowFlip)){const e=s("top"===i.vertical?"bottom":"top",c,d,u,h,i.verticalOffset);e.result&&(_=e)}const v=_.bottom,w=_.top;if(i.pointer){const t=o.childrenByClass(e,"elementPointer")[0]||null;if(null===t)throw new Error("Expected the .elementPointer element to be a direct children.");"center"===m.align?(t.classList.add("center"),t.classList.remove("left","right")):(t.classList.add(m.align),t.classList.remove("center"),t.classList.remove("left"===m.align?"right":"left")),"top"===_.align?t.classList.add("flipVertical"):t.classList.remove("flipVertical")}else 2===i.pointerClassNames.length&&(e.classList["auto"===w?"add":"remove"](i.pointerClassNames[0]),e.classList["auto"===g?"add":"remove"](i.pointerClassNames[1]));r.default.setStyles(e,{bottom:"auto"===v?v:Math.round(v).toString()+"px",left:"auto"===g?g:Math.ceil(g).toString()+"px",right:"auto"===b?b:Math.floor(b).toString()+"px",top:"auto"===w?w:Math.round(w).toString()+"px"}),r.default.show(e),e.style.removeProperty("visibility")}})),define("WoltLabSuite/Core/Ui/CloseOverlay",["require","exports","tslib","../CallbackList"],(function(e,t,i,n){"use strict";const o=new((n=i.__importDefault(n)).default),r={add:o.add.bind(o),remove:o.remove.bind(o),execute(){o.forEach(null,(e=>e()))}};return document.body.addEventListener("click",(()=>r.execute())),r})),define("WoltLabSuite/Core/Date/Picker",["require","exports","tslib","../Core","./Util","../Dom/Change/Listener","../Event/Handler","../Language","../Ui/Alignment","../Ui/CloseOverlay","../Dom/Util"],(function(e,t,i,n,o,r,a,s,l,c,d){"use strict";function u(e,t,i){const n=i?"minDate":"maxDate";let o=(e.dataset[n]||"").trim();if(/^(\d{4})-(\d{2})-(\d{2})$/.exec(o))o=new Date(o).getTime().toString();else if("now"===o)o=t.getTime().toString();else if(/^\d{1,3}$/.exec(o)){const e=new Date(t.getTime());e.setFullYear(e.getFullYear()+~~o*(i?-1:1)),o=e.getTime().toString()}else if(/^datePicker-(.+)$/.exec(o)){if(o=RegExp.$1,null===document.getElementById(o))throw new Error("Reference date picker identified by '"+o+"' does not exists (element id: '"+e.id+"').")}else o=/^\d{4}-\d{2}-\d{2}T/.test(o)?new Date(o).getTime().toString():new Date(i?1902:2038,0,1).getTime().toString();e.dataset[n]=o}function h(e){let t=k.dataset[e]||"";if(/^datePicker-(.+)$/.exec(t)){const e=document.getElementById(RegExp.$1);if(null===e)throw new Error(`Unable to find an element with the id '${RegExp.$1}'.`);t=e.dataset.value||""}return new Date(parseInt(t,10))}function p(e){e.preventDefault(),e.stopPropagation(),function(){if(null!==U)return;U=document.createElement("div"),U.className="datePicker",U.addEventListener("click",(e=>{e.stopPropagation()}));const e=document.createElement("header");U.appendChild(e),N=document.createElement("a"),N.className="previous jsTooltip",N.href="#",N.setAttribute("role","button"),N.tabIndex=0,N.title=s.get("wcf.date.datePicker.previousMonth"),N.setAttribute("aria-label",s.get("wcf.date.datePicker.previousMonth")),N.innerHTML='<span class="icon icon16 fa-arrow-left"></span>',N.addEventListener("click",(e=>F.previousMonth(e))),e.appendChild(N);const t=document.createElement("span");e.appendChild(t),B=document.createElement("select"),B.className="month jsTooltip",B.title=s.get("wcf.date.datePicker.month"),B.setAttribute("aria-label",s.get("wcf.date.datePicker.month")),B.addEventListener("change",_),t.appendChild(B);let i="";const n=s.get("__monthsShort");for(let e=0;e<12;e++)i+=`<option value="${e}">${n[e]}</option>`;B.innerHTML=i,O=document.createElement("select"),O.className="year jsTooltip",O.title=s.get("wcf.date.datePicker.year"),O.setAttribute("aria-label",s.get("wcf.date.datePicker.year")),O.addEventListener("change",v),t.appendChild(O),P=document.createElement("a"),P.className="next jsTooltip",P.href="#",P.setAttribute("role","button"),P.tabIndex=0,P.title=s.get("wcf.date.datePicker.nextMonth"),P.setAttribute("aria-label",s.get("wcf.date.datePicker.nextMonth")),P.innerHTML='<span class="icon icon16 fa-arrow-right"></span>',P.addEventListener("click",(e=>F.nextMonth(e))),e.appendChild(P),T=document.createElement("ul"),U.appendChild(T);const r=document.createElement("li");r.className="weekdays",T.appendChild(r);const a=s.get("__daysShort");for(let e=0;e<7;e++){let t=e+L;t>6&&(t-=7);const i=document.createElement("span");i.textContent=a[t],r.appendChild(i)}for(let e=0;e<6;e++){const e=document.createElement("li");T.appendChild(e);for(let t=0;t<7;t++){const t=document.createElement("a");t.addEventListener("click",w),D.push(t),e.appendChild(t)}}q=document.createElement("footer"),U.appendChild(q),M=document.createElement("select"),M.className="hour",M.title=s.get("wcf.date.datePicker.hour"),M.setAttribute("aria-label",s.get("wcf.date.datePicker.hour")),M.addEventListener("change",b);const l=new Date(2e3,0,1),c=s.get("wcf.date.timeFormat").replace(/:/,"").replace(/[isu]/g,"");let d="";for(let e=0;e<24;e++)l.setHours(e),d+=`<option value="${e}">${o.format(l,c)}</option>`;M.innerHTML=d,q.appendChild(M),q.appendChild(document.createTextNode(" : ")),j=document.createElement("select"),j.className="minute",j.title=s.get("wcf.date.datePicker.minute"),j.setAttribute("aria-label",s.get("wcf.date.datePicker.minute")),j.addEventListener("change",b),d="";for(let e=0;e<60;e++){const t=e<10?"0"+e.toString():e;d+=`<option value="${e}">${t}</option>`}j.innerHTML=d,q.appendChild(j),document.body.appendChild(U),document.body.addEventListener("focus",E,{capture:!0})}();const t=e.currentTarget,i="INPUT"===t.nodeName?t:t.previousElementSibling;if(i===k)return void m();const r=i.closest(".dialogContent");null!==r&&(n.stringToBool(r.dataset.hasDatepickerScrollListener||"")||(r.addEventListener("scroll",f),r.dataset.hasDatepickerScrollListener="1")),k=i;const a=A.get(k),c=k.dataset.value;let d;c?(d=new Date(parseInt(c,10)),"Invalid Date"===d.toString()&&(d=new Date)):d=new Date,x=h("minDate"),x.getTime()>d.getTime()&&(d=x),I=h("maxDate"),a.isDateTime?(M.value=d.getHours().toString(),j.value=d.getMinutes().toString(),U.classList.add("datePickerTime")):U.classList.remove("datePickerTime"),U.classList[a.isTimeOnly?"add":"remove"]("datePickerTimeOnly"),function(e,t,i){g(e,t,i);let n="";for(let e=x.getFullYear(),t=I.getFullYear();e<=t;e++)n+=`<option value="${e}">${e}</option>`;O.innerHTML=n,O.value=i.toString(),B.value=t.toString(),U.classList.add("active")}(d.getDate(),d.getMonth(),d.getFullYear()),l.set(U,k),k.nextElementSibling.setAttribute("aria-expanded","true"),C=!1}function m(){if(null===U||!U.classList.contains("active"))return;U.classList.remove("active");const e=A.get(k);"function"==typeof e.onClose&&e.onClose(),a.fire("WoltLabSuite/Core/Date/Picker","close",{element:k});k.nextElementSibling.setAttribute("aria-expanded","false"),k=null}function f(e){if(null===k)return;const t=e.currentTarget,i=d.default.offset(k),n=d.default.offset(t);i.top+k.clientHeight<=n.top||i.top>=n.top+t.offsetHeight||i.left<=n.left||i.left>=n.left+t.offsetWidth?m():l.set(U,k)}function g(e,t,i){const n=void 0!==e,r=void 0!==t;if("number"!=typeof e&&(e=parseInt(e||T.dataset.day||"0",10)),"number"!=typeof t&&(t=parseInt(t||"0",10)),"number"!=typeof i&&(i=parseInt(i||"0",10)),r||i){let a=0!==i;const s=document.createDocumentFragment();s.appendChild(T),r||(t=parseInt(T.dataset.month,10)),i||(i=parseInt(T.dataset.year,10));let l,c=new Date(i.toString()+"-"+("0"+(t+1).toString()).slice(-2)+"-"+("0"+e.toString()).slice(-2));for(c<x?(i=x.getFullYear(),t=x.getMonth(),e=x.getDate(),B.value=t.toString(),O.value=i.toString(),a=!0):c>I&&(i=I.getFullYear(),t=I.getMonth(),e=I.getDate(),B.value=t.toString(),O.value=i.toString(),a=!0),c=new Date(i.toString()+"-"+("0"+(t+1).toString()).slice(-2)+"-01");c.getDay()!==L;)c.setDate(c.getDate()-1);d.default.show(D[35].parentNode);const u=new Date(x.getFullYear(),x.getMonth(),x.getDate());for(let e=0;e<42;e++){if(35===e&&c.getMonth()!==t){d.default.hide(D[35].parentNode);break}const i=D[e];i.textContent=c.getDate().toString(),l=c.getMonth()===t,l&&(c<u||c>I)&&(l=!1),i.classList[l?"remove":"add"]("otherMonth"),l&&(i.href="#",i.setAttribute("role","button"),i.tabIndex=0,i.title=o.formatDate(c),i.setAttribute("aria-label",o.formatDate(c))),c.setDate(c.getDate()+1)}if(T.dataset.month=t.toString(),T.dataset.year=i.toString(),U.insertBefore(s,q),!n&&(c=new Date(i,t,e),c.getDate()!==e)){for(;c.getMonth()!==t;)c.setDate(c.getDate()-1);e=c.getDate()}if(a){for(let e=0;e<12;e++){const t=B.children[e];t.disabled=i===x.getFullYear()&&+t.value<x.getMonth()||i===I.getFullYear()&&+t.value>I.getMonth()}const e=new Date(i.toString()+"-"+("0"+(t+1).toString()).slice(-2)+"-01");e.setMonth(e.getMonth()+1),P.classList[e<I?"add":"remove"]("active");const n=new Date(i.toString()+"-"+("0"+(t+1).toString()).slice(-2)+"-01");n.setDate(n.getDate()-1),N.classList[n>x?"add":"remove"]("active")}}if(e){for(let t=0;t<35;t++){const i=D[t];i.classList[i.classList.contains("otherMonth")||+i.textContent!==e?"remove":"add"]("active")}T.dataset.day=e.toString()}b()}function b(){const e=A.get(k);let t;n.stringToBool(k.dataset.empty||"")||(t=e.isDateTime?new Date(+T.dataset.year,+T.dataset.month,+T.dataset.day,+M.value,+j.value):new Date(+T.dataset.year,+T.dataset.month,+T.dataset.day),F.setDate(k,t))}function _(e){g(void 0,+e.currentTarget.value)}function v(e){g(void 0,void 0,+e.currentTarget.value)}function w(e){e.preventDefault();const t=e.currentTarget;if(t.classList.contains("otherMonth"))return;k.dataset.empty="false",g(+t.textContent);A.get(k).isDateTime||m()}function y(e){if("string"==typeof e&&(e=document.getElementById(e)),!(e instanceof HTMLInputElement&&e.classList.contains("inputDatePicker")&&A.has(e)))throw new Error("Expected a valid date picker input element or id.");return e}function E(e){if(null!==U&&U.classList.contains("active"))if(U.contains(e.target))C=!0;else if(C){k.nextElementSibling.focus(),C=!1}else U.querySelector(".previous").focus()}n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importStar(l),c=i.__importDefault(c),d=i.__importDefault(d);let S=!1,L=0,C=!1;const A=new Map;let I,x,k=null;const D=[];let T,M,j,B,P,N,q,O,U=null;const F={init(){S||(S=!0,L=parseInt(s.get("wcf.date.firstDayOfTheWeek"),10),r.default.add("WoltLabSuite/Core/Date/Picker",(()=>F.init())),c.default.add("WoltLabSuite/Core/Date/Picker",(()=>m())));const e=new Date;document.querySelectorAll('input[type="date"]:not(.inputDatePicker), input[type="datetime"]:not(.inputDatePicker)').forEach((t=>{t.classList.add("inputDatePicker"),t.readOnly=!0;const i="datetime"===t.getAttribute("type"),r=i&&n.stringToBool(t.dataset.timeOnly||""),a=n.stringToBool(t.dataset.disableClear||""),l=i&&n.stringToBool(t.dataset.ignoreTimezone||""),c=t.classList.contains("birthday");t.dataset.isDateTime=i?"true":"false",t.dataset.isTimeOnly=r?"true":"false";let d=null,h=t.value;h||(h=t.getAttribute("value")||"");const m=/^\d+-\d+-\d+$/.test(h);if(h){if(r){d=new Date;const e=h.split(":");d.setHours(+e[0],+e[1])}else{if(l||c||m){let e=new Date(h).getTimezoneOffset(),t=e>0?"-":"+";e=Math.abs(e);const i=Math.floor(e/60).toString(),n=(e%60).toString();t+=2===i.length?i:"0"+i,t+=":",t+=2===n.length?n:"0"+n,c||m?h+="T00:00:00"+t:h=h.replace(/[+-][0-9]{2}:[0-9]{2}$/,t)}d=new Date(h)}const e=d.getTime();isNaN(e)?h="":(t.dataset.value=e.toString(),h=r?o.formatTime(d):i?o.formatDateTime(d):o.formatDate(d))}const f=0===h.length;if(c?(t.dataset.minDate="120",t.dataset.maxDate=(new Date).getFullYear().toString()+"-12-31"):(t.min&&(t.dataset.minDate=t.min),t.max&&(t.dataset.maxDate=t.max)),u(t,e,!0),u(t,e,!1),(t.dataset.minDate||"")===(t.dataset.maxDate||""))throw new Error("Minimum and maximum date cannot be the same (element id '"+t.id+"').");t.type="text",t.value=h,t.dataset.empty=f?"true":"false";const g=t.dataset.placeholder||"";g&&(t.placeholder=g);const b=document.createElement("input");b.id=t.id+"DatePicker",b.name=t.name,b.type="hidden",null!==d&&(b.value=r?o.format(d,"H:i"):l?o.format(d,"Y-m-dTH:i:s"):o.format(d,i?"c":"Y-m-d")),t.parentNode.insertBefore(b,t),t.removeAttribute("name"),t.addEventListener("click",p);let _=null;if(!t.disabled){const e=document.createElement("div");e.className="inputAddon";const i=document.createElement("a");i.className="inputSuffix button jsTooltip",i.href="#",i.setAttribute("role","button"),i.tabIndex=0,i.title=s.get("wcf.date.datePicker"),i.setAttribute("aria-label",s.get("wcf.date.datePicker")),i.setAttribute("aria-haspopup","true"),i.setAttribute("aria-expanded","false"),i.addEventListener("click",p),e.appendChild(i);let n=document.createElement("span");n.className="icon icon16 fa-calendar",i.appendChild(n),t.parentNode.insertBefore(e,t),e.insertBefore(t,i),a||(_=document.createElement("a"),_.className="inputSuffix button",_.addEventListener("click",(()=>this.clear(t))),f&&_.style.setProperty("visibility","hidden",""),e.appendChild(_),n=document.createElement("span"),n.className="icon icon16 fa-times",_.appendChild(n))}const v=["tiny","short","medium","long"];let w=!1;for(let e=0;e<4;e++)t.classList.contains(v[e])&&(w=!0);w||t.classList.add("short"),A.set(t,{clearButton:_,shadow:b,disableClear:a,isDateTime:i,isEmpty:f,isTimeOnly:r,ignoreTimezone:l,onClose:null})}))},previousMonth(e){e.preventDefault(),"0"===B.value?(B.value="11",O.value=(+O.value-1).toString()):B.value=(+B.value-1).toString(),g(void 0,+B.value,+O.value)},nextMonth(e){e.preventDefault(),"11"===B.value?(B.value="0",O.value=(+O.value+1).toString()):B.value=(+B.value+1).toString(),g(void 0,+B.value,+O.value)},getDate(e){const t=(e=y(e)).dataset.value||"";return t?new Date(+t):null},setDate(e,t){e=y(e);const i=A.get(e);e.dataset.value=t.getTime().toString();let n,r="";i.isDateTime?i.isTimeOnly?(n=o.formatTime(t),r="H:i"):i.ignoreTimezone?(n=o.formatDateTime(t),r="Y-m-dTH:i:s"):(n=o.formatDateTime(t),r="c"):(n=o.formatDate(t),r="Y-m-d"),e.value=n,i.shadow.value=o.format(t,r),i.disableClear||i.clearButton.style.removeProperty("visibility")},getValue(e){e=y(e);const t=A.get(e);return t?t.shadow.value:""},clear(e){e=y(e);const t=A.get(e);e.removeAttribute("data-value"),e.value="",t.disableClear||t.clearButton.style.setProperty("visibility","hidden",""),t.isEmpty=!0,t.shadow.value=""},destroy(e){e=y(e);const t=A.get(e),i=e.parentNode;i.parentNode.insertBefore(e,i),i.remove(),e.setAttribute("type","date"+(t.isDateTime?"time":"")),e.name=t.shadow.name,e.value=t.shadow.value,e.removeAttribute("data-value"),e.removeEventListener("click",p),t.shadow.remove(),e.classList.remove("inputDatePicker"),e.readOnly=!1,A.delete(e)},setCloseCallback(e,t){e=y(e),A.get(e).onClose=t}};return window.__wcf_bc_datePicker=F,F})),define("WoltLabSuite/Core/Timer/Repeating",["require","exports","tslib","../Core"],(function(e,t,i,n){"use strict";n=i.__importStar(n);class o{constructor(e,t){if("function"!=typeof e)throw new TypeError("Expected a valid callback as first argument.");if(t<0||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.restart()}restart(){this.stop(),this._timer=setInterval(this._callback,this._delta)}stop(){void 0!==this._timer&&(clearInterval(this._timer),this._timer=void 0)}setDelta(e){this._delta=e,this.restart()}}return n.enableLegacyInheritance(o),o})),define("WoltLabSuite/Core/Date/Time/Relative",["require","exports","tslib","../../Core","../Util","../../Dom/Change/Listener","../../Language","../../Timer/Repeating"],(function(e,t,i,n,o,r,a,s){"use strict";function l(){document.hidden?(u=!1,h=!1):(u=!0,h&&(c(),h=!1))}function c(){if(!u)return void(h||(h=!0));const e=new Date,t=(e.getTime()-e.getMilliseconds())/1e3;document.querySelectorAll("time").forEach((i=>{!function(e,t,i){if(!e.classList.contains("datetime")||n.stringToBool(e.dataset.isFutureDate||""))return;const r=parseInt(e.dataset.timestamp,10)+d,s=e.dataset.date,l=e.dataset.time,c=e.dataset.offset;e.title||(e.title=a.get("wcf.date.dateTimeFormat").replace(/%date%/,s).replace(/%time%/,l));if(r>=i||i<r+60)e.textContent=a.get("wcf.date.relative.now");else if(i<r+3540){const t=Math.max(Math.round((i-r)/60),1);e.textContent=a.get("wcf.date.relative.minutes",{minutes:t})}else if(i<r+86400){const t=Math.round((i-r)/3600);e.textContent=a.get("wcf.date.relative.hours",{hours:t})}else if(i<r+518400){const i=new Date(t.getFullYear(),t.getMonth(),t.getDate()),n=Math.ceil((i.getTime()/1e3-r)/86400),s=o.getTimezoneDate(1e3*r,1e3*parseInt(c,10)).getDay(),d=a.get("__days")[s];e.textContent=a.get("wcf.date.relative.pastDays",{days:n,day:d,time:l})}else e.textContent=a.get("wcf.date.shortDateTimeFormat").replace(/%date%/,s).replace(/%time%/,l)}(i,e,t)}))}Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importStar(a),s=i.__importDefault(s);let d,u=!0,h=!1;t.setup=function(){d=Math.trunc(Date.now()/1e3-window.TIME_NOW),new s.default(c,6e4),r.default.add("WoltLabSuite/Core/Date/Time/Relative",c),document.addEventListener("visibilitychange",l)}})),define("WoltLabSuite/Core/Environment",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.touch=t.platform=t.editor=t.browser=t.setup=void 0;let i="other",n="none",o="desktop",r=!1;t.setup=function(){if("object"==typeof window.chrome)i="chrome";else{const e=window.getComputedStyle(document.documentElement);for(let t=0,n=e.length;t<n;t++){const n=e[t];0===n.indexOf("-ms-")?i="microsoft":0===n.indexOf("-moz-")?i="firefox":"firefox"!==i&&0===n.indexOf("-webkit-")&&(i="safari")}}const e=window.navigator.userAgent.toLowerCase();-1!==e.indexOf("crios")?(i="chrome",o="ios"):/(?:iphone|ipad|ipod)/.test(e)?(i="safari",o="ios"):-1!==e.indexOf("android")?o="android":-1!==e.indexOf("iemobile")&&(i="microsoft",o="windows"),"desktop"!==o||-1===e.indexOf("mobile")&&-1===e.indexOf("tablet")||(o="mobile"),n="redactor",r="ontouchstart"in window||"msMaxTouchPoints"in window.navigator&&window.navigator.msMaxTouchPoints>0||window.DocumentTouch&&document instanceof window.DocumentTouch,"MacIntel"===window.navigator.platform&&window.navigator.maxTouchPoints>1&&(i="safari",o="ios")},t.browser=function(){return i},t.editor=function(){return n},t.platform=function(){return o},t.touch=function(){return r}})),define("WoltLabSuite/Core/Ui/Screen",["require","exports","tslib","../Core","../Environment"],(function(e,t,i,n,o){"use strict";function r(e){if("string"!=typeof e||""===e.trim())throw new TypeError("Expected a non-empty string for parameter 'query'.");p.has(e)&&(e=p.get(e)),h.has(e)&&(e=h.get(e));let t=s.get(e);return t||(t={callbacksMatch:new Map,callbacksUnmatch:new Map,callbacksSetup:new Map,mql:window.matchMedia(e)},t.mql.addListener(a),s.set(e,t),e!==t.mql.media&&p.set(t.mql.media,e)),t}function a(e){const t=r(e.media);if(e.matches)t.callbacksSetup.size?(t.callbacksSetup.forEach((e=>{e()})),t.callbacksSetup=new Map):t.callbacksMatch.forEach((e=>{e()}));else{if(t.callbacksSetup.size)return;t.callbacksUnmatch.forEach((e=>{e()}))}}Object.defineProperty(t,"__esModule",{value:!0}),t.setDialogContainer=t.pageOverlayIsActive=t.pageOverlayClose=t.pageOverlayOpen=t.scrollEnable=t.scrollDisable=t.is=t.remove=t.on=void 0,n=i.__importStar(n),o=i.__importStar(o);const s=new Map;let l,c=0,d=0,u=0;const h=new Map(Object.entries({"screen-xs":"(max-width: 544px)","screen-sm":"(min-width: 545px) and (max-width: 768px)","screen-sm-down":"(max-width: 768px)","screen-sm-up":"(min-width: 545px)","screen-sm-md":"(min-width: 545px) and (max-width: 1024px)","screen-md":"(min-width: 769px) and (max-width: 1024px)","screen-md-down":"(max-width: 1024px)","screen-md-up":"(min-width: 769px)","screen-lg":"(min-width: 1025px)","screen-lg-only":"(min-width: 1025px) and (max-width: 1280px)","screen-lg-down":"(max-width: 1280px)","screen-xl":"(min-width: 1281px)"})),p=new Map;t.on=function(e,t){const i=n.getUuid(),o=r(e);return"function"==typeof t.match&&o.callbacksMatch.set(i,t.match),"function"==typeof t.unmatch&&o.callbacksUnmatch.set(i,t.unmatch),"function"==typeof t.setup&&(o.mql.matches?t.setup():o.callbacksSetup.set(i,t.setup)),i},t.remove=function(e,t){const i=r(e);i.callbacksMatch.delete(t),i.callbacksUnmatch.delete(t),i.callbacksSetup.delete(t)},t.is=function(e){return r(e).mql.matches},t.scrollDisable=function(){if(0===c){d=document.body.scrollTop,l="body",d||(d=document.documentElement.scrollTop,l="documentElement");const e=document.getElementById("pageContainer");"ios"===o.platform()?(e.style.setProperty("position","relative",""),e.style.setProperty("top",`-${d}px`,"")):e.style.setProperty("margin-top",`-${d}px`,""),document.documentElement.classList.add("disableScrolling")}c++},t.scrollEnable=function(){if(c&&(c--,0===c)){document.documentElement.classList.remove("disableScrolling");const e=document.getElementById("pageContainer");"ios"===o.platform()?(e.style.removeProperty("position"),e.style.removeProperty("top")):e.style.removeProperty("margin-top"),d&&(document[l].scrollTop=~~d)}},t.pageOverlayOpen=function(){0===u&&document.documentElement.classList.add("pageOverlayActive"),u++},t.pageOverlayClose=function(){u&&(u--,0===u&&document.documentElement.classList.remove("pageOverlayActive"))},t.pageOverlayIsActive=function(){return u>0},t.setDialogContainer=function(e){}})),define("WoltLabSuite/Core/Ui/Dropdown/Simple",["require","exports","tslib","../../CallbackList","../../Core","../../Dom/Change/Listener","../../Dom/Traverse","../../Dom/Util","../Alignment","../CloseOverlay"],(function(e,t,i,n,o,r,a,s,l,c){"use strict";function d(e){const t=e.currentTarget,i=t.querySelectorAll(".dropdown.dropdownOpen");for(let e=0,n=i.length;e<n;e++){const n=i[e],o=s.default.identify(n),r=s.default.offset(n),a=s.default.offset(t);r.top+n.clientHeight<=a.top||r.top>=a.top+t.offsetHeight||r.left<=a.left||r.left>=a.left+t.offsetWidth?S.toggleDropdown(o):S.setAlignment(v.get(o),w.get(o))}}function u(){v.forEach(((e,t)=>{if(e.classList.contains("dropdownOpen"))if(o.stringToBool(e.dataset.isOverlayDropdownButton||""))S.setAlignment(e,w.get(t));else{const i=w.get(e.id);o.stringToBool(i.dataset.dropdownIgnorePageScroll||"")||S.close(t)}}))}function h(e,t){b.forEach(e,(i=>{i(e,t)}))}function p(e,t,i,n){let r=!1;if(null!==e){e.preventDefault(),e.stopPropagation();const i=e.currentTarget;t=i.dataset.target,void 0===n&&e instanceof MouseEvent&&(o.stringToBool(i.dataset.isKeyboardClick||"")?(r=!0,delete i.dataset.isKeyboardClick):n=!0)}let s=v.get(t),l=!1;if(void 0!==s){let i,r;if(e&&(i=e.currentTarget,r=i.parentNode,r!==s&&(r.classList.add("dropdown"),r.id=s.id,s.classList.remove("dropdown"),s.id="",s=r,v.set(t,r))),void 0===n&&(i=s.closest(".dropdownToggle"),i||(i=s.querySelector(".dropdownToggle"),!i&&s.id&&(i=document.querySelector('[data-target="'+s.id+'"]'))),i&&o.stringToBool(i.dataset.dropdownLazyInit||"")&&(n=!0)),o.stringToBool(s.dataset.dropdownPreventToggle||"")&&s.classList.contains("dropdownOpen")&&(l=!0),""===s.dataset.isOverlayDropdownButton){const e=a.parentByClass(s,"dialogContent");s.dataset.isOverlayDropdownButton=null!==e?"true":"false",null!==e&&e.addEventListener("scroll",d)}}return E="",v.forEach(((e,a)=>{const s=w.get(a);let c=null;if(e.classList.contains("dropdownOpen"))if(l)E=t;else{e.classList.remove("dropdownOpen"),s.classList.remove("dropdownOpen");const t=e.querySelector(".dropdownToggle");t&&t.setAttribute("aria-expanded","false"),h(a,"close")}else if(a===t&&s.childElementCount>0){E=t,e.classList.add("dropdownOpen"),s.classList.add("dropdownOpen");const l=e.querySelector(".dropdownToggle");l&&l.setAttribute("aria-expanded","true");const d=s.childElementCount>0?s.children[0]:null;if(d&&o.stringToBool(d.dataset.scrollToActive||"")){delete d.dataset.scrollToActive;let e=null;for(let t=0,i=d.childElementCount;t<i;t++)if(d.children[t].classList.contains("active")){e=d.children[t];break}e&&(d.scrollTop=Math.max(e.offsetTop+e.clientHeight-s.clientHeight,0))}const u=s.querySelector(".scrollableDropdownMenu");null!==u&&u.classList[u.scrollHeight>u.clientHeight?"add":"remove"]("forceScrollbar"),h(a,"open"),n||(s.setAttribute("role","menu"),s.tabIndex=-1,s.removeEventListener("keydown",f),s.addEventListener("keydown",f),s.querySelectorAll("li").forEach((e=>{e.clientHeight&&((null===c||e.classList.contains("active"))&&(c=e),e.setAttribute("role","menuitem"),e.tabIndex=-1)}))),S.setAlignment(e,s,i),null!==c&&(c.focus(),r&&c.classList.add("focus-visible"))}})),window.WCF.Dropdown.Interactive.Handler.closeAll(),null===e}function m(e){const t=e.currentTarget;"INPUT"!==t.nodeName&&("Enter"!==e.key&&"Space"!==e.key||(e.preventDefault(),t.dataset.requiresSynthethicClick?(t.dataset.isKeyboardClick="true",t.click()):p(e)))}function f(e){const t=document.activeElement;if("LI"===t.nodeName)if("ArrowDown"===e.key||"ArrowUp"===e.key||"End"===e.key||"Home"===e.key){e.preventDefault();const i=Array.from(t.closest(".dropdownMenu").querySelectorAll("li"));"ArrowUp"!==e.key&&"End"!==e.key||i.reverse();let n=null;const o=e=>!e.classList.contains("dropdownDivider")&&e.clientHeight>0;let r=i.indexOf(t);"End"!==e.key&&"Home"!==e.key||(r=-1);for(let e=r+1;e<i.length;e++)if(o(i[e])){n=i[e];break}null===n&&(n=i.find(o)||null),null!==n&&n.focus()}else if("Enter"===e.key||"Space"===e.key){e.preventDefault();let i=t;1!==i.childElementCount||"SPAN"!==i.children[0].nodeName&&"A"!==i.children[0].nodeName||(i=i.children[0]);const n=v.get(E),r=n.querySelector(".dropdownToggle"),a=n.dataset.a11yMouseEvent||"click";o.triggerEvent(i,a),r&&r.focus()}else if("Escape"===e.key||"Tab"===e.key){e.preventDefault();const t=v.get(E);let i=t.querySelector(".dropdownToggle");null!==i||t.classList.contains("dropdown")||(i=t),p(null,E),i&&i.focus()}}let g;n=i.__importDefault(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importStar(a),s=i.__importDefault(s),l=i.__importStar(l),c=i.__importDefault(c);const b=new n.default;let _=!1;const v=new Map,w=new Map;let y,E="";const S={setup(){_||(_=!0,y=document.createElement("div"),y.className="dropdownMenuContainer",document.body.appendChild(y),g=document.getElementsByClassName("dropdownToggle"),S.initAll(),c.default.add("WoltLabSuite/Core/Ui/Dropdown/Simple",(()=>S.closeAll())),r.default.add("WoltLabSuite/Core/Ui/Dropdown/Simple",(()=>S.initAll())),document.addEventListener("scroll",u),window.bc_wcfSimpleDropdown=this)},initAll(){for(let e=0,t=g.length;e<t;e++)S.init(g[e],!1)},init(e,t){if(S.setup(),e.setAttribute("role","button"),e.tabIndex=0,e.setAttribute("aria-haspopup","true"),e.setAttribute("aria-expanded","false"),e.classList.contains("jsDropdownEnabled")||e.dataset.target)return!1;const i=a.parentByClass(e,"dropdown");if(null===i)throw new Error("Invalid dropdown passed, button '"+s.default.identify(e)+"' does not have a parent with .dropdown.");const n=a.nextByClass(e,"dropdownMenu");if(null===n)throw new Error("Invalid dropdown passed, button '"+s.default.identify(e)+"' does not have a menu as next sibling.");y.appendChild(n);const r=s.default.identify(i);if(!v.has(r)&&(e.classList.add("jsDropdownEnabled"),e.addEventListener("click",p),e.addEventListener("keydown",m),v.set(r,i),w.set(r,n),/^wcf\d+$/.test(r)||(n.dataset.source=r),n.childElementCount&&n.children[0].classList.contains("scrollableDropdownMenu"))){const e=n.children[0];e.dataset.scrollToActive="true";let t=null,i=null;e.addEventListener("wheel",(n=>{null===t&&(t=e.clientHeight),null===i&&(i=e.scrollHeight),(n.deltaY<0&&0===e.scrollTop||n.deltaY>0&&e.scrollTop+t===i)&&n.preventDefault()}),{passive:!1})}return e.dataset.target=r,t&&setTimeout((()=>{e.dataset.dropdownLazyInit=t instanceof MouseEvent?"true":"false",o.triggerEvent(e,"click"),setTimeout((()=>{delete e.dataset.dropdownLazyInit}),10)}),10),!0},initFragment(e,t){S.setup();const i=s.default.identify(e);v.has(i)||(v.set(i,e),y.appendChild(t),w.set(i,t))},registerCallback(e,t){b.add(e,t)},getDropdown:e=>v.get(e),getDropdownMenu:e=>w.get(e),toggleDropdown(e,t,i){p(null,e,t,i)},setAlignment(e,t,i){const n=e.querySelector(".dropdownToggle"),o=null!==n?n.parentNode:null;let r;o&&o.classList.contains("inputAddonTextarea")&&(r=n),l.set(t,i||e,{pointerClassNames:["dropdownArrowBottom","dropdownArrowRight"],refDimensionsElement:r||null,horizontal:"right"===t.dataset.dropdownAlignmentHorizontal?"right":"left",vertical:"top"===t.dataset.dropdownAlignmentVertical?"top":"bottom",allowFlip:t.dataset.dropdownAllowFlip||"both"})},setAlignmentById(e){const t=v.get(e);if(void 0===t)throw new Error("Unknown dropdown identifier '"+e+"'.");const i=w.get(e);S.setAlignment(t,i)},isOpen(e){const t=w.get(e);return void 0!==t&&t.classList.contains("dropdownOpen")},open(e,t,i){const n=w.get(e);void 0===n||n.classList.contains("dropdownOpen")||S.toggleDropdown(e,i,t)},close(e){const t=v.get(e);void 0!==t&&(t.classList.remove("dropdownOpen"),w.get(e).classList.remove("dropdownOpen"))},closeAll(){v.forEach(((e,t)=>{e.classList.contains("dropdownOpen")&&(e.classList.remove("dropdownOpen"),w.get(t).classList.remove("dropdownOpen"),h(t,"close"))}))},destroy(e){var t;if(!v.has(e))return!1;try{S.close(e),null===(t=w.get(e))||void 0===t||t.remove()}catch(e){}return w.delete(e),v.delete(e),!0},_toggle:(e,t,i,n)=>p(e,t,i,n)};return S})),define("WoltLabSuite/Core/Ui/Dialog",["require","exports","tslib","../Core","../Dom/Change/Listener","./Screen","../Dom/Util","../Language","../Environment","../Event/Handler","./Dropdown/Simple"],(function(e,t,i,n,o,r,a,s,l,c,d){"use strict";n=i.__importStar(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importDefault(a),s=i.__importStar(s),l=i.__importStar(l),c=i.__importStar(c),d=i.__importDefault(d);let u,h,p=null;const m=new Map;let f=!1;const g=new WeakMap,b=new Map;let _;const v=["onBeforeClose","onClose","onShow"],w=["number","password","search","tel","text","url"],y=['a[href]:not([tabindex^="-"]):not([inert])','area[href]:not([tabindex^="-"]):not([inert])',"input:not([disabled]):not([inert])","select:not([disabled]):not([inert])","textarea:not([disabled]):not([inert])","button:not([disabled]):not([inert])",'iframe:not([tabindex^="-"]):not([inert])','audio:not([tabindex^="-"]):not([inert])','video:not([tabindex^="-"]):not([inert])','[contenteditable]:not([tabindex^="-"]):not([inert])','[tabindex]:not([tabindex^="-"]):not([inert])'];return{setup(){h=document.createElement("div"),h.classList.add("dialogOverlay"),h.setAttribute("aria-hidden","true"),h.addEventListener("mousedown",(e=>this._closeOnBackdrop(e))),h.addEventListener("wheel",(e=>{e.target===h&&e.preventDefault()}),{passive:!1}),document.getElementById("content").appendChild(h),_=e=>{if("Escape"===e.key){const t=e.target;if("INPUT"!==t.nodeName&&"TEXTAREA"!==t.nodeName)return this.close(p),!1}return!0},r.on("screen-xs",{match(){f=!0},unmatch(){f=!1},setup(){f=!0}}),this._initStaticDialogs(),o.default.add("Ui/Dialog",(()=>{this._initStaticDialogs()})),window.addEventListener("resize",(()=>{m.forEach((e=>{n.stringToBool(e.dialog.getAttribute("aria-hidden"))||this.rebuild(e.dialog.dataset.id||"")}))}))},_initStaticDialogs(){document.querySelectorAll(".jsStaticDialog").forEach((e=>{e.classList.remove("jsStaticDialog");const t=e.dataset.dialogId||"";if(t){const i=document.getElementById(t);null!==i&&(i.classList.remove("jsStaticDialogContent"),i.dataset.isStaticDialog="true",a.default.hide(i),e.addEventListener("click",(e=>{e.preventDefault(),this.openStatic(i.id,null,{title:i.dataset.title||""})})))}}))},open(t,o){let r=g.get(t);if(r&&n.isPlainObject(r))return this.openStatic(r.id,void 0===o?null:o);if("function"!=typeof t._dialogSetup)throw new Error("Callback object does not implement the method '_dialogSetup()'.");const s=t._dialogSetup();if(!n.isPlainObject(s))throw new Error("Expected an object literal as return value of '_dialogSetup()'.");const l=s.id;let c;if(r={id:l},void 0===s.source){if(c=document.getElementById(l),null===c)throw new Error("Element id '"+l+"' is invalid and no source attribute was given. If you want to use the `html` argument instead, please add `source: null` to your dialog configuration.");s.source=document.createDocumentFragment(),s.source.appendChild(c),c.removeAttribute("id"),a.default.show(c)}else if(null===s.source)s.source=o;else if("function"==typeof s.source)s.source();else if(n.isPlainObject(s.source)){if("string"!=typeof o||""===o.trim())return new Promise(((t,i)=>{e(["../Ajax"],t,i)})).then(i.__importStar).then((e=>{const i=s.source;e.api(this,i.data,(e=>{e.returnValues&&"string"==typeof e.returnValues.template&&(this.open(t,e.returnValues.template),"function"==typeof i.after&&i.after(m.get(l).content,e))}))})),{};s.source=o}else if("string"==typeof s.source&&(c=document.createElement("div"),c.id=l,a.default.setInnerHtml(c,s.source),s.source=document.createDocumentFragment(),s.source.appendChild(c)),!s.source.nodeType||s.source.nodeType!==Node.DOCUMENT_FRAGMENT_NODE)throw new Error("Expected at least a document fragment as 'source' attribute.");return g.set(t,r),b.set(l,t),this.openStatic(l,s.source,s.options)},openStatic(t,o,a){r.pageOverlayOpen(),"desktop"!==l.platform()&&(this.isOpen(t)||r.scrollDisable()),m.has(t)?this._updateDialog(t,o):((a=n.extend({backdropCloseOnClick:!0,closable:!0,closeButtonLabel:s.get("wcf.global.button.close"),closeConfirmMessage:"",disableContentPadding:!1,title:"",onBeforeClose:null,onClose:null,onShow:null},a||{})).closable||(a.backdropCloseOnClick=!1),a.closeConfirmMessage&&(a.onBeforeClose=t=>{new Promise(((t,i)=>{e(["./Confirmation"],t,i)})).then(i.__importStar).then((e=>{e.show({confirm:this.close.bind(this,t),message:a.closeConfirmMessage||""})}))}),this._createDialog(t,o,a));const c=m.get(t);return"ios"===l.platform()&&window.setTimeout((()=>{var e;null===(e=c.content.querySelector("input, textarea"))||void 0===e||e.focus()}),200),c},setTitle(e,t){e=this._getDialogId(e);const i=m.get(e);if(void 0===i)throw new Error("Expected a valid dialog id, '"+e+"' does not match any active dialog.");const n=i.dialog.querySelector(".dialogTitle");n&&(n.textContent=t)},setCallback(e,t,i){if("object"==typeof e){const t=g.get(e);void 0!==t&&(e=t.id)}const n=m.get(e);if(void 0===n)throw new Error(`Expected a valid dialog id, '${e}' does not match any active dialog.`);if(-1===v.indexOf(t))throw new Error("Invalid callback identifier, '"+t+"' is not recognized.");if("function"!=typeof i&&null!==i)throw new Error("Only functions or the 'null' value are acceptable callback values ('"+typeof i+"' given).");n[t]=i},removeCallback(e,t){if("object"==typeof e){const t=g.get(e);void 0!==t&&(e=t.id)}const i=m.get(e);if(void 0===i)throw new Error(`Expected a valid dialog id, '${e}' does not match any active dialog.`);if(-1===v.indexOf(t))throw new Error("Invalid callback identifier, '"+t+"' is not recognized.");i[t]=void 0},_createDialog(e,t,i){let n=null;if(null===t&&(n=document.getElementById(e),null===n))throw new Error("Expected either a HTML string or an existing element id.");const o=document.createElement("div");o.classList.add("dialogContainer"),o.setAttribute("aria-hidden","true"),o.setAttribute("role","dialog"),o.dataset.id=e;const r=document.createElement("header");o.appendChild(r);const s=a.default.getUniqueId();o.setAttribute("aria-labelledby",s);const l=document.createElement("span");if(l.classList.add("dialogTitle"),l.textContent=i.title,l.id=s,r.appendChild(l),i.closable){const e=document.createElement("a");e.className="dialogCloseButton jsTooltip",e.href="#",e.setAttribute("role","button"),e.tabIndex=0,e.title=i.closeButtonLabel,e.setAttribute("aria-label",i.closeButtonLabel),e.addEventListener("click",(e=>this._close(e))),r.appendChild(e);const t=document.createElement("span");t.className="icon icon24 fa-times",e.appendChild(t)}const c=document.createElement("div");let d;if(c.classList.add("dialogContent"),i.disableContentPadding&&c.classList.add("dialogContentNoPadding"),o.appendChild(c),c.addEventListener("wheel",(e=>{let t,i,n,o=!1,r=e.target;for(;;){if(t=r.clientHeight,i=r.scrollHeight,t<i){if(n=r.scrollTop,e.deltaY<0&&n>0){o=!0;break}if(e.deltaY>0&&n+t<i){o=!0;break}}if(!r||r===c)break;r=r.parentNode}o||e.preventDefault()}),{passive:!1}),null===n)if("string"==typeof t)d=document.createElement("div"),d.id=e,a.default.setInnerHtml(d,t);else{if(!(t instanceof DocumentFragment))throw new TypeError("'html' must either be a string or a DocumentFragment");{const i=[];let n;for(let e=0,o=t.childNodes.length;e<o;e++)n=t.childNodes[e],n.nodeType===Node.ELEMENT_NODE&&i.push(n);"DIV"!==i[0].nodeName||i.length>1?(d=document.createElement("div"),d.id=e,d.appendChild(t)):d=i[0]}}else d=n;c.appendChild(d),"none"===d.style.getPropertyValue("display")&&a.default.show(d),m.set(e,{backdropCloseOnClick:i.backdropCloseOnClick,closable:i.closable,content:d,dialog:o,header:r,onBeforeClose:i.onBeforeClose,onClose:i.onClose,onShow:i.onShow,submitButton:null,inputFields:new Set}),h.insertBefore(o,h.firstChild),"function"==typeof i.onSetup&&i.onSetup(d),this._updateDialog(e,null)},_updateDialog(e,t){const i=m.get(e);if(void 0===i)throw new Error("Expected a valid dialog id, '"+e+"' does not match any active dialog.");if("string"==typeof t&&a.default.setInnerHtml(i.content,t),n.stringToBool(i.dialog.getAttribute("aria-hidden"))){d.default.closeAll(),window.WCF.Dropdown.Interactive.Handler.closeAll(),null===u&&(u=this._maintainFocus.bind(this),document.body.addEventListener("focus",u,{capture:!0})),i.closable&&n.stringToBool(h.getAttribute("aria-hidden"))&&window.addEventListener("keyup",_),i.dialog.parentNode.insertBefore(i.dialog,i.dialog.parentNode.firstChild),i.dialog.setAttribute("aria-hidden","false"),h.setAttribute("aria-hidden","false"),h.setAttribute("close-on-click",i.backdropCloseOnClick?"true":"false"),p=e;const t=i.header.querySelector(".dialogCloseButton");t&&t.setAttribute("inert","true"),this._setFocusToFirstItem(i.dialog,!1),t&&t.removeAttribute("inert"),"function"==typeof i.onShow&&i.onShow(i.content),n.stringToBool(i.content.dataset.isStaticDialog||"")&&c.fire("com.woltlab.wcf.dialog","openStatic",{content:i.content,id:e})}this.rebuild(e),o.default.trigger()},_maintainFocus(e){if(p){const t=m.get(p),i=e.target;t.dialog.contains(i)||i.closest(".dropdownMenuContainer")||i.closest(".datePicker")||this._setFocusToFirstItem(t.dialog,!0)}},_setFocusToFirstItem(e,t){let i=this._getFirstFocusableChild(e);null!==i&&(t&&("username"!==i.id&&"username"!==i.name||"safari"===l.browser()&&"ios"===l.platform()&&(i=null)),i&&setTimeout((()=>{i.focus()}),1))},_getFirstFocusableChild(e){const t=e.querySelectorAll(y.join(","));for(let e=0,i=t.length;e<i;e++)if(t[e].offsetWidth&&t[e].offsetHeight&&t[e].getClientRects().length)return t[e];return null},rebuild(e){const t=this._getDialogId(e),i=m.get(t);if(void 0===i)throw new Error("Expected a valid dialog id, '"+t+"' does not match any active dialog.");if(n.stringToBool(i.dialog.getAttribute("aria-hidden")))return;const o=i.content.parentNode,r=i.content.querySelector(".formSubmit");let s=0;null!==r?(o.classList.add("dialogForm"),r.classList.add("dialogFormSubmit"),s+=a.default.outerHeight(r),s-=1,o.style.setProperty("margin-bottom",`${s}px`,"")):(o.classList.remove("dialogForm"),o.style.removeProperty("margin-bottom")),s+=a.default.outerHeight(i.header);const c=window.innerHeight*(f?1:.8)-s;o.style.setProperty("max-height",~~c+"px",""),"chrome"!==l.browser()&&"safari"!==l.browser()||o.classList.add("jsWebKitFractionalPixelFix");const d=b.get(t);if(void 0!==d&&"function"==typeof d._dialogSubmit){const e=i.content.querySelectorAll('input[data-dialog-submit-on-enter="true"]'),n=i.content.querySelector('.formSubmit > input[type="submit"], .formSubmit > button[data-type="submit"]');if(null===n)return void(0===e.length&&console.warn("Broken dialog, expected a submit button.",i.content));if(i.submitButton!==n){i.submitButton=n,n.addEventListener("click",(e=>{e.preventDefault(),this._submit(t)}));const o=e=>{"Enter"===e.key&&(e.preventDefault(),this._submit(t))};let r;for(let t=0,n=e.length;t<n;t++)r=e[t],i.inputFields.has(r)||(-1!==w.indexOf(r.type)?(i.inputFields.add(r),r.addEventListener("keydown",o)):console.warn("Unsupported input type.",r))}}},_submit(e){const t=m.get(e);let i=!0;if(t.inputFields.forEach((e=>{e.required&&(""===e.value.trim()?(a.default.innerError(e,s.get("wcf.global.form.error.empty")),i=!1):a.default.innerError(e,!1))})),i){const t=b.get(e);"function"==typeof t._dialogSubmit&&t._dialogSubmit()}},submit(e){this._submit(e)},_close(e){e.preventDefault();const t=m.get(p);return"function"==typeof t.onBeforeClose?(t.onBeforeClose(p),!1):(this.close(p),!0)},_closeOnBackdrop(e){e.target===h&&(n.stringToBool(h.getAttribute("close-on-click"))?this._close(e):e.preventDefault())},close(e){e=this._getDialogId(e);let t=m.get(e);if(void 0===t)throw new Error("Expected a valid dialog id, '"+e+"' does not match any active dialog.");t.dialog.setAttribute("aria-hidden","true");const i=document.activeElement;i.closest(".dialogContainer")===t.dialog&&i.blur(),"function"==typeof t.onClose&&t.onClose(e),p=null;for(let e=0;e<h.childElementCount;e++){const t=h.children[e];if(!n.stringToBool(t.getAttribute("aria-hidden"))){p=t.dataset.id||"";break}}r.pageOverlayClose(),null===p?(h.setAttribute("aria-hidden","true"),h.dataset.closeOnClick="false",t.closable&&window.removeEventListener("keyup",_)):(t=m.get(p),h.dataset.closeOnClick=t.backdropCloseOnClick?"true":"false"),"desktop"!==l.platform()&&r.scrollEnable()},getDialog(e){return m.get(this._getDialogId(e))},isOpen(e){const t=this.getDialog(e);return void 0!==t&&"false"===t.dialog.getAttribute("aria-hidden")},destroy(e){if("object"!=typeof e)throw new TypeError("Expected the callback object as parameter.");if(g.has(e)){const t=g.get(e).id;this.isOpen(t)&&this.close(t),m.has(t)&&(m.get(t).dialog.remove(),m.delete(t)),g.delete(e)}},_getDialogId(e){if("object"==typeof e){const t=g.get(e);if(void 0!==t)return t.id}return e.toString()},_ajaxSetup:()=>({})}})),define("WoltLabSuite/Core/Ui/Dropdown/Reusable",["require","exports","tslib","./Simple"],(function(e,t,i,n){"use strict";function o(e){if(!r.has(e))throw new Error("Unknown dropdown identifier '"+e+"'");return r.get(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.toggleDropdown=t.registerCallback=t.getDropdownMenu=t.init=void 0,n=i.__importDefault(n);const r=new Map;let a=0;t.init=function(e,t){if(r.has(e))return;const i=document.createElement("div");i.id="reusableDropdownGhost"+a++,n.default.initFragment(i,t),r.set(e,i.id)},t.getDropdownMenu=function(e){return n.default.getDropdownMenu(o(e))},t.registerCallback=function(e,t){n.default.registerCallback(o(e),t)},t.toggleDropdown=function(e,t){n.default.toggleDropdown(o(e),t)}})),define("WoltLabSuite/Core/Ui/Page/Menu/Abstract",["require","exports","tslib","../../../Core","../../../Environment","../../../Event/Handler","../../../Language","../../../Dom/Traverse","../../Screen"],(function(e,t,i,n,o,r,a,s,l){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importStar(l);const c=document.getElementById("pageContainer");let d="";class u{constructor(e,t,i){if(this.activeList=[],this.depth=0,this.enabled=!0,this.items=new Map,this.removeActiveList=!1,"packageInstallationSetup"===document.body.dataset.template)return;this.eventIdentifier=e,this.menu=document.getElementById(t);const n=this.open.bind(this);this.button=document.querySelector(i),this.button.addEventListener("click",n),this.initItems(),this.initHeader(),r.add(this.eventIdentifier,"open",n),r.add(this.eventIdentifier,"close",this.close.bind(this)),r.add(this.eventIdentifier,"updateButtonState",this.updateButtonState.bind(this)),this.menu.addEventListener("animationend",(()=>{this.menu.classList.contains("open")||this.menu.querySelectorAll(".menuOverlayItemList").forEach((e=>{e.classList.remove("active","hidden")}))})),this.menu.children[0].addEventListener("transitionend",(()=>{if(this.menu.classList.add("allowScroll"),this.removeActiveList){this.removeActiveList=!1;const e=this.activeList.pop();e&&e.classList.remove("activeList")}}));const a=document.createElement("div");a.className="menuOverlayMobileBackdrop",a.addEventListener("click",this.close.bind(this)),this.menu.insertAdjacentElement("afterend",a),this.menu.parentElement.insertBefore(a,this.menu.nextSibling),this.updateButtonState(),"android"===o.platform()&&this.initializeAndroid()}open(e){return!!this.enabled&&(e instanceof Event&&e.preventDefault(),this.menu.classList.add("open"),this.menu.classList.add("allowScroll"),this.menu.children[0].classList.add("activeList"),l.scrollDisable(),c.classList.add("menuOverlay-"+this.menu.id),l.pageOverlayOpen(),!0)}close(e){return e instanceof Event&&e.preventDefault(),!!this.menu.classList.contains("open")&&(this.menu.classList.remove("open"),l.scrollEnable(),l.pageOverlayClose(),c.classList.remove("menuOverlay-"+this.menu.id),!0)}enable(){this.enabled=!0}disable(){this.enabled=!1,this.close()}initializeAndroid(){let e;switch(this.menu.id){case"pageUserMenuMobile":e="right";break;case"pageMainMenuMobile":e="left";break;default:return}const t=this.menu.nextElementSibling;let i;document.addEventListener("touchstart",(t=>{const o=t.touches;let r,a;const s=this.menu.classList.contains("open");if("left"===e?(r=!s&&o[0].clientX<20,a=s&&Math.abs(this.menu.offsetWidth-o[0].clientX)<20):(r=s&&Math.abs(document.body.clientWidth-this.menu.offsetWidth-o[0].clientX)<20,a=!s&&document.body.clientWidth-o[0].clientX<20),o.length>1)d&&n.triggerEvent(document,"touchend");else if(!d&&(r||a)){if(l.pageOverlayIsActive()){if(!c.classList.contains(`menuOverlay-${this.menu.id}`))return}document.documentElement.classList.contains("redactorActive")||(i={x:o[0].clientX,y:o[0].clientY},r&&(d="left"),a&&(d="right"))}})),document.addEventListener("touchend",(n=>{if(!d||!i)return;if(!this.menu.classList.contains("open"))return i=void 0,void(d="");let o;o=n?n.changedTouches[0].clientX:i.x,this.menu.classList.add("androidMenuTouchEnd"),this.menu.style.removeProperty("transform"),t.style.removeProperty(e),this.menu.addEventListener("transitionend",(()=>{this.menu.classList.remove("androidMenuTouchEnd")}),{once:!0}),"left"===e?("left"===d&&o<i.x+100&&this.close(),"right"===d&&o<i.x-100&&this.close()):("left"===d&&o>i.x+100&&this.close(),"right"===d&&o>i.x-100&&this.close()),i=void 0,d=""})),document.addEventListener("touchmove",(n=>{if(!d||!i)return;const o=n.touches;let r=!1;"left"===d&&(r=o[0].clientX>i.x+5),"right"===d&&(r=o[0].clientX<i.x-5);const a=Math.abs(o[0].clientY-i.y)>20;let s=this.menu.classList.contains("open");if(s||!r||a||(this.open(),s=!0),s){let i=o[0].clientX;"right"===e&&(i=document.body.clientWidth-i),i>this.menu.offsetWidth&&(i=this.menu.offsetWidth),i<0&&(i=0);const n=("left"===e?1:-1)*(i-this.menu.offsetWidth);this.menu.style.setProperty("transform",`translateX(${n}px)`),t.style.setProperty(e,Math.min(this.menu.offsetWidth,i).toString()+"px")}}))}initItems(){this.menu.querySelectorAll(".menuOverlayItemLink").forEach((e=>{this.initItem(e)}))}initItem(e){const t=e.parentElement,i=t.dataset.more;if(i)return void e.addEventListener("click",(n=>{n.preventDefault(),n.stopPropagation(),r.fire(this.eventIdentifier,"more",{handler:this,identifier:i,item:e,parent:t})}));const n=e.nextElementSibling;if(null===n)return;if("OL"!==n.nodeName&&n.classList.contains("menuOverlayItemLinkIcon")){const i=document.createElement("span");for(i.className="menuOverlayItemWrapper",t.insertBefore(i,e),i.appendChild(e);i.nextElementSibling;)i.appendChild(i.nextElementSibling);return}const o="#"!==e.href,a=t.parentElement;let l=n.dataset.title;this.items.set(e,{itemList:n,parentItemList:a}),l||(l=s.childByClass(e,"menuOverlayItemTitle").textContent,n.dataset.title=l);const c=this.showItemList.bind(this,e);if(o){const i=document.createElement("span");i.className="menuOverlayItemWrapper",t.insertBefore(i,e),i.appendChild(e);const n=document.createElement("a");n.href="#",n.className="menuOverlayItemLinkIcon"+(e.classList.contains("active")?" active":""),n.innerHTML='<span class="icon icon24 fa-angle-right"></span>',n.addEventListener("click",c),i.appendChild(n)}else e.classList.add("menuOverlayItemLinkMore"),e.addEventListener("click",c);const d=document.createElement("li");d.className="menuOverlayHeader";const u=document.createElement("span");u.className="menuOverlayItemWrapper";const h=document.createElement("a");h.href="#",h.className="menuOverlayItemLink menuOverlayBackLink",h.textContent=a.dataset.title||"",h.addEventListener("click",this.hideItemList.bind(this,e));const p=document.createElement("a");if(p.href="#",p.className="menuOverlayItemLinkIcon",p.innerHTML='<span class="icon icon24 fa-times"></span>',p.addEventListener("click",this.close.bind(this)),u.appendChild(h),u.appendChild(p),d.appendChild(u),n.insertBefore(d,n.firstElementChild),!d.nextElementSibling.classList.contains("menuOverlayTitle")){const e=document.createElement("li");e.className="menuOverlayTitle";const t=document.createElement("span");t.textContent=l,e.appendChild(t),n.insertBefore(e,d.nextElementSibling)}}initHeader(){const e=document.createElement("li");e.className="menuOverlayHeader";const t=document.createElement("span");t.className="menuOverlayItemWrapper",e.appendChild(t);const i=document.createElement("span");i.className="menuOverlayLogoWrapper",t.appendChild(i);const n=document.createElement("span");n.className="menuOverlayLogo";const o=this.menu.dataset.pageLogo;n.style.setProperty("background-image",`url("${o}")`,""),i.appendChild(n);const r=document.createElement("a");r.href="#",r.className="menuOverlayItemLinkIcon",r.innerHTML='<span class="icon icon24 fa-times"></span>',r.addEventListener("click",this.close.bind(this)),t.appendChild(r);const a=s.childByClass(this.menu,"menuOverlayItemList");a.insertBefore(e,a.firstElementChild)}hideItemList(e,t){t instanceof Event&&t.preventDefault(),this.menu.classList.remove("allowScroll"),this.removeActiveList=!0;this.items.get(e).parentItemList.classList.remove("hidden"),this.updateDepth(!1)}showItemList(e,t){t.preventDefault();const i=this.items.get(e),o=i.itemList.dataset.load;if(o&&!n.stringToBool(e.dataset.loaded||"")){const e=t.currentTarget.firstElementChild;return e.classList.contains("fa-angle-right")&&(e.classList.remove("fa-angle-right"),e.classList.add("fa-spinner")),void r.fire(this.eventIdentifier,"load_"+o)}this.menu.classList.remove("allowScroll"),i.itemList.classList.add("activeList"),i.parentItemList.classList.add("hidden"),this.activeList.push(i.itemList),this.updateDepth(!0)}updateDepth(e){this.depth+=e?1:-1;let t=-100*this.depth;"rtl"===a.get("wcf.global.pageDirection")&&(t*=-1);this.menu.children[0].style.setProperty("transform",`translateX(${t}%)`,"")}updateButtonState(){let e=!1;const t=this.menu.querySelector(".menuOverlayItemList");this.menu.querySelectorAll(".badgeUpdate").forEach((i=>{~~i.textContent>0&&i.closest(".menuOverlayItemList")===t&&(e=!0)})),this.button.classList[e?"add":"remove"]("pageMenuMobileButtonHasContent")}}return n.enableLegacyInheritance(u),u})),define("WoltLabSuite/Core/Ui/Page/Menu/Main",["require","exports","tslib","../../../Core","../../../Dom/Util","../../../Language","./Abstract"],(function(e,t,i,n,o,r,a){"use strict";n=i.__importStar(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importDefault(a);class s extends a.default{constructor(){super("com.woltlab.wcf.MainMenuMobile","pageMainMenuMobile","#pageHeader .mainMenu"),this.hasItems=!1,this.title=document.getElementById("pageMainMenuMobilePageOptionsTitle"),null!==this.title&&(this.navigationList=document.querySelector(".jsPageNavigationIcons")),this.button.setAttribute("aria-label",r.get("wcf.menu.page")),this.button.setAttribute("role","button")}open(e){if(!super.open(e))return!1;if(null===this.title)return!0;if(this.hasItems=this.navigationList&&this.navigationList.childElementCount>0,this.hasItems){for(;this.navigationList.childElementCount;){const e=this.navigationList.children[0];e.classList.add("menuOverlayItem","menuOverlayItemOption"),e.addEventListener("click",(e=>{e.stopPropagation(),this.close()}));const t=e.children[0];t.classList.add("menuOverlayItemLink"),t.classList.add("box24"),t.children[1].classList.remove("invisible"),t.children[1].classList.add("menuOverlayItemTitle"),this.title.insertAdjacentElement("afterend",e)}o.default.show(this.title)}else o.default.hide(this.title);return!0}close(e){if(!super.close(e))return!1;if(this.hasItems){o.default.hide(this.title);let e=this.title.nextElementSibling;for(;e&&e.classList.contains("menuOverlayItemOption");){e.classList.remove("menuOverlayItem","menuOverlayItemOption"),e.removeEventListener("click",(e=>{e.stopPropagation(),this.close()}));const t=e.children[0];t.classList.remove("menuOverlayItemLink"),t.classList.remove("box24"),t.children[1].classList.add("invisible"),t.children[1].classList.remove("menuOverlayItemTitle"),this.navigationList.appendChild(e),e=e.nextElementSibling}}return!0}}return n.enableLegacyInheritance(s),s})),define("WoltLabSuite/Core/Ui/Page/Menu/User",["require","exports","tslib","../../../Core","../../../Event/Handler","../../../Language","./Abstract"],(function(e,t,i,n,o,r,a){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importDefault(a);class s extends a.default{constructor(){const e=document.querySelector("#pageUserMenuMobile > .menuOverlayItemList");if(1===e.childElementCount&&e.children[0].classList.contains("menuOverlayTitle")){document.querySelector("#pageHeader .userPanel").classList.add("hideUserPanel")}else super("com.woltlab.wcf.UserMenuMobile","pageUserMenuMobile","#pageHeader .userPanel"),o.add("com.woltlab.wcf.userMenu","updateBadge",(e=>this.updateBadge(e))),this.button.setAttribute("aria-label",r.get("wcf.menu.user")),this.button.setAttribute("role","button")}close(e){if(void 0===this.menu)return!1;const t=window.WCF.Dropdown.Interactive.Handler.getOpenDropdown();return t?(e&&(e.preventDefault(),e.stopPropagation()),t.close(),!0):super.close(e)}updateBadge(e){this.menu.querySelectorAll(".menuOverlayItemBadge").forEach((t=>{if(t.dataset.badgeIdentifier===e.identifier){let i=t.querySelector(".badge");e.count?(null===i&&(i=document.createElement("span"),i.className="badge badgeUpdate",t.appendChild(i)),i.textContent=e.count.toString()):null!==i&&i.remove(),this.updateButtonState()}}))}}return n.enableLegacyInheritance(s),s})),define("WoltLabSuite/Core/Ui/Mobile",["require","exports","tslib","../Core","../Dom/Change/Listener","../Environment","../Event/Handler","./Alignment","./CloseOverlay","./Dropdown/Reusable","./Page/Menu/Main","./Page/Menu/User","./Screen"],(function(e,t,i,n,o,r,a,s,l,c,d,u,h){"use strict";function p(){j=!0,function(){const e=document.getElementById("pageHeaderSearch"),t=document.getElementById("pageHeaderSearchInput");let i=null;a.add("com.woltlab.wcf.MainMenuMobile","more",(n=>{if("com.woltlab.wcf.search"===n.identifier){n.handler.close(),"ios"===r.platform()&&(i=document.body.scrollTop,h.scrollDisable());const o=document.getElementById("pageHeader");e.style.setProperty("top",`${o.offsetHeight}px`,""),e.classList.add("open"),t.focus(),"ios"===r.platform()&&(document.body.scrollTop=0)}})),document.getElementById("main").addEventListener("click",(()=>{e&&e.classList.remove("open"),"ios"===r.platform()&&i&&(h.scrollEnable(),document.body.scrollTop=i,i=null)}))}(),m(),f(),P&&(q=new d.default,O=new u.default),l.default.add("WoltLabSuite/Core/Ui/Mobile",g),o.default.add("WoltLabSuite/Core/Ui/Mobile",(()=>{m(),f()}))}function m(){document.querySelectorAll(".buttonGroupNavigation").forEach((e=>{if(e.classList.contains("jsMobileButtonGroupNavigation"))return;e.classList.add("jsMobileButtonGroupNavigation");const t=e.querySelector(".buttonList");if(0===t.childElementCount)return;e.parentElement.classList.add("hasMobileNavigation");const i=document.createElement("a");i.className="dropdownLabel";const n=document.createElement("span");n.className="icon icon24 fa-ellipsis-v",i.appendChild(n),i.addEventListener("click",(t=>{t.preventDefault(),t.stopPropagation(),e.classList.toggle("open")})),t.addEventListener("click",(function(t){t.stopPropagation(),e.classList.remove("open")})),e.insertBefore(i,e.firstChild)}))}function f(){document.querySelectorAll(".message").forEach((e=>{if(N.has(e))return;const t=e.querySelector(".jsMobileNavigation");if(t){t.addEventListener("click",(e=>{e.stopPropagation(),window.setTimeout((()=>{t.classList.remove("open")}),10)}));const i=e.querySelector(".messageQuickOptions");i&&t.childElementCount&&(i.classList.add("active"),i.addEventListener("click",(n=>{const o=n.target;j&&h.is("screen-sm-down")&&"LABEL"!==o.nodeName&&"INPUT"!==o.nodeName&&(n.preventDefault(),n.stopPropagation(),function(e,t,i){if(null===T)T=document.createElement("ul"),T.className="dropdownMenu",c.init("com.woltlab.wcf.jsMobileNavigation",T);else if(T.classList.contains("dropdownOpen")&&(w(),M===e))return;T.innerHTML="",l.default.execute(),L(i);const n=i.previousElementSibling;if(n&&n.classList.contains("messageFooterButtonsExtra")){const e=document.createElement("li");e.className="dropdownDivider",T.appendChild(e),L(n)}s.set(T,t,{horizontal:"right",allowFlip:"vertical"}),T.classList.add("dropdownOpen"),M=e}(e,i,t))})))}N.add(e)}))}function g(){document.querySelectorAll(".jsMobileButtonGroupNavigation.open, .jsMobileNavigation.open").forEach((e=>{e.classList.remove("open")})),j&&T&&w()}function b(){U=!0}function _(){U=!1,H.forEach((function(e){e.classList.remove("open")}))}function v(){H.forEach((function(e){e.addEventListener("mousedown",(function(t){U&&t.target===e&&(t.preventDefault(),e.classList.toggle("open"))}))})),U=!0}function w(){T.classList.remove("dropdownOpen")}function y(){B=!0,document.querySelectorAll(".boxMenuHasChildren > a").forEach((e=>{e.addEventListener("touchstart",(t=>{B&&"false"===e.getAttribute("aria-expanded")&&(t.preventDefault(),e.setAttribute("aria-expanded","true"),e.addEventListener("touchend",(()=>{document.body.addEventListener("touchstart",(()=>{document.body.addEventListener("touchend",(t=>{const i=e.parentElement,n=t.target;i.contains(n)||n===i||e.setAttribute("aria-expanded","false")}),{once:!0})}),{once:!0})}),{once:!0}))}),{passive:!1})}))}function E(){B=!0}function S(){B=!1}function L(e){e.querySelectorAll(".button").forEach((e=>{if(e.classList.contains("ignoreMobileNavigation")||e.classList.contains("reactButton"))return;const t=document.createElement("li");e.classList.contains("active")&&(t.className="active");const i=e.querySelector("span:not(.icon)");t.innerHTML=`<a href="#">${i.textContent}</a>`,t.children[0].addEventListener("click",(function(t){t.preventDefault(),t.stopPropagation(),"A"===e.nodeName?e.click():n.triggerEvent(e,"click"),w()})),T.appendChild(t)}))}function C(){j=!0,P&&(q.enable(),O.enable())}function A(){F&&k(F,".messageGroupLink")}function I(){j=!1,P&&(q.disable(),O.disable())}function x(){F&&D(F),T&&w()}function k(e,t){Array.from(e).forEach((e=>{const i=e.parentElement;let n=i.querySelector(".mobileLinkShadow");if(null===n){const o=e.querySelector(t);o.href&&(n=document.createElement("a"),n.className="mobileLinkShadow",n.href=o.href,i.appendChild(n),i.classList.add("mobileLinkShadowContainer"))}}))}function D(e){Array.from(e).forEach((e=>{const t=e.parentElement;if(t.classList.contains("mobileLinkShadowContainer")){const e=t.querySelector(".mobileLinkShadow");null!==e&&e.remove(),t.classList.remove("mobileLinkShadowContainer")}}))}Object.defineProperty(t,"__esModule",{value:!0}),t.removeShadow=t.rebuildShadow=t.disableShadow=t.disable=t.enableShadow=t.enable=t.setup=void 0,n=i.__importStar(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importDefault(l),c=i.__importStar(c),d=i.__importDefault(d),u=i.__importDefault(u),h=i.__importStar(h);let T=null,M=null,j=!1,B=!1,P=!1;const N=new WeakSet;let q,O,U=!1,F=null;const H=[];t.setup=function(e){P=e,document.querySelectorAll(".sidebar").forEach((e=>{H.push(e)})),r.touch()&&document.documentElement.classList.add("touch"),"desktop"!==r.platform()&&document.documentElement.classList.add("mobile");const t=document.querySelector(".messageGroupList");t&&(F=t.getElementsByClassName("messageGroup")),h.on("screen-md-down",{match:C,unmatch:I,setup:p}),h.on("screen-sm-down",{match:A,unmatch:x,setup:A}),h.on("screen-md-down",{match:b,unmatch:_,setup:v}),!r.touch()||"ios"!==r.platform()&&"android"!==r.platform()||h.on("screen-lg",{match:E,unmatch:S,setup:y})},t.enable=C,t.enableShadow=A,t.disable=I,t.disableShadow=x,t.rebuildShadow=k,t.removeShadow=D})),define("WoltLabSuite/Core/Ui/Page/Action",["require","exports","tslib","../../Core","../../Language","../../Ui/Screen"],(function(e,t,i,n,o,r){"use strict";function a(){if(document.documentElement.classList.contains("disableScrolling"))return;const e=window.pageYOffset;e!==g?(e>=b?(p.classList.contains("initiallyHidden")&&p.classList.remove("initiallyHidden"),p.setAttribute("aria-hidden","false")):p.setAttribute("aria-hidden","true"),l(),-1!==g&&m.classList[e<g?"remove":"add"]("scrolledDown"),g=-1):_()}function s(e){e.preventDefault();document.getElementById("top").scrollIntoView({behavior:"smooth"})}function l(){const e=Array.from(h.children).find((e=>"false"===e.getAttribute("aria-hidden")));h.classList[e?"add":"remove"]("active"),e?m.classList.add("pageActionHasContextButtons"):m.classList.remove("pageActionHasContextButtons")}function c(){if(f)return;f=!0,m=document.createElement("div"),m.className="pageAction",h=document.createElement("div"),h.className="pageActionButtons",m.appendChild(h),p=function(){const e=document.createElement("a");return e.className="button buttonPrimary pageActionButtonToTop initiallyHidden jsTooltip",e.href="",e.title=o.get("wcf.global.scrollUp"),e.setAttribute("aria-hidden","true"),e.innerHTML='<span class="icon icon32 fa-angle-up"></span>',e.addEventListener("click",s),e}(),m.appendChild(p),document.body.appendChild(m);const e=n.debounce(a,100);window.addEventListener("scroll",(()=>{-1===g&&(g=window.pageYOffset,window.setTimeout((()=>{a(),g=window.pageYOffset}),60)),e()}),{passive:!0}),window.addEventListener("touchstart",(()=>{-1!==g&&(g=-1)}),{passive:!0}),r.on("screen-sm-down",{match(){b=50},unmatch(){b=300},setup(){b=50}}),a()}function d(e){const t=u.get(e);if(t){t.parentElement.setAttribute("aria-hidden","true"),l()}}Object.defineProperty(t,"__esModule",{value:!0}),t.show=t.hide=t.remove=t.get=t.has=t.add=t.setup=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r);const u=new Map;let h,p,m,f=!1,g=-1,b=300;const _=n.debounce((()=>{g=-1}),50);t.setup=c,t.add=function(e,t,i){c();const n=document.createElement("div");n.className="pageActionButton",n.dataset.name=e,n.setAttribute("aria-hidden","true"),t.classList.add("button"),t.classList.add("buttonPrimary"),n.appendChild(t);let o=null;i&&(o=u.get(i)||null,o&&(o=o.parentElement)),!o&&h.childElementCount&&(o=h.children[0]),o||(o=h.firstChild),h.insertBefore(n,o),m.classList.remove("scrolledDown"),u.set(e,t),n.offsetParent,n.setAttribute("aria-hidden","false"),l()},t.has=function(e){return u.has(e)},t.get=function(e){return u.get(e)},t.remove=function(e){const t=u.get(e);if(void 0!==t){const i=t.parentElement,o=()=>{try{n.stringToBool(i.getAttribute("aria-hidden"))&&(h.removeChild(i),u.delete(e)),i.removeEventListener("transitionend",o)}catch(e){}};i.addEventListener("transitionend",o),d(e)}},t.hide=d,t.show=function(e){const t=u.get(e);if(t){const e=t.parentElement;e.classList.contains("initiallyHidden")&&e.classList.remove("initiallyHidden"),e.setAttribute("aria-hidden","false"),m.classList.remove("scrolledDown"),l()}}})),define("WoltLabSuite/Core/Ui/TabMenu/Simple",["require","exports","tslib","../../Core","../../Dom/Traverse","../../Dom/Util","../../Environment","../../Event/Handler"],(function(e,t,i,n,o,r,a,s){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importStar(a),s=i.__importStar(s);class l{constructor(e){this.containers=new Map,this.isLegacy=!1,this.store=null,this.tabs=new Map,this.container=e}validate(){if(!this.container.classList.contains("tabMenuContainer"))return!1;const e=o.childByTag(this.container,"NAV");if(null===e)return!1;const t=e.querySelectorAll("li");if(0===t.length)return!1;o.childrenByTag(this.container,"DIV").forEach((e=>{let t=e.dataset.name;t||(t=r.default.identify(e),e.dataset.name=t),this.containers.set(t,e)}));const i=this.container.id;if(t.forEach((e=>{const t=this._getTabName(e);if(!t)return;if(this.tabs.has(t))throw new Error("Tab names must be unique, li[data-name='"+t+"'] (tab menu id: '"+i+"') exists more than once.");const n=this.containers.get(t);if(void 0===n)throw new Error("Expected content element for li[data-name='"+t+"'] (tab menu id: '"+i+"').");if(n.parentNode!==this.container)throw new Error("Expected content element '"+t+"' (tab menu id: '"+i+"') to be a direct children.");if(1!==e.childElementCount||"A"!==e.children[0].nodeName)throw new Error("Expected exactly one <a> as children for li[data-name='"+t+"'] (tab menu id: '"+i+"').");this.tabs.set(t,e)})),!this.tabs.size)throw new Error("Expected at least one tab (tab menu id: '"+i+"').");return this.isLegacy&&(this.container.dataset.isLegacy="true",this.tabs.forEach((function(e,t){e.setAttribute("aria-controls",t)}))),!0}init(e){this.tabs.forEach((t=>{if(!e||e.get(t.dataset.name||"")!==t){const e=t.children[0];if(e.addEventListener("click",(e=>this._onClick(e))),"ios"===a.platform()){let t=!1;e.addEventListener("touchstart",(()=>{t=!0})),e.addEventListener("touchmove",(()=>{t=!1})),e.addEventListener("touchend",(e=>{t&&(t=!1,e.preventDefault(),this._onClick(e))}))}}}));let t=null;if(!e){const e=l.getIdentifierFromHash();let i;if(""!==e&&(i=this.tabs.get(e),i)){const e=this.container.parentNode;e.classList.contains("tabMenuContainer")&&(t=e)}if(!i){let e=this.container.dataset.preselect||this.container.dataset.active;"true"!==e&&e||(e=!0),!0===e?this.tabs.forEach((function(e){i||r.default.isHidden(e)||e.previousElementSibling&&!r.default.isHidden(e.previousElementSibling)||(i=e)})):"string"==typeof e&&"false"!==e&&(i=this.tabs.get(e))}i&&(this.containers.forEach((e=>{e.classList.add("hidden")})),this.select(null,i,!0));const n=this.container.dataset.store;if(n){const e=document.createElement("input");e.type="hidden",e.name=n,e.value=this.getActiveTab().dataset.name||"",this.container.appendChild(e),this.store=e}}return t}select(t,n,o){if(t=t?t.toString():"",!(n=n||this.tabs.get(t))){if(~~t==+t){t=~~t;let e=0;this.tabs.forEach((i=>{e===t&&(n=i),e++}))}if(!n)throw new Error(`Expected a valid tab name, '${t}' given (tab menu id: '${this.container.id}').`)}t=t||n.dataset.name||"";const r=this.getActiveTab();let a=null;if(r){const e=r.dataset.name;if(e===t)return;o||s.fire("com.woltlab.wcf.simpleTabMenu_"+this.container.id,"beforeSelect",{tab:r,tabName:e}),r.classList.remove("active"),a=this.containers.get(r.dataset.name||""),a.classList.remove("active"),a.classList.add("hidden"),this.isLegacy&&(r.classList.remove("ui-state-active"),a.classList.remove("ui-state-active"))}n.classList.add("active");const c=this.containers.get(t);if(c.classList.add("active"),c.classList.remove("hidden"),this.isLegacy&&(n.classList.add("ui-state-active"),c.classList.add("ui-state-active")),this.store&&(this.store.value=t),!o){s.fire("com.woltlab.wcf.simpleTabMenu_"+this.container.id,"select",{active:n,activeName:t,previous:r,previousName:r?r.dataset.name:null});const e=this.isLegacy&&"function"==typeof window.jQuery?window.jQuery:null;e&&e(this.container).trigger("wcftabsbeforeactivate",{newTab:e(n),oldTab:e(r),newPanel:e(c),oldPanel:e(a)});let i=window.location.href.replace(/#+[^#]*$/,"");l.getIdentifierFromHash()===t?i+=window.location.hash:i+="#"+t,window.history.replaceState(void 0,"",i)}new Promise(((t,i)=>{e(["../TabMenu"],t,i)})).then(i.__importStar).then((e=>{e.scrollToTab(n)}))}selectFirstVisible(){let e=null;return this.tabs.forEach((t=>{e||r.default.isHidden(t)||(e=t)})),e&&this.select(null,e,!1),null!==e}rebuild(){const e=new Map(this.tabs);this.validate(),this.init(e)}hasTab(e){return this.tabs.has(e)}_onClick(e){e.preventDefault();const t=e.currentTarget;this.select(null,t.parentNode)}_getTabName(e){let t=e.dataset.name||null;if(!t&&1===e.childElementCount&&"A"===e.children[0].nodeName){const i=e.children[0];/#([^#]+)$/.exec(i.href)&&(t=RegExp.$1,null===document.getElementById(t)?t=null:(this.isLegacy=!0,e.dataset.name=t))}return t}getActiveTab(){return document.querySelector("#"+this.container.id+" > nav > ul > li.active")}getContainers(){return this.containers}getTabs(){return this.tabs}static getIdentifierFromHash(){return/^#+([^/]+)+(?:\/.+)?/.exec(window.location.hash)?RegExp.$1:""}}return n.enableLegacyInheritance(l),l})),define("WoltLabSuite/Core/Ui/Scroll",["require","exports","tslib","../Dom/Util"],(function(e,t,i,n){"use strict";function o(){null!==s&&window.clearTimeout(s),s=window.setTimeout((()=>{null!==r&&r(),window.removeEventListener("scroll",o),r=null,s=null}),100)}Object.defineProperty(t,"__esModule",{value:!0}),t.element=void 0,n=i.__importDefault(n);let r=null,a=null,s=null;t.element=function(e,t){if(!(e instanceof HTMLElement))throw new TypeError("Expected a valid DOM element.");if(void 0!==t&&"function"!=typeof t)throw new TypeError("Expected a valid callback function.");if(!document.body.contains(e))throw new Error("Element must be part of the visible DOM.");if(null!==r)throw new Error("Cannot scroll to element, a concurrent request is running.");t&&(r=t,window.addEventListener("scroll",o));let i=n.default.offset(e).top;if(null===a){a=50;const e=document.getElementById("pageHeaderPanel");if(null!==e){const t=window.getComputedStyle(e).position;a="fixed"===t||"static"===t?e.offsetHeight:0}}a>0&&(i<=a?i=0:i-=a);const s=window.pageYOffset;window.scrollTo({left:0,top:i,behavior:"smooth"}),window.setTimeout((()=>{s===window.pageYOffset&&o()}),100)}})),define("WoltLabSuite/Core/Ui/TabMenu",["require","exports","tslib","../Dom/Change/Listener","../Dom/Util","./TabMenu/Simple","./CloseOverlay","./Screen","./Scroll"],(function(e,t,i,n,o,r,a,s,l){"use strict";function c(){document.querySelectorAll(".tabMenuContainer:not(.staticTabMenuContainer)").forEach((e=>{const t=o.default.identify(e);if(_.has(t))return;let i=new r.default(e);if(!i.validate())return;const n=i.init();if(_.set(t,i),n instanceof HTMLElement){const e=m(n.parentNode.id);e&&(i=e,i.select(n.id,void 0,!0))}const a=document.querySelector("#"+t+" > nav > ul");a.addEventListener("click",(e=>{e.preventDefault(),e.stopPropagation(),e.target===a?(a.classList.add("active"),g=a):(a.classList.remove("active"),g=null)})),e.querySelectorAll(".tabMenu, .menu").forEach((e=>{function t(){i=null,p(e)}let i=null;e.querySelector("ul").addEventListener("scroll",(()=>{null!==i&&window.clearTimeout(i),i=window.setTimeout(t,10)}),{passive:!0})}));const s=e.closest("form");if(null!==s){const t=s.querySelector('input[type="submit"]');null!==t&&t.addEventListener("click",(t=>{t.defaultPrevented||e.querySelectorAll("input, select").forEach((e=>{if(!e.checkValidity()){t.preventDefault();const i=m(e.closest(".tabMenuContainer").id),n=e.closest(".tabMenuContent");return i.select(n.dataset.name||""),void l.element(e,(()=>{e.reportValidity()}))}}))}))}}))}function d(e){b=!0,_.forEach((t=>{const i=t.getActiveTab();e?p(i.closest(".menu, .tabMenu")):f(i)}))}function u(){b=!1}function h(e,t,i,n,o,r){(r||t>0)&&(t-=15),i!==(t=t<0?0:Math.min(t,n-o))&&(e.classList.add("enableAnimation"),i<t?e.firstElementChild.style.setProperty("margin-left",i-t+"px",""):e.style.setProperty("padding-left",i-t+"px",""),setTimeout((()=>{e.classList.remove("enableAnimation"),e.firstElementChild.style.removeProperty("margin-left"),e.style.removeProperty("padding-left"),e.scrollLeft=t}),300))}function p(e){if(!b)return;const t=e.clientWidth,i=e.querySelector("ul"),n=i.scrollLeft,o=i.scrollWidth,r=n>0;let a=e.querySelector(".tabMenuOverlayLeft");r?(null===a&&(a=document.createElement("span"),a.className="tabMenuOverlayLeft icon icon24 fa-angle-left",a.addEventListener("click",(()=>{const e=i.clientWidth;h(i,i.scrollLeft-~~(e/2),i.scrollLeft,i.scrollWidth,e,!1)})),e.insertBefore(a,e.firstChild)),a.classList.add("active")):null!==a&&a.classList.remove("active");const s=t+n<o;let l=e.querySelector(".tabMenuOverlayRight");s?(null===l&&(l=document.createElement("span"),l.className="tabMenuOverlayRight icon icon24 fa-angle-right",l.addEventListener("click",(()=>{const e=i.clientWidth;h(i,i.scrollLeft+~~(e/2),i.scrollLeft,i.scrollWidth,e,!1)})),e.appendChild(l)),l.classList.add("active")):null!==l&&l.classList.remove("active")}function m(e){return _.get(e)}function f(e){if(!b)return;const t=e.closest("ul"),i=t.clientWidth,n=t.scrollLeft,o=t.scrollWidth;if(i===o)return;const r=e.offsetLeft;let a=!1;r<n&&(a=!0);let s=!1;if(!a){const t=i-(r-n);let o=e.clientWidth;null!==e.nextElementSibling&&(s=!0,o+=20),t<o&&(a=!0)}a&&h(t,r,n,o,i,s)}Object.defineProperty(t,"__esModule",{value:!0}),t.scrollToTab=t.getTabMenu=t.setup=void 0,n=i.__importDefault(n),o=i.__importDefault(o),r=i.__importDefault(r),a=i.__importDefault(a),s=i.__importStar(s),l=i.__importStar(l);let g=null,b=!1;const _=new Map;t.setup=function(){c(),_.forEach((e=>{let t=!1;e.getContainers().forEach((i=>{t||null===i.querySelector(".formError")||(t=!0,e.select(i.id))}))})),n.default.add("WoltLabSuite/Core/Ui/TabMenu",c),a.default.add("WoltLabSuite/Core/Ui/TabMenu",(()=>{g&&(g.classList.remove("active"),g=null)})),s.on("screen-sm-down",{match(){d(!1)},unmatch:u,setup(){d(!0)}}),window.addEventListener("hashchange",(()=>{const e=r.default.getIdentifierFromHash(),t=e?document.getElementById(e):null;null!==t&&t.classList.contains("tabMenuContent")&&_.forEach((t=>{t.hasTab(e)&&t.select(e)}))}));const e=r.default.getIdentifierFromHash();e&&window.setTimeout((()=>{const t=document.getElementById(e);if(t&&t.classList.contains("tabMenuContent")){const e=window.scrollY||window.pageYOffset;if(e>0){const i=t.parentNode;let n=i.offsetTop-50;if(n<0&&(n=0),e>n){let e=o.default.offset(i).top;e<=50?e=0:e-=50,window.scrollTo(0,e)}}}}),100)},t.getTabMenu=m,t.scrollToTab=f})),define("WoltLabSuite/Core/Ui/Tooltip",["require","exports","tslib","../Dom/Change/Listener","../Environment","./Alignment"],(function(e,t,i,n,o,r){"use strict";function a(e){const t=e.currentTarget;let i=t.title.trim();""!==i&&(t.dataset.tooltip=i,t.setAttribute("aria-label",i),t.removeAttribute("title")),i=t.dataset.tooltip||"",u.style.removeProperty("top"),u.style.removeProperty("left"),i.length?(u.classList.add("active"),d.textContent=i,r.set(u,t,{horizontal:"center",verticalOffset:4,pointer:!0,pointerClassNames:["inverse"],vertical:"top"})):u.classList.remove("active")}function s(){u.classList.remove("active")}function l(){document.querySelectorAll(".jsTooltip").forEach((e=>{e.classList.remove("jsTooltip");const t=e.title.trim();t.length&&(e.dataset.tooltip=t,e.removeAttribute("title"),e.setAttribute("aria-label",t),e.addEventListener("mouseenter",a),e.addEventListener("mouseleave",s),e.addEventListener("click",s))}))}let c,d,u;Object.defineProperty(t,"__esModule",{value:!0}),t.init=t.setup=void 0,n=i.__importDefault(n),o=i.__importStar(o),r=i.__importStar(r),t.setup=function(){"desktop"===o.platform()&&(u=document.createElement("div"),u.id="balloonTooltip",u.classList.add("balloonTooltip"),u.addEventListener("transitionend",(()=>{u.classList.contains("active")||["bottom","left","right","top"].forEach((e=>{u.style.removeProperty(e)}))})),d=document.createElement("span"),d.id="balloonTooltipText",u.appendChild(d),c=document.createElement("span"),c.classList.add("elementPointer"),c.appendChild(document.createElement("span")),u.appendChild(c),document.body.appendChild(u),l(),n.default.add("WoltLabSuite/Core/Ui/Tooltip",l),window.addEventListener("scroll",s))},t.init=l})),define("WoltLabSuite/Core/Ui/Page/JumpTo",["require","exports","tslib","../../Language","../Dialog"],(function(e,t,i,n,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,n=i.__importStar(n),o=i.__importDefault(o);class r{constructor(){this.elements=new Map}init(e,t){if(t){if("function"!=typeof t)throw new TypeError("Expected a valid function for parameter 'callback'.")}else{const i=e.dataset.link;t=i?e=>{window.location.href=i.replace(/pageNo=%d/,`pageNo=${e}`)}:()=>{}}this.elements.has(e)||e.querySelectorAll(".jumpTo").forEach((i=>{i.addEventListener("click",(t=>this.click(e,t))),this.elements.set(e,t)}))}click(e,t){t.preventDefault(),this.activeElement=e,o.default.open(this);const i=e.dataset.pages||"0";this.input.value=i,this.input.max=i,this.input.select(),this.description.textContent=n.get("wcf.page.jumpTo.description").replace(/#pages#/,i)}_keyUp(e){if("Enter"===e.key&&!this.submitButton.disabled)return void this.submit();const t=+this.input.value;this.submitButton.disabled=t<1||t>+this.input.max}submit(){this.elements.get(this.activeElement)(+this.input.value),o.default.close(this)}_dialogSetup(){const e=`<dl>\n <dt><label for="jsPaginationPageNo">${n.get("wcf.page.jumpTo")}</label></dt>\n <dd>\n <input type="number" id="jsPaginationPageNo" value="1" min="1" max="1" class="tiny">\n <small></small>\n </dd>\n </dl>\n <div class="formSubmit">\n <button class="buttonPrimary">${n.get("wcf.global.button.submit")}</button>\n </div>`;return{id:"paginationOverlay",options:{onSetup:e=>{this.input=e.querySelector("input"),this.input.addEventListener("keyup",(e=>this._keyUp(e))),this.description=e.querySelector("small"),this.submitButton=e.querySelector("button"),this.submitButton.addEventListener("click",(()=>this.submit()))},title:n.get("wcf.global.page.pagination")},source:e}}}let a=null;t.init=function(e,t){(null===a&&(a=new r),a).init(e,t)}})),define("WoltLabSuite/Core/Ui/Password",["require","exports","tslib","../Dom/Change/Listener","../Language"],(function(e,t,i,n,o){"use strict";function r(){document.querySelectorAll("input[type=password]").forEach((e=>{s.has(e)||function(e){s.add(e);const t=document.activeElement,i=document.createElement("div");i.classList.add("inputAddon"),e.insertAdjacentElement("beforebegin",i),i.appendChild(e);const n=document.createElement("span");n.title=o.get("wcf.global.form.password.button.show"),n.classList.add("button","inputSuffix","jsTooltip"),n.setAttribute("role","button"),n.tabIndex=0,n.setAttribute("aria-hidden","true"),i.appendChild(n);const r=document.createElement("span");r.classList.add("icon","icon16","fa-eye"),n.appendChild(r),n.addEventListener("click",(()=>{a(e,n,r)})),n.addEventListener("keydown",(t=>{"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),a(e,n,r))})),t===e&&e.focus()}(e)}))}function a(e,t,i){"password"===e.type?(i.classList.remove("fa-eye"),i.classList.add("fa-eye-slash"),t.dataset.tooltip=o.get("wcf.global.form.password.button.hide"),e.type="text"):(i.classList.add("fa-eye"),i.classList.remove("fa-eye-slash"),t.dataset.tooltip=o.get("wcf.global.form.password.button.show"),e.type="password")}Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,n=i.__importDefault(n),o=i.__importStar(o);const s=new WeakSet;t.setup=function(){r(),n.default.add("WoltLabSuite/Core/Ui/Password",(()=>r()))}})),define("WoltLabSuite/Core/Ui/Empty",["require","exports","tslib","../Dom/Change/Listener"],(function(e,t,i,n){"use strict";function o(){document.querySelectorAll(".jsReloadPageWhenEmpty").forEach((e=>{e.classList.remove("jsReloadPageWhenEmpty"),r.observe(e,{childList:!0})}))}Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,n=i.__importDefault(n);const r=new MutationObserver((e=>{e.forEach((e=>{const t=e.target;if(0===t.childElementCount)window.location.reload();else{Array.from(t.children).every((e=>"ignore"===e.dataset.reloadPageWhenEmpty))&&window.location.reload()}}))}));t.setup=function(){o(),n.default.add("WoltLabSuite/Core/Ui/Empty",(()=>o()))}})),define("WoltLabSuite/Core/Ui/Confirmation",["require","exports","tslib","../Core","../Language","./Dialog"],(function(e,t,i,n,o,r){"use strict";function a(){return l||(l=new s),l}Object.defineProperty(t,"__esModule",{value:!0}),t.getContentElement=t.show=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r);class s{constructor(){this._active=!1,this.dialog=document.createElement("div"),this.dialog.id="wcfSystemConfirmation",this.dialog.classList.add("systemConfirmation"),this.text=document.createElement("p"),this.dialog.appendChild(this.text),this._content=document.createElement("div"),this._content.id="wcfSystemConfirmationContent",this.dialog.appendChild(this._content);const e=document.createElement("div");e.classList.add("formSubmit"),this.dialog.appendChild(e),this.confirmButton=document.createElement("button"),this.confirmButton.dataset.type="submit",this.confirmButton.classList.add("buttonPrimary"),this.confirmButton.textContent=o.get("wcf.global.confirmation.confirm"),e.appendChild(this.confirmButton);const t=document.createElement("button");t.textContent=o.get("wcf.global.confirmation.cancel"),t.addEventListener("click",(()=>{r.default.close(this)})),e.appendChild(t),document.body.appendChild(this.dialog)}open(e){this.parameters=e.parameters||{},this._content.innerHTML="string"==typeof e.template?e.template.trim():"",this.text[e.messageIsHtml?"innerHTML":"textContent"]=e.message,"function"==typeof e.legacyCallback?(this.callbackCancel=t=>{e.legacyCallback("cancel",t,this.content)},this.callbackConfirm=t=>{e.legacyCallback("confirm",t,this.content)}):("function"!=typeof e.cancel&&(e.cancel=()=>{}),this.callbackCancel=e.cancel,this.callbackConfirm=e.confirm),this._active=!0,r.default.open(this)}get active(){return this._active}get content(){return this._content}_confirm(){this.callbackConfirm(this.parameters,this.content),this._active=!1,r.default.close("wcfSystemConfirmation")}_onClose(){this.active&&(this.confirmButton.blur(),this._active=!1,this.callbackCancel(this.parameters))}_onShow(){this.confirmButton.blur(),this.confirmButton.focus()}_dialogSetup(){return{id:"wcfSystemConfirmation",options:{onClose:this._onClose.bind(this),onShow:this._onShow.bind(this),title:o.get("wcf.global.confirmation.title")}}}_dialogSubmit(){this._confirm()}}let l;t.show=function(e){if(!a().active){if((e=n.extend({cancel:null,confirm:null,legacyCallback:null,message:"",messageIsHtml:!1,parameters:{},template:""},e)).message="string"==typeof e.message?e.message.trim():"",!e.message)throw new Error("Expected a non-empty string for option 'message'.");if("function"!=typeof e.confirm&&"function"!=typeof e.legacyCallback)throw new TypeError("Expected a valid callback for option 'confirm'.");a().open(e)}},t.getContentElement=function(){return a().content}})),define("WoltLabSuite/Core/Ui/Object/Action",["require","exports","tslib","../../Ajax","../../Event/Handler","../Confirmation","../../Language","../../StringUtil","../../Dom/Change/Listener"],(function(e,t,i,n,o,r,a,s,l){"use strict";function c(e){function t(){n.apiOnce({data:{actionName:l,className:c,objectIDs:[d],parameters:p},success:e=>function(e,t){"reload"===e.dataset.objectActionSuccess?window.location.reload():o.fire("WoltLabSuite/Core/Ui/Object/Action",e.dataset.objectAction,{containerElement:e.closest(u),data:t,objectElement:e.closest(h)})}(i,e)})}const i=e.currentTarget,l=i.dataset.objectAction;let c=i.closest(u).dataset.objectActionClassName;i.dataset.objectActionClassName&&(c=i.dataset.objectActionClassName);let d=i.closest(h).dataset.objectId;i.dataset.objectId&&(d=i.dataset.objectId);const p={};Object.entries(i.dataset).forEach((([e,t])=>{let i=/^objectActionParameterData(.+)/.exec(e);if(i)Object.prototype.hasOwnProperty.call(p,"data")||(p.data={}),p.data[s.lcfirst(i[1])]=t;else if(i=/^objectActionParameter(.+)/.exec(e),i){const e=s.lcfirst(i[1]);if("data"===e)throw new Error("Additional object action parameters may not use 'data' as key.");p[e]=t}})),i.dataset.confirmMessage?r.show({confirm:t,message:a.get(i.dataset.confirmMessage),messageIsHtml:!0}):t()}function d(){document.querySelectorAll(`${u} ${h} .jsObjectAction[data-object-action]`).forEach((e=>{p.has(e)||(e.addEventListener("click",(e=>c(e))),p.add(e))}))}Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importDefault(l);const u=".jsObjectActionContainer[data-object-action-class-name]",h=".jsObjectActionObject[data-object-id]",p=new Set;t.setup=function(){d(),l.default.add("WoltLabSuite/Core/Ui/Action",(()=>d()))}})),define("WoltLabSuite/Core/Controller/Clipboard",["require","exports","tslib","../Ajax","../Core","../Dom/Change/Listener","../Dom/Util","../Event/Handler","../Language","../Ui/Confirmation","../Ui/Dropdown/Simple","../Ui/Page/Action","../Ui/Screen"],(function(e,t,i,n,o,r,a,s,l,c,d,u,h){"use strict";function p(){return g||(g=new f),g}Object.defineProperty(t,"__esModule",{value:!0}),t.unmark=t.showEditor=t.hideEditor=t.reload=t.setup=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importDefault(a),s=i.__importStar(s),l=i.__importStar(l),c=i.__importStar(c),d=i.__importDefault(d),u=i.__importStar(u),h=i.__importStar(h);const m='.messageCheckboxLabel > input[type="checkbox"], .message .messageClipboardCheckbox > input[type="checkbox"], .messageGroupList .columnMark > label > input[type="checkbox"]';class f{constructor(){this.containers=new Map,this.editors=new Map,this.editorDropdowns=new Map,this.itemData=new WeakMap,this.knownCheckboxes=new WeakSet,this.pageClassNames=[],this.pageObjectId=0,this.reloadPageOnSuccess=new Map}setup(e){if(!e.pageClassName)throw new Error("Expected a non-empty string for parameter 'pageClassName'.");let t=!1;0===this.pageClassNames.length&&(t=e.hasMarkedItems,this.pageObjectId=e.pageObjectId),this.pageClassNames.push(e.pageClassName),this.initContainers(),t&&this.containers.size&&this.loadMarkedItems(),r.default.add("WoltLabSuite/Core/Controller/Clipboard",(()=>this.initContainers()))}reload(){this.containers.size&&this.loadMarkedItems()}initContainers(){document.querySelectorAll(".jsClipboardContainer").forEach((e=>{const t=a.default.identify(e);let i=this.containers.get(t);if(void 0===i){const n=e.querySelector(".jsClipboardMarkAll");if(null!==n){if(n.matches(m)){const e=n.closest("label");e.setAttribute("role","checkbox"),e.tabIndex=0,e.setAttribute("aria-checked","false"),e.setAttribute("aria-label",l.get("wcf.clipboard.item.markAll")),e.addEventListener("keyup",(e=>{"Enter"!==e.key&&"Space"!==e.key||n.click()}))}n.dataset.containerId=t,n.addEventListener("click",(e=>this.markAll(e)))}i={checkboxes:e.getElementsByClassName("jsClipboardItem"),element:e,markAll:n,markedObjectIds:new Set},this.containers.set(t,i)}Array.from(i.checkboxes).forEach((e=>{if(this.knownCheckboxes.has(e))return;if(e.dataset.containerId=t,e.matches(m)){const t=e.closest("label");t.setAttribute("role","checkbox"),t.tabIndex=0,t.setAttribute("aria-checked","false"),t.setAttribute("aria-label",l.get("wcf.clipboard.item.mark")),t.addEventListener("keyup",(t=>{"Enter"!==t.key&&"Space"!==t.key||e.click()}))}null===e.closest("a")?e.addEventListener("click",(e=>this.mark(e))):e.addEventListener("click",(t=>{t.preventDefault(),window.setTimeout((()=>{e.checked=!e.checked,this.mark(e)}),10)})),this.knownCheckboxes.add(e)}))}))}loadMarkedItems(){n.api(this,{actionName:"getMarkedItems",parameters:{pageClassNames:this.pageClassNames,pageObjectID:this.pageObjectId}})}markAll(e){const t=e.currentTarget,i="INPUT"!==t.nodeName||t.checked;this.setParentAsMarked(t,i);const n=[],o=t.dataset.containerId,r=this.containers.get(o),a=r.element.dataset.type;Array.from(r.checkboxes).forEach((e=>{const o=~~e.dataset.objectId;i?e.checked||(e.checked=!0,r.markedObjectIds.add(o),n.push(o)):e.checked&&(e.checked=!1,r.markedObjectIds.delete(o),n.push(o)),this.setParentAsMarked(e,i);const a=t.closest(".jsClipboardObject");null!==a&&(i?a.classList.add("jsMarked"):a.classList.remove("jsMarked"))})),this.saveState(a,n,i)}mark(e){const t=e instanceof Event?e.currentTarget:e,i=~~t.dataset.objectId,n=t.checked,o=t.dataset.containerId,r=this.containers.get(o),a=r.element.dataset.type,s=t.closest(".jsClipboardObject");n?(r.markedObjectIds.add(i),s.classList.add("jsMarked")):(r.markedObjectIds.delete(i),s.classList.remove("jsMarked")),null!==r.markAll&&(r.markAll.checked=!Array.from(r.checkboxes).some((e=>!e.checked)),this.setParentAsMarked(r.markAll,n)),this.setParentAsMarked(t,t.checked),this.saveState(a,[i],n)}saveState(e,t,i){n.api(this,{actionName:i?"mark":"unmark",parameters:{pageClassNames:this.pageClassNames,pageObjectID:this.pageObjectId,objectIDs:t,objectType:e}})}executeAction(e){function t(){const e=i.dataset.type;s.fire("com.woltlab.wcf.clipboard",e,{data:n,listItem:i,responseData:null})}const i=e.currentTarget,n=this.itemData.get(i);if(n.url)return void(window.location.href=n.url);const r="string"==typeof n.internalData.confirmMessage?n.internalData.confirmMessage:"";let a=!0;if(o.isPlainObject(n.parameters)&&n.parameters.actionName&&n.parameters.className){if("unmarkAll"===n.parameters.actionName||Array.isArray(n.parameters.objectIDs))if(r.length){const e="string"==typeof n.internalData.template?n.internalData.template:"";c.show({confirm:()=>{const t={};e.length&&c.getContentElement().querySelectorAll("input, select, textarea").forEach((e=>{const i=e.name;switch(e.nodeName){case"INPUT":("checkbox"!==e.type&&"radio"!==e.type||e.checked)&&(t[i]=e.value);break;case"SELECT":t[i]=e.value;break;case"TEXTAREA":t[i]=e.value.trim()}})),this.executeProxyAction(i,n,t)},message:r,template:e})}else this.executeProxyAction(i,n)}else r.length&&(a=!1,c.show({confirm:t,message:r}));a&&t()}executeProxyAction(e,t,i={}){const r="unmarkAll"!==t.parameters.actionName?t.parameters.objectIDs:[],a={data:i};o.isPlainObject(t.internalData.parameters)&&Object.entries(t.internalData.parameters).forEach((([e,t])=>{a[e]=t})),n.api(this,{actionName:t.parameters.actionName,className:t.parameters.className,objectIDs:r,parameters:a},(i=>{if("unmarkAll"!==t.actionName){const n=e.dataset.type;s.fire("com.woltlab.wcf.clipboard",n,{data:t,listItem:e,responseData:i});const o=this.reloadPageOnSuccess.get(n);if(o&&o.includes(i.actionName))return void window.location.reload()}this.loadMarkedItems()}))}unmarkAll(e){const t=e.currentTarget;n.api(this,{actionName:"unmarkAll",parameters:{objectType:t.dataset.type}})}_ajaxSetup(){return{data:{className:"wcf\\data\\clipboard\\item\\ClipboardItemAction"}}}_ajaxSuccess(e){if("unmarkAll"===e.actionName){const t=e.returnValues.objectType;return void this.containers.forEach((e=>{e.element.dataset.type===t&&(e.element.querySelectorAll(".jsMarked").forEach((e=>e.classList.remove("jsMarked"))),null!==e.markAll&&(e.markAll.checked=!1,this.setParentAsMarked(e.markAll,!1)),Array.from(e.checkboxes).forEach((e=>{e.checked=!1,this.setParentAsMarked(e,!1)})),u.remove(`wcfClipboard-${t}`))}))}this.itemData=new WeakMap,this.reloadPageOnSuccess.clear();const t=o.isPlainObject(e.returnValues.markedItems)?e.returnValues.markedItems:{};this.containers.forEach((e=>{const i=e.element.dataset.type,n=Array.isArray(t[i])?t[i]:[];this.rebuildMarkings(e,n)}));const i=Object.keys(e.returnValues.items||{});this.editors.forEach(((e,t)=>{i.includes(t)||(u.remove(`wcfClipboard-${t}`),this.editorDropdowns.get(t).innerHTML="")})),e.returnValues.items&&Object.entries(e.returnValues.items).forEach((([e,t])=>{this.reloadPageOnSuccess.set(e,t.reloadPageOnSuccess);let n=!1,o=this.editors.get(e),r=this.editorDropdowns.get(e);void 0===o?(n=!0,o=document.createElement("a"),o.className="dropdownToggle",o.textContent=t.label,this.editors.set(e,o),r=document.createElement("ol"),r.className="dropdownMenu",this.editorDropdowns.set(e,r)):(o.textContent=t.label,r.innerHTML=""),Object.values(t.items).forEach((t=>{const i=document.createElement("li"),n=document.createElement("span");n.textContent=t.label,i.appendChild(n),r.appendChild(i),i.dataset.type=e,i.addEventListener("click",(e=>this.executeAction(e))),this.itemData.set(i,t)}));const a=document.createElement("li");a.classList.add("dropdownDivider"),r.appendChild(a);const s=document.createElement("li");s.dataset.type=e;const c=document.createElement("span");if(c.textContent=l.get("wcf.clipboard.item.unmarkAll"),s.appendChild(c),s.addEventListener("click",(e=>this.unmarkAll(e))),r.appendChild(s),-1!==i.indexOf(e)){const t=`wcfClipboard-${e}`;u.has(t)?u.show(t):u.add(t,o)}if(n){const e=o.parentElement;e.classList.add("dropdown"),e.appendChild(r),d.default.init(o)}}))}rebuildMarkings(e,t){var i;let n=!0;if(Array.from(e.checkboxes).forEach((e=>{const i=e.closest(".jsClipboardObject"),o=t.includes(~~e.dataset.objectId);o||(n=!1),e.checked=o,o?i.classList.add("jsMarked"):i.classList.remove("jsMarked"),this.setParentAsMarked(e,o)})),null!==e.markAll){e.markAll.checked=n,this.setParentAsMarked(e.markAll,n);const t=null===(i=e.markAll.closest(".columnMark"))||void 0===i?void 0:i.parentNode;t&&(n?t.classList.add("jsMarked"):t.classList.remove("jsMarked"))}}setParentAsMarked(e,t){const i=e.parentElement;"checkbox"===i.getAttribute("role")&&i.setAttribute("aria-checked",t?"true":"false")}hideEditor(e){u.remove("wcfClipboard-"+e),h.pageOverlayOpen()}showEditor(){this.loadMarkedItems(),h.pageOverlayClose()}unmark(e,t){this.saveState(e,t,!1)}}let g;t.setup=function(e){p().setup(e)},t.reload=function(){p().reload()},t.hideEditor=function(e){p().hideEditor(e)},t.showEditor=function(){p().showEditor()},t.unmark=function(e,t){p().unmark(e,t)}})),define("WoltLabSuite/Core/Ui/Object/Action/Handler",["require","exports","tslib","../../../Event/Handler","../../../Controller/Clipboard"],(function(e,t,i,n,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n=i.__importStar(n),o=i.__importStar(o);t.default=class{constructor(e,t,i){this.objectAction=i,n.add("WoltLabSuite/Core/Ui/Object/Action",e,(e=>this.handleObjectAction(e))),document.querySelectorAll(".jsClipboardContainer[data-type]").forEach((e=>{n.add("com.woltlab.wcf.clipboard",e.dataset.type,(e=>{null!==e.responseData&&-1!==t.indexOf(e.responseData.actionName)&&this.handleClipboardAction(e)}))}))}handleClipboardAction(e){const t=e.listItem.dataset.type;document.querySelectorAll(`.jsClipboardContainer[data-type="${t}"] .jsClipboardObject`).forEach((t=>{const i=t.dataset.objectId;e.responseData.objectIDs.forEach((n=>{~~n==~~i&&this.objectAction({containerElement:t.closest(".jsObjectActionContainer"),data:e.responseData,objectElement:t})}))}))}handleObjectAction(e){this.objectAction(e),o.reload()}}})),define("WoltLabSuite/Core/Ui/Object/Action/Delete",["require","exports","tslib","./Handler"],(function(e,t,i,n){"use strict";function o(e){const t=e.objectElement.querySelector('.jsObjectAction[data-object-action="delete"]');if(!t||t.dataset.objectActionHandler)return;const i=e.objectElement.querySelector(".jsObjectActionObjectChildren");i&&Array.from(i.children).forEach((t=>{e.objectElement.insertAdjacentElement("beforebegin",t)})),e.objectElement.remove()}Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,n=i.__importDefault(n),t.setup=function(){new n.default("delete",["delete"],o)}})),define("WoltLabSuite/Core/Ui/Object/Action/Toogle",["require","exports","tslib","../../../Language","./Handler"],(function(e,t,i,n,o){"use strict";function r(e){const t=e.objectElement.querySelector('.jsObjectAction[data-object-action="toggle"]');if(t&&!t.dataset.objectActionHandler)if(t.classList.contains("fa-square-o")){t.classList.replace("fa-square-o","fa-check-square-o");const e=t.dataset.disableTitle||n.get("wcf.global.button.disable");t.title=e}else{t.classList.replace("fa-check-square-o","fa-square-o");const e=t.dataset.enableTitle||n.get("wcf.global.button.enable");t.title=e}}Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,n=i.__importStar(n),o=i.__importDefault(o),t.setup=function(){new o.default("toggle",["enable","disable"],r)}})),function e(t,i,n){function o(r,s){var l,c,d;if(!i[r]){if(!t[r]){if(l="function"==typeof require&&require,!s&&l)return l(r,!0);if(a)return a(r,!0);throw(c=new Error("Cannot find module '"+r+"'")).code="MODULE_NOT_FOUND",c}d=i[r]={exports:{}},t[r][0].call(d.exports,(function(e){var i=t[r][1][e];return o(i||e)}),d,d.exports,e,t,i,n)}return i[r].exports}var r,a="function"==typeof require&&require;for(r=0;r<n.length;r++)o(n[r]);return o}({1:[function(e,t,i){"use strict";var n=e("../main");"function"==typeof define&&define.amd?define("perfect-scrollbar",n):(window.PerfectScrollbar=n,void 0===window.Ps&&(window.Ps=n))},{"../main":7}],2:[function(e,t,i){"use strict";i.add=function(e,t){e.classList?e.classList.add(t):function(e,t){var i=e.className.split(" ");i.indexOf(t)<0&&i.push(t),e.className=i.join(" ")}(e,t)},i.remove=function(e,t){e.classList?e.classList.remove(t):function(e,t){var i=e.className.split(" "),n=i.indexOf(t);n>=0&&i.splice(n,1),e.className=i.join(" ")}(e,t)},i.list=function(e){return e.classList?Array.prototype.slice.apply(e.classList):e.className.split(" ")}},{}],3:[function(e,t,i){"use strict";var n={e:function(e,t){var i=document.createElement(e);return i.className=t,i},appendTo:function(e,t){return t.appendChild(e),e}};n.css=function(e,t,i){return"object"==typeof t?function(e,t){var i,n;for(i in t)"number"==typeof(n=t[i])&&(n=n.toString()+"px"),e.style[i]=n;return e}(e,t):void 0===i?function(e,t){return window.getComputedStyle(e)[t]}(e,t):function(e,t,i){return"number"==typeof i&&(i=i.toString()+"px"),e.style[t]=i,e}(e,t,i)},n.matches=function(e,t){return void 0!==e.matches?e.matches(t):void 0!==e.matchesSelector?e.matchesSelector(t):void 0!==e.webkitMatchesSelector?e.webkitMatchesSelector(t):void 0!==e.mozMatchesSelector?e.mozMatchesSelector(t):void 0!==e.msMatchesSelector?e.msMatchesSelector(t):void 0},n.remove=function(e){void 0!==e.remove?e.remove():e.parentNode&&e.parentNode.removeChild(e)},n.queryChildren=function(e,t){return Array.prototype.filter.call(e.childNodes,(function(e){return n.matches(e,t)}))},t.exports=n},{}],4:[function(e,t,i){"use strict";var n,o=function(e){this.element=e,this.events={}};o.prototype.bind=function(e,t){void 0===this.events[e]&&(this.events[e]=[]),this.events[e].push(t),this.element.addEventListener(e,t,!1)},o.prototype.unbind=function(e,t){var i=void 0!==t;this.events[e]=this.events[e].filter((function(n){return!(!i||n===t)||(this.element.removeEventListener(e,n,!1),!1)}),this)},o.prototype.unbindAll=function(){for(var e in this.events)this.unbind(e)},(n=function(){this.eventElements=[]}).prototype.eventElement=function(e){var t=this.eventElements.filter((function(t){return t.element===e}))[0];return void 0===t&&(t=new o(e),this.eventElements.push(t)),t},n.prototype.bind=function(e,t,i){this.eventElement(e).bind(t,i)},n.prototype.unbind=function(e,t,i){this.eventElement(e).unbind(t,i)},n.prototype.unbindAll=function(){for(var e=0;e<this.eventElements.length;e++)this.eventElements[e].unbindAll()},n.prototype.once=function(e,t,i){var n=this.eventElement(e),o=function(e){n.unbind(t,o),i(e)};n.bind(t,o)},t.exports=n},{}],5:[function(e,t,i){"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,i){"use strict";var n=e("./class"),o=e("./dom"),r=i.toInt=function(e){return parseInt(e,10)||0},a=i.clone=function(e){var t,i;if(e){if(e.constructor===Array)return e.map(a);if("object"==typeof e){for(i in t={},e)t[i]=a(e[i]);return t}return e}return null};i.extend=function(e,t){var i,n=a(e);for(i in t)n[i]=a(t[i]);return n},i.isEditable=function(e){return o.matches(e,"input,[contenteditable]")||o.matches(e,"select,[contenteditable]")||o.matches(e,"textarea,[contenteditable]")||o.matches(e,"button,[contenteditable]")},i.removePsClasses=function(e){var t,i,o=n.list(e);for(t=0;t<o.length;t++)0===(i=o[t]).indexOf("ps-")&&n.remove(e,i)},i.outerWidth=function(e){return r(o.css(e,"width"))+r(o.css(e,"paddingLeft"))+r(o.css(e,"paddingRight"))+r(o.css(e,"borderLeftWidth"))+r(o.css(e,"borderRightWidth"))},i.startScrolling=function(e,t){n.add(e,"ps-in-scrolling"),void 0!==t?n.add(e,"ps-"+t):(n.add(e,"ps-x"),n.add(e,"ps-y"))},i.stopScrolling=function(e,t){n.remove(e,"ps-in-scrolling"),void 0!==t?n.remove(e,"ps-"+t):(n.remove(e,"ps-x"),n.remove(e,"ps-y"))},i.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,i){"use strict";var n=e("./plugin/destroy"),o=e("./plugin/initialize"),r=e("./plugin/update");t.exports={initialize:o,update:r,destroy:n}},{"./plugin/destroy":9,"./plugin/initialize":17,"./plugin/update":21}],8:[function(e,t,i){"use strict";t.exports={handlers:["click-rail","drag-scrollbar","keyboard","wheel","touch"],maxScrollbarLength:null,minScrollbarLength:null,scrollXMarginOffset:0,scrollYMarginOffset:0,suppressScrollX:!1,suppressScrollY:!1,swipePropagation:!0,useBothWheelAxes:!1,wheelPropagation:!1,wheelSpeed:1,theme:"default"}},{}],9:[function(e,t,i){"use strict";var n=e("../lib/helper"),o=e("../lib/dom"),r=e("./instances");t.exports=function(e){var t=r.get(e);t&&(t.event.unbindAll(),o.remove(t.scrollbarX),o.remove(t.scrollbarY),o.remove(t.scrollbarXRail),o.remove(t.scrollbarYRail),n.removePsClasses(e),r.remove(e))}},{"../lib/dom":3,"../lib/helper":6,"./instances":18}],10:[function(e,t,i){"use strict";var n=e("../instances"),o=e("../update-geometry"),r=e("../update-scroll");t.exports=function(e){!function(e,t){function i(e){return e.getBoundingClientRect()}var n=function(e){e.stopPropagation()};t.event.bind(t.scrollbarY,"click",n),t.event.bind(t.scrollbarYRail,"click",(function(n){var a=n.pageY-window.pageYOffset-i(t.scrollbarYRail).top>t.scrollbarYTop?1:-1;r(e,"top",e.scrollTop+a*t.containerHeight),o(e),n.stopPropagation()})),t.event.bind(t.scrollbarX,"click",n),t.event.bind(t.scrollbarXRail,"click",(function(n){var a=n.pageX-window.pageXOffset-i(t.scrollbarXRail).left>t.scrollbarXLeft?1:-1;r(e,"left",e.scrollLeft+a*t.containerWidth),o(e),n.stopPropagation()}))}(e,n.get(e))}},{"../instances":18,"../update-geometry":19,"../update-scroll":20}],11:[function(e,t,i){"use strict";function n(e,t){var i=null,n=null,o=function(o){var a,s,d,u;a=o.pageX-n,d=i+a*t.railXRatio,u=Math.max(0,t.scrollbarXRail.getBoundingClientRect().left)+t.railXRatio*(t.railXWidth-t.scrollbarXWidth),t.scrollbarXLeft=d<0?0:d>u?u:d,s=r.toInt(t.scrollbarXLeft*(t.contentWidth-t.containerWidth)/(t.containerWidth-t.railXRatio*t.scrollbarXWidth))-t.negativeScrollAdjustment,c(e,"left",s),l(e),o.stopPropagation(),o.preventDefault()},s=function(){r.stopScrolling(e,"x"),t.event.unbind(t.ownerDocument,"mousemove",o)};t.event.bind(t.scrollbarX,"mousedown",(function(l){n=l.pageX,i=r.toInt(a.css(t.scrollbarX,"left"))*t.railXRatio,r.startScrolling(e,"x"),t.event.bind(t.ownerDocument,"mousemove",o),t.event.once(t.ownerDocument,"mouseup",s),l.stopPropagation(),l.preventDefault()}))}function o(e,t){var i=null,n=null,o=function(o){var a,s,d,u;a=o.pageY-n,d=i+a*t.railYRatio,u=Math.max(0,t.scrollbarYRail.getBoundingClientRect().top)+t.railYRatio*(t.railYHeight-t.scrollbarYHeight),t.scrollbarYTop=d<0?0:d>u?u:d,s=r.toInt(t.scrollbarYTop*(t.contentHeight-t.containerHeight)/(t.containerHeight-t.railYRatio*t.scrollbarYHeight)),c(e,"top",s),l(e),o.stopPropagation(),o.preventDefault()},s=function(){r.stopScrolling(e,"y"),t.event.unbind(t.ownerDocument,"mousemove",o)};t.event.bind(t.scrollbarY,"mousedown",(function(l){n=l.pageY,i=r.toInt(a.css(t.scrollbarY,"top"))*t.railYRatio,r.startScrolling(e,"y"),t.event.bind(t.ownerDocument,"mousemove",o),t.event.once(t.ownerDocument,"mouseup",s),l.stopPropagation(),l.preventDefault()}))}var r=e("../../lib/helper"),a=e("../../lib/dom"),s=e("../instances"),l=e("../update-geometry"),c=e("../update-scroll");t.exports=function(e){var t=s.get(e);n(e,t),o(e,t)}},{"../../lib/dom":3,"../../lib/helper":6,"../instances":18,"../update-geometry":19,"../update-scroll":20}],12:[function(e,t,i){"use strict";function n(e,t){var i=!1;t.event.bind(e,"mouseenter",(function(){i=!0})),t.event.bind(e,"mouseleave",(function(){i=!1})),t.event.bind(t.ownerDocument,"keydown",(function(n){var a,c,d,u;if(!(n.isDefaultPrevented&&n.isDefaultPrevented()||n.defaultPrevented)&&(a=r.matches(t.scrollbarX,":focus")||r.matches(t.scrollbarY,":focus"),i||a)){if(c=document.activeElement?document.activeElement:t.ownerDocument.activeElement){if("IFRAME"===c.tagName)c=c.contentDocument.activeElement;else for(;c.shadowRoot;)c=c.shadowRoot.activeElement;if(o.isEditable(c))return}switch(d=0,u=0,n.which){case 37:d=n.metaKey?-t.contentWidth:n.altKey?-t.containerWidth:-30;break;case 38:u=n.metaKey?t.contentHeight:n.altKey?t.containerHeight:30;break;case 39:d=n.metaKey?t.contentWidth:n.altKey?t.containerWidth:30;break;case 40:u=n.metaKey?-t.contentHeight:n.altKey?-t.containerHeight:-30;break;case 33:u=90;break;case 32:u=n.shiftKey?90:-90;break;case 34:u=-90;break;case 35:u=n.ctrlKey?-t.contentHeight:-t.containerHeight;break;case 36:u=n.ctrlKey?e.scrollTop:t.containerHeight;break;default:return}l(e,"top",e.scrollTop-u),l(e,"left",e.scrollLeft+d),s(e),function(i,n){var o,r=e.scrollTop;if(0===i){if(!t.scrollbarYActive)return!1;if(0===r&&n>0||r>=t.contentHeight-t.containerHeight&&n<0)return!t.settings.wheelPropagation}if(o=e.scrollLeft,0===n){if(!t.scrollbarXActive)return!1;if(0===o&&i<0||o>=t.contentWidth-t.containerWidth&&i>0)return!t.settings.wheelPropagation}return!0}(d,u)&&n.preventDefault()}}))}var o=e("../../lib/helper"),r=e("../../lib/dom"),a=e("../instances"),s=e("../update-geometry"),l=e("../update-scroll");t.exports=function(e){n(e,a.get(e))}},{"../../lib/dom":3,"../../lib/helper":6,"../instances":18,"../update-geometry":19,"../update-scroll":20}],13:[function(e,t,i){"use strict";function n(e,t){function i(i){var o=function(e){var t=e.deltaX,i=-1*e.deltaY;return void 0!==t&&void 0!==i||(t=-1*e.wheelDeltaX/6,i=e.wheelDeltaY/6),e.deltaMode&&1===e.deltaMode&&(t*=10,i*=10),t!=t&&i!=i&&(t=0,i=e.wheelDelta),e.shiftKey?[-i,-t]:[t,i]}(i),s=o[0],l=o[1];(function(t,i){var n,o,r=e.querySelector("textarea:hover, select[multiple]:hover, .ps-child:hover");if(r){if(!window.getComputedStyle(r).overflow.match(/(scroll|auto)/))return!1;if((n=r.scrollHeight-r.clientHeight)>0&&!(0===r.scrollTop&&i>0||r.scrollTop===n&&i<0))return!0;if((o=r.scrollLeft-r.clientWidth)>0&&!(0===r.scrollLeft&&t<0||r.scrollLeft===o&&t>0))return!0}return!1})(s,l)||(n=!1,t.settings.useBothWheelAxes?t.scrollbarYActive&&!t.scrollbarXActive?(a(e,"top",l?e.scrollTop-l*t.settings.wheelSpeed:e.scrollTop+s*t.settings.wheelSpeed),n=!0):t.scrollbarXActive&&!t.scrollbarYActive&&(a(e,"left",s?e.scrollLeft+s*t.settings.wheelSpeed:e.scrollLeft-l*t.settings.wheelSpeed),n=!0):(a(e,"top",e.scrollTop-l*t.settings.wheelSpeed),a(e,"left",e.scrollLeft+s*t.settings.wheelSpeed)),r(e),(n=n||function(i,n){var o,r=e.scrollTop;if(0===i){if(!t.scrollbarYActive)return!1;if(0===r&&n>0||r>=t.contentHeight-t.containerHeight&&n<0)return!t.settings.wheelPropagation}if(o=e.scrollLeft,0===n){if(!t.scrollbarXActive)return!1;if(0===o&&i<0||o>=t.contentWidth-t.containerWidth&&i>0)return!t.settings.wheelPropagation}return!0}(s,l))&&(i.stopPropagation(),i.preventDefault()))}var n=!1;void 0!==window.onwheel?t.event.bind(e,"wheel",i):void 0!==window.onmousewheel&&t.event.bind(e,"mousewheel",i)}var o=e("../instances"),r=e("../update-geometry"),a=e("../update-scroll");t.exports=function(e){n(e,o.get(e))}},{"../instances":18,"../update-geometry":19,"../update-scroll":20}],14:[function(e,t,i){"use strict";var n=e("../instances"),o=e("../update-geometry");t.exports=function(e){!function(e,t){t.event.bind(e,"scroll",(function(){o(e)}))}(e,n.get(e))}},{"../instances":18,"../update-geometry":19}],15:[function(e,t,i){"use strict";function n(e,t){function i(){n&&(clearInterval(n),n=null),o.stopScrolling(e)}var n=null,l={top:0,left:0},c=!1;t.event.bind(t.ownerDocument,"selectionchange",(function(){var t;e.contains(0===(t=window.getSelection?window.getSelection():document.getSelection?document.getSelection():"").toString().length?null:t.getRangeAt(0).commonAncestorContainer)?c=!0:(c=!1,i())})),t.event.bind(window,"mouseup",(function(){c&&(c=!1,i())})),t.event.bind(window,"keyup",(function(){c&&(c=!1,i())})),t.event.bind(window,"mousemove",(function(t){var d,u;c&&(d={x:t.pageX,y:t.pageY},u={left:e.offsetLeft,right:e.offsetLeft+e.offsetWidth,top:e.offsetTop,bottom:e.offsetTop+e.offsetHeight},d.x<u.left+3?(l.left=-5,o.startScrolling(e,"x")):d.x>u.right-3?(l.left=5,o.startScrolling(e,"x")):l.left=0,d.y<u.top+3?(u.top+3-d.y<5?l.top=-5:l.top=-20,o.startScrolling(e,"y")):d.y>u.bottom-3?(d.y-u.bottom+3<5?l.top=5:l.top=20,o.startScrolling(e,"y")):l.top=0,0===l.top&&0===l.left?i():n||(n=setInterval((function(){r.get(e)?(s(e,"top",e.scrollTop+l.top),s(e,"left",e.scrollLeft+l.left),a(e)):clearInterval(n)}),50)))}))}var o=e("../../lib/helper"),r=e("../instances"),a=e("../update-geometry"),s=e("../update-scroll");t.exports=function(e){n(e,r.get(e))}},{"../../lib/helper":6,"../instances":18,"../update-geometry":19,"../update-scroll":20}],16:[function(e,t,i){"use strict";function n(e,t,i,n){function o(t,i){s(e,"top",e.scrollTop-i),s(e,"left",e.scrollLeft-t),a(e)}function l(){v=!0}function c(){v=!1}function d(e){return e.targetTouches?e.targetTouches[0]:e}function u(e){return!(!e.targetTouches||1!==e.targetTouches.length)||!(!e.pointerType||"mouse"===e.pointerType||e.pointerType===e.MSPOINTER_TYPE_MOUSE)}function h(e){if(u(e)){w=!0;var t=d(e);f.pageX=t.pageX,f.pageY=t.pageY,g=(new Date).getTime(),null!==_&&clearInterval(_),e.stopPropagation()}}function p(i){var n,r,a,s,l,c;!w&&t.settings.swipePropagation&&h(i),!v&&w&&u(i)&&(o(a=(r={pageX:(n=d(i)).pageX,pageY:n.pageY}).pageX-f.pageX,s=r.pageY-f.pageY),f=r,(c=(l=(new Date).getTime())-g)>0&&(b.x=a/c,b.y=s/c,g=l),function(i,n){var o=e.scrollTop,r=e.scrollLeft,a=Math.abs(i),s=Math.abs(n);if(s>a){if(n<0&&o===t.contentHeight-t.containerHeight||n>0&&0===o)return!t.settings.swipePropagation}else if(a>s&&(i<0&&r===t.contentWidth-t.containerWidth||i>0&&0===r))return!t.settings.swipePropagation;return!0}(a,s)&&(i.stopPropagation(),i.preventDefault()))}function m(){!v&&w&&(w=!1,clearInterval(_),_=setInterval((function(){r.get(e)&&(b.x||b.y)?Math.abs(b.x)<.01&&Math.abs(b.y)<.01?clearInterval(_):(o(30*b.x,30*b.y),b.x*=.8,b.y*=.8):clearInterval(_)}),10))}var f={},g=0,b={},_=null,v=!1,w=!1;i?(t.event.bind(window,"touchstart",l),t.event.bind(window,"touchend",c),t.event.bind(e,"touchstart",h),t.event.bind(e,"touchmove",p),t.event.bind(e,"touchend",m)):n&&(window.PointerEvent?(t.event.bind(window,"pointerdown",l),t.event.bind(window,"pointerup",c),t.event.bind(e,"pointerdown",h),t.event.bind(e,"pointermove",p),t.event.bind(e,"pointerup",m)):window.MSPointerEvent&&(t.event.bind(window,"MSPointerDown",l),t.event.bind(window,"MSPointerUp",c),t.event.bind(e,"MSPointerDown",h),t.event.bind(e,"MSPointerMove",p),t.event.bind(e,"MSPointerUp",m)))}var o=e("../../lib/helper"),r=e("../instances"),a=e("../update-geometry"),s=e("../update-scroll");t.exports=function(e){(o.env.supportsTouch||o.env.supportsIePointer)&&n(e,r.get(e),o.env.supportsTouch,o.env.supportsIePointer)}},{"../../lib/helper":6,"../instances":18,"../update-geometry":19,"../update-scroll":20}],17:[function(e,t,i){"use strict";var n=e("../lib/helper"),o=e("../lib/class"),r=e("./instances"),a=e("./update-geometry"),s={"click-rail":e("./handler/click-rail"),"drag-scrollbar":e("./handler/drag-scrollbar"),keyboard:e("./handler/keyboard"),wheel:e("./handler/mouse-wheel"),touch:e("./handler/touch"),selection:e("./handler/selection")},l=e("./handler/native-scroll");t.exports=function(e,t){t="object"==typeof t?t:{},o.add(e,"ps-container");var i=r.add(e);i.settings=n.extend(i.settings,t),o.add(e,"ps-theme-"+i.settings.theme),i.settings.handlers.forEach((function(t){s[t](e)})),l(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,i){"use strict";function n(e){function t(){a.add(e,"ps-focus")}function i(){a.remove(e,"ps-focus")}var n,o,d=this;d.settings=r.clone(s),d.containerWidth=null,d.containerHeight=null,d.contentWidth=null,d.contentHeight=null,d.isRtl="rtl"===l.css(e,"direction"),d.isNegativeScroll=(n=e.scrollLeft,o=null,e.scrollLeft=-1,o=e.scrollLeft<0,e.scrollLeft=n,o),d.negativeScrollAdjustment=d.isNegativeScroll?e.scrollWidth-e.clientWidth:0,d.event=new c,d.ownerDocument=e.ownerDocument||document,d.scrollbarXRail=l.appendTo(l.e("div","ps-scrollbar-x-rail"),e),d.scrollbarX=l.appendTo(l.e("div","ps-scrollbar-x"),d.scrollbarXRail),d.scrollbarX.setAttribute("tabindex",0),d.event.bind(d.scrollbarX,"focus",t),d.event.bind(d.scrollbarX,"blur",i),d.scrollbarXActive=null,d.scrollbarXWidth=null,d.scrollbarXLeft=null,d.scrollbarXBottom=r.toInt(l.css(d.scrollbarXRail,"bottom")),d.isScrollbarXUsingBottom=d.scrollbarXBottom==d.scrollbarXBottom,d.scrollbarXTop=d.isScrollbarXUsingBottom?null:r.toInt(l.css(d.scrollbarXRail,"top")),d.railBorderXWidth=r.toInt(l.css(d.scrollbarXRail,"borderLeftWidth"))+r.toInt(l.css(d.scrollbarXRail,"borderRightWidth")),l.css(d.scrollbarXRail,"display","block"),d.railXMarginWidth=r.toInt(l.css(d.scrollbarXRail,"marginLeft"))+r.toInt(l.css(d.scrollbarXRail,"marginRight")),l.css(d.scrollbarXRail,"display",""),d.railXWidth=null,d.railXRatio=null,d.scrollbarYRail=l.appendTo(l.e("div","ps-scrollbar-y-rail"),e),d.scrollbarY=l.appendTo(l.e("div","ps-scrollbar-y"),d.scrollbarYRail),d.scrollbarY.setAttribute("tabindex",0),d.event.bind(d.scrollbarY,"focus",t),d.event.bind(d.scrollbarY,"blur",i),d.scrollbarYActive=null,d.scrollbarYHeight=null,d.scrollbarYTop=null,d.scrollbarYRight=r.toInt(l.css(d.scrollbarYRail,"right")),d.isScrollbarYUsingRight=d.scrollbarYRight==d.scrollbarYRight,d.scrollbarYLeft=d.isScrollbarYUsingRight?null:r.toInt(l.css(d.scrollbarYRail,"left")),d.scrollbarYOuterWidth=d.isRtl?r.outerWidth(d.scrollbarY):null,d.railBorderYWidth=r.toInt(l.css(d.scrollbarYRail,"borderTopWidth"))+r.toInt(l.css(d.scrollbarYRail,"borderBottomWidth")),l.css(d.scrollbarYRail,"display","block"),d.railYMarginHeight=r.toInt(l.css(d.scrollbarYRail,"marginTop"))+r.toInt(l.css(d.scrollbarYRail,"marginBottom")),l.css(d.scrollbarYRail,"display",""),d.railYHeight=null,d.railYRatio=null}function o(e){return e.getAttribute("data-ps-id")}var r=e("../lib/helper"),a=e("../lib/class"),s=e("./default-setting"),l=e("../lib/dom"),c=e("../lib/event-manager"),d=e("../lib/guid"),u={};i.add=function(e){var t=d();return function(e,t){e.setAttribute("data-ps-id",t)}(e,t),u[t]=new n(e),u[t]},i.remove=function(e){delete u[o(e)],function(e){e.removeAttribute("data-ps-id")}(e)},i.get=function(e){return u[o(e)]}},{"../lib/class":2,"../lib/dom":3,"../lib/event-manager":4,"../lib/guid":5,"../lib/helper":6,"./default-setting":8}],19:[function(e,t,i){"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}var o=e("../lib/helper"),r=e("../lib/class"),a=e("../lib/dom"),s=e("./instances"),l=e("./update-scroll");t.exports=function(e){var t,i=s.get(e);i.containerWidth=e.clientWidth,i.containerHeight=e.clientHeight,i.contentWidth=e.scrollWidth,i.contentHeight=e.scrollHeight,e.contains(i.scrollbarXRail)||((t=a.queryChildren(e,".ps-scrollbar-x-rail")).length>0&&t.forEach((function(e){a.remove(e)})),a.appendTo(i.scrollbarXRail,e)),e.contains(i.scrollbarYRail)||((t=a.queryChildren(e,".ps-scrollbar-y-rail")).length>0&&t.forEach((function(e){a.remove(e)})),a.appendTo(i.scrollbarYRail,e)),!i.settings.suppressScrollX&&i.containerWidth+i.settings.scrollXMarginOffset<i.contentWidth?(i.scrollbarXActive=!0,i.railXWidth=i.containerWidth-i.railXMarginWidth,i.railXRatio=i.containerWidth/i.railXWidth,i.scrollbarXWidth=n(i,o.toInt(i.railXWidth*i.containerWidth/i.contentWidth)),i.scrollbarXLeft=o.toInt((i.negativeScrollAdjustment+e.scrollLeft)*(i.railXWidth-i.scrollbarXWidth)/(i.contentWidth-i.containerWidth))):i.scrollbarXActive=!1,!i.settings.suppressScrollY&&i.containerHeight+i.settings.scrollYMarginOffset<i.contentHeight?(i.scrollbarYActive=!0,i.railYHeight=i.containerHeight-i.railYMarginHeight,i.railYRatio=i.containerHeight/i.railYHeight,i.scrollbarYHeight=n(i,o.toInt(i.railYHeight*i.containerHeight/i.contentHeight)),i.scrollbarYTop=o.toInt(e.scrollTop*(i.railYHeight-i.scrollbarYHeight)/(i.contentHeight-i.containerHeight))):i.scrollbarYActive=!1,i.scrollbarXLeft>=i.railXWidth-i.scrollbarXWidth&&(i.scrollbarXLeft=i.railXWidth-i.scrollbarXWidth),i.scrollbarYTop>=i.railYHeight-i.scrollbarYHeight&&(i.scrollbarYTop=i.railYHeight-i.scrollbarYHeight),function(e,t){var i,n={width:t.railXWidth};t.isRtl?n.left=t.negativeScrollAdjustment+e.scrollLeft+t.containerWidth-t.contentWidth:n.left=e.scrollLeft,t.isScrollbarXUsingBottom?n.bottom=t.scrollbarXBottom-e.scrollTop:n.top=t.scrollbarXTop+e.scrollTop,a.css(t.scrollbarXRail,n),i={top:e.scrollTop,height:t.railYHeight},t.isScrollbarYUsingRight?t.isRtl?i.right=t.contentWidth-(t.negativeScrollAdjustment+e.scrollLeft)-t.scrollbarYRight-t.scrollbarYOuterWidth:i.right=t.scrollbarYRight-e.scrollLeft:t.isRtl?i.left=t.negativeScrollAdjustment+e.scrollLeft+2*t.containerWidth-t.contentWidth-t.scrollbarYLeft-t.scrollbarYOuterWidth:i.left=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})}(e,i),i.scrollbarXActive?r.add(e,"ps-active-x"):(r.remove(e,"ps-active-x"),i.scrollbarXWidth=0,i.scrollbarXLeft=0,l(e,"left",0)),i.scrollbarYActive?r.add(e,"ps-active-y"):(r.remove(e,"ps-active-y"),i.scrollbarYHeight=0,i.scrollbarYTop=0,l(e,"top",0))}},{"../lib/class":2,"../lib/dom":3,"../lib/helper":6,"./instances":18,"./update-scroll":20}],20:[function(e,t,i){"use strict";var n,o,r=e("./instances"),a=function(e){var t=document.createEvent("Event");return t.initEvent(e,!0,!0),t};t.exports=function(e,t,i){if(void 0===e)throw"You must provide an element to the update-scroll function";if(void 0===t)throw"You must provide an axis to the update-scroll function";if(void 0===i)throw"You must provide a value to the update-scroll function";"top"===t&&i<=0&&(e.scrollTop=i=0,e.dispatchEvent(a("ps-y-reach-start"))),"left"===t&&i<=0&&(e.scrollLeft=i=0,e.dispatchEvent(a("ps-x-reach-start")));var s=r.get(e);"top"===t&&i>=s.contentHeight-s.containerHeight&&((i=s.contentHeight-s.containerHeight)-e.scrollTop<=1?i=e.scrollTop:e.scrollTop=i,e.dispatchEvent(a("ps-y-reach-end"))),"left"===t&&i>=s.contentWidth-s.containerWidth&&((i=s.contentWidth-s.containerWidth)-e.scrollLeft<=1?i=e.scrollLeft:e.scrollLeft=i,e.dispatchEvent(a("ps-x-reach-end"))),n||(n=e.scrollTop),o||(o=e.scrollLeft),"top"===t&&i<n&&e.dispatchEvent(a("ps-scroll-up")),"top"===t&&i>n&&e.dispatchEvent(a("ps-scroll-down")),"left"===t&&i<o&&e.dispatchEvent(a("ps-scroll-left")),"left"===t&&i>o&&e.dispatchEvent(a("ps-scroll-right")),"top"===t&&(e.scrollTop=n=i,e.dispatchEvent(a("ps-scroll-y"))),"left"===t&&(e.scrollLeft=o=i,e.dispatchEvent(a("ps-scroll-x")))}},{"./instances":18}],21:[function(e,t,i){"use strict";var n=e("../lib/helper"),o=e("../lib/dom"),r=e("./instances"),a=e("./update-geometry"),s=e("./update-scroll");t.exports=function(e){var t=r.get(e);t&&(t.negativeScrollAdjustment=t.isNegativeScroll?e.scrollWidth-e.clientWidth:0,o.css(t.scrollbarXRail,"display","block"),o.css(t.scrollbarYRail,"display","block"),t.railXMarginWidth=n.toInt(o.css(t.scrollbarXRail,"marginLeft"))+n.toInt(o.css(t.scrollbarXRail,"marginRight")),t.railYMarginHeight=n.toInt(o.css(t.scrollbarYRail,"marginTop"))+n.toInt(o.css(t.scrollbarYRail,"marginBottom")),o.css(t.scrollbarXRail,"display","none"),o.css(t.scrollbarYRail,"display","none"),a(e),s(e,"top",e.scrollTop),s(e,"left",e.scrollLeft),o.css(t.scrollbarXRail,"display",""),o.css(t.scrollbarYRail,"display",""))}},{"../lib/dom":3,"../lib/helper":6,"./instances":18,"./update-geometry":19,"./update-scroll":20}]},{},[1]),define("WoltLabSuite/Core/Bootstrap",["require","exports","tslib","./Core","./Date/Picker","./Date/Time/Relative","./Devtools","./Dom/Change/Listener","./Environment","./Event/Handler","./Language","./StringUtil","./Ui/Dialog","./Ui/Dropdown/Simple","./Ui/Mobile","./Ui/Page/Action","./Ui/TabMenu","./Ui/Tooltip","./Ui/Page/JumpTo","./Ui/Password","./Ui/Empty","./Ui/Object/Action","./Ui/Object/Action/Delete","./Ui/Object/Action/Toogle","perfect-scrollbar"],(function(e,t,i,n,o,r,a,s,l,c,d,u,h,p,m,f,g,b,_,v,w,y,E,S){"use strict";function L(){document.querySelectorAll("nav:not([aria-label]):not([aria-labelledby]):not([role])").forEach((e=>{e.setAttribute("role","presentation")})),document.querySelectorAll("article:not([aria-label]):not([aria-labelledby]):not([role])").forEach((e=>{e.setAttribute("role","presentation")}))}Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,n=i.__importStar(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importDefault(a),s=i.__importDefault(s),l=i.__importStar(l),c=i.__importStar(c),d=i.__importStar(d),u=i.__importStar(u),h=i.__importDefault(h),p=i.__importDefault(p),m=i.__importStar(m),f=i.__importStar(f),g=i.__importStar(g),b=i.__importStar(b),_=i.__importStar(_),v=i.__importStar(v),w=i.__importStar(w),y=i.__importStar(y),E=i.__importStar(E),S=i.__importStar(S),null==window.WCF&&(window.WCF={}),null==window.WCF.Language&&(window.WCF.Language={}),window.WCF.Language.get=d.get,window.WCF.Language.add=d.add,window.WCF.Language.addObject=d.addObject,window.__wcf_bc_eventHandler=c,t.setup=function(e){e=n.extend({enableMobileMenu:!0},e),u.setupI18n({decimalPoint:d.get("wcf.global.decimalPoint"),thousandsSeparator:d.get("wcf.global.thousandsSeparator")}),window.ENABLE_DEVELOPER_TOOLS&&a.default._internal_.enable(),l.setup(),r.setup(),o.default.init(),p.default.setup(),m.setup(e.enableMobileMenu),g.setup(),h.default.setup(),b.setup(),v.setup(),w.setup(),y.setup(),E.setup(),S.setup(),document.querySelectorAll("form[method=get]").forEach((e=>{e.method="post"})),"microsoft"===l.browser()&&(window.onbeforeunload=()=>{});let t=0;t=window.setInterval((()=>{if("function"==typeof window.jQuery){window.clearInterval(t),window.jQuery((()=>{f.setup()}));const e=window.jQuery;e.browser=e.browser||{},e.browser.mobile="desktop"!==l.platform(),window.jQuery.holdReady(!1)}}),20),document.querySelectorAll(".pagination").forEach((e=>_.init(e))),L(),s.default.add("WoltLabSuite/Core/Bootstrap",(()=>L))}})),define("WoltLabSuite/Core/Controller/Style/Changer",["require","exports","tslib","../../Ajax","../../Language","../../Ui/Dialog"],(function(e,t,i,n,o,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.showDialog=t.setup=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r);class a{constructor(){document.querySelectorAll(".jsButtonStyleChanger").forEach((e=>{e.addEventListener("click",(e=>this.showDialog(e)))}))}showDialog(e){e.preventDefault(),r.default.open(this)}_dialogSetup(){return{id:"styleChanger",options:{disableContentPadding:!0,title:o.get("wcf.style.changeStyle")},source:{data:{actionName:"getStyleChooser",className:"wcf\\data\\style\\StyleAction"},after:e=>{e.querySelectorAll(".styleList > li").forEach((e=>{e.classList.add("pointer"),e.addEventListener("click",(e=>this.click(e)))}))}}}}click(e){e.preventDefault();const t=e.currentTarget;n.apiOnce({data:{actionName:"changeStyle",className:"wcf\\data\\style\\StyleAction",objectIDs:[t.dataset.styleId]},success:function(){window.location.reload()}})}}let s;t.setup=function(){new a},t.showDialog=function(e){s.showDialog(e)}})),define("WoltLabSuite/Core/Controller/Popover",["require","exports","tslib","../Ajax","../Dom/Change/Listener","../Dom/Util","../Environment","../Ui/Alignment"],(function(e,t,i,n,o,r,a,s){"use strict";function l(){return d||(d=new c),d}Object.defineProperty(t,"__esModule",{value:!0}),t.ajaxApi=t.setContent=t.init=void 0,n=i.__importStar(n),o=i.__importDefault(o),r=i.__importDefault(r),a=i.__importStar(a),s=i.__importStar(s);class c{constructor(){this.activeId="",this.cache=new Map,this.elements=new Map,this.handlers=new Map,this.hoverId="",this.suspended=!1,this.timerEnter=void 0,this.timerLeave=void 0,this.popover=document.createElement("div"),this.popover.className="popover forceHide",this.popoverContent=document.createElement("div"),this.popoverContent.className="popoverContent",this.popover.appendChild(this.popoverContent);const e=document.createElement("span");e.className="elementPointer",e.appendChild(document.createElement("span")),this.popover.appendChild(e),document.body.appendChild(this.popover),this.popover.addEventListener("mouseenter",(()=>this.popoverMouseEnter())),this.popover.addEventListener("mouseleave",(()=>this.mouseLeave())),this.popover.addEventListener("animationend",(()=>this.clearContent())),window.addEventListener("beforeunload",(()=>{this.suspended=!0,this.timerEnter&&(window.clearTimeout(this.timerEnter),this.timerEnter=void 0),this.hidePopover()})),o.default.add("WoltLabSuite/Core/Controller/Popover",(e=>this.initHandler(e)))}init(e){if("desktop"!==a.platform())return;if(e.attributeName=e.attributeName||"data-object-id",e.legacy=!0===e.legacy,this.handlers.has(e.identifier))return;const t=e.legacy?e.className:`.${e.className}`;this.handlers.set(e.identifier,{attributeName:e.attributeName,dboAction:e.dboAction,legacy:e.legacy,loadCallback:e.loadCallback,selector:t}),this.initHandler(e.identifier)}initHandler(e){"string"==typeof e&&e.length?this.initElements(this.handlers.get(e),e):this.handlers.forEach(((e,t)=>{this.initElements(e,t)}))}initElements(e,t){document.querySelectorAll(e.selector).forEach((i=>{const n=r.default.identify(i);if(this.cache.has(n))return;if(null!==i.closest(".popover"))return void this.cache.set(n,{content:null,state:0});const o=e.legacy?n:~~i.getAttribute(e.attributeName);if(0===o)return;i.addEventListener("mouseenter",(e=>this.mouseEnter(e))),i.addEventListener("mouseleave",(()=>this.mouseLeave())),i instanceof HTMLAnchorElement&&i.href&&i.addEventListener("click",(()=>this.hidePopover()));const a=`${t}-${o}`;i.dataset.cacheId=a,this.elements.set(n,{element:i,identifier:t,objectId:o.toString()}),this.cache.has(a)||this.cache.set(a,{content:null,state:0})}))}setContent(e,t,i){const n=`${e}-${t}`,o=this.cache.get(n);if(void 0===o)throw new Error(`Unable to find element for object id '${t}' (identifier: '${e}').`);let a=r.default.createFragmentFromHtml(i);if(a.childElementCount||(a=r.default.createFragmentFromHtml("<p>"+i+"</p>")),o.content=a,o.state=2,this.activeId){this.elements.get(this.activeId).element.dataset.cacheId===n&&this.show()}}mouseEnter(e){if(this.suspended)return;this.timerEnter&&(window.clearTimeout(this.timerEnter),this.timerEnter=void 0);const t=r.default.identify(e.currentTarget);this.activeId===t&&this.timerLeave&&(window.clearTimeout(this.timerLeave),this.timerLeave=void 0),this.hoverId=t,this.timerEnter=window.setTimeout((()=>{this.timerEnter=void 0,this.hoverId===t&&this.show()}),800)}mouseLeave(){this.hoverId="",this.timerLeave||(this.timerLeave=window.setTimeout((()=>this.hidePopover()),500))}popoverMouseEnter(){this.timerLeave&&(window.clearTimeout(this.timerLeave),this.timerLeave=void 0)}show(){this.timerLeave&&(window.clearTimeout(this.timerLeave),this.timerLeave=void 0);let e=!1;this.popover.classList.contains("active")?this.activeId!==this.hoverId&&(this.hidePopover(),e=!0):this.popoverContent.childElementCount&&(e=!0),e&&(this.popover.classList.add("forceHide"),this.popover.offsetTop,this.clearContent(),this.popover.classList.remove("forceHide")),this.activeId=this.hoverId;const t=this.elements.get(this.activeId);if(void 0===t)return;const i=t.element.dataset.cacheId,n=this.cache.get(i);switch(n.state){case 2:this.popoverContent.appendChild(n.content),this.rebuild();break;case 0:{n.state=1;const e=this.handlers.get(t.identifier);if(e.loadCallback)e.loadCallback(t.objectId,this,t.element);else if(e.dboAction){const i=e=>(this.setContent(t.identifier,t.objectId,e.returnValues.template),!0);this.ajaxApi({actionName:"getPopover",className:e.dboAction,interfaceName:"wcf\\data\\IPopoverAction",objectIDs:[t.objectId]},i,i)}break}}}hidePopover(){this.timerLeave&&(window.clearTimeout(this.timerLeave),this.timerLeave=void 0),this.popover.classList.remove("active")}clearContent(){if(this.activeId&&this.popoverContent.childElementCount&&!this.popover.classList.contains("active")){const e=this.elements.get(this.activeId).element.dataset.cacheId,t=this.cache.get(e);for(;this.popoverContent.childNodes.length;)t.content.appendChild(this.popoverContent.childNodes[0])}}rebuild(){this.popover.classList.contains("active")||(this.popover.classList.remove("forceHide"),this.popover.classList.add("active"),s.set(this.popover,this.elements.get(this.activeId).element,{pointer:!0,vertical:"top"}))}_ajaxSuccess(){}_ajaxSetup(){return{silent:!0}}ajaxApi(e,t,i){if("function"!=typeof t)throw new TypeError("Expected a valid callback for parameter 'success'.");n.api(this,e,t,i)}}let d;t.init=function(e){l().init(e)},t.setContent=function(e,t,i){l().setContent(e,t,i)},t.ajaxApi=function(e,t,i){l().ajaxApi(e,t,i)}})),define("WoltLabSuite/Core/Ui/User/Ignore",["require","exports","tslib","../../Dom/Change/Listener"],(function(e,t,i,n){"use strict";function o(){for(let e=0,t=a.length;e<t;e++){const t=a[e];s.has(t)||(t.addEventListener("click",r,{once:!0}),s.add(t))}}function r(e){e.preventDefault();const t=e.currentTarget;t.classList.remove("ignoredUserMessage"),s.delete(t),window.getSelection().removeAllRanges()}Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,n=i.__importDefault(n);const a=document.getElementsByClassName("ignoredUserMessage"),s=new Set;t.init=function(){o(),n.default.add("WoltLabSuite/Core/Ui/User/Ignore",o)}})),define("WoltLabSuite/Core/Ui/Page/Header/Menu",["require","exports","tslib","../../../Environment","../../../Language","../../Screen"],(function(e,t,i,n,o,r){"use strict";function a(){b=!0,"safari"===n.browser()||u(),window.setTimeout(u,1e3)}function s(){b=!1}function l(e){if(e.preventDefault(),w.length){const e=w.slice(0,3).pop();d(g.clientWidth-(e.offsetLeft+e.clientWidth)),g.lastElementChild===e&&p.classList.remove("active"),m.classList.add("active")}}function c(e){if(e.preventDefault(),v.length){const e=v.slice(-3)[0];d(-1*e.offsetLeft),g.firstElementChild===e&&m.classList.remove("active"),p.classList.add("active")}}function d(e){_=Math.min(_+e,0),f.style.setProperty("margin-left",`${_}px`,"")}function u(){if(!b)return;v=[],w=[];const e=g.clientWidth;(g.scrollWidth>e||_<0)&&Array.from(g.children).forEach((t=>{const i=t.offsetLeft;i<0?v.push(t):i+t.clientWidth>e&&w.push(t)})),m.classList[v.length?"add":"remove"]("active"),p.classList[w.length?"add":"remove"]("active")}function h(){!function(){const e=g.parentElement;p=document.createElement("a"),p.className="mainMenuShowNext",p.href="#",p.innerHTML='<span class="icon icon32 fa-angle-right"></span>',p.setAttribute("aria-hidden","true"),p.addEventListener("click",l),e.appendChild(p),m=document.createElement("a"),m.className="mainMenuShowPrevious",m.href="#",m.innerHTML='<span class="icon icon32 fa-angle-left"></span>',m.setAttribute("aria-hidden","true"),m.addEventListener("click",c),e.insertBefore(m,e.firstChild),f.addEventListener("transitionend",u),window.addEventListener("resize",(()=>{f.style.setProperty("margin-left","0px",""),_=0,u()})),a()}(),g.querySelectorAll(".boxMenuHasChildren").forEach((e=>{const t=e.querySelector(".boxMenuLink");t.setAttribute("aria-haspopup","true"),t.setAttribute("aria-expanded","false");const i=document.createElement("button");i.className="visuallyHidden",i.tabIndex=0,i.setAttribute("role","button"),i.setAttribute("aria-label",o.get("wcf.global.button.showMenu")),e.insertBefore(i,t.nextSibling);let n=!1;i.addEventListener("click",(()=>{n=!n,t.setAttribute("aria-expanded",n?"true":"false"),i.setAttribute("aria-label",o.get(n?"wcf.global.button.hideMenu":"wcf.global.button.showMenu"))}))}))}Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r);let p,m,f,g,b=!1,_=0,v=[],w=[];t.init=function(){const e=document.querySelector(".mainMenu .boxMenu"),t=e&&e.childElementCount?e.children[0]:null;if(null===t)throw new Error("Unable to find the main menu.");g=e,f=t,r.on("screen-lg",{match:a,unmatch:s,setup:h})}})),define("WoltLabSuite/Core/User",["require","exports"],(function(e,t){"use strict";class i{constructor(e,t,i){this.userId=e,this.username=t,this.link=i}}let n;return{getLink:()=>n.link,init(e,t,o){if(n)throw new Error("User has already been initialized.");n=new i(e,t,o)},get userId(){return n.userId},get username(){return n.username}}})),define("WoltLabSuite/Core/Ui/Message/UserConsent",["require","exports","tslib","../../Ajax","../../Core","../../Dom/Change/Listener","../../Dom/Util","../../User"],(function(e,t,i,n,o,r,a,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importDefault(a),s=i.__importDefault(s);class l{constructor(){this.enableAll=!1,this.knownButtons=new WeakSet,"all"===window.sessionStorage.getItem(`${o.getStoragePrefix()}user-consent`)&&(this.enableAll=!0),this.registerEventListeners(),r.default.add("WoltLabSuite/Core/Ui/Message/UserConsent",(()=>this.registerEventListeners()))}registerEventListeners(){this.enableAll?this.enableAllExternalMedia():document.querySelectorAll(".jsButtonMessageUserConsentEnable").forEach((e=>{this.knownButtons.has(e)||(this.knownButtons.add(e),e.addEventListener("click",(e=>this.click(e))))}))}click(e){e.preventDefault(),this.enableAll=!0,this.enableAllExternalMedia(),s.default.userId?n.apiOnce({data:{actionName:"saveUserConsent",className:"wcf\\data\\user\\UserAction"},silent:!0}):window.sessionStorage.setItem(`${o.getStoragePrefix()}user-consent`,"all")}enableExternalMedia(e){const t=atob(e.dataset.payload);a.default.insertHtml(t,e,"before"),e.remove()}enableAllExternalMedia(){document.querySelectorAll(".messageUserConsent").forEach((e=>this.enableExternalMedia(e)))}}let c;t.init=function(){c||(c=new l)}})),define("WoltLabSuite/Core/Clipboard",["require","exports"],(function(e,t){"use strict";async function i(e){if(navigator.clipboard)return navigator.clipboard.writeText(e);throw new Error("navigator.clipboard is not supported.")}Object.defineProperty(t,"__esModule",{value:!0}),t.copyElementTextToClipboard=t.copyTextToClipboard=void 0,t.copyTextToClipboard=i,t.copyElementTextToClipboard=async function(e){return i(e.textContent.replace(/\u200B/g,"").replace(/\u00A0/g," "))}})),define("WoltLabSuite/Core/Ui/Notification",["require","exports","tslib","../Language"],(function(e,t,i,n){"use strict";function o(){clearTimeout(s),a.classList.remove("active"),null!==c&&c(),l=!1}Object.defineProperty(t,"__esModule",{value:!0}),t.show=void 0,n=i.__importStar(n);let r,a,s,l=!1,c=null,d=!1;t.show=function(e,t,i){l||(l=!0,d||(d=!0,a=document.createElement("div"),a.id="systemNotification",r=document.createElement("p"),r.addEventListener("click",o),a.appendChild(r),document.body.appendChild(a)),c="function"==typeof t?t:null,r.className=i||"success",r.textContent=n.get(e||"wcf.global.success"),a.classList.add("active"),s=setTimeout(o,2e3))}})),define("WoltLabSuite/Core/Ui/Message/Share",["require","exports","tslib","../../Event/Handler","../../StringUtil"],(function(e,t,i,n,o){"use strict";function r(e,t,i,n){n||(n=s),window.open(t.replace("{pageURL}",n).replace("{text}",a+(i?`%20${n}`:"")),e,"height=600,width=600")}Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,n=i.__importStar(n),o=i.__importStar(o);let a="",s="";t.init=function(){const e=document.querySelector('meta[property="og:title"]');null!==e&&(a=encodeURIComponent(e.content));const t=document.querySelector('meta[property="og:url"]');null!==t&&(s=encodeURIComponent(t.content)),document.querySelectorAll(".jsMessageShareButtons").forEach((e=>{e.classList.remove("jsMessageShareButtons");let t=encodeURIComponent(o.unescapeHTML(e.dataset.url||""));t||(t=s);const i={facebook:{link:e.querySelector(".jsShareFacebook"),share(e){e.preventDefault(),r("facebook","https://www.facebook.com/sharer.php?u={pageURL}&t={text}",!0,t)}},reddit:{link:e.querySelector(".jsShareReddit"),share(e){e.preventDefault(),r("reddit","https://ssl.reddit.com/submit?url={pageURL}",!1,t)}},twitter:{link:e.querySelector(".jsShareTwitter"),share(e){e.preventDefault(),r("twitter","https://twitter.com/share?url={pageURL}&text={text}",!1,t)}},linkedIn:{link:e.querySelector(".jsShareLinkedIn"),share(e){e.preventDefault(),r("linkedIn","https://www.linkedin.com/cws/share?url={pageURL}",!1,t)}},pinterest:{link:e.querySelector(".jsSharePinterest"),share(e){e.preventDefault(),r("pinterest","https://www.pinterest.com/pin/create/link/?url={pageURL}&description={text}",!1,t)}},xing:{link:e.querySelector(".jsShareXing"),share(e){e.preventDefault(),r("xing","https://www.xing.com/social_plugins/share?url={pageURL}",!1,t)}},whatsApp:{link:e.querySelector(".jsShareWhatsApp"),share(e){e.preventDefault(),window.location.href="https://api.whatsapp.com/send?text="+a+"%20"+s}}};n.fire("com.woltlab.wcf.message.share","shareProvider",{container:e,providers:i,pageDescription:a,pageUrl:s}),Object.values(i).forEach((e=>{if(null!==e.link){e.link.addEventListener("click",(t=>e.share(t)))}}))}))}})),define("WoltLabSuite/Core/Ui/Message/Share/Providers",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getEnabledProviders=t.getProviders=t.enableShareProviders=t.addShareProvider=void 0;const i=new Set,n=new Map([["Facebook",{cssClass:"jsShareFacebook",iconClassName:"fa-facebook-official",label:"wcf.message.share.facebook"}],["Twitter",{cssClass:"jsShareTwitter",iconClassName:"fa-twitter",label:"wcf.message.share.twitter"}],["Reddit",{cssClass:"jsShareReddit",iconClassName:"fa-reddit",label:"wcf.message.share.reddit"}],["WhatsApp",{cssClass:"jsShareWhatsApp",iconClassName:"fa-whatsapp",label:"wcf.message.share.whatsApp"}],["LinkedIn",{cssClass:"jsShareLinkedIn",iconClassName:"fa-linkedin",label:"wcf.message.share.linkedIn"}],["Pinterest",{cssClass:"jsSharePinterest",iconClassName:"fa-pinterest-p",label:"wcf.message.share.pinterest"}],["XING",{cssClass:"jsShareXing",iconClassName:"fa-xing",label:"wcf.message.share.xing"}]]);t.addShareProvider=function(e,t){if(n.has(e))throw new Error(`A share provider with name "${e}" already exists.`);n.set(e,t)},t.enableShareProviders=function(e){e.forEach((e=>{n.has(e)&&i.add(n.get(e))}))},t.getProviders=function(){return n},t.getEnabledProviders=function(){return i}})),define("WoltLabSuite/Core/Ui/Message/Share/Dialog",["require","exports","tslib","../../Dialog","../../../Dom/Util","../../../Dom/Traverse","../../../Language","../../../Clipboard","../../Notification","../../../StringUtil","../../../Dom/Change/Listener","../Share","./Providers"],(function(e,t,i,n,o,r,a,s,l,c,d,u,h){"use strict";function p(e,t){return`\n <dl>\n <dt>${a.get(e)}</dt>\n <dd>\n <div class="inputAddon">\n <input type="text" class="long" readonly value="${c.escapeHTML(t)}">\n <a href="#" class="inputSuffix button jsTooltip shareDialogCopyButton" title="${a.get("wcf.message.share.copy")}"><span class="icon icon16 fa-files-o pointer"></span></a>\n </div>\n </dd>\n </dl>\n `}function m(e){e.preventDefault();const t=e.currentTarget,i=`shareContentDialog_${o.default.identify(t)}`;if(n.default.getDialog(i))n.default.openStatic(i,null);else{const e=function(){const e=Array.from(h.getEnabledProviders()).map((e=>{const t=a.get(e.label);return`\n <li>\n <a href="#" role="button" class="button ${e.cssClass}" title="${t}" aria-label="${t}">\n <span class="icon icon24 ${e.iconClassName}"></span>\n <span>${t}</span>\n </a>\n </li>\n `})).join("\n");return e?`<ul class="inlineList">${e}</ul>`:""}();let o="";e&&(o=`\n <dl class="messageShareButtons jsMessageShareButtons" data-url="${c.escapeHTML(t.href)}">\n <dt>${a.get("wcf.message.share.socialMedia")}</dt>\n <dd>${e}</dd>\n </dl>\n `);let d="";b&&(d=`\n <dl>\n <dt></dt>\n <dd>\n <button class="shareDialogNativeButton" data-url="${c.escapeHTML(t.href)}" data-title="${c.escapeHTML(t.dataset.linkTitle||"")}">${a.get("wcf.message.share.nativeShare")}</button>\n </dd>\n </dl>\n `);const m=`\n <div class="shareContentDialog">\n ${function(e){const t=e.href;let i=p("wcf.message.share.permalink",t);return e.dataset.bbcode&&(i+=p("wcf.message.share.permalink.bbcode",e.dataset.bbcode)),t&&e.dataset.linkTitle&&(e.dataset.bbcode||(i+=p("wcf.message.share.permalink.bbcode",`[url='${t}']${e.dataset.linkTitle}[/url]`)),i+=p("wcf.message.share.permalink.html",`<a href="${c.escapeHTML(t)}">${c.escapeHTML(e.dataset.linkTitle)}</a>`)),i}(t)}\n ${o}\n ${d}\n </div>\n `,f=n.default.openStatic(i,m,{title:a.get("wcf.message.share")});f.content.style.maxWidth="600px",f.content.querySelectorAll(".shareDialogCopyButton").forEach((e=>e.addEventListener("click",(e=>async function(e){e.preventDefault();const t=e.currentTarget,i=r.prevBySel(t,'input[type="text"]');await s.copyTextToClipboard(i.value),l.show(a.get("wcf.message.share.copy.success"))}(e))))),b&&f.content.querySelector(".shareDialogNativeButton").addEventListener("click",(e=>async function(e){e.preventDefault();const t=e.currentTarget,i={url:t.dataset.url};t.dataset.title&&(i.title=t.dataset.title),await window.navigator.share(i)}(e))),e&&u.init()}}function f(){document.querySelectorAll("a.shareButton").forEach((e=>{g.has(e)||(e.addEventListener("click",(e=>m(e))),g.add(e))}))}Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,n=i.__importDefault(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importStar(l),c=i.__importStar(c),d=i.__importDefault(d),u=i.__importStar(u),h=i.__importStar(h);const g=new WeakSet,b=void 0!==window.navigator.share;t.setup=function(){f(),d.default.add("WoltLabSuite/Core/Ui/Message/Share/Dialog",(()=>f()))}})),define("WoltLabSuite/Core/Ui/Feed/Dialog",["require","exports","tslib","../Dialog","../../StringUtil","../../Language","../../Clipboard","../Notification"],(function(e,t,i,n,o,r,a,s){"use strict";function l(e){e.preventDefault();const t=e.currentTarget,i=t.href,l=i.replace(/(\\?|&)at=[^&]*&?/,"$1").replace(/(\?|&)$/,"");n.default.openStatic("feedLinkDialog",`\n<p class="info">${r.get("wcf.global.rss.accessToken.info")}</p>\n<dl>\n <dt>${r.get("wcf.global.rss.withoutAccessToken")}</dt>\n <dd>\n <div class="inputAddon">\n <input type="text" class="long" readonly value="${o.escapeHTML(l)}">\n <a href="#" class="inputSuffix button jsTooltip feedLinkDialogCopyButton" title="${r.get("wcf.global.rss.copy")}"><span class="icon icon16 fa-files-o pointer"></span></a>\n </div>\n </dd>\n</dl>\n<dl>\n <dt>${r.get("wcf.global.rss.withAccessToken")}</dt>\n <dd>\n <div class="inputAddon">\n <input type="text" class="long" readonly value="${o.escapeHTML(i)}">\n <a href="#" class="inputSuffix button jsTooltip feedLinkDialogCopyButton" title="${r.get("wcf.global.rss.copy")}"><span class="icon icon16 fa-files-o pointer"></span></a>\n </div>\n </dd>\n</dl>\n`,{onSetup(e){e.querySelectorAll(".feedLinkDialogCopyButton").forEach((e=>e.addEventListener("click",(e=>async function(e){e.preventDefault();const t=e.currentTarget.parentNode.querySelector('input[type="text"]');await a.copyTextToClipboard(t.value),s.show(r.get("wcf.global.rss.copy.success"))}(e)))))},title:t.title||r.get("wcf.global.button.rss")})}Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,n=i.__importDefault(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s),t.setup=function(){document.querySelectorAll("a.rssFeed").forEach((e=>{e.addEventListener("click",(e=>l(e)))}))}})),define("WoltLabSuite/Core/BootstrapFrontend",["require","exports","tslib","./BackgroundQueue","./Bootstrap","./Controller/Style/Changer","./Controller/Popover","./Ui/User/Ignore","./Ui/Page/Header/Menu","./Ui/Message/UserConsent","./Ajax","./Ui/Message/Share/Dialog","./Ui/Message/Share/Providers","./Ui/Feed/Dialog","./User"],(function(e,t,i,n,o,r,a,s,l,c,d,u,h,p,m){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importStar(l),c=i.__importStar(c),d=i.__importStar(d),u=i.__importStar(u),h=i.__importStar(h),p=i.__importStar(p),m=i.__importDefault(m),t.setup=function(e){e.backgroundQueue.url=window.WSC_API_URL+e.backgroundQueue.url.substr(window.WCF_PATH.length),o.setup({enableMobileMenu:!0}),l.init(),e.styleChanger&&r.setup(),e.enableUserPopover&&(a.init({className:"userLink",dboAction:"wcf\\data\\user\\UserProfileAction",identifier:"com.woltlab.wcf.user"}),a.init({attributeName:"data-user-id",className:"userLink",dboAction:"wcf\\data\\user\\UserProfileAction",identifier:"com.woltlab.wcf.user.deprecated"})),e.executeCronjobs&&d.apiOnce({data:{className:"wcf\\data\\cronjob\\CronjobAction",actionName:"executeCronjobs"},failure:()=>!1,silent:!0}),n.setUrl(e.backgroundQueue.url),(Math.random()<.1||e.backgroundQueue.force)&&n.invoke(),globalThis.COMPILER_TARGET_DEFAULT&&s.init(),c.init(),h.enableShareProviders(e.shareButtonProviders||[]),u.setup(),m.default.userId&&p.setup()}})),define("WoltLabSuite/Core/ColorUtil",["require","exports"],(function(e,t){"use strict";function i(e,t,i){const n={r:0,g:0,b:0},o=Math.floor(e/60),r=e/60-o,a=(i/=100)*(1-(t/=100)),s=i*(1-t*r),l=i*(1-t*(1-r));if(0==t)n.r=n.g=n.b=i;else switch(o){case 1:n.r=s,n.g=i,n.b=a;break;case 2:n.r=a,n.g=i,n.b=l;break;case 3:n.r=a,n.g=s,n.b=i;break;case 4:n.r=l,n.g=a,n.b=i;break;case 5:n.r=i,n.g=a,n.b=s;break;case 0:case 6:n.r=i,n.g=l,n.b=a}return{r:Math.round(255*n.r),g:Math.round(255*n.g),b:Math.round(255*n.b)}}function n(e,t,i){let n,o;e/=255,t/=255,i/=255;const r=Math.max(Math.max(e,t),i),a=Math.min(Math.min(e,t),i),s=r-a;if(n=0,r!==a){switch(r){case e:n=(t-i)/s*60;break;case t:n=60*(2+(i-e)/s);break;case i:n=60*(4+(e-t)/s)}n<0&&(n+=360)}return o=0===r?0:s/r,{h:Math.round(n),s:Math.round(100*o),v:Math.round(100*r)}}function o(e){if(/^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/.test(e)){const t=e.split("");return"#"===t[0]&&t.shift(),3===t.length?{r:parseInt(t[0]+""+t[0],16),g:parseInt(t[1]+""+t[1],16),b:parseInt(t[2]+""+t[2],16)}:{r:parseInt(t[0]+""+t[1],16),g:parseInt(t[2]+""+t[3],16),b:parseInt(t[4]+""+t[5],16)}}return Number.NaN}function r(e,t,i){const n="0123456789ABCDEF";return void 0===t&&/^rgba?\((\d+), ?(\d+), ?(\d+)(?:, ?[0-9.]+)?\)$/.exec(e.toString())&&(e=+RegExp.$1,t=+RegExp.$2,i=+RegExp.$3),n.charAt((e-e%16)/16)+""+n.charAt(e%16)+n.charAt((t-t%16)/16)+n.charAt(t%16)+n.charAt((i-i%16)/16)+n.charAt(i%16)}Object.defineProperty(t,"__esModule",{value:!0}),t.rgbToHex=t.hexToRgb=t.rgbToHsv=t.hsvToRgb=void 0,t.hsvToRgb=i,t.rgbToHsv=n,t.hexToRgb=o,t.rgbToHex=r,window.__wcf_bc_colorUtil={hexToRgb:o,hsvToRgb:i,rgbToHex:r,rgbToHsv:n}})),define("WoltLabSuite/Core/Dictionary",["require","exports","tslib","./Core"],(function(e,t,i,n){"use strict";n=i.__importStar(n);class o{constructor(){this._dictionary=new Map}set(e,t){this._dictionary.set(e.toString(),t)}delete(e){return this._dictionary.delete(e.toString())}has(e){return this._dictionary.has(e.toString())}get(e){return this._dictionary.get(e.toString())}forEach(e){if("function"!=typeof e)throw new TypeError("forEach() expects a callback as first parameter.");this._dictionary.forEach(e)}merge(...e){for(let t=0,i=e.length;t<i;t++){e[t].forEach(((e,t)=>this.set(t,e)))}}toObject(){const e={};return this._dictionary.forEach(((t,i)=>e[i]=t)),e}static fromObject(e){const t=new o;return Object.keys(e).forEach((i=>{t.set(i,e[i])})),t}get size(){return this._dictionary.size}}return n.enableLegacyInheritance(o),o})),define("WoltLabSuite/Core/FileUtil",["require","exports","tslib","./StringUtil"],(function(e,t,i,n){"use strict";function o(e){return a.has(e)?"."+a.get(e):""}Object.defineProperty(t,"__esModule",{value:!0}),t.blobToFile=t.getExtensionByMimeType=t.getIconNameByFilename=t.formatFilesize=void 0,n=i.__importStar(n);const r=new Map(Object.entries({zip:"archive",rar:"archive",tar:"archive",gz:"archive",mp3:"audio",ogg:"audio",wav:"audio",php:"code",html:"code",htm:"code",tpl:"code",js:"code",xls:"excel",ods:"excel",xlsx:"excel",gif:"image",jpg:"image",jpeg:"image",png:"image",bmp:"image",webp:"image",avi:"video",wmv:"video",mov:"video",mp4:"video",mpg:"video",mpeg:"video",flv:"video",pdf:"pdf",ppt:"powerpoint",pptx:"powerpoint",txt:"text",doc:"word",docx:"word",odt:"word"})),a=new Map(Object.entries({"application/zip":"zip","application/x-zip-compressed":"zip","application/rar":"rar","application/vnd.rar":"rar","application/x-rar-compressed":"rar","application/x-tar":"tar","application/x-gzip":"gz","application/gzip":"gz","audio/mpeg":"mp3","audio/mp3":"mp3","audio/ogg":"ogg","audio/x-wav":"wav","application/x-php":"php","text/html":"html","application/javascript":"js","application/vnd.ms-excel":"xls","application/vnd.oasis.opendocument.spreadsheet":"ods","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":"xlsx","image/gif":"gif","image/jpeg":"jpg","image/png":"png","image/x-ms-bmp":"bmp","image/bmp":"bmp","image/webp":"webp","video/x-msvideo":"avi","video/x-ms-wmv":"wmv","video/quicktime":"mov","video/mp4":"mp4","video/mpeg":"mpg","video/x-flv":"flv","application/pdf":"pdf","application/vnd.ms-powerpoint":"ppt","application/vnd.openxmlformats-officedocument.presentationml.presentation":"pptx","text/plain":"txt","application/msword":"doc","application/vnd.openxmlformats-officedocument.wordprocessingml.document":"docx","application/vnd.oasis.opendocument.text":"odt","public.jpeg":"jpeg","public.png":"png","com.compuserve.gif":"gif","org.webmproject.webp":"webp"}));t.formatFilesize=function(e,t=2){let i="Byte";return e>=1e3&&(e/=1e3,i="kB"),e>=1e3&&(e/=1e3,i="MB"),e>=1e3&&(e/=1e3,i="GB"),e>=1e3&&(e/=1e3,i="TB"),n.formatNumeric(e,-t)+" "+i},t.getIconNameByFilename=function(e){const t=e.lastIndexOf(".");if(-1!==t){const i=e.substr(t+1);if(r.has(i))return r.get(i)}return""},t.getExtensionByMimeType=o,t.blobToFile=function(e,t){const i=o(e.type);return new File([e],t+i,{type:e.type})}})),define("WoltLabSuite/Core/List",["require","exports","tslib","./Core"],(function(e,t,i,n){"use strict";n=i.__importStar(n);class o{constructor(){this._set=new Set}add(e){this._set.add(e)}clear(){this._set.clear()}delete(e){return this._set.delete(e)}forEach(e){this._set.forEach(e)}has(e){return this._set.has(e)}get size(){return this._set.size}}return n.enableLegacyInheritance(o),o})),define("WoltLabSuite/Core/ObjectMap",["require","exports","tslib","./Core"],(function(e,t,i,n){"use strict";n=i.__importStar(n);class o{constructor(){this._map=new WeakMap}set(e,t){if("object"!=typeof e||null===e)throw new TypeError("Only objects can be used as key");if("object"!=typeof t||null===t)throw new TypeError("Only objects can be used as value");this._map.set(e,t)}delete(e){this._map.delete(e)}has(e){return this._map.has(e)}get(e){return this._map.get(e)}}return n.enableLegacyInheritance(o),o})),define("WoltLabSuite/Core/Permission",["require","exports"],(function(e,t){"use strict";function i(e,t){if("boolean"!=typeof t)throw new TypeError("The permission value has to be boolean.");n.set(e,t)}Object.defineProperty(t,"__esModule",{value:!0}),t.get=t.addObject=t.add=void 0;const n=new Map;t.add=i,t.addObject=function(e){Object.keys(e).forEach((t=>i(t,e[t])))},t.get=function(e){return!!n.has(e)&&n.get(e)}})),_self="undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{},Prism=function(e){function t(e,t,i,n){this.type=e,this.content=t,this.alias=i,this.length=0|(n||"").length}function i(e,n,a,s,l,c){var d,h,p,m,f,g,b,_,v,w,y,E,S,L,C,A,I,x,k,D,T,M,j,B,P;for(d in a)if(a.hasOwnProperty(d)&&a[d])for(h=a[d],h=Array.isArray(h)?h:[h],p=0;p<h.length;++p){if(c&&c.cause==d+","+p)return;for(f=(m=h[p]).inside,g=!!m.lookbehind,b=!!m.greedy,_=0,v=m.alias,b&&!m.pattern.global&&(w=m.pattern.toString().match(/[imsuy]*$/)[0],m.pattern=RegExp(m.pattern.source,w+"g")),y=m.pattern||m,E=s.next,S=l;E!==n.tail&&!(c&&S>=c.reach);S+=E.value.length,E=E.next){if(L=E.value,n.length>e.length)return;if(!(L instanceof t)){if(C=1,b&&E!=n.tail.prev){if(y.lastIndex=S,!(A=y.exec(e)))break;for(I=A.index+(g&&A[1]?A[1].length:0),x=A.index+A[0].length,k=S,k+=E.value.length;I>=k;)k+=(E=E.next).value.length;if(S=k-=E.value.length,E.value instanceof t)continue;for(D=E;D!==n.tail&&(k<x||"string"==typeof D.value);D=D.next)C++,k+=D.value.length;C--,L=e.slice(S,k),A.index-=S}else y.lastIndex=0,A=y.exec(L);A&&(g&&(_=A[1]?A[1].length:0),x=(I=A.index+_)+(T=A[0].slice(_)).length,M=L.slice(0,I),j=L.slice(x),B=S+L.length,c&&B>c.reach&&(c.reach=B),P=E.prev,M&&(P=o(n,P,M),S+=M.length),r(n,P,C),E=o(n,P,new t(d,f?u.tokenize(T,f):T,v,T)),j&&o(n,E,j),C>1&&i(e,n,a,E.prev,S,{cause:d+","+p,reach:B}))}}}}function n(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function o(e,t,i){var n=t.next,o={value:i,prev:t,next:n};return t.next=o,n.prev=o,e.length++,o}function r(e,t,i){var n,o=t.next;for(n=0;n<i&&o!==e.tail;n++)o=o.next;t.next=o,o.prev=t,e.length-=n}function a(){u.manual||u.highlightAll()}var s,l,c=/\blang(?:uage)?-([\w-]+)\b/i,d=0,u={manual:e.Prism&&e.Prism.manual,disableWorkerMessageHandler:e.Prism&&e.Prism.disableWorkerMessageHandler,util:{encode:function e(i){return i instanceof t?new t(i.type,e(i.content),i.alias):Array.isArray(i)?i.map(e):i.replace(/&/g,"&").replace(/</g,"<").replace(/\u00a0/g," ")},type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,"__id",{value:++d}),e.__id},clone:function e(t,i){var n,o,r;switch(i=i||{},u.util.type(t)){case"Object":if(o=u.util.objId(t),i[o])return i[o];for(r in n={},i[o]=n,t)t.hasOwnProperty(r)&&(n[r]=e(t[r],i));return n;case"Array":return o=u.util.objId(t),i[o]?i[o]:(n=[],i[o]=n,t.forEach((function(t,o){n[o]=e(t,i)})),n);default:return t}},getLanguage:function(e){for(;e&&!c.test(e.className);)e=e.parentElement;return e?(e.className.match(c)||[,"none"])[1].toLowerCase():"none"},currentScript:function(){var e,t,i;if("undefined"==typeof document)return null;if("currentScript"in document)return document.currentScript;try{throw new Error}catch(n){if(e=(/at [^(\r\n]*\((.*):.+:.+\)$/i.exec(n.stack)||[])[1])for(i in t=document.getElementsByTagName("script"))if(t[i].src==e)return t[i];return null}},isActive:function(e,t,i){for(var n,o="no-"+t;e;){if((n=e.classList).contains(t))return!0;if(n.contains(o))return!1;e=e.parentElement}return!!i}},languages:{extend:function(e,t){var i,n=u.util.clone(u.languages[e]);for(i in t)n[i]=t[i];return n},insertBefore:function(e,t,i,n){var o,r,a,s,l;for(a in o=(n=n||u.languages)[e],r={},o)if(o.hasOwnProperty(a)){if(a==t)for(s in i)i.hasOwnProperty(s)&&(r[s]=i[s]);i.hasOwnProperty(a)||(r[a]=o[a])}return l=n[e],n[e]=r,u.languages.DFS(u.languages,(function(t,i){i===l&&t!=e&&(this[t]=r)})),r},DFS:function e(t,i,n,o){var r,a,s,l;for(a in o=o||{},r=u.util.objId,t)t.hasOwnProperty(a)&&(i.call(t,a,t[a],n||a),s=t[a],"Object"!==(l=u.util.type(s))||o[r(s)]?"Array"!==l||o[r(s)]||(o[r(s)]=!0,e(s,i,a,o)):(o[r(s)]=!0,e(s,i,null,o)))}},plugins:{},highlightAll:function(e,t){u.highlightAllUnder(document,e,t)},highlightAllUnder:function(e,t,i){var n,o,r={callback:i,container:e,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};for(u.hooks.run("before-highlightall",r),r.elements=Array.prototype.slice.apply(r.container.querySelectorAll(r.selector)),u.hooks.run("before-all-elements-highlight",r),n=0;o=r.elements[n++];)u.highlightElement(o,!0===t,r.callback)},highlightElement:function(t,i,n){function o(e){s.highlightedCode=e,u.hooks.run("before-insert",s),s.element.innerHTML=s.highlightedCode,u.hooks.run("after-highlight",s),u.hooks.run("complete",s),n&&n.call(s.element)}var r,a,s,l,d=u.util.getLanguage(t),h=u.languages[d];if(t.className=t.className.replace(c,"").replace(/\s+/g," ")+" language-"+d,(r=t.parentElement)&&"pre"===r.nodeName.toLowerCase()&&(r.className=r.className.replace(c,"").replace(/\s+/g," ")+" language-"+d),a=t.textContent,s={element:t,language:d,grammar:h,code:a},u.hooks.run("before-sanity-check",s),!s.code)return u.hooks.run("complete",s),void(n&&n.call(s.element));u.hooks.run("before-highlight",s),s.grammar?i&&e.Worker?((l=new Worker(u.filename)).onmessage=function(e){o(e.data)},l.postMessage(JSON.stringify({language:s.language,code:s.code,immediateClose:!0}))):o(u.highlight(s.code,s.grammar,s.language)):o(u.util.encode(s.code))},highlight:function(e,i,n){var o={code:e,grammar:i,language:n};return u.hooks.run("before-tokenize",o),o.tokens=u.tokenize(o.code,o.grammar),u.hooks.run("after-tokenize",o),t.stringify(u.util.encode(o.tokens),o.language)},tokenize:function(e,t){var r,a,s=t.rest;if(s){for(r in s)t[r]=s[r];delete t.rest}return o(a=new n,a.head,e),i(e,a,t,a.head,0),function(e){for(var t=[],i=e.head.next;i!==e.tail;)t.push(i.value),i=i.next;return t}(a)},hooks:{all:{},add:function(e,t){var i=u.hooks.all;i[e]=i[e]||[],i[e].push(t)},run:function(e,t){var i,n,o=u.hooks.all[e];if(o&&o.length)for(i=0;n=o[i++];)n(t)}},Token:t};return e.Prism=u,t.stringify=function e(t,i){var n,o,r,a,s;if("string"==typeof t)return t;if(Array.isArray(t))return n="",t.forEach((function(t){n+=e(t,i)})),n;for(s in o={type:t.type,content:e(t.content,i),tag:"span",classes:["token",t.type],attributes:{},language:i},(r=t.alias)&&(Array.isArray(r)?Array.prototype.push.apply(o.classes,r):o.classes.push(r)),u.hooks.run("wrap",o),a="",o.attributes)a+=" "+s+'="'+(o.attributes[s]||"").replace(/"/g,""")+'"';return"<"+o.tag+' class="'+o.classes.join(" ")+'"'+a+">"+o.content+"</"+o.tag+">"},e.document?((s=u.util.currentScript())&&(u.filename=s.src,s.hasAttribute("data-manual")&&(u.manual=!0)),u.manual||("loading"===(l=document.readyState)||"interactive"===l&&s&&s.defer?document.addEventListener("DOMContentLoaded",a):window.requestAnimationFrame?window.requestAnimationFrame(a):window.setTimeout(a,16)),u):e.addEventListener?(u.disableWorkerMessageHandler||e.addEventListener("message",(function(t){var i=JSON.parse(t.data),n=i.language,o=i.code,r=i.immediateClose;e.postMessage(u.highlight(o,u.languages[n],n)),r&&e.close()}),!1),u):u}(_self),"undefined"!=typeof module&&module.exports&&(module.exports=Prism),"undefined"!=typeof global&&(global.Prism=Prism),define("prism/prism",(function(){})),window.Prism=window.Prism||{},window.Prism.manual=!0,define("WoltLabSuite/Core/Prism",["prism/prism"],(function(){return Prism.wscSplitIntoLines=function(e){function t(){var e=elCreate("span");return elData(e,"number",o++),n.appendChild(e),e}for(var i,n=document.createDocumentFragment(),o=1,r=document.createNodeIterator(e,NodeFilter.SHOW_TEXT,(function(){return NodeFilter.FILTER_ACCEPT}),!1),a=t();i=r.nextNode();)i.data.split(/\r?\n/).forEach((function(n,o){var r,s,l;for(o>=1&&(a.appendChild(document.createTextNode("\n")),a=t()),r=document.createTextNode(n),s=i.parentNode;s!==e;)(l=s.cloneNode(!1)).appendChild(r),r=l,s=s.parentNode;a.appendChild(r)}));return n},Prism})),define("WoltLabSuite/Core/Upload",["require","exports","tslib","./Ajax/Request","./Core","./Dom/Change/Listener","./Language"],(function(e,t,i,n,o,r,a){"use strict";n=i.__importDefault(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importStar(a);class s{constructor(e,t,i){if(this._button=document.createElement("p"),this._fileElements=[],this._fileUpload=document.createElement("input"),this._internalFileId=0,this._multiFileUploadIds=[],!(i=i||{}).className)throw new Error("Missing class name.");this._options=o.extend({action:"upload",multiple:!1,acceptableFiles:null,name:"__files[]",singleFileRequests:!1,url:`index.php?ajax-upload/&t=${window.SECURITY_TOKEN}`},i),this._options.url=o.convertLegacyUrl(this._options.url),0===this._options.url.indexOf("index.php")&&(this._options.url=window.WSC_API_URL+this._options.url);const n=document.getElementById(e);if(null===n)throw new Error(`Element id '${e}' is unknown.`);this._buttonContainer=n;const r=document.getElementById(t);if(null===r)throw new Error(`Element id '${t}' is unknown.`);if(this._target=r,i.multiple&&"UL"!==this._target.nodeName&&"OL"!==this._target.nodeName&&"TBODY"!==this._target.nodeName)throw new Error("Target element has to be list or table body if uploading multiple files is supported.");this._createButton()}_createButton(){this._fileUpload=document.createElement("input"),this._fileUpload.type="file",this._fileUpload.name=this._options.name,this._options.multiple&&(this._fileUpload.multiple=!0),null!==this._options.acceptableFiles&&(this._fileUpload.accept=this._options.acceptableFiles.join(",")),this._fileUpload.addEventListener("change",(e=>this._upload(e))),this._button=document.createElement("p"),this._button.className="button uploadButton",this._button.setAttribute("role","button"),this._fileUpload.addEventListener("focus",(()=>{this._fileUpload.classList.contains("focus-visible")&&this._button.classList.add("active")})),this._fileUpload.addEventListener("blur",(()=>{this._button.classList.remove("active")}));const e=document.createElement("span");e.textContent=a.get("wcf.global.button.upload"),this._button.appendChild(e),this._button.insertAdjacentElement("afterbegin",this._fileUpload),this._insertButton(),r.default.trigger()}_createFileElement(e){const t=document.createElement("progress");let i;switch(t.max=100,this._target.nodeName){case"OL":case"UL":return i=document.createElement("li"),i.innerText=e.name,i.appendChild(t),this._target.appendChild(i),i;case"TBODY":return this._createFileTableRow(e);default:return i=document.createElement("p"),i.appendChild(t),this._target.appendChild(i),i}}_createFileElements(e){if(!e.length)return null;const t=[];Array.from(e).forEach((e=>{const i=this._createFileElement(e);i.classList.contains("uploadFailed")||(i.dataset.filename=e.name,i.dataset.internalFileId=(this._internalFileId++).toString(),t.push(i))}));const i=this._fileElements.length;return this._fileElements.push(t),r.default.trigger(),i}_createFileTableRow(e){throw new Error("Has to be implemented in subclass.")}_failure(e,t,i,n,o){return!0}_getParameters(){return{}}_getFormData(){return{}}_insertButton(){this._buttonContainer.insertAdjacentElement("afterbegin",this._button)}_progress(e,t){const i=Math.round(t.loaded/t.total*100);this._fileElements[e].forEach((e=>{const t=e.querySelector("progress");t&&(t.value=i)}))}_removeButton(){this._button.remove(),r.default.trigger()}_success(e,t,i,n,o){}_upload(e,t,i){this._target.querySelectorAll(".uploadFailed").forEach((e=>e.remove()));let n=null,o=[];if(t)o.push(t);else if(i){let e="";switch(i.type){case"image/jpeg":e="jpg";break;case"image/gif":e="gif";break;case"image/png":e="png";break;case"image/webp":e="webp"}o.push({name:`pasted-from-clipboard.${e}`})}else o=Array.from(this._fileUpload.files);return o.length&&this.validateUpload(o)&&(this._options.singleFileRequests?(n=[],o.forEach((e=>{const t=this._uploadFiles([e],i);1!==o.length&&this._multiFileUploadIds.push(t),n.push(t)}))):n=this._uploadFiles(o,i)),this._removeButton(),this._createButton(),n}validateUpload(e){return!0}_uploadFiles(e,t){function i(e,t){null!==e&&(t=t||"",Object.entries(e).forEach((([e,n])=>{if("object"==typeof n){i(n,0===t.length?e:`${t}[${e}]`)}else{const i=0===t.length?e:`${t}[${e}]`;r.append(i,n)}})))}const o=this._createFileElements(e);if(!this._fileElements[o].length)return null;const r=new FormData;for(let i=0,n=e.length;i<n;i++)if(this._fileElements[o][i]){const n=this._fileElements[o][i].dataset.internalFileId;t?r.append(`__files[${n}]`,t,e[i].name):r.append(`__files[${n}]`,e[i])}r.append("actionName",this._options.action),r.append("className",this._options.className),"upload"===this._options.action&&r.append("interfaceName","wcf\\data\\IUploadAction"),i(this._getParameters(),"parameters"),i(this._getFormData());return new n.default({data:r,contentType:!1,failure:this._failure.bind(this,o),silent:!0,success:this._success.bind(this,o),uploadProgress:this._progress.bind(this,o),url:this._options.url,withCredentials:!0}).sendRequest(),o}hasPendingUploads(){return void 0!==this._fileElements.find((e=>e.find((e=>null!==e.querySelector("progress")))))}uploadBlob(e){return this._upload(null,null,e)}uploadFile(e){return this._upload(null,e)}}return o.enableLegacyInheritance(s),s})),define("WoltLabSuite/Core/prism-meta",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default={markup:{title:"Markup",file:"markup"},html:{title:"HTML",file:"markup"},xml:{title:"XML",file:"markup"},svg:{title:"SVG",file:"markup"},mathml:{title:"MathML",file:"markup"},ssml:{title:"SSML",file:"markup"},atom:{title:"Atom",file:"markup"},rss:{title:"RSS",file:"markup"},css:{title:"CSS",file:"css"},clike:{title:"C-like",file:"clike"},javascript:{title:"JavaScript",file:"javascript"},abap:{title:"ABAP",file:"abap"},abnf:{title:"ABNF",file:"abnf"},actionscript:{title:"ActionScript",file:"actionscript"},ada:{title:"Ada",file:"ada"},agda:{title:"Agda",file:"agda"},al:{title:"AL",file:"al"},antlr4:{title:"ANTLR4",file:"antlr4"},apacheconf:{title:"Apache Configuration",file:"apacheconf"},apl:{title:"APL",file:"apl"},applescript:{title:"AppleScript",file:"applescript"},aql:{title:"AQL",file:"aql"},arduino:{title:"Arduino",file:"arduino"},arff:{title:"ARFF",file:"arff"},asciidoc:{title:"AsciiDoc",file:"asciidoc"},aspnet:{title:"ASP.NET (C#)",file:"aspnet"},asm6502:{title:"6502 Assembly",file:"asm6502"},autohotkey:{title:"AutoHotkey",file:"autohotkey"},autoit:{title:"AutoIt",file:"autoit"},bash:{title:"Bash",file:"bash"},basic:{title:"BASIC",file:"basic"},batch:{title:"Batch",file:"batch"},bbcode:{title:"BBcode",file:"bbcode"},bison:{title:"Bison",file:"bison"},bnf:{title:"BNF",file:"bnf"},brainfuck:{title:"Brainfuck",file:"brainfuck"},brightscript:{title:"BrightScript",file:"brightscript"},bro:{title:"Bro",file:"bro"},c:{title:"C",file:"c"},csharp:{title:"C#",file:"csharp"},cpp:{title:"C++",file:"cpp"},cil:{title:"CIL",file:"cil"},clojure:{title:"Clojure",file:"clojure"},cmake:{title:"CMake",file:"cmake"},coffeescript:{title:"CoffeeScript",file:"coffeescript"},concurnas:{title:"Concurnas",file:"concurnas"},csp:{title:"Content-Security-Policy",file:"csp"},crystal:{title:"Crystal",file:"crystal"},"css-extras":{title:"CSS Extras",file:"css-extras"},cypher:{title:"Cypher",file:"cypher"},d:{title:"D",file:"d"},dart:{title:"Dart",file:"dart"},dax:{title:"DAX",file:"dax"},dhall:{title:"Dhall",file:"dhall"},diff:{title:"Diff",file:"diff"},django:{title:"Django/Jinja2",file:"django"},"dns-zone-file":{title:"DNS zone file",file:"dns-zone-file"},docker:{title:"Docker",file:"docker"},ebnf:{title:"EBNF",file:"ebnf"},editorconfig:{title:"EditorConfig",file:"editorconfig"},eiffel:{title:"Eiffel",file:"eiffel"},ejs:{title:"EJS",file:"ejs"},elixir:{title:"Elixir",file:"elixir"},elm:{title:"Elm",file:"elm"},etlua:{title:"Embedded Lua templating",file:"etlua"},erb:{title:"ERB",file:"erb"},erlang:{title:"Erlang",file:"erlang"},"excel-formula":{title:"Excel Formula",file:"excel-formula"},fsharp:{title:"F#",file:"fsharp"},factor:{title:"Factor",file:"factor"},"firestore-security-rules":{title:"Firestore security rules",file:"firestore-security-rules"},flow:{title:"Flow",file:"flow"},fortran:{title:"Fortran",file:"fortran"},ftl:{title:"FreeMarker Template Language",file:"ftl"},gml:{title:"GameMaker Language",file:"gml"},gcode:{title:"G-code",file:"gcode"},gdscript:{title:"GDScript",file:"gdscript"},gedcom:{title:"GEDCOM",file:"gedcom"},gherkin:{title:"Gherkin",file:"gherkin"},git:{title:"Git",file:"git"},glsl:{title:"GLSL",file:"glsl"},go:{title:"Go",file:"go"},graphql:{title:"GraphQL",file:"graphql"},groovy:{title:"Groovy",file:"groovy"},haml:{title:"Haml",file:"haml"},handlebars:{title:"Handlebars",file:"handlebars"},haskell:{title:"Haskell",file:"haskell"},haxe:{title:"Haxe",file:"haxe"},hcl:{title:"HCL",file:"hcl"},hlsl:{title:"HLSL",file:"hlsl"},http:{title:"HTTP",file:"http"},hpkp:{title:"HTTP Public-Key-Pins",file:"hpkp"},hsts:{title:"HTTP Strict-Transport-Security",file:"hsts"},ichigojam:{title:"IchigoJam",file:"ichigojam"},icon:{title:"Icon",file:"icon"},ignore:{title:".ignore",file:"ignore"},gitignore:{title:".gitignore",file:"ignore"},hgignore:{title:".hgignore",file:"ignore"},npmignore:{title:".npmignore",file:"ignore"},inform7:{title:"Inform 7",file:"inform7"},ini:{title:"Ini",file:"ini"},io:{title:"Io",file:"io"},j:{title:"J",file:"j"},java:{title:"Java",file:"java"},javadoc:{title:"JavaDoc",file:"javadoc"},javadoclike:{title:"JavaDoc-like",file:"javadoclike"},javastacktrace:{title:"Java stack trace",file:"javastacktrace"},jolie:{title:"Jolie",file:"jolie"},jq:{title:"JQ",file:"jq"},jsdoc:{title:"JSDoc",file:"jsdoc"},"js-extras":{title:"JS Extras",file:"js-extras"},json:{title:"JSON",file:"json"},json5:{title:"JSON5",file:"json5"},jsonp:{title:"JSONP",file:"jsonp"},jsstacktrace:{title:"JS stack trace",file:"jsstacktrace"},"js-templates":{title:"JS Templates",file:"js-templates"},julia:{title:"Julia",file:"julia"},keyman:{title:"Keyman",file:"keyman"},kotlin:{title:"Kotlin",file:"kotlin"},kts:{title:"Kotlin Script",file:"kotlin"},latex:{title:"LaTeX",file:"latex"},tex:{title:"TeX",file:"latex"},context:{title:"ConTeXt",file:"latex"},latte:{title:"Latte",file:"latte"},less:{title:"Less",file:"less"},lilypond:{title:"LilyPond",file:"lilypond"},liquid:{title:"Liquid",file:"liquid"},lisp:{title:"Lisp",file:"lisp"},livescript:{title:"LiveScript",file:"livescript"},llvm:{title:"LLVM IR",file:"llvm"},lolcode:{title:"LOLCODE",file:"lolcode"},lua:{title:"Lua",file:"lua"},makefile:{title:"Makefile",file:"makefile"},markdown:{title:"Markdown",file:"markdown"},"markup-templating":{title:"Markup templating",file:"markup-templating"},matlab:{title:"MATLAB",file:"matlab"},mel:{title:"MEL",file:"mel"},mizar:{title:"Mizar",file:"mizar"},monkey:{title:"Monkey",file:"monkey"},moonscript:{title:"MoonScript",file:"moonscript"},n1ql:{title:"N1QL",file:"n1ql"},n4js:{title:"N4JS",file:"n4js"},"nand2tetris-hdl":{title:"Nand To Tetris HDL",file:"nand2tetris-hdl"},nasm:{title:"NASM",file:"nasm"},neon:{title:"NEON",file:"neon"},nginx:{title:"nginx",file:"nginx"},nim:{title:"Nim",file:"nim"},nix:{title:"Nix",file:"nix"},nsis:{title:"NSIS",file:"nsis"},objectivec:{title:"Objective-C",file:"objectivec"},ocaml:{title:"OCaml",file:"ocaml"},opencl:{title:"OpenCL",file:"opencl"},oz:{title:"Oz",file:"oz"},parigp:{title:"PARI/GP",file:"parigp"},parser:{title:"Parser",file:"parser"},pascal:{title:"Pascal",file:"pascal"},pascaligo:{title:"Pascaligo",file:"pascaligo"},pcaxis:{title:"PC-Axis",file:"pcaxis"},peoplecode:{title:"PeopleCode",file:"peoplecode"},perl:{title:"Perl",file:"perl"},php:{title:"PHP",file:"php"},phpdoc:{title:"PHPDoc",file:"phpdoc"},"php-extras":{title:"PHP Extras",file:"php-extras"},plsql:{title:"PL/SQL",file:"plsql"},powerquery:{title:"PowerQuery",file:"powerquery"},powershell:{title:"PowerShell",file:"powershell"},processing:{title:"Processing",file:"processing"},prolog:{title:"Prolog",file:"prolog"},properties:{title:".properties",file:"properties"},protobuf:{title:"Protocol Buffers",file:"protobuf"},pug:{title:"Pug",file:"pug"},puppet:{title:"Puppet",file:"puppet"},pure:{title:"Pure",file:"pure"},purebasic:{title:"PureBasic",file:"purebasic"},python:{title:"Python",file:"python"},q:{title:"Q (kdb+ database)",file:"q"},qml:{title:"QML",file:"qml"},qore:{title:"Qore",file:"qore"},r:{title:"R",file:"r"},racket:{title:"Racket",file:"racket"},jsx:{title:"React JSX",file:"jsx"},tsx:{title:"React TSX",file:"tsx"},reason:{title:"Reason",file:"reason"},regex:{title:"Regex",file:"regex"},renpy:{title:"Ren'py",file:"renpy"},rest:{title:"reST (reStructuredText)",file:"rest"},rip:{title:"Rip",file:"rip"},roboconf:{title:"Roboconf",file:"roboconf"},robotframework:{title:"Robot Framework",file:"robotframework"},ruby:{title:"Ruby",file:"ruby"},rust:{title:"Rust",file:"rust"},sas:{title:"SAS",file:"sas"},sass:{title:"Sass (Sass)",file:"sass"},scss:{title:"Sass (Scss)",file:"scss"},scala:{title:"Scala",file:"scala"},scheme:{title:"Scheme",file:"scheme"},"shell-session":{title:"Shell session",file:"shell-session"},smali:{title:"Smali",file:"smali"},smalltalk:{title:"Smalltalk",file:"smalltalk"},smarty:{title:"Smarty",file:"smarty"},solidity:{title:"Solidity (Ethereum)",file:"solidity"},"solution-file":{title:"Solution file",file:"solution-file"},soy:{title:"Soy (Closure Template)",file:"soy"},sparql:{title:"SPARQL",file:"sparql"},"splunk-spl":{title:"Splunk SPL",file:"splunk-spl"},sqf:{title:"SQF: Status Quo Function (Arma 3)",file:"sqf"},sql:{title:"SQL",file:"sql"},iecst:{title:"Structured Text (IEC 61131-3)",file:"iecst"},stylus:{title:"Stylus",file:"stylus"},swift:{title:"Swift",file:"swift"},"t4-templating":{title:"T4 templating",file:"t4-templating"},"t4-cs":{title:"T4 Text Templates (C#)",file:"t4-cs"},"t4-vb":{title:"T4 Text Templates (VB)",file:"t4-vb"},tap:{title:"TAP",file:"tap"},tcl:{title:"Tcl",file:"tcl"},tt2:{title:"Template Toolkit 2",file:"tt2"},textile:{title:"Textile",file:"textile"},toml:{title:"TOML",file:"toml"},turtle:{title:"Turtle",file:"turtle"},twig:{title:"Twig",file:"twig"},typescript:{title:"TypeScript",file:"typescript"},unrealscript:{title:"UnrealScript",file:"unrealscript"},vala:{title:"Vala",file:"vala"},vbnet:{title:"VB.Net",file:"vbnet"},velocity:{title:"Velocity",file:"velocity"},verilog:{title:"Verilog",file:"verilog"},vhdl:{title:"VHDL",file:"vhdl"},vim:{title:"vim",file:"vim"},"visual-basic":{title:"Visual Basic",file:"visual-basic"},vba:{title:"VBA",file:"visual-basic"},warpscript:{title:"WarpScript",file:"warpscript"},wasm:{title:"WebAssembly",file:"wasm"},wiki:{title:"Wiki markup",file:"wiki"},xeora:{title:"Xeora",file:"xeora"},"xml-doc":{title:"XML doc (.net)",file:"xml-doc"},xojo:{title:"Xojo (REALbasic)",file:"xojo"},xquery:{title:"XQuery",file:"xquery"},yaml:{title:"YAML",file:"yaml"},yang:{title:"YANG",file:"yang"},zig:{title:"Zig",file:"zig"}}})),define("WoltLabSuite/Core/Ajax/Data",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})})),define("WoltLabSuite/Core/Ajax/Jsonp",["require","exports","tslib","../Core"],(function(e,t,i,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.send=void 0,n=i.__importStar(n),t.send=function(e,t,i,o){if(0===(e="string"==typeof e?e.trim():"").length)throw new Error("Expected a non-empty string for parameter 'url'.");if("function"!=typeof t)throw new TypeError("Expected a valid callback function for parameter 'success'.");o=n.extend({parameterName:"callback",timeout:10},o||{});const r="wcf_jsonp_"+n.getUuid().replace(/-/g,"").substr(0,8),a=document.createElement("script"),s=window.setTimeout((()=>{"function"==typeof i&&i(),window[r]=void 0,a.remove()}),1e3*(~~o.timeout||10));window[r]=(...e)=>{window.clearTimeout(s),t(...e),window[r]=void 0,a.remove()},e+=-1===e.indexOf("?")?"?":"&",e+=o.parameterName+"="+r,a.async=!0,a.src=e,document.head.appendChild(a)}})),define("WoltLabSuite/Core/Prism/Helper",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.splitIntoLines=void 0,t.splitIntoLines=function*(e){const t=document.createNodeIterator(e,NodeFilter.SHOW_TEXT,{acceptNode:()=>NodeFilter.FILTER_ACCEPT});let i,n=document.createElement("span");for(;i=t.nextNode();){const t=i,o=t.data.split(/\r?\n/);for(let i=0,r=o.length;i<r;i++){const r=o[i];i>=1&&(n.appendChild(document.createTextNode("\n")),yield n,n=document.createElement("span"));let a=document.createTextNode(r),s=t.parentNode;for(;s&&s!==e;){const e=s.cloneNode(!1);e.appendChild(a),a=e,s=s.parentNode}n.appendChild(a)}}yield n}})),define("WoltLabSuite/Core/Bbcode/Code",["require","exports","tslib","../Language","../Clipboard","../Ui/Notification","../Prism","../Prism/Helper","../prism-meta"],(function(e,t,i,n,o,r,a,s,l){"use strict";async function c(){return new Promise(((e,t)=>{window.requestIdleCallback?window.requestIdleCallback(e,{timeout:5e3}):setTimeout(e,0)}))}n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importDefault(a),s=i.__importStar(s),l=i.__importDefault(l);class d{constructor(e){var t;this.container=e,this.codeContainer=this.container.querySelector(".codeBoxCode > code"),this.language=null===(t=Array.from(this.codeContainer.classList).find((e=>/^language-([a-z0-9_-]+)$/.test(e))))||void 0===t?void 0:t.replace(/^language-/,"")}static processAll(){document.querySelectorAll(".codeBox:not([data-processed])").forEach((e=>{e.dataset.processed="1";const t=new d(e);t.language&&t.highlight(),t.createCopyButton()}))}createCopyButton(){const e=this.container.querySelector(".codeBoxHeader");if(!e)return;const t=document.createElement("span");t.tabIndex=0,t.setAttribute("role","button"),t.className="icon icon24 fa-files-o pointer jsTooltip",t.setAttribute("title",n.get("wcf.message.bbcode.code.copy"));const i=async()=>{await o.copyElementTextToClipboard(this.codeContainer),r.show(n.get("wcf.message.bbcode.code.copy.success"))};t.addEventListener("click",i),t.addEventListener("keydown",(e=>{"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),i())})),e.appendChild(t)}async highlight(){if(!this.language)throw new Error("No language detected");if(!l.default[this.language])throw new Error(`Unknown language '${this.language}'`);this.container.classList.add("highlighting"),await new Promise(((t,i)=>{e(["prism/components/prism-"+l.default[this.language].file],t,i)})).then(i.__importStar),await c();const t=a.default.languages[this.language];if(!t)throw new Error(`Invalid language '${this.language}' given.`);const n=document.createElement("div");n.innerHTML=a.default.highlight(this.codeContainer.textContent,t,this.language),await c();const o=this.codeContainer.querySelectorAll(".codeBoxLine > span"),r=s.splitIntoLines(n);for(let e=0,t=o.length;e<t;e+=d.chunkSize){await c();const i=Math.min(e+d.chunkSize,t);for(let t=e;t<i;t++){const e=o[t],i=r.next().value;e.parentNode.replaceChild(i,e)}}this.container.classList.remove("highlighting"),this.container.classList.add("highlighted")}}return d.chunkSize=50,d})),define("WoltLabSuite/Core/Bbcode/Collapsible",["require","exports"],(function(e,t){"use strict";function i(e,t,i){if(e.classList.toggle("collapsed")){if(t.forEach((e=>{const t=e.dataset.titleExpand;e.classList.contains("icon")?(e.classList.remove("fa-compress"),e.classList.add("fa-expand"),e.title=t):e.textContent=t})),i instanceof Event){const t=e.getBoundingClientRect().top;if(t<0){let e=window.pageYOffset+(t-100);e<0&&(e=0),window.scrollTo(window.pageXOffset,e)}}}else t.forEach((e=>{const t=e.dataset.titleCollapse;e.classList.contains("icon")?(e.classList.add("fa-compress"),e.classList.remove("fa-expand"),e.title=t):e.textContent=t}))}Object.defineProperty(t,"__esModule",{value:!0}),t.observe=void 0,t.observe=function(){document.querySelectorAll(".jsCollapsibleBbcode").forEach((e=>{const t=Array.from(e.querySelectorAll(".toggleButton:not(.jsToggleButtonEnabled)")).filter((t=>t.closest(".jsCollapsibleBbcode")===e)),n=e.querySelector(".collapsibleBbcodeOverflow")||e;t.length>0&&function(e,t,n){t.forEach((n=>{n.classList.add("jsToggleButtonEnabled"),n.addEventListener("click",(n=>i(e,t,n))),n.addEventListener("keydown",(n=>{"Enter"!==n.key&&" "!==n.key||(n.preventDefault(),i(e,t))}))})),0!==n.scrollTop&&(n.scrollTop=0,i(e,t)),n.addEventListener("scroll",(()=>{n.scrollTop=0,e.classList.contains("collapsed")&&i(e,t)}))}(e,t,n),e.classList.remove("jsCollapsibleBbcode")}))}})),define("WoltLabSuite/Core/Bbcode/Spoiler",["require","exports","tslib","../Core","../Language","../Dom/Util"],(function(e,t,i,n,o,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.observe=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),t.observe=function(){const e="jsSpoilerBox";document.querySelectorAll(".jsSpoilerBox").forEach((t=>{t.classList.remove(e);const i=t.querySelector(".jsSpoilerToggle"),a=t.querySelector(".spoilerBoxContent");i.addEventListener("click",(e=>function(e,t,i){e.preventDefault(),i.classList.toggle("active");const a=i.classList.contains("active");a?r.default.show(t):r.default.hide(t),i.setAttribute("aria-expanded",a?"true":"false"),t.setAttribute("aria-hidden",a?"false":"true"),n.stringToBool(i.dataset.hasCustomLabel||"")||(i.textContent=o.get(i.classList.contains("active")?"wcf.bbcode.spoiler.hide":"wcf.bbcode.spoiler.show"))}(e,a,i)))}))}})),define("WoltLabSuite/Core/Controller/Captcha",["require","exports"],(function(e,t){"use strict";const i=new Map;return{add(e,t){if(i.has(e))throw new Error(`Captcha with id '${e}' is already registered.`);if("function"!=typeof t)throw new TypeError("Expected a valid callback for parameter 'callback'.");i.set(e,t)},delete(e){if(!i.has(e))throw new Error(`Unknown captcha with id '${e}'.`);i.delete(e)},has:e=>i.has(e),getData(e){if(!i.has(e))throw new Error(`Unknown captcha with id '${e}'.`);return i.get(e)()}}})),define("WoltLabSuite/Core/Event/Key",["require","exports"],(function(e,t){"use strict";function i(e,t,i){if(!(e instanceof Event))throw new TypeError("Expected a valid event when testing for key '"+t+"'.");return e.key===t||e.which===i}Object.defineProperty(t,"__esModule",{value:!0}),t.Tab=t.Space=t.Home=t.Escape=t.Enter=t.End=t.Comma=t.ArrowUp=t.ArrowRight=t.ArrowLeft=t.ArrowDown=void 0,t.ArrowDown=function(e){return i(e,"ArrowDown",40)},t.ArrowLeft=function(e){return i(e,"ArrowLeft",37)},t.ArrowRight=function(e){return i(e,"ArrowRight",39)},t.ArrowUp=function(e){return i(e,"ArrowUp",38)},t.Comma=function(e){return i(e,",",44)},t.End=function(e){return i(e,"End",35)},t.Enter=function(e){return i(e,"Enter",13)},t.Escape=function(e){return i(e,"Escape",27)},t.Home=function(e){return i(e,"Home",36)},t.Space=function(e){return i(e,"Space",32)},t.Tab=function(e){return i(e,"Tab",9)}})),define("WoltLabSuite/Core/Image/ExifUtil",["require","exports"],(function(e,t){"use strict";function i(e){return"Exif"===e||"http://ns.adobe.com/xap/1.0/"===e||"http://ns.adobe.com/xmp/extension/"===e}function n(...e){let t=0;const i=e.reduce(((e,t)=>e+t.length),0),n=new Uint8Array(i);return e.forEach((e=>{n.set(e,t),t+=e.length})),n}async function o(e){return new Promise(((t,i)=>{const n=new FileReader;n.addEventListener("error",(()=>{n.abort(),i(n.error)})),n.addEventListener("load",(()=>{t(new Uint8Array(n.result))})),n.readAsArrayBuffer(e)}))}async function r(e){if(!(e instanceof Blob||e instanceof File))throw new TypeError("The argument must be a Blob or a File");const t=await o(e);if(255!==t[0]&&t[1]!==a.SOI)throw new Error("Not a JPEG");let r=t;for(let e=2;e<r.length&&255===r[e];){const t=2+(r[e+2]<<8|r[e+3]);if(r[e+1]===a.APP1){let o="";for(let t=e+4;0!==r[t]&&t<r.length;t++)o+=String.fromCharCode(r[t]);if(i(o)){const i=r.slice(0,e),o=r.slice(e+t);r=n(i,o)}else e+=t}else e+=t}return new Blob([r],{type:e.type})}var a;Object.defineProperty(t,"__esModule",{value:!0}),t.setExifData=t.removeExifData=t.getExifBytesFromJpeg=void 0,function(e){e[e.SOI=216]="SOI",e[e.APP0=224]="APP0",e[e.APP1=225]="APP1",e[e.APP2=226]="APP2",e[e.APP3=227]="APP3",e[e.APP4=228]="APP4",e[e.APP5=229]="APP5",e[e.APP6=230]="APP6",e[e.APP7=231]="APP7",e[e.APP8=232]="APP8",e[e.APP9=233]="APP9",e[e.APP10=234]="APP10",e[e.APP11=235]="APP11",e[e.APP12=236]="APP12",e[e.APP13=237]="APP13",e[e.APP14=238]="APP14",e[e.COM=254]="COM"}(a||(a={}));t.getExifBytesFromJpeg=async function(e){if(!(e instanceof Blob||e instanceof File))throw new TypeError("The argument must be a Blob or a File");const t=await o(e);let r=new Uint8Array(0);if(255!==t[0]&&t[1]!==a.SOI)throw new Error("Not a JPEG");for(let e=2;e<t.length&&255===t[e];){const o=2+(t[e+2]<<8|t[e+3]);if(t[e+1]===a.APP1){let a="";for(let i=e+4;0!==t[i]&&i<t.length;i++)a+=String.fromCharCode(t[i]);if(i(a)){r=n(r,t.slice(e,o+e))}}e+=o}return r},t.removeExifData=r,t.setExifData=async function(e,t){e=await r(e);const i=await o(e);let s=2;255===i[2]&&i[3]===a.APP0&&(s+=2+(i[4]<<8|i[5]));const l=n(i.slice(0,s),t,i.slice(s));return new Blob([l],{type:e.type})}})),define("WoltLabSuite/Core/Image/ImageUtil",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.containsTransparentPixels=void 0,t.containsTransparentPixels=function(e){const t=e.getContext("2d");if(!t)throw new Error("Unable to get canvas context.");const i=t.getImageData(0,0,e.width,e.height);for(let e=3,t=i.data.length;e<t;e+=4)if(255!==i.data[e])return!0;return!1}})),function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define("pica",[],e);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).pica=e()}}((function(){return function e(t,i,n){function o(a,s){var l,c,d;if(!i[a]){if(!t[a]){if(l="function"==typeof require&&require,!s&&l)return l(a,!0);if(r)return r(a,!0);throw(c=new Error("Cannot find module '"+a+"'")).code="MODULE_NOT_FOUND",c}d=i[a]={exports:{}},t[a][0].call(d.exports,(function(e){return o(t[a][1][e]||e)}),d,d.exports,e,t,i,n)}return i[a].exports}for(var r="function"==typeof require&&require,a=0;a<n.length;a++)o(n[a]);return o}({1:[function(e,t,i){"use strict";function n(e){var t=e||[],i={js:t.indexOf("js")>=0,wasm:t.indexOf("wasm")>=0};r.call(this,i),this.features={js:i.js,wasm:i.wasm&&this.has_wasm()},this.use(a),this.use(s)}var o=e("inherits"),r=e("multimath"),a=e("multimath/lib/unsharp_mask"),s=e("./mm_resize");o(n,r),n.prototype.resizeAndUnsharp=function(e,t){var i=this.resize(e,t);return e.unsharpAmount&&this.unsharp_mask(i,e.toWidth,e.toHeight,e.unsharpAmount,e.unsharpRadius,e.unsharpThreshold),i},t.exports=n},{"./mm_resize":4,inherits:15,multimath:16,"multimath/lib/unsharp_mask":19}],2:[function(e,t,i){"use strict";function n(e){return e<0?0:e>255?255:e}t.exports={convolveHorizontally:function(e,t,i,o,r,a){var s,l,c,d,u,h,p,m,f,g,b,_=0,v=0;for(f=0;f<o;f++){for(u=0,g=0;g<r;g++){for(h=a[u++],p=a[u++],m=_+4*h|0,s=l=c=d=0;p>0;p--)d=d+(b=a[u++])*e[m+3]|0,c=c+b*e[m+2]|0,l=l+b*e[m+1]|0,s=s+b*e[m]|0,m=m+4|0;t[v+3]=n(d+8192>>14),t[v+2]=n(c+8192>>14),t[v+1]=n(l+8192>>14),t[v]=n(s+8192>>14),v=v+4*o|0}v=4*(f+1)|0,_=(f+1)*i*4|0}},convolveVertically:function(e,t,i,o,r,a){var s,l,c,d,u,h,p,m,f,g,b,_=0,v=0;for(f=0;f<o;f++){for(u=0,g=0;g<r;g++){for(h=a[u++],p=a[u++],m=_+4*h|0,s=l=c=d=0;p>0;p--)d=d+(b=a[u++])*e[m+3]|0,c=c+b*e[m+2]|0,l=l+b*e[m+1]|0,s=s+b*e[m]|0,m=m+4|0;t[v+3]=n(d+8192>>14),t[v+2]=n(c+8192>>14),t[v+1]=n(l+8192>>14),t[v]=n(s+8192>>14),v=v+4*o|0}v=4*(f+1)|0,_=(f+1)*i*4|0}}}},{}],3:[function(e,t,i){"use strict";t.exports="AGFzbQEAAAABFAJgBn9/f39/fwBgB39/f39/f38AAg8BA2VudgZtZW1vcnkCAAEDAwIAAQQEAXAAAAcZAghjb252b2x2ZQAACmNvbnZvbHZlSFYAAQkBAArmAwLBAwEQfwJAIANFDQAgBEUNACAFQQRqIRVBACEMQQAhDQNAIA0hDkEAIRFBACEHA0AgB0ECaiESAn8gBSAHQQF0IgdqIgZBAmouAQAiEwRAQQAhCEEAIBNrIRQgFSAHaiEPIAAgDCAGLgEAakECdGohEEEAIQlBACEKQQAhCwNAIBAoAgAiB0EYdiAPLgEAIgZsIAtqIQsgB0H/AXEgBmwgCGohCCAHQRB2Qf8BcSAGbCAKaiEKIAdBCHZB/wFxIAZsIAlqIQkgD0ECaiEPIBBBBGohECAUQQFqIhQNAAsgEiATagwBC0EAIQtBACEKQQAhCUEAIQggEgshByABIA5BAnRqIApBgMAAakEOdSIGQf8BIAZB/wFIG0EQdEGAgPwHcUEAIAZBAEobIAtBgMAAakEOdSIGQf8BIAZB/wFIG0EYdEEAIAZBAEobciAJQYDAAGpBDnUiBkH/ASAGQf8BSBtBCHRBgP4DcUEAIAZBAEobciAIQYDAAGpBDnUiBkH/ASAGQf8BSBtB/wFxQQAgBkEAShtyNgIAIA4gA2ohDiARQQFqIhEgBEcNAAsgDCACaiEMIA1BAWoiDSADRw0ACwsLIQACQEEAIAIgAyAEIAUgABAAIAJBACAEIAUgBiABEAALCw=="},{}],4:[function(e,t,i){"use strict";t.exports={name:"resize",fn:e("./resize"),wasm_fn:e("./resize_wasm"),wasm_src:e("./convolve_wasm_base64")}},{"./convolve_wasm_base64":3,"./resize":5,"./resize_wasm":8}],5:[function(e,t,i){"use strict";var n=e("./resize_filter_gen"),o=e("./convolve").convolveHorizontally,r=e("./convolve").convolveVertically;t.exports=function(e){var t=e.src,i=e.width,a=e.height,s=e.toWidth,l=e.toHeight,c=e.scaleX||e.toWidth/e.width,d=e.scaleY||e.toHeight/e.height,u=e.offsetX||0,h=e.offsetY||0,p=e.dest||new Uint8Array(s*l*4),m=void 0===e.quality?3:e.quality,f=e.alpha||!1,g=n(m,i,s,c,u),b=n(m,a,l,d,h),_=new Uint8Array(s*a*4);return o(t,_,i,a,s,g),r(_,p,a,s,l,b),f||function(e,t,i){for(var n=3,o=t*i*4|0;n<o;)e[n]=255,n=n+4|0}(p,s,l),p}},{"./convolve":2,"./resize_filter_gen":6}],6:[function(e,t,i){"use strict";function n(e){return Math.round(e*((1<<r)-1))}var o=e("./resize_filter_info"),r=14;t.exports=function(e,t,i,r,a){var s,l,c,d,u,h,p,m,f,g,b,_,v,w,y,E,S,L=o[e].filter,C=1/r,A=Math.min(1,r),I=o[e].win/A,x=Math.floor(2*(I+1)),k=new Int16Array((x+2)*i),D=0,T=!k.subarray||!k.set;for(s=0;s<i;s++){for(l=(s+.5)*C+a,c=Math.max(0,Math.floor(l-I)),u=(d=Math.min(t-1,Math.ceil(l+I)))-c+1,h=new Float32Array(u),p=new Int16Array(u),m=0,f=c,g=0;f<=d;f++,g++)m+=b=L((f+.5-l)*A),h[g]=b;for(_=0,g=0;g<h.length;g++)_+=v=h[g]/m,p[g]=n(v);for(p[i>>1]+=n(1-_),w=0;w<p.length&&0===p[w];)w++;if(w<p.length){for(y=p.length-1;y>0&&0===p[y];)y--;if(E=c+w,S=y-w+1,k[D++]=E,k[D++]=S,T)for(g=w;g<=y;g++)k[D++]=p[g];else k.set(p.subarray(w,y+1),D),D+=S}else k[D++]=0,k[D++]=0}return k}},{"./resize_filter_info":7}],7:[function(e,t,i){"use strict";t.exports=[{win:.5,filter:function(e){return e>=-.5&&e<.5?1:0}},{win:1,filter:function(e){if(e<=-1||e>=1)return 0;if(e>-1.1920929e-7&&e<1.1920929e-7)return 1;var t=e*Math.PI;return Math.sin(t)/t*(.54+.46*Math.cos(t/1))}},{win:2,filter:function(e){if(e<=-2||e>=2)return 0;if(e>-1.1920929e-7&&e<1.1920929e-7)return 1;var t=e*Math.PI;return Math.sin(t)/t*Math.sin(t/2)/(t/2)}},{win:3,filter:function(e){if(e<=-3||e>=3)return 0;if(e>-1.1920929e-7&&e<1.1920929e-7)return 1;var t=e*Math.PI;return Math.sin(t)/t*Math.sin(t/3)/(t/3)}}]},{}],8:[function(e,t,i){"use strict";function n(e,t,i){var n,o,a;if(r)t.set(function(e){return new Uint8Array(e.buffer,0,e.byteLength)}(e),i);else for(n=i,o=0;o<e.length;o++)a=e[o],t[n++]=255&a,t[n++]=a>>8&255}var o=e("./resize_filter_gen"),r=!0;try{r=1===new Uint32Array(new Uint8Array([1,0,0,0]).buffer)[0]}catch(e){}t.exports=function(e){var t=e.src,i=e.width,r=e.height,a=e.toWidth,s=e.toHeight,l=e.scaleX||e.toWidth/e.width,c=e.scaleY||e.toHeight/e.height,d=e.offsetX||0,u=e.offsetY||0,h=e.dest||new Uint8Array(a*s*4),p=void 0===e.quality?3:e.quality,m=e.alpha||!1,f=o(p,i,a,l,d),g=o(p,r,s,c,u),b=0,_=this.__align(b+Math.max(t.byteLength,h.byteLength)),v=this.__align(_+r*a*4),w=this.__align(v+f.byteLength),y=w+g.byteLength,E=this.__instance("resize",y),S=new Uint8Array(this.__memory.buffer),L=new Uint32Array(this.__memory.buffer),C=new Uint32Array(t.buffer);return L.set(C),n(f,S,v),n(g,S,w),(E.exports.convolveHV||E.exports._convolveHV)(v,w,_,i,r,a,s),new Uint32Array(h.buffer).set(new Uint32Array(this.__memory.buffer,0,s*a)),m||function(e,t,i){for(var n=3,o=t*i*4|0;n<o;)e[n]=255,n=n+4|0}(h,a,s),h}},{"./resize_filter_gen":6}],9:[function(e,t,i){"use strict";function n(e,t){this.create=e,this.available=[],this.acquired={},this.lastId=1,this.timeoutId=0,this.idle=t||2e3}n.prototype.acquire=function(){var e,t=this;return 0!==this.available.length?e=this.available.pop():((e=this.create()).id=this.lastId++,e.release=function(){return t.release(e)}),this.acquired[e.id]=e,e},n.prototype.release=function(e){var t=this;delete this.acquired[e.id],e.lastUsed=Date.now(),this.available.push(e),0===this.timeoutId&&(this.timeoutId=setTimeout((function(){return t.gc()}),100))},n.prototype.gc=function(){var e=this,t=Date.now();this.available=this.available.filter((function(i){return!(t-i.lastUsed>e.idle)||(i.destroy(),!1)})),0!==this.available.length?this.timeoutId=setTimeout((function(){return e.gc()}),100):this.timeoutId=0},t.exports=n},{}],10:[function(e,t,i){"use strict";t.exports=function(e,t,i,n,o,r){var a,s,l,c,d,u=i/e,h=n/t,p=(2*r+2+1)/o;if(p>.5)return[[i,n]];if((a=Math.ceil(Math.log(Math.min(u,h))/Math.log(p)))<=1)return[[i,n]];for(s=[],l=0;l<a;l++)c=Math.round(Math.pow(Math.pow(e,a-l-1)*Math.pow(i,l+1),1/a)),d=Math.round(Math.pow(Math.pow(t,a-l-1)*Math.pow(n,l+1),1/a)),s.push([c,d]);return s}},{}],11:[function(e,t,i){"use strict";function n(e){var t=Math.round(e);return Math.abs(e-t)<r?t:Math.floor(e)}function o(e){var t=Math.round(e);return Math.abs(e-t)<r?t:Math.ceil(e)}var r=1e-5;t.exports=function(e){var t,i,r,a,s,l,c,d,u=e.toWidth/e.width,h=e.toHeight/e.height,p=n(e.srcTileSize*u)-2*e.destTileBorder,m=n(e.srcTileSize*h)-2*e.destTileBorder;if(p<1||m<1)throw new Error("Internal error in pica: target tile width/height is too small.");for(c=[],a=0;a<e.toHeight;a+=m)for(r=0;r<e.toWidth;r+=p)(t=r-e.destTileBorder)<0&&(t=0),t+(s=r+p+e.destTileBorder-t)>=e.toWidth&&(s=e.toWidth-t),(i=a-e.destTileBorder)<0&&(i=0),i+(l=a+m+e.destTileBorder-i)>=e.toHeight&&(l=e.toHeight-i),d={toX:t,toY:i,toWidth:s,toHeight:l,toInnerX:r,toInnerY:a,toInnerWidth:p,toInnerHeight:m,offsetX:t/u-n(t/u),offsetY:i/h-n(i/h),scaleX:u,scaleY:h,x:n(t/u),y:n(i/h),width:o(s/u),height:o(l/h)},c.push(d);return c}},{}],12:[function(e,t,i){"use strict";function n(e){return Object.prototype.toString.call(e)}t.exports.isCanvas=function(e){var t=n(e);return"[object HTMLCanvasElement]"===t||"[object Canvas]"===t},t.exports.isImage=function(e){return"[object HTMLImageElement]"===n(e)},t.exports.limiter=function(e){function t(){i<e&&n.length&&(i++,n.shift()())}var i=0,n=[];return function(e){return new Promise((function(o,r){n.push((function(){e().then((function(e){o(e),i--,t()}),(function(e){r(e),i--,t()}))})),t()}))}},t.exports.cib_quality_name=function(e){switch(e){case 0:return"pixelated";case 1:return"low";case 2:return"medium"}return"high"},t.exports.cib_support=function(){return Promise.resolve().then((function(){if("undefined"==typeof createImageBitmap||"undefined"==typeof document)return!1;var e=document.createElement("canvas");return e.width=100,e.height=100,createImageBitmap(e,0,0,100,100,{resizeWidth:10,resizeHeight:10,resizeQuality:"high"}).then((function(t){var i=10===t.width;return t.close(),e=null,i}))})).catch((function(){return!1}))}},{}],13:[function(e,t,i){"use strict";t.exports=function(){var t,i=e("./mathlib");onmessage=function(e){var n,o=e.data.opts;t||(t=new i(e.data.features)),n=t.resizeAndUnsharp(o),postMessage({result:n},[n.buffer])}}},{"./mathlib":1}],14:[function(e,t,i){function n(e,t,i,n,o,r){var a,s,l,c,d,u,h,p,m,f,g,b,_,v;for(m=0;m<r;m++){for(h=m,p=0,c=d=(a=e[u=m*o])*n[6],g=n[0],b=n[1],_=n[4],v=n[5],f=0;f<o;f++)l=(s=e[u])*g+a*b+c*_+d*v,d=c,c=l,a=s,i[p]=c,p++,u++;for(p--,h+=r*(o-1),c=d=(a=e[--u])*n[7],s=a,g=n[2],b=n[3],f=o-1;f>=0;f--)l=s*g+a*b+c*_+d*v,d=c,c=l,a=s,s=e[u],t[h]=i[p]+c,u--,p--,h-=r}}var o,r,a,s,l,c;t.exports=function(e,t,i,d){var u,h,p;d&&(n(e,u=new Uint16Array(e.length),h=new Float32Array(Math.max(t,i)),p=function(e){e<.5&&(e=.5);var t=Math.exp(.527076)/e,i=Math.exp(-t),n=Math.exp(-2*t),d=(1-i)*(1-i)/(1+2*t*i-n);return o=d,r=d*(t-1)*i,a=d*(t+1)*i,s=-d*n,l=2*i,c=-n,new Float32Array([o,r,a,s,l,c,(o+r)/(1-l-c),(a+s)/(1-l-c)])}(d),t,i),n(u,e,h,p,i,t))}},{}],15:[function(e,t,i){"function"==typeof Object.create?t.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:t.exports=function(e,t){if(t){e.super_=t;var i=function(){};i.prototype=t.prototype,e.prototype=new i,e.prototype.constructor=e}}},{}],16:[function(e,t,i){"use strict";function n(e){if(!(this instanceof n))return new n(e);var t=o({},s,e||{});if(this.options=t,this.__cache={},this.__init_promise=null,this.__modules=t.modules||{},this.__memory=null,this.__wasm={},this.__isLE=1===new Uint32Array(new Uint8Array([1,0,0,0]).buffer)[0],!this.options.js&&!this.options.wasm)throw new Error('mathlib: at least "js" or "wasm" should be enabled')}var o=e("object-assign"),r=e("./lib/base64decode"),a=e("./lib/wa_detect"),s={js:!0,wasm:!0};n.prototype.has_wasm=a,n.prototype.use=function(e){return this.__modules[e.name]=e,this.options.wasm&&this.has_wasm()&&e.wasm_fn?this[e.name]=e.wasm_fn:this[e.name]=e.fn,this},n.prototype.init=function(){if(this.__init_promise)return this.__init_promise;if(!this.options.js&&this.options.wasm&&!this.has_wasm())return Promise.reject(new Error('mathlib: only "wasm" was enabled, but it\'s not supported'));var e=this;return this.__init_promise=Promise.all(Object.keys(e.__modules).map((function(t){var i=e.__modules[t];return e.options.wasm&&e.has_wasm()&&i.wasm_fn?e.__wasm[t]?null:WebAssembly.compile(e.__base64decode(i.wasm_src)).then((function(i){e.__wasm[t]=i})):null}))).then((function(){return e})),this.__init_promise},n.prototype.__base64decode=r,n.prototype.__reallocate=function(e){if(!this.__memory)return this.__memory=new WebAssembly.Memory({initial:Math.ceil(e/65536)}),this.__memory;var t=this.__memory.buffer.byteLength;return t<e&&this.__memory.grow(Math.ceil((e-t)/65536)),this.__memory},n.prototype.__instance=function(e,t,i){var n,r;return t&&this.__reallocate(t),this.__wasm[e]||(n=this.__modules[e],this.__wasm[e]=new WebAssembly.Module(this.__base64decode(n.wasm_src))),this.__cache[e]||(r={memoryBase:0,memory:this.__memory,tableBase:0,table:new WebAssembly.Table({initial:0,element:"anyfunc"})},this.__cache[e]=new WebAssembly.Instance(this.__wasm[e],{env:o(r,i||{})})),this.__cache[e]},n.prototype.__align=function(e,t){var i=e%(t=t||8);return e+(i?t-i:0)},t.exports=n},{"./lib/base64decode":17,"./lib/wa_detect":23,"object-assign":24}],17:[function(e,t,i){"use strict";t.exports=function(e){var t,i,n=e.replace(/[\r\n=]/g,""),o=n.length,r=new Uint8Array(3*o>>2),a=0,s=0;for(t=0;t<o;t++)t%4==0&&t&&(r[s++]=a>>16&255,r[s++]=a>>8&255,r[s++]=255&a),a=a<<6|"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".indexOf(n.charAt(t));return 0===(i=o%4*6)?(r[s++]=a>>16&255,r[s++]=a>>8&255,r[s++]=255&a):18===i?(r[s++]=a>>10&255,r[s++]=a>>2&255):12===i&&(r[s++]=a>>4&255),r}},{}],18:[function(e,t,i){"use strict";t.exports=function(e,t,i){var n,o,r,a,s,l,c=t*i,d=new Uint16Array(c);for(l=0;l<c;l++)n=e[4*l],o=e[4*l+1],r=e[4*l+2],s=n>=o&&n>=r?n:o>=r&&o>=n?o:r,a=n<=o&&n<=r?n:o<=r&&o<=n?o:r,d[l]=257*(s+a)>>1;return d}},{}],19:[function(e,t,i){"use strict";t.exports={name:"unsharp_mask",fn:e("./unsharp_mask"),wasm_fn:e("./unsharp_mask_wasm"),wasm_src:e("./unsharp_mask_wasm_base64")}},{"./unsharp_mask":20,"./unsharp_mask_wasm":21,"./unsharp_mask_wasm_base64":22}],20:[function(e,t,i){"use strict";var n=e("glur/mono16"),o=e("./hsl_l16");t.exports=function(e,t,i,r,a,s){var l,c,d,u,h,p,m,f,g,b,_,v,w,y,E,S,L,C,A;if(!(0===r||a<.5))for(a>2&&(a=2),y=o(e,t,i),E=new Uint16Array(y),n(E,t,i,a),S=r/100*4096+.5|0,L=257*s|0,C=t*i,A=0;A<C;A++)v=2*(y[A]-E[A]),Math.abs(v)>=L&&(l=e[w=4*A],c=e[w+1],d=e[w+2],p=257*((f=l>=c&&l>=d?l:c>=l&&c>=d?c:d)+(m=l<=c&&l<=d?l:c<=l&&c<=d?c:d))>>1,m===f?u=h=0:(h=p<=32767?4095*(f-m)/(f+m)|0:4095*(f-m)/(510-f-m)|0,u=l===f?65535*(c-d)/(6*(f-m))|0:c===f?21845+(65535*(d-l)/(6*(f-m))|0):43690+(65535*(l-c)/(6*(f-m))|0)),(p+=S*v+2048>>12)>65535?p=65535:p<0&&(p=0),0===h?l=c=d=p>>8:(g=2*p-(b=p<=32767?p*(4096+h)+2048>>12:p+((65535-p)*h+2048>>12))>>8,b>>=8,l=(_=u+21845&65535)>=43690?g:_>=32767?g+(6*(b-g)*(43690-_)+32768>>16):_>=10922?b:g+(6*(b-g)*_+32768>>16),c=(_=65535&u)>=43690?g:_>=32767?g+(6*(b-g)*(43690-_)+32768>>16):_>=10922?b:g+(6*(b-g)*_+32768>>16),d=(_=u-21845&65535)>=43690?g:_>=32767?g+(6*(b-g)*(43690-_)+32768>>16):_>=10922?b:g+(6*(b-g)*_+32768>>16)),e[w]=l,e[w+1]=c,e[w+2]=d)}},{"./hsl_l16":18,"glur/mono16":14}],21:[function(e,t,i){"use strict";t.exports=function(e,t,i,n,o,r){var a,s,l,c,d,u,h,p,m,f,g,b,_,v;0===n||o<.5||(o>2&&(o=2),u=32,h=0,b=(g=(f=(m=(p=s=4*(a=t*i))+(l=2*a))+(c=2*a))+c)+(d=4*Math.max(t,i)),_=this.__instance("unsharp_mask",s+l+2*c+d+u,{exp:Math.exp}),v=new Uint32Array(e.buffer),new Uint32Array(this.__memory.buffer).set(v),(_.exports.hsl_l16||_.exports._hsl_l16)(h,p,t,i),(_.exports.blurMono16||_.exports._blurMono16)(p,m,f,g,b,t,i,o),(_.exports.unsharp||_.exports._unsharp)(h,h,p,m,t,i,n,r),v.set(new Uint32Array(this.__memory.buffer,0,a)))}},{}],22:[function(e,t,i){"use strict";t.exports="AGFzbQEAAAABMQZgAXwBfGACfX8AYAZ/f39/f38AYAh/f39/f39/fQBgBH9/f38AYAh/f39/f39/fwACGQIDZW52A2V4cAAAA2VudgZtZW1vcnkCAAEDBgUBAgMEBQQEAXAAAAdMBRZfX2J1aWxkX2dhdXNzaWFuX2NvZWZzAAEOX19nYXVzczE2X2xpbmUAAgpibHVyTW9ubzE2AAMHaHNsX2wxNgAEB3Vuc2hhcnAABQkBAAqJEAXZAQEGfAJAIAFE24a6Q4Ia+z8gALujIgOaEAAiBCAEoCIGtjgCECABIANEAAAAAAAAAMCiEAAiBbaMOAIUIAFEAAAAAAAA8D8gBKEiAiACoiAEIAMgA6CiRAAAAAAAAPA/oCAFoaMiArY4AgAgASAEIANEAAAAAAAA8L+gIAKioiIHtjgCBCABIAQgA0QAAAAAAADwP6AgAqKiIgO2OAIIIAEgBSACoiIEtow4AgwgASACIAegIAVEAAAAAAAA8D8gBqGgIgKjtjgCGCABIAMgBKEgAqO2OAIcCwu3AwMDfwR9CHwCQCADKgIUIQkgAyoCECEKIAMqAgwhCyADKgIIIQwCQCAEQX9qIgdBAEgiCA0AIAIgAC8BALgiDSADKgIYu6IiDiAJuyIQoiAOIAq7IhGiIA0gAyoCBLsiEqIgAyoCALsiEyANoqCgoCIPtjgCACACQQRqIQIgAEECaiEAIAdFDQAgBCEGA0AgAiAOIBCiIA8iDiARoiANIBKiIBMgAC8BALgiDaKgoKAiD7Y4AgAgAkEEaiECIABBAmohACAGQX9qIgZBAUoNAAsLAkAgCA0AIAEgByAFbEEBdGogAEF+ai8BACIIuCINIAu7IhGiIA0gDLsiEqKgIA0gAyoCHLuiIg4gCrsiE6KgIA4gCbsiFKKgIg8gAkF8aioCALugqzsBACAHRQ0AIAJBeGohAiAAQXxqIQBBACAFQQF0ayEHIAEgBSAEQQF0QXxqbGohBgNAIAghAyAALwEAIQggBiANIBGiIAO4Ig0gEqKgIA8iECAToqAgDiAUoqAiDyACKgIAu6CrOwEAIAYgB2ohBiAAQX5qIQAgAkF8aiECIBAhDiAEQX9qIgRBAUoNAAsLCwvfAgIDfwZ8AkAgB0MAAAAAWw0AIARE24a6Q4Ia+z8gB0MAAAA/l7ujIgyaEAAiDSANoCIPtjgCECAEIAxEAAAAAAAAAMCiEAAiDraMOAIUIAREAAAAAAAA8D8gDaEiCyALoiANIAwgDKCiRAAAAAAAAPA/oCAOoaMiC7Y4AgAgBCANIAxEAAAAAAAA8L+gIAuioiIQtjgCBCAEIA0gDEQAAAAAAADwP6AgC6KiIgy2OAIIIAQgDiALoiINtow4AgwgBCALIBCgIA5EAAAAAAAA8D8gD6GgIgujtjgCGCAEIAwgDaEgC6O2OAIcIAYEQCAFQQF0IQogBiEJIAIhCANAIAAgCCADIAQgBSAGEAIgACAKaiEAIAhBAmohCCAJQX9qIgkNAAsLIAVFDQAgBkEBdCEIIAUhAANAIAIgASADIAQgBiAFEAIgAiAIaiECIAFBAmohASAAQX9qIgANAAsLC7wBAQV/IAMgAmwiAwRAQQAgA2shBgNAIAAoAgAiBEEIdiIHQf8BcSECAn8gBEH/AXEiAyAEQRB2IgRB/wFxIgVPBEAgAyIIIAMgAk8NARoLIAQgBCAHIAIgA0kbIAIgBUkbQf8BcQshCAJAIAMgAk0EQCADIAVNDQELIAQgByAEIAMgAk8bIAIgBUsbQf8BcSEDCyAAQQRqIQAgASADIAhqQYECbEEBdjsBACABQQJqIQEgBkEBaiIGDQALCwvTBgEKfwJAIAazQwAAgEWUQwAAyEKVu0QAAAAAAADgP6CqIQ0gBSAEbCILBEAgB0GBAmwhDgNAQQAgAi8BACADLwEAayIGQQF0IgdrIAcgBkEASBsgDk8EQCAAQQJqLQAAIQUCfyAALQAAIgYgAEEBai0AACIESSIJRQRAIAYiCCAGIAVPDQEaCyAFIAUgBCAEIAVJGyAGIARLGwshCAJ/IAYgBE0EQCAGIgogBiAFTQ0BGgsgBSAFIAQgBCAFSxsgCRsLIgogCGoiD0GBAmwiEEEBdiERQQAhDAJ/QQAiCSAIIApGDQAaIAggCmsiCUH/H2wgD0H+AyAIayAKayAQQYCABEkbbSEMIAYgCEYEQCAEIAVrQf//A2wgCUEGbG0MAQsgBSAGayAGIARrIAQgCEYiBhtB//8DbCAJQQZsbUHVqgFBqtUCIAYbagshCSARIAcgDWxBgBBqQQx1aiIGQQAgBkEAShsiBkH//wMgBkH//wNIGyEGAkACfwJAIAxB//8DcSIFBEAgBkH//wFKDQEgBUGAIGogBmxBgBBqQQx2DAILIAZBCHYiBiEFIAYhBAwCCyAFIAZB//8Dc2xBgBBqQQx2IAZqCyIFQQh2IQcgBkEBdCAFa0EIdiIGIQQCQCAJQdWqAWpB//8DcSIFQanVAksNACAFQf//AU8EQEGq1QIgBWsgByAGa2xBBmxBgIACakEQdiAGaiEEDAELIAchBCAFQanVAEsNACAFIAcgBmtsQQZsQYCAAmpBEHYgBmohBAsCfyAGIgUgCUH//wNxIghBqdUCSw0AGkGq1QIgCGsgByAGa2xBBmxBgIACakEQdiAGaiAIQf//AU8NABogByIFIAhBqdUASw0AGiAIIAcgBmtsQQZsQYCAAmpBEHYgBmoLIQUgCUGr1QJqQf//A3EiCEGp1QJLDQAgCEH//wFPBEBBqtUCIAhrIAcgBmtsQQZsQYCAAmpBEHYgBmohBgwBCyAIQanVAEsEQCAHIQYMAQsgCCAHIAZrbEEGbEGAgAJqQRB2IAZqIQYLIAEgBDoAACABQQFqIAU6AAAgAUECaiAGOgAACyADQQJqIQMgAkECaiECIABBBGohACABQQRqIQEgC0F/aiILDQALCwsL"},{}],23:[function(e,t,i){"use strict";var n;t.exports=function(){var e,t;if(void 0!==n)return n;if(n=!1,"undefined"==typeof WebAssembly)return n;try{return e=new Uint8Array([0,97,115,109,1,0,0,0,1,6,1,96,1,127,1,127,3,2,1,0,5,3,1,0,1,7,8,1,4,116,101,115,116,0,0,10,16,1,14,0,32,0,65,1,54,2,0,32,0,40,2,0,11]),t=new WebAssembly.Module(e),0!==new WebAssembly.Instance(t,{}).exports.test(4)&&(n=!0),n}catch(e){}return n}},{}],24:[function(e,t,i){"use strict";function n(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}var o=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;t.exports=function(){var e,t,i,n;try{if(!Object.assign)return!1;if((e=new String("abc"))[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(t={},i=0;i<10;i++)t["_"+String.fromCharCode(i)]=i;return"0123456789"===Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join("")&&(n={},"abcdefghijklmnopqrst".split("").forEach((function(e){n[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join(""))}catch(e){return!1}}()?Object.assign:function(e,t){var i,s,l,c,d,u=n(e);for(l=1;l<arguments.length;l++){for(c in i=Object(arguments[l]))r.call(i,c)&&(u[c]=i[c]);if(o)for(s=o(i),d=0;d<s.length;d++)a.call(i,s[d])&&(u[s[d]]=i[s[d]])}return u}},{}],25:[function(e,t,i){var n=arguments[3],o=arguments[4],r=arguments[5],a=JSON.stringify;t.exports=function(e,t){var i,s,l,c,d,u,h,p,m,f,g,b,_,v,w=Object.keys(r);for(s=0,l=w.length;s<l;s++)if(c=w[s],(d=r[c].exports)===e||d&&d.default===e){i=c;break}if(!i){for(i=Math.floor(Math.pow(16,8)*Math.random()).toString(16),u={},s=0,l=w.length;s<l;s++)u[c=w[s]]=c;o[i]=["function(require,module,exports){"+e+"(self); }",u]}return h=Math.floor(Math.pow(16,8)*Math.random()).toString(16),(p={})[i]=i,o[h]=["function(require,module,exports){var f = require("+a(i)+");(f.default ? f.default : f)(self);}",p],m={},function e(t){var i,n;for(i in m[t]=!0,o[t][1])n=o[t][1][i],m[n]||e(n)}(h),f="("+n+")({"+Object.keys(m).map((function(e){return a(e)+":["+o[e][0]+","+a(o[e][1])+"]"})).join(",")+"},{},["+a(h)+"])",g=window.URL||window.webkitURL||window.mozURL||window.msURL,b=new Blob([f],{type:"text/javascript"}),t&&t.bare?b:(_=g.createObjectURL(b),(v=new Worker(_)).objectURL=_,v)}},{}],"/":[function(e,t,i){"use strict";function n(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var i,n,o=[],r=!0,a=!1,s=void 0;try{for(i=e[Symbol.iterator]();!(r=(n=i.next()).done)&&(o.push(n.value),!t||o.length!==t);r=!0);}catch(e){a=!0,s=e}finally{try{r||null==i.return||i.return()}finally{if(a)throw s}}return o}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function o(){return{value:h(g),destroy:function(){if(this.value.terminate(),"undefined"!=typeof window){var e=window.URL||window.webkitURL||window.mozURL||window.msURL;e&&e.revokeObjectURL&&this.value.objectURL&&e.revokeObjectURL(this.value.objectURL)}}}}function r(e){if(!(this instanceof r))return new r(e);this.options=u({},s,e||{});var t="lk_".concat(this.options.concurrency);this.__limit=v[t]||f.limiter(this.options.concurrency),v[t]||(v[t]=this.__limit),this.features={js:!1,wasm:!1,cib:!1,ww:!1},this.__workersPool=null,this.__requested_features=[],this.__mathlib=null}var a,s,l,c,d,u=e("object-assign"),h=e("webworkify"),p=e("./lib/mathlib"),m=e("./lib/pool"),f=e("./lib/utils"),g=e("./lib/worker"),b=e("./lib/stepper"),_=e("./lib/tiler"),v={},w=!1;try{"undefined"!=typeof navigator&&navigator.userAgent&&(w=navigator.userAgent.indexOf("Safari")>=0)}catch(e){}a=1,"undefined"!=typeof navigator&&(a=Math.min(navigator.hardwareConcurrency||1,4)),s={tile:1024,concurrency:a,features:["js","wasm","ww"],idle:2e3},l={quality:3,alpha:!1,unsharpAmount:0,unsharpRadius:0,unsharpThreshold:0},r.prototype.init=function(){var t,i,n,r,a=this;if(this.__initPromise)return this.__initPromise;if(!1!==c&&!0!==c&&(c=!1,"undefined"!=typeof ImageData&&"undefined"!=typeof Uint8ClampedArray))try{new ImageData(new Uint8ClampedArray(400),10,10),c=!0}catch(e){}if(!1!==d&&!0!==d&&(d=!1,"undefined"!=typeof ImageBitmap&&(ImageBitmap.prototype&&ImageBitmap.prototype.close?d=!0:this.debug("ImageBitmap does not support .close(), disabled"))),(t=this.options.features.slice()).indexOf("all")>=0&&(t=["cib","wasm","js","ww"]),this.__requested_features=t,this.__mathlib=new p(t),t.indexOf("ww")>=0&&"undefined"!=typeof window&&"Worker"in window)try{e("webworkify")((function(){})).terminate(),this.features.ww=!0,i="wp_".concat(JSON.stringify(this.options)),v[i]?this.__workersPool=v[i]:(this.__workersPool=new m(o,this.options.idle),v[i]=this.__workersPool)}catch(e){}return n=this.__mathlib.init().then((function(e){u(a.features,e.features)})),r=d?f.cib_support().then((function(e){a.features.cib&&t.indexOf("cib")<0?a.debug("createImageBitmap() resize supported, but disabled by config"):t.indexOf("cib")>=0&&(a.features.cib=e)})):Promise.resolve(!1),this.__initPromise=Promise.all([n,r]).then((function(){return a})),this.__initPromise},r.prototype.resize=function(e,t,i){var o,r,a,s,h,p=this;return this.debug("Start resize..."),o=u({},l),isNaN(i)?i&&(o=u(o,i)):o=u(o,{quality:i}),o.toWidth=t.width,o.toHeight=t.height,o.width=e.naturalWidth||e.width,o.height=e.naturalHeight||e.height,0===t.width||0===t.height?Promise.reject(new Error("Invalid output size: ".concat(t.width,"x").concat(t.height))):(o.unsharpRadius>2&&(o.unsharpRadius=2),r=!1,a=null,o.cancelToken&&(a=o.cancelToken.then((function(e){throw r=!0,e}),(function(e){throw r=!0,e}))),s=3,h=Math.ceil(Math.max(s,2.5*o.unsharpRadius|0)),this.init().then((function(){var i,s,l,m;return r?a:p.features.cib?(i=t.getContext("2d",{alpha:Boolean(o.alpha)}),p.debug("Resize via createImageBitmap()"),createImageBitmap(e,{resizeWidth:o.toWidth,resizeHeight:o.toHeight,resizeQuality:f.cib_quality_name(o.quality)}).then((function(e){var n,s,l;return r?a:o.unsharpAmount?(p.debug("Unsharp result"),(n=document.createElement("canvas")).width=o.toWidth,n.height=o.toHeight,(s=n.getContext("2d",{alpha:Boolean(o.alpha)})).drawImage(e,0,0),e.close(),l=s.getImageData(0,0,o.toWidth,o.toHeight),p.__mathlib.unsharp_mask(l.data,o.toWidth,o.toHeight,o.unsharpAmount,o.unsharpRadius,o.unsharpThreshold),i.putImageData(l,0,0),l=s=n=i=null,p.debug("Finished!"),t):(i.drawImage(e,0,0),e.close(),i=null,p.debug("Finished!"),t)}))):(s={},l=function(e){return Promise.resolve().then((function(){return p.features.ww?new Promise((function(t,i){var n=p.__workersPool.acquire();a&&a.catch((function(e){return i(e)})),n.value.onmessage=function(e){n.release(),e.data.err?i(e.data.err):t(e.data.result)},n.value.postMessage({opts:e,features:p.__requested_features,preload:{wasm_nodule:p.__mathlib.__}},[e.src.buffer])})):p.__mathlib.resizeAndUnsharp(e,s)}))},m=function(e,t,i){var n,o,s,u=function(t){return p.__limit((function(){var d,u,h,m;return r?a:(f.isCanvas(e)?(p.debug("Get tile pixel data"),d=n.getImageData(t.x,t.y,t.width,t.height)):(p.debug("Draw tile imageBitmap/image to temporary canvas"),(u=document.createElement("canvas")).width=t.width,u.height=t.height,(h=u.getContext("2d",{alpha:Boolean(i.alpha)})).globalCompositeOperation="copy",h.drawImage(o||e,t.x,t.y,t.width,t.height,0,0,t.width,t.height),p.debug("Get tile pixel data"),d=h.getImageData(0,0,t.width,t.height),h=u=null),m={src:d.data,width:t.width,height:t.height,toWidth:t.toWidth,toHeight:t.toHeight,scaleX:t.scaleX,scaleY:t.scaleY,offsetX:t.offsetX,offsetY:t.offsetY,quality:i.quality,alpha:i.alpha,unsharpAmount:i.unsharpAmount,unsharpRadius:i.unsharpRadius,unsharpThreshold:i.unsharpThreshold},p.debug("Invoke resize math"),Promise.resolve().then((function(){return l(m)})).then((function(e){var i,n;if(r)return a;if(d=null,p.debug("Convert raw rgba tile result to ImageData"),c)i=new ImageData(new Uint8ClampedArray(e),t.toWidth,t.toHeight);else if((i=s.createImageData(t.toWidth,t.toHeight)).data.set)i.data.set(e);else for(n=i.data.length-1;n>=0;n--)i.data[n]=e[n];return p.debug("Draw tile"),w?s.putImageData(i,t.toX,t.toY,t.toInnerX-t.toX,t.toInnerY-t.toY,t.toInnerWidth+1e-5,t.toInnerHeight+1e-5):s.putImageData(i,t.toX,t.toY,t.toInnerX-t.toX,t.toInnerY-t.toY,t.toInnerWidth,t.toInnerHeight),null})))}))};return Promise.resolve().then((function(){if(s=t.getContext("2d",{alpha:Boolean(i.alpha)}),f.isCanvas(e))return n=e.getContext("2d",{alpha:Boolean(i.alpha)}),null;if(f.isImage(e))return d?(p.debug("Decode image via createImageBitmap"),createImageBitmap(e).then((function(e){o=e}))):null;throw new Error('".from" should be image or canvas')})).then((function(){function e(){o&&(o.close(),o=null)}var n;return r?a:(p.debug("Calculate tiles"),n=_({width:i.width,height:i.height,srcTileSize:p.options.tile,toWidth:i.toWidth,toHeight:i.toHeight,destTileBorder:h}).map((function(e){return u(e)})),p.debug("Process tiles"),Promise.all(n).then((function(){return p.debug("Finished!"),e(),t}),(function(t){throw e(),t})))}))},function e(t,i,o,s){var l,c,d,h,p;return r?a:(l=n(t.shift(),2),c=l[0],d=l[1],h=0===t.length,s=u({},s,{toWidth:c,toHeight:d,quality:h?s.quality:Math.min(1,s.quality)}),h||((p=document.createElement("canvas")).width=c,p.height=d),m(i,h?o:p,s).then((function(){return h?o:(s.width=c,s.height=d,e(t,p,o,s))})))}(b(o.width,o.height,o.toWidth,o.toHeight,p.options.tile,h),e,t,o))})))},r.prototype.resizeBuffer=function(e){var t=this,i=u({},l,e);return this.init().then((function(){return t.__mathlib.resizeAndUnsharp(i)}))},r.prototype.toBlob=function(e,t,i){return t=t||"image/png",new Promise((function(n){var o,r,a,s;if(e.toBlob)e.toBlob((function(e){return n(e)}),t,i);else{for(r=(o=atob(e.toDataURL(t,i).split(",")[1])).length,a=new Uint8Array(r),s=0;s<r;s++)a[s]=o.charCodeAt(s);n(new Blob([a],{type:t}))}}))},r.prototype.debug=function(){},t.exports=r},{"./lib/mathlib":1,"./lib/pool":9,"./lib/stepper":10,"./lib/tiler":11,"./lib/utils":12,"./lib/worker":13,"object-assign":24,webworkify:25}]},{},[])("/")})),define("WoltLabSuite/Core/Image/Resizer",["require","exports","tslib","../Core","../FileUtil","./ExifUtil","pica"],(function(e,t,i,n,o,r,a){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r);const s=new((a=i.__importDefault(a)).default)({features:["js","wasm","ww"]}),l="image/jpeg";class c{constructor(){this.maxWidth=800,this.maxHeight=600,this.quality=.8,this.fileType=l}setMaxWidth(e){return null==e&&(e=800),this.maxWidth=e,this}setMaxHeight(e){return null==e&&(e=600),this.maxHeight=e,this}setQuality(e){return null==e&&(e=.8),this.quality=e,this}setFileType(e){return null==e&&(e=l),this.fileType=e,this}async saveFile(e,t,i=this.fileType,n=this.quality){const a=/(.+)(\..+?)$/.exec(t);let l=await s.toBlob(e.image,i,n);return"image/jpeg"===i&&void 0!==e.exif&&(l=await r.setExifData(l,e.exif)),o.blobToFile(l,a[1])}async loadFile(e){let t=Promise.resolve(void 0),i=e;"image/jpeg"===e.type&&(t=r.getExifBytesFromJpeg(e),i=await r.removeExifData(i));const n=new Promise(((e,t)=>{const n=new FileReader,o=new Image;n.addEventListener("load",(()=>{o.src=n.result})),n.addEventListener("error",(()=>{n.abort(),t(n.error)})),o.addEventListener("error",t),o.addEventListener("load",(()=>{e(o)})),n.readAsDataURL(i)})),[o,a]=await Promise.all([t,n]);return{exif:o,image:a}}async resize(e,t=this.maxWidth,i=this.maxHeight,n=this.quality,o=!1,r){const a=document.createElement("canvas");if(window.createImageBitmap){if((await createImageBitmap(e)).height!=e.height)throw new Error("Chrome Bug #1069965")}const l=Math.min(t,e.width),c=Math.min(i,e.height);if(e.width<=l&&e.height<=c&&!o)return;const d=Math.min(l/e.width,c/e.height);a.width=Math.floor(e.width*d),a.height=Math.floor(e.height*d);let u=1;n>=.8?u=3:n>=.4&&(u=2);const h={quality:u,cancelToken:r,alpha:!0};return s.resize(e,a,h)}}return n.enableLegacyInheritance(c),c})),define("WoltLabSuite/Core/Language/Chooser",["require","exports","tslib","../Core","../Language","../Dom/Util","../Ui/Dropdown/Simple"],(function(e,t,i,n,o,r,a){"use strict";function s(e,t,i){const o=u.get(e);if(void 0===i&&void 0===(i=Array.from(o.dropdownMenu.children).find((e=>~~e.dataset.languageId===t))))throw new Error(`The language id '${t}' is unknown`);o.element.value=t.toString(),n.triggerEvent(o.element,"change"),o.dropdownToggle.innerHTML=i.children[0].innerHTML,u.set(e,o),"function"==typeof o.callback&&o.callback(i)}function l(e){const t=e.currentTarget;h.get(t).forEach((e=>{const i=document.createElement("input");i.type="hidden",i.name=e,i.value=d(e).toString(),t.appendChild(i)}))}function c(e){const t=u.get(e);if(void 0===t)throw new Error(`Expected a valid language chooser input element, '${e}' is not i18n input field.`);return t}function d(e){return~~c(e).element.value}Object.defineProperty(t,"__esModule",{value:!0}),t.setLanguageId=t.removeChooser=t.getLanguageId=t.getChooser=t.init=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importDefault(a);const u=new Map,h=new WeakMap;t.init=function(e,t,i,n,c,d){if(u.has(t))return;const p=document.getElementById(e);if(null===p)throw new Error(`Expected a valid container id, cannot find '${t}'.`);let m=document.getElementById(t);null===m&&(m=document.createElement("input"),m.type="hidden",m.id=t,m.name=t,m.value=i.toString(),p.appendChild(m)),function(e,t,i,n,c,d){function p(t){const i=t.currentTarget,n=~~i.dataset.languageId,o=b.querySelector(".active");null!==o&&o.classList.remove("active"),n&&i.classList.add("active"),s(e,n,i)}let m;const f=t.parentElement;"DD"===f.nodeName?(m=document.createElement("div"),m.className="dropdown",f.insertAdjacentElement("afterbegin",m)):(m=f,m.classList.add("dropdown")),r.default.hide(t);const g=document.createElement("a");g.className="dropdownToggle dropdownIndicator boxFlag box24 inputPrefix","DD"===f.nodeName&&g.classList.add("button"),m.appendChild(g);const b=document.createElement("ul");if(b.className="dropdownMenu",m.appendChild(b),Object.entries(n).forEach((([e,t])=>{const n=document.createElement("li");n.className="boxFlag",n.addEventListener("click",p),n.dataset.languageId=e,void 0!==t.languageCode&&(n.dataset.languageCode=t.languageCode),b.appendChild(n);const o=document.createElement("a");o.className="box24",n.appendChild(o);const r=document.createElement("img");r.src=t.iconPath,r.alt="",r.className="iconFlag",o.appendChild(r);const a=document.createElement("span");a.textContent=t.languageName,o.appendChild(a),+e===i&&(g.innerHTML=o.innerHTML)})),d){const e=document.createElement("li");e.className="dropdownDivider",b.appendChild(e);const t=document.createElement("li");t.dataset.languageId="0",t.addEventListener("click",p),b.appendChild(t);const n=document.createElement("a");n.textContent=o.get("wcf.global.language.noSelection"),t.appendChild(n),0===i&&(g.innerHTML=n.innerHTML),t.addEventListener("click",p)}else if(0===i){g.innerHTML="";const e=document.createElement("div");g.appendChild(e);const t=document.createElement("span");t.className="icon icon24 fa-question pointer",e.appendChild(t);const i=document.createElement("span");i.textContent=o.get("wcf.global.language.noSelection"),e.appendChild(i)}a.default.init(g),u.set(e,{callback:c,dropdownMenu:b,dropdownToggle:g,element:t});const _=t.closest("form");if(null!==_){_.addEventListener("submit",l);let t=h.get(_);void 0===t&&(t=[],h.set(_,t)),t.push(e)}}(t,m,i,n,c,d)},t.getChooser=c,t.getLanguageId=d,t.removeChooser=function(e){u.delete(e)},t.setLanguageId=function(e,t){if(void 0===u.get(e))throw new Error(`Expected a valid input element, '${e}' is not i18n input field.`);s(e,t)}})),define("WoltLabSuite/Core/Language/Input",["require","exports","tslib","../Dom/Util","../Language","../Ui/Dropdown/Simple","../StringUtil"],(function(e,t,i,n,o,r,a){"use strict";function s(e,t,i){const n=d.get(e),o=r.default.getDropdownMenu(n.element.closest(".inputAddon").id).querySelector(`[data-language-id="${t}"]`),a=o?o.textContent:"";if(n.languageId!==t){const o=h.get(e);n.languageId&&o.set(n.languageId,n.element.value),0===t?h.set(e,new Map):(n.buttonLabel.classList.contains("active")||i)&&(n.element.value=o.get(t)||""),n.buttonLabel.textContent=a,n.buttonLabel.classList[t?"add":"remove"]("active"),n.languageId=t}i||(n.element.blur(),n.element.focus()),n.callbacks.has("select")&&n.callbacks.get("select")(n.element)}function l(e,t){if("open"!==t)return;const i=r.default.getDropdownMenu(e),n=document.getElementById(e).dataset.inputId,o=d.get(n),a=h.get(n);Array.from(i.children).forEach((e=>{const t=~~(e.dataset.languageId||"");if(t){let i=!1;o.languageId&&(i=t===o.languageId?""===o.element.value.trim():!a.get(t)),i?e.classList.add("missingValue"):e.classList.remove("missingValue")}}))}function c(e){const t=e.currentTarget;u.get(t).forEach((e=>{const i=d.get(e);if(!i.isEnabled)return;const n=h.get(e);i.callbacks.has("submit")&&i.callbacks.get("submit")(i.element),i.languageId&&n.set(i.languageId,i.element.value),n.size&&(n.forEach((function(i,n){const o=document.createElement("input");o.type="hidden",o.name=`${e}_i18n[${n}]`,o.value=i,t.appendChild(o)})),i.element.removeAttribute("name"))}))}Object.defineProperty(t,"__esModule",{value:!0}),t.validate=t.isEnabled=t.enable=t.disable=t.setValues=t.getValues=t.unregister=t.registerCallback=t.init=void 0,n=i.__importDefault(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importStar(a);const d=new Map,u=new WeakMap,h=new Map;t.init=function(e,t,i,n){if(h.has(e))return;const p=document.getElementById(e);if(null===p)throw new Error(`Expected a valid element id, cannot find '${e}'.`);const m=new Map;Object.entries(t).forEach((([e,t])=>{m.set(+e,a.unescapeHTML(t))})),h.set(e,m),function(e,t,i,n,a){let h=t.parentElement;if(!h.classList.contains("inputAddon")){h=document.createElement("div"),h.className="inputAddon","TEXTAREA"===t.nodeName&&h.classList.add("inputAddonTextarea"),h.dataset.inputId=e;const i=document.activeElement===t;t.insertAdjacentElement("beforebegin",h),h.appendChild(t),i&&t.focus()}h.classList.add("dropdown");const p=document.createElement("span");p.className="button dropdownToggle inputPrefix";const m=document.createElement("span");m.textContent=o.get("wcf.global.button.disabledI18n"),p.appendChild(m),h.insertBefore(p,t);const f=document.createElement("ul");f.className="dropdownMenu",p.insertAdjacentElement("afterend",f);const g=t=>{let i;i=t instanceof HTMLElement?t:t.currentTarget;const n=~~i.dataset.languageId,o=f.querySelector(".active");null!==o&&o.classList.remove("active"),n&&i.classList.add("active");const r=t instanceof HTMLElement;s(e,n,r)};if(Object.entries(n).forEach((([e,t])=>{const i=document.createElement("li");i.dataset.languageId=e;const n=document.createElement("span");n.textContent=t,i.appendChild(n),i.addEventListener("click",g),f.appendChild(i)})),!a){const e=document.createElement("li");e.className="dropdownDivider",f.appendChild(e);const t=document.createElement("li");t.dataset.languageId="0",t.addEventListener("click",g);const i=document.createElement("span");i.textContent=o.get("wcf.global.button.disabledI18n"),t.appendChild(i),f.appendChild(t)}let b;(a||i.size)&&(b=Array.from(f.children).find((e=>+e.dataset.languageId===window.LANGUAGE_ID))),r.default.init(p),r.default.registerCallback(h.id,l),d.set(e,{buttonLabel:m,callbacks:new Map,element:t,languageId:0,isEnabled:!0,forceSelection:a});const _=t.closest("form");if(null!==_){_.addEventListener("submit",c);let t=u.get(_);void 0===t&&(t=[],u.set(_,t)),t.push(e)}b&&g(b)}(e,p,m,i,n)},t.registerCallback=function(e,t,i){if(!h.has(e))throw new Error(`Unknown element id '${e}'.`);d.get(e).callbacks.set(t,i)},t.unregister=function(e){if(!h.has(e))throw new Error(`Unknown element id '${e}'.`);h.delete(e),d.delete(e)},t.getValues=function(e){const t=d.get(e);if(void 0===t)throw new Error(`Expected a valid i18n input element, '${e}' is not i18n input field.`);const i=h.get(e);return i.set(t.languageId,t.element.value),i},t.setValues=function(e,t){const i=d.get(e);if(void 0===i)throw new Error(`Expected a valid i18n input element, '${e}' is not i18n input field.`);i.element.value="";const n=new Map(Object.entries(t).map((([e,t])=>[+e,t])));if(n.has(0))return i.element.value=n.get(0),n.delete(0),h.set(e,n),void s(e,0,!0);h.set(e,n),i.languageId=0,s(e,window.LANGUAGE_ID,!0)},t.disable=function(e){const t=d.get(e);if(void 0===t)throw new Error(`Expected a valid element, '${e}' is not an i18n input field.`);if(!t.isEnabled)return;t.isEnabled=!1;const i=t.buttonLabel.parentElement;n.default.hide(i),i.parentElement.classList.remove("inputAddon","dropdown")},t.enable=function(e){const t=d.get(e);if(void 0===t)throw new Error(`Expected a valid i18n input element, '${e}' is not i18n input field.`);if(t.isEnabled)return;t.isEnabled=!0;const i=t.buttonLabel.parentElement;n.default.show(i),i.parentElement.classList.add("inputAddon","dropdown")},t.isEnabled=function(e){const t=d.get(e);if(void 0===t)throw new Error(`Expected a valid i18n input element, '${e}' is not i18n input field.`);return t.isEnabled},t.validate=function(e,t){const i=d.get(e);if(void 0===i)throw new Error(`Expected a valid i18n input element, '${e}' is not i18n input field.`);if(!i.isEnabled)return!0;const n=h.get(e),o=r.default.getDropdownMenu(i.element.parentElement.id);i.languageId&&n.set(i.languageId,i.element.value);let a=!1,s=!1;return Array.from(o.children).forEach((e=>{const t=~~e.dataset.languageId;if(t)if(n.has(t)&&0!==n.get(t).length){if(a)return!1;s=!0}else{if(s)return!1;a=!0}})),!a||t}})),define("WoltLabSuite/Core/Language/Text",["require","exports","tslib","./Input"],(function(e,t,i,n){"use strict";function o(e){void 0!==window.jQuery&&window.jQuery(e).redactor("code.set",e.value)}function r(e){void 0!==window.jQuery&&(e.value=window.jQuery(e).redactor("code.get"))}Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,n=i.__importStar(n),t.init=function(e,t,i,a){const s=document.getElementById(e);if(!s||"TEXTAREA"!==s.nodeName||!s.classList.contains("wysiwygTextarea"))throw new Error(`Expected <textarea class="wysiwygTextarea" /> for id '${e}'.`);n.init(e,t,i,a),n.registerCallback(e,"select",o),n.registerCallback(e,"submit",r)}})),define("WoltLabSuite/Core/Media/Clipboard",["require","exports","tslib","../Controller/Clipboard","../Ui/Notification","../Ui/Dialog","../Event/Handler","../Language","../Ajax"],(function(e,t,i,n,o,r,a,s,l){"use strict";let c;Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importStar(l);const d=new class{_ajaxSetup(){return{data:{className:"wcf\\data\\media\\MediaAction"}}}_ajaxSuccess(e){switch(e.actionName){case"getSetCategoryDialog":r.open(this,e.returnValues.template);break;case"setCategory":r.close(this),o.show(),n.reload()}}_dialogSetup(){return{id:"mediaSetCategoryDialog",options:{onSetup:e=>{e.querySelector("button").addEventListener("click",(t=>{t.preventDefault();const i=e.querySelector('select[name="categoryID"]');var n;n=~~i.value,l.api(d,{actionName:"setCategory",objectIDs:u,parameters:{categoryID:n}});t.currentTarget.disabled=!0}))},title:s.get("wcf.media.setCategory")},source:null}}};let u=[];t.init=function(e,t,i){n.setup({hasMarkedItems:t,pageClassName:e}),c=i,a.add("com.woltlab.wcf.clipboard","com.woltlab.wcf.media",(e=>function(e){const t=e.data.parameters.objectIDs;switch(e.data.actionName){case"com.woltlab.wcf.media.delete":null!==e.responseData&&c.clipboardDeleteMedia(t);break;case"com.woltlab.wcf.media.insert":c.clipboardInsertMedia(t);break;case"com.woltlab.wcf.media.setCategory":u=t,l.api(d,{actionName:"getSetCategoryDialog"})}}(e)))}})),define("WoltLabSuite/Core/Media/Data",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})})),define("WoltLabSuite/Core/Media/Upload",["require","exports","tslib","../Upload","../Core","../Dom/Util","../Dom/Traverse","../Language","../User","../Date/Util","../FileUtil","../Dom/Change/Listener","../Event/Handler"],(function(e,t,i,n,o,r,a,s,l,c,d,u,h){"use strict";n=i.__importDefault(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importDefault(l),c=i.__importStar(c),d=i.__importStar(d),u=i.__importStar(u),h=i.__importStar(h);class p extends n.default{constructor(e,t,i){super(e,t,o.extend({className:"wcf\\data\\media\\MediaAction",multiple:!!i.mediaManager,singleFileRequests:!0},i||{})),this._categoryId=null,i=i||{},this._elementTagSize=144,this._options.elementTagSize&&(this._elementTagSize=this._options.elementTagSize),this._mediaManager=null,this._options.mediaManager&&(this._mediaManager=this._options.mediaManager,delete this._options.mediaManager)}_createFileElement(e){let t;if("OL"===this._target.nodeName||"UL"===this._target.nodeName)t=document.createElement("li");else{if("TBODY"===this._target.nodeName){const i=this._target.getElementsByTagName("TR")[0],n=this._target.parentNode.parentNode;return"none"===n.style.getPropertyValue("display")?(t=i,n.style.removeProperty("display"),document.getElementById(this._target.dataset.noItemsInfo).remove()):(t=i.cloneNode(!0),t.removeAttribute("id"),r.identify(t)),Array.from(t.getElementsByTagName("TD")).forEach((t=>{if(t.classList.contains("columnMark"))t.querySelectorAll("[data-object-id]").forEach((e=>r.hide(e)));else if(t.classList.contains("columnIcon"))t.querySelectorAll("[data-object-id]").forEach((e=>r.hide(e))),t.querySelector(".mediaEditButton").classList.add("jsMediaEditButton"),t.querySelector(".jsObjectAction[data-object-action='delete']").dataset.confirmMessage=s.get("wcf.media.delete.confirmMessage",{title:e.name});else if(t.classList.contains("columnFilename")){let i=t.querySelector("img");i||(i=t.querySelector(".icon48"));const n=document.createElement("span");n.className="icon icon48 fa-spinner mediaThumbnail",r.replaceElement(i,n);const o=t.querySelectorAll(".box48 > div > p");o[0].textContent=e.name;let a=o[1].getElementsByTagName("A")[0];a||(a=document.createElement("a"),o[1].getElementsByTagName("SMALL")[0].appendChild(a)),a.setAttribute("href",l.default.getLink()),a.textContent=l.default.username}else t.classList.contains("columnUploadTime")?(t.innerHTML="",t.appendChild(c.getTimeElement(new Date))):t.classList.contains("columnDigits")?t.textContent=d.formatFilesize(e.size):t.innerHTML=""})),r.prepend(t,this._target),t}t=document.createElement("p")}const i=document.createElement("div");i.className="mediaThumbnail",t.appendChild(i);const n=document.createElement("span");n.className="icon icon144 fa-spinner",i.appendChild(n);const o=document.createElement("div");o.className="mediaInformation",t.appendChild(o);const a=document.createElement("p");a.className="mediaTitle",a.textContent=e.name,o.appendChild(a);const h=document.createElement("progress");return h.max=100,o.appendChild(h),r.prepend(t,this._target),u.trigger(),t}_getParameters(){const e={elementTagSize:this._elementTagSize};if(this._mediaManager){e.imagesOnly=this._mediaManager.getOption("imagesOnly");const t=this._mediaManager.getCategoryId();t&&(e.categoryID=t)}return o.extend(super._getParameters(),e)}_replaceFileIcon(e,t,i){if(t.elementTag)e.outerHTML=t.elementTag;else if(t.tinyThumbnailType){const n=document.createElement("img");n.src=t.tinyThumbnailLink,n.alt="",n.style.setProperty("width",`${i}px`),n.style.setProperty("height",`${i}px`),r.replaceElement(e,n)}else{e.classList.remove("fa-spinner");let i=d.getIconNameByFilename(t.filename);i&&(i="-"+i),e.classList.add(`fa-file${i}-o`)}}_success(e,t){const i=this._fileElements[e];i.forEach((e=>{const i=e.dataset.internalFileId,n=t.returnValues.media[i];if("TR"===e.tagName)if(n)e.dataset.objectId=n.mediaID.toString(),e.querySelectorAll("[data-object-id]").forEach((e=>{e.dataset.objectId=n.mediaID.toString(),e.style.removeProperty("display")})),e.querySelector(".columnMediaID").textContent=n.mediaID.toString(),this._replaceFileIcon(e.querySelector(".fa-spinner"),n,48);else{let n=t.returnValues.errors[i];n||(n={errorType:"uploadFailed",filename:e.dataset.filename});const o=e.querySelector(".fa-spinner");o.classList.remove("fa-spinner"),o.classList.add("fa-remove","pointer","jsTooltip"),o.title=s.get("wcf.global.button.delete"),o.addEventListener("click",(e=>{e.currentTarget.closest(".mediaFile").remove(),h.fire("com.woltlab.wcf.media.upload","removedErroneousUploadRow")})),e.classList.add("uploadFailed");const a=e.querySelectorAll(".columnFilename .box48 > div > p")[1];r.innerError(a,s.get(`wcf.media.upload.error.${n.errorType}`,{filename:n.filename})),a.remove()}else if(a.childByTag(a.childByClass(e,"mediaInformation"),"PROGRESS").remove(),n){const t=a.childByTag(a.childByClass(e,"mediaThumbnail"),"SPAN");this._replaceFileIcon(t,n,144),e.classList.add("jsClipboardObject","mediaFile","jsObjectActionObject"),e.dataset.objectId=n.mediaID.toString(),this._mediaManager&&(this._mediaManager.setupMediaElement(n,e),this._mediaManager.addMedia(n,e))}else{let n=t.returnValues.errors[i];n||(n={errorType:"uploadFailed",filename:e.dataset.filename});const o=a.childByTag(a.childByClass(e,"mediaThumbnail"),"SPAN");o.classList.remove("fa-spinner"),o.classList.add("fa-remove","pointer"),e.classList.add("uploadFailed","jsTooltip"),e.title=s.get("wcf.global.button.delete"),e.addEventListener("click",(()=>e.remove()));a.childByClass(a.childByClass(e,"mediaInformation"),"mediaTitle").innerText=s.get(`wcf.media.upload.error.${n.errorType}`,{filename:n.filename})}u.trigger()})),h.fire("com.woltlab.wcf.media.upload","success",{files:i,isMultiFileUpload:-1!==this._multiFileUploadIds.indexOf(e),media:t.returnValues.media,upload:this,uploadId:e})}}return o.enableLegacyInheritance(p),p})),define("WoltLabSuite/Core/Media/Replace",["require","exports","tslib","../Core","./Upload","../Language","../Dom/Util","../Ui/Notification","../Dom/Change/Listener"],(function(e,t,i,n,o,r,a,s,l){"use strict";n=i.__importStar(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importDefault(a),s=i.__importStar(s),l=i.__importStar(l);class c extends o.default{constructor(e,t,i,o){super(t,i,n.extend(o,{action:"replaceFile"})),this._mediaID=e}_createButton(){super._createButton(),this._button.classList.add("small"),this._button.querySelector("span").textContent=r.get("wcf.media.button.replaceFile")}_createFileElement(){return this._target}_getFormData(){return{objectIDs:[this._mediaID]}}_success(e,t){this._fileElements[e].forEach((e=>{const i=e.dataset.internalFileId,n=t.returnValues.media[i];if(n)n.isImage&&(this._target.innerHTML=n.smallThumbnailTag),document.getElementById("mediaFilename").textContent=n.filename,document.getElementById("mediaFilesize").textContent=n.formattedFilesize,n.isImage&&(document.getElementById("mediaImageDimensions").textContent=n.imageDimensions),document.getElementById("mediaUploader").innerHTML=n.userLinkElement,this._options.mediaEditor.updateData(n),a.default.innerError(this._buttonContainer,""),s.show();else{let n=t.returnValues.errors[i];n||(n={errorType:"uploadFailed",filename:e.dataset.filename}),a.default.innerError(this._buttonContainer,r.get("wcf.media.upload.error."+n.errorType,{filename:n.filename}))}l.trigger()}))}}return n.enableLegacyInheritance(c),c})),define("WoltLabSuite/Core/Media/Editor",["require","exports","tslib","../Core","../Ui/Notification","../Ui/Dialog","../Language/Chooser","../Language/Input","../Dom/Util","../Dom/Traverse","../Dom/Change/Listener","../Language","../Ajax","./Replace"],(function(e,t,i,n,o,r,a,s,l,c,d,u,h,p){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importStar(l),c=i.__importStar(c),d=i.__importDefault(d),u=i.__importStar(u),h=i.__importStar(h),p=i.__importDefault(p);class m{constructor(e){if(this._availableLanguageCount=1,this._categoryIds=[],this._dialogs=new Map,this._media=null,this._oldCategoryId=0,this._callbackObject=e||{},this._callbackObject._editorClose&&"function"!=typeof this._callbackObject._editorClose)throw new TypeError("Callback object has no function '_editorClose'.");if(this._callbackObject._editorSuccess&&"function"!=typeof this._callbackObject._editorSuccess)throw new TypeError("Callback object has no function '_editorSuccess'.")}_ajaxSetup(){return{data:{actionName:"update",className:"wcf\\data\\media\\MediaAction"}}}_ajaxSuccess(){o.show(),this._callbackObject._editorSuccess&&(this._callbackObject._editorSuccess(this._media,this._oldCategoryId),this._oldCategoryId=0),r.close(`mediaEditor_${this._media.mediaID}`),this._media=null}_close(){this._media=null,this._callbackObject._editorClose&&this._callbackObject._editorClose()}_initEditor(e,t){this._availableLanguageCount=~~t.returnValues.availableLanguageCount,this._categoryIds=t.returnValues.categoryIDs.map((e=>~~e)),t.returnValues.mediaData&&(this._media=t.returnValues.mediaData);const i=this._media,n=i.mediaID;setTimeout((()=>{if(this._availableLanguageCount>1&&a.setLanguageId(`mediaEditor_${n}_languageID`,i.languageID||window.LANGUAGE_ID),this._categoryIds.length){const t=e.querySelector("select[name=categoryID]");i.categoryID?t.value=i.categoryID.toString():t.value="0"}const t=e.querySelector("input[name=title]"),o=e.querySelector("input[name=altText]"),r=e.querySelector("textarea[name=caption]");if(this._availableLanguageCount>1&&i.isMultilingual?(document.getElementById(`altText_${n}`)&&s.setValues(`altText_${n}`,i.altText||{}),document.getElementById(`caption_${n}`)&&s.setValues(`caption_${n}`,i.caption||{}),s.setValues(`title_${n}`,i.title||{})):(t.value=i.title?i.title[i.languageID||window.LANGUAGE_ID]:"",o&&(o.value=i.altText?i.altText[i.languageID||window.LANGUAGE_ID]:""),r&&(r.value=i.caption?i.caption[i.languageID||window.LANGUAGE_ID]:"")),this._availableLanguageCount>1){const t=e.querySelector("input[name=isMultilingual]");t.addEventListener("change",(e=>this._updateLanguageFields(e))),this._updateLanguageFields(null,t)}o&&o.addEventListener("keypress",(e=>this._keyPress(e))),t.addEventListener("keypress",(e=>this._keyPress(e))),e.querySelector("button[data-type=submit]").addEventListener("click",(()=>this._saveData())),document.activeElement.blur(),document.getElementById(`mediaEditor_${n}`).parentNode.scrollTop=0;const c=e.querySelector(".mediaManagerMediaReplaceButton");let u=e.querySelector(".mediaThumbnail");u||(u=document.createElement("div"),e.appendChild(u)),new p.default(n,l.identify(c),l.identify(u),{mediaEditor:this}),d.default.trigger()}),200)}_keyPress(e){"Enter"===e.key&&(e.preventDefault(),this._saveData())}_saveData(){const e=r.getDialog(`mediaEditor_${this._media.mediaID}`).content,t=e.querySelector("select[name=categoryID]"),i=e.querySelector("input[name=altText]"),n=e.querySelector("textarea[name=caption]"),o=e.querySelector("input[name=captionEnableHtml]"),d=e.querySelector("input[name=title]");let p=!1;const m=!!i&&c.childByClass(i.parentNode,"innerError"),f=!!n&&c.childByClass(n.parentNode,"innerError"),g=c.childByClass(d.parentNode,"innerError");if(this._oldCategoryId=this._media.categoryID,this._categoryIds.length&&(this._media.categoryID=~~t.value,-1===this._categoryIds.indexOf(this._media.categoryID)&&(this._media.categoryID=0)),this._availableLanguageCount>1){const t=e.querySelector("input[name=isMultilingual]");this._media.isMultilingual=~~t.checked,this._media.languageID=this._media.isMultilingual?null:a.getLanguageId(`mediaEditor_${this._media.mediaID}_languageID`)}else this._media.languageID=window.LANGUAGE_ID;this._media.altText={},this._media.caption={},this._media.title={},this._availableLanguageCount>1&&this._media.isMultilingual?(i&&!s.validate(i.id,!0)&&(p=!0,m||l.innerError(i,u.get("wcf.global.form.error.multilingual"))),n&&!s.validate(n.id,!0)&&(p=!0,f||l.innerError(n,u.get("wcf.global.form.error.multilingual"))),s.validate(d.id,!0)||(p=!0,g||l.innerError(d,u.get("wcf.global.form.error.multilingual"))),this._media.altText=i?this.mapToI18nValues(s.getValues(i.id)):"",this._media.caption=n?this.mapToI18nValues(s.getValues(n.id)):"",this._media.title=this.mapToI18nValues(s.getValues(d.id))):(this._media.altText[this._media.languageID]=i?i.value:"",this._media.caption[this._media.languageID]=n?n.value:"",this._media.title[this._media.languageID]=d.value),this._media.captionEnableHtml=o?~~o.checked:0;const b={allowAll:~~document.getElementById(`mediaEditor_${this._media.mediaID}_aclAllowAll`).checked,group:Array.from(e.querySelectorAll(`input[name="mediaEditor_${this._media.mediaID}_aclValues[group][]"]`)).map((e=>~~e.value)),user:Array.from(e.querySelectorAll(`input[name="mediaEditor_${this._media.mediaID}_aclValues[user][]"]`)).map((e=>~~e.value))};p||(m&&m.remove(),f&&f.remove(),g&&g.remove(),h.api(this,{actionName:"update",objectIDs:[this._media.mediaID],parameters:{aclValues:b,altText:this._media.altText,caption:this._media.caption,data:{captionEnableHtml:this._media.captionEnableHtml,categoryID:this._media.categoryID,isMultilingual:this._media.isMultilingual,languageID:this._media.languageID},title:this._media.title}}))}mapToI18nValues(e){const t={};return e.forEach(((e,i)=>t[i]=e)),t}_updateLanguageFields(e,t){e&&(t=e.currentTarget);const i=this._media.mediaID,n=document.getElementById(`mediaEditor_${i}_languageIDContainer`).parentNode;t.checked?(s.enable(`title_${i}`),document.getElementById(`caption_${i}`)&&s.enable(`caption_${i}`),document.getElementById(`altText_${i}`)&&s.enable(`altText_${i}`),l.hide(n)):(s.disable(`title_${i}`),document.getElementById(`caption_${i}`)&&s.disable(`caption_${i}`),document.getElementById(`altText_${i}`)&&s.disable(`altText_${i}`),l.show(n))}edit(e){let t,i=0;if("object"==typeof e?(t=e,i=t.mediaID):(t={mediaID:e},i=e),null!==this._media)throw new Error(`Cannot edit media with id ${i} while editing media with id '${this._media.mediaID}'.`);this._media=t,this._dialogs.has(`mediaEditor_${i}`)||this._dialogs.set(`mediaEditor_${i}`,{_dialogSetup:()=>({id:`mediaEditor_${i}`,options:{backdropCloseOnClick:!1,onClose:()=>this._close(),title:u.get("wcf.media.edit")},source:{after:(e,t)=>this._initEditor(e,t),data:{actionName:"getEditorDialog",className:"wcf\\data\\media\\MediaAction",objectIDs:[i]}}})}),r.open(this._dialogs.get(`mediaEditor_${i}`))}updateData(e){this._callbackObject._editorSuccess&&this._callbackObject._editorSuccess(e,void 0,!1)}}return n.enableLegacyInheritance(m),m})),define("WoltLabSuite/Core/Notification/Handler",["require","exports","tslib","../Ajax","../Core","../Event/Handler","../StringUtil"],(function(e,t,i,n,o,r,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a);class s{constructor(e){this.inactiveSince=0,this.lastRequestTimestamp=window.TIME_NOW,this.requestTimer=void 0,e=o.extend({enableNotifications:!1,icon:""},e),this.icon=e.icon,this.prepareNextRequest(),document.addEventListener("visibilitychange",(e=>this.onVisibilityChange(e))),window.addEventListener("storage",(()=>this.onStorage())),this.onVisibilityChange(),e.enableNotifications&&this.enableNotifications()}async enableNotifications(){switch(window.Notification.permission){case"granted":this.allowNotification=!0;break;case"default":"granted"===await window.Notification.requestPermission()&&(this.allowNotification=!0);break}}onVisibilityChange(e){if(e&&!document.hidden){(Date.now()-this.inactiveSince)/6e4>4&&(this.resetTimer(),this.dispatchRequest())}this.inactiveSince=document.hidden?Date.now():0}getNextDelay(){if(0===this.inactiveSince)return 5;const e=~~((Date.now()-this.inactiveSince)/6e4);return e<15?5:e<30?10:15}resetTimer(){this.requestTimer&&(window.clearTimeout(this.requestTimer),this.requestTimer=void 0)}prepareNextRequest(){this.resetTimer(),this.requestTimer=window.setTimeout(this.dispatchRequest.bind(this),6e4*this.getNextDelay())}dispatchRequest(){const e={};r.fire("com.woltlab.wcf.notification","beforePoll",e),e.lastRequestTimestamp=this.lastRequestTimestamp,n.api(this,{parameters:e})}onStorage(){let e,t;this.prepareNextRequest();let i=!1;try{e=window.localStorage.getItem(o.getStoragePrefix()+"notification"),t=window.localStorage.getItem(o.getStoragePrefix()+"keepAliveData"),e=JSON.parse(e),t=JSON.parse(t)}catch(e){i=!0}i||r.fire("com.woltlab.wcf.notification","onStorage",{pollData:e,keepAliveData:t})}_ajaxSuccess(e){const t=e.returnValues.keepAliveData,i=e.returnValues.pollData;window.WCF.System.PushNotification.executeCallbacks({returnValues:t});let n=!1;try{window.localStorage.setItem(o.getStoragePrefix()+"notification",JSON.stringify(i)),window.localStorage.setItem(o.getStoragePrefix()+"keepAliveData",JSON.stringify(t))}catch(e){n=!0,window.console.log(e)}n||this.prepareNextRequest(),this.lastRequestTimestamp=e.returnValues.lastRequestTimestamp,r.fire("com.woltlab.wcf.notification","afterPoll",i),this.showNotification(i)}showNotification(e){if(this.allowNotification&&"object"==typeof e.notification&&"string"==typeof e.notification.message){const t=new window.Notification(e.notification.title,{body:a.unescapeHTML(e.notification.message).replace(/ /g," "),icon:this.icon});t.onclick=()=>{window.focus(),t.close(),window.location.href=e.notification.link}}}_ajaxSetup(){return{data:{actionName:"poll",className:"wcf\\data\\session\\SessionAction"},ignoreError:!window.ENABLE_DEBUG_MODE,silent:!window.ENABLE_DEBUG_MODE}}}let l;t.setup=function(e){l||(l=new s(e))}})),define("WoltLabSuite/Core/Ui/Redactor/DragAndDrop",["require","exports","tslib","../../Event/Handler","../../Language"],(function(e,t,i,n,o){"use strict";function r(e){if(e.preventDefault(),!e.dataTransfer||!e.dataTransfer.types)return;const t=Object.keys(e.dataTransfer).some((e=>e.startsWith("moz")));u=!1,t?"application/x-moz-file"===e.dataTransfer.types[0]&&(u=!0):u=e.dataTransfer.types.some((e=>"Files"===e)),u&&(d||(d=!0,c.forEach(((e,t)=>{const i=e.editor.$editor[0];if(!i.parentElement)return void c.delete(t);let r=e.element;null===r&&(r=document.createElement("div"),r.className="redactorDropArea",r.dataset.elementId=e.editor.$element[0].id,r.dataset.dropHere=o.get("wcf.attachment.dragAndDrop.dropHere"),r.dataset.dropNow=o.get("wcf.attachment.dragAndDrop.dropNow"),r.addEventListener("dragover",(()=>{r.classList.add("active")})),r.addEventListener("dragleave",(()=>{r.classList.remove("active")})),r.addEventListener("drop",(e=>function(e){if(!u)return;if(!e.dataTransfer||!e.dataTransfer.files.length)return;e.preventDefault();const t=e.currentTarget.dataset.elementId;Array.from(e.dataTransfer.files).forEach((e=>{const i={file:e};n.fire("com.woltlab.wcf.redactor2",`dragAndDrop_${t}`,i)})),a()}(e))),e.element=r),i.parentElement.insertBefore(r,i),r.style.setProperty("top",`${i.offsetTop}px`,"")}))))}function a(){d&&u&&(null!==h&&window.clearTimeout(h),h=window.setTimeout((()=>{d||c.forEach((e=>{e.element&&e.element.parentElement&&(e.element.classList.remove("active"),e.element.remove())})),h=null}),100),d=!1)}function s(){window.addEventListener("dragend",(e=>e.preventDefault())),window.addEventListener("dragover",(e=>r(e))),window.addEventListener("dragleave",(()=>a())),window.addEventListener("drop",(e=>function(e){if(null===e.target.closest(".redactor-layer")){const t={cancelDrop:!0,event:e};c.forEach((e=>{n.fire("com.woltlab.wcf.redactor2",`dragAndDrop_globalDrop_${e.editor.$element[0].id}`,t)})),t.cancelDrop&&e.preventDefault()}a()}(e))),l=!0}Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,n=i.__importStar(n),o=i.__importStar(o);let l=!1;const c=new Map;let d=!1,u=!1,h=null;t.init=function(e){l||s(),c.set(e.uuid,{editor:e,element:null})}})),define("WoltLabSuite/Core/Ui/DragAndDrop",["require","exports","tslib","../Core","../Event/Handler","./Redactor/DragAndDrop"],(function(e,t,i,n,o,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.register=void 0,n=i.__importStar(n),o=i.__importStar(o),t.register=function(e){const t=n.getUuid();e=n.extend({element:null,elementId:"",onDrop:function(e){},onGlobalDrop:function(e){}}),o.add("com.woltlab.wcf.redactor2",`dragAndDrop_${e.elementId}`,e.onDrop),o.add("com.woltlab.wcf.redactor2",`dragAndDrop_globalDrop_${e.elementId}`,e.onGlobalDrop),r.init({uuid:t,$editor:[e.element],$element:[{id:e.elementId}]})}})),define("WoltLabSuite/Core/Ui/FlexibleMenu",["require","exports","tslib","../Dom/Change/Listener","../Dom/Util","../Dom/Traverse","./Dropdown/Simple"],(function(e,t,i,n,o,r,a){"use strict";function s(e){const t=document.getElementById(e);if(null===t)throw"Expected a valid element id, '"+e+"' does not exist.";if(u.has(e))return;const i=r.childByTag(t,"UL");if(null===i)throw"Expected an <ul> element as child of container '"+e+"'.";u.set(e,t),m.set(e,i),d(e)}function l(){document.querySelectorAll(".tabMenuContainer:not(.jsFlexibleMenuEnabled), .messageTabMenu:not(.jsFlexibleMenuEnabled)").forEach((e=>{const t=r.childByTag(e,"NAV");null!==t&&(e.classList.add("jsFlexibleMenuEnabled"),s(o.default.identify(t)))}))}function c(){u.forEach(((e,t)=>{d(t)}))}function d(e){const t=u.get(e);if(void 0===t)throw"Expected a valid element id, '"+e+"' is unknown.";const i=window.getComputedStyle(t);let n=t.parentNode.clientWidth;n-=o.default.styleAsInt(i,"margin-left"),n-=o.default.styleAsInt(i,"margin-right");const s=m.get(e),l=r.childrenByTag(s,"LI");let c=h.get(e),f=0;if(void 0!==c){for(let e=0,t=l.length;e<t;e++){const t=l[e];t.classList.contains("dropdown")||o.default.show(t)}null!==c.parentNode&&(f=o.default.outerWidth(c))}const g=[];if(s.scrollWidth-f>n)for(let e=l.length-1;e>=0;e--){const t=l[e];if(!(t.classList.contains("dropdown")||t.classList.contains("active")||t.classList.contains("ui-state-active"))&&(g.push(t),o.default.hide(t),s.scrollWidth<n))break}if(g.length){let t;if(void 0===c){c=document.createElement("li"),c.className="dropdown jsFlexibleMenuDropdown";const i=document.createElement("a");i.className="icon icon16 fa-list",c.appendChild(i),t=document.createElement("ul"),t.classList.add("dropdownMenu"),c.appendChild(t),h.set(e,c),p.set(e,t),a.default.init(i)}else t=p.get(e);null===c.parentNode&&s.appendChild(c);const i=document.createDocumentFragment();g.forEach((t=>{const n=document.createElement("li");n.innerHTML=t.innerHTML,n.addEventListener("click",(i=>{var n;i.preventDefault(),null===(n=t.querySelector("a"))||void 0===n||n.click(),setTimeout((()=>{d(e)}),59)})),i.appendChild(n)})),t.innerHTML="",t.appendChild(i)}else void 0!==c&&null!==c.parentNode&&c.remove()}Object.defineProperty(t,"__esModule",{value:!0}),t.rebuild=t.rebuildAll=t.registerTabMenus=t.register=t.setup=void 0,n=i.__importDefault(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importDefault(a);const u=new Map,h=new Map,p=new Map,m=new Map;t.setup=function(){null!==document.getElementById("mainMenu")&&s("mainMenu");const e=document.querySelector(".navigationHeader");null!==e&&s(o.default.identify(e)),window.addEventListener("resize",c),n.default.add("WoltLabSuite/Core/Ui/FlexibleMenu",l)},t.register=s,t.registerTabMenus=l,t.rebuildAll=c,t.rebuild=d})),define("WoltLabSuite/Core/Ui/Suggestion",["require","exports","tslib","../Ajax","../Core","./Dropdown/Simple"],(function(e,t,i,n,o,r){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r);class a{constructor(e,t){this.dropdownMenu=null,this.value="";const i=document.getElementById(e);if(null===i)throw new Error("Expected a valid element id.");if(this.element=i,this.ajaxPayload=o.extend({actionName:"getSearchResultList",className:"",interfaceName:"wcf\\data\\ISearchAction",parameters:{data:{}}},t.ajax),"function"!=typeof t.callbackSelect)throw new Error("Expected a valid callback for option 'callbackSelect'.");this.callbackSelect=t.callbackSelect,this.excludedSearchValues=new Set(Array.isArray(t.excludedSearchValues)?t.excludedSearchValues:[]),this.threshold=void 0===t.threshold?3:t.threshold,this.element.addEventListener("click",(e=>e.preventDefault())),this.element.addEventListener("keydown",(e=>this.keyDown(e))),this.element.addEventListener("keyup",(e=>this.keyUp(e)))}addExcludedValue(e){this.excludedSearchValues.add(e)}removeExcludedValue(e){this.excludedSearchValues.delete(e)}isActive(){return null!==this.dropdownMenu&&r.default.isOpen(this.element.id)}keyDown(e){if(!this.isActive())return!0;if(-1===["ArrowDown","ArrowUp","Enter","Escape"].indexOf(e.key))return!0;let t,i=0;const n=this.dropdownMenu.childElementCount;for(;i<n&&(t=this.dropdownMenu.children[i],!t.classList.contains("active"));)i++;if("Enter"===e.key)r.default.close(this.element.id),this.select(void 0,t);else if("Escape"===e.key){if(!r.default.isOpen(this.element.id))return!0;r.default.close(this.element.id)}else{let o=0;"ArrowUp"===e.key?o=(0===i?n:i)-1:"ArrowDown"===e.key&&(o=i+1,o===n&&(o=0)),o!==i&&(t.classList.remove("active"),this.dropdownMenu.children[o].classList.add("active"))}return e.preventDefault(),!1}select(e,t){if(e instanceof MouseEvent){t=e.currentTarget.parentNode}const i=t.children[0];this.callbackSelect(this.element.id,{objectId:+(i.dataset.objectId||0),value:t.textContent||"",type:i.dataset.type||""}),e instanceof MouseEvent&&this.element.focus()}keyUp(e){const t=e.currentTarget.value.trim();if(this.value!==t){if(t.length<this.threshold)return null!==this.dropdownMenu&&r.default.close(this.element.id),void(this.value=t);this.value=t,n.api(this,{parameters:{data:{excludedSearchValues:Array.from(this.excludedSearchValues),searchString:t}}})}}_ajaxSetup(){return{data:this.ajaxPayload}}_ajaxSuccess(e){null===this.dropdownMenu?(this.dropdownMenu=document.createElement("div"),this.dropdownMenu.className="dropdownMenu",r.default.initFragment(this.element,this.dropdownMenu)):this.dropdownMenu.innerHTML="",Array.isArray(e.returnValues)&&e.returnValues.length>0?(e.returnValues.forEach(((e,t)=>{const i=document.createElement("a");e.icon?(i.className="box16",i.innerHTML=`${e.icon} <span></span>`,i.children[1].textContent=e.label):i.textContent=e.label,i.dataset.objectId=e.objectID.toString(),e.type&&(i.dataset.type=e.type),i.addEventListener("click",(e=>this.select(e)));const n=document.createElement("li");0===t&&(n.className="active"),n.appendChild(i),this.dropdownMenu.appendChild(n)})),r.default.open(this.element.id,!0)):r.default.close(this.element.id)}}return o.enableLegacyInheritance(a),a})),define("WoltLabSuite/Core/Ui/ItemList",["require","exports","tslib","../Core","../Dom/Traverse","../Language","./Suggestion","./Dropdown/Simple","../Dom/Util"],(function(e,t,i,n,o,r,a,s,l){"use strict";function c(e){const t=y.get(e);return-1===t.options.maxItems||t.list.childElementCount-1<t.options.maxItems}function d(e){const t=y.get(e);c(e)?(l.default.show(t.element),l.default.hide(t.limitReached)):(l.default.hide(t.element),l.default.show(t.limitReached))}function u(e){const t=e.currentTarget,i=t.parentElement.previousElementSibling;"Backspace"===e.key?0===t.value.length&&null!==i&&(i.classList.contains("active")?b(i):i.classList.add("active")):"Escape"===e.key&&null!==i&&i.classList.contains("active")&&i.classList.remove("active")}function h(e){if("Enter"===e.key){e.preventDefault();const t=e.currentTarget;if(y.get(t.id).options.restricted)return;const i=t.value.trim();i.length&&g(t.id,{objectId:0,value:i})}}function p(e){const t=e.currentTarget;if(y.get(t.id).options.restricted)return;let i=t.value;i.includes(",")&&(i=i.replace(/,/g,""),i.length?g(t.id,{objectId:0,value:i}):t.value=i)}function m(e){e.preventDefault();const t=e.clipboardData.getData("text/plain"),i=e.currentTarget,n=i.id,o=+i.maxLength;t.split(/,/).forEach((e=>{e=e.trim(),o&&e.length>o&&(e=e.substr(0,o)),e.length>0&&c(n)&&g(n,{objectId:0,value:e})}))}function f(e){const t=e.currentTarget;if(t.value.length>0){const e=t.parentElement.previousElementSibling;null!==e&&e.classList.remove("active")}}function g(e,t){const i=y.get(e),n=document.createElement("li");n.className="item";const o=document.createElement("span");if(o.className="content",o.dataset.objectId=t.objectId.toString(),t.type&&(o.dataset.type=t.type),o.textContent=t.value,n.appendChild(o),!i.element.disabled){const e=document.createElement("a");e.className="icon icon16 fa-times",e.addEventListener("click",b),n.appendChild(e)}i.list.insertBefore(n,i.listItem),i.suggestion.addExcludedValue(t.value),i.element.value="",i.element.disabled||d(e);let r=_(i);"function"==typeof i.options.callbackChange&&(null===r&&(r=w(e)),i.options.callbackChange(e,r))}function b(e,t){if(e instanceof Event){e=e.currentTarget.parentElement}const i=e.parentElement.dataset.elementId||"",n=y.get(i);e.children[0].textContent&&n.suggestion.removeExcludedValue(e.children[0].textContent),e.remove(),t||n.element.focus(),d(i);let o=_(n);"function"==typeof n.options.callbackChange&&(null===o&&(o=w(i)),n.options.callbackChange(i,o))}function _(e){if(!e.options.isCSV)return null;if("function"==typeof e.options.callbackSyncShadow)return e.options.callbackSyncShadow(e);const t=w(e.element.id);return e.shadow.value=w(e.element.id).map((e=>e.value)).join(","),t}function v(e){const t=e.currentTarget,i=y.get(t.id);if(i.options.restricted)return;const n=t.value.trim();n.length&&(i.suggestion&&i.suggestion.isActive()||g(t.id,{objectId:0,value:n}))}function w(e){const t=y.get(e);if(!t)throw new Error("Element id '"+e+"' is unknown.");const i=[];return t.list.querySelectorAll(".item > span").forEach((e=>{i.push({objectId:+(e.dataset.objectId||""),value:e.textContent.trim(),type:e.dataset.type})})),i}Object.defineProperty(t,"__esModule",{value:!0}),t.setValues=t.getValues=t.init=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importDefault(a),s=i.__importDefault(s),l=i.__importDefault(l);const y=new Map;t.init=function(e,t,i){const d=document.getElementById(e);if(null===d)throw new Error("Expected a valid element id, '"+e+"' is invalid.");if(y.has(e)){const t=y.get(e);Object.keys(t).forEach((e=>{const i=t[e];i instanceof Element&&i.parentNode&&i.remove()})),s.default.destroy(e),y.delete(e)}const b=n.extend({ajax:{actionName:"getSearchResultList",className:"",data:{}},excludedSearchValues:[],maxItems:-1,maxLength:-1,restricted:!1,isCSV:!1,callbackChange:null,callbackSubmit:null,callbackSyncShadow:null,callbackSetupValues:null,submitFieldName:""},i),_=o.parentByTag(d,"FORM");if(null!==_)if(b.isCSV)_.addEventListener("submit",(()=>{if(c(e)){const t=y.get(e).element.value.trim();t.length&&g(e,{objectId:0,value:t})}}));else{if(!b.submitFieldName.length&&"function"!=typeof b.callbackSubmit)throw new Error("Expected a valid function for option 'callbackSubmit', a non-empty value for option 'submitFieldName' or enabling the option 'submitFieldCSV'.");_.addEventListener("submit",(()=>{if(c(e)){const t=y.get(e).element.value.trim();t.length&&g(e,{objectId:0,value:t})}const t=w(e);b.submitFieldName.length?t.forEach((e=>{const t=document.createElement("input");t.type="hidden",t.name=b.submitFieldName.replace("{$objectId}",e.objectId.toString()),t.value=e.value,_.appendChild(t)})):b.callbackSubmit(_,t)}))}const E=function(e,t){const i=e.parentElement,n=document.createElement("ol");n.className="inputItemList"+(e.disabled?" disabled":""),n.dataset.elementId=e.id,n.addEventListener("click",(t=>{t.target===n&&e.focus()}));const o=document.createElement("li");o.className="input",n.appendChild(o),e.addEventListener("input",p),e.addEventListener("keydown",u),e.addEventListener("keypress",h),e.addEventListener("keyup",f),e.addEventListener("paste",m);const a=e===document.activeElement;a&&e.blur(),e.addEventListener("blur",v),i.insertBefore(n,e),o.appendChild(e),a&&window.setTimeout((()=>{e.focus()}),1),-1!==t.maxLength&&(e.maxLength=t.maxLength);const s=document.createElement("span");s.className="inputItemListLimitReached",s.textContent=r.get("wcf.global.form.input.maxItems"),l.default.hide(s),o.appendChild(s);let c=null;const d=[];if(t.isCSV&&(c=document.createElement("input"),c.className="itemListInputShadow",c.type="hidden",c.name=e.name,e.removeAttribute("name"),n.parentNode.insertBefore(c,n),e.value.split(",").forEach((e=>{(e=e.trim())&&d.push(e)})),"TEXTAREA"===e.nodeName)){const t=document.createElement("input");t.type="text",e.parentNode.insertBefore(t,e),t.id=e.id,e.remove(),e=t}return{element:e,limitReached:s,list:n,shadow:c,values:d}}(d,b),S=new a.default(e,{ajax:b.ajax,callbackSelect:g,excludedSearchValues:b.excludedSearchValues});y.set(e,{dropdownMenu:null,element:E.element,limitReached:E.limitReached,list:E.list,listItem:E.element.parentElement,options:b,shadow:E.shadow,suggestion:S}),t=b.callbackSetupValues?b.callbackSetupValues():E.values.length?E.values:t,Array.isArray(t)&&t.forEach((t=>{"string"==typeof t&&(t={objectId:0,value:t}),g(e,t)}))},t.getValues=w,t.setValues=function(e,t){const i=y.get(e);if(!i)throw new Error("Element id '"+e+"' is unknown.");o.childrenByClass(i.list,"item").forEach((e=>{b(e,!0)})),t.forEach((t=>{g(e,t)}))}})),define("WoltLabSuite/Core/Ui/Pagination",["require","exports","tslib","../Core","../Language","../StringUtil","./Page/JumpTo"],(function(e,t,i,n,o,r,a){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a);class s{constructor(e,t){this.callbackSwitch=null,this.callbackShouldSwitch=null,this.element=e,this.activePage=t.activePage,this.maxPage=t.maxPage,"function"==typeof t.callbackSwitch&&(this.callbackSwitch=t.callbackSwitch),"function"==typeof t.callbackShouldSwitch&&(this.callbackShouldSwitch=t.callbackShouldSwitch),this.element.classList.add("pagination"),this.rebuild()}rebuild(){let e=!1;this.element.innerHTML="";const t=document.createElement("ul");let i=document.createElement("li");i.className="skip",t.appendChild(i);let n="icon icon24 fa-chevron-left";if(this.activePage>1){const e=document.createElement("a");e.className=n+" jsTooltip",e.href="#",e.title=o.get("wcf.global.page.previous"),e.rel="prev",i.appendChild(e),e.addEventListener("click",(e=>this.switchPage(this.activePage-1,e)))}else i.innerHTML='<span class="'+n+'"></span>',i.classList.add("disabled");t.appendChild(this.createLink(1));let r=s.showLinks-4,l=this.activePage-2;l<0&&(l=0);let c=this.maxPage-(this.activePage+1);c<0&&(c=0),this.activePage>1&&this.activePage<this.maxPage&&r--;const d=r/2;let u=this.activePage,h=this.activePage;u<1&&(u=1),h<1&&(h=1),h>this.maxPage-1&&(h=this.maxPage-1),l>=d?u-=d:(u-=l,h+=d-l),c>=d?h+=d:(h+=c,u-=d-c),h=Math.ceil(h),u=Math.ceil(u),u<1&&(u=1),h>this.maxPage&&(h=this.maxPage);const p='<a class="jsTooltip" title="'+o.get("wcf.page.jumpTo")+'">…</a>';u>1&&(u-1<2?t.appendChild(this.createLink(2)):(i=document.createElement("li"),i.className="jumpTo",i.innerHTML=p,t.appendChild(i),e=!0));for(let e=u+1;e<h;e++)t.appendChild(this.createLink(e));if(h<this.maxPage&&(this.maxPage-h<2?t.appendChild(this.createLink(this.maxPage-1)):(i=document.createElement("li"),i.className="jumpTo",i.innerHTML=p,t.appendChild(i),e=!0)),t.appendChild(this.createLink(this.maxPage)),i=document.createElement("li"),i.className="skip",t.appendChild(i),n="icon icon24 fa-chevron-right",this.activePage<this.maxPage){const e=document.createElement("a");e.className=n+" jsTooltip",e.href="#",e.title=o.get("wcf.global.page.next"),e.rel="next",i.appendChild(e),e.addEventListener("click",(e=>this.switchPage(this.activePage+1,e)))}else i.innerHTML='<span class="'+n+'"></span>',i.classList.add("disabled");e&&(t.dataset.pages=this.maxPage.toString(),a.init(t,this.switchPage.bind(this))),this.element.appendChild(t)}createLink(e){const t=document.createElement("li");if(e!==this.activePage){const i=document.createElement("a");i.textContent=r.addThousandsSeparator(e),i.addEventListener("click",(t=>this.switchPage(e,t))),t.appendChild(i)}else t.classList.add("active"),t.innerHTML="<span>"+r.addThousandsSeparator(e)+'</span><span class="invisible">'+o.get("wcf.page.pagePosition",{pageNo:e,pages:this.maxPage})+"</span>";return t}getActivePage(){return this.activePage}getElement(){return this.element}getMaxPage(){return this.maxPage}switchPage(e,t){if(t instanceof MouseEvent){t.preventDefault();const e=t.currentTarget;if(e&&e.dataset.tooltip){const t=document.getElementById("balloonTooltip");t&&(n.triggerEvent(e,"mouseleave"),t.style.removeProperty("top"),t.style.removeProperty("bottom"))}}if((e=~~e)>0&&this.activePage!==e&&e<=this.maxPage){if(null!==this.callbackShouldSwitch&&!this.callbackShouldSwitch(e))return;this.activePage=e,this.rebuild(),null!==this.callbackSwitch&&this.callbackSwitch(e)}}}return s.showLinks=11,n.enableLegacyInheritance(s),s})),define("WoltLabSuite/Core/Upload/Data",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})})),define("WoltLabSuite/Core/Wrapper/FacebookSdk",["require","exports","https://connect.facebook.net/en_US/sdk.js"],(function(e,t){"use strict";return FB.init({version:"v7.0"}),FB})),define("WoltLabSuite/Core/Controller/Clipboard/Data",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})})),define("WoltLabSuite/Core/Media/List/Upload",["require","exports","tslib","../Upload","../../Core"],(function(e,t,i,n,o){"use strict";n=i.__importDefault(n),o=i.__importStar(o);class r extends n.default{_createButton(){super._createButton();const e=this._button.querySelector("span"),t=document.createTextNode(" ");e.insertBefore(t,e.childNodes[0]);const i=document.createElement("span");i.className="icon icon16 fa-upload",e.insertBefore(i,e.childNodes[0])}_getParameters(){return this._options.categoryId?o.extend(super._getParameters(),{categoryID:this._options.categoryId}):super._getParameters()}}return o.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Controller/Media/List",["require","exports","tslib","../../Media/List/Upload","../../Media/Clipboard","../../Event/Handler","../../Media/Editor","../../Dom/Change/Listener"],(function(e,t,i,n,o,r,a,s){"use strict";function l(){Array.from(d.getElementsByClassName("jsMediaEditButton")).forEach((e=>{e.classList.remove("jsMediaEditButton"),e.addEventListener("click",(e=>{return t=e,void c.edit(~~t.currentTarget.dataset.objectId);var t}))}))}Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,n=i.__importDefault(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importDefault(a),s=i.__importStar(s);const c=new a.default({_editorSuccess:(e,t,i=!0)=>{(e.categoryID!=t||i)&&window.setTimeout((()=>{window.location.reload()}),500)}}),d=document.getElementById("mediaListTableBody");let u;t.init=function(e){e=e||{},u=new n.default("uploadButton","mediaListTableBody",{categoryId:e.categoryId,multiple:!0,elementTagSize:48}),o.init("wcf\\acp\\page\\MediaListPage",e.hasMarkedItems||!1,{clipboardDeleteMedia:e=>function(e){Array.from(document.getElementsByClassName("jsMediaRow")).forEach((t=>{const i=~~t.querySelector(".jsClipboardItem").dataset.objectId;-1!==e.indexOf(i)&&t.remove()})),document.getElementsByClassName("jsMediaRow").length||window.location.reload()}(e)}),l(),s.add("WoltLabSuite/Core/Controller/Media/List",(()=>l())),r.add("com.woltlab.wcf.media.upload","success",(e=>function(e){if(e.upload===u&&!e.isMultiFileUpload&&!u.hasPendingUploads()){const t=Object.keys(e.media);t.length&&c.edit(e.media[t[0]])}}(e)))}})),define("WoltLabSuite/Core/Controller/Notice/Dismiss",["require","exports","tslib","../../Ajax"],(function(e,t,i,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,n=i.__importStar(n),t.setup=function(){document.querySelectorAll(".jsDismissNoticeButton").forEach((e=>{e.addEventListener("click",(e=>function(e){const t=e.currentTarget;n.apiOnce({data:{actionName:"dismiss",className:"wcf\\data\\notice\\NoticeAction",objectIDs:[t.dataset.objectId]},success:()=>{t.parentElement.remove()}})}(e)))}))}})),define("WoltLabSuite/Core/Devtools/Style/LiveReload",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.notify=t.watch=void 0;const i="com.woltlab.wcf#DevTools/Style/LiveReload";t.watch=function(){if(!window.BroadcastChannel)return;new BroadcastChannel(i).onmessage=e=>{const t=document.querySelector("head link[rel=stylesheet]");if(!t)return;const i=new URL(t.href);i.searchParams.set("m",Math.trunc(Date.now()/1e3).toString());const n=document.createElement("link");n.rel="stylesheet",n.addEventListener("load",(()=>{t.remove()})),n.addEventListener("error",(()=>{n.remove()})),n.href=i.toString(),t.insertAdjacentElement("afterend",n)}},t.notify=function(){if(!window.BroadcastChannel)return;new BroadcastChannel(i).postMessage(void 0)}})),define("WoltLabSuite/Core/Form/Builder/Data",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})})),define("WoltLabSuite/Core/Form/Builder/Field/Field",["require","exports","tslib","../../../Core"],(function(e,t,i,n){"use strict";n=i.__importStar(n);class o{constructor(e){this.init(e)}init(e){this._fieldId=e,this._readField()}_getData(){throw new Error("Missing implementation of WoltLabSuite/Core/Form/Builder/Field/Field._getData!")}_readField(){if(this._field=document.getElementById(this._fieldId),null===this._field)throw new Error("Unknown field with id '"+this._fieldId+"'.")}destroy(){}getData(){return Promise.resolve(this._getData())}getId(){return this._fieldId}}return n.enableLegacyInheritance(o),o})),define("WoltLabSuite/Core/Form/Builder/Field/Dependency/Manager",["require","exports","tslib","../../../../Dom/Util","../../../../Event/Handler"],(function(e,t,i,n,o){"use strict";function r(){!0!==h?(h=!0,p=!1,o.fire("com.woltlab.wcf.form.builder.dependency","checkContainers"),h=!1,p&&r()):p=!0}function a(){const e=[];d.forEach(((t,i)=>{const o=document.getElementById(i);if(null===o)return void e.push(i);let r=!0;var a;t.forEach((e=>{var t;e.checkDependency()||(t=o,n.default.hide(t),s.add(t),t.classList.contains("tabMenuContent")&&t.parentNode.querySelector(".tabMenu").querySelectorAll("li").forEach((e=>{e.dataset.name===t.dataset.name&&n.default.hide(e)})),t.querySelectorAll("[max], [maxlength], [min], [required]").forEach((e=>{const t=new Map,i=e.getAttribute("max");i&&(t.set("max",i),e.removeAttribute("max"));const n=e.getAttribute("maxlength");n&&(t.set("maxlength",n),e.removeAttribute("maxlength"));const o=e.getAttribute("min");o&&(t.set("min",o),e.removeAttribute("min")),e.required&&(t.set("required","true"),e.removeAttribute("required")),u.set(e,t)})),r=!1)})),r&&(a=o,n.default.show(a),s.delete(a),a.classList.contains("tabMenuContent")&&a.parentNode.querySelector(".tabMenu").querySelectorAll("li").forEach((e=>{e.dataset.name===a.dataset.name&&n.default.show(e)})),a.querySelectorAll("input, select").forEach((e=>{let t=e.parentNode;for(;t!==a&&!n.default.isHidden(t);)t=t.parentNode;if(t===a&&u.has(e)){const t=u.get(e);t.has("max")&&e.setAttribute("max",t.get("max")),t.has("maxlength")&&e.setAttribute("maxlength",t.get("maxlength")),t.has("min")&&e.setAttribute("min",t.get("min")),t.has("required")&&e.setAttribute("required",""),u.delete(e)}})))})),e.forEach((e=>d.delete(e))),r()}Object.defineProperty(t,"__esModule",{value:!0}),t.unregister=t.register=t.isHiddenByDependencies=t.checkDependencies=t.checkContainers=t.addDependency=t.addContainerCheckCallback=void 0,n=i.__importDefault(n),o=i.__importStar(o);const s=new Set,l=new Map,c=new WeakSet,d=new Map,u=new WeakMap;let h=!1,p=!0;t.addContainerCheckCallback=function(e){if("function"!=typeof e)throw new TypeError("Expected a valid callback for parameter 'callback'.");o.add("com.woltlab.wcf.form.builder.dependency","checkContainers",e)},t.addDependency=function(e){const t=e.getDependentNode();d.has(t.id)?d.get(t.id).push(e):d.set(t.id,[e]),e.getFields().forEach((e=>{const t=n.default.identify(e);l.has(t)||(l.set(t,e),"INPUT"!==e.tagName||"checkbox"!==e.type&&"radio"!==e.type&&"hidden"!==e.type?e.addEventListener("input",(()=>a())):e.addEventListener("change",(()=>a())))}))},t.checkContainers=r,t.checkDependencies=a,t.isHiddenByDependencies=function(e){if(s.has(e))return!0;let t=!1;return s.forEach((i=>{e.contains(i)&&(t=!0)})),t},t.register=function(e){const t=document.getElementById(e);if(null===t)throw new Error("Unknown element with id '"+e+"'");if(c.has(t))throw new Error("Form with id '"+e+"' has already been registered.");c.add(t)},t.unregister=function(e){const t=document.getElementById(e);if(null===t)throw new Error("Unknown element with id '"+e+"'");if(!c.has(t))throw new Error("Form with id '"+e+"' has not been registered.");c.delete(t),s.forEach((e=>{t.contains(e)&&s.delete(e)})),d.forEach(((e,i)=>{t.contains(document.getElementById(i))&&d.delete(i),e.forEach((e=>{e.getFields().forEach((e=>{l.delete(e.id),u.delete(e)}))}))}))}})),define("WoltLabSuite/Core/Form/Builder/Manager",["require","exports","tslib","../../Core","../../Event/Handler","./Field/Field","./Field/Dependency/Manager"],(function(e,t,i,n,o,r,a){"use strict";function s(e,t){if(!l(e))throw new Error("Unknown form with id '"+e+"'.");return c.get(e).has(t)}function l(e){return d.has(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.unregisterForm=t.registerForm=t.registerField=t.hasForm=t.hasField=t.getForm=t.getField=t.getData=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importStar(a);const c=new Map,d=new Map;t.getData=function(e){if(!l(e))throw new Error("Unknown form with id '"+e+"'.");const t=[];return c.get(e).forEach((e=>{const i=e.getData();if(!(i instanceof Promise))throw new TypeError("Data for field with id '"+e.getId()+"' is no promise.");t.push(i)})),Promise.all(t).then((e=>e.reduce(((e,t)=>n.extend(e,t)),{})))},t.getField=function(e,t){if(!s(e,t))throw new Error("Unknown field with id '"+e+"' for form with id '"+t+"'.");return c.get(e).get(t)},t.getForm=function(e){if(!l(e))throw new Error("Unknown form with id '"+e+"'.");return d.get(e)},t.hasField=s,t.hasForm=l,t.registerField=function(e,t){if(!l(e))throw new Error("Unknown form with id '"+e+"'.");if(!(t instanceof r.default))throw new Error("Add field is no instance of 'WoltLabSuite/Core/Form/Builder/Field/Field'.");const i=t.getId();if(s(e,i))throw new Error("Form field with id '"+i+"' has already been registered for form with id '"+e+"'.");c.get(e).set(i,t),o.fire("WoltLabSuite/Core/Form/Builder/Manager","registerField",{field:t,formId:e})},t.registerForm=function(e){if(l(e))throw new Error("Form with id '"+e+"' has already been registered.");const t=document.getElementById(e);if(null===t)throw new Error("Unknown form with id '"+e+"'.");d.set(e,t),c.set(e,new Map),o.fire("WoltLabSuite/Core/Form/Builder/Manager","registerForm",{formId:e})},t.unregisterForm=function(e){if(!l(e))throw new Error("Unknown form with id '"+e+"'.");o.fire("WoltLabSuite/Core/Form/Builder/Manager","beforeUnregisterForm",{formId:e}),d.delete(e),c.get(e).forEach((function(e){e.destroy()})),c.delete(e),a.unregister(e),o.fire("WoltLabSuite/Core/Form/Builder/Manager","afterUnregisterForm",{formId:e})}})),define("WoltLabSuite/Core/Form/Builder/Dialog",["require","exports","tslib","../../Core","../../Ui/Dialog","../../Ajax","./Manager"],(function(e,t,i,n,o,r,a){"use strict";n=i.__importStar(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importStar(a);class s{constructor(e,t,i,n){this.init(e,t,i,n)}init(e,t,i,o){this._dialogId=e,this._className=t,this._actionName=i,this._options=n.extend({actionParameters:{},destroyOnClose:!1,usesDboAction:/\w+\\data\\/.test(this._className)},o),this._options.dialog=n.extend(this._options.dialog||{},{onClose:()=>this._dialogOnClose()}),this._formId="",this._dialogContent=""}_ajaxSetup(){const e={data:{actionName:this._actionName,className:this._className,parameters:this._options.actionParameters}};return this._options.usesDboAction||(e.url="index.php?ajax-invoke/&t="+window.SECURITY_TOKEN,e.withCredentials=!0),e}_ajaxSuccess(e){switch(e.actionName){case this._actionName:if(void 0===e.returnValues)throw new Error("Missing return data.");!function(e){if(void 0===e.dialog)throw new Error("Missing dialog template in return data.");if(void 0===e.formId)throw new Error("Missing form id in return data.")}(e.returnValues),this._openDialogContent(e.returnValues.formId,e.returnValues.dialog);break;case this._options.submitActionName:if(e.returnValues&&(void 0!==(t=e.returnValues).dialog&&void 0!==t.formId)){if(e.returnValues.formId!==this._formId)throw new Error("Mismatch between form ids: expected '"+this._formId+"' but got '"+e.returnValues.formId+"'.");this._openDialogContent(e.returnValues.formId,e.returnValues.dialog)}else this.destroy(),"function"==typeof this._options.successCallback&&this._options.successCallback(e.returnValues||{});break;default:throw new Error("Cannot handle action '"+e.actionName+"'.")}var t}_closeDialog(){o.default.close(this),"function"==typeof this._options.closeCallback&&this._options.closeCallback()}_dialogOnClose(){this._options.destroyOnClose&&this.destroy()}_dialogSetup(){return{id:this._dialogId,options:this._options.dialog,source:this._dialogContent}}_dialogSubmit(){this.getData().then((e=>this._submitForm(e)))}_openDialogContent(e,t){this.destroy(!0),this._formId=e,this._dialogContent=t;const i=o.default.open(this,this._dialogContent),r=i.content.querySelector("button[data-type=cancel]");null===r||n.stringToBool(r.dataset.hasEventListener||"")||(r.addEventListener("click",(()=>this._closeDialog())),r.dataset.hasEventListener="1"),this._additionalSubmitButtons=Array.from(i.content.querySelectorAll(':not(.formSubmit) button[type="submit"]')),this._additionalSubmitButtons.forEach((e=>{e.addEventListener("click",(()=>{this._additionalSubmitButtons.forEach((t=>{t.dataset.isClicked=t===e?"1":"0"})),setTimeout((()=>o.default.submit(this._dialogId)),0)}))}))}_submitForm(e){const t=o.default.getDialog(this).content.querySelector("button[data-type=submit]");"function"==typeof this._options.onSubmit?this._options.onSubmit(e,t):"string"==typeof this._options.submitActionName&&(t.disabled=!0,this._additionalSubmitButtons.forEach((e=>e.disabled=!0)),r.api(this,{actionName:this._options.submitActionName,parameters:{data:e,formId:this._formId}}))}destroy(e=!1){""!==this._formId&&(a.hasForm(this._formId)&&a.unregisterForm(this._formId),!0!==e&&o.default.destroy(this))}getData(){if(""===this._formId)throw new Error("Form has not been requested yet.");return a.getData(this._formId)}open(){o.default.getDialog(this._dialogId)?o.default.open(this):r.api(this)}}return n.enableLegacyInheritance(s),s})),define("WoltLabSuite/Core/Media/Manager/Search",["require","exports","tslib","../../Dom/Traverse","../../Language","../../Ajax","../../Core","../../Dom/Util"],(function(e,t,i,n,o,r,a,s){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importDefault(s);class l{constructor(e){this._searchMode=!1,this._mediaManager=e;const t=e.getDialog();this._searchContainer=t.querySelector(".mediaManagerSearch"),this._input=t.querySelector(".mediaManagerSearchField"),this._input.addEventListener("keypress",(e=>this._keyPress(e))),this._cancelButton=t.querySelector(".mediaManagerSearchCancelButton"),this._cancelButton.addEventListener("click",(()=>this._cancelSearch()))}_ajaxSetup(){return{data:{actionName:"getSearchResultList",className:"wcf\\data\\media\\MediaAction",interfaceName:"wcf\\data\\ISearchAction"}}}_ajaxSuccess(e){this._mediaManager.setMedia(e.returnValues.media||{},e.returnValues.template||"",{pageCount:e.returnValues.pageCount||0,pageNo:e.returnValues.pageNo||0}),this._mediaManager.getDialog().querySelector(".dialogContent").scrollTop=0}_cancelSearch(){this._searchMode&&(this._searchMode=!1,this.resetSearch(),this._mediaManager.resetMedia())}_hideStringThresholdError(){const e=n.childByClass(this._input.parentNode.parentNode,"innerInfo");e&&s.default.hide(e)}_keyPress(e){"Enter"===e.key&&(e.preventDefault(),this._input.value.length>=this._mediaManager.getOption("minSearchLength")?(this._hideStringThresholdError(),this.search()):this._showStringThresholdError())}_showStringThresholdError(){let e=n.childByClass(this._input.parentNode.parentNode,"innerInfo");e?s.default.show(e):(e=document.createElement("p"),e.className="innerInfo",e.textContent=o.get("wcf.media.search.info.searchStringThreshold",{minSearchLength:this._mediaManager.getOption("minSearchLength")}),this._input.parentNode.insertAdjacentElement("afterend",e))}hideSearch(){s.default.hide(this._searchContainer)}resetSearch(){this._input.value=""}showSearch(){s.default.show(this._searchContainer)}search(e){"number"!=typeof e&&(e=1);let t=this._input.value;t&&this._input.value.length<this._mediaManager.getOption("minSearchLength")?(this._showStringThresholdError(),t=""):this._hideStringThresholdError(),this._searchMode=!0,r.api(this,{parameters:{categoryID:this._mediaManager.getCategoryId(),imagesOnly:this._mediaManager.getOption("imagesOnly"),mode:this._mediaManager.getMode(),pageNo:e,searchString:t}})}}return a.enableLegacyInheritance(l),l})),define("WoltLabSuite/Core/Media/Manager/Base",["require","exports","tslib","../../Core","../../Language","../../Permission","../../Dom/Change/Listener","../../Event/Handler","../../Dom/Traverse","../../Dom/Util","../../Ui/Dialog","../../Controller/Clipboard","../../Ui/Pagination","../../Ui/Notification","../../StringUtil","./Search","../Upload","../Editor","../Clipboard"],(function(e,t,i,n,o,r,a,s,l,c,d,u,h,p,m,f,g,b,_){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importStar(l),c=i.__importStar(c),d=i.__importStar(d),u=i.__importStar(u),h=i.__importDefault(h),p=i.__importStar(p),m=i.__importStar(m),f=i.__importDefault(f),g=i.__importDefault(g),b=i.__importDefault(b),_=i.__importStar(_);let v=0;class w{constructor(e){this._forceClipboard=!1,this._hadInitiallyMarkedItems=!1,this._listItems=new Map,this._media=new Map,this._mediaEditor=null,this._mediaManagerMediaList=null,this._pagination=null,this._search=null,this._upload=null,this._options=n.extend({dialogTitle:o.get("wcf.media.manager"),imagesOnly:!1,minSearchLength:3},e),this._id="mediaManager"+v++,r.get("admin.content.cms.canManageMedia")&&(this._mediaEditor=new b.default(this)),a.add("WoltLabSuite/Core/Media/Manager",(()=>this._addButtonEventListeners())),s.add("com.woltlab.wcf.media.upload","success",(e=>this._openEditorAfterUpload(e)))}_addButtonEventListeners(){this._mediaManagerMediaList&&r.get("admin.content.cms.canManageMedia")&&l.childrenByTag(this._mediaManagerMediaList,"LI").forEach((e=>{const t=e.querySelector(".jsMediaEditButton");t&&(t.classList.remove("jsMediaEditButton"),t.addEventListener("click",(e=>this._editMedia(e))))}))}_categoryChange(){this._search.search()}_click(e){e.preventDefault(),d.open(this)}_dialogClose(){(r.get("admin.content.cms.canManageMedia")||this._forceClipboard)&&u.hideEditor("com.woltlab.wcf.media")}_dialogInit(e,t){Object.entries(t.returnValues.media||{}).forEach((([e,t])=>{this._media.set(~~e,t)})),this._initPagination(~~t.returnValues.pageCount),this._hadInitiallyMarkedItems=t.returnValues.hasMarkedItems>0}_dialogSetup(){return{id:this._id,options:{onClose:()=>this._dialogClose(),onShow:()=>this._dialogShow(),title:this._options.dialogTitle},source:{after:(e,t)=>this._dialogInit(e,t),data:{actionName:"getManagementDialog",className:"wcf\\data\\media\\MediaAction",parameters:{mode:this.getMode(),imagesOnly:this._options.imagesOnly}}}}}_dialogShow(){if(!this._mediaManagerMediaList){const e=this.getDialog();this._mediaManagerMediaList=e.querySelector(".mediaManagerMediaList"),this._mediaCategorySelect=e.querySelector(".mediaManagerCategoryList > select"),this._mediaCategorySelect&&this._mediaCategorySelect.addEventListener("change",(()=>this._categoryChange()));const t=l.childrenByTag(this._mediaManagerMediaList,"LI");if(t.forEach((e=>{this._listItems.set(~~e.dataset.objectId,e)})),r.get("admin.content.cms.canManageMedia")){const e=d.getDialog(this).dialog.querySelector(".mediaManagerMediaUploadButton");this._upload=new g.default(c.identify(e),c.identify(this._mediaManagerMediaList),{mediaManager:this}),s.add("WoltLabSuite/Core/Ui/Object/Action","delete",(e=>this.removeMedia(~~e.objectElement.dataset.objectId)))}r.get("admin.content.cms.canManageMedia")||this._forceClipboard?_.init("menuManagerDialog-"+this.getMode(),!!this._hadInitiallyMarkedItems,this):this._removeClipboardCheckboxes(),this._search=new f.default(this),t.length||this._search.hideSearch()}(r.get("admin.content.cms.canManageMedia")||this._forceClipboard)&&u.showEditor()}_editMedia(e){if(!r.get("admin.content.cms.canManageMedia"))throw new Error("You are not allowed to edit media files.");d.close(this);const t=e.currentTarget;this._mediaEditor.edit(this._media.get(~~t.dataset.objectId))}_editorClose(){d.open(this)}_editorSuccess(e,t,i=!0){if(this._mediaCategorySelect){const i=~~this._mediaCategorySelect.value;if(i){const n=~~e.categoryID;t==n||t!=i&&n!=i||this._search.search()}}i&&d.open(this),this._media.set(~~e.mediaID,e);const n=this._listItems.get(~~e.mediaID),o=n.querySelector(".mediaTitle");e.isMultilingual?e.title&&e.title[window.LANGUAGE_ID]?o.textContent=e.title[window.LANGUAGE_ID]:o.textContent=e.filename:e.title&&e.title[e.languageID]?o.textContent=e.title[e.languageID]:o.textContent=e.filename;const r=n.querySelector(".mediaThumbnail");r.innerHTML=e.elementTag;const a=r.querySelector("img");a&&(a.src+=`&refresh=${Date.now()}`)}_initPagination(e,t){if(void 0===t&&(t=1),e>1){const i=document.createElement("div");i.className="paginationBottom jsPagination",c.replaceElement(d.getDialog(this).content.querySelector(".jsPagination"),i),this._pagination=new h.default(i,{activePage:t,callbackSwitch:e=>this._search.search(e),maxPage:e})}else this._pagination&&c.hide(this._pagination.getElement())}_removeClipboardCheckboxes(){this._mediaManagerMediaList.querySelectorAll(".mediaCheckbox").forEach((e=>e.remove()))}_openEditorAfterUpload(e){if(e.upload===this._upload&&!e.isMultiFileUpload&&!this._upload.hasPendingUploads()){const t=Object.keys(e.media);t.length&&(d.close(this),this._mediaEditor.edit(this._media.get(~~e.media[t[0]].mediaID)))}}_setMedia(e){this._media=new Map(Object.entries(e).map((([e,t])=>[~~e,t])));let t=l.nextByClass(this._mediaManagerMediaList,"info");this._media.size?t&&c.hide(t):(null===t&&(t=document.createElement("p"),t.className="info",t.textContent=o.get("wcf.media.search.noResults")),c.show(t),c.insertAfter(t,this._mediaManagerMediaList)),l.childrenByTag(this._mediaManagerMediaList,"LI").forEach((e=>{this._media.has(~~e.dataset.objectId)?c.show(e):c.hide(e)})),a.trigger(),r.get("admin.content.cms.canManageMedia")||this._forceClipboard?u.reload():this._removeClipboardCheckboxes()}addMedia(e,t){e.languageID||(e.isMultilingual=1),this._media.set(~~e.mediaID,e),this._listItems.set(~~e.mediaID,t),1===this._listItems.size&&this._search.showSearch()}clipboardDeleteMedia(e){e.forEach((e=>{this.removeMedia(~~e)})),p.show()}getCategoryId(){return this._mediaCategorySelect?~~this._mediaCategorySelect.value:0}getDialog(){return d.getDialog(this).dialog}getMode(){return""}getOption(e){return this._options[e]?this._options[e]:null}removeMedia(e){if(this._listItems.has(e)){try{this._listItems.get(e).remove()}catch(e){}this._listItems.delete(e),this._media.delete(e)}}resetMedia(){this._search.search()}setMedia(e,t,i){if(Object.entries(e).length>0){const e=document.createElement("ul");e.innerHTML=t,l.childrenByTag(e,"LI").forEach((e=>{this._listItems.has(~~e.dataset.objectId)||(this._listItems.set(~~e.dataset.objectId,e),this._mediaManagerMediaList.appendChild(e))}))}this._initPagination(i.pageCount,i.pageNo),this._setMedia(e)}setupMediaElement(e,t){const i=l.childByClass(t,"mediaInformation"),a=document.createElement("nav");a.className="jsMobileNavigation buttonGroupNavigation",i.parentNode.appendChild(a);const s=document.createElement("ul");s.className="buttonList iconList",a.appendChild(s);const c=document.createElement("li");c.className="mediaCheckbox",s.appendChild(c);const d=document.createElement("a");c.appendChild(d);const u=document.createElement("label");d.appendChild(u);const h=document.createElement("input");if(h.className="jsClipboardItem",h.type="checkbox",h.dataset.objectId=e.mediaID.toString(),u.appendChild(h),r.get("admin.content.cms.canManageMedia")){const t=document.createElement("li");t.className="jsMediaEditButton",t.dataset.objectId=e.mediaID.toString(),s.appendChild(t),t.innerHTML=`\n <a>\n <span class="icon icon16 fa-pencil jsTooltip" title="${o.get("wcf.global.button.edit")}"></span>\n <span class="invisible">${o.get("wcf.global.button.edit")}</span>\n </a>`;const i=document.createElement("li");i.classList.add("jsObjectAction"),i.dataset.objectAction="delete";const r=n.getUuid();i.dataset.confirmMessage=m.unescapeHTML(o.get("wcf.media.delete.confirmMessage",{title:r})).replace(r,m.escapeHTML(e.filename)),s.appendChild(i),i.innerHTML=`\n <a>\n <span class="icon icon16 fa-times jsTooltip" title="${o.get("wcf.global.button.delete")}"></span>\n <span class="invisible">${o.get("wcf.global.button.delete")}</span>\n </a>`}}}return n.enableLegacyInheritance(w),w})),define("WoltLabSuite/Core/Media/Manager/Editor",["require","exports","tslib","./Base","../../Core","../../Event/Handler","../../Dom/Traverse","../../Language","../../Ui/Dialog","../../Controller/Clipboard","../../Dom/Util"],(function(e,t,i,n,o,r,a,s,l,c,d){"use strict";n=i.__importDefault(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importStar(l),c=i.__importStar(c),d=i.__importDefault(d);class u extends n.default{constructor(e){super(e=o.extend({callbackInsert:null},e)),this._forceClipboard=!0,this._activeButton=null;const t=this._options.editor?this._options.editor.core.toolbar()[0]:void 0;if(this._buttons=(t||window.document).getElementsByClassName(this._options.buttonClass||"jsMediaEditorButton"),Array.from(this._buttons).forEach((e=>{e.addEventListener("click",(e=>this._click(e)))})),this._mediaToInsert=new Map,this._mediaToInsertByClipboard=!1,this._uploadData=null,this._uploadId=null,this._options.editor&&!this._options.editor.opts.woltlab.attachments){const e=this._options.editor.$editor[0].dataset.elementId,t=r.add("com.woltlab.wcf.redactor2",`dragAndDrop_${e}`,(e=>this._editorUpload(e))),i=r.add("com.woltlab.wcf.redactor2",`pasteFromClipboard_${e}`,(e=>this._editorUpload(e)));r.add("com.woltlab.wcf.redactor2",`destroy_${e}`,(()=>{r.remove("com.woltlab.wcf.redactor2",`dragAndDrop_${e}`,t),r.remove("com.woltlab.wcf.redactor2",`dragAndDrop_${e}`,i)})),r.add("com.woltlab.wcf.media.upload","success",(e=>this._mediaUploaded(e)))}}_addButtonEventListeners(){super._addButtonEventListeners(),this._mediaManagerMediaList&&a.childrenByTag(this._mediaManagerMediaList,"LI").forEach((e=>{const t=e.querySelector(".jsMediaInsertButton");t&&(t.classList.remove("jsMediaInsertButton"),t.addEventListener("click",(e=>this._openInsertDialog(e))))}))}_buildInsertDialog(){let e="";this._getThumbnailSizes().forEach((t=>{e+='<option value="'+t+'">'+s.get("wcf.media.insert.imageSize."+t)+"</option>"})),e+='<option value="original">'+s.get("wcf.media.insert.imageSize.original")+"</option>";const t=`\n <div class="section">\n <dl class="thumbnailSizeSelection">\n <dt>${s.get("wcf.media.insert.imageSize")}</dt>\n <dd>\n <select name="thumbnailSize">\n ${e}\n </select>\n </dd>\n </dl>\n </div>\n <div class="formSubmit">\n <button class="buttonPrimary">${s.get("wcf.global.button.insert")}</button>\n </div>`;l.open({_dialogSetup:()=>({id:this._getInsertDialogId(),options:{onClose:()=>this._editorClose(),onSetup:e=>{e.querySelector(".buttonPrimary").addEventListener("click",(e=>this._insertMedia(e))),d.default.show(e.querySelector(".thumbnailSizeSelection"))},title:s.get("wcf.media.insert")},source:t})})}_click(e){this._activeButton=e.currentTarget,super._click(e)}_dialogShow(){if(super._dialogShow(),this._uploadData){const e=this._uploadData;if(e.file)this._upload.uploadFile(e.file);else{const e=this._uploadData;this._uploadId=this._upload.uploadBlob(e.blob)}this._uploadData=null}}_editorUpload(e){this._uploadData=e,l.open(this)}_getInsertDialogId(){return["mediaInsert",...this._mediaToInsert.keys()].join("-")}_getThumbnailSizes(){return["small","medium","large"].map((e=>Array.from(this._mediaToInsert.values()).every((t=>null!==t[e+"ThumbnailType"]))?e:null)).filter((e=>null!==e))}_insertMedia(e,t,i=!1){if(void 0===i&&(i=!0),e){l.close(this._getInsertDialogId());const i=e.currentTarget.closest(".dialogContent").querySelector("select[name=thumbnailSize]");t=i.value}null!==this._options.callbackInsert?this._options.callbackInsert(this._mediaToInsert,"separate",t):(this._options.editor.buffer.set(),this._mediaToInsert.forEach((e=>this._insertMediaItem(t,e)))),this._mediaToInsertByClipboard&&c.unmark("com.woltlab.wcf.media",Array.from(this._mediaToInsert.keys())),this._mediaToInsert=new Map,this._mediaToInsertByClipboard=!1,i&&l.close(this)}_insertMediaItem(e,t){if(t.isImage){let i="";["small","medium","large","original"].some((n=>0!=t[n+"ThumbnailHeight"]&&(i=n,e==n))),(e=i)||(e="original");let n=t.link;"original"!==e&&(n=t[e+"ThumbnailLink"]),this._options.editor.insert.html(`<img src="${n}" class="woltlabSuiteMedia" data-media-id="${t.mediaID}" data-media-size="${e}">`)}else this._options.editor.insert.text(`[wsm='${t.mediaID}'][/wsm]`)}_mediaUploaded(e){null!==this._uploadId&&this._upload===e.upload&&(this._uploadId===e.uploadId||Array.isArray(this._uploadId)&&-1!==this._uploadId.indexOf(e.uploadId))&&(this._mediaToInsert=new Map(e.media.entries()),this._insertMedia(null,"medium",!1),this._uploadId=null)}_openInsertDialog(e){const t=e.currentTarget;this.insertMedia([~~t.dataset.objectId])}clipboardInsertMedia(e){this.insertMedia(e,!0)}insertMedia(e,t){this._mediaToInsert=new Map,this._mediaToInsertByClipboard=t||!1;let i=!0;if(e.forEach((e=>{const t=this._media.get(e);this._mediaToInsert.set(t.mediaID,t),t.isImage||(i=!1)})),i){if(this._getThumbnailSizes().length){l.close(this);const e=this._getInsertDialogId();l.getDialog(e)?l.openStatic(e,null):this._buildInsertDialog()}else this._insertMedia(void 0,"original")}else this._insertMedia()}getMode(){return"editor"}setupMediaElement(e,t){super.setupMediaElement(e,t);const i=t.querySelector("nav.buttonGroupNavigation > ul"),n=document.createElement("li");n.className="jsMediaInsertButton",n.dataset.objectId=e.mediaID.toString(),i.appendChild(n),n.innerHTML=`\n <a>\n <span class="icon icon16 fa-plus jsTooltip" title="${s.get("wcf.global.button.insert")}"></span>\n <span class="invisible">${s.get("wcf.global.button.insert")}</span>\n </a>`}}return o.enableLegacyInheritance(u),u})),define("WoltLabSuite/Core/Media/Manager/Select",["require","exports","tslib","./Base","../../Core","../../Dom/Traverse","../../FileUtil","../../Language","../../Ui/Dialog","../../Dom/Util"],(function(e,t,i,n,o,r,a,s,l,c){"use strict";n=i.__importDefault(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importStar(l),c=i.__importDefault(c);class d extends n.default{constructor(e){super(e),this._activeButton=null,this._storeElements=new WeakMap,this._buttons=document.getElementsByClassName(this._options.buttonClass||"jsMediaSelectButton"),Array.from(this._buttons).forEach((e=>{const t=e.dataset.store;if(t){const i=document.getElementById(t);if(i&&"INPUT"===i.tagName){e.addEventListener("click",(e=>this._click(e))),this._storeElements.set(e,i);const t=document.createElement("p");t.className="button",e.insertAdjacentElement("afterend",t);const n=document.createElement("span");n.className="icon icon16 fa-times",t.appendChild(n),i.value||c.default.hide(t),t.addEventListener("click",(e=>this._removeMedia(e)))}}}))}_addButtonEventListeners(){super._addButtonEventListeners(),this._mediaManagerMediaList&&r.childrenByTag(this._mediaManagerMediaList,"LI").forEach((e=>{const t=e.querySelector(".jsMediaSelectButton");t&&(t.classList.remove("jsMediaSelectButton"),t.addEventListener("click",(e=>this._chooseMedia(e))))}))}_chooseMedia(e){if(null===this._activeButton)throw new Error("Media cannot be chosen if no button is active.");const t=e.currentTarget,i=this._media.get(~~t.dataset.objectId),n=document.getElementById(this._activeButton.dataset.store);n.value=i.mediaID.toString(),o.triggerEvent(n,"change");const r=this._activeButton.dataset.display;if(r){const e=document.getElementById(r);if(e)if(i.isImage){const t=i.smallThumbnailLink?i.smallThumbnailLink:i.link,n=i.altText&&i.altText[window.LANGUAGE_ID]?i.altText[window.LANGUAGE_ID]:"";e.innerHTML=`<img src="${t}" alt="${n}" />`}else{let t=a.getIconNameByFilename(i.filename);t&&(t="-"+t),e.innerHTML=`\n <div class="box48" style="margin-bottom: 10px;">\n <span class="icon icon48 fa-file${t}-o"></span>\n <div class="containerHeadline">\n <h3>${i.filename}</h3>\n <p>${i.formattedFilesize}</p>\n </div>\n </div>`}}this._activeButton.nextElementSibling.style.removeProperty("display"),l.close(this)}_click(e){if(e.preventDefault(),this._activeButton=e.currentTarget,super._click(e),!this._mediaManagerMediaList)return;const t=this._storeElements.get(this._activeButton);r.childrenByTag(this._mediaManagerMediaList,"LI").forEach((e=>{t.value&&t.value==e.dataset.objectId?e.classList.add("jsSelected"):e.classList.remove("jsSelected")}))}getMode(){return"select"}setupMediaElement(e,t){super.setupMediaElement(e,t);const i=t.querySelector("nav.buttonGroupNavigation > ul"),n=document.createElement("li");n.className="jsMediaSelectButton",n.dataset.objectId=e.mediaID.toString(),i.appendChild(n),n.innerHTML='<a><span class="icon icon16 fa-check jsTooltip" title="'+s.get("wcf.media.button.select")+'"></span> <span class="invisible">'+s.get("wcf.media.button.select")+"</span></a>"}_removeMedia(e){e.preventDefault();const t=e.currentTarget,i=t.previousElementSibling;t.remove();const n=document.getElementById(i.dataset.store);n.value="",o.triggerEvent(n,"change");const r=i.dataset.display;if(r){const e=document.getElementById(r);e&&(e.innerHTML="")}}}return o.enableLegacyInheritance(d),d})),define("WoltLabSuite/Core/Ui/Search/Input",["require","exports","tslib","../../Ajax","../../Core","../../Dom/Util","../Dropdown/Simple"],(function(e,t,i,n,o,r,a){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importDefault(a);class s{constructor(e,t){if(this.activeItem=void 0,this.callbackDropdownInit=void 0,this.callbackSelect=void 0,this.dropdownContainerId="",this.excludedSearchValues=new Set,this.list=void 0,this.lastValue="",this.request=void 0,this.timerDelay=void 0,this.element=e,!(this.element instanceof HTMLInputElement))throw new TypeError("Expected a valid DOM element.");if("INPUT"!==this.element.nodeName||"search"!==this.element.type&&"text"!==this.element.type)throw new Error('Expected an input[type="text"].');t=o.extend({ajax:{actionName:"getSearchResultList",className:"",interfaceName:"wcf\\data\\ISearchAction"},autoFocus:!0,callbackDropdownInit:void 0,callbackSelect:void 0,delay:500,excludedSearchValues:[],minLength:3,noResultPlaceholder:"",preventSubmit:!1},t),this.ajaxPayload=t.ajax,this.autoFocus=t.autoFocus,this.callbackDropdownInit=t.callbackDropdownInit,this.callbackSelect=t.callbackSelect,this.delay=t.delay,t.excludedSearchValues.forEach((e=>{this.addExcludedSearchValues(e)})),this.minLength=t.minLength,this.noResultPlaceholder=t.noResultPlaceholder,this.preventSubmit=t.preventSubmit,this.element.autocomplete="off",this.element.addEventListener("keydown",(e=>this.keydown(e))),this.element.addEventListener("keyup",(e=>this.keyup(e)))}addExcludedSearchValues(e){this.excludedSearchValues.add(e)}removeExcludedSearchValues(e){this.excludedSearchValues.delete(e)}keydown(e){(null!==this.activeItem&&a.default.isOpen(this.dropdownContainerId)||this.preventSubmit)&&"Enter"===e.key&&e.preventDefault(),["ArrowUp","ArrowDown","Escape"].includes(e.key)&&e.preventDefault()}keyup(e){if(null!==this.activeItem||!this.autoFocus)if(a.default.isOpen(this.dropdownContainerId)){if("ArrowUp"===e.key)return e.preventDefault(),this.keyboardPreviousItem();if("ArrowDown"===e.key)return e.preventDefault(),this.keyboardNextItem();if("Enter"===e.key)return e.preventDefault(),this.keyboardSelectItem()}else this.activeItem=void 0;if("Escape"===e.key)return void a.default.close(this.dropdownContainerId);const t=this.element.value.trim();this.lastValue!==t&&(this.lastValue=t,t.length<this.minLength?this.dropdownContainerId&&(a.default.close(this.dropdownContainerId),this.activeItem=void 0):this.delay?(this.timerDelay&&window.clearTimeout(this.timerDelay),this.timerDelay=window.setTimeout((()=>{this.search(t)}),this.delay)):this.search(t))}search(e){this.request&&this.request.abortPrevious(),this.request=n.api(this,this.getParameters(e))}getParameters(e){return{parameters:{data:{excludedSearchValues:this.excludedSearchValues,searchString:e}}}}keyboardNextItem(){let e;this.activeItem&&(this.activeItem.classList.remove("active"),this.activeItem.nextElementSibling&&(e=this.activeItem.nextElementSibling)),this.activeItem=e||this.list.children[0],this.activeItem.classList.add("active")}keyboardPreviousItem(){let e;this.activeItem&&(this.activeItem.classList.remove("active"),this.activeItem.previousElementSibling&&(e=this.activeItem.previousElementSibling)),this.activeItem=e||this.list.children[this.list.childElementCount-1],this.activeItem.classList.add("active")}keyboardSelectItem(){this.selectItem(this.activeItem)}clickSelectItem(e){this.selectItem(e.currentTarget)}selectItem(e){this.callbackSelect&&!this.callbackSelect(e)?this.element.value="":this.element.value=e.dataset.label||"",this.activeItem=void 0,a.default.close(this.dropdownContainerId)}_ajaxSuccess(e){let t=!1;if(this.list?this.list.innerHTML="":(this.list=document.createElement("ul"),this.list.className="dropdownMenu",t=!0,"function"==typeof this.callbackDropdownInit&&this.callbackDropdownInit(this.list)),"object"==typeof e.returnValues){const t=this.clickSelectItem.bind(this);Object.keys(e.returnValues).forEach((i=>{const n=this.createListItem(e.returnValues[i]);n.addEventListener("click",t),this.list.appendChild(n)}))}if(t){this.element.insertAdjacentElement("afterend",this.list);const e=this.element.parentElement;a.default.initFragment(e,this.list),this.dropdownContainerId=r.default.identify(e)}if(this.dropdownContainerId)if(this.activeItem=void 0,this.list.childElementCount||this.handleEmptyResult()){a.default.open(this.dropdownContainerId,!0,this.element);const e=this.list.childElementCount?this.list.children[0]:void 0;this.autoFocus&&e&&~~(e.dataset.objectId||"")&&(this.activeItem=e,this.activeItem.classList.add("active"))}else a.default.close(this.dropdownContainerId)}handleEmptyResult(){if(!this.noResultPlaceholder)return!1;const e=document.createElement("li");e.className="dropdownText";const t=document.createElement("span");return t.textContent=this.noResultPlaceholder,e.appendChild(t),this.list.appendChild(e),!0}createListItem(e){const t=document.createElement("li");t.dataset.objectId=e.objectID.toString(),t.dataset.label=e.label;const i=document.createElement("span");return i.textContent=e.label,t.appendChild(i),t}_ajaxSetup(){return{data:this.ajaxPayload}}}return o.enableLegacyInheritance(s),s})),define("WoltLabSuite/Core/Ui/User/Search/Input",["require","exports","tslib","../../../Core","../../Search/Input"],(function(e,t,i,n,o){"use strict";n=i.__importStar(n),o=i.__importDefault(o);class r extends o.default{constructor(e,t){const i=n.isPlainObject(t)&&!0===t.includeUserGroups;super(e,t=n.extend({ajax:{className:"wcf\\data\\user\\UserAction",parameters:{data:{includeUserGroups:i?1:0}}}},t))}createListItem(e){const t=super.createListItem(e);t.dataset.type=e.type;const i=document.createElement("div");return i.className="box16",i.innerHTML="group"===e.type?'<span class="icon icon16 fa-users"></span>':e.icon,i.appendChild(t.children[0]),t.appendChild(i),t}}return n.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Ui/Acl/Simple",["require","exports","tslib","../../Core","../../Language","../../StringUtil","../../Dom/Change/Listener","../../Dom/Util","../User/Search/Input"],(function(e,t,i,n,o,r,a,s,l){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importDefault(a),s=i.__importDefault(s),l=i.__importDefault(l);class c{constructor(e,t){this.prefix=e||"",this.inputName=t||"aclValues";const i=document.getElementById(this.prefix+"aclInputContainer"),n=document.getElementById(this.prefix+"invertPermissionsDl");document.getElementById(this.prefix+"aclAllowAll").addEventListener("change",(()=>{s.default.hide(i),n&&s.default.hide(n)}));document.getElementById(this.prefix+"aclAllowAll_no").addEventListener("change",(()=>{s.default.show(i),n&&s.default.show(n)})),this.list=document.getElementById(this.prefix+"aclAccessList"),this.list.addEventListener("click",this.removeItem.bind(this));const o=[];this.list.querySelectorAll(".aclLabel").forEach((e=>{o.push(e.textContent)})),this.searchInput=new l.default(document.getElementById(this.prefix+"aclSearchInput"),{callbackSelect:this.select.bind(this),includeUserGroups:!0,excludedSearchValues:o,preventSubmit:!0}),this.aclListContainer=document.getElementById(this.prefix+"aclListContainer");const r=document.getElementById(this.prefix+"invertPermissions");r&&r.addEventListener("change",(()=>{this.invertPermissions(!0)}));const c=document.getElementById(this.prefix+"invertPermissions_no");c&&c.addEventListener("change",(()=>{this.invertPermissions(!1)}));const d=document.getElementById(this.prefix+"invertPermissions");d&&this.invertPermissions(!!d.value),a.default.trigger()}select(e){const t=e.dataset.type,i=e.dataset.label,n=e.dataset.objectId,l=`<span class="icon icon16 fa-${"group"===t?"users":"user"}"></span>\n <span class="aclLabel">${r.escapeHTML(i)}</span>\n <span class="icon icon16 fa-times pointer jsTooltip" title="${o.get("wcf.global.button.delete")}"></span>\n <input type="hidden" name="${this.inputName}[${t}][]" value="${n}">`,c=document.createElement("li");c.innerHTML=l;const d=this.list.querySelector(".fa-user");return null===d?this.list.appendChild(c):this.list.insertBefore(c,d.parentNode),s.default.show(this.aclListContainer),this.searchInput.addExcludedSearchValues(i),a.default.trigger(),!1}removeItem(e){const t=e.target;if(t.classList.contains("fa-times")){const e=t.parentElement,i=e.querySelector(".aclLabel");this.searchInput.removeExcludedSearchValues(i.textContent),e.remove(),0===this.list.childElementCount&&s.default.hide(this.aclListContainer)}}invertPermissions(e){const t=document.getElementById(this.prefix+"aclListContainerDt"),i=document.getElementById(this.prefix+"aclSearchInputLabel");t.textContent=o.get(e?"wcf.acl.access.denied":"wcf.acl.access.granted"),i.textContent=o.get(e?"wcf.acl.access.deny":"wcf.acl.access.grant")}}return n.enableLegacyInheritance(c),c})),define("WoltLabSuite/Core/Ui/Article/MarkAllAsRead",["require","exports","tslib","../../Ajax"],(function(e,t,i,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,n=i.__importStar(n);class o{constructor(){document.querySelectorAll(".markAllAsReadButton").forEach((e=>{e.addEventListener("click",this.click.bind(this))}))}click(e){e.preventDefault(),n.api(this)}_ajaxSuccess(){const e=document.querySelector(".mainMenu .active .badge");e&&e.remove(),document.querySelectorAll(".articleList .newMessageBadge").forEach((e=>e.remove()))}_ajaxSetup(){return{data:{actionName:"markAllAsRead",className:"wcf\\data\\article\\ArticleAction"}}}}t.init=function(){new o}})),define("WoltLabSuite/Core/Ui/Article/Search",["require","exports","tslib","../../Ajax","../../Dom/Util","../../Language","../../StringUtil","../Dialog"],(function(e,t,i,n,o,r,a,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.open=void 0,n=i.__importStar(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importDefault(s);class l{constructor(){this.callbackSelect=void 0,this.resultContainer=void 0,this.resultList=void 0,this.searchInput=void 0}open(e){this.callbackSelect=e,s.default.open(this)}search(e){e.preventDefault();const t=this.searchInput.parentElement,i=this.searchInput.value.trim();i.length<3?o.default.innerError(t,r.get("wcf.article.search.error.tooShort")):(o.default.innerError(t,!1),n.api(this,{parameters:{searchString:i}}))}click(e){e.preventDefault();const t=e.currentTarget;this.callbackSelect(+t.dataset.articleId),s.default.close(this)}_ajaxSuccess(e){const t=e.returnValues.map((e=>`<li>\n <div class="containerHeadline pointer" data-article-id="${e.articleID}">\n <h3>${a.escapeHTML(e.name)}</h3>\n <small>${a.escapeHTML(e.displayLink)}</small>\n </div>\n </li>`)).join("");if(this.resultList.innerHTML=t,t?o.default.show(this.resultList):o.default.hide(this.resultList),t)this.resultList.querySelectorAll(".containerHeadline").forEach((e=>{e.addEventListener("click",this.click.bind(this))}));else{const e=this.searchInput.parentElement;o.default.innerError(e,r.get("wcf.article.search.error.noResults"))}}_ajaxSetup(){return{data:{actionName:"search",className:"wcf\\data\\article\\ArticleAction"}}}_dialogSetup(){return{id:"wcfUiArticleSearch",options:{onSetup:()=>{this.searchInput=document.getElementById("wcfUiArticleSearchInput"),this.searchInput.addEventListener("keydown",(e=>{"Enter"===e.key&&this.search(e)}));this.searchInput.nextElementSibling.addEventListener("click",this.search.bind(this)),this.resultContainer=document.getElementById("wcfUiArticleSearchResultContainer"),this.resultList=document.getElementById("wcfUiArticleSearchResultList")},onShow:()=>{this.searchInput.focus()},title:r.get("wcf.article.search")},source:`<div class="section">\n <dl>\n <dt>\n <label for="wcfUiArticleSearchInput">${r.get("wcf.article.search.name")}</label>\n </dt>\n <dd>\n <div class="inputAddon">\n <input type="text" id="wcfUiArticleSearchInput" class="long">\n <a href="#" class="inputSuffix"><span class="icon icon16 fa-search"></span></a>\n </div>\n </dd>\n </dl>\n </div>\n <section id="wcfUiArticleSearchResultContainer" class="section" style="display: none;">\n <header class="sectionHeader">\n <h2 class="sectionTitle">${r.get("wcf.article.search.results")}</h2>\n </header>\n <ol id="wcfUiArticleSearchResultList" class="containerList"></ol>\n </section>`}}}let c;t.open=function(e){(c||(c=new l),c).open(e)}})),define("WoltLabSuite/Core/Ui/Color/Picker",["require","exports","tslib","../../Core"],(function(e,t,i,n){"use strict";n=i.__importStar(n);let o=(e,t)=>{if("object"==typeof window.WCF&&"function"==typeof window.WCF.ColorPicker)return o=(e,t)=>{const i=new window.WCF.ColorPicker(e);return"function"==typeof t.callbackSubmit&&i.setCallbackSubmit(t.callbackSubmit),i},o(e,t);0===r.length&&(window.__wcf_bc_colorPickerInit=()=>{r.forEach((e=>{o(e[0],e[1])})),window.__wcf_bc_colorPickerInit=void 0,r=[]}),r.push([e,t])},r=[];class a{constructor(e,t){if(!(e instanceof Element))throw new TypeError("Expected a valid DOM element, use `UiColorPicker.fromSelector()` if you want to use a CSS selector.");t=n.extend({callbackSubmit:null},t||{}),o(e,t)}static fromSelector(e){document.querySelectorAll(e).forEach((e=>{new a(e)}))}}return n.enableLegacyInheritance(a),a})),define("WoltLabSuite/Core/Ui/Comment/Add",["require","exports","tslib","../../Ajax","../../Controller/Captcha","../../Core","../../Dom/Change/Listener","../../Dom/Util","../../Event/Handler","../../Language","../Dialog","../Scroll","../../User","../Notification"],(function(e,t,i,n,o,r,a,s,l,c,d,u,h,p){"use strict";n=i.__importStar(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importDefault(a),s=i.__importDefault(s),l=i.__importStar(l),c=i.__importStar(c),d=i.__importDefault(d),u=i.__importStar(u),h=i.__importDefault(h),p=i.__importStar(p);class m{constructor(e){this._editor=null,this._loadingOverlay=null,this._container=e,this._content=this._container.querySelector(".jsOuterEditorContainer"),this._textarea=this._container.querySelector(".wysiwygTextarea"),this._content.addEventListener("click",(e=>{this._content.classList.contains("collapsed")&&(e.preventDefault(),this._content.classList.remove("collapsed"),this._focusEditor())}));this._container.querySelector('button[data-type="save"]').addEventListener("click",(e=>this._submit(e)))}_focusEditor(){u.element(this._container,(()=>{window.jQuery(this._textarea).redactor("WoltLabCaret.endOfEditor")}))}_submitGuestDialog(e){if(e instanceof KeyboardEvent&&"Enter"!==e.key)return;const t=e.currentTarget.closest(".dialogContent").querySelector("input[name=username]");if(""===t.value)return s.default.innerError(t,c.get("wcf.global.form.error.empty")),void t.closest("dl").classList.add("formError");let i={parameters:{data:{username:t.value}}};if(o.default.has("commentAdd")){const e=o.default.getData("commentAdd");e instanceof Promise?e.then((e=>{i=r.extend(i,e),this._submit(void 0,i)})):(i=r.extend(i,e),this._submit(void 0,i))}else this._submit(void 0,i)}_submit(e,t){if(e&&e.preventDefault(),!this._validate())return;this._showLoadingOverlay();const i=this._getParameters();l.fire("com.woltlab.wcf.redactor2","submit_text",i.data),h.default.userId||t||(i.requireGuestDialog=!0),n.api(this,r.extend({parameters:i},t))}_getParameters(){const e=this._container.closest(".commentList");return{data:{message:this._getEditor().code.get(),objectID:~~e.dataset.objectId,objectTypeID:~~e.dataset.objectTypeId}}}_validate(){if(this._container.querySelectorAll(".innerError").forEach((e=>e.remove())),this._getEditor().utils.isEmpty())return this.throwError(this._textarea,c.get("wcf.global.form.error.empty")),!1;const e={api:this,editor:this._getEditor(),message:this._getEditor().code.get(),valid:!0};return l.fire("com.woltlab.wcf.redactor2","validate_text",e),e.valid}throwError(e,t){s.default.innerError(e,"empty"===t?c.get("wcf.global.form.error.empty"):t)}_showLoadingOverlay(){null===this._loadingOverlay&&(this._loadingOverlay=document.createElement("div"),this._loadingOverlay.className="commentLoadingOverlay",this._loadingOverlay.innerHTML='<span class="icon icon96 fa-spinner"></span>'),this._content.classList.add("loading"),this._content.appendChild(this._loadingOverlay)}_hideLoadingOverlay(){this._content.classList.remove("loading");const e=this._content.querySelector(".commentLoadingOverlay");null!==e&&e.remove()}_reset(){this._getEditor().code.set("<p></p>"),l.fire("com.woltlab.wcf.redactor2","reset_text"),document.activeElement instanceof HTMLElement&&document.activeElement.blur(),this._content.classList.add("collapsed")}_handleError(e){this.throwError(this._textarea,e.returnValues.errorType)}_getEditor(){if(null===this._editor){if("function"!=typeof window.jQuery)throw new Error("Unable to access editor, jQuery has not been loaded yet.");this._editor=window.jQuery(this._textarea).data("redactor")}return this._editor}_insertMessage(e){return s.default.insertHtml(e.returnValues.template,this._container,"after"),p.show(c.get("wcf.global.success.add")),a.default.trigger(),this._container.nextElementSibling}_ajaxSuccess(e){if(!h.default.userId&&e.returnValues.guestDialog){d.default.openStatic("jsDialogGuestComment",e.returnValues.guestDialog,{closable:!1,onClose:()=>{o.default.has("commentAdd")&&o.default.delete("commentAdd")},title:c.get("wcf.global.confirmation.title")});const t=d.default.getDialog("jsDialogGuestComment");t.content.querySelector("input[type=submit]").addEventListener("click",(e=>this._submitGuestDialog(e)));t.content.querySelector('button[data-type="cancel"]').addEventListener("click",(()=>this._cancelGuestDialog()));t.content.querySelector("input[type=text]").addEventListener("keypress",(e=>this._submitGuestDialog(e)))}else{const t=this._insertMessage(e);h.default.userId||d.default.close("jsDialogGuestComment"),this._reset(),this._hideLoadingOverlay(),window.setTimeout((()=>{u.element(t)}),100)}}_ajaxFailure(e){return this._hideLoadingOverlay(),null===e||void 0===e.returnValues||void 0===e.returnValues.errorType||(this._handleError(e),!1)}_ajaxSetup(){return{data:{actionName:"addComment",className:"wcf\\data\\comment\\CommentAction"},silent:!0}}_cancelGuestDialog(){d.default.close("jsDialogGuestComment"),this._hideLoadingOverlay()}}return r.enableLegacyInheritance(m),m})),define("WoltLabSuite/Core/Ui/Comment/Edit",["require","exports","tslib","../../Ajax","../../Core","../../Dom/Change/Listener","../../Dom/Util","../../Environment","../../Event/Handler","../../Language","../Scroll","../Notification"],(function(e,t,i,n,o,r,a,s,l,c,d,u){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importDefault(a),s=i.__importStar(s),l=i.__importStar(l),c=i.__importStar(c),d=i.__importStar(d),u=i.__importStar(u);class h{constructor(e){this._activeElement=null,this._comments=new WeakSet,this._editorContainer=null,this._container=e,this.rebuild(),r.default.add("Ui/Comment/Edit_"+a.default.identify(this._container),this.rebuild.bind(this))}rebuild(){this._container.querySelectorAll(".comment").forEach((e=>{if(!this._comments.has(e)){if(o.stringToBool(e.dataset.canEdit||"")){const t=e.querySelector(".jsCommentEditButton");null!==t&&t.addEventListener("click",(e=>this._click(e)))}this._comments.add(e)}}))}_click(e){if(e.preventDefault(),null===this._activeElement){const t=e.currentTarget;this._activeElement=t.closest(".comment"),this._prepare(),n.api(this,{actionName:"beginEdit",objectIDs:[this._getObjectId(this._activeElement)]})}else u.show("wcf.message.error.editorAlreadyInUse",null,"warning")}_prepare(){this._editorContainer=document.createElement("div"),this._editorContainer.className="commentEditorContainer",this._editorContainer.innerHTML='<span class="icon icon48 fa-spinner"></span>';const e=this._activeElement.querySelector(".commentContentContainer");e.insertBefore(this._editorContainer,e.firstChild)}_showEditor(e){const t=this._getEditorId(),i=this._editorContainer;i.querySelector(".icon").remove();const n=document.createElement("div");n.className="editorContainer",a.default.setInnerHtml(n,e.returnValues.template),i.appendChild(n);const o=i.querySelector(".formSubmit");o.querySelector('button[data-type="save"]').addEventListener("click",(()=>this._save()));o.querySelector('button[data-type="cancel"]').addEventListener("click",(()=>this._restoreMessage())),l.add("com.woltlab.wcf.redactor",`submitEditor_${t}`,(e=>{e.cancel=!0,this._save()}));const r=document.getElementById(t);"redactor"===s.editor()?window.setTimeout((()=>{d.element(this._activeElement)}),250):r.focus()}_restoreMessage(){this._destroyEditor(),this._editorContainer.remove(),this._activeElement=null}_save(){const e={data:{message:""}},t=this._getEditorId();l.fire("com.woltlab.wcf.redactor2",`getText_${t}`,e.data),this._validate(e)&&(l.fire("com.woltlab.wcf.redactor2",`submit_${t}`,e),n.api(this,{actionName:"save",objectIDs:[this._getObjectId(this._activeElement)],parameters:e}),this._hideEditor())}_validate(e){this._activeElement.querySelectorAll(".innerError").forEach((e=>e.remove()));const t=document.getElementById(this._getEditorId());if(window.jQuery(t).data("redactor").utils.isEmpty())return this.throwError(t,c.get("wcf.global.form.error.empty")),!1;const i={api:this,parameters:e,valid:!0};return l.fire("com.woltlab.wcf.redactor2","validate_"+this._getEditorId(),i),i.valid}throwError(e,t){a.default.innerError(e,t)}_showMessage(e){const t=this._editorContainer.parentElement.querySelector(".commentContent .userMessage");a.default.setInnerHtml(t,e.returnValues.message),this._restoreMessage(),u.show()}_hideEditor(){const e=this._editorContainer.querySelector(".editorContainer");a.default.hide(e);const t=document.createElement("span");t.className="icon icon48 fa-spinner",this._editorContainer.appendChild(t)}_restoreEditor(){this._editorContainer.querySelector(".fa-spinner").remove();const e=this._editorContainer.querySelector(".editorContainer");null!==e&&a.default.show(e)}_destroyEditor(){l.fire("com.woltlab.wcf.redactor2",`autosaveDestroy_${this._getEditorId()}`),l.fire("com.woltlab.wcf.redactor2",`destroy_${this._getEditorId()}`)}_getEditorId(){return`commentEditor${this._getObjectId(this._activeElement)}`}_getObjectId(e){return~~e.dataset.objectId}_ajaxFailure(e){const t=this._editorContainer.querySelector(".redactor-layer");return null===t?(this._restoreMessage(),!0):(this._restoreEditor(),!e||void 0===e.returnValues||void 0===e.returnValues.errorType||(a.default.innerError(t,e.returnValues.errorType),!1))}_ajaxSuccess(e){switch(e.actionName){case"beginEdit":this._showEditor(e);break;case"save":this._showMessage(e)}}_ajaxSetup(){return{data:{className:"wcf\\data\\comment\\CommentAction",parameters:{data:{objectTypeID:~~this._container.dataset.objectTypeId}}},silent:!0}}}return o.enableLegacyInheritance(h),h})),define("WoltLabSuite/Core/Ui/Dialog/Data",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})})),define("WoltLabSuite/Core/Ui/Dropdown/Builder",["require","exports","tslib","../../Core","./Simple"],(function(e,t,i,n,o){"use strict";function r(e){if(!(e instanceof HTMLUListElement))throw new TypeError("Expected a reference to an <ul> element.");if(!e.classList.contains("dropdownMenu"))throw new Error("List does not appear to be a dropdown menu.")}function a(e){const t=document.createElement("li");if("divider"===e)return t.className="dropdownDivider",t;"string"==typeof e.identifier&&(t.dataset.identifier=e.identifier);const i=document.createElement("a");if(i.href="string"==typeof e.href?e.href:"#","function"==typeof e.callback)i.addEventListener("click",(t=>{t.preventDefault(),e.callback(i)}));else if("#"===i.href)throw new Error("Expected either a `href` value or a `callback`.");if(e.attributes&&n.isPlainObject(e.attributes)&&Object.keys(e.attributes).forEach((t=>{const n=e.attributes[t];if("string"!=typeof n)throw new Error("Expected only string values.");-1!==t.indexOf("-")?i.setAttribute(`data-${t}`,n):i.dataset[t]=n})),t.appendChild(i),void 0!==e.icon&&n.isPlainObject(e.icon)){if("string"!=typeof e.icon.name)throw new TypeError("Expected a valid icon name.");let t=16;"number"==typeof e.icon.size&&-1!==c.indexOf(~~e.icon.size)&&(t=~~e.icon.size);const n=document.createElement("span");n.className=`icon icon${t} fa-${e.icon.name}`,i.appendChild(n)}const o="string"==typeof e.label?e.label.trim():"",r="string"==typeof e.labelHtml?e.labelHtml.trim():"";if(""===o&&""===r)throw new TypeError("Expected either a label or a `labelHtml`.");const a=document.createElement("span");return a[o?"textContent":"innerHTML"]=o||r,i.appendChild(document.createTextNode(" ")),i.appendChild(a),t}function s(e,t){r(e),e.appendChild(a(t))}function l(e,t){if(r(e),!Array.isArray(t))throw new TypeError("Expected an array of items.");const i=t.length;if(0===i)throw new Error("Expected a non-empty list of items.");if(1===i)s(e,t[0]);else{const i=document.createDocumentFragment();t.forEach((e=>{i.appendChild(a(e))})),e.appendChild(i)}}Object.defineProperty(t,"__esModule",{value:!0}),t.divider=t.attach=t.setItems=t.appendItems=t.appendItem=t.buildItem=t.create=void 0,n=i.__importStar(n),o=i.__importDefault(o);const c=[16,24,32,48,64,96,144];t.create=function(e,t){const i=document.createElement("ul");return i.className="dropdownMenu","string"==typeof t&&(i.dataset.identifier=t),Array.isArray(e)&&e.length>0&&l(i,e),i},t.buildItem=function(e){return a(e)},t.appendItem=s,t.appendItems=l,t.setItems=function(e,t){r(e),e.innerHTML="",l(e,t)},t.attach=function(e,t){r(e),o.default.initFragment(t,e),t.addEventListener("click",(e=>{e.preventDefault(),e.stopPropagation(),o.default.toggleDropdown(t.id)}))},t.divider=function(){return"divider"}})),define("WoltLabSuite/Core/Ui/Dropdown/Data",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})})),define("WoltLabSuite/Core/Ui/File/Data",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})})),define("WoltLabSuite/Core/Ui/File/Delete",["require","exports","tslib","../../Ajax","../../Core","../../Dom/Change/Listener","../../Language"],(function(e,t,i,n,o,r,a){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importStar(a);class s{constructor(e,t,i,n){this.containers=new Map,this.deleteButton=void 0,this.isSingleImagePreview=i,this.uploadHandler=n;const o=document.getElementById(e);if(null===o)throw new Error(`Element id '${e}' is unknown.`);this.buttonContainer=o;const r=document.getElementById(t);if(null===r)throw new Error(`Element id '${t}' is unknown.`);this.target=r;const a=this.target.dataset.internalId;if(!a)throw new Error("InternalId is unknown.");this.internalId=a,this.rebuild()}createButtons(){let e=!1;this.target.querySelectorAll("li.uploadedFile").forEach((t=>{const i=t.dataset.uniqueFileId;if(this.containers.has(i))return;const n={uniqueFileId:i,element:t};this.containers.set(i,n),this.initDeleteButton(t,n),e=!0})),e&&r.default.trigger()}initDeleteButton(e,t){const i=e.querySelector(".buttonGroup");if(null===i)throw new Error(`Button group in '${this.target.id}' is unknown.`);const n=document.createElement("li"),o=document.createElement("span");o.className="button jsDeleteButton small",o.textContent=a.get("wcf.global.button.delete"),n.appendChild(o),i.appendChild(n),n.addEventListener("click",this.deleteElement.bind(this,t.uniqueFileId))}deleteElement(e){n.api(this,{uniqueFileId:e,internalId:this.internalId})}rebuild(){if(!this.isSingleImagePreview)return void this.createButtons();const e=this.target.querySelector("img");if(null!==e){const t=e.dataset.uniqueFileId;if(!this.containers.has(t)){const i={uniqueFileId:t,element:e};this.containers.set(t,i),this.deleteButton=document.createElement("p"),this.deleteButton.className="button deleteButton";const n=document.createElement("span");n.textContent=a.get("wcf.global.button.delete"),this.deleteButton.appendChild(n),this.buttonContainer.appendChild(this.deleteButton),this.deleteButton.addEventListener("click",this.deleteElement.bind(this,i.uniqueFileId))}}}_ajaxSuccess(e){this.containers.get(e.uniqueFileId).element.remove(),this.isSingleImagePreview&&this.deleteButton&&(this.deleteButton.remove(),this.deleteButton=void 0),this.uploadHandler.checkMaxFiles(),o.triggerEvent(this.target,"change")}_ajaxSetup(){return{url:"index.php?ajax-file-delete/&t="+window.SECURITY_TOKEN}}}return o.enableLegacyInheritance(s),s})),define("WoltLabSuite/Core/Ui/File/Upload",["require","exports","tslib","../../Core","./Delete","../../Dom/Util","../../Language","../../Upload"],(function(e,t,i,n,o,r,a,s){"use strict";n=i.__importStar(n),o=i.__importDefault(o),r=i.__importDefault(r),a=i.__importStar(a),s=i.__importDefault(s);class l extends s.default{constructor(e,t,i){if(void 0===(i=i||{}).internalId)throw new Error("Missing internal id.");(i=n.extend({imagePreview:!1,maxFiles:null,className:"invalid",url:`index.php?ajax-file-upload/&t=${window.SECURITY_TOKEN}`},i)).multiple=null===i.maxFiles||i.maxFiles>1,super(e,t,i),this.checkMaxFiles(),this._deleteHandler=new o.default(e,t,this._options.imagePreview,this)}_createFileElement(e){const t=super._createFileElement(e);t.classList.add("box64","uploadedFile");const i=t.querySelector("progress"),n=document.createElement("span");n.className="icon icon64 fa-spinner";const o=t.textContent;t.textContent="",t.append(n);const r=document.createElement("div"),a=document.createElement("p");a.textContent=o;const s=document.createElement("small");s.appendChild(i),r.appendChild(a),r.appendChild(s);const l=document.createElement("div");l.appendChild(r);const c=document.createElement("ul");return c.className="buttonGroup",l.appendChild(c),t.append(l),t}_failure(e,t){throw this._fileElements[e].forEach((e=>{e.classList.add("uploadFailed");const t=e.querySelector("small");t.innerHTML="";const i=e.querySelector(".icon");i.classList.remove("fa-spinner"),i.classList.add("fa-ban");const n=document.createElement("span");n.className="innerError",n.textContent=a.get("wcf.upload.error.uploadFailed"),t.insertAdjacentElement("afterend",n)})),new Error(`Upload failed: ${t.message}`)}_upload(e,t,i){const n=this._buttonContainer.parentElement.querySelector("small.innerError:not(.innerFileError)");return n&&n.remove(),super._upload(e,t,i)}_success(e,t){this._fileElements[e].forEach(((i,n)=>{if(void 0!==t.files[n]){const e=t.files[n];if(this._options.imagePreview){if(null===e.image)throw new Error("Expect image for uploaded file. None given.");i.remove();const t=this._target.querySelector("img.previewImage");if(null!==t)t.src=e.image;else{const t=document.createElement("img");t.classList.add("previewImage"),t.src=e.image,t.style.setProperty("max-width","100%",""),t.dataset.uniqueFileId=e.uniqueFileId,this._target.appendChild(t)}}else{i.dataset.uniqueFileId=e.uniqueFileId,i.querySelector("small").textContent=e.filesize.toString();const t=i.querySelector(".icon");t.classList.remove("fa-spinner"),t.classList.add(`fa-${e.icon}`)}}else{if(void 0===t.error[n])throw new Error(`Unknown uploaded file for uploadId ${e}.`);{const e=t.error[n];i.classList.add("uploadFailed");const o=i.querySelector("small");o.innerHTML="";const r=i.querySelector(".icon");r.classList.remove("fa-spinner"),r.classList.add("fa-ban");let a=i.querySelector(".innerError");null===a?(a=document.createElement("span"),a.className="innerError",a.textContent=e.errorMessage,o.insertAdjacentElement("afterend",a)):a.textContent=e.errorMessage}}})),this._deleteHandler.rebuild(),this.checkMaxFiles(),n.triggerEvent(this._target,"change")}_getFormData(){return{internalId:this._options.internalId}}validateUpload(e){if(null===this._options.maxFiles||e.length+this.countFiles()<=this._options.maxFiles)return!0;{let e=this._buttonContainer.parentElement.querySelector("small.innerError:not(.innerFileError)");return null===e&&(e=document.createElement("small"),e.className="innerError",this._buttonContainer.insertAdjacentElement("afterend",e)),e.textContent=a.get("wcf.upload.error.reachedRemainingLimit",{maxFiles:this._options.maxFiles-this.countFiles()}),!1}}countFiles(){return this._options.imagePreview?null!==this._target.querySelector("img")?1:0:this._target.childElementCount}checkMaxFiles(){null!==this._options.maxFiles&&this.countFiles()>=this._options.maxFiles?r.default.hide(this._button):r.default.show(this._button)}}return n.enableLegacyInheritance(l),l})),define("WoltLabSuite/Core/Ui/ItemList/Filter",["require","exports","tslib","../../Core","../../Dom/Util","../../Language","../../StringUtil","../Dropdown/Simple"],(function(e,t,i,n,o,r,a,s){"use strict";n=i.__importStar(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importDefault(s);class l{constructor(e,t){this._dropdownId="",this._dropdown=void 0,this._fragment=void 0,this._items=new Set,this._value="",this._options=n.extend({callbackPrepareItem:void 0,enableVisibilityFilter:!0,filterPosition:"bottom"},t),"top"!==this._options.filterPosition&&(this._options.filterPosition="bottom");const i=document.getElementById(e);if(null===i)throw new Error("Expected a valid element id, '"+e+"' does not match anything.");if(!i.classList.contains("scrollableCheckboxList")&&"function"!=typeof this._options.callbackPrepareItem)throw new Error("Filter only works with elements with the CSS class 'scrollableCheckboxList'.");"function"!=typeof this._options.callbackPrepareItem&&(this._options.callbackPrepareItem=e=>this._prepareItem(e)),i.dataset.filter="showAll";const o=document.createElement("div");o.className="itemListFilter",i.insertAdjacentElement("beforebegin",o),o.appendChild(i);const a=document.createElement("div");a.className="inputAddon";const s=document.createElement("input");s.className="long",s.type="text",s.placeholder=r.get("wcf.global.filter.placeholder"),s.addEventListener("keydown",(e=>{"Enter"===e.key&&e.preventDefault()})),s.addEventListener("keyup",(()=>this._keyup()));const l=document.createElement("a");if(l.href="#",l.className="button inputSuffix jsTooltip",l.title=r.get("wcf.global.filter.button.clear"),l.innerHTML='<span class="icon icon16 fa-times"></span>',l.addEventListener("click",(e=>{e.preventDefault(),this.reset()})),a.appendChild(s),a.appendChild(l),this._options.enableVisibilityFilter){const e=document.createElement("a");e.href="#",e.className="button inputSuffix jsTooltip",e.title=r.get("wcf.global.filter.button.visibility"),e.innerHTML='<span class="icon icon16 fa-eye"></span>',e.addEventListener("click",(e=>this._toggleVisibility(e))),a.appendChild(e)}"bottom"===this._options.filterPosition?o.appendChild(a):o.insertBefore(a,i),this._container=o,this._element=i,this._input=s}reset(){this._input.value="",this._keyup()}_buildItems(){this._items.clear(),Array.from(this._element.children).forEach((e=>{this._items.add(this._options.callbackPrepareItem(e))}))}_prepareItem(e){const t=e.children[0],i=t.textContent.trim(),n=t.children[0];for(;n.nextSibling;)t.removeChild(n.nextSibling);t.appendChild(document.createTextNode(" "));const o=document.createElement("span");return o.textContent=i,t.appendChild(o),{item:e,span:o,text:i}}_keyup(){const e=this._input.value.trim();if(this._value===e)return;this._fragment||(this._fragment=document.createDocumentFragment(),this._element.style.setProperty("height",`${this._element.offsetHeight}px`,"")),this._fragment.appendChild(this._element),this._items.size||this._buildItems();const t=new RegExp("("+a.escapeRegExp(e)+")","i");let i=""===e;this._items.forEach((n=>{""===e?(n.span.textContent=n.text,o.default.show(n.item)):t.test(n.text)?(n.span.innerHTML=n.text.replace(t,"<u>$1</u>"),o.default.show(n.item),i=!0):o.default.hide(n.item)})),"bottom"===this._options.filterPosition?this._container.insertAdjacentElement("afterbegin",this._element):this._container.insertAdjacentElement("beforeend",this._element),this._value=e,o.default.innerError(this._container,!i&&r.get("wcf.global.filter.error.noMatches"))}_toggleVisibility(e){e.preventDefault(),e.stopPropagation();const t=e.currentTarget;if(!this._dropdown){const e=document.createElement("ul");e.className="dropdownMenu",["activeOnly","highlightActive","showAll"].forEach((t=>{const i=document.createElement("a");i.dataset.type=t,i.href="#",i.textContent=r.get(`wcf.global.filter.visibility.${t}`),i.addEventListener("click",(e=>this._setVisibility(e)));const n=document.createElement("li");if(n.appendChild(i),"showAll"===t){n.className="active";const t=document.createElement("li");t.className="dropdownDivider",e.appendChild(t)}e.appendChild(n)})),s.default.initFragment(t,e),this._setupVisibilityFilter(),this._dropdown=e,this._dropdownId=t.id}s.default.toggleDropdown(t.id,t)}_setupVisibilityFilter(){const e=this._element.nextSibling,t=this._element.parentElement,i=this._element.scrollTop;document.createDocumentFragment().appendChild(this._element),this._element.querySelectorAll("li").forEach((e=>{const t=e.querySelector('input[type="checkbox"]');if(t)t.checked&&e.classList.add("active"),t.addEventListener("change",(()=>{t.checked?e.classList.add("active"):e.classList.remove("active")}));else{const t=e.querySelector('input[type="radio"]');t&&(t.checked&&e.classList.add("active"),t.addEventListener("change",(()=>{this._element.querySelectorAll("li").forEach((e=>e.classList.remove("active"))),t.checked?e.classList.add("active"):e.classList.remove("active")})))}})),t.insertBefore(this._element,e),this._element.scrollTop=i}_setVisibility(e){e.preventDefault();const t=e.currentTarget,i=t.dataset.type;if(s.default.close(this._dropdownId),this._element.dataset.filter===i)return;this._element.dataset.filter=i;this._dropdown.querySelector(".active").classList.remove("active"),t.parentElement.classList.add("active");const n=document.getElementById(this._dropdownId);"showAll"===i?n.classList.remove("active"):n.classList.add("active");const o=n.querySelector(".icon");"showAll"===i?(o.classList.add("fa-eye"),o.classList.remove("fa-eye-slash")):(o.classList.remove("fa-eye"),o.classList.add("fa-eye-slash"))}}return n.enableLegacyInheritance(l),l})),define("WoltLabSuite/Core/Ui/ItemList/LineBreakSeparatedText",["require","exports","tslib","../Confirmation","../../Language","../../Dom/Util"],(function(e,t,i,n,o,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UiItemListLineBreakSeparatedText=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r);class a{constructor(e,t={}){if(this.addButton=void 0,this.clearButton=void 0,this.itemInput=void 0,this.items=new Set,this.submitField=void 0,this.uiDisabled=!1,this.itemList=e,this.options=t,!this.options.submitFieldName){const e=this.itemList.nextElementSibling;if(!(e instanceof HTMLInputElement&&"hidden"===e.type))throw new Error("Missing `submitFieldName` option");this.submitField=e}this.itemList.closest("form").addEventListener("submit",(()=>this.submit())),this.mutationObserver=new MutationObserver((e=>{e.forEach((e=>{if("readonly"===e.attributeName){e.target.readOnly?this.disableUi():this.enableUi()}}))})),this.initValues(),this.buildUi()}addItem(e){if(e.preventDefault(),this.uiDisabled)return;const t=this.itemInput,i=t.value.trim();""===i?r.default.innerError(t.parentElement,o.get("wcf.global.form.error.empty")):this.items.has(i)?r.default.innerError(t.parentElement,o.get("wcf.acp.option.type.lineBreakSeparatedText.error.duplicate",{item:i}),!0):(this.insertItem(i),this.resetInput()),t.focus()}buildUi(){const e=document.createElement("div");e.classList.add("itemListFilter"),this.itemList.insertAdjacentElement("beforebegin",e),e.appendChild(this.itemList);const t=document.createElement("div");t.classList.add("inputAddon"),e.appendChild(t),this.itemInput=document.createElement("input"),this.itemInput.classList.add("long"),this.itemInput.type="text",this.itemInput.placeholder=o.get("wcf.acp.option.type.lineBreakSeparatedText.placeholder"),this.itemInput.addEventListener("keydown",(e=>this.keydown(e))),this.itemInput.addEventListener("paste",(e=>this.paste(e))),t.appendChild(this.itemInput),this.mutationObserver.observe(this.itemInput,{attributes:!0}),this.addButton=document.createElement("a"),this.addButton.href="#",this.addButton.classList.add("button","inputSuffix","jsTooltip"),this.addButton.title=o.get("wcf.global.button.add"),this.addButton.innerHTML='<span class="icon icon16 fa-plus"></span>',this.addButton.addEventListener("click",(e=>this.addItem(e))),t.appendChild(this.addButton),this.clearButton=document.createElement("a"),this.clearButton.href="#",this.clearButton.classList.add("button","inputSuffix","jsTooltip"),this.clearButton.title=o.get("wcf.global.button.delete"),this.clearButton.innerHTML='<span class="icon icon16 fa-times"></span>',this.clearButton.addEventListener("click",(e=>this.clearList(e))),t.appendChild(this.clearButton),0===this.items.size&&r.default.hide(this.clearButton)}clearList(e){e.preventDefault(),this.uiDisabled||n.show({confirm:()=>{this.itemList.innerHTML="",this.items.clear(),this.hideList()},message:o.get("wcf.acp.option.type.lineBreakSeparatedText.clearList.confirmMessage"),messageIsHtml:!0})}deleteItem(e){if(this.uiDisabled)return;const t=e.currentTarget,i=t.closest("li").dataset.value;n.show({confirm:()=>{t.closest("li").remove(),0===this.itemList.childElementCount&&this.hideList(),this.items.delete(i)},message:o.get("wcf.button.delete.confirmMessage",{objectTitle:i}),messageIsHtml:!0})}disableUi(){this.addButton.classList.add("disabled"),this.clearButton.classList.add("disabled"),this.itemList.querySelectorAll(".jsDeleteItem").forEach((e=>e.classList.add("disabled"))),this.uiDisabled=!0}enableUi(){this.addButton.classList.remove("disabled"),this.clearButton.classList.remove("disabled"),this.itemList.querySelectorAll(".jsDeleteItem").forEach((e=>e.classList.remove("disabled"))),this.uiDisabled=!1}hideList(){r.default.hide(this.itemList),r.default.hide(this.clearButton)}initValues(){Array.from(this.itemList.children).forEach((e=>{this.items.add(e.dataset.value),e.querySelector(".jsDeleteItem").addEventListener("click",(e=>this.deleteItem(e)))}))}insertItem(e){this.items.add(e);const t=document.createElement("li");t.dataset.value=e;const i=document.createElement("span");i.classList.add("icon","icon16","fa-times","jsDeleteItem","jsTooltip","pointer"),i.title=o.get("wcf.global.button.delete"),i.addEventListener("click",(e=>this.deleteItem(e))),t.append(i),t.append(document.createTextNode(" "));const n=document.createElement("span");n.innerText=e,t.append(n);const r=Array.from(this.itemList.children).find((t=>t.dataset.value>e));r?this.itemList.insertBefore(t,r):this.itemList.append(t),this.showList()}keydown(e){"Enter"===e.key&&this.addItem(e)}paste(e){if(this.uiDisabled)return;const t=e.clipboardData.getData("text/plain").split("\n");t.length>1&&(e.preventDefault(),t.forEach((e=>this.insertItem(e))),this.resetInput())}resetInput(){r.default.innerError(this.itemInput.parentElement,""),this.itemInput.value=""}showList(){r.default.show(this.itemList),r.default.show(this.clearButton)}submit(){const e=Array.from(this.items).join("\n");if(this.submitField)this.submitField.value=e;else{const t=document.createElement("input");t.type="hidden",t.name=this.options.submitFieldName,t.value=e,this.itemList.parentElement.append(t)}}}t.UiItemListLineBreakSeparatedText=a,t.default=a})),define("WoltLabSuite/Core/Ui/ItemList/Static",["require","exports","tslib","../../Core","../../Dom/Traverse","../../Language","../Dropdown/Simple"],(function(e,t,i,n,o,r,a){"use strict";function s(e,t){const i=document.createElement("ol");i.className="inputItemList"+(e.disabled?" disabled":""),i.dataset.elementId=e.id,i.addEventListener("click",(t=>{t.target===i&&e.focus()}));const n=document.createElement("li");let o;n.className="input",i.appendChild(n),e.addEventListener("keydown",(e=>function(e){const t=e.currentTarget,i=t.parentElement.previousElementSibling;"Backspace"===e.key?0===t.value.length&&null!==i&&(i.classList.contains("active")?d(i):i.classList.add("active")):"Escape"===e.key&&null!==i&&i.classList.contains("active")&&i.classList.remove("active")}(e))),e.addEventListener("keypress",(e=>function(e){if("Enter"===e.key||"Comma"===e.key){e.preventDefault();const t=e.currentTarget,i=t.value.trim();i.length&&c(t.id,{objectId:0,value:i})}}(e))),e.addEventListener("keyup",(e=>function(e){const t=e.currentTarget;if(t.value.length>0){const e=t.parentElement.previousElementSibling;null!==e&&e.classList.remove("active")}}(e))),e.addEventListener("paste",(e=>function(e){const t=e.currentTarget;e.clipboardData.getData("text/plain").split(",").map((e=>e.trim())).filter((e=>e.length>0)).forEach((e=>{c(t.id,{objectId:0,value:e})})),e.preventDefault()}(e))),e.addEventListener("blur",(e=>function(e){const t=e.currentTarget;window.setTimeout((()=>{const e=t.value.trim();e.length&&c(t.id,{objectId:0,value:e})}),100)}(e))),e.insertAdjacentElement("beforebegin",i),n.appendChild(e),-1!==t.maxLength&&(e.maxLength=t.maxLength);let r=[];if(t.isCSV&&(o=document.createElement("input"),o.className="itemListInputShadow",o.type="hidden",o.name=e.name,e.removeAttribute("name"),i.insertAdjacentElement("beforebegin",o),r=e.value.split(",").map((e=>e.trim())).filter((e=>e.length>0)),"TEXTAREA"===e.nodeName)){const t=document.createElement("input");t.type="text",e.parentElement.insertBefore(t,e),t.id=e.id,e.remove(),e=t}return{element:e,list:i,shadow:o,values:r}}function l(e){const t=p.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,t.element.placeholder=r.get("wcf.global.form.input.maxItems")))}function c(e,t,i){const n=p.get(e),o=document.createElement("li");o.className="item";const r=document.createElement("span");if(r.className="content",r.dataset.objectId=t.objectId.toString(),r.textContent=t.value,o.appendChild(r),i||!n.element.disabled){const e=document.createElement("a");e.className="icon icon16 fa-times",e.addEventListener("click",(e=>d(e))),o.appendChild(e)}n.list.insertBefore(o,n.listItem),n.element.value="",n.element.disabled||l(e);let a=u(n);"function"==typeof n.options.callbackChange&&(null===a&&(a=h(e)),n.options.callbackChange(e,a))}function d(e,t){e instanceof Event&&(e=e.currentTarget.parentElement);const i=e.parentElement.dataset.elementId,n=p.get(i);e.remove(),t||n.element.focus(),l(i);let o=u(n);"function"==typeof n.options.callbackChange&&(null===o&&(o=h(i)),n.options.callbackChange(i,o))}function u(e){if(!e.options.isCSV)return null;const t=h(e.element.id);return e.shadow.value=t.map((e=>e.value)).join(","),t}function h(e){if(!p.has(e))throw new Error(`Element id '${e}' is unknown.`);const t=p.get(e),i=[];return t.list.querySelectorAll(".item > span").forEach((e=>{i.push({objectId:~~e.dataset.objectId,value:e.textContent})})),i}Object.defineProperty(t,"__esModule",{value:!0}),t.setValues=t.getValues=t.init=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importDefault(a);const p=new Map;t.init=function(e,t,i){const r=document.getElementById(e);if(null===r)throw new Error("Expected a valid element id, '"+e+"' is invalid.");if(p.has(e)){const t=p.get(e);Object.values(t).forEach((e=>{e instanceof HTMLElement&&e.parentElement&&e.remove()})),a.default.destroy(e),p.delete(e)}const l=n.extend({maxItems:-1,maxLength:-1,isCSV:!1,callbackChange:null,callbackSubmit:null,submitFieldName:""},i),d=o.parentByTag(r,"FORM");if(null!==d&&!l.isCSV){if(!l.submitFieldName.length&&"function"!=typeof l.callbackSubmit)throw new Error("Expected a valid function for option 'callbackSubmit', a non-empty value for option 'submitFieldName' or enabling the option 'submitFieldCSV'.");d.addEventListener("submit",(()=>{const t=h(e);l.submitFieldName.length?t.forEach((e=>{const t=document.createElement("input");t.type="hidden",t.name=l.submitFieldName.replace("{$objectId}",e.objectId.toString()),t.value=e.value,d.appendChild(t)})):l.callbackSubmit(d,t)}))}const u=s(r,l);if(p.set(e,{dropdownMenu:null,element:u.element,list:u.list,listItem:u.element.parentElement,options:l,shadow:u.shadow}),t=u.values.length?u.values:t,Array.isArray(t)){const i=!u.element.disabled;t.forEach((t=>{"string"==typeof t&&(t={objectId:0,value:t}),c(e,t,i)}))}},t.getValues=h,t.setValues=function(e,t){if(!p.has(e))throw new Error(`Element id '${e}' is unknown.`);const i=p.get(e);o.childrenByClass(i.list,"item").forEach((e=>d(e,!0))),t.forEach((t=>c(e,t)))}})),define("WoltLabSuite/Core/Ui/ItemList/User",["require","exports","tslib","../ItemList"],(function(e,t,i,n){"use strict";function o(e){const t=r(e.element.id),i=[],n=[];t.forEach((e=>{e.type&&"group"===e.type?n.push(e.objectId):i.push(e.value)}));const o=e.shadow;return o.value=i.join(","),e._shadowGroups||(e._shadowGroups=document.createElement("input"),e._shadowGroups.type="hidden",e._shadowGroups.name=`${o.name}GroupIDs`,o.insertAdjacentElement("beforebegin",e._shadowGroups)),e._shadowGroups.value=n.join(","),t}function r(e){return n.getValues(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.getValues=t.init=void 0,n=i.__importStar(n),t.init=function(e,t){n.init(e,[],{ajax:{className:"wcf\\data\\user\\UserAction",parameters:{data:{includeUserGroups:t.includeUserGroups?~~t.includeUserGroups:0,restrictUserGroupIDs:Array.isArray(t.restrictUserGroupIDs)?t.restrictUserGroupIDs:[]}}},callbackChange:"function"==typeof t.callbackChange?t.callbackChange:null,callbackSyncShadow:t.csvPerType?o:null,callbackSetupValues:"function"==typeof t.callbackSetupValues?t.callbackSetupValues:null,excludedSearchValues:Array.isArray(t.excludedSearchValues)?t.excludedSearchValues:[],isCSV:!0,maxItems:t.maxItems?~~t.maxItems:-1,restricted:!0})},t.getValues=r})),define("WoltLabSuite/Core/Ui/Reaction/CountButtons",["require","exports","tslib","../../Ajax","../../Core","../../Dom/Change/Listener","../../Dom/Util","../../Event/Handler","../../StringUtil","../Dialog"],(function(e,t,i,n,o,r,a,s,l,c){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importDefault(a),s=i.__importStar(s),l=i.__importStar(l),c=i.__importDefault(c);const d=new Map(Object.entries(window.REACTION_TYPES));class u{constructor(e,t){if(this._containers=new Map,this._currentObjectId=0,this._objects=new Map,!t.containerSelector)throw new Error("[WoltLabSuite/Core/Ui/Reaction/CountButtons] Expected a non-empty string for option 'containerSelector'.");this._objectType=e,this._options=o.extend({summaryListSelector:".reactionSummaryList",containerSelector:"",isSingleItem:!1,parameters:{data:{}}},t),this.initContainers(),r.default.add(`WoltLabSuite/Core/Ui/Reaction/CountButtons-${e}`,(()=>this.initContainers()))}initContainers(){let e=!1;document.querySelectorAll(this._options.containerSelector).forEach((t=>{const i=a.default.identify(t);if(this._containers.has(i))return;const n=~~t.dataset.objectId,o={reactButton:null,summary:null,objectId:n,element:t};this._containers.set(i,o),this._initReactionCountButtons(t,o);const r=this._objects.get(n)||[];r.push(o),this._objects.set(n,r),e=!0})),e&&r.default.trigger()}updateCountButtons(e,t){let i=!1;this._objects.get(e).forEach((e=>{let n;if(n=this._options.isSingleItem?document.querySelector(this._options.summaryListSelector):e.element.querySelector(this._options.summaryListSelector),null===n)return;const o=new Map(Object.entries(t)),r=new Map;n.querySelectorAll(".reactCountButton").forEach((e=>{const t=e.dataset.reactionTypeId;o.has(t)?r.set(t,e):e.remove()})),o.forEach(((e,t)=>{if(r.has(t)){r.get(t).querySelector(".reactionCount").innerHTML=l.shortUnit(e)}else if(d.has(t)){const o=document.createElement("span");o.className="reactCountButton",o.innerHTML=d.get(t).renderedIcon,o.dataset.reactionTypeId=t;const r=document.createElement("span");r.className="reactionCount",r.innerHTML=l.shortUnit(e),o.appendChild(r),n.appendChild(o),i=!0}})),n.childElementCount>0?a.default.show(n):a.default.hide(n)})),i&&r.default.trigger()}_initReactionCountButtons(e,t){let i;i=this._options.isSingleItem?document.querySelector(this._options.summaryListSelector):e.querySelector(this._options.summaryListSelector),null!==i&&i.addEventListener("click",(e=>this._showReactionOverlay(t.objectId,e)))}_showReactionOverlay(e,t){t.preventDefault(),this._currentObjectId=e,this._showOverlay()}_showOverlay(){this._options.parameters.data.containerID=`${this._objectType}-${this._currentObjectId}`,this._options.parameters.data.objectID=this._currentObjectId,this._options.parameters.data.objectType=this._objectType,n.api(this,{parameters:this._options.parameters})}_ajaxSuccess(e){s.fire("com.woltlab.wcf.ReactionCountButtons","openDialog",e),c.default.open(this,e.returnValues.template),c.default.setTitle("userReactionOverlay-"+this._objectType,e.returnValues.title)}_ajaxSetup(){return{data:{actionName:"getReactionDetails",className:"\\wcf\\data\\reaction\\ReactionAction"}}}_dialogSetup(){return{id:`userReactionOverlay-${this._objectType}`,options:{title:""},source:null}}}return o.enableLegacyInheritance(u),u})),define("WoltLabSuite/Core/Ui/Reaction/Handler",["require","exports","tslib","../../Ajax","../../Core","../../Dom/Change/Listener","../../Dom/Util","../Alignment","../CloseOverlay","../Screen","./CountButtons"],(function(e,t,i,n,o,r,a,s,l,c,d){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importDefault(a),s=i.__importStar(s),l=i.__importDefault(l),c=i.__importStar(c),d=i.__importDefault(d);const u=Object.values(window.REACTION_TYPES);class h{constructor(e,t){if(this.activeButton=void 0,this._cache=new Map,this._containers=new Map,this._objects=new Map,this._popoverCurrentObjectId=0,!t.containerSelector)throw new Error("[WoltLabSuite/Core/Ui/Reaction/Handler] Expected a non-empty string for option 'containerSelector'.");this._objectType=e,this._popover=null,this._popoverContent=null,this._options=o.extend({buttonSelector:".reactButton",containerSelector:"",isButtonGroupNavigation:!1,isSingleItem:!1,parameters:{data:{}}},t),this.initReactButtons(),this.countButtons=new d.default(this._objectType,this._options),r.default.add(`WoltLabSuite/Core/Ui/Reaction/Handler-${e}`,(()=>this.initReactButtons())),l.default.add("WoltLabSuite/Core/Ui/Reaction/Handler",(()=>this._closePopover())),this.callbackFocus=e=>this.maintainFocus(e)}initReactButtons(){let e=!1;document.querySelectorAll(this._options.containerSelector).forEach((t=>{const i=a.default.identify(t);if(this._containers.has(i))return;const n=~~t.dataset.objectId,o={reactButton:null,objectId:n,element:t};this._containers.set(i,o),this._initReactButton(t,o);const r=this._objects.get(n)||[];r.push(o),this._objects.set(n,r),e=!0})),e&&r.default.trigger()}_initReactButton(e,t){if(this._options.isSingleItem?t.reactButton=document.querySelector(this._options.buttonSelector):t.reactButton=e.querySelector(this._options.buttonSelector),null!==t.reactButton){if(1===u.length){const e=u[0];t.reactButton.title=e.title;t.reactButton.querySelector(".invisible").textContent=e.title}t.reactButton.setAttribute("role","button"),u.length>1&&(t.reactButton.setAttribute("aria-haspopup","true"),t.reactButton.setAttribute("aria-expanded","false")),t.reactButton.addEventListener("click",(e=>{this._toggleReactPopover(t.objectId,t.reactButton,e)})),t.reactButton.addEventListener("keydown",(e=>{"Enter"===e.key&&(e.preventDefault(),this._toggleReactPopover(t.objectId,t.reactButton,null))}))}}_updateReactButton(e,t){this._objects.get(e).forEach((e=>{null!==e.reactButton&&(t?(e.reactButton.classList.add("active"),e.reactButton.dataset.reactionTypeId=t.toString()):(e.reactButton.dataset.reactionTypeId="0",e.reactButton.classList.remove("active")))}))}_markReactionAsActive(){let e=null;if(this._objects.get(this._popoverCurrentObjectId).forEach((t=>{null!==t.reactButton&&(e=~~t.reactButton.dataset.reactionTypeId)})),null===e)throw new Error("Unable to find react button for current popover.");const t=this._getPopover();t.querySelectorAll(".reactionTypeButton.active").forEach((e=>{e.classList.remove("active"),e.removeAttribute("aria-selected")}));const i=t.querySelector(".reactionPopoverContent");if(e){const n=t.querySelector(`.reactionTypeButton[data-reaction-type-id="${e}"]`);n.classList.add("active"),n.setAttribute("aria-selected","true"),0==~~n.dataset.isAssignable&&a.default.show(n),this._scrollReactionIntoView(i,n)}else c.is("screen-xs")&&(t.classList.contains("inverseOrder")?i.scrollTop=0:i.scrollTop=i.scrollHeight-i.clientHeight)}_scrollReactionIntoView(e,t){t.offsetTop<.75*e.clientHeight?e.scrollTop=0:e.scrollTop=t.offsetTop+t.clientHeight/2-e.clientHeight/2}_toggleReactPopover(e,t,i){if(null!==i&&(i.preventDefault(),i.stopPropagation()),1===u.length){const t=u[0];this._popoverCurrentObjectId=e,this._react(t.reactionTypeID)}else 0===this._popoverCurrentObjectId||this._popoverCurrentObjectId!==e?this._openReactPopover(e,t):this._closePopover()}_openReactPopover(e,t){0!==this._popoverCurrentObjectId&&this._closePopover(),this._popoverCurrentObjectId=e,s.set(this._getPopover(),t,{pointer:!0,horizontal:this._options.isButtonGroupNavigation?"left":"center",vertical:c.is("screen-xs")?"bottom":"top"}),this._options.isButtonGroupNavigation&&t.closest("nav").style.setProperty("opacity","1","");const i=this._getPopover();"auto"===i.style.getPropertyValue("bottom")?i.classList.add("inverseOrder"):i.classList.remove("inverseOrder"),this._markReactionAsActive(),this._rebuildOverflowIndicator(),i.classList.remove("forceHide"),i.classList.add("active"),this.activeButton=t,u.length>1&&(this.activeButton.setAttribute("aria-expanded","true"),document.body.addEventListener("focus",this.callbackFocus,{capture:!0}))}_getPopover(){if(null==this._popover){this._popover=document.createElement("div"),this._popover.className="reactionPopover forceHide",this._popoverContent=document.createElement("div"),this._popoverContent.className="reactionPopoverContent";const e=document.createElement("ul");e.className="reactionTypeButtonList",this._getSortedReactionTypes().forEach((t=>{const i=document.createElement("li");i.tabIndex=0,i.setAttribute("role","button"),i.className="reactionTypeButton jsTooltip",i.dataset.reactionTypeId=t.reactionTypeID.toString(),i.dataset.title=t.title,i.dataset.isAssignable=t.isAssignable.toString(),i.title=t.title;const n=document.createElement("span");n.className="reactionTypeButtonTitle",n.innerHTML=t.title,i.innerHTML=t.renderedIcon,i.appendChild(n),i.addEventListener("click",(()=>this._react(t.reactionTypeID))),i.addEventListener("keydown",(e=>this.keydown(e))),t.isAssignable||a.default.hide(i),e.appendChild(i)})),this._popoverContent.appendChild(e),this._popoverContent.addEventListener("scroll",(()=>this._rebuildOverflowIndicator()),{passive:!0}),this._popover.appendChild(this._popoverContent);const t=document.createElement("span");t.className="elementPointer",t.appendChild(document.createElement("span")),this._popover.appendChild(t),document.body.appendChild(this._popover),r.default.trigger()}return this._popover}keydown(e){if("Enter"===e.key||" "===e.key||"Escape"===e.key){e.preventDefault();const t=this.activeButton;if("Escape"===e.key)this._closePopover();else{const t=~~e.currentTarget.dataset.reactionTypeId;this._react(t)}t.focus()}}_rebuildOverflowIndicator(){const e=this._popoverContent;e.scrollTop>0?e.classList.add("overflowTop"):e.classList.remove("overflowTop");e.scrollTop+e.clientHeight<e.scrollHeight?e.classList.add("overflowBottom"):e.classList.remove("overflowBottom")}_getSortedReactionTypes(){return u.sort(((e,t)=>e.showOrder-t.showOrder))}_closePopover(){if(0!==this._popoverCurrentObjectId){const e=this._getPopover();e.classList.remove("active"),e.querySelectorAll('.reactionTypeButton[data-is-assignable="0"]').forEach((e=>a.default.hide(e))),this._options.isButtonGroupNavigation&&this._objects.get(this._popoverCurrentObjectId).forEach((e=>{e.reactButton.closest("nav").style.cssText=""})),u.length>1&&(this.activeButton.setAttribute("aria-expanded","false"),document.body.removeEventListener("focus",this.callbackFocus,{capture:!0})),this.activeButton=void 0,this._popoverCurrentObjectId=0}}_react(e){0!=~~this._popoverCurrentObjectId&&(this._options.parameters.reactionTypeID=e,this._options.parameters.data.objectID=this._popoverCurrentObjectId,this._options.parameters.data.objectType=this._objectType,n.api(this,{parameters:this._options.parameters}),this._closePopover())}_ajaxSuccess(e){this.countButtons.updateCountButtons(e.returnValues.objectID,e.returnValues.reactions),this._updateReactButton(e.returnValues.objectID,e.returnValues.reactionTypeID)}_ajaxSetup(){return{data:{actionName:"react",className:"\\wcf\\data\\reaction\\ReactionAction"}}}maintainFocus(e){if(document.activeElement&&!document.activeElement.classList.contains("focus-visible"))return;const t=this._getPopover();if(t.contains(e.target))this.wasInsideReactions=!0;else if(this.wasInsideReactions)this.activeButton.focus(),this.wasInsideReactions=!1;else{t.querySelector(".reactionTypeButton").focus()}}}return o.enableLegacyInheritance(h),h})),define("WoltLabSuite/Core/Ui/Like/Handler",["require","exports","tslib","../../Core","../../Dom/Change/Listener","../../Language","../../StringUtil","../Reaction/Handler","../../User"],(function(e,t,i,n,o,r,a,s,l){"use strict";n=i.__importStar(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importDefault(s),l=i.__importDefault(l);const c=new Map(Object.entries(window.REACTION_TYPES));class d{constructor(e,t){if(this._containers=new WeakMap,!t.containerSelector)throw new Error("[WoltLabSuite/Core/Ui/Like/Handler] Expected a non-empty string for option 'containerSelector'.");this._objectType=e,this._options=n.extend({badgeClassNames:"",isSingleItem:!1,markListItemAsActive:!1,renderAsButton:!0,summaryPrepend:!0,summaryUseIcon:!0,canDislike:!1,canLike:!1,canLikeOwnContent:!1,canViewSummary:!1,badgeContainerSelector:".messageHeader .messageStatus",buttonAppendToSelector:".messageFooter .messageFooterButtons",buttonBeforeSelector:"",containerSelector:"",summarySelector:".messageFooterGroup"},t),this.initContainers(),o.default.add(`WoltLabSuite/Core/Ui/Like/Handler-${e}`,(()=>this.initContainers())),new s.default(this._objectType,{containerSelector:this._options.containerSelector})}initContainers(){let e=!1;document.querySelectorAll(this._options.containerSelector).forEach((t=>{if(this._containers.has(t))return;const i={badge:null,dislikeButton:null,likeButton:null,summary:null,dislikes:~~t.dataset.likeDislikes,liked:~~t.dataset.likeLiked,likes:~~t.dataset.likeLikes,objectId:~~t.dataset.objectId,users:JSON.parse(t.dataset.likeUsers)};this._containers.set(t,i),this._buildWidget(t,i),e=!0})),e&&o.default.trigger()}_buildWidget(e,t){let i,n=!0;if(i=this._options.isSingleItem?document.querySelector(this._options.summarySelector):e.querySelector(this._options.summarySelector),null===i&&(i=this._options.isSingleItem?document.querySelector(this._options.badgeContainerSelector):e.querySelector(this._options.badgeContainerSelector),n=!1),null!==i){const e=document.createElement("ul");if(e.classList.add("reactionSummaryList"),n?e.classList.add("likesSummary"):e.classList.add("reactionSummaryListTiny"),Object.entries(t.users).forEach((([t,i])=>{const n=c.get(t);if("reactionTypeID"===t||!n)return;const o=document.createElement("li");o.className="reactCountButton",o.setAttribute("reaction-type-id",t);const r=document.createElement("span");r.className="reactionCount",r.innerHTML=a.shortUnit(~~i),o.appendChild(r),o.innerHTML=n.renderedIcon+o.innerHTML,e.appendChild(o)})),n)this._options.summaryPrepend?i.insertAdjacentElement("afterbegin",e):i.insertAdjacentElement("beforeend",e);else if("OL"===i.nodeName||"UL"===i.nodeName){const t=document.createElement("li");t.appendChild(e),i.appendChild(t)}else i.appendChild(e);t.badge=e}if(this._options.canLike&&(l.default.userId!=~~e.dataset.userId||this._options.canLikeOwnContent)){let i=null;this._options.buttonAppendToSelector&&(i=this._options.isSingleItem?document.querySelector(this._options.buttonAppendToSelector):e.querySelector(this._options.buttonAppendToSelector));let n=null;if(this._options.buttonBeforeSelector&&(n=this._options.isSingleItem?document.querySelector(this._options.buttonBeforeSelector):e.querySelector(this._options.buttonBeforeSelector)),null===n&&null===i)throw new Error("Unable to find insert location for like/dislike buttons.");t.likeButton=this._createButton(e,t.users.reactionTypeID,n,i)}}_createButton(e,t,i,n){const o=r.get("wcf.reactions.react"),a=document.createElement("li");a.className="wcfReactButton";const s=document.createElement("a");s.className="jsTooltip reactButton",this._options.renderAsButton&&s.classList.add("button"),s.href="#",s.title=o;const l=document.createElement("span");l.className="icon icon16 fa-smile-o",void 0===t||0==t?l.dataset.reactionTypeId="0":(s.dataset.reactionTypeId=t.toString(),s.classList.add("active")),s.appendChild(l);const c=document.createElement("span");return c.className="invisible",c.innerHTML=o,s.appendChild(document.createTextNode(" ")),s.appendChild(c),a.appendChild(s),i?i.insertAdjacentElement("beforebegin",a):n.insertAdjacentElement("beforeend",a),s}}return n.enableLegacyInheritance(d),d})),define("WoltLabSuite/Core/Ui/Message/InlineEditor",["require","exports","tslib","../../Ajax","../../Core","../../Dom/Change/Listener","../../Dom/Util","../../Environment","../../Event/Handler","../../Language","../Dropdown/Reusable","../Notification","../Scroll"],(function(e,t,i,n,o,r,a,s,l,c,d,u,h){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importDefault(a),s=i.__importStar(s),l=i.__importStar(l),c=i.__importStar(c),d=i.__importStar(d),u=i.__importStar(u),h=i.__importStar(h);class p{constructor(e){this.init(e)}init(e){this._activeDropdownElement=null,this._activeElement=null,this._dropdownMenu=null,this._elements=new WeakMap,this._options=o.extend({canEditInline:!1,className:"",containerId:0,dropdownIdentifier:"",editorPrefix:"messageEditor",messageSelector:".jsMessage",quoteManager:null},e),this.rebuild(),r.default.add(`Ui/Message/InlineEdit_${this._options.className}`,(()=>this.rebuild()))}rebuild(){document.querySelectorAll(this._options.messageSelector).forEach((e=>{if(this._elements.has(e))return;const t=e.querySelector(".jsMessageEditButton");if(null!==t){const i=o.stringToBool(e.dataset.canEdit||""),n=o.stringToBool(e.dataset.canEditInline||"");this._options.canEditInline||n?(t.addEventListener("click",(t=>this._clickDropdown(e,t))),t.classList.add("jsDropdownEnabled"),i&&t.addEventListener("dblclick",(t=>this._click(e,t)))):i&&t.addEventListener("click",(t=>this._click(e,t)))}const i=e.querySelector(".messageBody"),n=e.querySelector(".messageFooter"),r=n.querySelector(".messageFooterButtons"),a=e.querySelector(".messageHeader"),s=i.querySelector(".messageText");this._elements.set(e,{button:t,messageBody:i,messageBodyEditor:null,messageFooter:n,messageFooterButtons:r,messageHeader:a,messageText:s})}))}_click(e,t){null===e&&(e=this._activeDropdownElement),t&&t.preventDefault(),null===this._activeElement?(this._activeElement=e,this._prepare(),n.api(this,{actionName:"beginEdit",parameters:{containerID:this._options.containerId,objectID:this._getObjectId(e)}})):u.show("wcf.message.error.editorAlreadyInUse",void 0,"warning")}_clickDropdown(e,t){t.preventDefault();const i=t.currentTarget;if(!i.classList.contains("dropdownToggle")){if(i.classList.add("dropdownToggle"),i.parentElement.classList.add("dropdown"),i.addEventListener("click",(t=>{t.preventDefault(),t.stopPropagation(),this._activeDropdownElement=e,d.toggleDropdown(this._options.dropdownIdentifier,i)})),null===this._dropdownMenu){this._dropdownMenu=document.createElement("ul"),this._dropdownMenu.className="dropdownMenu";const e=this._dropdownGetItems();l.fire("com.woltlab.wcf.inlineEditor",`dropdownInit_${this._options.dropdownIdentifier}`,{items:e}),this._dropdownBuild(e),d.init(this._options.dropdownIdentifier,this._dropdownMenu),d.registerCallback(this._options.dropdownIdentifier,((e,t)=>this._dropdownToggle(e,t)))}setTimeout((()=>i.click()),10)}}_dropdownBuild(e){e.forEach((e=>{const t=document.createElement("li");if(t.dataset.item=e.item,"divider"===e.item)t.className="dropdownDivider";else{const i=document.createElement("span");i.textContent=c.get(e.label),t.appendChild(i),"editItem"===e.item?t.addEventListener("click",(e=>this._click(null,e))):t.addEventListener("click",(e=>this._clickDropdownItem(e)))}this._dropdownMenu.appendChild(t)}))}_dropdownToggle(e,t){const i=this._elements.get(this._activeDropdownElement),n=i.button.parentElement;if("close"===t)return n.classList.remove("dropdownOpen"),void i.messageFooterButtons.classList.remove("forceVisible");n.classList.add("dropdownOpen"),i.messageFooterButtons.classList.add("forceVisible");const o=new Map(Object.entries(this._dropdownOpen()));l.fire("com.woltlab.wcf.inlineEditor",`dropdownOpen_${this._options.dropdownIdentifier}`,{element:this._activeDropdownElement,visibility:o});const r=this._dropdownMenu;let s=!1;const c=Array.from(r.children);c.forEach(((e,t)=>{const i=e.dataset.item;if("divider"===i)s?(a.default.show(e),s=!1):a.default.hide(e);else if(!1===o.get(i)){if(a.default.hide(e),t>0&&t+1===c.length){const t=e.previousElementSibling;"divider"===t.dataset.item&&a.default.hide(t)}}else a.default.show(e),s=!0}))}_dropdownGetItems(){return[]}_dropdownOpen(){return{}}_dropdownSelect(e){}_clickDropdownItem(e){e.preventDefault();const t=e.currentTarget.dataset.item,i={cancel:!1,element:this._activeDropdownElement,item:t};l.fire("com.woltlab.wcf.inlineEditor",`dropdownItemClick_${this._options.dropdownIdentifier}`,i),i.cancel?e.preventDefault():this._dropdownSelect(t)}_prepare(){const e=this._elements.get(this._activeElement),t=document.createElement("div");t.className="messageBody editor",e.messageBodyEditor=t;const i=document.createElement("span");i.className="icon icon48 fa-spinner",t.appendChild(i),e.messageBody.insertAdjacentElement("afterend",t),a.default.hide(e.messageBody)}_showEditor(e){const t=this._getEditorId(),i=this._activeElement,n=this._elements.get(i);i.classList.add("jsInvalidQuoteTarget");n.messageBodyEditor.querySelector(".icon").remove();const o=n.messageBodyEditor,r=document.createElement("div");r.className="editorContainer",a.default.setInnerHtml(r,e.returnValues.template),o.appendChild(r);const c=r.querySelector(".formSubmit");c.querySelector('button[data-type="save"]').addEventListener("click",(()=>this._save()));if(c.querySelector('button[data-type="cancel"]').addEventListener("click",(()=>this._restoreMessage())),l.add("com.woltlab.wcf.redactor",`submitEditor_${t}`,(e=>{e.cancel=!0,this._save()})),a.default.hide(n.messageHeader),a.default.hide(n.messageFooter),"redactor"===s.editor())window.setTimeout((()=>{this._options.quoteManager&&this._options.quoteManager.setAlternativeEditor(t),h.element(i)}),250);else{document.getElementById(t).focus()}}_restoreMessage(){const e=this._activeElement,t=this._elements.get(e);this._destroyEditor(),t.messageBodyEditor.remove(),t.messageBodyEditor=null,a.default.show(t.messageBody),a.default.show(t.messageFooter),a.default.show(t.messageHeader),e.classList.remove("jsInvalidQuoteTarget"),this._activeElement=null,this._options.quoteManager&&this._options.quoteManager.clearAlternativeEditor()}_save(){const e={containerID:this._options.containerId,data:{message:""},objectID:this._getObjectId(this._activeElement),removeQuoteIDs:this._options.quoteManager?this._options.quoteManager.getQuotesMarkedForRemoval():[]},t=this._getEditorId(),i=document.getElementById(`settings_${t}`);i&&i.querySelectorAll("input, select, textarea").forEach((t=>{if("INPUT"===t.nodeName&&("checkbox"===t.type||"radio"===t.type)&&!t.checked)return;const i=t.name;if(Object.prototype.hasOwnProperty.call(e,i))throw new Error(`Variable overshadowing, key '${i}' is already present.`);e[i]=t.value.trim()})),l.fire("com.woltlab.wcf.redactor2",`getText_${t}`,e.data);let o=this._validate(e);o instanceof Promise||(o=!1===o?Promise.reject():Promise.resolve()),o.then((()=>{l.fire("com.woltlab.wcf.redactor2",`submit_${t}`,e),n.api(this,{actionName:"save",parameters:e}),this._hideEditor()}),(e=>{const t=e.message;console.log(`Validation of post edit failed: ${t}`)}))}_validate(e){this._activeElement.querySelectorAll(".innerError").forEach((e=>e.remove()));const t={api:this,parameters:e,valid:!0,promises:[]};return l.fire("com.woltlab.wcf.redactor2",`validate_${this._getEditorId()}`,t),t.valid?t.promises.push(Promise.resolve()):t.promises.push(Promise.reject()),Promise.all(t.promises)}throwError(e,t){a.default.innerError(e,t)}_showMessage(e){const t=this._activeElement,i=this._getEditorId(),n=this._elements.get(t);if(a.default.setInnerHtml(n.messageBody.querySelector(".messageText"),e.returnValues.message),"string"==typeof e.returnValues.attachmentList){n.messageFooter.querySelectorAll(".attachmentThumbnailList, .attachmentFileList").forEach((e=>e.remove()));const t=document.createElement("div");let i;for(a.default.setInnerHtml(t,e.returnValues.attachmentList);t.childNodes.length;)i=t.childNodes[t.childNodes.length-1],n.messageFooter.insertBefore(i,n.messageFooter.firstChild)}if("string"==typeof e.returnValues.poll){const t=n.messageBody.querySelector(".pollContainer");null!==t&&t.parentElement.remove();const i=document.createElement("div");i.className="jsInlineEditorHideContent",a.default.setInnerHtml(i,e.returnValues.poll),n.messageBody.insertAdjacentElement("afterbegin",i)}this._restoreMessage(),this._updateHistory(this._getHash(this._getObjectId(t))),l.fire("com.woltlab.wcf.redactor",`autosaveDestroy_${i}`),u.show(),this._options.quoteManager&&(this._options.quoteManager.clearAlternativeEditor(),this._options.quoteManager.countQuotes())}_hideEditor(){const e=this._elements.get(this._activeElement),t=e.messageBodyEditor.querySelector(".editorContainer");a.default.hide(t);const i=document.createElement("span");i.className="icon icon48 fa-spinner",e.messageBodyEditor.appendChild(i)}_restoreEditor(){const e=this._elements.get(this._activeElement).messageBodyEditor;e.querySelector(".fa-spinner").remove();const t=e.querySelector(".editorContainer");null!==t&&a.default.show(t)}_destroyEditor(){l.fire("com.woltlab.wcf.redactor2",`autosaveDestroy_${this._getEditorId()}`),l.fire("com.woltlab.wcf.redactor2",`destroy_${this._getEditorId()}`)}_getHash(e){return`#message${e}`}_updateHistory(e){window.location.hash=e}_getEditorId(){return this._options.editorPrefix+this._getObjectId(this._activeElement).toString()}_getObjectId(e){return e.dataset.objectId||""}_ajaxFailure(e){const t=this._elements.get(this._activeElement).messageBodyEditor.querySelector(".redactor-layer");return null===t?(this._restoreMessage(),!0):(this._restoreEditor(),!e||void 0===e.returnValues||void 0===e.returnValues.realErrorMessage||(a.default.innerError(t,e.returnValues.realErrorMessage),!1))}_ajaxSuccess(e){switch(e.actionName){case"beginEdit":this._showEditor(e);break;case"save":this._showMessage(e)}}_ajaxSetup(){return{data:{className:this._options.className,interfaceName:"wcf\\data\\IMessageInlineEditorAction"},silent:!0}}legacyEdit(e){this._click(document.getElementById(e),null)}}return o.enableLegacyInheritance(p),p})),define("WoltLabSuite/Core/Ui/Message/Manager",["require","exports","tslib","../../Ajax","../../Core","../../Dom/Change/Listener","../../Language","../../StringUtil"],(function(e,t,i,n,o,r,a,s){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importStar(a),s=i.__importStar(s);class l{constructor(e){this._elements=new Map,this._options=o.extend({className:"",selector:""},e),this.rebuild(),r.default.add(`Ui/Message/Manager${this._options.className}`,this.rebuild.bind(this))}rebuild(){this._elements.clear(),document.querySelectorAll(this._options.selector).forEach((e=>{this._elements.set(e.dataset.objectId,e)}))}getPermission(e,t){t="can"+s.ucfirst(t);const i=this._elements.get(e);if(void 0===i)throw new Error(`Unknown object id '${e}' for selector '${this._options.selector}'`);return o.stringToBool(i.dataset[s.toCamelCase(t)]||"")}getPropertyValue(e,t,i){const n=this._elements.get(e);if(void 0===n)throw new Error(`Unknown object id '${e}' for selector '${this._options.selector}'`);const r=n.dataset[s.toCamelCase(t)]||"";return i?o.stringToBool(r):r}update(e,t,i){n.api(this,{actionName:t,parameters:i||{},objectIDs:[e]})}updateItems(e,t){Array.isArray(e)||(e=[e]),e.forEach((e=>{const i=this._elements.get(e);void 0!==i&&Object.entries(t).forEach((([e,t])=>{this._update(i,e,t)}))}))}updateAllItems(e){const t=Array.from(this._elements.keys());this.updateItems(t,e)}setNote(e,t,i){const n=this._elements.get(e);if(void 0===n)throw new Error(`Unknown object id '${e}' for selector '${this._options.selector}'`);const o=n.querySelector(".messageFooterNotes");let r=o.querySelector(`.${t}`);i?(null===r&&(r=document.createElement("p"),r.className="messageFooterNote "+t,o.appendChild(r)),r.innerHTML=i):null!==r&&r.remove()}_update(e,t,i){e.dataset[t]=i.toString();const n=1==i||!0===i||"true"===i;this._updateState(e,t,i,n)}_updateState(e,t,i,n){switch(t){case"isDeleted":n?e.classList.add("messageDeleted"):e.classList.remove("messageDeleted"),this._toggleMessageStatus(e,"jsIconDeleted","wcf.message.status.deleted","red",n);break;case"isDisabled":n?e.classList.add("messageDisabled"):e.classList.remove("messageDisabled"),this._toggleMessageStatus(e,"jsIconDisabled","wcf.message.status.disabled","green",n)}}_toggleMessageStatus(e,t,i,n,o){let r=e.querySelector(".messageStatus");if(null===r){const t=e.querySelector(".messageHeaderMetaData");if(null===t)return;r=document.createElement("ul"),r.className="messageStatus",t.insertAdjacentElement("afterend",r)}let s=r.querySelector(`.${t}`);if(o){if(null!==s)return;s=document.createElement("span"),s.className=`badge label ${n} ${t}`,s.textContent=a.get(i);const e=document.createElement("li");e.appendChild(s),r.appendChild(e)}else{if(null===s)return;s.parentElement.remove()}}_getAttributeName(e){return-1!==e.indexOf("-")?e:e.split(/([A-Z][a-z]+)/).map((e=>e.trim().toLowerCase())).filter((e=>e.length>0)).join("-")}_ajaxSuccess(e){throw new Error("Method _ajaxSuccess() must be implemented by deriving functions.")}_ajaxSetup(){return{data:{className:this._options.className}}}}return o.enableLegacyInheritance(l),l})),define("WoltLabSuite/Core/Ui/Message/Quote",["require","exports","tslib","../../Ajax","../../Core","../../Event/Handler","../../Language","../../Dom/Change/Listener","../../Dom/Util"],(function(e,t,i,n,o,r,a,s,l){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UiMessageQuote=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importDefault(s),l=i.__importDefault(l);class c{constructor(e,t,i,n,o,r,a){this.activeMessageId="",this.containers=new Map,this.containerSelector="",this.copyQuote=document.createElement("div"),this.message="",this.objectId=0,this.objectType="",this.timerSelectionChange=void 0,this.isMouseDown=!1,this.className=t,this.objectType=i,this.containerSelector=n,this.messageBodySelector=o,this.initContainers(),a=a&&e.supportPaste(),this.quoteManager=e,this.initCopyQuote(a),document.addEventListener("mouseup",(e=>this.onMouseUp(e))),document.addEventListener("selectionchange",(()=>this.onSelectionchange())),s.default.add("UiMessageQuote",(()=>this.initContainers())),document.addEventListener("touchstart",(e=>{if(this.copyQuote.classList.contains("active")){const t=e.target;t===this.copyQuote||this.copyQuote.contains(t)||(this.copyQuote.classList.add("touchForceInaccessible"),document.addEventListener("touchend",(()=>{this.copyQuote.classList.remove("touchForceInaccessible")}),{once:!0}))}}),{passive:!0})}initContainers(){document.querySelectorAll(this.containerSelector).forEach((e=>{var t;const i=l.default.identify(e);this.containers.has(i)||(this.containers.set(i,e),e.classList.contains("jsInvalidQuoteTarget")||(e.addEventListener("mousedown",(e=>this.onMouseDown(e))),e.classList.add("jsQuoteMessageContainer"),null===(t=e.querySelector(".jsQuoteMessage"))||void 0===t||t.addEventListener("click",(e=>this.saveFullQuote(e)))))}))}onSelectionchange(){if(!this.isMouseDown){if(""===this.activeMessageId){const e=window.getSelection();if(1!==e.rangeCount||e.isCollapsed)return;const t=e.getRangeAt(0),i=l.default.closest(t.startContainer,".jsQuoteMessageContainer"),n=l.default.closest(t.endContainer,".jsQuoteMessageContainer");if(i&&i===n&&!i.classList.contains("jsInvalidQuoteTarget")){let e=t.commonAncestorContainer;e.nodeType!==Node.ELEMENT_NODE&&(e=e.parentElement);const n=e.offsetParent;if(i.contains(n)&&n.scrollTop+n.clientHeight<e.offsetTop)return;this.activeMessageId=i.id}}this.timerSelectionChange&&window.clearTimeout(this.timerSelectionChange),this.timerSelectionChange=window.setTimeout((()=>this.onMouseUp()),100)}}onMouseDown(e){this.copyQuote.classList.remove("active");const t=e.currentTarget;this.activeMessageId=t.classList.contains("jsInvalidQuoteTarget")?"":t.id,this.timerSelectionChange&&(window.clearTimeout(this.timerSelectionChange),this.timerSelectionChange=void 0),this.isMouseDown=!0}getNodeText(e){const t=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT|NodeFilter.SHOW_TEXT,{acceptNode:e=>"BLOCKQUOTE"===e.nodeName||"SCRIPT"===e.nodeName?NodeFilter.FILTER_REJECT:!(e instanceof HTMLImageElement)||e.classList.contains("smiley")&&e.alt?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT});let i="";const n=[];for(;t.nextNode();){const e=t.currentNode;if(e instanceof Text){const t=e.parentElement;if(t instanceof HTMLAnchorElement&&n.includes(t))continue;i+=e.nodeValue.replace(/\n/g," ")}else{if(e instanceof HTMLAnchorElement){const t=e.textContent;if(t.indexOf("…")>0){const o=t.split(/\u2026/);if(2===o.length){const t=e.href;0===t.indexOf(o[0])&&t.substr(-1*o[1].length)===o[1]&&(i+=t,n.push(e))}}}switch(e.nodeName){case"BR":case"LI":case"TD":case"UL":i+="\n";break;case"P":i+="\n\n";break;case"IMG":i+=` ${e.alt} `;break;case"DIV":(e.classList.contains("codeBoxHeadline")||e.classList.contains("codeBoxLine"))&&(i+="\n")}}}return i}onMouseUp(e){if(e instanceof Event&&(this.timerSelectionChange&&(window.clearTimeout(this.timerSelectionChange),this.timerSelectionChange=void 0),this.isMouseDown=!1),""===this.activeMessageId)return void this.copyQuote.classList.remove("active");const t=window.getSelection();if(1!==t.rangeCount||t.isCollapsed)return void this.copyQuote.classList.remove("active");const i=this.containers.get(this.activeMessageId),n=~~i.dataset.objectId,o=this.messageBodySelector?i.querySelector(this.messageBodySelector):i;let r=t.anchorNode;for(;r&&r!==o;)r=r.parentNode;if(r!==o)return void this.copyQuote.classList.remove("active");const a=this.getSelectedText().trim();if(""===a)return void this.copyQuote.classList.remove("active");const s=t.getRangeAt(0),c=l.default.getClosestElement(s.startContainer),d=l.default.getClosestElement(s.endContainer);if(c.closest("blockquote")||d.closest("blockquote"))return void this.copyQuote.classList.remove("active");const u=this.getNodeText(o);if(!this.normalizeTextForComparison(u).includes(this.normalizeTextForComparison(a)))return;this.copyQuote.classList.add("active");const h=this.getElementBoundaries(t),p=(this.copyQuote.offsetHeight,this.copyQuote.offsetWidth);let m=(h.right-h.left)/2-p/2+h.left;const f=o.getBoundingClientRect();m<f.left?m=f.left:m+p>f.right&&(m=f.right-p),this.copyQuote.style.setProperty("top",`${h.bottom+7}px`),this.copyQuote.style.setProperty("left",`${m}px`),this.copyQuote.classList.remove("active"),this.timerSelectionChange?(window.clearTimeout(this.timerSelectionChange),this.timerSelectionChange=void 0):this.activeMessageId="",window.setTimeout((()=>{const e=this.getSelectedText().trim();""!==e&&(this.copyQuote.classList.add("active"),this.message=e,this.objectId=n)}),10)}normalizeTextForComparison(e){return e.replace(/\r?\n|\r/g,"\n").replace(/\s/g," ").replace(/\s{2,}/g," ")}getElementBoundaries(e){let t=null;if(e.rangeCount>0){const i=e.getRangeAt(0).getBoundingClientRect(),n=window.pageYOffset;t={bottom:i.bottom+n,left:i.left,right:i.right,top:i.top+n}}return t}initCopyQuote(e){const t=document.getElementById("quoteManagerCopy");null==t||t.remove(),this.copyQuote.id="quoteManagerCopy",this.copyQuote.classList.add("balloonTooltip","interactive");const i=document.createElement("span");if(i.classList.add("jsQuoteManagerStore"),i.textContent=a.get("wcf.message.quote.quoteSelected"),i.addEventListener("click",(e=>this.saveQuote(e))),this.copyQuote.appendChild(i),e){const e=document.createElement("span");e.classList.add("jsQuoteManagerQuoteAndInsert"),e.textContent=a.get("wcf.message.quote.quoteAndReply"),e.addEventListener("click",(e=>this.saveAndInsertQuote(e))),this.copyQuote.appendChild(e)}document.body.appendChild(this.copyQuote)}getSelectedText(){const e=window.getSelection();return e.rangeCount?this.getNodeText(e.getRangeAt(0).cloneContents()):""}saveFullQuote(e){e.preventDefault();const t=e.currentTarget;n.api(this,{actionName:"saveFullQuote",objectIDs:[t.dataset.objectId]});const i=t.querySelector("a");o.stringToBool(t.dataset.isQuoted||"")?(t.dataset.isQuoted="false",i.classList.remove("active")):(t.dataset.isQuoted="true",i.classList.add("active"));const r=t.closest(".buttonGroupNavigation");if(r.classList.contains("jsMobileButtonGroupNavigation")){r.querySelector(".dropdownLabel").click()}}saveQuote(e,t=!1){null==e||e.preventDefault(),n.api(this,{actionName:"saveQuote",objectIDs:[this.objectId],parameters:{message:this.message,renderQuote:t}});const i=window.getSelection();i.rangeCount&&(i.removeAllRanges(),this.copyQuote.classList.remove("active"))}saveAndInsertQuote(e){e.preventDefault(),this.saveQuote(void 0,!0)}_ajaxSuccess(e){if(void 0!==e.returnValues.count){void 0!==e.returnValues.fullQuoteMessageIDs&&(e.returnValues.fullQuoteObjectIDs=e.returnValues.fullQuoteMessageIDs);const t=e.returnValues.fullQuoteObjectIDs||{};this.quoteManager.updateCount(e.returnValues.count,t)}switch(e.actionName){case"saveQuote":case"saveFullQuote":e.returnValues.renderedQuote&&r.fire("com.woltlab.wcf.message.quote","insert",{forceInsert:"saveQuote"===e.actionName,quote:e.returnValues.renderedQuote})}}_ajaxSetup(){return{data:{className:this.className,interfaceName:"wcf\\data\\IMessageQuoteAction"}}}updateFullQuoteObjectIDs(e){this.containers.forEach((t=>{const i=t.querySelector(".jsQuoteMessage");i.dataset.isQuoted="false";const n=i.querySelector("a");i.classList.remove("active");const o=~~i.dataset.objectID;e.includes(o)&&(i.dataset.isQuoted="true",n.classList.add("active"))}))}}t.UiMessageQuote=c,t.default=c})),define("WoltLabSuite/Core/Ui/Message/Reply",["require","exports","tslib","../../Ajax","../../Core","../../Event/Handler","../../Language","../../Dom/Change/Listener","../../Dom/Util","../Dialog","../Notification","../../User","../../Controller/Captcha","../Scroll"],(function(e,t,i,n,o,r,a,s,l,c,d,u,h,p){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importDefault(s),l=i.__importDefault(l),c=i.__importDefault(c),d=i.__importStar(d),u=i.__importDefault(u),h=i.__importDefault(h),p=i.__importStar(p);class m{constructor(e){this._editor=null,this._guestDialogId="",this._loadingOverlay=null,this._options=o.extend({ajax:{className:""},quoteManager:null,successMessage:"wcf.global.success.add"},e),this._container=document.getElementById("messageQuickReply"),this._content=this._container.querySelector(".messageContent"),this._textarea=document.getElementById("text"),this._container.querySelector(".message").classList.add("jsInvalidQuoteTarget");this._container.querySelector('button[data-type="save"]').addEventListener("click",(e=>this._submit(e))),document.querySelectorAll(".jsQuickReply").forEach((e=>{e.addEventListener("click",(e=>{e.preventDefault(),this._getEditor().WoltLabReply.showEditor(),p.element(this._container,(()=>{this._getEditor().WoltLabCaret.endOfEditor()}))}))}))}_submitGuestDialog(e){if(e instanceof KeyboardEvent&&"Enter"!==e.key)return;const t=e.currentTarget,i=t.closest(".dialogContent").querySelector("input[name=username]");if(""===i.value)return l.default.innerError(i,a.get("wcf.global.form.error.empty")),void i.closest("dl").classList.add("formError");let n={parameters:{data:{username:i.value}}};const r=t.dataset.captchaId;if(h.default.has(r)){const e=h.default.getData(r);e instanceof Promise?e.then((e=>{n=o.extend(n,e),this._submit(void 0,n)})):(n=o.extend(n,e),this._submit(void 0,n))}else this._submit(void 0,n)}_submit(e,t){if(e&&e.preventDefault(),this._content.classList.contains("loading")&&(!this._guestDialogId||!c.default.isOpen(this._guestDialogId)))return;if(!this._validate())return;this._showLoadingOverlay();const i={};Object.entries(this._container.dataset).forEach((([e,t])=>{i[e.replace(/Id$/,"ID")]=t})),i.data={message:this._getEditor().code.get()},i.removeQuoteIDs=this._options.quoteManager?this._options.quoteManager.getQuotesMarkedForRemoval():[];const a=document.getElementById("settings_text");a&&a.querySelectorAll("input, select, textarea").forEach((e=>{if("INPUT"===e.nodeName&&("checkbox"===e.type||"radio"===e.type)&&!e.checked)return;const t=e.name;if(Object.prototype.hasOwnProperty.call(i,t))throw new Error(`Variable overshadowing, key '${t}' is already present.`);i[t]=e.value.trim()})),r.fire("com.woltlab.wcf.redactor2","submit_text",i.data),u.default.userId||t||(i.requireGuestDialog=!0),n.api(this,o.extend({parameters:i},t))}_validate(){if(this._container.querySelectorAll(".innerError").forEach((e=>e.remove())),this._getEditor().utils.isEmpty())return this.throwError(this._textarea,a.get("wcf.global.form.error.empty")),!1;const e={api:this,editor:this._getEditor(),message:this._getEditor().code.get(),valid:!0};return r.fire("com.woltlab.wcf.redactor2","validate_text",e),e.valid}throwError(e,t){l.default.innerError(e,"empty"===t?a.get("wcf.global.form.error.empty"):t)}_showLoadingOverlay(){null===this._loadingOverlay&&(this._loadingOverlay=document.createElement("div"),this._loadingOverlay.className="messageContentLoadingOverlay",this._loadingOverlay.innerHTML='<span class="icon icon96 fa-spinner"></span>'),this._content.classList.add("loading"),this._content.appendChild(this._loadingOverlay)}_hideLoadingOverlay(){this._content.classList.remove("loading");const e=this._content.querySelector(".messageContentLoadingOverlay");null!==e&&e.remove()}_reset(){this._getEditor().code.set("<p></p>"),r.fire("com.woltlab.wcf.redactor2","reset_text")}_handleError(e){const t={api:this,cancel:!1,returnValues:e.returnValues};r.fire("com.woltlab.wcf.redactor2","handleError_text",t),t.cancel||this.throwError(this._textarea,e.returnValues.realErrorMessage)}_getEditor(){if(null===this._editor){if("function"!=typeof window.jQuery)throw new Error("Unable to access editor, jQuery has not been loaded yet.");this._editor=window.jQuery(this._textarea).data("redactor")}return this._editor}_insertMessage(e){if(this._getEditor().WoltLabAutosave.reset(),e.returnValues.url)window.location.href==e.returnValues.url&&window.location.reload(),window.location.href=e.returnValues.url;else{if(e.returnValues.template){let t;if("DESC"===this._container.dataset.sortOrder)l.default.insertHtml(e.returnValues.template,this._container,"after"),t=l.default.identify(this._container.nextElementSibling);else{let i=this._container;i.previousElementSibling&&i.previousElementSibling.classList.contains("messageListPagination")&&(i=i.previousElementSibling),l.default.insertHtml(e.returnValues.template,i,"before"),t=l.default.identify(i.previousElementSibling)}this._container.dataset.lastPostTime=e.returnValues.lastPostTime.toString(),window.history.replaceState(void 0,"",`#${t}`),p.element(document.getElementById(t))}d.show(a.get(this._options.successMessage)),this._options.quoteManager&&this._options.quoteManager.countQuotes(),s.default.trigger()}}_ajaxSuccess(e){if(!u.default.userId&&!e.returnValues.guestDialogID)throw new Error("Missing 'guestDialogID' return value for guest.");if(!u.default.userId&&e.returnValues.guestDialog){const t=e.returnValues.guestDialogID;c.default.openStatic(t,e.returnValues.guestDialog,{closable:!1,onClose:function(){h.default.has(t)&&h.default.delete(t)},title:a.get("wcf.global.confirmation.title")});const i=c.default.getDialog(t);i.content.querySelector("input[type=submit]").addEventListener("click",(e=>this._submitGuestDialog(e)));i.content.querySelector("input[type=text]").addEventListener("keypress",(e=>this._submitGuestDialog(e))),this._guestDialogId=t}else this._insertMessage(e),u.default.userId||c.default.close(e.returnValues.guestDialogID),this._reset(),this._hideLoadingOverlay()}_ajaxFailure(e){return this._hideLoadingOverlay(),null===e||void 0===e.returnValues||void 0===e.returnValues.realErrorMessage||(this._handleError(e),!1)}_ajaxSetup(){return{data:{actionName:"quickReply",className:this._options.ajax.className,interfaceName:"wcf\\data\\IMessageQuickReplyAction"},silent:!0}}}return o.enableLegacyInheritance(m),m})),define("WoltLabSuite/Core/Ui/Message/TwitterEmbed",["require","exports","https://platform.twitter.com/widgets.js"],(function(e,t){"use strict";async function i(e,t,i=!1){const o=await n,r=await o.widgets.createTweet(t,e,{dnt:!0,lang:document.documentElement.lang});if(r&&i){for(;e.lastChild;)e.removeChild(e.lastChild);e.appendChild(r)}return r}Object.defineProperty(t,"__esModule",{value:!0}),t.embedAll=t.embedTweet=void 0;const n=new Promise((e=>{twttr.ready(e)}));t.embedTweet=i,t.embedAll=function(){document.querySelectorAll("[data-wsc-twitter-tweet]").forEach((e=>{const t=e.dataset.wscTwitterTweet;t&&(delete e.dataset.wscTwitterTweet,i(e,t,!0))}))}})),define("WoltLabSuite/Core/Ui/Object/Data",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})})),define("WoltLabSuite/Core/Ui/Page/Search",["require","exports","tslib","../../Ajax","../../Dom/Util","../../Language","../../StringUtil","../Dialog"],(function(e,t,i,n,o,r,a,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.open=void 0,n=i.__importStar(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importDefault(s);class l{constructor(){this.callbackSelect=void 0,this.resultContainer=void 0,this.resultList=void 0,this.searchInput=void 0}open(e){this.callbackSelect=e,s.default.open(this)}search(e){e.preventDefault();const t=this.searchInput.parentNode,i=this.searchInput.value.trim();i.length<3?o.default.innerError(t,r.get("wcf.page.search.error.tooShort")):(o.default.innerError(t,!1),n.api(this,{parameters:{searchString:i}}))}click(e){e.preventDefault();const t=e.currentTarget,i=t.querySelector("h3");this.callbackSelect(t.dataset.pageId+"#"+i.textContent.replace(/['"]/g,"")),s.default.close(this)}_ajaxSuccess(e){const t=e.returnValues.map((e=>{const t=a.escapeHTML(e.name),i=a.escapeHTML(e.displayLink);return`<li>\n <div class="containerHeadline pointer" data-page-id="${e.pageID}">\n <h3>${t}</h3>\n <small>${i}</small>\n </div>\n </li>`})).join("");this.resultList.innerHTML=t,o.default[t?"show":"hide"](this.resultContainer),t?this.resultList.querySelectorAll(".containerHeadline").forEach((e=>{e.addEventListener("click",(e=>this.click(e)))})):o.default.innerError(this.searchInput.parentElement,r.get("wcf.page.search.error.noResults"))}_ajaxSetup(){return{data:{actionName:"search",className:"wcf\\data\\page\\PageAction"}}}_dialogSetup(){return{id:"wcfUiPageSearch",options:{onSetup:()=>{this.searchInput=document.getElementById("wcfUiPageSearchInput"),this.searchInput.addEventListener("keydown",(e=>{"Enter"===e.key&&this.search(e)})),this.searchInput.nextElementSibling.addEventListener("click",(e=>this.search(e))),this.resultContainer=document.getElementById("wcfUiPageSearchResultContainer"),this.resultList=document.getElementById("wcfUiPageSearchResultList")},onShow:()=>{this.searchInput.focus()},title:r.get("wcf.page.search")},source:`<div class="section">\n <dl>\n <dt><label for="wcfUiPageSearchInput">${r.get("wcf.page.search.name")}</label></dt>\n <dd>\n <div class="inputAddon">\n <input type="text" id="wcfUiPageSearchInput" class="long">\n <a href="#" class="inputSuffix"><span class="icon icon16 fa-search"></span></a>\n </div>\n </dd>\n </dl>\n </div>\n <section id="wcfUiPageSearchResultContainer" class="section" style="display: none;">\n <header class="sectionHeader">\n <h2 class="sectionTitle">${r.get("wcf.page.search.results")}</h2>\n </header>\n <ol id="wcfUiPageSearchResultList" class="containerList"></ol>\n </section>`}}}let c;t.open=function(e){(void 0===c&&(c=new l),c).open(e)}})),define("WoltLabSuite/Core/Ui/Sortable/List",["require","exports","tslib","../../Core","../Screen"],(function(e,t,i,n,o){"use strict";n=i.__importStar(n),o=i.__importStar(o);class r{constructor(e){this._options=n.extend({containerId:"",className:"",offset:0,options:{},isSimpleSorting:!1,additionalParameters:{}},e),o.on("screen-sm-md",{match:()=>this._enable(!0),unmatch:()=>this._disable(),setup:()=>this._enable(!0)}),o.on("screen-lg",{match:()=>this._enable(!1),unmatch:()=>this._disable(),setup:()=>this._enable(!1)})}_enable(e){const t=this._options.options;e&&(t.handle=".sortableNodeHandle"),new window.WCF.Sortable.List(this._options.containerId,this._options.className,this._options.offset,t,this._options.isSimpleSorting,this._options.additionalParameters)}_disable(){window.jQuery(`#${this._options.containerId} .sortableList`)[this._options.isSimpleSorting?"sortable":"nestedSortable"]("destroy")}}return n.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Ui/Poll/Editor",["require","exports","tslib","../../Core","../../Language","../Sortable/List","../../Event/Handler","../../Date/Picker"],(function(e,t,i,n,o,r,a,s){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importStar(a),s=i.__importStar(s);class l{constructor(e,t,i,o){const s=document.getElementById(e);if(null===s)throw new Error("Unknown poll editor container with id '"+e+"'.");if(this.container=s,this.wysiwygId=i,""!==i&&null===document.getElementById(i))throw new Error("Unknown wysiwyg field with id '"+i+"'.");this.questionField=document.getElementById(this.wysiwygId+"Poll_question");const l=this.container.querySelector(".sortableList");if(null===l)throw new Error("Cannot find poll options list for container with id '"+e+"'.");if(this.optionList=l,this.endTimeField=document.getElementById(this.wysiwygId+"Poll_endTime"),this.maxVotesField=document.getElementById(this.wysiwygId+"Poll_maxVotes"),this.isChangeableYesField=document.getElementById(this.wysiwygId+"Poll_isChangeable"),this.isChangeableNoField=document.getElementById(this.wysiwygId+"Poll_isChangeable_no"),this.isPublicYesField=document.getElementById(this.wysiwygId+"Poll_isPublic"),this.isPublicNoField=document.getElementById(this.wysiwygId+"Poll_isPublic_no"),this.resultsRequireVoteYesField=document.getElementById(this.wysiwygId+"Poll_resultsRequireVote"),this.resultsRequireVoteNoField=document.getElementById(this.wysiwygId+"Poll_resultsRequireVote_no"),this.sortByVotesYesField=document.getElementById(this.wysiwygId+"Poll_sortByVotes"),this.sortByVotesNoField=document.getElementById(this.wysiwygId+"Poll_sortByVotes_no"),this.optionCount=0,this.options=n.extend({isAjax:!1,maxOptions:20},o),this.createOptionList(t||[]),new r.default({containerId:e,options:{toleranceElement:"> div"}}),this.options.isAjax)["handleError","reset","submit","validate"].forEach((e=>{a.add("com.woltlab.wcf.redactor2",e+"_"+this.wysiwygId,((...t)=>this[e](...t)))}));else{const t=this.container.closest("form");if(null===t)throw new Error("Cannot find form for container with id '"+e+"'.");t.addEventListener("submit",(e=>this.submit(e)))}}createOption(e,t,i){e=e||"",t=t||"0";const n=document.createElement("LI");n.classList.add("sortableNode"),n.dataset.optionId=t,i?i.insertAdjacentElement("afterend",n):this.optionList.appendChild(n);const r=document.createElement("div");r.classList.add("pollOptionInput"),n.appendChild(r);const a=document.createElement("span");a.classList.add("icon","icon16","fa-arrows","sortableNodeHandle"),r.appendChild(a);const s=document.createElement("a");n.setAttribute("role","button"),n.setAttribute("href","#"),s.classList.add("icon","icon16","fa-plus","jsTooltip","jsAddOption","pointer"),s.setAttribute("title",o.get("wcf.poll.button.addOption")),s.addEventListener("click",(()=>this.createOption())),r.appendChild(s);const l=document.createElement("a");l.setAttribute("role","button"),l.setAttribute("href","#"),l.classList.add("icon","icon16","fa-times","jsTooltip","jsDeleteOption","pointer"),l.setAttribute("title",o.get("wcf.poll.button.removeOption")),l.addEventListener("click",(e=>this.removeOption(e))),r.appendChild(l);const c=document.createElement("input");c.type="text",c.value=e,c.maxLength=255,c.addEventListener("keydown",(e=>this.optionInputKeyDown(e))),c.addEventListener("click",(()=>{document.activeElement!==c&&c.focus()})),r.appendChild(c),null!==i&&c.focus(),this.optionCount++,this.optionCount===this.options.maxOptions&&this.optionList.querySelectorAll(".jsAddOption").forEach((e=>{e.classList.remove("pointer"),e.classList.add("disabled")}))}createOptionList(e){e.forEach((e=>{this.createOption(e.optionValue,e.optionID)})),this.optionCount<this.options.maxOptions&&this.createOption()}handleError(e){switch(e.returnValues.fieldName){case this.wysiwygId+"Poll_endTime":case this.wysiwygId+"Poll_maxVotes":{const t=e.returnValues.fieldName.replace(this.wysiwygId+"Poll_",""),i=document.createElement("small");i.classList.add("innerError"),i.innerHTML=o.get("wcf.poll."+t+".error."+e.returnValues.errorType);document.getElementById(e.returnValues.fieldName).nextSibling.insertAdjacentElement("afterbegin",i),e.cancel=!0;break}}}optionInputKeyDown(e){if("Enter"!==e.key)return;const t=e.currentTarget.parentElement.querySelector(".jsAddOption");n.triggerEvent(t,"click"),e.preventDefault()}removeOption(e){e.preventDefault();e.currentTarget.closest("li").remove(),this.optionCount--,0===this.optionList.childElementCount?this.createOption():this.optionList.querySelectorAll(".jsAddOption").forEach((e=>{e.classList.add("pointer"),e.classList.remove("disabled")}))}reset(){this.questionField.value="",this.optionCount=0,this.optionList.innerHTML="",this.createOption(),s.clear(this.endTimeField),this.maxVotesField.value="1",this.isChangeableYesField.checked=!1,this.isChangeableNoField.checked=!0,this.isPublicYesField.checked=!1,this.isPublicNoField.checked=!0,this.resultsRequireVoteYesField.checked=!1,this.resultsRequireVoteNoField.checked=!0,this.sortByVotesYesField.checked=!1,this.sortByVotesNoField.checked=!0,a.fire("com.woltlab.wcf.poll.editor","reset",{pollEditor:this})}submit(e){if(this.options.isAjax)a.fire("com.woltlab.wcf.poll.editor","submit",{event:e,pollEditor:this});else{const e=this.container.closest("form");this.getOptions().forEach(((t,i)=>{const n=document.createElement("input");n.type="hidden",n.name=`${this.wysiwygId} + 'Poll_options[${i}}]`,n.value=t,e.appendChild(n)}))}}validate(e){if(""===this.questionField.value.trim())return;let t=0;if(Array.from(this.optionList.children).forEach((e=>{""!==e.querySelector("input[type=text]").value.trim()&&t++})),0===t)e.api.throwError(this.container,o.get("wcf.global.form.error.empty")),e.valid=!1;else{const i=~~this.maxVotesField.value;i&&i>t?(e.api.throwError(this.maxVotesField.parentElement,o.get("wcf.poll.maxVotes.error.invalid")),e.valid=!1):a.fire("com.woltlab.wcf.poll.editor","validate",{data:e,pollEditor:this})}}getData(){return{[this.questionField.id]:this.questionField.value,[this.wysiwygId+"Poll_options"]:this.getOptions(),[this.endTimeField.id]:this.endTimeField.value,[this.maxVotesField.id]:this.maxVotesField.value,[this.isChangeableYesField.id]:!!this.isChangeableYesField.checked,[this.isPublicYesField.id]:!!this.isPublicYesField.checked,[this.resultsRequireVoteYesField.id]:!!this.resultsRequireVoteYesField.checked,[this.sortByVotesYesField.id]:!!this.sortByVotesYesField.checked}}getOptions(){const e=[];return Array.from(this.optionList.children).forEach((t=>{const i=t.querySelector("input[type=text]").value.trim();""!==i&&e.push(`${t.dataset.optionId}_${i}`)})),e}}return n.enableLegacyInheritance(l),l})),define("WoltLabSuite/Core/Ui/Reaction/Data",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})})),define("WoltLabSuite/Core/Ui/Redactor/Article",["require","exports","tslib","../../Core","../Article/Search"],(function(e,t,i,n,o){"use strict";n=i.__importStar(n),o=i.__importStar(o);class r{constructor(e,t){this._editor=e,t.addEventListener("click",(e=>this._click(e)))}_click(e){e.preventDefault(),o.open((e=>this._insert(e)))}_insert(e){this._editor.buffer.set(),this._editor.insert.text(`[wsa='${e}'][/wsa]`)}}return n.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Ui/Redactor/Metacode",["require","exports","tslib","../../Event/Handler","../../Dom/Util"],(function(e,t,i,n,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.convertFromHtml=void 0,n=i.__importStar(n),o=i.__importDefault(o),t.convertFromHtml=function(e,t){const i=document.createElement("div");return i.innerHTML=t,i.querySelectorAll("woltlab-metacode").forEach((t=>{const r=t.dataset.name,a=function(e){try{e=JSON.parse(atob(e))}catch(e){}return Array.isArray(e)?e.map((e=>e.toString().replace(/^'(.*)'$/,"$1"))):[]}(t.dataset.attributes||""),s={attributes:a,cancel:!1,metacode:t};if(n.fire("com.woltlab.wcf.redactor2",`metacode_${r}_${e}`,s),s.cancel)return;const l=function(e,t){let i="["+e;return t.length&&(i+="=",i+=t.map((e=>`'${e}'`)).join(",")),document.createTextNode(i+"]")}(r,a),c=function(e){return document.createTextNode(`[/${e}]`)}(r);if(t.parentElement===i){const e=function(e){let t;if(0===e.childElementCount)t=document.createElement("p"),e.appendChild(t);else{const i=e.children[0];"P"===i.nodeName?t=i:(t=document.createElement("p"),e.insertBefore(t,i))}return t}(t);e.insertBefore(l,e.firstChild),function(e){const t=e.childElementCount;let i;if(0===t)i=document.createElement("p"),e.appendChild(i);else{const n=e.children[t-1];"P"===n.nodeName?i=n:(i=document.createElement("p"),e.appendChild(i))}return i}(t).appendChild(c)}else t.insertBefore(l,t.firstChild),t.appendChild(c);o.default.unwrapChildNodes(t)})),i.querySelectorAll("kbd").forEach((e=>{e.insertBefore(document.createTextNode("[tt]"),e.firstChild),e.appendChild(document.createTextNode("[/tt]")),o.default.unwrapChildNodes(e)})),i.innerHTML}})),define("WoltLabSuite/Core/Ui/Redactor/Autosave",["require","exports","tslib","../../Core","../../Devtools","../../Event/Handler","../../Language","./Metacode"],(function(e,t,i,n,o,r,a,s){"use strict";n=i.__importStar(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s);class l{constructor(e){this._container=null,this._editor=null,this._isActive=!0,this._isPending=!1,this._lastMessage="",this._metaData={},this._originalMessage="",this._restored=!1,this._timer=null,this._element=e,this._key=n.getStoragePrefix()+this._element.dataset.autosave,this._cleanup(),delete this._element.dataset.autosave;const t=this._element.closest("form");null!==t&&t.addEventListener("submit",this.destroy.bind(this)),r.add("com.woltlab.wcf.redactor2",`getMetaData_${this._element.id}`,(e=>{Object.entries(this._metaData).forEach((([t,i])=>{e[t]=i}))})),r.add("com.woltlab.wcf.redactor2",`reset_${this._element.id}`,(()=>this.hideOverlay())),document.addEventListener("visibilitychange",(()=>this._onVisibilityChange()))}_onVisibilityChange(){this._isActive=!document.hidden,this._isPending=document.hidden}getInitialValue(){if(window.ENABLE_DEVELOPER_TOOLS&&!o.default._internal_.editorAutosave())return this._element.value;let e="";try{e=window.localStorage.getItem(this._key)||""}catch(e){const t=e.message;window.console.warn(`Unable to access local storage: ${t}`)}let t=null;try{t=JSON.parse(e)}catch(e){}if(null!==t&&"object"==typeof t&&t.content){if(1e3*~~this._element.dataset.autosaveLastEditTime<=t.timestamp){const e=document.createElement("div");e.innerHTML=this._element.value;const i=document.createElement("div");if(i.innerHTML=t.content,e.innerText.trim()!==i.innerText.trim())return this._originalMessage=this._element.value,this._restored=!0,this._metaData=t.meta||{},t.content}}return this._element.value}getMetaData(){return this._metaData}watch(e){if(this._editor=e,null!==this._timer)throw new Error("Autosave timer is already active.");this._timer=window.setInterval((()=>this._saveToStorage()),15e3),this._saveToStorage(),this._isPending=!1}destroy(){this.clear(),this._editor=null,this._timer&&window.clearInterval(this._timer),this._timer=null,this._isPending=!1}clear(){this._metaData={},this._lastMessage="";try{window.localStorage.removeItem(this._key)}catch(e){const t=e.message;window.console.warn(`Unable to remove from local storage: ${t}`)}}createOverlay(){if(!this._restored)return;const e=this._editor,t=document.createElement("div");t.className="redactorAutosaveRestored active";const i=document.createElement("span");i.textContent=a.get("wcf.editor.autosave.restored"),t.appendChild(i);const n=document.createElement("a");n.className="jsTooltip",n.href="#",n.title=a.get("wcf.editor.autosave.keep"),n.innerHTML='<span class="icon icon16 fa-check green"></span>',n.addEventListener("click",(e=>{e.preventDefault(),this.hideOverlay()})),t.appendChild(n);const o=document.createElement("a");o.className="jsTooltip",o.href="#",o.title=a.get("wcf.editor.autosave.discard"),o.innerHTML='<span class="icon icon16 fa-times red"></span>',o.addEventListener("click",(t=>{t.preventDefault(),this.clear();const i=s.convertFromHtml(e.core.element()[0].id,this._originalMessage);e.code.start(i),e.core.textarea().val(e.clean.onSync(e.$editor.html())),this.hideOverlay()})),t.appendChild(o),e.core.box()[0].appendChild(t),e.core.editor()[0].addEventListener("click",(()=>this.hideOverlay()),{once:!0}),this._container=t}hideOverlay(){null!==this._container&&(this._container.classList.remove("active"),window.setTimeout((()=>{null!==this._container&&this._container.remove(),this._container=null,this._originalMessage=""}),1e3))}_saveToStorage(){if(!this._isActive){if(!this._isPending)return;this._isPending=!1}if(window.ENABLE_DEVELOPER_TOOLS&&!o.default._internal_.editorAutosave())return;const e=this._editor;let t=e.code.get();if(e.utils.isEmpty(t)&&(t=""),this._lastMessage!==t){if(""===t)return this.clear();try{r.fire("com.woltlab.wcf.redactor2",`autosaveMetaData_${this._element.id}`,this._metaData),window.localStorage.setItem(this._key,JSON.stringify({content:t,meta:this._metaData,timestamp:Date.now()})),this._lastMessage=t}catch(e){const t=e.message;window.console.warn(`Unable to write to local storage: ${t}`)}}}_cleanup(){const e=Date.now()-6048e5;Object.keys(window.localStorage).filter((e=>e.startsWith(n.getStoragePrefix()))).forEach((t=>{let i="";try{i=window.localStorage.getItem(t)||""}catch(e){const t=e.message;window.console.warn(`Unable to access local storage: ${t}`)}let n=0;try{n=JSON.parse(i).timestamp}catch(e){}if(!i||n<e)try{window.localStorage.removeItem(t)}catch(e){const t=e.message;window.console.warn(`Unable to remove from local storage: ${t}`)}}))}}return n.enableLegacyInheritance(l),l})),define("WoltLabSuite/Core/Ui/Redactor/PseudoHeader",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getHeight=void 0,t.getHeight=function(e){let t=~~window.getComputedStyle(e).paddingTop.replace(/px$/,"");const i=window.getComputedStyle(e,"::before");t+=~~i.paddingTop.replace(/px$/,""),t+=~~i.paddingBottom.replace(/px$/,"");let n=~~i.height.replace(/px$/,"");return 0===n&&(n=e.scrollHeight,e.classList.add("redactorCalcHeight"),n-=e.scrollHeight,e.classList.remove("redactorCalcHeight")),t+=n,t}})),define("WoltLabSuite/Core/Ui/Redactor/Code",["require","exports","tslib","../../Core","../../Dom/Util","../../Event/Handler","../../Language","../../StringUtil","../Dialog","./PseudoHeader","../../prism-meta"],(function(e,t,i,n,o,r,a,s,l,c,d){"use strict";n=i.__importStar(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importDefault(l),c=i.__importStar(c),d=i.__importDefault(d);let u=0;class h{constructor(e){this._pre=null,this._editor=e,this._elementId=this._editor.$element[0].id,r.add("com.woltlab.wcf.redactor2",`bbcode_code_${this._elementId}`,(e=>this._bbcodeCode(e))),r.add("com.woltlab.wcf.redactor2",`observe_load_${this._elementId}`,(()=>this._observeLoad())),this._editor.opts.activeButtonsStates.pre="code",this._callbackEdit=this._edit.bind(this),this._observeLoad()}_bbcodeCode(e){e.cancel=!0;let t=this._editor.selection.block();t&&"PRE"===t.nodeName&&t.classList.contains("woltlabHtml")||(this._editor.button.toggle({},"pre","func","block.format"),t=this._editor.selection.block(),t&&"PRE"===t.nodeName&&!t.classList.contains("woltlabHtml")&&(1===t.childElementCount&&"BR"===t.children[0].nodeName&&t.removeChild(t.children[0]),this._setTitle(t),t.addEventListener("click",this._callbackEdit),this._editor.caret.end(t)))}_observeLoad(){this._editor.$editor[0].querySelectorAll("pre:not(.woltlabHtml)").forEach((e=>{e.addEventListener("mousedown",this._callbackEdit),this._setTitle(e)}))}_edit(e){const t=e.currentTarget;0===u&&(u=c.getHeight(t));const i=o.default.offset(t);e.pageY>i.top&&e.pageY<i.top+u&&(e.preventDefault(),this._editor.selection.save(),this._pre=t,l.default.open(this))}_dialogSubmit(){const e="redactor-code-"+this._elementId,t=this._pre;["file","highlighter","line"].forEach((i=>{const n=document.getElementById(`${e}-${i}`);t.dataset[i]=n.value})),this._setTitle(t),this._editor.caret.after(t),l.default.close(this)}_setTitle(e){const t=e.dataset.file;let i=e.dataset.highlighter;i=-1!==this._editor.opts.woltlab.highlighters.indexOf(i)?d.default[i].title:"";const n=a.get("wcf.editor.code.title",{file:t,highlighter:i});e.dataset.title!==n&&(e.dataset.title=n)}_delete(e){e.preventDefault();const t=this._pre;let i=t.nextElementSibling||t.previousElementSibling;null===i&&t.parentElement!==this._editor.core.editor()[0]&&(i=t.parentElement),null===i?(this._editor.code.set(""),this._editor.focus.end()):(t.remove(),this._editor.caret.end(i)),l.default.close(this)}_dialogSetup(){const e=`redactor-code-${this._elementId}`,t=`${e}-button-delete`,i=`${e}-button-save`,n=`${e}-file`,o=`${e}-highlighter`,r=`${e}-line`;return{id:e,options:{onClose:()=>{this._editor.selection.restore(),l.default.destroy(this)},onSetup:()=>{document.getElementById(t).addEventListener("click",(e=>this._delete(e)));let e=`<option value="">${a.get("wcf.editor.code.highlighter.detect")}</option>\n <option value="plain">${a.get("wcf.editor.code.highlighter.plain")}</option>`;const i=this._editor.opts.woltlab.highlighters.map((e=>[e,d.default[e].title]));i.sort(((e,t)=>e[1].localeCompare(t[1]))),e+=i.map((([e,t])=>`<option value="${e}">${s.escapeHTML(t)}</option>`)).join("\n"),document.getElementById(o).innerHTML=e},onShow:()=>{const e=this._pre;document.getElementById(o).value=e.dataset.highlighter||"";const t=~~(e.dataset.line||1);document.getElementById(r).value=t.toString();document.getElementById(n).value=e.dataset.file||""},title:a.get("wcf.editor.code.edit")},source:`<div class="section">\n <dl>\n <dt>\n <label for="${o}">${a.get("wcf.editor.code.highlighter")}</label>\n </dt>\n <dd>\n <select id="${o}"></select>\n <small>${a.get("wcf.editor.code.highlighter.description")}</small>\n </dd>\n </dl>\n <dl>\n <dt>\n <label for="${r}">${a.get("wcf.editor.code.line")}</label>\n </dt>\n <dd>\n <input type="number" id="${r}" min="0" value="1" class="long" data-dialog-submit-on-enter="true">\n <small>${a.get("wcf.editor.code.line.description")}</small>\n </dd>\n </dl>\n <dl>\n <dt>\n <label for="${n}">${a.get("wcf.editor.code.file")}</label>\n </dt>\n <dd>\n <input type="text" id="${n}" class="long" data-dialog-submit-on-enter="true">\n <small>${a.get("wcf.editor.code.file.description")}</small>\n </dd>\n </dl>\n </div>\n <div class="formSubmit">\n <button id="${i}" class="buttonPrimary" data-type="submit">${a.get("wcf.global.button.save")}</button>\n <button id="${t}">${a.get("wcf.global.button.delete")}</button>\n </div>`}}}return n.enableLegacyInheritance(h),h})),define("WoltLabSuite/Core/Ui/Redactor/Editor",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})})),define("WoltLabSuite/Core/Ui/Redactor/Format",["require","exports","tslib","../../Dom/Util"],(function(e,t,i,n){"use strict";function o(e){let t=window.getSelection().anchorNode;for(;t;){if(t===e)return!0;t=t.parentNode}return!1}function r(e,t,i){let n=e;for(;n=n[i];)if(n.nodeType!==Node.TEXT_NODE||""!==n.textContent.replace(/\u200B/,""))return!1;return!0}function a(e,t){const i=["DEL","SUB","SUP"].find((i=>{const n=t.anchorNode;let o=n.nodeType===Node.ELEMENT_NODE?n:n.parentElement;if(!(null!==o.querySelector(i.toLowerCase())))for(;o&&o!==e;){if(o.nodeName===i)return!0;o=o.parentElement}return!1}));return"DEL"===i||void 0===i?["strike","strikethrough"]:[i.toLowerCase(),i.toLowerCase()+"script"]}function s(e,t){const i=window.getSelection();if(!i.rangeCount)return;if(!o(e))return void console.error("Invalid selection, range exists outside of the editor:",i.anchorNode);let r=i.getRangeAt(0),s=null;const l=r.collapsed;if(l){let o=r.startContainer;const a=[o];for(;;){const t=o.parentElement;if(t===e||"TD"===t.nodeName)break;o=t,a.push(o)}if(""===o.innerHTML.replace(/[\u200B-\u200D\uFEFF]/g,"").replace(/ /gi,"").replace(/<\/?br\s?\/?>/g,"").replace(/\s/g,"").replace(/^<p>[^\W\w\D\d]*?<\/p>$/i,"").replace(/<iframe(.*?[^>])>$/i,"iframe").replace(/<source(.*?[^>])>$/i,"source").replace(/<[^/>][^>]*><\/[^>]+>/gi,"").replace(/<[^/>][^>]*><\/[^>]+>/gi,"").trim()){const e=document.createElement("woltlab-format-marker");return r.insertNode(e),a.forEach((e=>{"SPAN"===e.nodeName&&e.style.getPropertyValue(t)&&n.default.unwrapChildNodes(e)})),r=document.createRange(),r.selectNode(e),r.collapse(!0),i.removeAllRanges(),i.addRange(r),void e.remove()}s=document.createTextNode(""),r.insertNode(s)}let c=e.querySelectorAll("strike");c.forEach((e=>n.default.unwrapChildNodes(e)));const d=a(e,i);if(document.execCommand(d[1]),c=e.querySelectorAll(d[0]),l&&null!==s&&0===c.length){document.execCommand(d[1]);const e=document.createElement(d[0]);s.parentElement.insertBefore(e,s),e.appendChild(s)}c.forEach((i=>{const o=function(e,t,i){let n=e.parentElement,o=null;for(;n!==t;)"SPAN"===n.nodeName&&""!==n.style.getPropertyValue(i)&&(o=n),n=n.parentElement;return o}(i,e,t);null!==o&&function(e,t,i){const o=t.parentElement;if(!n.default.isAtNodeStart(e,t)){const i=document.createRange();i.setStartBefore(t),i.setEndBefore(e);const n=i.extractContents();o.insertBefore(n,t)}if(!n.default.isAtNodeEnd(e,t)){const i=document.createRange();i.setStartAfter(e),i.setEndAfter(t);const n=i.extractContents();o.insertBefore(n,t.nextSibling)}t.querySelectorAll("span").forEach((e=>{e.style.getPropertyValue(i)&&n.default.unwrapChildNodes(e)})),n.default.unwrapChildNodes(t)}(i,o,t),i.querySelectorAll("span").forEach((e=>{e.style.getPropertyValue(t)&&n.default.unwrapChildNodes(e)})),n.default.unwrapChildNodes(i)})),e.querySelectorAll("span").forEach((e=>{e.parentNode&&!e.textContent.length&&""!==e.style.getPropertyValue(t)&&(1===e.childElementCount&&"MARK"===e.children[0].nodeName&&e.parentNode.insertBefore(e.children[0],e),0===e.childElementCount&&e.remove())}))}Object.defineProperty(t,"__esModule",{value:!0}),t.removeFormat=t.format=void 0,n=i.__importDefault(n),t.format=function(e,t,i){const l=window.getSelection();if(!l.rangeCount)return;if(!o(e))return void console.error("Invalid selection, range exists outside of the editor:",l.anchorNode);let c=l.getRangeAt(0),d=null,u=null,h=null;if(c.collapsed)h=document.createElement("strike"),h.textContent="",c.insertNode(h),c=document.createRange(),c.selectNodeContents(h),l.removeAllRanges(),l.addRange(c);else{d=document.createElement("mark"),u=document.createElement("mark");let i=c.cloneRange();i.collapse(!0),i.insertNode(d),i=c.cloneRange(),i.collapse(!1),i.insertNode(u),c=document.createRange(),c.setStartAfter(d),c.setEndBefore(u),l.removeAllRanges(),l.addRange(c),s(e,t),c=document.createRange(),c.setStartAfter(d),c.setEndBefore(u),l.removeAllRanges(),l.addRange(c)}let p=["strike","strikethrough"];null===h&&(p=a(e,l),document.execCommand(p[1]));const m=[];e.querySelectorAll(p[0]).forEach((e=>{const o=document.createElement("span");o.setAttribute("style",`${t}: ${i}`),n.default.replaceElement(e,o),m.push(o)}));const f=m.length;if(f){const e=m[0],i=m[f-1];if(null===h&&e.parentElement===i.parentElement){const o=e.parentElement;"SPAN"===o.nodeName&&""!==o.style.getPropertyValue(t)&&r(e,0,"previousSibling")&&r(i,0,"nextSibling")&&n.default.unwrapChildNodes(o)}c=document.createRange(),c.setStart(e,0),c.setEnd(i,i.childNodes.length),l.removeAllRanges(),l.addRange(c)}null!==d&&(d.remove(),u.remove())},t.removeFormat=s})),define("WoltLabSuite/Core/Ui/Redactor/Html",["require","exports","tslib","../../Core","../../Event/Handler","../../Language"],(function(e,t,i,n,o,r){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r);class a{constructor(e){this._pre=null,this._editor=e,this._elementId=this._editor.$element[0].id,o.add("com.woltlab.wcf.redactor2",`bbcode_woltlabHtml_${this._elementId}`,(e=>this._bbcodeCode(e))),o.add("com.woltlab.wcf.redactor2",`observe_load_${this._elementId}`,(()=>this._observeLoad())),this._editor.opts.activeButtonsStates["woltlab-html"]="woltlabHtml",this._observeLoad()}_bbcodeCode(e){e.cancel=!0;let t=this._editor.selection.block();t&&"PRE"===t.nodeName&&!t.classList.contains("woltlabHtml")||(this._editor.button.toggle({},"pre","func","block.format"),t=this._editor.selection.block(),t&&"PRE"===t.nodeName&&(t.classList.add("woltlabHtml"),1===t.childElementCount&&"BR"===t.children[0].nodeName&&t.removeChild(t.children[0]),this._setTitle(t),this._editor.caret.end(t)))}_observeLoad(){this._editor.$editor[0].querySelectorAll("pre.woltlabHtml").forEach((e=>{this._setTitle(e)}))}_setTitle(e){["title","description"].forEach((t=>{const i=r.get(`wcf.editor.html.${t}`);e.dataset[t]!==i&&(e.dataset[t]=i)}))}}return n.enableLegacyInheritance(a),a})),define("WoltLabSuite/Core/Ui/Redactor/Link",["require","exports","tslib","../../Dom/Util","../../Language","../Dialog"],(function(e,t,i,n,o,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.showDialog=void 0,n=i.__importDefault(n),o=i.__importStar(o),r=i.__importDefault(r);class a{constructor(){this.boundListener=!1}open(e){r.default.open(this),r.default.setTitle(this,o.get("wcf.editor.link."+(e.insert?"add":"edit")));const t=document.getElementById("redactor-modal-button-action");t.textContent=o.get("wcf.global.button."+(e.insert?"insert":"save")),this.submitCallback=e.submitCallback,this.boundListener||(this.boundListener=!0,t.addEventListener("click",(()=>this.submit())))}submit(){if(this.submitCallback())r.default.close(this);else{const e=document.getElementById("redactor-link-url"),t=""===e.value.trim()?"wcf.global.form.error.empty":"wcf.editor.link.error.invalid";n.default.innerError(e,o.get(t))}}_dialogSetup(){return{id:"redactorDialogLink",options:{onClose:()=>{const e=document.getElementById("redactor-link-url").nextElementSibling;e&&"SMALL"===e.nodeName&&e.remove()},onSetup:e=>{const t=e.querySelector(".formSubmit > .buttonPrimary");null!==t&&e.querySelectorAll('input[type="url"], input[type="text"]').forEach((e=>{e.addEventListener("keyup",(e=>{"Enter"===e.key&&t.click()}))}))},onShow:()=>{document.getElementById("redactor-link-url").focus()}},source:`<dl>\n <dt>\n <label for="redactor-link-url">${o.get("wcf.editor.link.url")}</label>\n </dt>\n <dd>\n <input type="url" id="redactor-link-url" class="long">\n </dd>\n </dl>\n <dl>\n <dt>\n <label for="redactor-link-url-text">${o.get("wcf.editor.link.text")}</label>\n </dt>\n <dd>\n <input type="text" id="redactor-link-url-text" class="long">\n </dd>\n </dl>\n <div class="formSubmit">\n <button id="redactor-modal-button-action" class="buttonPrimary"></button>\n </div>`}}}let s;t.showDialog=function(e){s||(s=new a),s.open(e)}})),define("WoltLabSuite/Core/Ui/Redactor/Mention",["require","exports","tslib","../../Ajax","../../Core","../../StringUtil","../CloseOverlay"],(function(e,t,i,n,o,r,a){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importDefault(a);let s=null;class l{constructor(e){this._active=!1,this._dropdownActive=!1,this._dropdownMenu=null,this._itemIndex=0,this._lineHeight=null,this._mentionStart="",this._timer=null,this._redactor=e,e.WoltLabEvent.register("keydown",(e=>this._keyDown(e))),e.WoltLabEvent.register("keyup",(e=>this._keyUp(e))),a.default.add(`UiRedactorMention-${e.core.element()[0].id}`,(()=>this._hideDropdown()))}_keyDown(e){if(!this._dropdownActive)return;const t=e.event;switch(t.key){case"Enter":this._setUsername(null,this._dropdownMenu.children[this._itemIndex].children[0]);break;case"ArrowUp":this._selectItem(-1);break;case"ArrowDown":this._selectItem(1);break;default:return void this._hideDropdown()}t.preventDefault(),e.cancel=!0}_keyUp(e){const t=e.event;if("Enter"===t.key)return void(this._active=!1);if(this._dropdownActive&&(e.cancel=!0,"ArrowDown"===t.key||"ArrowUp"===t.key))return;const i=this._getTextLineInFrontOfCaret();if(i.length>0&&i.length<25){const e=/@([^,]{3,})$/.exec(i);e?e.index&&!/\s/.test(i[e.index-1])||(this._mentionStart=e[1],null!==this._timer&&(window.clearTimeout(this._timer),this._timer=null),this._timer=window.setTimeout((()=>{n.api(this,{parameters:{data:{searchString:this._mentionStart}}}),this._timer=null}),500)):this._hideDropdown()}else this._hideDropdown()}_getTextLineInFrontOfCaret(){const e=this._selectMention(!1);return null!==e?e.range.cloneContents().textContent.replace(/\u200B/g,"").replace(/\u00A0/g," ").trim():""}_getDropdownMenuPosition(){const e=this._selectMention();if(null===e)return null;this._redactor.selection.save(),e.selection.removeAllRanges(),e.selection.addRange(e.range);const t=e.selection.getRangeAt(0).getBoundingClientRect(),i={top:Math.round(t.bottom)+(window.scrollY||window.pageYOffset),left:Math.round(t.left)+document.body.scrollLeft};return null===this._lineHeight&&(this._lineHeight=Math.round(t.bottom-t.top)),this._redactor.selection.restore(),i}_setUsername(e,t){e&&(e.preventDefault(),t=e.currentTarget);const i=this._selectMention();if(null===i)return void this._hideDropdown();this._redactor.buffer.set(),i.selection.removeAllRanges(),i.selection.addRange(i.range);let n=window.getSelection().getRangeAt(0);n.deleteContents(),n.collapse(!0);let o=t.dataset.username.trim();o.split(/\s/g).length>2&&(o="'"+o.replace(/'/g,"''")+"'");const r=document.createTextNode("@"+o+" ");n.insertNode(r),n=document.createRange(),n.selectNode(r),n.collapse(!1),i.selection.removeAllRanges(),i.selection.addRange(n),this._hideDropdown()}_selectMention(e){const t=window.getSelection();if(!t.rangeCount||!t.isCollapsed)return null;let i=t.anchorNode;if(i.nodeType===Node.TEXT_NODE&&(i=i.parentElement),-1===i.textContent.indexOf("@"))return null;const n=this._redactor.core.editor()[0];for(;i&&i!==n;){if(-1!==["PRE","WOLTLAB-QUOTE"].indexOf(i.nodeName))return null;i=i.parentElement}let o=t.getRangeAt(0),r=o.startContainer,a=o.startOffset;for(;r.nodeType===Node.ELEMENT_NODE;){if(0===a&&0===r.childNodes.length)return null;r=r.childNodes[a?a-1:0],a>0&&(a=r.nodeType===Node.TEXT_NODE?r.textContent.length:r.childNodes.length)}let s=r,l=-1;for(;null!==s;){if(s.nodeType!==Node.TEXT_NODE)return null;if(-1!==s.textContent.indexOf("@")){l=s.textContent.lastIndexOf("@");break}s=s.previousSibling}if(-1===l)return null;try{o=document.createRange(),o.setStart(s,l),o.setEnd(r,a)}catch(e){return window.console.debug(e),null}if(!1===e){let e="";for(l&&(e=s.textContent.substr(0,l));(s=s.previousSibling)&&s.nodeType===Node.TEXT_NODE;)e=s.textContent+e;if(/\S$/.test(e.replace(/\u200B/g,"")))return null}else if(o.cloneContents().textContent.replace(/\u200B/g,"").replace(/\u00A0/g,"").trim().replace(/^@/,"")!==this._mentionStart)return null;return{range:o,selection:t}}_updateDropdownPosition(){const e=this._getDropdownMenuPosition();if(null===e)return void this._hideDropdown();e.top+=7;const t=this._dropdownMenu;if(t.style.setProperty("left",`${e.left}px`,""),t.style.setProperty("top",`${e.top}px`,""),this._selectItem(0),e.top+t.offsetHeight+10>window.innerHeight+(window.scrollY||window.pageYOffset)){const i=e.top-t.offsetHeight-2*this._lineHeight+7;t.style.setProperty("top",`${i}px`,"")}}_selectItem(e){const t=this._dropdownMenu,i=t.querySelector(".active");null!==i&&i.classList.remove("active"),this._itemIndex+=e,this._itemIndex<0?this._itemIndex=t.childElementCount-1:this._itemIndex>=t.childElementCount&&(this._itemIndex=0),t.children[this._itemIndex].classList.add("active")}_hideDropdown(){null!==this._dropdownMenu&&this._dropdownMenu.classList.remove("dropdownOpen"),this._dropdownActive=!1,this._itemIndex=0}_ajaxSetup(){return{data:{actionName:"getSearchResultList",className:"wcf\\data\\user\\UserAction",interfaceName:"wcf\\data\\ISearchAction",parameters:{data:{includeUserGroups:!0,scope:"mention"}}},silent:!0}}_ajaxSuccess(e){Array.isArray(e.returnValues)&&e.returnValues.length?(null===this._dropdownMenu&&(this._dropdownMenu=document.createElement("ol"),this._dropdownMenu.className="dropdownMenu",null===s&&(s=document.createElement("div"),s.className="dropdownMenuContainer",document.body.appendChild(s)),s.appendChild(this._dropdownMenu)),this._dropdownMenu.innerHTML="",e.returnValues.forEach((e=>{const t=document.createElement("li"),i=document.createElement("a");i.addEventListener("mousedown",(e=>this._setUsername(e))),i.className="box16",i.innerHTML=`<span>${e.icon}</span> <span>${r.escapeHTML(e.label)}</span>`,i.dataset.userId=e.objectID.toString(),i.dataset.username=e.label,t.appendChild(i),this._dropdownMenu.appendChild(t)})),this._dropdownMenu.classList.add("dropdownOpen"),this._dropdownActive=!0,this._updateDropdownPosition()):this._hideDropdown()}}return o.enableLegacyInheritance(l),l})),define("WoltLabSuite/Core/Ui/Redactor/Page",["require","exports","tslib","../../Core","../Page/Search"],(function(e,t,i,n,o){"use strict";n=i.__importStar(n),o=i.__importStar(o);class r{constructor(e,t){this._editor=e,t.addEventListener("click",(e=>this._click(e)))}_click(e){e.preventDefault(),o.open((e=>this._insert(e)))}_insert(e){this._editor.buffer.set(),this._editor.insert.text(`[wsp='${e}'][/wsp]`)}}return n.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Ui/Redactor/Quote",["require","exports","tslib","../../Core","../../Dom/Util","../../Event/Handler","../../Language","../../StringUtil","../Dialog","./Metacode","./PseudoHeader"],(function(e,t,i,n,o,r,a,s,l,c,d){"use strict";n=i.__importStar(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importDefault(l),c=i.__importStar(c),d=i.__importStar(d);let u=0;class h{constructor(e,t){this._quote=null,this._editor=e,this._elementId=this._editor.$element[0].id,r.add("com.woltlab.wcf.redactor2",`observe_load_${this._elementId}`,(()=>this._observeLoad())),this._editor.button.addCallback(t,this._click.bind(this)),this._observeLoad(),r.add("com.woltlab.wcf.redactor2",`insertQuote_${this._elementId}`,(e=>this._insertQuote(e)))}_insertQuote(e){if(this._editor.WoltLabSource.isActive())return;r.fire("com.woltlab.wcf.redactor2","showEditor");const t=this._editor.core.editor()[0];this._editor.selection.restore(),this._editor.buffer.set();let i=this._editor.selection.block();for(!1===i&&(this._editor.focus.end(),i=this._editor.selection.block());i&&i.parentElement!==t;)i=i.parentElement;const n=document.createElement("woltlab-quote");n.dataset.author=e.author,n.dataset.link=e.link;let o=e.content;e.isText?(o=s.escapeHTML(o),o=`<p>${o}</p>`,o=o.replace(/\n\n/g,"</p><p>"),o=o.replace(/\n/g,"<br>")):o=c.convertFromHtml(this._editor.$element[0].id,o),n.innerHTML=o;const a=i.parentElement;a.insertBefore(n,i.nextSibling),"P"!==i.nodeName||"<br>"!==i.innerHTML&&""!==i.innerHTML.replace(/\u200B/g,"")||a.removeChild(i);let l=n.previousElementSibling;l&&"P"!==l.nodeName&&(l=document.createElement("p"),l.textContent="",n.insertAdjacentElement("beforebegin",l)),this._editor.WoltLabCaret.paragraphAfterBlock(n),this._editor.buffer.set()}_click(){this._editor.button.toggle({},"woltlab-quote","func","block.format");const e=this._editor.selection.block();e&&"WOLTLAB-QUOTE"===e.nodeName&&(this._setTitle(e),e.addEventListener("click",(e=>this._edit(e))),this._editor.caret.end(e))}_observeLoad(){document.querySelectorAll("woltlab-quote").forEach((e=>{e.addEventListener("mousedown",(e=>this._edit(e))),this._setTitle(e)}))}_edit(e){const t=e.currentTarget;0===u&&(u=d.getHeight(t));const i=o.default.offset(t);e.pageY>i.top&&e.pageY<i.top+u&&(e.preventDefault(),this._editor.selection.save(),this._quote=t,l.default.open(this))}_dialogSubmit(){const e=`redactor-quote-${this._elementId}`,t=document.getElementById(`${e}-url`),i=t.value.replace(/\u200B/g,"").trim();if(i.length&&!/^https?:\/\/[^/]+/.test(i))return void o.default.innerError(t,a.get("wcf.editor.quote.url.error.invalid"));o.default.innerError(t,!1);const n=this._quote,r=document.getElementById(e+"-author");n.dataset.author=r.value,n.dataset.link=i,this._setTitle(n),this._editor.caret.after(n),l.default.close(this)}_setTitle(e){const t=a.get("wcf.editor.quote.title",{author:e.dataset.author,url:e.dataset.url});e.dataset.title!==t&&(e.dataset.title=t)}_delete(e){e.preventDefault();const t=this._quote;let i=t.nextElementSibling||t.previousElementSibling;null===i&&t.parentElement!==this._editor.core.editor()[0]&&(i=t.parentElement),null===i?(this._editor.code.set(""),this._editor.focus.end()):(t.remove(),this._editor.caret.end(i)),l.default.close(this)}_dialogSetup(){const e=`redactor-quote-${this._elementId}`,t=`${e}-author`,i=`${e}-button-delete`,n=`${e}-button-save`,o=`${e}-url`;return{id:e,options:{onClose:()=>{this._editor.selection.restore(),l.default.destroy(this)},onSetup:()=>{document.getElementById(i).addEventListener("click",(e=>this._delete(e)))},onShow:()=>{document.getElementById(t).value=this._quote.dataset.author||"";document.getElementById(o).value=this._quote.dataset.link||""},title:a.get("wcf.editor.quote.edit")},source:`<div class="section">\n <dl>\n <dt>\n <label for="${t}">${a.get("wcf.editor.quote.author")}</label>\n </dt>\n <dd>\n <input type="text" id="${t}" class="long" data-dialog-submit-on-enter="true">\n </dd>\n </dl>\n <dl>\n <dt>\n <label for="${o}">${a.get("wcf.editor.quote.url")}</label>\n </dt>\n <dd>\n <input type="text" id="${o}" class="long" data-dialog-submit-on-enter="true">\n <small>${a.get("wcf.editor.quote.url.description")}</small>\n </dd>\n </dl>\n </div>\n <div class="formSubmit">\n <button id="${n}" class="buttonPrimary" data-type="submit">${a.get("wcf.global.button.save")}</button>\n <button id="${i}">${a.get("wcf.global.button.delete")}</button>\n </div>`}}}return n.enableLegacyInheritance(h),h})),define("WoltLabSuite/Core/Ui/Redactor/Spoiler",["require","exports","tslib","../../Core","../../Dom/Util","../../Event/Handler","../../Language","../Dialog","./PseudoHeader"],(function(e,t,i,n,o,r,a,s,l){"use strict";n=i.__importStar(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importDefault(s),l=i.__importStar(l);let c=0;class d{constructor(e){this._spoiler=null,this._editor=e,this._elementId=this._editor.$element[0].id,r.add("com.woltlab.wcf.redactor2",`bbcode_spoiler_${this._elementId}`,(e=>this._bbcodeSpoiler(e))),r.add("com.woltlab.wcf.redactor2",`observe_load_${this._elementId}`,(()=>this._observeLoad())),this._observeLoad()}_bbcodeSpoiler(e){e.cancel=!0,this._editor.button.toggle({},"woltlab-spoiler","func","block.format");let t=this._editor.selection.block();t&&("P"===t.nodeName&&(t=t.parentElement),"WOLTLAB-SPOILER"===t.nodeName&&(this._setTitle(t),t.addEventListener("click",(e=>this._edit(e))),this._editor.caret.end(t)))}_observeLoad(){this._editor.$editor[0].querySelectorAll("woltlab-spoiler").forEach((e=>{e.addEventListener("mousedown",(e=>this._edit(e))),this._setTitle(e)}))}_edit(e){const t=e.currentTarget;0===c&&(c=l.getHeight(t));const i=o.default.offset(t);e.pageY>i.top&&e.pageY<i.top+c&&(e.preventDefault(),this._editor.selection.save(),this._spoiler=t,s.default.open(this))}_dialogSubmit(){const e=this._spoiler,t=document.getElementById("redactor-spoiler-"+this._elementId+"-label");e.dataset.label=t.value,this._setTitle(e),this._editor.caret.after(e),s.default.close(this)}_setTitle(e){const t=a.get("wcf.editor.spoiler.title",{label:e.dataset.label||""});e.dataset.title!==t&&(e.dataset.title=t)}_delete(e){e.preventDefault();const t=this._spoiler;let i=t.nextElementSibling||t.previousElementSibling;null===i&&t.parentElement!==this._editor.core.editor()[0]&&(i=t.parentElement),null===i?(this._editor.code.set(""),this._editor.focus.end()):(t.remove(),this._editor.caret.end(i)),s.default.close(this)}_dialogSetup(){const e=`redactor-spoiler-${this._elementId}`,t=`${e}-button-delete`,i=`${e}-button-save`,n=`${e}-label`;return{id:e,options:{onClose:()=>{this._editor.selection.restore(),s.default.destroy(this)},onSetup:()=>{document.getElementById(t).addEventListener("click",(e=>this._delete(e)))},onShow:()=>{document.getElementById(n).value=this._spoiler.dataset.label||""},title:a.get("wcf.editor.spoiler.edit")},source:`<div class="section">\n <dl>\n <dt>\n <label for="${n}">${a.get("wcf.editor.spoiler.label")}</label>\n </dt>\n <dd>\n <input type="text" id="${n}" class="long" data-dialog-submit-on-enter="true">\n <small>${a.get("wcf.editor.spoiler.label.description")}</small>\n </dd>\n </dl>\n </div>\n <div class="formSubmit">\n <button id="${i}" class="buttonPrimary" data-type="submit">${a.get("wcf.global.button.save")}</button>\n <button id="${t}">${a.get("wcf.global.button.delete")}</button>\n </div>`}}}return n.enableLegacyInheritance(d),d})),define("WoltLabSuite/Core/Ui/Redactor/Table",["require","exports","tslib","../../Language","../Dialog"],(function(e,t,i,n,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.showDialog=void 0,n=i.__importStar(n),o=i.__importDefault(o);class r{open(e){o.default.open(this),this.callbackSubmit=e.submitCallback}_dialogSubmit(){let e=!0;["rows","cols"].forEach((t=>{const i=document.getElementById("redactor-table-"+t);(+i.value<1||+i.value>100)&&(e=!1)})),e&&(this.callbackSubmit(),o.default.close(this))}_dialogSetup(){return{id:"redactorDialogTable",options:{onShow:()=>{document.getElementById("redactor-table-rows").value="2";document.getElementById("redactor-table-cols").value="3"},title:n.get("wcf.editor.table.insertTable")},source:`<dl>\n <dt>\n <label for="redactor-table-rows">${n.get("wcf.editor.table.rows")}</label>\n </dt>\n <dd>\n <input type="number" id="redactor-table-rows" class="small" min="1" max="100" value="2" data-dialog-submit-on-enter="true">\n </dd>\n </dl>\n <dl>\n <dt>\n <label for="redactor-table-cols">${n.get("wcf.editor.table.cols")}</label>\n </dt>\n <dd>\n <input type="number" id="redactor-table-cols" class="small" min="1" max="100" value="3" data-dialog-submit-on-enter="true">\n </dd>\n </dl>\n <div class="formSubmit">\n <button id="redactor-modal-button-action" class="buttonPrimary" data-type="submit">${n.get("wcf.global.button.insert")}</button>\n </div>`}}}let a;t.showDialog=function(e){a||(a=new r),a.open(e)}})),define("WoltLabSuite/Core/Ui/Search/Data",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})})),define("WoltLabSuite/Core/Ui/Search/Page",["require","exports","tslib","../../Core","../../Dom/Traverse","../../Dom/Util","../Dropdown/Simple","../Screen","./Input"],(function(e,t,i,n,o,r,a,s,l){"use strict";function c(e){e.preventDefault();const t=document.getElementById("pageHeader");t.classList.add("searchBarForceOpen"),window.setTimeout((()=>{t.classList.remove("searchBarForceOpen")}),10);const i=e.currentTarget,o=i.dataset.objectType,r=document.getElementById("pageHeaderSearchParameters");r.innerHTML="";const a=i.dataset.extendedLink;if(a){document.querySelector(".pageHeaderSearchExtendedLink").href=a}const s=new Map;try{const e=JSON.parse(i.dataset.parameters||"");n.isPlainObject(e)&&Object.keys(e).forEach((t=>{s.set(t,e[t])}))}catch(e){}o&&s.set("types[]",o),s.forEach(((e,t)=>{const i=document.createElement("input");i.type="hidden",i.name=t,i.value=e,r.appendChild(i)}));document.getElementById("pageHeaderSearchInputContainer").querySelector(".pageHeaderSearchType > .button > .pageHeaderSearchTypeLabel").textContent=i.textContent}Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importDefault(a),s=i.__importStar(s),l=i.__importDefault(l),t.init=function(e){const t=document.getElementById("pageHeaderSearchInput");new l.default(t,{ajax:{className:"wcf\\data\\search\\keyword\\SearchKeywordAction"},autoFocus:!1,callbackDropdownInit(e){if(e.classList.add("dropdownMenuPageSearch"),s.is("screen-lg")){e.dataset.dropdownAlignmentHorizontal="right";const i=t.clientWidth;e.style.setProperty("min-width",`${i}px`,"");const n=t.parentElement,o=r.default.offset(n).left+n.clientWidth-(r.default.offset(t).left+i),a=r.default.styleAsInt(window.getComputedStyle(n),"padding-bottom");e.style.setProperty("transform",`translateX(-${Math.ceil(o)}px) translateY(-${a}px)`,"")}},callbackSelect:()=>(setTimeout((()=>{o.parentByTag(t,"FORM").submit()}),1),!0)});const i=document.querySelector(".pageHeaderSearchType"),n=a.default.getDropdownMenu(r.default.identify(i));n.querySelectorAll("a[data-object-type]").forEach((e=>{e.addEventListener("click",c)})),n.querySelector('a[data-object-type="'+e+'"]').click()}})),define("WoltLabSuite/Core/Ui/Smiley/Insert",["require","exports","tslib","../../Core","../../Event/Handler"],(function(e,t,i,n,o){"use strict";n=i.__importStar(n),o=i.__importStar(o);class r{constructor(e){this.editorId=e;let t=document.getElementById("smilies-"+this.editorId);if(!t&&(t=document.getElementById(this.editorId+"SmiliesTabContainer"),!t))throw new Error("Unable to find the message tab menu container containing the smilies.");this.container=t,this.container.addEventListener("keydown",(e=>this.keydown(e))),this.container.addEventListener("mousedown",(e=>this.mousedown(e)))}keydown(e){const t=document.activeElement;if(t.classList.contains("jsSmiley"))if(["ArrowLeft","ArrowRight","End","Home"].includes(e.key)){e.preventDefault();const i=e.currentTarget,n=Array.from(i.querySelectorAll(".jsSmiley"));"ArrowLeft"===e.key&&n.reverse();let o=n.indexOf(t);"Home"===e.key?o=0:"End"===e.key?o=n.length-1:(o+=1,o===n.length&&(o=0)),n[o].focus()}else if("Enter"===e.key||"Space"===e.key){e.preventDefault();const i=t.querySelector("img");this.insert(i)}}mousedown(e){const t=e.target.closest("li");if(t&&this.container.contains(t)){e.preventDefault();const i=t.querySelector("img");i&&this.insert(i)}}insert(e){o.fire("com.woltlab.wcf.redactor2","insertSmiley_"+this.editorId,{img:e})}}return n.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Ui/Style/FontAwesome",["require","exports","tslib","../../Language","../Dialog","../ItemList/Filter"],(function(e,t,i,n,o,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.open=t.setup=void 0,n=i.__importStar(n),o=i.__importDefault(o),r=i.__importDefault(r);class a{constructor(e){this.callback=void 0,this.iconList=void 0,this.itemListFilter=void 0,this.icons=e}open(e){this.callback=e,o.default.open(this)}click(e){e.preventDefault();const t=e.target.closest("li").querySelector("small").textContent.trim();o.default.close(this),this.callback(t)}_dialogSetup(){return{id:"fontAwesomeSelection",options:{onSetup:()=>{this.iconList=document.getElementById("fontAwesomeIcons"),this.iconList.innerHTML=this.icons.map((e=>`<li><span class="icon icon48 fa-${e}"></span><small>${e}</small></li>`)).join(""),this.iconList.addEventListener("click",(e=>this.click(e))),this.itemListFilter=new r.default("fontAwesomeIcons",{callbackPrepareItem:e=>{const t=e.querySelector("small"),i=t.textContent.trim();return{item:e,span:t,text:i}},enableVisibilityFilter:!1,filterPosition:"top"})},onShow:()=>{this.itemListFilter.reset()},title:n.get("wcf.global.fontAwesome.selectIcon")},source:'<ul class="fontAwesomeIcons" id="fontAwesomeIcons"></ul>'}}}let s;t.setup=function(e){s||(s=new a(e))},t.open=function(e){if(!s)throw new Error("Missing icon data, please include the template before calling this method using `{include file='fontAwesomeJavaScript'}`.");s.open(e)}})),define("WoltLabSuite/Core/Ui/Toggle/Input",["require","exports","tslib","../../Core","../../Dom/Util"],(function(e,t,i,n,o){"use strict";n=i.__importStar(n),o=i.__importDefault(o);class r{constructor(e,t){const i=document.querySelector(e);if(null===i)throw new Error("Unable to find element by selector '"+e+"'.");const n="INPUT"===i.nodeName?i.type:"";if("checkbox"!==n&&"radio"!==n)throw new Error("Illegal element, expected input[type='checkbox'] or input[type='radio'].");this.element=i,this.hide=this.getElements("hide",Array.isArray(t.hide)?t.hide:[]),this.hide=this.getElements("show",Array.isArray(t.show)?t.show:[]),this.element.addEventListener("change",(e=>this.change(e))),this.updateVisibility(this.show,this.element.checked),this.updateVisibility(this.hide,!this.element.checked)}getElements(e,t){const i=[];return t.forEach((t=>{let n=null;if("string"==typeof t){if(n=document.querySelector(t),null===n)throw new Error(`Unable to find an element with the selector '${t}'.`)}else{if(!(t instanceof HTMLElement))throw new TypeError(`The array '${e}' may only contain string selectors or DOM elements.`);n=t}i.push(n)})),i}change(e){const t=e.currentTarget.checked;this.updateVisibility(this.show,t),this.updateVisibility(this.hide,!t)}updateVisibility(e,t){e.forEach((e=>{o.default[t?"show":"hide"](e)}))}}return n.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Ui/User/Editor",["require","exports","tslib","../../Ajax","../../Core","../../Dom/Util","../../Language","../../StringUtil","../Dialog","../Notification"],(function(e,t,i,n,o,r,a,s,l,c){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importDefault(l),c=i.__importStar(c);class d{constructor(){this.actionName="",this.header=document.querySelector(".userProfileUser"),["ban","disableAvatar","disableCoverPhoto","disableSignature","enable"].forEach((e=>{const t=document.querySelector(".userProfileButtonMenu .jsButtonUser"+s.ucfirst(e));t&&(t.dataset.action=e,t.addEventListener("click",(e=>this._click(e))))}))}_click(e){e.preventDefault();const t=e.currentTarget.dataset.action||"";let i="";switch(t){case"ban":o.stringToBool(this.header.dataset.banned||"")&&(i="unban");break;case"disableAvatar":o.stringToBool(this.header.dataset.disableAvatar||"")&&(i="enableAvatar");break;case"disableCoverPhoto":o.stringToBool(this.header.dataset.disableCoverPhoto||"")&&(i="enableCoverPhoto");break;case"disableSignature":o.stringToBool(this.header.dataset.disableSignature||"")&&(i="enableSignature");break;case"enable":i=o.stringToBool(this.header.dataset.isDisabled||"")?"enable":"disable"}""===i?(this.actionName=t,l.default.open(this)):n.api(this,{actionName:i})}_submit(e){e.preventDefault();const t=document.getElementById("wcfUiUserEditorExpiresLabel");let i="",o="";if(!document.getElementById("wcfUiUserEditorNeverExpires").checked){i=document.getElementById("wcfUiUserEditorExpiresDatePicker").value,""===i&&(o=a.get("wcf.global.form.error.empty"))}r.default.innerError(t,o);const s={};s[this.actionName+"Expires"]=i;const l=document.getElementById("wcfUiUserEditorReason");s[this.actionName+"Reason"]=l.value.trim(),n.api(this,{actionName:this.actionName,parameters:s})}_ajaxSuccess(e){let t;switch(e.actionName){case"ban":case"unban":{this.header.dataset.banned="ban"===e.actionName?"true":"false",t=document.querySelector(".userProfileButtonMenu .jsButtonUserBan"),t.textContent=a.get("wcf.user."+("ban"===e.actionName?"unban":"ban"));const i=this.header.querySelector(".contentTitle");let n=i.querySelector(".jsUserBanned");"ban"===e.actionName?(n=document.createElement("span"),n.className="icon icon24 fa-lock jsUserBanned jsTooltip",n.title=e.returnValues,i.appendChild(n)):n&&n.remove();break}case"disableAvatar":case"enableAvatar":this.header.dataset.disableAvatar="disableAvatar"===e.actionName?"true":"false",t=document.querySelector(".userProfileButtonMenu .jsButtonUserDisableAvatar"),t.textContent=a.get("wcf.user."+("disableAvatar"===e.actionName?"enable":"disable")+"Avatar");break;case"disableCoverPhoto":case"enableCoverPhoto":this.header.dataset.disableCoverPhoto="disableCoverPhoto"===e.actionName?"true":"false",t=document.querySelector(".userProfileButtonMenu .jsButtonUserDisableCoverPhoto"),t.textContent=a.get("wcf.user."+("disableCoverPhoto"===e.actionName?"enable":"disable")+"CoverPhoto");break;case"disableSignature":case"enableSignature":this.header.dataset.disableSignature="disableSignature"===e.actionName?"true":"false",t=document.querySelector(".userProfileButtonMenu .jsButtonUserDisableSignature"),t.textContent=a.get("wcf.user."+("disableSignature"===e.actionName?"enable":"disable")+"Signature");break;case"enable":case"disable":this.header.dataset.isDisabled="disable"===e.actionName?"true":"false",t=document.querySelector(".userProfileButtonMenu .jsButtonUserEnable"),t.textContent=a.get("wcf.acp.user."+("enable"===e.actionName?"disable":"enable"))}-1!==["ban","disableAvatar","disableCoverPhoto","disableSignature"].indexOf(e.actionName)&&l.default.close(this),c.show()}_ajaxSetup(){return{data:{className:"wcf\\data\\user\\UserAction",objectIDs:[+this.header.dataset.objectId]}}}_dialogSetup(){return{id:"wcfUiUserEditor",options:{onSetup:e=>{const t=document.getElementById("wcfUiUserEditorNeverExpires");t.addEventListener("change",(()=>{const e=document.getElementById("wcfUiUserEditorExpiresSettings");r.default[t.checked?"hide":"show"](e)}));e.querySelector("button.buttonPrimary").addEventListener("click",this._submit.bind(this))},onShow:e=>{l.default.setTitle("wcfUiUserEditor",a.get("wcf.user."+this.actionName+".confirmMessage"));let t=document.getElementById("wcfUiUserEditorReason").nextElementSibling;const i="wcf.user."+this.actionName+".reason.description";t.textContent=a.get(i),t.textContent===i?r.default.hide(t):r.default.show(t),t=document.getElementById("wcfUiUserEditorNeverExpires").nextElementSibling,t.textContent=a.get("wcf.user."+this.actionName+".neverExpires"),t=e.querySelector('label[for="wcfUiUserEditorExpires"]'),t.textContent=a.get("wcf.user."+this.actionName+".expires"),t=document.getElementById("wcfUiUserEditorExpiresLabel"),t.textContent=a.get("wcf.user."+this.actionName+".expires.description")}},source:`<div class="section">\n <dl>\n <dt><label for="wcfUiUserEditorReason">${a.get("wcf.global.reason")}</label></dt>\n <dd><textarea id="wcfUiUserEditorReason" cols="40" rows="3"></textarea><small></small></dd>\n </dl>\n <dl>\n <dt></dt>\n <dd><label><input type="checkbox" id="wcfUiUserEditorNeverExpires" checked> <span></span></label></dd>\n </dl>\n <dl id="wcfUiUserEditorExpiresSettings" style="display: none">\n <dt><label for="wcfUiUserEditorExpires"></label></dt>\n <dd>\n <input type="date" name="wcfUiUserEditorExpires" id="wcfUiUserEditorExpires" class="medium" min="${new Date(1e3*window.TIME_NOW).toISOString()}" data-ignore-timezone="true">\n <small id="wcfUiUserEditorExpiresLabel"></small>\n </dd>\n </dl>\n </div>\n <div class="formSubmit">\n <button class="buttonPrimary">${a.get("wcf.global.button.submit")}</button>\n </div>`}}}t.init=function(){new d}})),define("WoltLabSuite/Core/Ui/User/List",["require","exports","tslib","../../Ajax","../../Core","../../Dom/Util","../Dialog","../Pagination"],(function(e,t,i,n,o,r,a,s){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importDefault(a),s=i.__importDefault(s);class l{constructor(e){this.cache=new Map,this.pageCount=0,this.pageNo=1,this.options=o.extend({className:"",dialogTitle:"",parameters:{}},e)}open(){this.pageNo=1,this.showPage()}showPage(e){if("number"==typeof e&&(this.pageNo=+e),0!==this.pageCount&&(this.pageNo<1||this.pageNo>this.pageCount))throw new RangeError(`pageNo must be between 1 and ${this.pageCount} (${this.pageNo} given).`);if(this.cache.has(this.pageNo)){const e=a.default.open(this,this.cache.get(this.pageNo));if(this.pageCount>1){const t=e.content.querySelector(".jsPagination");null!==t&&new s.default(t,{activePage:this.pageNo,maxPage:this.pageCount,callbackSwitch:this.showPage.bind(this)});const i=e.content.parentElement;i.scrollTop>0&&(i.scrollTop=0)}}else this.options.parameters.pageNo=this.pageNo,n.api(this,{parameters:this.options.parameters})}_ajaxSuccess(e){void 0!==e.returnValues.pageCount&&(this.pageCount=~~e.returnValues.pageCount),this.cache.set(this.pageNo,e.returnValues.template),this.showPage()}_ajaxSetup(){return{data:{actionName:"getGroupedUserList",className:this.options.className,interfaceName:"wcf\\data\\IGroupedUserListAction"}}}_dialogSetup(){return{id:r.default.getUniqueId(),options:{title:this.options.dialogTitle},source:null}}}return o.enableLegacyInheritance(l),l})),define("WoltLabSuite/Core/Ui/User/PasswordStrength",["require","exports","tslib","../../Language","../../Dom/Util"],(function(e,t,i,n,o){"use strict";function r(e){return[].concat(e,e.split(/\W+/))}var a;n=i.__importStar(n),o=i.__importDefault(o);const s=[],l=null===(a=document.querySelector('meta[property="og:site_name"]'))||void 0===a?void 0:a.getAttribute("content");l&&s.push(l);return class{constructor(t,o){this.input=t,this.relatedInputs=[],this.staticDictionary=[],this.score=document.createElement("span"),this.verdictResult=document.createElement("input"),new Promise(((t,i)=>{e(["zxcvbn"],t,i)})).then(i.__importStar).then((({default:e})=>{this.zxcvbn=e,o.relatedInputs&&(this.relatedInputs=o.relatedInputs),o.staticDictionary&&(this.staticDictionary=o.staticDictionary),this.feedbacker=function(e){const t={};return Object.entries(e.default_phrases).forEach((([e,i])=>{t[e]={},Object.entries(i).forEach((([i,o])=>{const r=`wcf.user.password.zxcvbn.${e}.${i}`,a=n.get(r);t[e][i]=a!==r?a:o}))})),new e(t)}(e.Feedback);const t=this.input.closest(".inputAddon");if(null===t)throw new Error("Expected a parent with `.inputAddon`.");this.wrapper=t,this.wrapper.classList.add("inputAddonPasswordStrength");const i=document.createElement("div");i.className="passwordStrengthRating";const r=document.createElement("small");r.textContent=n.get("wcf.user.password.strength"),i.appendChild(r),this.score.className="passwordStrengthScore",this.score.dataset.score="-1",i.appendChild(this.score),this.wrapper.appendChild(i),this.verdictResult.type="hidden",this.verdictResult.name=`${this.input.name}_passwordStrengthVerdict`,this.wrapper.parentNode.insertBefore(this.verdictResult,this.wrapper),this.input.addEventListener("input",(e=>this.evaluate(e))),this.relatedInputs.forEach((e=>e.addEventListener("input",(e=>this.evaluate(e))))),""!==this.input.value.trim()&&this.evaluate()}))}evaluate(e){const t=(i=s.concat(this.staticDictionary,this.relatedInputs.map((e=>e.value.trim()))),n=r,i.map(n).reduce(((e,t)=>e.concat(t)),[])).filter((e=>e.length>0));var i,n;const a=this.input.value.trim(),l=this.zxcvbn(a.substr(0,100),t);l.feedback=this.feedbacker.from_result(l),this.score.dataset.score=0===a.length?"-1":l.score.toString(),void 0!==e&&o.default.innerError(this.wrapper,l.feedback.warning),this.verdictResult.value=JSON.stringify(l)}}})),define("WoltLabSuite/Core/Controller/Condition/Page/Dependence",["require","exports","tslib","../../../Dom/Util","../../../Event/Handler"],(function(e,t,i,n,o){"use strict";function r(){s.forEach((e=>{const t=l.get(e),i=[];a.forEach((e=>{e.checked&&i.push(~~e.value)}));const o=i.filter((e=>t.includes(e)));!i.length||o.length?function(e){n.default.hide(e);c.get(e).forEach((e=>n.default.hide(e))),c.set(e,[])}(e):function(e){n.default.show(e);let t=e;for(;(t=t.parentElement)&&t;)n.default.isHidden(t)&&c.get(e).push(t),n.default.show(t)}(e)})),o.fire("com.woltlab.wcf.pageConditionDependence","checkVisivility")}Object.defineProperty(t,"__esModule",{value:!0}),t.register=void 0,n=i.__importDefault(n),o=i.__importStar(o);const a=Array.from(document.querySelectorAll('input[name="pageIDs[]"]')),s=[],l=new WeakMap,c=new WeakMap;let d=!1;t.register=function(e,t){s.push(e),l.set(e,t),c.set(e,[]),d||(a.forEach((e=>{e.addEventListener("change",(()=>r()))})),d=!0),e.closest("form").addEventListener("submit",(()=>{n.default.isHidden(e)&&e.remove()})),r()}})),define("WoltLabSuite/Core/Controller/Map/Route/Planner",["require","exports","tslib","../../../Ajax/Status","../../../Core","../../../Dom/Util","../../../Language","../../../Ui/Dialog"],(function(e,t,i,n,o,r,a,s){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importStar(a),s=i.__importDefault(s);class l{constructor(e,t){this.didInitDialog=!1,this.directionsRenderer=void 0,this.directionsService=void 0,this.googleLink=void 0,this.lastOrigin=void 0,this.map=void 0,this.originInput=void 0,this.travelMode=void 0;const i=document.getElementById(e);if(null===i)throw new Error(`Unknown button with id '${e}'`);this.button=i,this.button.addEventListener("click",(e=>this.openDialog(e))),this.destination=t}_calculateRoute(e){const t=s.default.getDialog(this).dialog;if(e.label&&(this.originInput.value=e.label),void 0===this.map){const e=t.querySelector(".googleMap");this.map=new google.maps.Map(e,{disableDoubleClickZoom:window.WCF.Location.GoogleMaps.Settings.get("disableDoubleClickZoom"),draggable:window.WCF.Location.GoogleMaps.Settings.get("draggable"),mapTypeId:google.maps.MapTypeId.ROADMAP,scaleControl:window.WCF.Location.GoogleMaps.Settings.get("scaleControl"),scrollwheel:window.WCF.Location.GoogleMaps.Settings.get("scrollwheel")}),this.directionsService=new google.maps.DirectionsService,this.directionsRenderer=new google.maps.DirectionsRenderer,this.directionsRenderer.setMap(this.map);const i=t.querySelector(".googleMapsDirections");this.directionsRenderer.setPanel(i),this.googleLink=t.querySelector(".googleMapsDirectionsGoogleLink")}const i={destination:this.destination,origin:e.location,provideRouteAlternatives:!0,travelMode:google.maps.TravelMode[this.travelMode.value.toUpperCase()]};n.show(),this.directionsService.route(i,((e,t)=>this.setRoute(e,t))),this.googleLink.href=this.getGoogleMapsLink(e.location,this.travelMode.value),this.lastOrigin=e.location}getGoogleMapsLink(e,t){if(e){let i=`https://www.google.com/maps/dir/?api=1&origin=${e.lat()},${e.lng()}&destination=${this.destination.lat()},${this.destination.lng()}`;return t&&(i+=`&travelmode=${t}`),i}return`https://www.google.com/maps/search/?api=1&query=${this.destination.lat()},${this.destination.lng()}`}initDialog(){if(!this.didInitDialog){const e=s.default.getDialog(this).dialog;this.originInput=e.querySelector('input[name="origin"]'),new window.WCF.Location.GoogleMaps.LocationSearch(this.originInput,(e=>this._calculateRoute(e))),this.travelMode=e.querySelector('select[name="travelMode"]'),this.travelMode.addEventListener("change",this.updateRoute.bind(this)),this.didInitDialog=!0}}openDialog(e){e.preventDefault(),s.default.open(this)}setRoute(e,t){n.hide(),"OK"===t?(r.default.show(this.map.getDiv().parentElement),google.maps.event.trigger(this.map,"resize"),this.directionsRenderer.setDirections(e),r.default.show(this.travelMode.closest("dl")),r.default.show(this.googleLink),r.default.innerError(this.originInput,!1)):("OVER_QUERY_LIMIT"!==t&&"REQUEST_DENIED"!==t&&(t=google.maps.DirectionsStatus.NOT_FOUND),r.default.innerError(this.originInput,a.get(`wcf.map.route.error.${t.toLowerCase()}`)))}updateRoute(){this._calculateRoute({location:this.lastOrigin})}_dialogSetup(){return{id:this.button.id+"Dialog",options:{onShow:this.initDialog.bind(this),title:a.get("wcf.map.route.planner")},source:`\n<div class="googleMapsDirectionsContainer" style="display: none;">\n <div class="googleMap"></div>\n <div class="googleMapsDirections"></div>\n</div>\n<small class="googleMapsDirectionsGoogleLinkContainer">\n <a href="${this.getGoogleMapsLink()}" class="googleMapsDirectionsGoogleLink" target="_blank" style="display: none;">${a.get("wcf.map.route.viewOnGoogleMaps")}</a>\n</small>\n<dl>\n <dt>${a.get("wcf.map.route.origin")}</dt>\n <dd>\n <input type="text" name="origin" class="long" autofocus>\n </dd>\n</dl>\n<dl style="display: none;">\n <dt>${a.get("wcf.map.route.travelMode")}</dt>\n <dd>\n <select name="travelMode">\n <option value="driving">${a.get("wcf.map.route.travelMode.driving")}</option>\n <option value="walking">${a.get("wcf.map.route.travelMode.walking")}</option>\n <option value="bicycling">${a.get("wcf.map.route.travelMode.bicycling")}</option>\n <option value="transit">${a.get("wcf.map.route.travelMode.transit")}</option>\n </select>\n </dd>\n</dl>`}}}return o.enableLegacyInheritance(l),l})),define("WoltLabSuite/Core/Controller/User/Notification/Settings",["require","exports","tslib","../../../Language","../../../Ui/Dropdown/Reusable"],(function(e,t,i,n,o){"use strict";function r(e){e.preventDefault(),e.stopPropagation();const t=e.currentTarget;var i,r;l=~~t.dataset.objectId,function(){if(s)return;s=document.createElement("ul"),s.className="dropdownMenu",["instant","daily","divider","none"].forEach((e=>{const t=document.createElement("li");if("divider"===e)t.className="dropdownDivider";else{const i=document.createElement("a");i.href="#",i.textContent=n.get(`wcf.user.notification.mailNotificationType.${e}`),t.appendChild(i),t.dataset.value=e,t.addEventListener("click",(e=>function(e){e.preventDefault();const t=e.currentTarget.dataset.value;a().value=t;const i=document.querySelector(`.notificationSettingsEmailType[data-object-id="${l}"]`);i.title=n.get(`wcf.user.notification.mailNotificationType.${t}`);const o=i.querySelector(".jsIconNotificationSettingsEmailType");switch(o.classList.remove("fa-clock-o","fa-flash","fa-times","green","red"),t){case"daily":o.classList.add("fa-clock-o","green");break;case"instant":o.classList.add("fa-flash","green");break;case"none":o.classList.add("fa-times","red")}l=0}(e)))}s.appendChild(t)})),o.init("UiNotificationSettingsEmailType",s)}(),i=a().value,s.querySelectorAll("li").forEach((e=>{e.dataset.value===i?e.classList.add("active"):e.classList.remove("active")})),r=t,o.toggleDropdown("UiNotificationSettingsEmailType",r)}function a(){return document.getElementById(`settings_${l}_mailNotificationType`)}let s;Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,n=i.__importStar(n),o=i.__importStar(o);let l=0;t.init=function(){document.querySelectorAll(".jsCheckboxNotificationSettingsState").forEach((e=>{e.addEventListener("change",(e=>function(e){const t=e.currentTarget,i=~~t.dataset.objectId,n=document.querySelector(`.notificationSettingsEmailType[data-object-id="${i}"]`);null!==n&&(t.checked?n.classList.remove("disabled"):n.classList.add("disabled"))}(e)))})),document.querySelectorAll(".notificationSettingsEmailType").forEach((e=>{e.addEventListener("click",(e=>r(e)))}))}})),define("WoltLabSuite/Core/Form/Builder/Container/SuffixFormField",["require","exports","tslib","../../../Ui/Dropdown/Simple","../../../Event/Handler","../../../Core"],(function(e,t,i,n,o,r){"use strict";n=i.__importDefault(n),o=i.__importStar(o),r=i.__importStar(r);class a{constructor(e,t){this._formId=e,this._suffixField=document.getElementById(t),this._suffixDropdownMenu=n.default.getDropdownMenu(t+"_dropdown"),this._suffixDropdownToggle=n.default.getDropdown(t+"_dropdown").getElementsByClassName("dropdownToggle")[0],Array.from(this._suffixDropdownMenu.children).forEach((e=>{e.addEventListener("click",(e=>this._changeSuffixSelection(e)))})),o.add("WoltLabSuite/Core/Form/Builder/Manager","afterUnregisterForm",(e=>this._destroyDropdown(e)))}_changeSuffixSelection(e){const t=e.currentTarget;t.classList.contains("disabled")||(Array.from(this._suffixDropdownMenu.children).forEach((e=>{e===t?e.classList.add("active"):e.classList.remove("active")})),this._suffixField.value=t.dataset.value,this._suffixDropdownToggle.innerHTML=t.dataset.label+' <span class="icon icon16 fa-caret-down pointer"></span>')}_destroyDropdown(e){e.formId===this._formId&&n.default.destroy(this._suffixDropdownMenu.id)}}return r.enableLegacyInheritance(a),a})),define("WoltLabSuite/Core/Form/Builder/Field/Acl",["require","exports","tslib","./Field","../../../Core"],(function(e,t,i,n,o){"use strict";n=i.__importDefault(n),o=i.__importStar(o);class r extends n.default{_getData(){return{[this._fieldId]:this._aclList.getData()}}_readField(){}setAclList(e){return this._aclList=e,this}}return o.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Form/Builder/Field/Button",["require","exports","tslib","./Field"],(function(e,t,i,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Button=void 0,n=i.__importDefault(n);class o extends n.default{_getData(){const e={};return"1"===this._field.dataset.isClicked&&(e[this._fieldId]=this._field.value),e}}t.Button=o,t.default=o})),define("WoltLabSuite/Core/Form/Builder/Field/Captcha",["require","exports","tslib","./Field","../../../Controller/Captcha","../../../Core"],(function(e,t,i,n,o,r){"use strict";n=i.__importDefault(n),o=i.__importDefault(o),r=i.__importStar(r);class a extends n.default{_getData(){return o.default.has(this._fieldId)?o.default.getData(this._fieldId):{}}_readField(){}destroy(){o.default.has(this._fieldId)&&o.default.delete(this._fieldId)}}return r.enableLegacyInheritance(a),a})),define("WoltLabSuite/Core/Form/Builder/Field/Checkboxes",["require","exports","tslib","./Field","../../../Core"],(function(e,t,i,n,o){"use strict";n=i.__importDefault(n),o=i.__importStar(o);class r extends n.default{_getData(){const e=this._fields.map((e=>e.checked?e.value:null)).filter((e=>null!==e));return{[this._fieldId]:e}}_readField(){this._fields=Array.from(document.querySelectorAll(`input[name="${this._fieldId}[]"]`))}}return o.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Form/Builder/Field/Checked",["require","exports","tslib","./Field","../../../Core"],(function(e,t,i,n,o){"use strict";n=i.__importDefault(n),o=i.__importStar(o);class r extends n.default{_getData(){return{[this._fieldId]:this._field.checked?1:0}}}return o.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Form/Builder/Field/Date",["require","exports","tslib","./Field","../../../Date/Picker","../../../Core"],(function(e,t,i,n,o,r){"use strict";n=i.__importDefault(n),o=i.__importDefault(o),r=i.__importStar(r);class a extends n.default{_getData(){return{[this._fieldId]:o.default.getValue(this._field)}}}return r.enableLegacyInheritance(a),a})),define("WoltLabSuite/Core/Form/Builder/Field/ItemList",["require","exports","tslib","./Field","../../../Ui/ItemList/Static","../../../Core"],(function(e,t,i,n,o,r){"use strict";n=i.__importDefault(n),o=i.__importStar(o),r=i.__importStar(r);class a extends n.default{_getData(){const e=[];return o.getValues(this._fieldId).forEach((t=>{t.objectId?e[t.objectId]=t.value:e.push(t.value)})),{[this._fieldId]:e}}}return r.enableLegacyInheritance(a),a})),define("WoltLabSuite/Core/Form/Builder/Field/RadioButton",["require","exports","tslib","./Field","../../../Core"],(function(e,t,i,n,o){"use strict";n=i.__importDefault(n),o=i.__importStar(o);class r extends n.default{_getData(){const e={};return this._fields.some((t=>!!t.checked&&(e[this._fieldId]=t.value,!0))),e}_readField(){this._fields=Array.from(document.querySelectorAll("input[name="+this._fieldId+"]"))}}return o.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Form/Builder/Field/SimpleAcl",["require","exports","tslib","./Field","../../../Core"],(function(e,t,i,n,o){"use strict";n=i.__importDefault(n),o=i.__importStar(o);class r extends n.default{_getData(){const e=Array.from(document.querySelectorAll('input[name="'+this._fieldId+'[group][]"]')).map((e=>e.value)),t=Array.from(document.querySelectorAll('input[name="'+this._fieldId+'[user][]"]')).map((e=>e.value));return{[this._fieldId]:{group:e,user:t}}}_readField(){}}return o.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Form/Builder/Field/Tag",["require","exports","tslib","./Field","../../../Ui/ItemList","../../../Core"],(function(e,t,i,n,o,r){"use strict";n=i.__importDefault(n),o=i.__importStar(o),r=i.__importStar(r);class a extends n.default{_getData(){const e=o.getValues(this._fieldId).map((e=>e.value));return{[this._fieldId]:e}}}return r.enableLegacyInheritance(a),a})),define("WoltLabSuite/Core/Form/Builder/Field/User",["require","exports","tslib","./Field","../../../Core","../../../Ui/ItemList"],(function(e,t,i,n,o,r){"use strict";n=i.__importDefault(n),o=i.__importStar(o),r=i.__importStar(r);class a extends n.default{_getData(){const e=r.getValues(this._fieldId).map((e=>e.value));return{[this._fieldId]:e.join(",")}}}return o.enableLegacyInheritance(a),a})),define("WoltLabSuite/Core/Form/Builder/Field/Value",["require","exports","tslib","./Field","../../../Core"],(function(e,t,i,n,o){"use strict";n=i.__importDefault(n),o=i.__importStar(o);class r extends n.default{_getData(){return{[this._fieldId]:this._field.value}}}return o.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Form/Builder/Field/ValueI18n",["require","exports","tslib","./Field","../../../Language/Input","../../../Core"],(function(e,t,i,n,o,r){"use strict";n=i.__importDefault(n),o=i.__importStar(o),r=i.__importStar(r);class a extends n.default{_getData(){const e={},t=o.getValues(this._fieldId);return t.size>1?t.forEach(((t,i)=>{e[this._fieldId+"_i18n"][i]=t})):e[this._fieldId]=t.get(0),e}destroy(){o.unregister(this._fieldId)}}return r.enableLegacyInheritance(a),a})),define("WoltLabSuite/Core/Ui/Comment/Response/Add",["require","exports","tslib","../../../Core","../../../Dom/Change/Listener","../../../Dom/Util","../../../Language","../Add","../../Notification"],(function(e,t,i,n,o,r,a,s,l){"use strict";n=i.__importStar(n),o=i.__importDefault(o),r=i.__importDefault(r),a=i.__importStar(a),s=i.__importDefault(s),l=i.__importStar(l);class c extends s.default{constructor(e,t){super(e),this._options=n.extend({callbackInsert:null},t)}getContainer(){return this._container}getContent(){return window.jQuery(this._textarea).redactor("code.get")}setContent(e){window.jQuery(this._textarea).redactor("code.set",e),window.jQuery(this._textarea).redactor("WoltLabCaret.endOfEditor");const t=this._textarea.parentElement.querySelector(".innerError");null!==t&&t.remove(),this._content.classList.remove("collapsed"),this._focusEditor()}_getParameters(){const e=super._getParameters(),t=this._container.closest(".comment");return e.data.commentID=~~t.dataset.objectId,e}_insertMessage(e){const t=this._container.parentElement.querySelector(".commentContent");let i=t.nextElementSibling;return null!==i&&i.classList.contains("commentResponseList")||(i=document.createElement("ul"),i.className="containerList commentResponseList",i.dataset.responses="0",t.insertAdjacentElement("afterend",i)),r.default.insertHtml(e.returnValues.template,i,"append"),l.show(a.get("wcf.global.success.add")),o.default.trigger(),window.jQuery(this._textarea).redactor("code.set",""),null!==this._options.callbackInsert&&this._options.callbackInsert(),i.dataset.responses=i.children.length.toString(),i.lastElementChild}_ajaxSetup(){const e=super._ajaxSetup();return e.data.actionName="addResponse",e}}return n.enableLegacyInheritance(c),c})),define("WoltLabSuite/Core/Ui/Comment/Response/Edit",["require","exports","tslib","../../../Ajax","../../../Core","../../../Dom/Change/Listener","../../../Dom/Util","../Edit","../../Notification"],(function(e,t,i,n,o,r,a,s,l){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importDefault(a),s=i.__importDefault(s),l=i.__importStar(l);class c extends s.default{constructor(e){super(e),this._responses=new WeakSet,this.rebuildResponses(),r.default.add("Ui/Comment/Response/Edit_"+a.default.identify(this._container),(()=>this.rebuildResponses()))}rebuild(){}rebuildResponses(){this._container.querySelectorAll(".commentResponse").forEach((e=>{if(!this._responses.has(e)){if(o.stringToBool(e.dataset.canEdit||"")){const t=e.querySelector(".jsCommentResponseEditButton");null!==t&&t.addEventListener("click",(e=>this._click(e)))}this._responses.add(e)}}))}_click(e){if(e.preventDefault(),null===this._activeElement){const t=e.currentTarget;this._activeElement=t.closest(".commentResponse"),this._prepare(),n.api(this,{actionName:"beginEdit",objectIDs:[this._getObjectId(this._activeElement)]})}else l.show("wcf.message.error.editorAlreadyInUse",null,"warning")}_prepare(){this._editorContainer=document.createElement("div"),this._editorContainer.className="commentEditorContainer",this._editorContainer.innerHTML='<span class="icon icon48 fa-spinner"></span>';const e=this._activeElement.querySelector(".commentResponseContent");e.insertBefore(this._editorContainer,e.firstChild)}_showMessage(e){const t=this._editorContainer.parentElement;a.default.setInnerHtml(t.querySelector(".commentResponseContent .userMessage"),e.returnValues.message),this._restoreMessage(),l.show()}_getEditorId(){return`commentResponseEditor${this._getObjectId(this._activeElement)}`}_ajaxSetup(){return{data:{className:"wcf\\data\\comment\\response\\CommentResponseAction",parameters:{data:{objectTypeID:~~this._container.dataset.objectTypeId}}},silent:!0}}}return o.enableLegacyInheritance(c),c})),define("WoltLabSuite/Core/Ui/Message/InlineEditor/Data",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})})),define("WoltLabSuite/Core/Ui/Moderation/Clipboard/AssignUser",["require","exports","tslib","../../../Event/Handler","../../Notification","../../../User","../../../StringUtil","../../../Language","../../User/Search/Input","../../../Dom/Traverse","../../../Ajax","../../../Dom/Util","../../Dialog"],(function(e,t,i,n,o,r,a,s,l,c,d,u,h){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importDefault(l),c=i.__importStar(c),d=i.__importStar(d),u=i.__importDefault(u),h=i.__importDefault(h);class p{constructor(){this.queueIds=[]}_ajaxFailure(e){var t;if("assignedUsername"===(null===(t=e.returnValues)||void 0===t?void 0:t.fieldName)){let t="";const i=h.default.getDialog(this).content.querySelector("input[name=assignedUsername]"),n=e.returnValues.errorType;switch(n){case"empty":t=s.get("wcf.global.form.error.empty");break;case"notAffected":t=s.get("wcf.moderation.assignedUser.error.notAffected");break;default:t=s.get(`wcf.user.username.error.${n}`,{username:i.value})}return u.default.innerError(i,t),!1}return!0}_ajaxSetup(){return{data:{actionName:"assignUserByClipboard",className:"wcf\\data\\moderation\\queue\\ModerationQueueAction"}}}_ajaxSuccess(){h.default.close(this),o.show(void 0,(()=>window.location.reload()))}_dialogSetup(){const e=()=>this.submitDialog();return{id:"moderationQueueClipboardAssignUser",options:{onSetup(t){const i=t.querySelector("input[name=assignedUsername]");new l.default(i,{}),i.addEventListener("click",(e=>{c.prevBySel(e.currentTarget,"input[name=assignedUserID]").click()})),t.querySelector("button[data-type=submit]").addEventListener("click",e)},onShow(e){const t=e.querySelector("input[name=assignedUsername]");e.querySelectorAll("input[name=assignedUserID]").forEach((e=>e.checked=e.defaultChecked)),t.value="",u.default.innerError(t,"")},title:s.get("wcf.moderation.assignedUser.change")},source:`\n<div class="section">\n <dl>\n <dt>${s.get("wcf.moderation.assignedUser")}</dt>\n <dd>\n <ul>\n <li>\n <label>\n <input type="radio" name="assignedUserID" value="${r.default.userId}" checked>\n ${a.escapeHTML(r.default.username)}\n </label>\n </li>\n <li>\n <label>\n <input type="radio" name="assignedUserID" value="0">\n ${s.get("wcf.moderation.assignedUser.nobody")}\n </label>\n </li>\n <li>\n <input type="radio" name="assignedUserID" value="-1">\n <input type="text" name="assignedUsername" value="">\n </li>\n </ul>\n </dd>\n </dl>\n</div>\n<div class="formSubmit">\n <button class="buttonPrimary" data-type="submit">${s.get("wcf.global.button.save")}</button>\n</div>`}}showDialog(e){this.queueIds=e,h.default.open(this)}submitDialog(){const e=h.default.getDialog(this).content,t=e.querySelector("input[name=assignedUserID]:checked"),i=e.querySelector("input[name=assignedUsername]");d.api(this,{objectIDs:this.queueIds,parameters:{assignedUserID:t.value,assignedUsername:i.value}})}}let m=!1;t.setup=function(){if(m)return;const e=new p;n.add("com.woltlab.wcf.clipboard","com.woltlab.wcf.moderation.queue",(t=>{"com.woltlab.wcf.moderation.queue.assignUserByClipboard"===t.data.actionName&&null===t.responseData&&e.showDialog(t.data.parameters.objectIDs)})),m=!0}})),define("WoltLabSuite/Core/Ui/Page/Header/Fixed",["require","exports","tslib","../../../Event/Handler","../../Alignment","../../CloseOverlay","../../Dropdown/Simple","../../Screen"],(function(e,t,i,n,o,r,a,s){"use strict";function l(){h=document.getElementById("pageHeaderSearch"),h.addEventListener("click",(e=>e.stopPropagation())),u=document.getElementById("pageHeaderPanel"),p=document.getElementById("pageHeaderSearchInput"),m=document.getElementById("topMenu"),f=document.getElementById("userPanelSearchButton"),f.addEventListener("click",(e=>{e.preventDefault(),e.stopPropagation(),d.classList.contains("searchBarOpen")?c():function(){window.WCF.Dropdown.Interactive.Handler.closeAll(),d.classList.add("searchBarOpen"),f.parentElement.classList.add("open"),g||o.set(h,m,{horizontal:"right"});h.style.setProperty("top",`${u.clientHeight}px`,""),p.focus(),window.setTimeout((()=>{p.selectionStart=p.selectionEnd=p.value.length}),1)}()})),r.default.add("WoltLabSuite/Core/Ui/Page/Header/Fixed",(()=>{d.classList.contains("searchBarForceOpen")||c()})),n.add("com.woltlab.wcf.MainMenuMobile","more",(e=>{"com.woltlab.wcf.search"===e.identifier&&(e.handler.close(!0),f.click())}))}function c(){d.classList.remove("searchBarOpen"),f.parentElement.classList.remove("open"),["bottom","left","right","top"].forEach((e=>{h.style.removeProperty(e)})),p.blur();const e=h.querySelector(".pageHeaderSearchType");a.default.close(e.id)}Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importDefault(a),s=i.__importStar(s);let d,u,h,p,m,f,g=!1;t.init=function(){d=document.getElementById("pageHeader"),l(),s.on("screen-md-down",{match(){g=!0},unmatch(){g=!1},setup(){g=!0}}),n.add("com.woltlab.wcf.Search","close",c)}})),define("WoltLabSuite/Core/Ui/Page/Search/Input",["require","exports","tslib","../../../Core","../../Search/Input"],(function(e,t,i,n,o){"use strict";n=i.__importStar(n),o=i.__importDefault(o);class r extends o.default{constructor(e,t){if("function"!=typeof t.callbackSuccess)throw new Error("Expected a valid callback function for 'callbackSuccess'.");super(e,t=n.extend({ajax:{className:"wcf\\data\\page\\PageAction"}},t)),this.callbackSuccess=t.callbackSuccess,this.pageId=0}setPageId(e){this.pageId=e}getParameters(e){const t=super.getParameters(e);return t.objectIDs=[this.pageId],t}_ajaxSuccess(e){this.callbackSuccess(e)}}return n.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Ui/Page/Search/Handler",["require","exports","tslib","../../../Language","../../../StringUtil","../../../Dom/Util","../../Dialog","./Input"],(function(e,t,i,n,o,r,a,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.open=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importDefault(a),s=i.__importDefault(s);class l{constructor(){this.callbackSuccess=void 0,this.resultList=void 0,this.resultListContainer=void 0,this.searchInput=void 0,this.searchInputHandler=void 0,this.searchInputLabel=void 0}open(e,t,i,o){this.callbackSuccess=i,a.default.open(this),a.default.setTitle(this,t),this.searchInputLabel.textContent=n.get(o||"wcf.page.pageObjectID.search.terms"),this._getSearchInputHandler().setPageId(e)}buildList(e){this.resetList(),Array.isArray(e.returnValues)&&0!==e.returnValues.length?(e.returnValues.forEach((e=>{let t=e.image;/^fa-/.test(t)&&(t=`<span class="icon icon48 ${t} pointer jsTooltip" title="${n.get("wcf.global.select")}"></span>`);const i=document.createElement("li");i.dataset.objectId=e.objectID.toString();const r=e.description?`<p>${e.description}</p>`:"";i.innerHTML=`<div class="box48">\n ${t}\n <div>\n <div class="containerHeadline">\n <h3>\n <a href="${o.escapeHTML(e.link)}">${o.escapeHTML(e.title)}</a>\n </h3>\n ${r}\n </div>\n </div>\n </div>`,i.addEventListener("click",this.click.bind(this)),this.resultList.appendChild(i)})),r.default.show(this.resultListContainer)):r.default.innerError(this.searchInput,n.get("wcf.page.pageObjectID.search.noResults"))}resetList(){r.default.innerError(this.searchInput,!1),this.resultList.innerHTML="",r.default.hide(this.resultListContainer)}_getSearchInputHandler(){if(!this.searchInputHandler){const e=document.getElementById("wcfUiPageSearchInput");this.searchInputHandler=new s.default(e,{callbackSuccess:this.buildList.bind(this)})}return this.searchInputHandler}click(e){if("A"===e.target.nodeName)return;e.stopPropagation();const t=e.currentTarget;this.callbackSuccess(+t.dataset.objectId),a.default.close(this)}_dialogSetup(){return{id:"wcfUiPageSearchHandler",options:{onShow:e=>{this.searchInput||(this.searchInput=document.getElementById("wcfUiPageSearchInput"),this.searchInputLabel=e.querySelector('label[for="wcfUiPageSearchInput"]'),this.resultList=document.getElementById("wcfUiPageSearchResultList"),this.resultListContainer=document.getElementById("wcfUiPageSearchResultListContainer")),this.searchInput.value="",r.default.hide(this.resultListContainer),this.resultList.innerHTML="",this.searchInput.focus()},title:""},source:`<div class="section">\n <dl>\n <dt>\n <label for="wcfUiPageSearchInput">${n.get("wcf.page.pageObjectID.search.terms")}</label>\n </dt>\n <dd>\n <input type="text" id="wcfUiPageSearchInput" class="long">\n </dd>\n </dl>\n </div>\n <section id="wcfUiPageSearchResultListContainer" class="section sectionContainerList">\n <header class="sectionHeader">\n <h2 class="sectionTitle">${n.get("wcf.page.pageObjectID.search.results")}</h2>\n </header>\n <ul id="wcfUiPageSearchResultList" class="containerList wcfUiPageSearchResultList"></ul>\n </section>`}}}let c;t.open=function(e,t,i,n){(c||(c=new l),c).open(e,t,i,n)}})),define("WoltLabSuite/Core/Ui/Reaction/Profile/Loader",["require","exports","tslib","../../../Ajax","../../../Core","../../../Dom/Util","../../../Language"],(function(e,t,i,n,o,r,a){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importStar(a);class s{constructor(e){if(this._reactionTypeID=null,this._targetType="received",this._container=document.getElementById("likeList"),this._userID=e,this._options={parameters:{}},!this._userID)throw new Error("[WoltLabSuite/Core/Ui/Reaction/Profile/Loader] Invalid parameter 'userID' given.");const t=document.createElement("li");t.className="likeListMore showMore",this._noMoreEntries=document.createElement("small"),this._noMoreEntries.innerHTML=a.get("wcf.like.reaction.noMoreEntries"),this._noMoreEntries.style.display="none",t.appendChild(this._noMoreEntries),this._loadButton=document.createElement("button"),this._loadButton.className="small",this._loadButton.innerHTML=a.get("wcf.like.reaction.more"),this._loadButton.addEventListener("click",(()=>this._loadReactions())),this._loadButton.style.display="none",t.appendChild(this._loadButton),this._container.appendChild(t),2===document.querySelectorAll("#likeList > li").length?this._noMoreEntries.style.display="":this._loadButton.style.display="",this._setupReactionTypeButtons(),this._setupTargetTypeButtons()}_setupReactionTypeButtons(){document.querySelectorAll("#reactionType .button").forEach((e=>{e.addEventListener("click",(()=>this._changeReactionTypeValue(~~e.dataset.reactionTypeId)))}))}_setupTargetTypeButtons(){document.querySelectorAll("#likeType .button").forEach((e=>{e.addEventListener("click",(()=>this._changeTargetType(e.dataset.likeType)))}))}_changeTargetType(e){if("given"!==e&&"received"!==e)throw new Error("[WoltLabSuite/Core/Ui/Reaction/Profile/Loader] Invalid parameter 'targetType' given.");e!==this._targetType&&(document.querySelector("#likeType .button.active").classList.remove("active"),document.querySelector(`#likeType .button[data-like-type="${e}"]`).classList.add("active"),this._targetType=e,this._reload())}_changeReactionTypeValue(e){const t=document.querySelector("#reactionType .button.active");t&&t.classList.remove("active"),this._reactionTypeID!==e?(document.querySelector(`#reactionType .button[data-reaction-type-id="${e}"]`).classList.add("active"),this._reactionTypeID=e):this._reactionTypeID=null,this._reload()}_reload(){document.querySelectorAll("#likeList > li:not(:first-child):not(:last-child)").forEach((e=>e.remove())),this._container.dataset.lastLikeTime="0",this._loadReactions()}_loadReactions(){this._options.parameters.userID=this._userID,this._options.parameters.lastLikeTime=~~this._container.dataset.lastLikeTime,this._options.parameters.targetType=this._targetType,this._options.parameters.reactionTypeID=~~this._reactionTypeID,n.api(this,{parameters:this._options.parameters})}_ajaxSuccess(e){e.returnValues.template?(document.querySelector("#likeList > li:nth-last-child(1)").insertAdjacentHTML("beforebegin",e.returnValues.template),this._container.dataset.lastLikeTime=e.returnValues.lastLikeTime.toString(),r.default.hide(this._noMoreEntries),r.default.show(this._loadButton)):(r.default.show(this._noMoreEntries),r.default.hide(this._loadButton))}_ajaxSetup(){return{data:{actionName:"load",className:"\\wcf\\data\\reaction\\ReactionAction"}}}}return o.enableLegacyInheritance(s),s})),define("WoltLabSuite/Core/Ui/User/Activity/Recent",["require","exports","tslib","../../../Ajax","../../../Core","../../../Language","../../../Dom/Util"],(function(e,t,i,n,o,r,a){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importDefault(a);class s{constructor(e){this.containerId=e;const t=document.getElementById(this.containerId);this.list=t.querySelector(".recentActivityList");const i=document.createElement("li");if(i.className="showMore",this.list.childElementCount){i.innerHTML='<button class="small">'+r.get("wcf.user.recentActivity.more")+"</button>";i.children[0].addEventListener("click",(e=>this.showMore(e)))}else i.innerHTML="<small>"+r.get("wcf.user.recentActivity.noMoreEntries")+"</small>";this.list.appendChild(i),this.showMoreItem=i,t.querySelectorAll(".jsRecentActivitySwitchContext .button").forEach((e=>{e.addEventListener("click",(t=>{t.preventDefault(),e.classList.contains("active")||this.switchContext()}))}))}showMore(e){e.preventDefault();this.showMoreItem.children[0].disabled=!0,n.api(this,{actionName:"load",parameters:{boxID:~~this.list.dataset.boxId,filteredByFollowedUsers:o.stringToBool(this.list.dataset.filteredByFollowedUsers||""),lastEventId:this.list.dataset.lastEventId,lastEventTime:this.list.dataset.lastEventTime,userID:~~this.list.dataset.userId}})}switchContext(){n.api(this,{actionName:"switchContext"},(()=>{window.location.hash=`#${this.containerId}`,window.location.reload()}))}_ajaxSuccess(e){if(e.returnValues.template){a.default.insertHtml(e.returnValues.template,this.showMoreItem,"before"),this.list.dataset.lastEventTime=e.returnValues.lastEventTime.toString(),this.list.dataset.lastEventId=e.returnValues.lastEventID.toString();this.showMoreItem.children[0].disabled=!1}else this.showMoreItem.innerHTML="<small>"+r.get("wcf.user.recentActivity.noMoreEntries")+"</small>"}_ajaxSetup(){return{data:{className:"wcf\\data\\user\\activity\\event\\UserActivityEventAction"}}}}return o.enableLegacyInheritance(s),s})),define("WoltLabSuite/Core/Ui/User/CoverPhoto/Delete",["require","exports","tslib","../../../Ajax","../../../Dom/Util","../../../Event/Handler","../../../Language","../../Confirmation","../../Notification"],(function(e,t,i,n,o,r,a,s,l){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,n=i.__importStar(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importStar(l);class c{constructor(e){this.button=document.querySelector(".jsButtonDeleteCoverPhoto"),this.button.addEventListener("click",(e=>this._click(e))),this.userId=e,r.add("com.woltlab.wcf.user","coverPhoto",(e=>{"string"==typeof e.url&&e.url.length>0&&o.default.show(this.button.parentElement)}))}_click(e){e.preventDefault(),s.show({confirm:()=>n.api(this),message:a.get("wcf.user.coverPhoto.delete.confirmMessage")})}_ajaxSuccess(e){document.querySelector(".userProfileCoverPhoto").style.setProperty("background-image",`url(${e.returnValues.url})`,""),o.default.hide(this.button.parentElement),l.show()}_ajaxSetup(){return{data:{actionName:"deleteCoverPhoto",className:"wcf\\data\\user\\UserProfileAction",parameters:{userID:this.userId}}}}}let d;t.init=function(e){d||(d=new c(e))}})),define("WoltLabSuite/Core/Ui/User/CoverPhoto/Upload",["require","exports","tslib","../../../Core","../../../Dom/Util","../../../Event/Handler","../../Dialog","../../Notification","../../../Upload"],(function(e,t,i,n,o,r,a,s,l){"use strict";n=i.__importStar(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importDefault(l);class c extends l.default{constructor(e){super("coverPhotoUploadButtonContainer","coverPhotoUploadPreview",{action:"uploadCoverPhoto",className:"wcf\\data\\user\\UserProfileAction"}),this.userId=e}_getParameters(){return{userID:this.userId}}_success(e,t){if(o.default.innerError(this._button,t.returnValues.errorMessage),this._target.innerHTML="",t.returnValues.url){document.querySelector(".userProfileCoverPhoto").style.setProperty("background-image",`url(${t.returnValues.url})`,""),a.close("userProfileCoverPhotoUpload"),s.show(),r.fire("com.woltlab.wcf.user","coverPhoto",{url:t.returnValues.url})}}}return n.enableLegacyInheritance(c),c})),define("WoltLabSuite/Core/Ui/User/Ignore/List",["require","exports","tslib","../../../Form/Builder/Dialog","../../../Language","../../Notification"],(function(e,t,i,n,o,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UiUserIgnoreList=void 0,n=i.__importDefault(n),o=i.__importStar(o),r=i.__importStar(r);class a{constructor(){this.dialogs=new Map,document.querySelectorAll(".jsEditIgnoreButton").forEach((e=>e.addEventListener("click",(e=>this.openDialog(e)))))}openDialog(e){const t=~~e.currentTarget.closest(".jsIgnoredUser").dataset.objectId;this.dialogs.has(t)||this.dialogs.set(t,new n.default("ignoreDialog","wcf\\data\\user\\ignore\\UserIgnoreAction","getDialog",{dialog:{title:o.get("wcf.user.button.ignore")},actionParameters:{userID:t},submitActionName:"submitDialog",successCallback(e){r.show(void 0,(()=>{e.isIgnoredUser||window.location.reload()}))}})),this.dialogs.get(t).open()}}t.UiUserIgnoreList=a,t.default=a})),define("WoltLabSuite/Core/Ui/User/Session/Delete",["require","exports","tslib","../../../Ajax","../../Notification","../../Confirmation","../../../Language"],(function(e,t,i,n,o,r,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UiUserSessionDelete=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a);class s{constructor(){this.knownElements=new Map,document.querySelectorAll(".sessionDeleteButton").forEach((e=>{if(!e.dataset.sessionId)throw new Error("No sessionId for session delete button given.");this.knownElements.has(e.dataset.sessionId)||(e.addEventListener("click",(t=>this.delete(e,t))),this.knownElements.set(e.dataset.sessionId,e))}))}delete(e,t){t.preventDefault(),r.show({message:a.get("wcf.user.security.deleteSession.confirmMessage"),confirm:t=>{n.api(this,{sessionID:e.dataset.sessionId})}})}_ajaxSuccess(e){const t=this.knownElements.get(e.sessionID);if(void 0!==t){const e=t.closest("li");null!==e&&e.remove()}o.show()}_ajaxSetup(){return{url:"index.php?delete-session/&t="+window.SECURITY_TOKEN}}}t.UiUserSessionDelete=s,t.default=s})),define("WoltLabSuite/Core/Ui/User/Trophy/List",["require","exports","tslib","../../../Ajax","../../../Core","../../../Dom/Change/Listener","../../Dialog","../../Pagination"],(function(e,t,i,n,o,r,a,s){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importDefault(a),s=i.__importDefault(s);class l{constructor(e,t){this.pageCount=e,this.title=t,this.cache=new Map}has(e){return this.cache.has(e)}get(e){return this.cache.get(e)}set(e,t){this.cache.set(e,t)}}class c{constructor(){this.cache=new Map,this.currentPageNo=0,this.currentUser=0,this.knownElements=new WeakSet,r.default.add("WoltLabSuite/Core/Ui/User/Trophy/List",(()=>this.rebuild())),this.rebuild()}rebuild(){document.querySelectorAll(".userTrophyOverlayList").forEach((e=>{this.knownElements.has(e)||(e.addEventListener("click",(t=>this.open(e,t))),this.knownElements.add(e))}))}open(e,t){t.preventDefault(),this.currentPageNo=1,this.currentUser=+e.dataset.userId,this.showPage()}showPage(e){void 0!==e&&(this.currentPageNo=e);const t=this.cache.get(this.currentUser);if(t&&0!==t.pageCount&&(this.currentPageNo<1||this.currentPageNo>t.pageCount))throw new RangeError(`pageNo must be between 1 and ${t.pageCount} (${this.currentPageNo} given).`);if(t&&t.has(this.currentPageNo)){const e=a.default.open(this,t.get(this.currentPageNo));if(a.default.setTitle("userTrophyListOverlay",t.title),t.pageCount>1){const i=e.content.querySelector(".jsPagination");null!==i&&new s.default(i,{activePage:this.currentPageNo,maxPage:t.pageCount,callbackSwitch:this.showPage.bind(this)})}}else n.api(this,{parameters:{pageNo:this.currentPageNo,userID:this.currentUser}})}_ajaxSuccess(e){let t;void 0!==e.returnValues.pageCount?(t=new l(+e.returnValues.pageCount,e.returnValues.title),this.cache.set(this.currentUser,t)):t=this.cache.get(this.currentUser),t.set(this.currentPageNo,e.returnValues.template),this.showPage()}_ajaxSetup(){return{data:{actionName:"getGroupedUserTrophyList",className:"wcf\\data\\user\\trophy\\UserTrophyAction"}}}_dialogSetup(){return{id:"userTrophyListOverlay",options:{title:""},source:null}}}return o.enableLegacyInheritance(c),c})),define("WoltLabSuite/Core/Form/Builder/Field/Controller/Label",["require","exports","tslib","../../../../Core","../../../../Dom/Util","../../../../Language","../../../../Ui/Dropdown/Simple"],(function(e,t,i,n,o,r,a){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importDefault(a);class s{constructor(e,t,i){this._formFieldContainer=document.getElementById(e+"Container"),this._labelChooser=this._formFieldContainer.getElementsByClassName("labelChooser")[0],this._options=n.extend({forceSelection:!1,showWithoutSelection:!1},i),this._input=document.createElement("input"),this._input.type="hidden",this._input.id=e,this._input.name=e,this._input.value=t,this._formFieldContainer.appendChild(this._input);const s=o.identify(this._labelChooser);let l=a.default.getDropdownMenu(s);null===l&&(a.default.init(this._labelChooser.getElementsByClassName("dropdownToggle")[0]),l=a.default.getDropdownMenu(s));let c=null;if(this._options.showWithoutSelection||!this._options.forceSelection){c=document.createElement("ul"),l.appendChild(c);const e=document.createElement("li");e.classList.add("dropdownDivider"),c.appendChild(e)}if(this._options.showWithoutSelection){const e=document.createElement("li");e.dataset.labelId="-1",this._blockScroll(e),c.appendChild(e);const t=document.createElement("span");e.appendChild(t);const i=document.createElement("span");i.classList.add("badge","label"),i.innerHTML=r.get("wcf.label.withoutSelection"),t.appendChild(i)}if(!this._options.forceSelection){const e=document.createElement("li");e.dataset.labelId="0",this._blockScroll(e),c.appendChild(e);const t=document.createElement("span");e.appendChild(t);const i=document.createElement("span");i.classList.add("badge","label"),i.innerHTML=r.get("wcf.label.none"),t.appendChild(i)}l.querySelectorAll("li:not(.dropdownDivider)").forEach((e=>{e.addEventListener("click",(e=>this._click(e))),t&&e.dataset.labelId===t&&this._selectLabel(e)}))}_blockScroll(e){e.addEventListener("wheel",(e=>e.preventDefault()),{passive:!1})}_click(e){e.preventDefault(),this._selectLabel(e.currentTarget)}_selectLabel(e){let t=e.dataset.labelId;t||(t="0");const i=e.querySelector("span > span"),n=this._labelChooser.querySelector(".dropdownToggle > span");n.className=i.className,n.textContent=i.textContent,this._input.value=t}}return n.enableLegacyInheritance(s),s})),define("WoltLabSuite/Core/Form/Builder/Field/Controller/Rating",["require","exports","tslib","../../../../Core","../../../../Environment"],(function(e,t,i,n,o){"use strict";n=i.__importStar(n),o=i.__importStar(o);class r{constructor(e,t,i,n){if(this._field=document.getElementById(e+"Container"),null===this._field)throw new Error("Unknown field with id '"+e+"'");this._input=document.createElement("input"),this._input.id=e,this._input.name=e,this._input.type="hidden",this._input.value=t,this._field.appendChild(this._input),this._activeCssClasses=i,this._defaultCssClasses=n,this._ratingElements=new Map;const o=this._field.querySelector(".ratingList");o.addEventListener("mouseleave",(()=>this._restoreRating())),o.querySelectorAll("li").forEach((e=>{e.classList.contains("ratingMetaButton")?(e.addEventListener("click",(e=>this._metaButtonClick(e))),e.addEventListener("mouseenter",(()=>this._restoreRating()))):(this._ratingElements.set(e.dataset.rating,e),e.addEventListener("click",(e=>this._listItemClick(e))),e.addEventListener("mouseenter",(e=>this._listItemMouseEnter(e))),e.addEventListener("mouseleave",(()=>this._listItemMouseLeave())))}))}_listItemClick(e){const t=e.currentTarget;this._input.value=t.dataset.rating,"desktop"!==o.platform()&&this._restoreRating()}_listItemMouseEnter(e){const t=e.currentTarget.dataset.rating;this._ratingElements.forEach(((e,i)=>{const n=e.getElementsByClassName("icon")[0];this._toggleIcon(n,~~i<=~~t)}))}_listItemMouseLeave(){this._ratingElements.forEach((e=>{const t=e.getElementsByClassName("icon")[0];this._toggleIcon(t,!1)}))}_metaButtonClick(e){"removeRating"===e.currentTarget.dataset.action&&(this._input.value="",this._listItemMouseLeave())}_restoreRating(){this._ratingElements.forEach(((e,t)=>{const i=e.getElementsByClassName("icon")[0];this._toggleIcon(i,~~t<=~~this._input.value)}))}_toggleIcon(e,t=!1){t?(e.classList.remove(...this._defaultCssClasses),e.classList.add(...this._activeCssClasses)):(e.classList.remove(...this._activeCssClasses),e.classList.add(...this._defaultCssClasses))}}return n.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Form/Builder/Field/Dependency/Abstract",["require","exports","tslib","./Manager","../../../../Core"],(function(e,t,i,n,o){"use strict";n=i.__importStar(n),o=i.__importStar(o);class r{constructor(e,t){this.init(e,t)}checkDependency(){throw new Error("Missing implementation of WoltLabSuite/Core/Form/Builder/Field/Dependency/Abstract.checkDependency!")}getDependentNode(){return this._dependentElement}getField(){return this._field}getFields(){return this._fields}init(e,t){if(this._dependentElement=document.getElementById(e),null===this._dependentElement)throw new Error("Unknown dependent element with container id '"+e+"Container'.");if(this._field=document.getElementById(t),null===this._field){if(this._fields=[],document.querySelectorAll("input[type=radio][name="+t+"]").forEach((e=>{this._fields.push(e)})),!this._fields.length&&(document.querySelectorAll('input[type=checkbox][name="'+t+'[]"]').forEach((e=>{this._fields.push(e)})),!this._fields.length))throw new Error("Unknown field with id '"+t+"'.")}else if(this._fields=[this._field],"INPUT"===this._field.tagName&&"radio"===this._field.type&&""!==this._field.dataset.noInputId){if(this._noField=document.getElementById(this._field.dataset.noInputId),null===this._noField)throw new Error("Cannot find 'no' input field for input field '"+t+"'");this._fields.push(this._noField)}n.addDependency(this)}}return o.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Form/Builder/Field/Dependency/Empty",["require","exports","tslib","./Abstract","../../../../Core"],(function(e,t,i,n,o){"use strict";n=i.__importDefault(n),o=i.__importStar(o);class r extends n.default{checkDependency(){if(null!==this._field)switch(this._field.tagName){case"INPUT":{const e=this._field;switch(e.type){case"checkbox":return!e.checked;case"radio":return!(!this._noField||!this._noField.checked)||!e.checked;default:return 0===e.value.trim().length}}case"SELECT":{const e=this._field;return e.multiple?0===this._field.querySelectorAll("option:checked").length:"0"==e.value||0===e.value.length}case"TEXTAREA":return 0===this._field.value.trim().length}return this._fields.every((e=>!e.checked))}}return o.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Form/Builder/Field/Dependency/IsNotClicked",["require","exports","tslib","./Abstract","./Manager"],(function(e,t,i,n,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IsNotClicked=void 0,n=i.__importDefault(n),o=i.__importStar(o);class r extends n.default{constructor(e,t){super(e,t),this._field.addEventListener("click",(()=>{this._field.dataset.isClicked="1",o.checkDependencies()}))}checkDependency(){return"1"!==this._field.dataset.isClicked}}t.IsNotClicked=r,t.default=r})),define("WoltLabSuite/Core/Form/Builder/Field/Dependency/NonEmpty",["require","exports","tslib","./Abstract","../../../../Core"],(function(e,t,i,n,o){"use strict";n=i.__importDefault(n),o=i.__importStar(o);class r extends n.default{checkDependency(){if(null!==this._field)switch(this._field.tagName){case"INPUT":{const e=this._field;switch(e.type){case"checkbox":return e.checked;case"radio":return(!this._noField||!this._noField.checked)&&e.checked;default:return 0!==e.value.trim().length}}case"SELECT":{const e=this._field;return e.multiple?0!==e.querySelectorAll("option:checked").length:"0"!=e.value&&0!==e.value.length}case"TEXTAREA":return 0!==this._field.value.trim().length}return this._fields.some((e=>e.checked))}}return o.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Form/Builder/Field/Dependency/Value",["require","exports","tslib","./Abstract","./Manager","../../../../Core"],(function(e,t,i,n,o,r){"use strict";n=i.__importDefault(n),o=i.__importStar(o),r=i.__importStar(r);class a extends n.default{constructor(){super(...arguments),this._isNegated=!1}checkDependency(){if(!this._values)throw new Error("Values have not been set.");const e=[];if(this._field){if(o.isHiddenByDependencies(this._field))return!1;e.push(this._field.value)}else{let t=!0;if(this._fields.forEach((i=>{if(i.checked){if(o.isHiddenByDependencies(i))return t=!1,!1;e.push(i.value)}})),!t)return!1}let t=!1;return this._values.forEach((i=>{e.forEach((e=>{i==e&&(t=!0)}))})),t?!this._isNegated:this._isNegated}negate(e){return this._isNegated=e,this}values(e){return this._values=e,this}}return r.enableLegacyInheritance(a),a})),define("WoltLabSuite/Core/Form/Builder/Field/Language/ContentLanguage",["require","exports","tslib","../Value","../../../../Language/Chooser","../../../../Core"],(function(e,t,i,n,o,r){"use strict";n=i.__importDefault(n),o=i.__importStar(o),r=i.__importStar(r);class a extends n.default{destroy(){o.removeChooser(this._fieldId)}}return r.enableLegacyInheritance(a),a})),define("WoltLabSuite/Core/Form/Builder/Field/Wysiwyg/Attachment",["require","exports","tslib","../Value","../../../../Core"],(function(e,t,i,n,o){"use strict";n=i.__importDefault(n),o=i.__importStar(o);class r extends n.default{constructor(e){super(e+"_tmpHash")}}return o.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Form/Builder/Field/Wysiwyg/Poll",["require","exports","tslib","../Field","../../../../Core"],(function(e,t,i,n,o){"use strict";n=i.__importDefault(n),o=i.__importStar(o);class r extends n.default{_getData(){return this._pollEditor.getData()}_readField(){}setPollEditor(e){this._pollEditor=e}}return o.enableLegacyInheritance(r),r}));let G=null;class H{}H.render=function(e,t){G(e,t)},self.QrCreator=H,function(e){function t(t,i,n,o){var r,a,s={},l=e(n,i);return l.u(t),l.J(),o=o||0,r=l.h(),a=l.h()+2*o,s.text=t,s.level=i,s.version=n,s.O=a,s.a=function(e,t){return t-=o,!(0>(e-=o)||e>=r||0>t||t>=r)&&l.a(e,t)},s}function i(e,t,i,n,o,r,a,s,l,c){function d(t,i,n,o,a,s,l){t?(e.lineTo(i+s,n+l),e.arcTo(i,n,o,a,r)):e.lineTo(i,n)}a?e.moveTo(t+r,i):e.moveTo(t,i),d(s,n,i,n,o,-r,0),d(l,n,o,t,o,0,-r),d(c,t,o,t,i,r,0),d(a,t,i,n,i,0,r)}function n(e,t,i,n,o,r,a,s,l,c){function d(t,i,n,o){e.moveTo(t+n,i),e.lineTo(t,i),e.lineTo(t,i+o),e.arcTo(t,i,t+n,i,r)}a&&d(t,i,r,r),s&&d(n,i,-r,r),l&&d(n,o,-r,-r),c&&d(t,o,r,-r)}function o(e,o){var r,a,s,l,c,d,u,h,p,m,f,g,b,_,v,w,y,E,S,L,C,A,I;e:{for(r=o.text,a=o.v,s=o.N,l=o.K,c=o.P,s=Math.max(1,s||1),l=Math.min(40,l||40);s<=l;s+=1)try{d=t(r,a,s,c);break e}catch(e){}d=void 0}if(!d)return null;for(r=e.getContext("2d"),o.background&&(r.fillStyle=o.background,r.fillRect(o.left,o.top,o.size,o.size)),a=d.O,l=o.size/a,r.beginPath(),c=0;c<a;c+=1)for(s=0;s<a;s+=1)u=r,h=o.left+s*l,p=o.top+c*l,m=c,f=s,g=d.a,b=h+l,_=p+l,v=m-1,w=m+1,y=f-1,E=f+1,S=Math.floor(Math.min(.5,Math.max(0,o.R))*l),L=g(m,f),C=g(v,y),A=g(v,f),v=g(v,E),I=g(m,E),E=g(w,E),f=g(w,f),w=g(w,y),m=g(m,y),h=Math.round(h),p=Math.round(p),b=Math.round(b),_=Math.round(_),L?i(u,h,p,b,_,S,!A&&!m,!A&&!I,!f&&!I,!f&&!m):n(u,h,p,b,_,S,A&&m&&C,A&&I&&v,f&&I&&E,f&&m&&w);return function(e,t){var i,n,o,r=t.fill;if("string"==typeof r)e.fillStyle=r;else{if(i=r.type,n=r.colorStops,r=r.position.map((e=>Math.round(e*t.size))),"linear-gradient"===i)o=e.createLinearGradient.apply(e,r);else{if("radial-gradient"!==i)throw Error("Unsupported fill");o=e.createRadialGradient.apply(e,r)}n.forEach((([e,t])=>{o.addColorStop(e,t)})),e.fillStyle=o}}(r,o),r.fill(),e}var r={minVersion:1,maxVersion:40,ecLevel:"L",left:0,top:0,size:200,fill:"#000",background:null,text:"no text",radius:.5,quiet:0};G=function(e,t){var i={};Object.assign(i,r,e),i.N=i.minVersion,i.K=i.maxVersion,i.v=i.ecLevel,i.left=i.left,i.top=i.top,i.size=i.size,i.fill=i.fill,i.background=i.background,i.text=i.text,i.R=i.radius,i.P=i.quiet,t instanceof HTMLCanvasElement?(t.width===i.size&&t.height===i.size||(t.width=i.size,t.height=i.size),t.getContext("2d").clearRect(0,0,t.width,t.height),o(t,i)):((e=document.createElement("canvas")).width=i.size,e.height=i.size,i=o(e,i),t.appendChild(i))}}(function(){function e(o,a){function s(e,t){var i,n;for(i=-1;7>=i;i+=1)if(!(-1>=e+i||u<=e+i))for(n=-1;7>=n;n+=1)-1>=t+n||u<=t+n||(d[e+i][t+n]=0<=i&&6>=i&&(0==n||6==n)||0<=n&&6>=n&&(0==i||6==i)||2<=i&&4>=i&&2<=n&&4>=n)}function l(e,i){var a,l,m,f,g,b,_,v,w,y;for(a=u=4*o+17,l=Array(a),m=0;m<a;m+=1)for(l[m]=Array(a),f=0;f<a;f+=1)l[m][f]=null;for(d=l,s(0,0),s(u-7,0),s(0,u-7),a=n.G(o),l=0;l<a.length;l+=1)for(m=0;m<a.length;m+=1)if(f=a[l],g=a[m],null==d[f][g])for(b=-2;2>=b;b+=1)for(_=-2;2>=_;_+=1)d[f+b][g+_]=-2==b||2==b||-2==_||2==_||0==b&&0==_;for(a=8;a<u-8;a+=1)null==d[a][6]&&(d[a][6]=0==a%2);for(a=8;a<u-8;a+=1)null==d[6][a]&&(d[6][a]=0==a%2);for(a=n.w(c<<3|i),l=0;15>l;l+=1)m=!e&&1==(a>>l&1),d[6>l?l:8>l?l+1:u-15+l][8]=m,d[8][8>l?u-l-1:9>l?15-l:14-l]=m;if(d[u-8][8]=!e,7<=o){for(a=n.A(o),l=0;18>l;l+=1)m=!e&&1==(a>>l&1),d[Math.floor(l/3)][l%3+u-8-3]=m;for(l=0;18>l;l+=1)m=!e&&1==(a>>l&1),d[l%3+u-8-3][Math.floor(l/3)]=m}if(null==h){for(e=r.I(o,c),a=function(){var e=[],t=0,i={B:function(){return e},c:function(t){return 1==(e[Math.floor(t/8)]>>>7-t%8&1)},put:function(e,t){for(var n=0;n<t;n+=1)i.m(1==(e>>>t-n-1&1))},f:function(){return t},m:function(i){var n=Math.floor(t/8);e.length<=n&&e.push(0),i&&(e[n]|=128>>>t%8),t+=1}};return i}(),l=0;l<p.length;l+=1)m=p[l],a.put(4,4),a.put(m.b(),n.f(4,o)),m.write(a);for(l=m=0;l<e.length;l+=1)m+=e[l].j;if(a.f()>8*m)throw Error("code length overflow. ("+a.f()+">"+8*m+")");for(a.f()+4<=8*m&&a.put(0,4);0!=a.f()%8;)a.m(!1);for(;!(a.f()>=8*m)&&(a.put(236,8),!(a.f()>=8*m));)a.put(17,8);for(v=0,m=l=0,f=Array(e.length),g=Array(e.length),b=0;b<e.length;b+=1){for(w=e[b].j,y=e[b].o-w,l=Math.max(l,w),m=Math.max(m,y),f[b]=Array(w),_=0;_<f[b].length;_+=1)f[b][_]=255&a.B()[_+v];for(v+=w,_=n.C(y),w=t(f[b],_.b()-1).l(_),g[b]=Array(_.b()-1),_=0;_<g[b].length;_+=1)y=_+w.b()-g[b].length,g[b][_]=0<=y?w.c(y):0}for(_=a=0;_<e.length;_+=1)a+=e[_].o;for(a=Array(a),_=v=0;_<l;_+=1)for(b=0;b<e.length;b+=1)_<f[b].length&&(a[v]=f[b][_],v+=1);for(_=0;_<m;_+=1)for(b=0;b<e.length;b+=1)_<g[b].length&&(a[v]=g[b][_],v+=1);h=a}for(e=h,a=-1,l=u-1,m=7,f=0,i=n.F(i),g=u-1;0<g;g-=2)for(6==g&&--g;;){for(b=0;2>b;b+=1)null==d[l][g-b]&&(_=!1,f<e.length&&(_=1==(e[f]>>>m&1)),i(l,g-b)&&(_=!_),d[l][g-b]=_,-1==--m&&(f+=1,m=7));if(0>(l+=a)||u<=l){l-=a,a=-a;break}}}var c=i[a],d=null,u=0,h=null,p=[],m={u:function(t){t=function(t){var i=e.s(t);return{S:function(){return 4},b:function(){return i.length},write:function(e){for(var t=0;t<i.length;t+=1)e.put(i[t],8)}}}(t),p.push(t),h=null},a:function(e,t){if(0>e||u<=e||0>t||u<=t)throw Error(e+","+t);return d[e][t]},h:function(){return u},J:function(){var e,t,i,o;for(e=0,t=0,i=0;8>i;i+=1)l(!0,i),o=n.D(m),(0==i||e>o)&&(e=o,t=i);l(!1,t)}};return m}function t(e,i){if(void 0===e.length)throw Error(e.length+"/"+i);var n=function(){var t,n,o;for(t=0;t<e.length&&0==e[t];)t+=1;for(n=Array(e.length-t+i),o=0;o<e.length-t;o+=1)n[o]=e[o+t];return n}(),r={c:function(e){return n[e]},b:function(){return n.length},multiply:function(e){var i,n,a;for(i=Array(r.b()+e.b()-1),n=0;n<r.b();n+=1)for(a=0;a<e.b();a+=1)i[n+a]^=o.i(o.g(r.c(n))+o.g(e.c(a)));return t(i,0)},l:function(e){if(0>r.b()-e.b())return r;for(var i=o.g(r.c(0))-o.g(e.c(0)),n=Array(r.b()),a=0;a<r.b();a+=1)n[a]=r.c(a);for(a=0;a<e.b();a+=1)n[a]^=o.i(o.g(e.c(a))+i);return t(n,0).l(e)}};return r}e.s=function(e){var t,i,n;for(t=[],i=0;i<e.length;i++)128>(n=e.charCodeAt(i))?t.push(n):2048>n?t.push(192|n>>6,128|63&n):55296>n||57344<=n?t.push(224|n>>12,128|n>>6&63,128|63&n):(i++,n=65536+((1023&n)<<10|1023&e.charCodeAt(i)),t.push(240|n>>18,128|n>>12&63,128|n>>6&63,128|63&n));return t};var i={L:1,M:0,Q:3,H:2},n=function(){function e(e){for(var t=0;0!=e;)t+=1,e>>>=1;return t}var i=[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]];return{w:function(t){for(var i=t<<10;0<=e(i)-e(1335);)i^=1335<<e(i)-e(1335);return 21522^(t<<10|i)},A:function(t){for(var i=t<<12;0<=e(i)-e(7973);)i^=7973<<e(i)-e(7973);return t<<12|i},G:function(e){return i[e-1]},F:function(e){switch(e){case 0:return function(e,t){return 0==(e+t)%2};case 1:return function(e){return 0==e%2};case 2:return function(e,t){return 0==t%3};case 3:return function(e,t){return 0==(e+t)%3};case 4:return function(e,t){return 0==(Math.floor(e/2)+Math.floor(t/3))%2};case 5:return function(e,t){return 0==e*t%2+e*t%3};case 6:return function(e,t){return 0==(e*t%2+e*t%3)%2};case 7:return function(e,t){return 0==(e*t%3+(e+t)%2)%2};default:throw Error("bad maskPattern:"+e)}},C:function(e){for(var i=t([1],0),n=0;n<e;n+=1)i=i.multiply(t([1,o.i(n)],0));return i},f:function(e,t){if(4!=e||1>t||40<t)throw Error("mode: "+e+"; type: "+t);return 10>t?8:16},D:function(e){var t,i,n,o,r,a,s,l;for(t=e.h(),i=0,n=0;n<t;n+=1)for(o=0;o<t;o+=1){for(r=0,a=e.a(n,o),s=-1;1>=s;s+=1)if(!(0>n+s||t<=n+s))for(l=-1;1>=l;l+=1)0>o+l||t<=o+l||(0!=s||0!=l)&&a==e.a(n+s,o+l)&&(r+=1);5<r&&(i+=3+r-5)}for(n=0;n<t-1;n+=1)for(o=0;o<t-1;o+=1)r=0,e.a(n,o)&&(r+=1),e.a(n+1,o)&&(r+=1),e.a(n,o+1)&&(r+=1),e.a(n+1,o+1)&&(r+=1),(0==r||4==r)&&(i+=3);for(n=0;n<t;n+=1)for(o=0;o<t-6;o+=1)e.a(n,o)&&!e.a(n,o+1)&&e.a(n,o+2)&&e.a(n,o+3)&&e.a(n,o+4)&&!e.a(n,o+5)&&e.a(n,o+6)&&(i+=40);for(o=0;o<t;o+=1)for(n=0;n<t-6;n+=1)e.a(n,o)&&!e.a(n+1,o)&&e.a(n+2,o)&&e.a(n+3,o)&&e.a(n+4,o)&&!e.a(n+5,o)&&e.a(n+6,o)&&(i+=40);for(o=r=0;o<t;o+=1)for(n=0;n<t;n+=1)e.a(n,o)&&(r+=1);return i+Math.abs(100*r/t/t-50)/5*10}}}(),o=function(){for(var e=Array(256),t=Array(256),i=0;8>i;i+=1)e[i]=1<<i;for(i=8;256>i;i+=1)e[i]=e[i-4]^e[i-5]^e[i-6]^e[i-8];for(i=0;255>i;i+=1)t[e[i]]=i;return{g:function(e){if(1>e)throw Error("glog("+e+")");return t[e]},i:function(t){for(;0>t;)t+=255;for(;256<=t;)t-=255;return e[t]}}}(),r=function(){function e(e,n){switch(n){case i.L:return t[4*(e-1)];case i.M:return t[4*(e-1)+1];case i.Q:return t[4*(e-1)+2];case i.H:return t[4*(e-1)+3]}}var t=[[1,26,19],[1,26,16],[1,26,13],[1,26,9],[1,44,34],[1,44,28],[1,44,22],[1,44,16],[1,70,55],[1,70,44],[2,35,17],[2,35,13],[1,100,80],[2,50,32],[2,50,24],[4,25,9],[1,134,108],[2,67,43],[2,33,15,2,34,16],[2,33,11,2,34,12],[2,86,68],[4,43,27],[4,43,19],[4,43,15],[2,98,78],[4,49,31],[2,32,14,4,33,15],[4,39,13,1,40,14],[2,121,97],[2,60,38,2,61,39],[4,40,18,2,41,19],[4,40,14,2,41,15],[2,146,116],[3,58,36,2,59,37],[4,36,16,4,37,17],[4,36,12,4,37,13],[2,86,68,2,87,69],[4,69,43,1,70,44],[6,43,19,2,44,20],[6,43,15,2,44,16],[4,101,81],[1,80,50,4,81,51],[4,50,22,4,51,23],[3,36,12,8,37,13],[2,116,92,2,117,93],[6,58,36,2,59,37],[4,46,20,6,47,21],[7,42,14,4,43,15],[4,133,107],[8,59,37,1,60,38],[8,44,20,4,45,21],[12,33,11,4,34,12],[3,145,115,1,146,116],[4,64,40,5,65,41],[11,36,16,5,37,17],[11,36,12,5,37,13],[5,109,87,1,110,88],[5,65,41,5,66,42],[5,54,24,7,55,25],[11,36,12,7,37,13],[5,122,98,1,123,99],[7,73,45,3,74,46],[15,43,19,2,44,20],[3,45,15,13,46,16],[1,135,107,5,136,108],[10,74,46,1,75,47],[1,50,22,15,51,23],[2,42,14,17,43,15],[5,150,120,1,151,121],[9,69,43,4,70,44],[17,50,22,1,51,23],[2,42,14,19,43,15],[3,141,113,4,142,114],[3,70,44,11,71,45],[17,47,21,4,48,22],[9,39,13,16,40,14],[3,135,107,5,136,108],[3,67,41,13,68,42],[15,54,24,5,55,25],[15,43,15,10,44,16],[4,144,116,4,145,117],[17,68,42],[17,50,22,6,51,23],[19,46,16,6,47,17],[2,139,111,7,140,112],[17,74,46],[7,54,24,16,55,25],[34,37,13],[4,151,121,5,152,122],[4,75,47,14,76,48],[11,54,24,14,55,25],[16,45,15,14,46,16],[6,147,117,4,148,118],[6,73,45,14,74,46],[11,54,24,16,55,25],[30,46,16,2,47,17],[8,132,106,4,133,107],[8,75,47,13,76,48],[7,54,24,22,55,25],[22,45,15,13,46,16],[10,142,114,2,143,115],[19,74,46,4,75,47],[28,50,22,6,51,23],[33,46,16,4,47,17],[8,152,122,4,153,123],[22,73,45,3,74,46],[8,53,23,26,54,24],[12,45,15,28,46,16],[3,147,117,10,148,118],[3,73,45,23,74,46],[4,54,24,31,55,25],[11,45,15,31,46,16],[7,146,116,7,147,117],[21,73,45,7,74,46],[1,53,23,37,54,24],[19,45,15,26,46,16],[5,145,115,10,146,116],[19,75,47,10,76,48],[15,54,24,25,55,25],[23,45,15,25,46,16],[13,145,115,3,146,116],[2,74,46,29,75,47],[42,54,24,1,55,25],[23,45,15,28,46,16],[17,145,115],[10,74,46,23,75,47],[10,54,24,35,55,25],[19,45,15,35,46,16],[17,145,115,1,146,116],[14,74,46,21,75,47],[29,54,24,19,55,25],[11,45,15,46,46,16],[13,145,115,6,146,116],[14,74,46,23,75,47],[44,54,24,7,55,25],[59,46,16,1,47,17],[12,151,121,7,152,122],[12,75,47,26,76,48],[39,54,24,14,55,25],[22,45,15,41,46,16],[6,151,121,14,152,122],[6,75,47,34,76,48],[46,54,24,10,55,25],[2,45,15,64,46,16],[17,152,122,4,153,123],[29,74,46,14,75,47],[49,54,24,10,55,25],[24,45,15,46,46,16],[4,152,122,18,153,123],[13,74,46,32,75,47],[48,54,24,14,55,25],[42,45,15,32,46,16],[20,147,117,4,148,118],[40,75,47,7,76,48],[43,54,24,22,55,25],[10,45,15,67,46,16],[19,148,118,6,149,119],[18,75,47,31,76,48],[34,54,24,34,55,25],[20,45,15,61,46,16]];return{I:function(t,i){var n,o,r,a,s,l,c,d=e(t,i);if(void 0===d)throw Error("bad rs block @ typeNumber:"+t+"/errorCorrectLevel:"+i);for(t=d.length/3,i=[],n=0;n<t;n+=1)for(o=d[3*n],r=d[3*n+1],a=d[3*n+2],s=0;s<o;s+=1)l=a,(c={}).o=r,c.j=l,i.push(c);return i}}}();return e}()),define("qr-creator",function(e){return function(){return e.QrCreator}}(this)),define("WoltLabSuite/Core/Ui/User/Multifactor/Totp/Qr",["require","exports","tslib","qr-creator"],(function(e,t,i,n){"use strict";function o(e){const t=e.querySelector(".totpSecret");if(!t)return;const i=t.dataset.accountname;if(!i)return;const o=t.dataset.issuer,r=(o?`${o}:`:"")+i,a=e.querySelector("canvas");n.default.render({text:`otpauth://totp/${encodeURIComponent(r)}?secret=${encodeURIComponent(t.textContent)}${o?`&issuer=${encodeURIComponent(o)}`:""}`,size:a&&a.clientWidth?a.clientWidth:200},a||e)}Object.defineProperty(t,"__esModule",{value:!0}),t.renderAll=t.render=void 0,n=i.__importDefault(n),t.render=o,t.default=o,t.renderAll=function(){document.querySelectorAll(".totpSecretContainer").forEach((e=>o(e)))}})),define("WoltLabSuite/Core/Form/Builder/Field/Dependency/Container/Abstract",["require","exports","tslib","../Manager","../../../../../Core"],(function(e,t,i,n,o){"use strict";n=i.__importStar(n),o=i.__importStar(o);class r{constructor(e){this.init(e)}checkContainer(){throw new Error("Missing implementation of WoltLabSuite/Core/Form/Builder/Field/Dependency/Container.checkContainer!")}init(e){if("string"!=typeof e)throw new TypeError("Container id has to be a string.");if(this._container=document.getElementById(e),null===this._container)throw new Error("Unknown container with id '"+e+"'.");n.addContainerCheckCallback((()=>this.checkContainer()))}}return o.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Form/Builder/Field/Dependency/Container/Default",["require","exports","tslib","./Abstract","../../../../../Core","../Manager","../../../../../Dom/Util"],(function(e,t,i,n,o,r,a){"use strict";n=i.__importDefault(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importDefault(a);class s extends n.default{checkContainer(){if(o.stringToBool(this._container.dataset.ignoreDependencies||""))return;if(r.isHiddenByDependencies(this._container))return;const e=!a.default.isHidden(this._container),t=Array.from(this._container.children).some(((e,t)=>(0!==t||"H2"!==e.tagName&&"HEADER"!==e.tagName)&&!a.default.isHidden(e)));e!==t&&(t?a.default.show(this._container):a.default.hide(this._container),r.checkContainers())}}return o.enableLegacyInheritance(s),s})),define("WoltLabSuite/Core/Form/Builder/Field/Dependency/Container/Tab",["require","exports","tslib","./Abstract","../Manager","../../../../../Dom/Util","../../../../../Ui/TabMenu","../../../../../Core"],(function(e,t,i,n,o,r,a,s){"use strict";n=i.__importDefault(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s);class l extends n.default{checkContainer(){if(o.isHiddenByDependencies(this._container))return;const e=!r.isHidden(this._container),t=Array.from(this._container.children).some((e=>!r.isHidden(e)));if(e!==t){const e=this._container.parentNode.parentNode.querySelector("#"+r.identify(this._container.parentNode)+" > nav > ul > li[data-name="+this._container.id+"]");if(null===e)throw new Error("Cannot find tab menu entry for tab '"+this._container.id+"'.");if(t)r.show(this._container),r.show(e);else{r.hide(this._container),r.hide(e);const t=a.getTabMenu(r.identify(e.closest(".tabMenuContainer")));t.getActiveTab()===e&&t.selectFirstVisible()}o.checkContainers()}}}return s.enableLegacyInheritance(l),l})),define("WoltLabSuite/Core/Form/Builder/Field/Dependency/Container/TabMenu",["require","exports","tslib","./Abstract","../Manager","../../../../../Dom/Util","../../../../../Ui/TabMenu","../../../../../Core"],(function(e,t,i,n,o,r,a,s){"use strict";n=i.__importDefault(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s);class l extends n.default{checkContainer(){if(o.isHiddenByDependencies(this._container))return;const e=!r.isHidden(this._container),t=this._container.parentNode.querySelectorAll("#"+r.identify(this._container)+" > nav > ul > li"),i=Array.from(t).some((e=>!r.isHidden(e)));e!==i&&(i?(r.show(this._container),a.getTabMenu(r.identify(this._container)).selectFirstVisible()):r.hide(this._container),o.checkContainers())}}return s.enableLegacyInheritance(l),l})),define("WoltLabSuite/Core/Ui/User/Profile/Menu/Item/Abstract",["require","exports","tslib","../../../../../Ajax","../../../../../Core"],(function(e,t,i,n,o){"use strict";n=i.__importStar(n),o=i.__importStar(o);class r{constructor(e,t){this._button=document.createElement("a"),this._listItem=document.createElement("li"),this._userId=e,this._isActive=t,this._initButton(),this._updateButton()}_initButton(){this._button.href="#",this._button.addEventListener("click",(e=>this._toggle(e))),this._listItem.appendChild(this._button);document.querySelector('.userProfileButtonMenu[data-menu="interaction"]').insertAdjacentElement("afterbegin",this._listItem)}_toggle(e){e.preventDefault(),n.api(this,{actionName:this._getAjaxActionName(),parameters:{data:{userID:this._userId}}})}_updateButton(){this._button.textContent=this._getLabel(),this._isActive?this._listItem.classList.add("active"):this._listItem.classList.remove("active")}_getLabel(){throw new Error("Implement me!")}_getAjaxActionName(){throw new Error("Implement me!")}_ajaxSuccess(e){throw new Error("Implement me!")}_ajaxSetup(){throw new Error("Implement me!")}}return o.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Ui/User/Profile/Menu/Item/Follow",["require","exports","tslib","../../../../../Core","../../../../../Language","../../../../Notification","./Abstract"],(function(e,t,i,n,o,r,a){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importDefault(a);class s extends a.default{constructor(e,t){super(e,t)}_getLabel(){return o.get("wcf.user.button."+(this._isActive?"un":"")+"follow")}_getAjaxActionName(){return this._isActive?"unfollow":"follow"}_ajaxSuccess(e){this._isActive=!!e.returnValues.following,this._updateButton(),r.show()}_ajaxSetup(){return{data:{className:"wcf\\data\\user\\follow\\UserFollowAction"}}}}return n.enableLegacyInheritance(s),s})),define("WoltLabSuite/Core/Ui/User/Profile/Menu/Item/Ignore",["require","exports","tslib","../../../../../Core","../../../../../Language","../../../../Notification","./Abstract","../../../../../Form/Builder/Dialog"],(function(e,t,i,n,o,r,a,s){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importDefault(a),s=i.__importDefault(s);class l extends a.default{constructor(e,t){super(e,t),this.dialog=new s.default("ignoreDialog","wcf\\data\\user\\ignore\\UserIgnoreAction","getDialog",{dialog:{title:o.get("wcf.user.button.ignore")},actionParameters:{userID:this._userId},submitActionName:"submitDialog",successCallback:e=>this._ajaxSuccess(e),destroyOnClose:!0})}_getLabel(){return o.get("wcf.user.button."+(this._isActive?"un":"")+"ignore")}_ajaxSuccess(e){this._isActive=!!e.isIgnoredUser,this._updateButton(),r.show()}_toggle(e){e.preventDefault(),this.dialog.open()}}return n.enableLegacyInheritance(l),l})),function(e){function t(){for(;n.length&&"function"==typeof n[0];)n.shift()()}var i=e.require,n=[],o=0;e.orgRequire=i,e.require=function(r,a,s){if(!Array.isArray(r))return i.apply(e,arguments);var l=new Promise((function(e,a){var s=o++;n.push(s),i(r,(function(){var i=arguments;n[n.indexOf(s)]=function(){e(i)},t()}),(function(e){n[n.indexOf(s)]=function(){a(e)},t()}))}));return a&&(l=l.then((function(t){return a.apply(e,t)}))),s&&l.catch(s),l},e.require.config=i.config}(window),define("require.linearExecution",(function(){}));
-//# sourceMappingURL=https://assets.woltlab.com/sourcemap/WCF/75ca81c8569d1c049f8052559c1e9c50f686075d7f00f6f32b2bcf949bb96b23.map
\ No newline at end of file
+var requirejs,require,define,__extends,__assign,__rest,__decorate,__param,__metadata,__awaiter,__generator,__exportStar,__values,__read,__spread,__spreadArrays,__await,__asyncGenerator,__asyncDelegator,__asyncValues,__makeTemplateObject,__importStar,__importDefault,__classPrivateFieldGet,__classPrivateFieldSet,__createBinding,_self,Prism;(function(global,Promise,undef){function commentReplace(e,t){return t||""}function hasProp(e,t){return hasOwn.call(e,t)}function getOwn(e,t){return e&&hasProp(e,t)&&e[t]}function obj(){return Object.create(null)}function eachProp(e,t){var i;for(i in e)if(hasProp(e,i)&&t(e[i],i))break}function mixin(e,t,i,n){return t&&eachProp(t,(function(t,o){!i&&hasProp(e,o)||(!n||"object"!=typeof t||!t||Array.isArray(t)||"function"==typeof t||t instanceof RegExp?e[o]=t:(e[o]||(e[o]={}),mixin(e[o],t,i,n)))})),e}function getGlobal(e){if(!e)return e;var t=global;return e.split(".").forEach((function(e){t=t[e]})),t}function newContext(e){function t(e,t,i){var n,o,r,a,s,l,c,d,u,h,p=t&&t.split("/"),m=I.map,f=m&&m["*"];if(e&&(l=(e=e.split("/")).length-1,I.nodeIdCompat&&jsSuffixRegExp.test(e[l])&&(e[l]=e[l].replace(jsSuffixRegExp,"")),"."===e[0].charAt(0)&&p&&(e=p.slice(0,p.length-1).concat(e)),function(e){var t,i,n=e.length;for(t=0;t<n;t++)if("."===(i=e[t]))e.splice(t,1),t-=1;else if(".."===i){if(0===t||1===t&&".."===e[2]||".."===e[t-1])continue;t>0&&(e.splice(t-1,2),t-=2)}}(e),e=e.join("/")),i&&m&&(p||f)){e:for(r=(o=e.split("/")).length;r>0;r-=1){if(s=o.slice(0,r).join("/"),p)for(a=p.length;a>0;a-=1)if((n=getOwn(m,p.slice(0,a).join("/")))&&(n=getOwn(n,s))){c=n,d=r;break e}!u&&f&&getOwn(f,s)&&(u=getOwn(f,s),h=r)}!c&&u&&(c=u,d=h),c&&(o.splice(0,d,c),e=o.join("/"))}return getOwn(I.pkgs,e)||e}function i(e){var t,i,n,o;for(t=0;t<queue.length;t+=1){if("string"!=typeof queue[t][0]){if(!e)break;queue[t].unshift(e),e=undef}t-=1,(i=(n=queue.shift())[0])in C||i in A||(i in D?_.apply(undef,n):A[i]=n)}e&&(o=getOwn(I.shim,e)||{},_(e,o.deps||[],o.exportsFn))}function n(e,n){var o=function(t,r,a,s){var l,c;if(n&&i(),"string"==typeof t){if(y[t])return y[t](e);if(!((l=v(t,e,!0).id)in C))throw new Error("Not loaded: "+l);return C[l]}return t&&!Array.isArray(t)&&(c=t,t=undef,Array.isArray(r)&&(t=r,r=a,a=s),n)?o.config(c)(t,r,a):(r=r||function(){return slice.call(arguments,0)},U.then((function(){return i(),_(undef,t||[],r,a,e)})))};return o.isBrowser="undefined"!=typeof document&&"undefined"!=typeof navigator,o.nameToUrl=function(e,t,i){var n,r,a,s,l,c,d=getOwn(I.pkgs,e);if(d&&(e=d),c=getOwn(O,e))return o.nameToUrl(c,t,i);if(urlRegExp.test(e))s=e+(t||"");else{for(n=I.paths,a=(r=e.split("/")).length;a>0;a-=1)if(l=getOwn(n,r.slice(0,a).join("/"))){Array.isArray(l)&&(l=l[0]),r.splice(0,a,l);break}s=r.join("/"),s=("/"===(s+=t||(/^data\:|^blob\:|\?/.test(s)||i?"":".js")).charAt(0)||s.match(/^[\w\+\.\-]+:/)?"":I.baseUrl)+s}return I.urlArgs&&!/^blob\:/.test(s)?s+I.urlArgs(e,s):s},o.toUrl=function(i){var n,r=i.lastIndexOf("."),a=i.split("/")[0];return-1!==r&&(!("."===a||".."===a)||r>1)&&(n=i.substring(r,i.length),i=i.substring(0,r)),o.nameToUrl(t(i,e),n,!0)},o.defined=function(t){return v(t,e,!0).id in C},o.specified=function(t){return(t=v(t,e,!0).id)in C||t in D},o}function o(e,t,i){e&&(C[e]=i,requirejs.onResourceLoad&&requirejs.onResourceLoad(L,t.map,t.deps)),t.finished=!0,t.resolve(i)}function r(e,t){e.finished=!0,e.rejected=!0,e.reject(t)}function a(e){e.factoryCalled=!0;var t,i=e.map.id;try{t=L.execCb(i,e.factory,e.values,C[i])}catch(t){return r(e,t)}i?t===undef&&(e.cjsModule?t=e.cjsModule.exports:e.usingExports&&(t=C[i])):k.splice(k.indexOf(e),1),o(i,e,t)}function s(e,t){this.rejected||this.depDefined[t]||(this.depDefined[t]=!0,this.depCount+=1,this.values[t]=e,this.depending||this.depCount!==this.depMax||a(this))}function l(e,t){var i={};return i.promise=new Promise((function(t,n){i.resolve=t,i.reject=function(t){e||k.splice(k.indexOf(i),1),n(t)}})),i.map=e?t||v(e):{},i.depCount=0,i.depMax=0,i.values=[],i.depDefined=[],i.depFinished=s,i.map.pr&&(i.deps=[v(i.map.pr)]),i}function c(e,t){var i;return e?(i=e in D&&D[e])||(i=D[e]=l(e,t)):(i=l(),k.push(i)),i}function d(e,t){return function(i){e.rejected||(i.dynaId||(i.dynaId="id"+(P+=1),i.requireModules=[t]),r(e,i))}}function u(e,t,i,n){i.depMax+=1,w(e,t).then((function(e){i.depFinished(e,n)}),d(i,e.id)).catch(d(i,i.map.id))}function h(e,t,a){e.load(t.n,n(a),function(e){function t(t){n||o(e,c(e),t)}var n;return t.error=function(t){c(e).reject(t)},t.fromText=function(t,o){var a=c(e),s=v(v(e).n),l=s.id;n=!0,a.factory=function(e,t){return t},o&&(t=o),hasProp(I.config,e)&&(I.config[l]=I.config[e]);try{b.exec(t)}catch(e){r(a,new Error("fromText eval for "+l+" failed: "+e))}i(l),a.deps=[s],u(s,null,a,a.deps.length)},t}(t.id),I)}function p(e){var t,i=e?e.indexOf("!"):-1;return i>-1&&(t=e.substring(0,i),e=e.substring(i+1,e.length)),[t,e]}function m(e,t,i){var n=e.map.id;t[n]=!0,!e.finished&&e.deps&&e.deps.forEach((function(n){var o=n.id,r=!hasProp(y,o)&&c(o,n);!r||r.finished||i[o]||(hasProp(t,o)?e.deps.forEach((function(t,i){t.id===o&&e.depFinished(C[o],i)})):m(r,t,i))})),i[n]=!0}function f(e){var t,i,n,o=[],r=1e3*I.waitSeconds,a=r&&B+r<(new Date).getTime();if(0===j&&(e?e.finished||m(e,{},{}):k.length&&k.forEach((function(e){m(e,{},{})}))),a){for(i in D)(n=D[i]).finished||o.push(n.map.id);(t=new Error("Timeout for modules: "+o)).requireModules=o,b.onError(t)}else(j||k.length)&&(E||(E=!0,setTimeout((function(){E=!1,f()}),70)))}function g(e){return setTimeout((function(){e.dynaId&&N[e.dynaId]||(N[e.dynaId]=!0,b.onError(e))})),e}var b,_,v,w,y,E,S,L,C=obj(),A=obj(),I={waitSeconds:7,baseUrl:"./",paths:{},bundles:{},pkgs:{},shim:{},config:{}},x=obj(),k=[],D=obj(),T=obj(),M=obj(),j=0,B=(new Date).getTime(),P=0,N=obj(),q=obj(),O=obj(),U=Promise.resolve();return S="function"==typeof importScripts?function(e){var t=e.url;q[t]||(q[t]=!0,c(e.id),importScripts(t),i(e.id))}:function(e){var t,n=e.id,o=e.url;q[o]||(q[o]=!0,(t=document.createElement("script")).setAttribute("data-requiremodule",n),t.type=I.scriptType||"text/javascript",t.charset="utf-8",t.async=!0,j+=1,t.addEventListener("load",(function(){j-=1,i(n)}),!1),t.addEventListener("error",(function(){var e,i,o;j-=1,(i=getOwn(I.paths,n))&&Array.isArray(i)&&i.length>1?(t.parentNode.removeChild(t),i.shift(),(o=c(n)).map=v(n),o.map.url=b.nameToUrl(n),S(o.map)):((e=new Error("Load failed: "+n+": "+t.src)).requireModules=[n],c(n).reject(e))}),!1),t.src=o,10===document.documentMode?asap.then((function(){document.head.appendChild(t)})):document.head.appendChild(t))},w=function(e,t){var i,n,o=e.id,r=I.shim[o];if(o in A)i=A[o],delete A[o],_.apply(undef,i);else if(!(o in D))if(e.pr){if(!(n=getOwn(O,o)))return w(v(e.pr)).then((function(i){var n=e.prn?e:v(o,t,!0),r=n.id,a=getOwn(I.shim,r);return r in M||(M[r]=!0,a&&a.deps?b(a.deps,(function(){h(i,n,t)})):h(i,n,t)),c(r).promise}));e.url=b.nameToUrl(n),S(e)}else r&&r.deps?b(r.deps,(function(){S(e)})):S(e);return c(o).promise},v=function(e,i,n){if("string"!=typeof e)return e;var o,r,a,s,l,c,d=e+" & "+(i||"")+" & "+!!n;return s=(a=p(e))[0],e=a[1],!s&&d in x?x[d]:(s&&(o=(s=t(s,i,n))in C&&C[s]),s?o&&o.normalize?(e=o.normalize(e,function(e){return function(i){return t(i,e,!0)}}(i)),c=!0):e=-1===e.indexOf("!")?t(e,i,n):e:(s=(a=p(e=t(e,i,n)))[0],e=a[1],r=b.nameToUrl(e)),l={id:s?s+"!"+e:e,n:e,pr:s,url:r,prn:s&&c},s||(x[d]=l),l)},y={require:function(e){return n(e)},exports:function(e){var t=C[e];return void 0!==t?t:C[e]={}},module:function(e){return{id:e,uri:"",exports:y.exports(e),config:function(){return getOwn(I.config,e)||{}}}}},_=function(e,t,i,n,r){if(e){if(e in T)return;T[e]=!0}var s=c(e);return t&&!Array.isArray(t)&&(i=t,t=[]),t=t?slice.call(t,0):null,n||(hasProp(I,"defaultErrback")?I.defaultErrback&&(n=I.defaultErrback):n=g),n&&s.promise.catch(n),r=r||e,"function"==typeof i?(!t.length&&i.length&&(i.toString().replace(commentRegExp,commentReplace).replace(cjsRequireRegExp,(function(e,i){t.push(i)})),t=(1===i.length?["require"]:["require","exports","module"]).concat(t)),s.factory=i,s.deps=t,s.depending=!0,t.forEach((function(i,n){var o;t[n]=o=v(i,r,!0),"require"===(i=o.id)?s.values[n]=y.require(e):"exports"===i?(s.values[n]=y.exports(e),s.usingExports=!0):"module"===i?s.values[n]=s.cjsModule=y.module(e):void 0===i?s.values[n]=void 0:u(o,r,s,n)})),s.depending=!1,s.depCount===s.depMax&&a(s)):e&&o(e,s,i),B=(new Date).getTime(),e||f(s),s.promise},(b=n(null,!0)).config=function(t){var i,n,o,r;return t.context&&t.context!==e?(i=getOwn(contexts,t.context))?i.req.config(t):newContext(t.context).config(t):(x=obj(),t.baseUrl&&"/"!==t.baseUrl.charAt(t.baseUrl.length-1)&&(t.baseUrl+="/"),"string"==typeof t.urlArgs&&(n=t.urlArgs,t.urlArgs=function(e,t){return(-1===t.indexOf("?")?"?":"&")+n}),o=I.shim,r={paths:!0,bundles:!0,config:!0,map:!0},eachProp(t,(function(e,t){r[t]?(I[t]||(I[t]={}),mixin(I[t],e,!0,!0)):I[t]=e})),t.bundles&&eachProp(t.bundles,(function(e,t){e.forEach((function(e){e!==t&&(O[e]=t)}))})),t.shim&&(eachProp(t.shim,(function(e,t){Array.isArray(e)&&(e={deps:e}),!e.exports&&!e.init||e.exportsFn||(e.exportsFn=function(e){return function(){var t;return e.init&&(t=e.init.apply(global,arguments)),t||e.exports&&getGlobal(e.exports)}}(e)),o[t]=e})),I.shim=o),t.packages&&t.packages.forEach((function(e){var t;t=(e="string"==typeof e?{name:e}:e).name,e.location&&(I.paths[t]=e.location),I.pkgs[t]=e.name+"/"+(e.main||"main").replace(currDirRegExp,"").replace(jsSuffixRegExp,"")})),(t.deps||t.callback)&&b(t.deps,t.callback),b)},b.onError=function(e){throw e},L={id:e,defined:C,waiting:A,config:I,deferreds:D,req:b,execCb:function(e,t,i,n){return t.apply(n,i)}},contexts[e]=L,b}var topReq,dataMain,src,subPath,bootstrapConfig,hasOwn,contexts,queue,currDirRegExp,urlRegExp,commentRegExp,cjsRequireRegExp,jsSuffixRegExp,slice,asap;if(!Promise)throw new Error("No Promise implementation available");bootstrapConfig=requirejs||require,hasOwn=Object.prototype.hasOwnProperty,contexts={},queue=[],currDirRegExp=/^\.\//,urlRegExp=/^\/|\:|\?|\.js$/,commentRegExp=/\/\*[\s\S]*?\*\/|([^:"'=]|^)\/\/.*$/gm,cjsRequireRegExp=/[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g,jsSuffixRegExp=/\.js$/,slice=Array.prototype.slice,"function"!=typeof requirejs&&(asap=Promise.resolve(void 0),requirejs=topReq=newContext("_"),"function"!=typeof require&&(require=topReq),topReq.exec=function(text){return eval(text)},topReq.contexts=contexts,define=function(){queue.push(slice.call(arguments,0))},define.amd={jQuery:!0},bootstrapConfig&&topReq.config(bootstrapConfig),topReq.isBrowser&&!contexts._.config.skipDataMain&&(dataMain=document.querySelectorAll("script[data-main]")[0],dataMain=dataMain&&dataMain.getAttribute("data-main"),dataMain&&(dataMain=dataMain.replace(jsSuffixRegExp,""),bootstrapConfig&&bootstrapConfig.baseUrl||-1!==dataMain.indexOf("!")||(src=dataMain.split("/"),dataMain=src.pop(),subPath=src.length?src.join("/")+"/":"./",topReq.config({baseUrl:subPath})),topReq([dataMain]))))})(this,"undefined"!=typeof Promise?Promise:void 0),define("requireLib",(function(){})),requirejs.config({paths:{favico:"3rdParty/favico","perfect-scrollbar":"3rdParty/perfect-scrollbar",Pica:"3rdParty/pica",pica:"3rdParty/pica",prism:"3rdParty/prism",prismjs:"3rdParty/prism/prism","qr-creator":"3rdParty/qr-creator.min",tslib:"3rdParty/tslib",zxcvbn:"3rdParty/zxcvbn"},shim:{favico:{exports:"Favico"},"perfect-scrollbar":{exports:"PerfectScrollbar"},"qr-creator":{exports:"QrCreator"}},map:{"*":{Ajax:"WoltLabSuite/Core/Ajax",AjaxJsonp:"WoltLabSuite/Core/Ajax/Jsonp",AjaxRequest:"WoltLabSuite/Core/Ajax/Request",CallbackList:"WoltLabSuite/Core/CallbackList",ColorUtil:"WoltLabSuite/Core/ColorUtil",Core:"WoltLabSuite/Core/Core",DateUtil:"WoltLabSuite/Core/Date/Util",Devtools:"WoltLabSuite/Core/Devtools",Dictionary:"WoltLabSuite/Core/Dictionary","Dom/ChangeListener":"WoltLabSuite/Core/Dom/Change/Listener","Dom/Traverse":"WoltLabSuite/Core/Dom/Traverse","Dom/Util":"WoltLabSuite/Core/Dom/Util",Environment:"WoltLabSuite/Core/Environment",EventHandler:"WoltLabSuite/Core/Event/Handler",EventKey:"WoltLabSuite/Core/Event/Key",Language:"WoltLabSuite/Core/Language",List:"WoltLabSuite/Core/List",ObjectMap:"WoltLabSuite/Core/ObjectMap",Permission:"WoltLabSuite/Core/Permission",StringUtil:"WoltLabSuite/Core/StringUtil","Ui/Alignment":"WoltLabSuite/Core/Ui/Alignment","Ui/CloseOverlay":"WoltLabSuite/Core/Ui/CloseOverlay","Ui/Confirmation":"WoltLabSuite/Core/Ui/Confirmation","Ui/Dialog":"WoltLabSuite/Core/Ui/Dialog","Ui/Notification":"WoltLabSuite/Core/Ui/Notification","Ui/ReusableDropdown":"WoltLabSuite/Core/Ui/Dropdown/Reusable","Ui/Screen":"WoltLabSuite/Core/Ui/Screen","Ui/Scroll":"WoltLabSuite/Core/Ui/Scroll","Ui/SimpleDropdown":"WoltLabSuite/Core/Ui/Dropdown/Simple","Ui/TabMenu":"WoltLabSuite/Core/Ui/TabMenu",Upload:"WoltLabSuite/Core/Upload",User:"WoltLabSuite/Core/User"}},waitSeconds:0}),define("jquery",[],(function(){return window.jQuery})),define("require.config",(function(){})),function(e,t){var i;e.elAttr=function(e,t,i){if(void 0===i)return e.getAttribute(t)||"";e.setAttribute(t,i)},e.elAttrBool=function(e,t){var i=elAttr(e,t);return"1"===i||"true"===i},e.elByClass=function(e,i){return(i||t).getElementsByClassName(e)},e.elById=function(e){return t.getElementById(e)},e.elBySel=function(e,i){return(i||t).querySelector(e)},e.elBySelAll=function(e,i,n){var o=(i||t).querySelectorAll(e);return"function"==typeof n&&Array.prototype.forEach.call(o,n),o},e.elByTag=function(e,i){return(i||t).getElementsByTagName(e)},e.elCreate=function(e){return t.createElement(e)},e.elClosest=function(e,t){if(!(e instanceof Node))throw new TypeError("Provided element is not a Node.");return e.nodeType===Node.TEXT_NODE&&null===(e=e.parentNode)?null:("string"!=typeof t&&(t=""),0===t.length?e:e.closest(t))},e.elData=function(e,t,i){if(t="data-"+t,void 0===i)return e.getAttribute(t)||"";e.setAttribute(t,i)},e.elDataBool=function(e,t){var i=elData(e,t);return"1"===i||"true"===i},e.elHide=function(e){e.style.setProperty("display","none","")},e.elIsHidden=function(e){return"none"===e.style.getPropertyValue("display")},e.elInnerError=function(e,t,i){var n,o,r,a=e.parentNode;if(null===a)throw new Error("Only elements that have a parent element or document are valid.");if("string"!=typeof t){if(null!=t&&!1!==t)throw new TypeError("The error message must be a string; `false`, `null` or `undefined` can be used as a substitute for an empty string.");t=""}return o=e,(n=a).classList.contains("inputAddon")&&(n=a.parentElement,o=a),null!==(r=o.nextElementSibling)&&"SMALL"===r.nodeName&&r.classList.contains("innerError")||(""===t?r=null:((r=elCreate("small")).className="innerError",n.insertBefore(r,o.nextSibling))),""===t?null!==r&&(a.removeChild(r),r=null):r[i?"innerHTML":"textContent"]=t,r},e.elRemove=function(e){e.parentNode.removeChild(e)},e.elShow=function(e){e.style.removeProperty("display")},e.elToggle=function(e){"none"===e.style.getPropertyValue("display")?elShow(e):elHide(e)},e.forEach=function(e,t){for(var i=0,n=e.length;i<n;i++)t(e[i],i)},e.objOwns=function(e,t){return e.hasOwnProperty(t)},e.debounce=function(e,t,i){var n;return function(){var o=this,r=arguments;clearTimeout(n),n=setTimeout((function(){n=null,i||e.apply(o,r)}),t),i&&!n&&e.apply(o,r)}},Object.defineProperty(e,"WCF_CLICK_EVENT",{value:"click"}),i=0,function t(){e.history.state&&e.history.state.name&&"initial"!==e.history.state.name?(e.history.replaceState({name:"skip",depth:++i},""),e.history.back(),setTimeout(t,1)):e.history.replaceState({name:"initial"},"")}(),e.addEventListener("popstate",(function(t){t.state&&t.state.name&&"skip"===t.state.name&&e.history.go(t.state.depth)})),e.String.prototype.hashCode=function(){var e,t,i=0;if(this.length)for(e=0,t=this.length;e<t;e++)i=(i<<5)-i+this.charCodeAt(e),i&=i;return i}}(window,document),define("wcf.globalHelper",(function(){})),function(){var e=function(e){"use strict";function t(e){if(e.paused||e.ended||g)return!1;try{d.clearRect(0,0,l,s),d.drawImage(e,0,0,l,s)}catch(e){}v=setTimeout((function(){t(e)}),j.duration),M.setIcon(c)}function i(e){var t,i=/^#?([a-f\d])([a-f\d])([a-f\d])$/i;return e=e.replace(i,(function(e,t,i,n){return t+t+i+i+n+n})),!!(t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e))&&{r:parseInt(t[1],16),g:parseInt(t[2],16),b:parseInt(t[3],16)}}function n(e,t){var i,n={};for(i in e)n[i]=e[i];for(i in t)n[i]=t[i];return n}var o,r,a,s,l,c,d,u,h,p,m,f,g,b,_,v,w,y,E,S,L,C,A,I,x,k,D,T,M,j;return e=e||{},o={bgColor:"#d00",textColor:"#fff",fontFamily:"sans-serif",fontStyle:"bold",type:"circle",position:"down",animation:"slide",elementId:!1,element:null,dataUrl:!1,win:window},(b={}).ff="undefined"!=typeof InstallTrigger,b.chrome=!!window.chrome,b.opera=!!window.opera||navigator.userAgent.indexOf("Opera")>=0,b.ie=!1,b.safari=Object.prototype.toString.call(window.HTMLElement).indexOf("Constructor")>0,b.supported=b.chrome||b.ff||b.opera,y=[],f=function(){},h=g=!1,E=function(){var t,h,p,m,f,g;if((r=n(o,e)).bgColor=i(r.bgColor),r.textColor=i(r.textColor),r.position=r.position.toLowerCase(),r.animation=j.types[""+r.animation]?r.animation:o.animation,w=r.win.document,t=r.position.indexOf("up")>-1,h=r.position.indexOf("left")>-1,t||h)for(p in j.types)for(m=0;m<j.types[p].length;m++)f=j.types[p][m],t&&(f.y<.6?f.y=f.y-.4:f.y=f.y-2*f.y+(1-f.w)),h&&(f.x<.6?f.x=f.x-.4:f.x=f.x-2*f.x+(1-f.h)),j.types[p][m]=f;r.type=L[""+r.type]?r.type:o.type,a=M.getIcons(),c=document.createElement("canvas"),u=document.createElement("img"),(g=a[a.length-1]).hasAttribute("href")?(u.setAttribute("crossOrigin","anonymous"),u.onload=function(){s=u.height>0?u.height:32,l=u.width>0?u.width:32,c.height=s,c.width=l,d=c.getContext("2d"),S.ready()},u.setAttribute("src",g.getAttribute("href"))):(s=32,l=32,u.height=s,u.width=l,c.height=s,c.width=l,d=c.getContext("2d"),S.ready())},(S={}).ready=function(){h=!0,S.reset(),f()},S.reset=function(){h&&(y=[],p=!1,m=!1,d.clearRect(0,0,l,s),d.drawImage(u,0,0,l,s),M.setIcon(c),window.clearTimeout(_),window.clearTimeout(v))},S.start=function(){var e,t;h&&!m&&(e=function(){p=y[0],m=!1,y.length>0&&(y.shift(),S.start())},y.length>0&&(m=!0,t=function(){["type","animation","bgColor","textColor","fontFamily","fontStyle"].forEach((function(e){e in y[0].options&&(r[e]=y[0].options[e])})),j.run(y[0].options,(function(){e()}),!1)},p?j.run(p.options,(function(){t()}),!0):t()))},C=function(e){return e.n="number"==typeof e.n?Math.abs(0|e.n):e.n,e.x=l*e.x,e.y=s*e.y,e.w=l*e.w,e.h=s*e.h,e.len=(""+e.n).length,e},(L={}).circle=function(e){var t=!1;2===(e=C(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),d.clearRect(0,0,l,s),d.drawImage(u,0,0,l,s),d.beginPath(),d.font=r.fontStyle+" "+Math.floor(e.h*(e.n>99?.85:1))+"px "+r.fontFamily,d.textAlign="center",t?(d.moveTo(e.x+e.w/2,e.y),d.lineTo(e.x+e.w-e.h/2,e.y),d.quadraticCurveTo(e.x+e.w,e.y,e.x+e.w,e.y+e.h/2),d.lineTo(e.x+e.w,e.y+e.h-e.h/2),d.quadraticCurveTo(e.x+e.w,e.y+e.h,e.x+e.w-e.h/2,e.y+e.h),d.lineTo(e.x+e.h/2,e.y+e.h),d.quadraticCurveTo(e.x,e.y+e.h,e.x,e.y+e.h-e.h/2),d.lineTo(e.x,e.y+e.h/2),d.quadraticCurveTo(e.x,e.y,e.x+e.h/2,e.y)):d.arc(e.x+e.w/2,e.y+e.h/2,e.h/2,0,2*Math.PI),d.fillStyle="rgba("+r.bgColor.r+","+r.bgColor.g+","+r.bgColor.b+","+e.o+")",d.fill(),d.closePath(),d.beginPath(),d.stroke(),d.fillStyle="rgba("+r.textColor.r+","+r.textColor.g+","+r.textColor.b+","+e.o+")","number"==typeof e.n&&e.n>999?d.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)):d.fillText(e.n,Math.floor(e.x+e.w/2),Math.floor(e.y+e.h-.15*e.h)),d.closePath()},L.rectangle=function(e){2===(e=C(e)).len?(e.x=e.x-.4*e.w,e.w=1.4*e.w):e.len>=3&&(e.x=e.x-.65*e.w,e.w=1.65*e.w),d.clearRect(0,0,l,s),d.drawImage(u,0,0,l,s),d.beginPath(),d.font=r.fontStyle+" "+Math.floor(e.h*(e.n>99?.9:1))+"px "+r.fontFamily,d.textAlign="center",d.fillStyle="rgba("+r.bgColor.r+","+r.bgColor.g+","+r.bgColor.b+","+e.o+")",d.fillRect(e.x,e.y,e.w,e.h),d.fillStyle="rgba("+r.textColor.r+","+r.textColor.g+","+r.textColor.b+","+e.o+")","number"==typeof e.n&&e.n>999?d.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)):d.fillText(e.n,Math.floor(e.x+e.w/2),Math.floor(e.y+e.h-.15*e.h)),d.closePath()},A=function(e,t){t=("string"==typeof t?{animation:t}:t)||{},f=function(){try{if("number"==typeof e?e>0:""!==e){var n={type:"badge",options:{n:e}};if("animation"in t&&j.types[""+t.animation]&&(n.options.animation=""+t.animation),"type"in t&&L[""+t.type]&&(n.options.type=""+t.type),["bgColor","textColor"].forEach((function(e){e in t&&(n.options[e]=i(t[e]))})),["fontStyle","fontFamily"].forEach((function(e){e in t&&(n.options[e]=t[e])})),y.push(n),y.length>100)throw new Error("Too many badges requests in queue.");S.start()}else S.reset()}catch(e){throw new Error("Error setting badge. Message: "+e.message)}},h&&f()},I=function(e){f=function(){var t,i,n,o;try{t=e.width,i=e.height,n=document.createElement("img"),o=t/l<i/s?t/l:i/s,n.setAttribute("crossOrigin","anonymous"),n.onload=function(){d.clearRect(0,0,l,s),d.drawImage(n,0,0,l,s),M.setIcon(c)},n.setAttribute("src",e.getAttribute("src")),n.height=i/o,n.width=t/o}catch(e){throw new Error("Error setting image. Message: "+e.message)}},h&&f()},x=function(e){f=function(){M.setIconSrc(e)},h&&f()},k=function(e){f=function(){try{if("stop"===e)return g=!0,S.reset(),void(g=!1);e.addEventListener("play",(function(){t(this)}),!1)}catch(e){throw new Error("Error setting video. Message: "+e.message)}},h&&f()},D=function(e){if(window.URL&&window.URL.createObjectURL||(window.URL=window.URL||{},window.URL.createObjectURL=function(e){return e}),b.supported){var i=!1;navigator.getUserMedia=navigator.getUserMedia||navigator.oGetUserMedia||navigator.msGetUserMedia||navigator.mozGetUserMedia||navigator.webkitGetUserMedia,f=function(){try{if("stop"===e)return g=!0,S.reset(),void(g=!1);(i=document.createElement("video")).width=l,i.height=s,navigator.getUserMedia({video:!0,audio:!1},(function(e){i.src=URL.createObjectURL(e),i.play(),t(i)}),(function(){}))}catch(e){throw new Error("Error setting webcam. Message: "+e.message)}},h&&f()}},T=function(e,t){var n,o,a=e;for(null==t&&"[object Object]"==Object.prototype.toString.call(e)||((a={})[e]=t),n=Object.keys(a),o=0;o<n.length;o++)"bgColor"==n[o]||"textColor"==n[o]?r[n[o]]=i(a[n[o]]):r[n[o]]=a[n[o]];y.push(p),S.start()},(M={}).getIcons=function(){var e=[],t=function(){var e,t=[],i=w.getElementsByTagName("head")[0].getElementsByTagName("link");for(e=0;e<i.length;e++)/(^|\s)icon(\s|$)/i.test(i[e].getAttribute("rel"))&&t.push(i[e]);return t};return r.element?e=[r.element]:r.elementId?(e=[w.getElementById(r.elementId)])[0].setAttribute("href",e[0].getAttribute("src")):0===(e=t()).length&&((e=[w.createElement("link")])[0].setAttribute("rel","icon"),w.getElementsByTagName("head")[0].appendChild(e[0])),e.forEach((function(e){e.setAttribute("type","image/png")})),e},M.setIcon=function(e){var t=e.toDataURL("image/png");M.setIconSrc(t)},M.setIconSrc=function(e){var t,i,n;r.dataUrl&&r.dataUrl(e),r.element?(r.element.setAttribute("href",e),r.element.setAttribute("src",e)):r.elementId?((t=w.getElementById(r.elementId)).setAttribute("href",e),t.setAttribute("src",e)):b.ff||b.opera?(i=a[a.length-1],n=w.createElement("link"),a=[n],b.opera&&n.setAttribute("rel","icon"),n.setAttribute("rel","icon"),n.setAttribute("type","image/png"),w.getElementsByTagName("head")[0].appendChild(n),n.setAttribute("href",e),i.parentNode&&i.parentNode.removeChild(i)):a.forEach((function(t){t.setAttribute("href",e)}))},(j={}).duration=40,j.types={},j.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}],j.types.none=[{x:.4,y:.4,w:.6,h:.6,o:1}],j.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}],j.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}],j.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}],j.run=function(e,t,i,o){var a=j.types[w.hidden||w.msHidden||w.webkitHidden||w.mozHidden?"none":r.animation];o=!0===i?void 0!==o?o:a.length-1:void 0!==o?o:0,t=t||function(){},o<a.length&&o>=0?(L[r.type](n(e,a[o])),_=setTimeout((function(){i?o-=1:o+=1,j.run(e,t,i,o)}),j.duration),M.setIcon(c)):t()},E(),{badge:A,video:k,image:I,rawImageSrc:x,webcam:D,setOpt:T,reset:S.reset,browser:{supported:b.supported}}};void 0!==define&&define.amd?define("favico",[],(function(){return e})):"undefined"!=typeof module&&module.exports?module.exports=e:this.Favico=e}(),function(e){function t(e,t){return e!==i&&("function"==typeof Object.create?Object.defineProperty(e,"__esModule",{value:!0}):e.__esModule=!0),function(i,n){return e[i]=t?t(i,n):n}}var i="object"==typeof global?global:"object"==typeof self?self:"object"==typeof this?this:{};"function"==typeof define&&define.amd?define("tslib",["exports"],(function(n){e(t(i,t(n)))})):"object"==typeof module&&"object"==typeof module.exports?e(t(i,t(module.exports))):e(t(i))}((function(e){var t,i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])};__extends=function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},__assign=Object.assign||function(e){var t,i,n,o;for(i=1,n=arguments.length;i<n;i++)for(o in t=arguments[i])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},__rest=function(e,t){var i,n,o={};for(i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(o[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(n=0,i=Object.getOwnPropertySymbols(e);n<i.length;n++)t.indexOf(i[n])<0&&Object.prototype.propertyIsEnumerable.call(e,i[n])&&(o[i[n]]=e[i[n]]);return o},__decorate=function(e,t,i,n){var o,r,a=arguments.length,s=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,n);else for(r=e.length-1;r>=0;r--)(o=e[r])&&(s=(a<3?o(s):a>3?o(t,i,s):o(t,i))||s);return a>3&&s&&Object.defineProperty(t,i,s),s},__param=function(e,t){return function(i,n){t(i,n,e)}},__metadata=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},__awaiter=function(e,t,i,n){return new(i||(i=Promise))((function(o,r){function a(e){try{l(n.next(e))}catch(e){r(e)}}function s(e){try{l(n.throw(e))}catch(e){r(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(a,s)}l((n=n.apply(e,t||[])).next())}))},__generator=function(e,t){function i(i){return function(a){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,o&&(r=2&i[0]?o.return:i[0]?o.throw||((r=o.return)&&r.call(o),0):o.next)&&!(r=r.call(o,i[1])).done)return r;switch(o=0,r&&(i=[2&i[0],r.value]),i[0]){case 0:case 1:r=i;break;case 4:return s.label++,{value:i[1],done:!1};case 5:s.label++,o=i[1],i=[0];continue;case 7:i=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==i[0]&&2!==i[0])){s=0;continue}if(3===i[0]&&(!r||i[1]>r[0]&&i[1]<r[3])){s.label=i[1];break}if(6===i[0]&&s.label<r[1]){s.label=r[1],r=i;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(i);break}r[2]&&s.ops.pop(),s.trys.pop();continue}i=t.call(e,s)}catch(e){i=[6,e],o=0}finally{n=r=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,a])}}var n,o,r,a,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return a={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a},__exportStar=function(e,t){for(var i in e)"default"===i||Object.prototype.hasOwnProperty.call(t,i)||__createBinding(t,e,i)},__createBinding=Object.create?function(e,t,i,n){void 0===n&&(n=i),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[i]}})}:function(e,t,i,n){void 0===n&&(n=i),e[n]=t[i]},__values=function(e){var t="function"==typeof Symbol&&Symbol.iterator,i=t&&e[t],n=0;if(i)return i.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},__read=function(e,t){var i,n,o,r,a="function"==typeof Symbol&&e[Symbol.iterator];if(!a)return e;i=a.call(e),o=[];try{for(;(void 0===t||t-- >0)&&!(n=i.next()).done;)o.push(n.value)}catch(e){r={error:e}}finally{try{n&&!n.done&&(a=i.return)&&a.call(i)}finally{if(r)throw r.error}}return o},__spread=function(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(__read(arguments[t]));return e},__spreadArrays=function(){var e,t,i,n,o,r,a,s;for(e=0,t=0,i=arguments.length;t<i;t++)e+=arguments[t].length;for(n=Array(e),o=0,t=0;t<i;t++)for(a=0,s=(r=arguments[t]).length;a<s;a++,o++)n[o]=r[a];return n},__await=function(e){return this instanceof __await?(this.v=e,this):new __await(e)},__asyncGenerator=function(e,t,i){function n(e){c[e]&&(l[e]=function(t){return new Promise((function(i,n){d.push([e,t,i,n])>1||o(e,t)}))})}function o(e,t){try{(i=c[e](t)).value instanceof __await?Promise.resolve(i.value.v).then(r,a):s(d[0][2],i)}catch(e){s(d[0][3],e)}var i}function r(e){o("next",e)}function a(e){o("throw",e)}function s(e,t){e(t),d.shift(),d.length&&o(d[0][0],d[0][1])}if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var l,c=i.apply(e,t||[]),d=[];return l={},n("next"),n("throw"),n("return"),l[Symbol.asyncIterator]=function(){return this},l},__asyncDelegator=function(e){function t(t,o){i[t]=e[t]?function(i){return(n=!n)?{value:__await(e[t](i)),done:"return"===t}:o?o(i):i}:o}var i,n;return i={},t("next"),t("throw",(function(e){throw e})),t("return"),i[Symbol.iterator]=function(){return this},i},__asyncValues=function(e){function t(t){i[t]=e[t]&&function(i){return new Promise((function(n,o){(function(e,t,i,n){Promise.resolve(n).then((function(t){e({value:t,done:i})}),t)})(n,o,(i=e[t](i)).done,i.value)}))}}if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i,n=e[Symbol.asyncIterator];return n?n.call(e):(e="function"==typeof __values?__values(e):e[Symbol.iterator](),i={},t("next"),t("throw"),t("return"),i[Symbol.asyncIterator]=function(){return this},i)},__makeTemplateObject=function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e},t=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t},__importStar=function(e){var i,n;if(e&&e.__esModule)return e;if(i={},null!=e)for(n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&__createBinding(i,e,n);return t(i,e),i},__importDefault=function(e){return e&&e.__esModule?e:{default:e}},__classPrivateFieldGet=function(e,t){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return t.get(e)},__classPrivateFieldSet=function(e,t,i){if(!t.has(e))throw new TypeError("attempted to set private field on non-instance");return t.set(e,i),i},e("__extends",__extends),e("__assign",__assign),e("__rest",__rest),e("__decorate",__decorate),e("__param",__param),e("__metadata",__metadata),e("__awaiter",__awaiter),e("__generator",__generator),e("__exportStar",__exportStar),e("__createBinding",__createBinding),e("__values",__values),e("__read",__read),e("__spread",__spread),e("__spreadArrays",__spreadArrays),e("__await",__await),e("__asyncGenerator",__asyncGenerator),e("__asyncDelegator",__asyncDelegator),e("__asyncValues",__asyncValues),e("__makeTemplateObject",__makeTemplateObject),e("__importStar",__importStar),e("__importDefault",__importDefault),e("__classPrivateFieldGet",__classPrivateFieldGet),e("__classPrivateFieldSet",__classPrivateFieldSet)})),define("WoltLabSuite/Core/Core",["require","exports"],(function(e,t){"use strict";function i(e){return r(e)}function n(e,...t){const r=i(e=e||{});for(let i=0,a=t.length;i<a;i++){const a=t[i];a&&Object.keys(a).forEach((t=>{Array.isArray(a[t])||"object"!=typeof a[t]?r[t]=a[t]:o(a[t])?r[t]=n(e[t],a[t]):r[t]=a[t]}))}return r}function o(e){return"object"==typeof e&&null!==e&&Object.getPrototypeOf(e)===Object.prototype}Object.defineProperty(t,"__esModule",{value:!0}),t.enableLegacyInheritance=t.debounce=t.stringToBool=t.getStoragePrefix=t.triggerEvent=t.serialize=t.getUuid=t.getType=t.isPlainObject=t.inherit=t.extend=t.convertLegacyUrl=t.clone=void 0;const r=function(e){return"object"==typeof e&&(Array.isArray(e)||o(e))?a(e):e},a=function(e){if(!e)return null;if(Array.isArray(e))return e.slice();const t={};return Object.keys(e).forEach((i=>t[i]=r(e[i]))),t},s="wsc"+window.WCF_PATH.hashCode()+"-";t.clone=i,t.convertLegacyUrl=function(e){return e.replace(/^index\.php\/(.*?)\/\?/,((e,t)=>{const i=t.split(/([A-Z][a-z0-9]+)/);t="";for(let e=0,n=i.length;e<n;e++){const n=i[e].trim();n.length&&(t.length&&(t+="-"),t+=n.toLowerCase())}return`index.php?${t}/&`}))},t.extend=n,t.inherit=function(e,t,i){if(null==e)throw new TypeError("The constructor must not be undefined or null.");if(null==t)throw new TypeError("The super constructor must not be undefined or null.");if(void 0===t.prototype)throw new TypeError("The super constructor must have a prototype.");e._super=t,e.prototype=n(Object.create(t.prototype,{constructor:{configurable:!0,enumerable:!1,value:e,writable:!0}}),i||{})},t.isPlainObject=o,t.getType=function(e){return Object.prototype.toString.call(e).replace(/^\[object (.+)]$/,"$1")},t.getUuid=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(e=>{const t=16*Math.random()|0;return("x"==e?t:3&t|8).toString(16)}))},t.serialize=function e(t,i){if(null===t)return"";const n=[];return Object.keys(t).forEach((o=>{const r=i?i+"["+o+"]":o,a=t[o];"object"==typeof a?n.push(e(a,r)):n.push(encodeURIComponent(r)+"="+encodeURIComponent(a))})),n.join("&")},t.triggerEvent=function(e,t){if("click"===t&&e instanceof HTMLElement)return void e.click();const i=new Event(t,{bubbles:!0,cancelable:!0});e.dispatchEvent(i)},t.getStoragePrefix=function(){return s},t.stringToBool=function(e){return"1"===e||"true"===e},t.debounce=function(e,t=50,i={isImmediate:!1}){let n;return function(...o){const r=i.isImmediate&&void 0===n;void 0!==n&&clearTimeout(n),n=setTimeout((()=>{n=void 0,i.isImmediate||e.apply(this,o)}),t),r&&e.apply(this,o)}},t.enableLegacyInheritance=function(e){e.call=function(t,...i){const n=Reflect.construct(e,i,t.constructor);Object.entries(n).forEach((([e,i])=>{t[e]=i}))}}})),define("WoltLabSuite/Core/NumberUtil",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.round=void 0,t.round=function(e,t){if(void 0===t||0==+t)return Math.round(e);if(e=+e,t=+t,isNaN(e)||"number"!=typeof t||t%1!=0)return NaN;let i=e.toString().split("e"),n=i[1]?+i[1]-t:-t;return i=(e=Math.round(+`${i[0]}e${n}`)).toString().split("e"),n=i[1]?+i[1]+t:t,+`${i[0]}e${n}`}})),define("WoltLabSuite/Core/StringUtil",["require","exports","tslib","./NumberUtil"],(function(e,t,i,n){"use strict";function o(e){return String(e).replace(/(^-?\d{1,3}|\d{3})(?=(?:\d{3})+(?:$|\.))/g,"$1"+l)}function r(e,t){let i=n.round(e,t||-2).toString();const r=i.split(".");return i=o(+r[0]),r.length>1&&(i+=s+r[1]),i=i.replace("-","−"),i}function a(e){return String(e).substring(0,1).toUpperCase()+e.substring(1)}Object.defineProperty(t,"__esModule",{value:!0}),t.setupI18n=t.toCamelCase=t.shortUnit=t.unescapeHTML=t.ucfirst=t.lcfirst=t.formatNumeric=t.escapeRegExp=t.escapeHTML=t.addThousandsSeparator=void 0,n=i.__importStar(n);let s=".",l=",";t.addThousandsSeparator=o,t.escapeHTML=function(e){return String(e).replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")},t.escapeRegExp=function(e){return String(e).replace(/([.*+?^=!:${}()|[\]/\\])/g,"\\$1")},t.formatNumeric=r,t.lcfirst=function(e){return String(e).substring(0,1).toLowerCase()+e.substring(1)},t.ucfirst=a,t.unescapeHTML=function(e){return String(e).replace(/&/g,"&").replace(/"/g,'"').replace(/</g,"<").replace(/>/g,">")},t.shortUnit=function(e){let t="";return e>=1e6?(e=(e/=1e6)>10?Math.floor(e):n.round(e,-1),t="M"):e>=1e3&&(e=(e/=1e3)>10?Math.floor(e):n.round(e,-1),t="k"),r(e)+t},t.toCamelCase=function(e){return e.includes("-")?e.split("-").map(((e,t)=>(t>0&&(e=a(e)),e))).join(""):e},t.setupI18n=function(e){s=e.decimalPoint,l=e.thousandsSeparator}})),define("WoltLabSuite/Core/I18n/Plural",["require","exports","tslib","../StringUtil"],(function(e,t,i,n){"use strict";n=i.__importStar(n);const o={af(e){if(1==e)return"one"},am(e){const t=Math.floor(Math.abs(e));if(1==e||0===t)return"one"},ar(e){if(0==e)return"zero";if(1==e)return"one";if(2==e)return"two";const t=e%100;return t>=3&&t<=10?"few":t>=11&&t<=99?"many":void 0},as(e){const t=Math.floor(Math.abs(e));if(1==e||0===t)return"one"},az(e){if(1==e)return"one"},be(e){const t=e%10,i=e%100;return 1==t&&11!=i?"one":t>=2&&t<=4&&!(i>=12&&i<=14)?"few":0==t||t>=5&&t<=9||i>=11&&i<=14?"many":void 0},bg(e){if(1==e)return"one"},bn(e){const t=Math.floor(Math.abs(e));if(1==e||0===t)return"one"},bo(e){},bs(e){const t=r.getV(e),i=r.getF(e),n=e%10,o=e%100,a=i%10,s=i%100;return 0==t&&1==n&&11!=o||1==a&&11!=s?"one":0==t&&n>=2&&n<=4&&o>=12&&o<=14||a>=2&&a<=4&&s>=12&&s<=14?"few":void 0},cs(e){const t=r.getV(e);return 1==e&&0===t?"one":e>=2&&e<=4&&0===t?"few":0===t?"many":void 0},cy:e=>0==e?"zero":1==e?"one":2==e?"two":3==e?"few":6==e?"many":void 0,da(e){if(e>0&&e<2)return"one"},el(e){if(1==e)return"one"},en(e){if(1==e&&0===r.getV(e))return"one"},es(e){if(1==e)return"one"},eu(e){if(1==e)return"one"},fa(e){if(e>=0&&e<=1)return"one"},fr(e){if(e>=0&&e<2)return"one"},ga:e=>1==e?"one":2==e?"two":3==e||4==e||5==e||6==e?"few":7==e||8==e||9==e||10==e?"many":void 0,gu(e){if(e>=0&&e<=1)return"one"},he(e){const t=r.getV(e);return 1==e&&0===t?"one":2==e&&0===t?"two":e>10&&0===t&&e%10==0?"many":void 0},hi(e){if(e>=0&&e<=1)return"one"},hr:e=>r.bs(e),hu(e){if(1==e)return"one"},hy(e){if(e>=0&&e<2)return"one"},id(e){},is(e){const t=r.getF(e);if(0===t&&e%10==1&&e%100!=11||0!==t)return"one"},ja(e){},jv(e){},ka(e){if(1==e)return"one"},kk(e){if(1==e)return"one"},km(e){},kn(e){if(e>=0&&e<=1)return"one"},ko(e){},ku(e){if(1==e)return"one"},ky(e){if(1==e)return"one"},lb(e){if(1==e)return"one"},lo(e){},lt(e){const t=e%10,i=e%100;return 1!=t||i>=11&&i<=19?t>=2&&t<=9&&!(i>=11&&i<=19)?"few":0!=r.getF(e)?"many":void 0:"one"},lv(e){const t=e%10,i=e%100,n=r.getV(e),o=r.getF(e),a=o%10,s=o%100;return 0==t||i>=11&&i<=19||2==n&&s>=11&&s<=19?"zero":1==t&&11!=i||2==n&&1==a&&11!=s||2!=n&&1==a?"one":void 0},mk:e=>r.bs(e),ml(e){if(1==e)return"one"},mn(e){if(1==e)return"one"},mr(e){if(1==e)return"one"},ms(e){},mt(e){const t=e%100;return 1==e?"one":0==e||t>=2&&t<=10?"few":t>=11&&t<=19?"many":void 0},my(e){},no(e){if(1==e)return"one"},ne(e){if(1==e)return"one"},or(e){if(1==e)return"one"},pa(e){if(1==e||0==e)return"one"},pl(e){const t=r.getV(e),i=e%10,n=e%100;return 1==e&&0==t?"one":0==t&&i>=2&&i<=4&&!(n>=12&&n<=14)?"few":0==t&&(1!=e&&i>=0&&i<=1||i>=5&&i<=9||n>=12&&n<=14)?"many":void 0},ps(e){if(1==e)return"one"},pt(e){if(e>=0&&e<2)return"one"},ro(e){const t=r.getV(e),i=e%100;return 1==e&&0===t?"one":0!=t||0==e||i>=2&&i<=19?"few":void 0},ru(e){const t=e%10,i=e%100;if(0==r.getV(e)){if(1==t&&11!=i)return"one";if(t>=2&&t<=4&&!(i>=12&&i<=14))return"few";if(0==t||t>=5&&t<=9||i>=11&&i<=14)return"many"}},sd(e){if(1==e)return"one"},si(e){if(0==e||1==e||0==Math.floor(e)&&1==r.getF(e))return"one"},sk:e=>r.cs(e),sl(e){const t=r.getV(e),i=e%100;return 0==t&&1==i?"one":0==t&&2==i?"two":0==t&&(3==i||4==i)||0!=t?"few":void 0},sq(e){if(1==e)return"one"},sr:e=>r.bs(e),ta(e){if(1==e)return"one"},te(e){if(1==e)return"one"},tg(e){},th(e){},tk(e){if(1==e)return"one"},tr(e){if(1==e)return"one"},ug(e){if(1==e)return"one"},uk:e=>r.ru(e),uz(e){if(1==e)return"one"},vi(e){},zh(e){}},r=Object.assign({getCategory(e,t){t||(t=document.documentElement.lang),"function"!=typeof r[t]&&(t="en");const i=r[t](e);return i||"other"},getCategoryFromTemplateParameters(e){if(!e.value)throw new Error("Missing parameter value");if(!e.other)throw new Error("Missing parameter other");let t=e.value;Array.isArray(t)&&(t=t.length);const i=Object.keys(e).find((e=>e.toString()===(~~e).toString()&&e.toString()===t.toString()));if(i)return i;let o=r.getCategory(t);e[o]||(o="other");const a=e[o];return-1!==a.indexOf("#")?a.replace("#",n.formatNumeric(t)):a},getF(e){const t=e.toString(),i=t.indexOf(".");return-1===i?0:parseInt(t.substr(i+1),10)},getV:e=>e.toString().replace(/^[^.]*\.?/,"").length},o);return r})),define("WoltLabSuite/Core/Language/Store",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.add=t.get=void 0;const i=new Map;t.get=function(e,t={}){const n=i.get(e);return void 0===n?e:n(t)},t.add=function(e,t){i.set(e,t)}})),define("WoltLabSuite/Core/Template.grammar",["require"],(function(e){var t=function(e,t,i,n){for(i=i||{},n=e.length;n--;i[e[n]]=t);return i},i=[2,44],n=[5,9,11,12,13,18,19,21,22,23,25,26,28,29,30,32,33,34,35,37,39,41],o=[1,25],r=[1,27],a=[1,33],s=[1,31],l=[1,32],c=[1,28],d=[1,29],u=[1,26],h=[1,35],p=[1,41],m=[1,40],f=[11,12,15,42,43,47,49,51,52,54,55],g=[9,11,12,13,18,19,21,23,26,28,30,32,33,34,35,37,39],b=[11,12,15,42,43,46,47,48,49,51,52,54,55],_=[1,64],v=[1,65],w=[18,37,39],y=[12,15],E={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,T_WS:12,"{if":13,COMMAND_PARAMETERS:14,"}":15,COMMAND_repetition0:16,COMMAND_option0:17,"{/if}":18,"{include":19,COMMAND_PARAMETER_LIST:20,"{implode":21,"{/implode}":22,"{foreach":23,COMMAND_option1:24,"{/foreach}":25,"{plural":26,PLURAL_PARAMETER_LIST:27,"{lang}":28,"{/lang}":29,"{":30,VARIABLE:31,"{#":32,"{@":33,"{ldelim}":34,"{rdelim}":35,ELSE:36,"{else}":37,ELSE_IF:38,"{elseif":39,FOREACH_ELSE:40,"{foreachelse}":41,T_VARIABLE:42,T_VARIABLE_NAME:43,VARIABLE_repetition0:44,VARIABLE_SUFFIX:45,"[":46,"]":47,".":48,"(":49,VARIABLE_SUFFIX_option0:50,")":51,"=":52,COMMAND_PARAMETER_VALUE:53,T_QUOTED_STRING:54,T_DIGITS:55,COMMAND_PARAMETERS_repetition_plus0:56,COMMAND_PARAMETER:57,T_PLURAL_PARAMETER_NAME:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",9:"T_LITERAL",11:"T_ANY",12:"T_WS",13:"{if",15:"}",18:"{/if}",19:"{include",21:"{implode",22:"{/implode}",23:"{foreach",25:"{/foreach}",26:"{plural",28:"{lang}",29:"{/lang}",30:"{",32:"{#",33:"{@",34:"{ldelim}",35:"{rdelim}",37:"{else}",39:"{elseif",41:"{foreachelse}",42:"T_VARIABLE",43:"T_VARIABLE_NAME",46:"[",47:"]",48:".",49:"(",51:")",52:"=",54:"T_QUOTED_STRING",55:"T_DIGITS"},productions_:[0,[3,2],[4,1],[7,1],[7,1],[7,1],[8,1],[8,1],[10,7],[10,3],[10,5],[10,6],[10,3],[10,3],[10,3],[10,3],[10,3],[10,1],[10,1],[36,2],[38,4],[40,2],[31,3],[45,3],[45,2],[45,3],[20,5],[20,3],[53,1],[53,1],[53,1],[14,1],[57,1],[57,1],[57,1],[57,1],[57,1],[57,1],[57,1],[57,3],[27,5],[27,3],[58,1],[58,1],[6,0],[6,2],[16,0],[16,2],[17,0],[17,1],[24,0],[24,1],[44,0],[44,2],[50,0],[50,1],[56,1],[56,2]],performAction:function(e,t,i,n,o,r,a){var s,l,c,d=r.length-1;switch(o){case 1:return r[d-1]+";";case 2:(s=r[d].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]))[1]&&(s[0]+="'"),this.$=s[0];break;case 3:case 4:this.$={encode:!0,value:r[d].replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/(\r\n|\n|\r)/g,"\\n")};break;case 5:this.$={encode:!1,value:r[d]};break;case 8:this.$="(function() { if ("+r[d-5]+") { return "+r[d-3]+"; } "+r[d-2].join(" ")+" "+(r[d-1]||"")+" return ''; })()";break;case 9:if(!r[d-1].file)throw new Error("Missing parameter file");this.$=r[d-1].file+".fetch(v)";break;case 10:if(!r[d-3].from)throw new Error("Missing parameter from");if(!r[d-3].item)throw new Error("Missing parameter item");r[d-3].glue||(r[d-3].glue="', '"),this.$="(function() { return "+r[d-3].from+".map(function(item) { v["+r[d-3].item+"] = item; return "+r[d-1]+"; }).join("+r[d-3].glue+"); })()";break;case 11:if(!r[d-4].from)throw new Error("Missing parameter from");if(!r[d-4].item)throw new Error("Missing parameter item");this.$="(function() {var looped = false, result = '';if ("+r[d-4].from+" instanceof Array) {for (var i = 0; i < "+r[d-4].from+".length; i++) { looped = true;v["+r[d-4].key+"] = i;v["+r[d-4].item+"] = "+r[d-4].from+"[i];result += "+r[d-2]+";}} else {for (var key in "+r[d-4].from+") {if (!"+r[d-4].from+".hasOwnProperty(key)) continue;looped = true;v["+r[d-4].key+"] = key;v["+r[d-4].item+"] = "+r[d-4].from+"[key];result += "+r[d-2]+";}}return (looped ? result : "+(r[d-1]||"''")+"); })()";break;case 12:for(c in this.$="I18nPlural.getCategoryFromTemplateParameters({",l=!1,r[d-1])objOwns(r[d-1],c)&&(this.$+=(l?",":"")+c+": "+r[d-1][c],l=!0);this.$+="})";break;case 13:this.$="Language.get("+r[d-1]+", v)";break;case 14:this.$="StringUtil.escapeHTML("+r[d-1]+")";break;case 15:this.$="StringUtil.formatNumeric("+r[d-1]+")";break;case 16:this.$=r[d-1];break;case 17:this.$="'{'";break;case 18:this.$="'}'";break;case 19:this.$="else { return "+r[d]+"; }";break;case 20:this.$="else if ("+r[d-2]+") { return "+r[d]+"; }";break;case 21:this.$=r[d];break;case 22:this.$="v['"+r[d-1]+"']"+r[d].join("");break;case 23:this.$=r[d-2]+r[d-1]+r[d];break;case 24:this.$="['"+r[d]+"']";break;case 25:case 39:this.$=r[d-2]+(r[d-1]||"")+r[d];break;case 26:case 40:this.$=r[d],this.$[r[d-4]]=r[d-2];break;case 27:case 41:this.$={},this.$[r[d-2]]=r[d];break;case 31:this.$=r[d].join("");break;case 44:case 46:case 52:this.$=[];break;case 45:case 47:case 53:case 57:r[d-1].push(r[d]);break;case 56:this.$=[r[d]]}},table:[t([5,9,11,12,13,19,21,23,26,28,30,32,33,34,35],i,{3:1,4:2,6:3}),{1:[3]},{5:[1,4]},t([5,18,22,25,29,37,39,41],[2,2],{7:5,8:6,10:8,9:[1,7],11:[1,9],12:[1,10],13:[1,11],19:[1,12],21:[1,13],23:[1,14],26:[1,15],28:[1,16],30:[1,17],32:[1,18],33:[1,19],34:[1,20],35:[1,21]}),{1:[2,1]},t(n,[2,45]),t(n,[2,3]),t(n,[2,4]),t(n,[2,5]),t(n,[2,6]),t(n,[2,7]),{11:o,12:r,14:22,31:30,42:a,43:s,49:l,52:c,54:d,55:u,56:23,57:24},{20:34,43:h},{20:36,43:h},{20:37,43:h},{27:38,43:p,55:m,58:39},t([9,11,12,13,19,21,23,26,28,29,30,32,33,34,35],i,{6:3,4:42}),{31:43,42:a},{31:44,42:a},{31:45,42:a},t(n,[2,17]),t(n,[2,18]),{15:[1,46]},t([15,47,51],[2,31],{31:30,57:47,11:o,12:r,42:a,43:s,49:l,52:c,54:d,55:u}),t(f,[2,56]),t(f,[2,32]),t(f,[2,33]),t(f,[2,34]),t(f,[2,35]),t(f,[2,36]),t(f,[2,37]),t(f,[2,38]),{11:o,12:r,14:48,31:30,42:a,43:s,49:l,52:c,54:d,55:u,56:23,57:24},{43:[1,49]},{15:[1,50]},{52:[1,51]},{15:[1,52]},{15:[1,53]},{15:[1,54]},{52:[1,55]},{52:[2,42]},{52:[2,43]},{29:[1,56]},{15:[1,57]},{15:[1,58]},{15:[1,59]},t(g,i,{6:3,4:60}),t(f,[2,57]),{51:[1,61]},t(b,[2,52],{44:62}),t(n,[2,9]),{31:66,42:a,53:63,54:_,55:v},t([9,11,12,13,19,21,22,23,26,28,30,32,33,34,35],i,{6:3,4:67}),t([9,11,12,13,19,21,23,25,26,28,30,32,33,34,35,41],i,{6:3,4:68}),t(n,[2,12]),{31:66,42:a,53:69,54:_,55:v},t(n,[2,13]),t(n,[2,14]),t(n,[2,15]),t(n,[2,16]),t(w,[2,46],{16:70}),t(f,[2,39]),t([11,12,15,42,43,47,51,52,54,55],[2,22],{45:71,46:[1,72],48:[1,73],49:[1,74]}),{12:[1,75],15:[2,27]},t(y,[2,28]),t(y,[2,29]),t(y,[2,30]),{22:[1,76]},{24:77,25:[2,50],40:78,41:[1,79]},{12:[1,80],15:[2,41]},{17:81,18:[2,48],36:83,37:[1,85],38:82,39:[1,84]},t(b,[2,53]),{11:o,12:r,14:86,31:30,42:a,43:s,49:l,52:c,54:d,55:u,56:23,57:24},{43:[1,87]},{11:o,12:r,14:89,31:30,42:a,43:s,49:l,50:88,51:[2,54],52:c,54:d,55:u,56:23,57:24},{20:90,43:h},t(n,[2,10]),{25:[1,91]},{25:[2,51]},t([9,11,12,13,19,21,23,25,26,28,30,32,33,34,35],i,{6:3,4:92}),{27:93,43:p,55:m,58:39},{18:[1,94]},t(w,[2,47]),{18:[2,49]},{11:o,12:r,14:95,31:30,42:a,43:s,49:l,52:c,54:d,55:u,56:23,57:24},t([9,11,12,13,18,19,21,23,26,28,30,32,33,34,35],i,{6:3,4:96}),{47:[1,97]},t(b,[2,24]),{51:[1,98]},{51:[2,55]},{15:[2,26]},t(n,[2,11]),{25:[2,21]},{15:[2,40]},t(n,[2,8]),{15:[1,99]},{18:[2,19]},t(b,[2,23]),t(b,[2,25]),t(g,i,{6:3,4:100}),t(w,[2,20])],defaultActions:{4:[2,1],40:[2,42],41:[2,43],78:[2,51],83:[2,49],89:[2,55],90:[2,26],92:[2,21],93:[2,40],96:[2,19]},parseError:function(e,t){if(!t.recoverable){var i=new Error(e);throw i.hash=t,i}this.trace(e)},parse:function(e){var t,i,n,o,r,a,s,l,c,d,u,h,p,m,f,g=this,b=[0],_=[null],v=[],w=this.table,y="",E=0,S=0,L=0,C=2,A=1,I=v.slice.call(arguments,1),x=Object.create(this.lexer),k={yy:{}};for(t in this.yy)Object.prototype.hasOwnProperty.call(this.yy,t)&&(k.yy[t]=this.yy[t]);for(x.setInput(e,k.yy),k.yy.lexer=x,k.yy.parser=this,void 0===x.yylloc&&(x.yylloc={}),i=x.yylloc,v.push(i),n=x.options&&x.options.ranges,"function"==typeof k.yy.parseError?this.parseError=k.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,o=function(){var e;return"number"!=typeof(e=x.lex()||A)&&(e=g.symbols_[e]||e),e},d={};;){if(s=b[b.length-1],this.defaultActions[s]?l=this.defaultActions[s]:(null==r&&(r=o()),l=w[s]&&w[s][r]),void 0===l||!l.length||!l[0]){for(u in f="",m=[],w[s])this.terminals_[u]&&u>C&&m.push("'"+this.terminals_[u]+"'");f=x.showPosition?"Parse error on line "+(E+1)+":\n"+x.showPosition()+"\nExpecting "+m.join(", ")+", got '"+(this.terminals_[r]||r)+"'":"Parse error on line "+(E+1)+": Unexpected "+(r==A?"end of input":"'"+(this.terminals_[r]||r)+"'"),this.parseError(f,{text:x.match,token:this.terminals_[r]||r,line:x.yylineno,loc:i,expected:m})}if(l[0]instanceof Array&&l.length>1)throw new Error("Parse Error: multiple actions possible at state: "+s+", token: "+r);switch(l[0]){case 1:b.push(r),_.push(x.yytext),v.push(x.yylloc),b.push(l[1]),r=null,a?(r=a,a=null):(S=x.yyleng,y=x.yytext,E=x.yylineno,i=x.yylloc,L>0&&L--);break;case 2:if(h=this.productions_[l[1]][1],d.$=_[_.length-h],d._$={first_line:v[v.length-(h||1)].first_line,last_line:v[v.length-1].last_line,first_column:v[v.length-(h||1)].first_column,last_column:v[v.length-1].last_column},n&&(d._$.range=[v[v.length-(h||1)].range[0],v[v.length-1].range[1]]),void 0!==(c=this.performAction.apply(d,[y,S,E,k.yy,l[1],_,v].concat(I))))return c;h&&(b=b.slice(0,-1*h*2),_=_.slice(0,-1*h),v=v.slice(0,-1*h)),b.push(this.productions_[l[1]][0]),_.push(d.$),v.push(d._$),p=w[b[b.length-2]][b[b.length-1]],b.push(p);break;case 3:return!0}}return!0}},S={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];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(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,i,n=e.length,o=e.split(/(?:\r\n?|\n)/g);return this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-n),this.offset-=n,t=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),o.length-1&&(this.yylineno-=o.length-1),i=this.yylloc.range,this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:o?(o.length===t.length?this.yylloc.first_column:0)+t[t.length-o.length].length-o[0].length:this.yylloc.first_column-n},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-n]),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 i,n,o,r;if(this.options.backtrack_lexer&&(o={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&&(o.yylloc.range=this.yylloc.range.slice(0))),(n=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.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],i=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack){for(r in o)this[r]=o[r];return!1}return!1},next:function(){var e,t,i,n,o,r;if(this.done)return this.EOF;for(this._input||(this.done=!0),this._more||(this.yytext="",this.match=""),o=this._currentRules(),r=0;r<o.length;r++)if((i=this._input.match(this.rules[o[r]]))&&(!t||i[0].length>t[0].length)){if(t=i,n=r,this.options.backtrack_lexer){if(!1!==(e=this.test_match(i,o[r])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,o[n]))&&e:""===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||this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.length-1>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))>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,i,n){switch(i){case 0:break;case 1:return t.yytext=t.yytext.substring(9,t.yytext.length-10),9;case 2:case 3:return 54;case 4:return 42;case 5:return 55;case 6:return 43;case 7:return 48;case 8:return 46;case 9:return 47;case 10:return 49;case 11:return 51;case 12:return 52;case 13:return 34;case 14:return 35;case 15:return this.begin("command"),32;case 16:return this.begin("command"),33;case 17:return this.begin("command"),13;case 18:case 19:return this.begin("command"),39;case 20:return 37;case 21:return 18;case 22:return 28;case 23:return 29;case 24:return this.begin("command"),19;case 25:return this.begin("command"),21;case 26:return this.begin("command"),26;case 27:return 22;case 28:return this.begin("command"),23;case 29:return 41;case 30:return 25;case 31:return this.begin("command"),30;case 32:return this.popState(),15;case 33:return 12;case 34:return 5;case 35:return 11}},rules:[/^(?:\{\*[\s\S]*?\*\})/,/^(?:\{literal\}[\s\S]*?\{\/literal\})/,/^(?:"([^"]|\\\.)*")/,/^(?:'([^']|\\\.)*')/,/^(?:\$)/,/^(?:[0-9]+)/,/^(?:[_a-zA-Z][_a-zA-Z0-9]*)/,/^(?:\.)/,/^(?:\[)/,/^(?:\])/,/^(?:\()/,/^(?:\))/,/^(?:=)/,/^(?:\{ldelim\})/,/^(?:\{rdelim\})/,/^(?:\{#)/,/^(?:\{@)/,/^(?:\{if )/,/^(?:\{else if )/,/^(?:\{elseif )/,/^(?:\{else\})/,/^(?:\{\/if\})/,/^(?:\{lang\})/,/^(?:\{\/lang\})/,/^(?:\{include )/,/^(?:\{implode )/,/^(?:\{plural )/,/^(?:\{\/implode\})/,/^(?:\{foreach )/,/^(?:\{foreachelse\})/,/^(?:\{\/foreach\})/,/^(?:\{(?!\s))/,/^(?:\})/,/^(?:\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,35],inclusive:!0},INITIAL:{rules:[0,1,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,33,34,35],inclusive:!0}}};return E.lexer=S,E})),define("WoltLabSuite/Core/Template/Compiler",["require","exports","tslib","../Template.grammar"],(function(e,t,i,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.compile=void 0,n=i.__importStar(n),t.compile=function(e){return e="var tmp = {};\nfor (var key in v) tmp[key] = v[key];\nv = tmp;\nv.__wcf = window.WCF; v.__window = window;\nreturn "+(e=n.parse(e)),new Function("StringUtil","Language","I18nPlural","v",e)}})),define("WoltLabSuite/Core/Template",["require","exports","tslib","./Core","./I18n/Plural","./Language/Store","./StringUtil","./Template/Compiler"],(function(e,t,i,n,o,r,a,s){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a);class l{constructor(e){try{this.compiled=s.compile(e)}catch(e){throw console.debug(e.message),e}}fetch(e){return this.compiled(a,r,o,e)}}return Object.defineProperty(l,"callbacks",{enumerable:!1,configurable:!1,get:function(){throw new Error("WCF.Template.callbacks is no longer supported")},set:function(e){throw new Error("WCF.Template.callbacks is no longer supported")}}),n.enableLegacyInheritance(l),l})),define("WoltLabSuite/Core/Language",["require","exports","tslib","./Template","./Language/Store","./Language/Store"],(function(e,t,i,n,o,r){"use strict";function a(e,t){"string"==typeof t?o.add(e,function(e){try{const t=new n.default(e);return t.fetch.bind(t)}catch(t){return function(){return e}}}(t)):o.add(e,(function(){return t}))}Object.defineProperty(t,"__esModule",{value:!0}),t.add=t.addObject=t.get=void 0,n=i.__importDefault(n),Object.defineProperty(t,"get",{enumerable:!0,get:function(){return r.get}}),t.addObject=function(e){Object.entries(e).forEach((([e,t])=>{a(e,t)}))},t.add=a})),define("WoltLabSuite/Core/Ajax/Status",["require","exports","tslib","../Language"],(function(e,t,i,n){"use strict";function o(){return void 0===a&&(a=new r),a}Object.defineProperty(t,"__esModule",{value:!0}),t.hide=t.show=void 0,n=i.__importStar(n);class r{constructor(){this._activeRequests=0,this._timer=null,this._overlay=document.createElement("div"),this._overlay.classList.add("spinner"),this._overlay.setAttribute("role","status");const e=document.createElement("span");e.className="icon icon48 fa-spinner",this._overlay.appendChild(e);const t=document.createElement("span");t.textContent=n.get("wcf.global.loading"),this._overlay.appendChild(t),document.body.appendChild(this._overlay)}show(){this._activeRequests++,null===this._timer&&(this._timer=window.setTimeout((()=>{this._activeRequests&&this._overlay.classList.add("active"),this._timer=null}),250))}hide(){0==--this._activeRequests&&(null!==this._timer&&window.clearTimeout(this._timer),this._overlay.classList.remove("active"))}}let a;t.show=function(){o().show()},t.hide=function(){o().hide()}})),define("WoltLabSuite/Core/CallbackList",["require","exports","tslib","./Core"],(function(e,t,i,n){"use strict";n=i.__importStar(n);class o{constructor(){this._callbacks=new Map}add(e,t){if("function"!=typeof t)throw new TypeError("Expected a valid callback as second argument for identifier '"+e+"'.");this._callbacks.has(e)||this._callbacks.set(e,[]),this._callbacks.get(e).push(t)}remove(e){this._callbacks.delete(e)}forEach(e,t){var i;null===e?this._callbacks.forEach(((e,i)=>{e.forEach(t)})):null===(i=this._callbacks.get(e))||void 0===i||i.forEach(t)}}return n.enableLegacyInheritance(o),o})),define("WoltLabSuite/Core/Dom/Change/Listener",["require","exports","tslib","../../CallbackList"],(function(e,t,i,n){"use strict";const o=new((n=i.__importDefault(n)).default);let r=!1;return{add:o.add.bind(o),remove:o.remove.bind(o),trigger(){if(!r)try{r=!0,o.forEach(null,(e=>e()))}finally{r=!1}}}})),define("WoltLabSuite/Core/Dom/Util",["require","exports","tslib","../StringUtil"],(function(e,t,i,n){"use strict";function o(e,t,i){if(!t.contains(e))throw new Error("Ancestor element does not contain target element.");let n,o=e;const r=i+"Sibling";for(;null!==o&&o!==t;){if(null!==o[i+"ElementSibling"])return!1;if(o[r])for(n=o[r];n;){if(""!==n.textContent.trim())return!1;n=n[r]}o=o.parentNode}return!0}n=i.__importStar(n);let r=0;const a={createFragmentFromHtml(e){const t=document.createElement("div");this.setInnerHtml(t,e);const i=document.createDocumentFragment();for(;t.childNodes.length;)i.appendChild(t.childNodes[0]);return i},getUniqueId(){let e;do{e="wcf"+r++}while(null!==document.getElementById(e));return e},identify(e){if(!(e instanceof Element))throw new TypeError("Expected a valid DOM element as argument.");let t=e.id;return t||(t=this.getUniqueId(),e.id=t),t},outerHeight(e,t){t=t||window.getComputedStyle(e);let i=e.offsetHeight;return i+=~~t.marginTop+~~t.marginBottom,i},outerWidth(e,t){t=t||window.getComputedStyle(e);let i=e.offsetWidth;return i+=~~t.marginLeft+~~t.marginRight,i},outerDimensions(e){const t=window.getComputedStyle(e);return{height:this.outerHeight(e,t),width:this.outerWidth(e,t)}},offset(e){const t=e.getBoundingClientRect();return{top:Math.round(t.top+(window.scrollY||window.pageYOffset)),left:Math.round(t.left+(window.scrollX||window.pageXOffset))}},prepend(e,t){t.insertAdjacentElement("afterbegin",e)},insertAfter(e,t){t.insertAdjacentElement("afterend",e)},setStyles(e,t){let i=!1;Object.keys(t).forEach((n=>{/ !important$/.test(t[n])?(i=!0,t[n]=t[n].replace(/ !important$/,"")):i=!1,"important"!==e.style.getPropertyPriority(n)||i||e.style.removeProperty(n),e.style.setProperty(n,t[n],i?"important":"")}))},styleAsInt(e,t){const i=e.getPropertyValue(t);return null===i?0:parseInt(i,10)},setInnerHtml(e,t){let i;e.innerHTML=t,i=e instanceof HTMLTemplateElement?e.content:e;const n=i.querySelectorAll("script");for(let e=0,t=n.length;e<t;e++){const t=n[e],o=document.createElement("script");t.src?o.src=t.src:o.textContent=t.textContent,i.appendChild(o),t.remove()}},insertHtml(e,t,i){const n=document.createElement("template");this.setInnerHtml(n,e);const o=document.importNode(n.content,!0);switch(i){case"append":t.appendChild(o);break;case"after":if(null===t.parentNode)throw new Error("The reference element has no parent, but the insert position was set to 'after'.");t.parentNode.insertBefore(o,t.nextSibling);break;case"prepend":t.insertBefore(o,t.firstChild);break;case"before":if(null===t.parentNode)throw new Error("The reference element has no parent, but the insert position was set to 'before'.");t.parentNode.insertBefore(o,t);break;default:throw new Error("Unknown insert method '"+i+"'.")}},contains:(e,t)=>e.contains(t),getDataAttributes(e,t,i,o){0!==(t=t||"").indexOf("data-")&&(t="data-"+t),i=!0===i,o=!0===o;const r={};for(let a=0,s=e.attributes.length;a<s;a++){const s=e.attributes[a];if(0===s.name.indexOf(t)){let e=s.name.replace(new RegExp("^"+t),"");if(i){const t=e.split("-");e="";for(let i=0,r=t.length;i<r;i++)e.length&&(o&&"id"===t[i]?t[i]="ID":t[i]=n.ucfirst(t[i])),e+=t[i]}r[e]=s.value}}return r},unwrapChildNodes(e){if(null===e.parentNode)throw new Error("The element has no parent.");const t=e.parentNode;for(;e.childNodes.length;)t.insertBefore(e.childNodes[0],e);e.remove()},replaceElement(e,t){if(null===e.parentNode)throw new Error("The old element has no parent.");for(;e.childNodes.length;)t.appendChild(e.childNodes[0]);e.parentNode.insertBefore(t,e),e.remove()},isAtNodeStart:(e,t)=>o(e,t,"previous"),isAtNodeEnd:(e,t)=>o(e,t,"next"),getFixedParent(e){for(;e&&e!==document.body;){if("fixed"===window.getComputedStyle(e).getPropertyValue("position"))return e;e=e.offsetParent}return null},hide(e){e.style.setProperty("display","none","")},show(e){e.style.removeProperty("display")},isHidden:e=>"none"===e.style.getPropertyValue("display"),toggle(e){this.isHidden(e)?this.show(e):this.hide(e)},innerError(e,t,i){const n=e.parentNode;if(null===n)throw new Error("Only elements that have a parent element or document are valid.");if("string"!=typeof t){if(t)throw new TypeError("The error message must be a string; `false`, `null` or `undefined` can be used as a substitute for an empty string.");t=""}let o=n,r=e;o.classList.contains("inputAddon")&&(o=n.parentElement,r=n);let a=r.nextElementSibling;return null!==a&&"SMALL"===a.nodeName&&a.classList.contains("innerError")||(""===t?a=null:(a=document.createElement("small"),a.className="innerError",o.insertBefore(a,r.nextSibling))),""===t?null!==a&&(a.remove(),a=null):i?a.innerHTML=t:a.textContent=t,a},innerSuccess(e,t,i){const n=e.parentNode;if(null===n)throw new Error("Only elements that have a parent element or document are valid.");if("string"!=typeof t){if(t)throw new TypeError("The message must be a string; `false`, `null` or `undefined` can be used as a substitute for an empty string.");t=""}let o=e.nextElementSibling;return null!==o&&"SMALL"===o.nodeName&&o.classList.contains("innerSuccess")||(""===t?o=null:(o=document.createElement("small"),o.className="innerSuccess",n.insertBefore(o,e.nextSibling))),""===t?null!==o&&(o.remove(),o=null):i?o.innerHTML=t:o.textContent=t,o},closest:(e,t)=>(e instanceof HTMLElement?e:e.parentElement).closest(t),getClosestElement:e=>e instanceof HTMLElement?e:e.parentElement};return window.bc_wcfDomUtil=a,a})),define("WoltLabSuite/Core/Ajax/Request",["require","exports","tslib","./Status","../Core","../Dom/Change/Listener","../Dom/Util","../Language"],(function(e,t,i,n,o,r,a,s){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importDefault(a),s=i.__importStar(s);let l=!1,c=!1;class d{constructor(e){this._options=o.extend({data:{},contentType:"application/x-www-form-urlencoded; charset=UTF-8",responseType:"application/json",type:"POST",url:"",withCredentials:!1,autoAbort:!1,ignoreError:!1,pinData:!1,silent:!1,includeRequestedWith:!0,failure:null,finalize:null,success:null,progress:null,uploadProgress:null,callbackObject:null},e),"object"==typeof e.callbackObject&&(this._options.callbackObject=e.callbackObject),this._options.url=o.convertLegacyUrl(this._options.url),0===this._options.url.indexOf("index.php")&&(this._options.url=window.WSC_API_URL+this._options.url),0===this._options.url.indexOf(window.WSC_API_URL)&&(this._options.includeRequestedWith=!0,this._options.withCredentials=!0),this._options.pinData&&(this._data=this._options.data),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)),"function"==typeof this._options.callbackObject._ajaxProgress&&(this._options.progress=this._options.callbackObject._ajaxProgress.bind(this._options.callbackObject)),"function"==typeof this._options.callbackObject._ajaxUploadProgress&&(this._options.uploadProgress=this._options.callbackObject._ajaxUploadProgress.bind(this._options.callbackObject))),l||(l=!0,window.addEventListener("beforeunload",(()=>c=!0)))}sendRequest(e){(e||this._options.autoAbort)&&this.abortPrevious(),this._options.silent||n.show(),this._xhr instanceof XMLHttpRequest&&(this._previousXhr=this._xhr),this._xhr=new XMLHttpRequest,this._xhr.open(this._options.type,this._options.url,!0),this._options.contentType&&this._xhr.setRequestHeader("Content-Type",this._options.contentType),(this._options.withCredentials||this._options.includeRequestedWith)&&this._xhr.setRequestHeader("X-Requested-With","XMLHttpRequest"),this._options.withCredentials&&(this._xhr.withCredentials=!0);const t=o.clone(this._options),i=this._xhr;if(i.onload=()=>{i.readyState===XMLHttpRequest.DONE&&(i.status>=200&&i.status<300||304===i.status?t.responseType&&0!==i.getResponseHeader("Content-Type").indexOf(t.responseType)?this._failure(i,t):this._success(i,t):this._failure(i,t))},i.onerror=()=>{this._failure(i,t)},this._options.progress&&(i.onprogress=this._options.progress),this._options.uploadProgress&&(i.upload.onprogress=this._options.uploadProgress),"POST"===this._options.type){let e=this._options.data;"object"==typeof e&&"FormData"!==o.getType(e)&&(e=o.serialize(e)),i.send(e)}else i.send()}abortPrevious(){this._previousXhr&&(this._previousXhr.abort(),this._previousXhr=void 0,this._options.silent||n.hide())}setOption(e,t){this._options[e]=t}getOption(e){return Object.prototype.hasOwnProperty.call(this._options,e)?this._options[e]:null}setData(e){null!==this._data&&"FormData"!==o.getType(e)&&(e=o.extend(this._data,e)),this._options.data=e}_success(t,o){if(o.silent||n.hide(),"function"==typeof o.success){let n=null;if("application/json"===t.getResponseHeader("Content-Type").split(";",1)[0].trim()){try{n=JSON.parse(t.responseText)}catch(e){return void this._failure(t,o)}n&&n.returnValues&&void 0!==n.returnValues.template&&(n.returnValues.template=n.returnValues.template.trim()),n&&n.forceBackgroundQueuePerform&&new Promise(((t,i)=>{e(["../BackgroundQueue"],t,i)})).then(i.__importStar).then((e=>e.invoke()))}o.success(n,t.responseText,t,o.data)}this._finalize(o)}_failure(t,o){if(c)return;o.silent||n.hide();let r=null;try{r=JSON.parse(t.responseText)}catch(e){}let l=!0;if("function"==typeof o.failure){l=!1!==o.failure(r||{},t.responseText||"",t,o.data)}if(!0!==o.ignoreError&&l){const n=this.getErrorHtml(r,t);n&&new Promise(((t,i)=>{e(["../Ui/Dialog"],t,i)})).then(i.__importStar).then((e=>{e.openStatic(a.default.getUniqueId(),n,{title:s.get("wcf.global.error.title")})}))}this._finalize(o)}getErrorHtml(e,t){let i,n="";if(null!==e&&Object.keys(e).length>0?(e.returnValues&&e.returnValues.description&&(n+=`<br><p>Description:</p><p>${e.returnValues.description}</p>`),e.file&&e.line&&(n+=`<br><p>File:</p><p>${e.file} in line ${e.line}</p>`),e.stacktrace?n+=`<br><p>Stacktrace:</p><p>${e.stacktrace}</p>`:e.exceptionID&&(n+=`<br><p>Exception ID: <code>${e.exceptionID}</code></p>`),i=e.message,e.previous.forEach((e=>{n+=`<hr><p>${e.message}</p>`,n+=`<br><p>Stacktrace</p><p>${e.stacktrace}</p>`}))):i=t.responseText,!i||"undefined"===i){if(!window.ENABLE_DEBUG_MODE)return null;i="XMLHttpRequest failed without a responseText. Check your browser console."}return`<div class="ajaxDebugMessage"><p>${i}</p>${n}</div>`}_finalize(e){"function"==typeof e.finalize&&e.finalize(this._xhr),this._previousXhr=void 0,r.default.trigger(),document.querySelectorAll('a[href*="#"]').forEach((e=>{let t=e.href;-1===t.indexOf("AJAXProxy")&&-1===t.indexOf("ajax-proxy")||(t=t.substr(t.indexOf("#")),e.href=document.location.toString().replace(/#.*/,"")+t)}))}}return o.enableLegacyInheritance(d),d})),define("WoltLabSuite/Core/Ajax",["require","exports","tslib","./Ajax/Request"],(function(e,t,i,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getRequestObject=t.apiOnce=t.api=void 0,n=i.__importDefault(n);const o=new WeakMap;t.api=function(e,t,i,r){"object"!=typeof t&&(t={});let a=o.get(e);if(void 0===a){if("function"!=typeof e._ajaxSetup)throw new TypeError("Callback object must implement at least _ajaxSetup().");const t=e._ajaxSetup();t.pinData=!0,t.callbackObject=e,t.url||(t.url="index.php?ajax-proxy/&t="+window.SECURITY_TOKEN,t.withCredentials=!0),a=new n.default(t),o.set(e,a)}let s=null,l=null;return"function"==typeof i&&(s=a.getOption("success"),a.setOption("success",i)),"function"==typeof r&&(l=a.getOption("failure"),a.setOption("failure",r)),a.setData(t),a.sendRequest(),null!==s&&a.setOption("success",s),null!==l&&a.setOption("failure",l),a},t.apiOnce=function(e){e.pinData=!1,e.callbackObject=null,e.url||(e.url="index.php?ajax-proxy/&t="+window.SECURITY_TOKEN,e.withCredentials=!0),new n.default(e).sendRequest(!1)},t.getRequestObject=function(e){if(!o.has(e))throw new Error("Expected a previously used callback object, provided object is unknown.");return o.get(e)}})),define("WoltLabSuite/Core/BackgroundQueue",["require","exports","tslib","./Ajax"],(function(e,t,i,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.invoke=t.setUrl=void 0,n=i.__importStar(n);class o{constructor(e){this._invocations=0,this._isBusy=!1,this._url=e}invoke(){this._isBusy||(this._isBusy=!0,n.api(this))}_ajaxSuccess(e){this._invocations++,e>0&&this._invocations<5?window.setTimeout((()=>{this._isBusy=!1,this.invoke()}),1e3):(this._isBusy=!1,this._invocations=0)}_ajaxSetup(){return{url:this._url,ignoreError:!0,silent:!0}}}let r;t.setUrl=function(e){r||(r=new o(e))},t.invoke=function(){r?r.invoke():console.error("The background queue has not been initialized yet.")}})),define("WoltLabSuite/Core/Date/Util",["require","exports","tslib","../Language"],(function(e,t,i,n){"use strict";function o(e){return a(e,n.get("wcf.date.dateFormat"))}function r(e){return a(e,n.get("wcf.date.timeFormat"))}function a(e,t){"c"===t&&(t="Y-m-dTH:i:sP");let i="";for(let o=0,r=t.length;o<r;o++){let a;switch(t[o]){case"s":a=e.getSeconds().toString().padStart(2,"0");break;case"i":a=e.getMinutes().toString().padStart(2,"0");break;case"a":a=e.getHours()>11?"pm":"am";break;case"g":{const t=e.getHours();a=0===t?"12":t>12?(t-12).toString():t.toString();break}case"h":{const t=e.getHours();a=0===t?"12":t>12?(t-12).toString():t.toString(),a=a.padStart(2,"0");break}case"A":a=e.getHours()>11?"PM":"AM";break;case"G":a=e.getHours().toString();break;case"H":a=e.getHours().toString().padStart(2,"0");break;case"d":a=e.getDate().toString().padStart(2,"0");break;case"j":a=e.getDate().toString();break;case"l":a=n.get("__days")[e.getDay()];break;case"D":a=n.get("__daysShort")[e.getDay()];break;case"S":a="";break;case"m":a=(e.getMonth()+1).toString().padStart(2,"0");break;case"n":a=(e.getMonth()+1).toString();break;case"F":a=n.get("__months")[e.getMonth()];break;case"M":a=n.get("__monthsShort")[e.getMonth()];break;case"y":a=e.getFullYear().toString().slice(-2);break;case"Y":a=e.getFullYear().toString();break;case"P":{let t=e.getTimezoneOffset();a=t>0?"-":"+",t=Math.abs(t),a+=(~~(t/60)).toString().padStart(2,"0"),a+=":",a+=(t%60).toString().padStart(2,"0");break}case"r":a=e.toString();break;case"U":a=Math.round(e.getTime()/1e3).toString();break;case"\\":a="",o+1<r&&(a=t[++o]);break;default:a=t[o]}i+=a}return i}Object.defineProperty(t,"__esModule",{value:!0}),t.getTimezoneDate=t.getTimeElement=t.gmdate=t.format=t.formatDateTime=t.formatTime=t.formatDate=void 0,n=i.__importStar(n),t.formatDate=o,t.formatTime=r,t.formatDateTime=function(e){const t=n.get("wcf.date.dateTimeFormat"),i=n.get("wcf.date.dateFormat"),o=n.get("wcf.date.timeFormat");return a(e,t.replace(/%date%/,i).replace(/%time%/,o))},t.format=a,t.gmdate=function(e){return e instanceof Date||(e=new Date),Math.round(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDay(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds())/1e3)},t.getTimeElement=function(e){const t=document.createElement("time");t.className="datetime";const i=o(e),s=r(e);return t.setAttribute("datetime",a(e,"c")),t.dataset.timestamp=((e.getTime()-e.getMilliseconds())/1e3).toString(),t.dataset.date=i,t.dataset.time=s,t.dataset.offset=(60*e.getTimezoneOffset()).toString(),e.getTime()>Date.now()&&(t.dataset.isFutureDate="true",t.textContent=n.get("wcf.date.dateTimeFormat").replace("%time%",s).replace("%date%",i)),t},t.getTimezoneDate=function(e,t){const i=6e4*new Date(e).getTimezoneOffset();return new Date(e+i+t)}})),define("WoltLabSuite/Core/Devtools",["require","exports"],(function(e,t){"use strict";function i(){window.sessionStorage&&window.sessionStorage.setItem("__wsc_devtools_config",JSON.stringify(n))}let n={editorAutosave:!0,eventLogging:!1};const o={help(){window.console.log(""),window.console.log("%cAvailable commands:","text-decoration: underline"),Object.keys(o).filter((e=>"_internal_"!==e)).sort().forEach((e=>{window.console.log(`\tDevtools.${e}()`)})),window.console.log("")},toggleEditorAutosave(e){n.editorAutosave=!e&&!n.editorAutosave,i(),window.console.log("%c\tEditor autosave "+(n.editorAutosave?"enabled":"disabled"),"font-style: italic")},toggleEventLogging(e){n.eventLogging=!!e||!n.eventLogging,i(),window.console.log("%c\tEvent logging "+(n.eventLogging?"enabled":"disabled"),"font-style: italic")},_internal_:{enable(){if(window.Devtools=o,window.console.log("%cDevtools for WoltLab Suite loaded","font-weight: bold"),window.sessionStorage){const e=window.sessionStorage.getItem("__wsc_devtools_config");try{null!==e&&(n=JSON.parse(e))}catch(e){}n.editorAutosave||o.toggleEditorAutosave(!0),n.eventLogging&&o.toggleEventLogging(!0)}window.console.log("Settings are saved per browser session, enter `Devtools.help()` to learn more."),window.console.log("")},editorAutosave:()=>n.editorAutosave,eventLog(e,t){n.eventLogging&&window.console.log("[Devtools.EventLogging] Firing event: "+t+" @ "+e)}}};return o})),define("WoltLabSuite/Core/Event/Handler",["require","exports","tslib","../Core","../Devtools"],(function(e,t,i,n,o){"use strict";function r(e,t){"string"!=typeof t&&(t=void 0);const i=a.get(e);void 0!==i&&(void 0===t?a.delete(e):i.delete(t))}Object.defineProperty(t,"__esModule",{value:!0}),t.removeAllBySuffix=t.removeAll=t.remove=t.fire=t.add=void 0,n=i.__importStar(n),o=i.__importDefault(o);const a=new Map;t.add=function(e,t,i){if("function"!=typeof i)throw new TypeError(`Expected a valid callback for '${t}'@'${e}'.`);let o=a.get(e);void 0===o&&(o=new Map,a.set(e,o));let r=o.get(t);void 0===r&&(r=new Map,o.set(t,r));const s=n.getUuid();return r.set(s,i),s},t.fire=function(e,t,i){var n,r;o.default._internal_.eventLog(e,t),i=i||{},null===(r=null===(n=a.get(e))||void 0===n?void 0:n.get(t))||void 0===r||r.forEach((e=>e(i)))},t.remove=function(e,t,i){var n,o;null===(o=null===(n=a.get(e))||void 0===n?void 0:n.get(t))||void 0===o||o.delete(i)},t.removeAll=r,t.removeAllBySuffix=function(e,t){const i=a.get(e);if(void 0===i)return;const n=-1*(t="_"+t).length;i.forEach(((i,o)=>{o.substr(n)===t&&r(e,o)}))}})),define("WoltLabSuite/Core/Dom/Traverse",["require","exports"],(function(e,t){"use strict";function i(e,t,i){if(!(e instanceof Element))throw new TypeError("Expected a valid element as first argument.");const n=[];for(let o=0;o<e.childElementCount;o++)r.get(t)(e.children[o],i)&&n.push(e.children[o]);return n}function n(e,t,i,n){if(!(e instanceof Element))throw new TypeError("Expected a valid element as first argument.");let o=e.parentNode;for(;o instanceof Element;){if(o===n)return null;if(r.get(t)(o,i))return o;o=o.parentNode}return null}function o(e,t,i,n){if(!(e instanceof Element))throw new TypeError("Expected a valid element as first argument.");return e instanceof Element&&null!==e[t]&&r.get(i)(e[t],n)?e[t]:null}Object.defineProperty(t,"__esModule",{value:!0}),t.prevByTag=t.prevByClass=t.prevBySel=t.prev=t.nextByTag=t.nextByClass=t.nextBySel=t.next=t.parentByTag=t.parentByClass=t.parentBySel=t.childrenByTag=t.childrenByClass=t.childrenBySel=t.childByTag=t.childByClass=t.childBySel=void 0;const r=new Map([[0,()=>!0],[1,(e,t)=>e.matches(t)],[2,(e,t)=>e.classList.contains(t)],[3,(e,t)=>e.nodeName===t]]);t.childBySel=function(e,t){return i(e,1,t)[0]||null},t.childByClass=function(e,t){return i(e,2,t)[0]||null},t.childByTag=function(e,t){return i(e,3,t)[0]||null},t.childrenBySel=function(e,t){return i(e,1,t)},t.childrenByClass=function(e,t){return i(e,2,t)},t.childrenByTag=function(e,t){return i(e,3,t)},t.parentBySel=function(e,t,i){return n(e,1,t,i)},t.parentByClass=function(e,t,i){return n(e,2,t,i)},t.parentByTag=function(e,t,i){return n(e,3,t,i)},t.next=function(e){return o(e,"nextElementSibling",0,"")},t.nextBySel=function(e,t){return o(e,"nextElementSibling",1,t)},t.nextByClass=function(e,t){return o(e,"nextElementSibling",2,t)},t.nextByTag=function(e,t){return o(e,"nextElementSibling",3,t)},t.prev=function(e){return o(e,"previousElementSibling",0,"")},t.prevBySel=function(e,t){return o(e,"previousElementSibling",1,t)},t.prevByClass=function(e,t){return o(e,"previousElementSibling",2,t)},t.prevByTag=function(e,t){return o(e,"previousElementSibling",3,t)}})),define("WoltLabSuite/Core/Ui/Alignment",["require","exports","tslib","../Core","../Dom/Traverse","../Dom/Util","../Language"],(function(e,t,i,n,o,r,a){"use strict";function s(e,t,i,n,o,r){let a="auto",s="auto",l=!0,c=50;const d=document.getElementById("pageHeaderPanel");if(null!==d){const e=window.getComputedStyle(d).position;c="fixed"===e||"static"===e?d.offsetHeight:0}if("top"===e){const e=document.body.clientHeight;a=e-n.top+r,e-(a+t.height)<(window.scrollY||window.pageYOffset)+c&&(l=!1)}else s=n.top+i.height+r,s+t.height-(window.scrollY||window.pageYOffset)>o&&(l=!1);return{align:e,bottom:a,top:s,result:l}}function l(e,t,i,n,o){let r="auto",a="auto",s=!0;return"left"===e?(r=n.left,r+t.width>o&&(s=!1)):"right"===e?n.left+i.width<t.width?s=!1:(a=o-(n.left+i.width),a<0&&(s=!1)):(r=n.left+i.width/2-t.width/2,r=~~r,(r<0||r+t.width>o)&&(s=!1)),{align:e,left:r,right:a,result:s}}Object.defineProperty(t,"__esModule",{value:!0}),t.set=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importStar(a),t.set=function(e,t,i){i=n.extend({verticalOffset:0,pointer:!1,pointerClassNames:[],refDimensionsElement:null,horizontal:"left",vertical:"bottom",allowFlip:"both"},i||{}),Array.isArray(i.pointerClassNames)&&i.pointerClassNames.length===(i.pointer?1:2)||(i.pointerClassNames=[]),-1===["left","right","center"].indexOf(i.horizontal)&&(i.horizontal="left"),"bottom"!==i.vertical&&(i.vertical="top"),-1===["both","horizontal","vertical","none"].indexOf(i.allowFlip)&&(i.allowFlip="both"),r.default.setStyles(e,{bottom:"auto !important",left:"0 !important",right:"auto !important",top:"0 !important",visibility:"hidden !important"});const c=r.default.outerDimensions(e),d=r.default.outerDimensions(i.refDimensionsElement instanceof HTMLElement?i.refDimensionsElement:t),u=r.default.offset(t),h=window.innerHeight,p=document.body.clientWidth;let m=null,f=!1;if("center"===i.horizontal&&(f=!0,m=l(i.horizontal,c,d,u,p),m.result||("both"===i.allowFlip||"horizontal"===i.allowFlip?i.horizontal="left":m.result=!0)),"rtl"===a.get("wcf.global.pageDirection")&&(i.horizontal="left"===i.horizontal?"right":"left"),null===m||!m.result){const e=m;if(m=l(i.horizontal,c,d,u,p),!m.result&&("both"===i.allowFlip||"horizontal"===i.allowFlip)){const t=l("left"===i.horizontal?"right":"left",c,d,u,p);t.result?m=t:f&&(m=e)}}const g=m.left,b=m.right;let _=s(i.vertical,c,d,u,h,i.verticalOffset);if(!_.result&&("both"===i.allowFlip||"vertical"===i.allowFlip)){const e=s("top"===i.vertical?"bottom":"top",c,d,u,h,i.verticalOffset);e.result&&(_=e)}const v=_.bottom,w=_.top;if(i.pointer){const t=o.childrenByClass(e,"elementPointer")[0]||null;if(null===t)throw new Error("Expected the .elementPointer element to be a direct children.");"center"===m.align?(t.classList.add("center"),t.classList.remove("left","right")):(t.classList.add(m.align),t.classList.remove("center"),t.classList.remove("left"===m.align?"right":"left")),"top"===_.align?t.classList.add("flipVertical"):t.classList.remove("flipVertical")}else 2===i.pointerClassNames.length&&(e.classList["auto"===w?"add":"remove"](i.pointerClassNames[0]),e.classList["auto"===g?"add":"remove"](i.pointerClassNames[1]));r.default.setStyles(e,{bottom:"auto"===v?v:Math.round(v).toString()+"px",left:"auto"===g?g:Math.ceil(g).toString()+"px",right:"auto"===b?b:Math.floor(b).toString()+"px",top:"auto"===w?w:Math.round(w).toString()+"px"}),r.default.show(e),e.style.removeProperty("visibility")}})),define("WoltLabSuite/Core/Ui/CloseOverlay",["require","exports","tslib","../CallbackList"],(function(e,t,i,n){"use strict";const o=new((n=i.__importDefault(n)).default),r={add:o.add.bind(o),remove:o.remove.bind(o),execute(){o.forEach(null,(e=>e()))}};return document.body.addEventListener("click",(()=>r.execute())),r})),define("WoltLabSuite/Core/Date/Picker",["require","exports","tslib","../Core","./Util","../Dom/Change/Listener","../Event/Handler","../Language","../Ui/Alignment","../Ui/CloseOverlay","../Dom/Util"],(function(e,t,i,n,o,r,a,s,l,c,d){"use strict";function u(e,t,i){const n=i?"minDate":"maxDate";let o=(e.dataset[n]||"").trim();if(/^(\d{4})-(\d{2})-(\d{2})$/.exec(o))o=new Date(o).getTime().toString();else if("now"===o)o=t.getTime().toString();else if(/^\d{1,3}$/.exec(o)){const e=new Date(t.getTime());e.setFullYear(e.getFullYear()+~~o*(i?-1:1)),o=e.getTime().toString()}else if(/^datePicker-(.+)$/.exec(o)){if(o=RegExp.$1,null===document.getElementById(o))throw new Error("Reference date picker identified by '"+o+"' does not exists (element id: '"+e.id+"').")}else o=/^\d{4}-\d{2}-\d{2}T/.test(o)?new Date(o).getTime().toString():new Date(i?1902:2038,0,1).getTime().toString();e.dataset[n]=o}function h(e){let t=k.dataset[e]||"";if(/^datePicker-(.+)$/.exec(t)){const e=document.getElementById(RegExp.$1);if(null===e)throw new Error(`Unable to find an element with the id '${RegExp.$1}'.`);t=e.dataset.value||""}return new Date(parseInt(t,10))}function p(e){e.preventDefault(),e.stopPropagation(),function(){if(null!==U)return;U=document.createElement("div"),U.className="datePicker",U.addEventListener("click",(e=>{e.stopPropagation()}));const e=document.createElement("header");U.appendChild(e),N=document.createElement("a"),N.className="previous jsTooltip",N.href="#",N.setAttribute("role","button"),N.tabIndex=0,N.title=s.get("wcf.date.datePicker.previousMonth"),N.setAttribute("aria-label",s.get("wcf.date.datePicker.previousMonth")),N.innerHTML='<span class="icon icon16 fa-arrow-left"></span>',N.addEventListener("click",(e=>F.previousMonth(e))),e.appendChild(N);const t=document.createElement("span");e.appendChild(t),B=document.createElement("select"),B.className="month jsTooltip",B.title=s.get("wcf.date.datePicker.month"),B.setAttribute("aria-label",s.get("wcf.date.datePicker.month")),B.addEventListener("change",_),t.appendChild(B);let i="";const n=s.get("__monthsShort");for(let e=0;e<12;e++)i+=`<option value="${e}">${n[e]}</option>`;B.innerHTML=i,O=document.createElement("select"),O.className="year jsTooltip",O.title=s.get("wcf.date.datePicker.year"),O.setAttribute("aria-label",s.get("wcf.date.datePicker.year")),O.addEventListener("change",v),t.appendChild(O),P=document.createElement("a"),P.className="next jsTooltip",P.href="#",P.setAttribute("role","button"),P.tabIndex=0,P.title=s.get("wcf.date.datePicker.nextMonth"),P.setAttribute("aria-label",s.get("wcf.date.datePicker.nextMonth")),P.innerHTML='<span class="icon icon16 fa-arrow-right"></span>',P.addEventListener("click",(e=>F.nextMonth(e))),e.appendChild(P),T=document.createElement("ul"),U.appendChild(T);const r=document.createElement("li");r.className="weekdays",T.appendChild(r);const a=s.get("__daysShort");for(let e=0;e<7;e++){let t=e+L;t>6&&(t-=7);const i=document.createElement("span");i.textContent=a[t],r.appendChild(i)}for(let e=0;e<6;e++){const e=document.createElement("li");T.appendChild(e);for(let t=0;t<7;t++){const t=document.createElement("a");t.addEventListener("click",w),D.push(t),e.appendChild(t)}}q=document.createElement("footer"),U.appendChild(q),M=document.createElement("select"),M.className="hour",M.title=s.get("wcf.date.datePicker.hour"),M.setAttribute("aria-label",s.get("wcf.date.datePicker.hour")),M.addEventListener("change",b);const l=new Date(2e3,0,1),c=s.get("wcf.date.timeFormat").replace(/:/,"").replace(/[isu]/g,"");let d="";for(let e=0;e<24;e++)l.setHours(e),d+=`<option value="${e}">${o.format(l,c)}</option>`;M.innerHTML=d,q.appendChild(M),q.appendChild(document.createTextNode(" : ")),j=document.createElement("select"),j.className="minute",j.title=s.get("wcf.date.datePicker.minute"),j.setAttribute("aria-label",s.get("wcf.date.datePicker.minute")),j.addEventListener("change",b),d="";for(let e=0;e<60;e++){const t=e<10?"0"+e.toString():e;d+=`<option value="${e}">${t}</option>`}j.innerHTML=d,q.appendChild(j),document.body.appendChild(U),document.body.addEventListener("focus",E,{capture:!0})}();const t=e.currentTarget,i="INPUT"===t.nodeName?t:t.previousElementSibling;if(i===k)return void m();const r=i.closest(".dialogContent");null!==r&&(n.stringToBool(r.dataset.hasDatepickerScrollListener||"")||(r.addEventListener("scroll",f),r.dataset.hasDatepickerScrollListener="1")),k=i;const a=A.get(k),c=k.dataset.value;let d;c?(d=new Date(parseInt(c,10)),"Invalid Date"===d.toString()&&(d=new Date)):d=new Date,x=h("minDate"),x.getTime()>d.getTime()&&(d=x),I=h("maxDate"),a.isDateTime?(M.value=d.getHours().toString(),j.value=d.getMinutes().toString(),U.classList.add("datePickerTime")):U.classList.remove("datePickerTime"),U.classList[a.isTimeOnly?"add":"remove"]("datePickerTimeOnly"),function(e,t,i){g(e,t,i);let n="";for(let e=x.getFullYear(),t=I.getFullYear();e<=t;e++)n+=`<option value="${e}">${e}</option>`;O.innerHTML=n,O.value=i.toString(),B.value=t.toString(),U.classList.add("active")}(d.getDate(),d.getMonth(),d.getFullYear()),l.set(U,k),k.nextElementSibling.setAttribute("aria-expanded","true"),C=!1}function m(){if(null===U||!U.classList.contains("active"))return;U.classList.remove("active");const e=A.get(k);"function"==typeof e.onClose&&e.onClose(),a.fire("WoltLabSuite/Core/Date/Picker","close",{element:k});k.nextElementSibling.setAttribute("aria-expanded","false"),k=null}function f(e){if(null===k)return;const t=e.currentTarget,i=d.default.offset(k),n=d.default.offset(t);i.top+k.clientHeight<=n.top||i.top>=n.top+t.offsetHeight||i.left<=n.left||i.left>=n.left+t.offsetWidth?m():l.set(U,k)}function g(e,t,i){const n=void 0!==e,r=void 0!==t;if("number"!=typeof e&&(e=parseInt(e||T.dataset.day||"0",10)),"number"!=typeof t&&(t=parseInt(t||"0",10)),"number"!=typeof i&&(i=parseInt(i||"0",10)),r||i){let a=0!==i;const s=document.createDocumentFragment();s.appendChild(T),r||(t=parseInt(T.dataset.month,10)),i||(i=parseInt(T.dataset.year,10));let l,c=new Date(i.toString()+"-"+("0"+(t+1).toString()).slice(-2)+"-"+("0"+e.toString()).slice(-2));for(c<x?(i=x.getFullYear(),t=x.getMonth(),e=x.getDate(),B.value=t.toString(),O.value=i.toString(),a=!0):c>I&&(i=I.getFullYear(),t=I.getMonth(),e=I.getDate(),B.value=t.toString(),O.value=i.toString(),a=!0),c=new Date(i.toString()+"-"+("0"+(t+1).toString()).slice(-2)+"-01");c.getDay()!==L;)c.setDate(c.getDate()-1);d.default.show(D[35].parentNode);const u=new Date(x.getFullYear(),x.getMonth(),x.getDate());for(let e=0;e<42;e++){if(35===e&&c.getMonth()!==t){d.default.hide(D[35].parentNode);break}const i=D[e];i.textContent=c.getDate().toString(),l=c.getMonth()===t,l&&(c<u||c>I)&&(l=!1),i.classList[l?"remove":"add"]("otherMonth"),l&&(i.href="#",i.setAttribute("role","button"),i.tabIndex=0,i.title=o.formatDate(c),i.setAttribute("aria-label",o.formatDate(c))),c.setDate(c.getDate()+1)}if(T.dataset.month=t.toString(),T.dataset.year=i.toString(),U.insertBefore(s,q),!n&&(c=new Date(i,t,e),c.getDate()!==e)){for(;c.getMonth()!==t;)c.setDate(c.getDate()-1);e=c.getDate()}if(a){for(let e=0;e<12;e++){const t=B.children[e];t.disabled=i===x.getFullYear()&&+t.value<x.getMonth()||i===I.getFullYear()&&+t.value>I.getMonth()}const e=new Date(i.toString()+"-"+("0"+(t+1).toString()).slice(-2)+"-01");e.setMonth(e.getMonth()+1),P.classList[e<I?"add":"remove"]("active");const n=new Date(i.toString()+"-"+("0"+(t+1).toString()).slice(-2)+"-01");n.setDate(n.getDate()-1),N.classList[n>x?"add":"remove"]("active")}}if(e){for(let t=0;t<35;t++){const i=D[t];i.classList[i.classList.contains("otherMonth")||+i.textContent!==e?"remove":"add"]("active")}T.dataset.day=e.toString()}b()}function b(){const e=A.get(k);let t;n.stringToBool(k.dataset.empty||"")||(t=e.isDateTime?new Date(+T.dataset.year,+T.dataset.month,+T.dataset.day,+M.value,+j.value):new Date(+T.dataset.year,+T.dataset.month,+T.dataset.day),F.setDate(k,t))}function _(e){g(void 0,+e.currentTarget.value)}function v(e){g(void 0,void 0,+e.currentTarget.value)}function w(e){e.preventDefault();const t=e.currentTarget;if(t.classList.contains("otherMonth"))return;k.dataset.empty="false",g(+t.textContent);A.get(k).isDateTime||m()}function y(e){if("string"==typeof e&&(e=document.getElementById(e)),!(e instanceof HTMLInputElement&&e.classList.contains("inputDatePicker")&&A.has(e)))throw new Error("Expected a valid date picker input element or id.");return e}function E(e){if(null!==U&&U.classList.contains("active"))if(U.contains(e.target))C=!0;else if(C){k.nextElementSibling.focus(),C=!1}else U.querySelector(".previous").focus()}n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importStar(l),c=i.__importDefault(c),d=i.__importDefault(d);let S=!1,L=0,C=!1;const A=new Map;let I,x,k=null;const D=[];let T,M,j,B,P,N,q,O,U=null;const F={init(){S||(S=!0,L=parseInt(s.get("wcf.date.firstDayOfTheWeek"),10),r.default.add("WoltLabSuite/Core/Date/Picker",(()=>F.init())),c.default.add("WoltLabSuite/Core/Date/Picker",(()=>m())));const e=new Date;document.querySelectorAll('input[type="date"]:not(.inputDatePicker), input[type="datetime"]:not(.inputDatePicker)').forEach((t=>{t.classList.add("inputDatePicker"),t.readOnly=!0;const i="datetime"===t.getAttribute("type"),r=i&&n.stringToBool(t.dataset.timeOnly||""),a=n.stringToBool(t.dataset.disableClear||""),l=i&&n.stringToBool(t.dataset.ignoreTimezone||""),c=t.classList.contains("birthday");t.dataset.isDateTime=i?"true":"false",t.dataset.isTimeOnly=r?"true":"false";let d=null,h=t.value;h||(h=t.getAttribute("value")||"");const m=/^\d+-\d+-\d+$/.test(h);if(h){if(r){d=new Date;const e=h.split(":");d.setHours(+e[0],+e[1])}else{if(l||c||m){let e=new Date(h).getTimezoneOffset(),t=e>0?"-":"+";e=Math.abs(e);const i=Math.floor(e/60).toString(),n=(e%60).toString();t+=2===i.length?i:"0"+i,t+=":",t+=2===n.length?n:"0"+n,c||m?h+="T00:00:00"+t:h=h.replace(/[+-][0-9]{2}:[0-9]{2}$/,t)}d=new Date(h)}const e=d.getTime();isNaN(e)?h="":(t.dataset.value=e.toString(),h=r?o.formatTime(d):i?o.formatDateTime(d):o.formatDate(d))}const f=0===h.length;if(c?(t.dataset.minDate="120",t.dataset.maxDate=(new Date).getFullYear().toString()+"-12-31"):(t.min&&(t.dataset.minDate=t.min),t.max&&(t.dataset.maxDate=t.max)),u(t,e,!0),u(t,e,!1),(t.dataset.minDate||"")===(t.dataset.maxDate||""))throw new Error("Minimum and maximum date cannot be the same (element id '"+t.id+"').");t.type="text",t.value=h,t.dataset.empty=f?"true":"false";const g=t.dataset.placeholder||"";g&&(t.placeholder=g);const b=document.createElement("input");b.id=t.id+"DatePicker",b.name=t.name,b.type="hidden",null!==d&&(b.value=r?o.format(d,"H:i"):l?o.format(d,"Y-m-dTH:i:s"):o.format(d,i?"c":"Y-m-d")),t.parentNode.insertBefore(b,t),t.removeAttribute("name"),t.addEventListener("click",p);let _=null;if(!t.disabled){const e=document.createElement("div");e.className="inputAddon";const i=document.createElement("a");i.className="inputSuffix button jsTooltip",i.href="#",i.setAttribute("role","button"),i.tabIndex=0,i.title=s.get("wcf.date.datePicker"),i.setAttribute("aria-label",s.get("wcf.date.datePicker")),i.setAttribute("aria-haspopup","true"),i.setAttribute("aria-expanded","false"),i.addEventListener("click",p),e.appendChild(i);let n=document.createElement("span");n.className="icon icon16 fa-calendar",i.appendChild(n),t.parentNode.insertBefore(e,t),e.insertBefore(t,i),a||(_=document.createElement("a"),_.className="inputSuffix button",_.addEventListener("click",(()=>this.clear(t))),f&&_.style.setProperty("visibility","hidden",""),e.appendChild(_),n=document.createElement("span"),n.className="icon icon16 fa-times",_.appendChild(n))}const v=["tiny","short","medium","long"];let w=!1;for(let e=0;e<4;e++)t.classList.contains(v[e])&&(w=!0);w||t.classList.add("short"),A.set(t,{clearButton:_,shadow:b,disableClear:a,isDateTime:i,isEmpty:f,isTimeOnly:r,ignoreTimezone:l,onClose:null})}))},previousMonth(e){e.preventDefault(),"0"===B.value?(B.value="11",O.value=(+O.value-1).toString()):B.value=(+B.value-1).toString(),g(void 0,+B.value,+O.value)},nextMonth(e){e.preventDefault(),"11"===B.value?(B.value="0",O.value=(+O.value+1).toString()):B.value=(+B.value+1).toString(),g(void 0,+B.value,+O.value)},getDate(e){const t=(e=y(e)).dataset.value||"";return t?new Date(+t):null},setDate(e,t){e=y(e);const i=A.get(e);e.dataset.value=t.getTime().toString();let n,r="";i.isDateTime?i.isTimeOnly?(n=o.formatTime(t),r="H:i"):i.ignoreTimezone?(n=o.formatDateTime(t),r="Y-m-dTH:i:s"):(n=o.formatDateTime(t),r="c"):(n=o.formatDate(t),r="Y-m-d"),e.value=n,i.shadow.value=o.format(t,r),i.disableClear||i.clearButton.style.removeProperty("visibility")},getValue(e){e=y(e);const t=A.get(e);return t?t.shadow.value:""},clear(e){e=y(e);const t=A.get(e);e.removeAttribute("data-value"),e.value="",t.disableClear||t.clearButton.style.setProperty("visibility","hidden",""),t.isEmpty=!0,t.shadow.value=""},destroy(e){e=y(e);const t=A.get(e),i=e.parentNode;i.parentNode.insertBefore(e,i),i.remove(),e.setAttribute("type","date"+(t.isDateTime?"time":"")),e.name=t.shadow.name,e.value=t.shadow.value,e.removeAttribute("data-value"),e.removeEventListener("click",p),t.shadow.remove(),e.classList.remove("inputDatePicker"),e.readOnly=!1,A.delete(e)},setCloseCallback(e,t){e=y(e),A.get(e).onClose=t}};return window.__wcf_bc_datePicker=F,F})),define("WoltLabSuite/Core/Timer/Repeating",["require","exports","tslib","../Core"],(function(e,t,i,n){"use strict";n=i.__importStar(n);class o{constructor(e,t){if("function"!=typeof e)throw new TypeError("Expected a valid callback as first argument.");if(t<0||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.restart()}restart(){this.stop(),this._timer=setInterval(this._callback,this._delta)}stop(){void 0!==this._timer&&(clearInterval(this._timer),this._timer=void 0)}setDelta(e){this._delta=e,this.restart()}}return n.enableLegacyInheritance(o),o})),define("WoltLabSuite/Core/Date/Time/Relative",["require","exports","tslib","../../Core","../Util","../../Dom/Change/Listener","../../Language","../../Timer/Repeating"],(function(e,t,i,n,o,r,a,s){"use strict";function l(){document.hidden?(u=!1,h=!1):(u=!0,h&&(c(),h=!1))}function c(){if(!u)return void(h||(h=!0));const e=new Date,t=(e.getTime()-e.getMilliseconds())/1e3;document.querySelectorAll("time").forEach((i=>{!function(e,t,i){if(!e.classList.contains("datetime")||n.stringToBool(e.dataset.isFutureDate||""))return;const r=parseInt(e.dataset.timestamp,10)+d,s=e.dataset.date,l=e.dataset.time,c=e.dataset.offset;e.title||(e.title=a.get("wcf.date.dateTimeFormat").replace(/%date%/,s).replace(/%time%/,l));if(r>=i||i<r+60)e.textContent=a.get("wcf.date.relative.now");else if(i<r+3540){const t=Math.max(Math.round((i-r)/60),1);e.textContent=a.get("wcf.date.relative.minutes",{minutes:t})}else if(i<r+86400){const t=Math.round((i-r)/3600);e.textContent=a.get("wcf.date.relative.hours",{hours:t})}else if(i<r+518400){const i=new Date(t.getFullYear(),t.getMonth(),t.getDate()),n=Math.ceil((i.getTime()/1e3-r)/86400),s=o.getTimezoneDate(1e3*r,1e3*parseInt(c,10)).getDay(),d=a.get("__days")[s];e.textContent=a.get("wcf.date.relative.pastDays",{days:n,day:d,time:l})}else e.textContent=a.get("wcf.date.shortDateTimeFormat").replace(/%date%/,s).replace(/%time%/,l)}(i,e,t)}))}Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importStar(a),s=i.__importDefault(s);let d,u=!0,h=!1;t.setup=function(){d=Math.trunc(Date.now()/1e3-window.TIME_NOW),new s.default(c,6e4),r.default.add("WoltLabSuite/Core/Date/Time/Relative",c),document.addEventListener("visibilitychange",l)}})),define("WoltLabSuite/Core/Environment",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.touch=t.platform=t.editor=t.browser=t.setup=void 0;let i="other",n="none",o="desktop",r=!1;t.setup=function(){if("object"==typeof window.chrome)i="chrome";else{const e=window.getComputedStyle(document.documentElement);for(let t=0,n=e.length;t<n;t++){const n=e[t];0===n.indexOf("-ms-")?i="microsoft":0===n.indexOf("-moz-")?i="firefox":"firefox"!==i&&0===n.indexOf("-webkit-")&&(i="safari")}}const e=window.navigator.userAgent.toLowerCase();-1!==e.indexOf("crios")?(i="chrome",o="ios"):/(?:iphone|ipad|ipod)/.test(e)?(i="safari",o="ios"):-1!==e.indexOf("android")?o="android":-1!==e.indexOf("iemobile")&&(i="microsoft",o="windows"),"desktop"!==o||-1===e.indexOf("mobile")&&-1===e.indexOf("tablet")||(o="mobile"),n="redactor",r="ontouchstart"in window||"msMaxTouchPoints"in window.navigator&&window.navigator.msMaxTouchPoints>0||window.DocumentTouch&&document instanceof window.DocumentTouch,"MacIntel"===window.navigator.platform&&window.navigator.maxTouchPoints>1&&(i="safari",o="ios")},t.browser=function(){return i},t.editor=function(){return n},t.platform=function(){return o},t.touch=function(){return r}})),define("WoltLabSuite/Core/Ui/Screen",["require","exports","tslib","../Core","../Environment"],(function(e,t,i,n,o){"use strict";function r(e){if("string"!=typeof e||""===e.trim())throw new TypeError("Expected a non-empty string for parameter 'query'.");p.has(e)&&(e=p.get(e)),h.has(e)&&(e=h.get(e));let t=s.get(e);return t||(t={callbacksMatch:new Map,callbacksUnmatch:new Map,callbacksSetup:new Map,mql:window.matchMedia(e)},t.mql.addListener(a),s.set(e,t),e!==t.mql.media&&p.set(t.mql.media,e)),t}function a(e){const t=r(e.media);if(e.matches)t.callbacksSetup.size?(t.callbacksSetup.forEach((e=>{e()})),t.callbacksSetup=new Map):t.callbacksMatch.forEach((e=>{e()}));else{if(t.callbacksSetup.size)return;t.callbacksUnmatch.forEach((e=>{e()}))}}Object.defineProperty(t,"__esModule",{value:!0}),t.setDialogContainer=t.pageOverlayIsActive=t.pageOverlayClose=t.pageOverlayOpen=t.scrollEnable=t.scrollDisable=t.is=t.remove=t.on=void 0,n=i.__importStar(n),o=i.__importStar(o);const s=new Map;let l,c=0,d=0,u=0;const h=new Map(Object.entries({"screen-xs":"(max-width: 544px)","screen-sm":"(min-width: 545px) and (max-width: 768px)","screen-sm-down":"(max-width: 768px)","screen-sm-up":"(min-width: 545px)","screen-sm-md":"(min-width: 545px) and (max-width: 1024px)","screen-md":"(min-width: 769px) and (max-width: 1024px)","screen-md-down":"(max-width: 1024px)","screen-md-up":"(min-width: 769px)","screen-lg":"(min-width: 1025px)","screen-lg-only":"(min-width: 1025px) and (max-width: 1280px)","screen-lg-down":"(max-width: 1280px)","screen-xl":"(min-width: 1281px)"})),p=new Map;t.on=function(e,t){const i=n.getUuid(),o=r(e);return"function"==typeof t.match&&o.callbacksMatch.set(i,t.match),"function"==typeof t.unmatch&&o.callbacksUnmatch.set(i,t.unmatch),"function"==typeof t.setup&&(o.mql.matches?t.setup():o.callbacksSetup.set(i,t.setup)),i},t.remove=function(e,t){const i=r(e);i.callbacksMatch.delete(t),i.callbacksUnmatch.delete(t),i.callbacksSetup.delete(t)},t.is=function(e){return r(e).mql.matches},t.scrollDisable=function(){if(0===c){d=document.body.scrollTop,l="body",d||(d=document.documentElement.scrollTop,l="documentElement");const e=document.getElementById("pageContainer");"ios"===o.platform()?(e.style.setProperty("position","relative",""),e.style.setProperty("top",`-${d}px`,"")):e.style.setProperty("margin-top",`-${d}px`,""),document.documentElement.classList.add("disableScrolling")}c++},t.scrollEnable=function(){if(c&&(c--,0===c)){document.documentElement.classList.remove("disableScrolling");const e=document.getElementById("pageContainer");"ios"===o.platform()?(e.style.removeProperty("position"),e.style.removeProperty("top")):e.style.removeProperty("margin-top"),d&&(document[l].scrollTop=~~d)}},t.pageOverlayOpen=function(){0===u&&document.documentElement.classList.add("pageOverlayActive"),u++},t.pageOverlayClose=function(){u&&(u--,0===u&&document.documentElement.classList.remove("pageOverlayActive"))},t.pageOverlayIsActive=function(){return u>0},t.setDialogContainer=function(e){}})),define("WoltLabSuite/Core/Ui/Dropdown/Simple",["require","exports","tslib","../../CallbackList","../../Core","../../Dom/Change/Listener","../../Dom/Traverse","../../Dom/Util","../Alignment","../CloseOverlay"],(function(e,t,i,n,o,r,a,s,l,c){"use strict";function d(e){const t=e.currentTarget,i=t.querySelectorAll(".dropdown.dropdownOpen");for(let e=0,n=i.length;e<n;e++){const n=i[e],o=s.default.identify(n),r=s.default.offset(n),a=s.default.offset(t);r.top+n.clientHeight<=a.top||r.top>=a.top+t.offsetHeight||r.left<=a.left||r.left>=a.left+t.offsetWidth?S.toggleDropdown(o):S.setAlignment(v.get(o),w.get(o))}}function u(){v.forEach(((e,t)=>{if(e.classList.contains("dropdownOpen"))if(o.stringToBool(e.dataset.isOverlayDropdownButton||""))S.setAlignment(e,w.get(t));else{const i=w.get(e.id);o.stringToBool(i.dataset.dropdownIgnorePageScroll||"")||S.close(t)}}))}function h(e,t){b.forEach(e,(i=>{i(e,t)}))}function p(e,t,i,n){let r=!1;if(null!==e){e.preventDefault(),e.stopPropagation();const i=e.currentTarget;t=i.dataset.target,void 0===n&&e instanceof MouseEvent&&(o.stringToBool(i.dataset.isKeyboardClick||"")?(r=!0,delete i.dataset.isKeyboardClick):n=!0)}let s=v.get(t),l=!1;if(void 0!==s){let i,r;if(e&&(i=e.currentTarget,r=i.parentNode,r!==s&&(r.classList.add("dropdown"),r.id=s.id,s.classList.remove("dropdown"),s.id="",s=r,v.set(t,r))),void 0===n&&(i=s.closest(".dropdownToggle"),i||(i=s.querySelector(".dropdownToggle"),!i&&s.id&&(i=document.querySelector('[data-target="'+s.id+'"]'))),i&&o.stringToBool(i.dataset.dropdownLazyInit||"")&&(n=!0)),o.stringToBool(s.dataset.dropdownPreventToggle||"")&&s.classList.contains("dropdownOpen")&&(l=!0),""===s.dataset.isOverlayDropdownButton){const e=a.parentByClass(s,"dialogContent");s.dataset.isOverlayDropdownButton=null!==e?"true":"false",null!==e&&e.addEventListener("scroll",d)}}return E="",v.forEach(((e,a)=>{const s=w.get(a);let c=null;if(e.classList.contains("dropdownOpen"))if(l)E=t;else{e.classList.remove("dropdownOpen"),s.classList.remove("dropdownOpen");const t=e.querySelector(".dropdownToggle");t&&t.setAttribute("aria-expanded","false"),h(a,"close")}else if(a===t&&s.childElementCount>0){E=t,e.classList.add("dropdownOpen"),s.classList.add("dropdownOpen");const l=e.querySelector(".dropdownToggle");l&&l.setAttribute("aria-expanded","true");const d=s.childElementCount>0?s.children[0]:null;if(d&&o.stringToBool(d.dataset.scrollToActive||"")){delete d.dataset.scrollToActive;let e=null;for(let t=0,i=d.childElementCount;t<i;t++)if(d.children[t].classList.contains("active")){e=d.children[t];break}e&&(d.scrollTop=Math.max(e.offsetTop+e.clientHeight-s.clientHeight,0))}const u=s.querySelector(".scrollableDropdownMenu");null!==u&&u.classList[u.scrollHeight>u.clientHeight?"add":"remove"]("forceScrollbar"),h(a,"open"),n||(s.setAttribute("role","menu"),s.tabIndex=-1,s.removeEventListener("keydown",f),s.addEventListener("keydown",f),s.querySelectorAll("li").forEach((e=>{e.clientHeight&&((null===c||e.classList.contains("active"))&&(c=e),e.setAttribute("role","menuitem"),e.tabIndex=-1)}))),S.setAlignment(e,s,i),null!==c&&(c.focus(),r&&c.classList.add("focus-visible"))}})),window.WCF.Dropdown.Interactive.Handler.closeAll(),null===e}function m(e){const t=e.currentTarget;"INPUT"!==t.nodeName&&("Enter"!==e.key&&"Space"!==e.key||(e.preventDefault(),t.dataset.requiresSynthethicClick?(t.dataset.isKeyboardClick="true",t.click()):p(e)))}function f(e){const t=document.activeElement;if("LI"===t.nodeName)if("ArrowDown"===e.key||"ArrowUp"===e.key||"End"===e.key||"Home"===e.key){e.preventDefault();const i=Array.from(t.closest(".dropdownMenu").querySelectorAll("li"));"ArrowUp"!==e.key&&"End"!==e.key||i.reverse();let n=null;const o=e=>!e.classList.contains("dropdownDivider")&&e.clientHeight>0;let r=i.indexOf(t);"End"!==e.key&&"Home"!==e.key||(r=-1);for(let e=r+1;e<i.length;e++)if(o(i[e])){n=i[e];break}null===n&&(n=i.find(o)||null),null!==n&&n.focus()}else if("Enter"===e.key||"Space"===e.key){e.preventDefault();let i=t;1!==i.childElementCount||"SPAN"!==i.children[0].nodeName&&"A"!==i.children[0].nodeName||(i=i.children[0]);const n=v.get(E),r=n.querySelector(".dropdownToggle"),a=n.dataset.a11yMouseEvent||"click";o.triggerEvent(i,a),r&&r.focus()}else if("Escape"===e.key||"Tab"===e.key){e.preventDefault();const t=v.get(E);let i=t.querySelector(".dropdownToggle");null!==i||t.classList.contains("dropdown")||(i=t),p(null,E),i&&i.focus()}}let g;n=i.__importDefault(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importStar(a),s=i.__importDefault(s),l=i.__importStar(l),c=i.__importDefault(c);const b=new n.default;let _=!1;const v=new Map,w=new Map;let y,E="";const S={setup(){_||(_=!0,y=document.createElement("div"),y.className="dropdownMenuContainer",document.body.appendChild(y),g=document.getElementsByClassName("dropdownToggle"),S.initAll(),c.default.add("WoltLabSuite/Core/Ui/Dropdown/Simple",(()=>S.closeAll())),r.default.add("WoltLabSuite/Core/Ui/Dropdown/Simple",(()=>S.initAll())),document.addEventListener("scroll",u),window.bc_wcfSimpleDropdown=this)},initAll(){for(let e=0,t=g.length;e<t;e++)S.init(g[e],!1)},init(e,t){if(S.setup(),e.setAttribute("role","button"),e.tabIndex=0,e.setAttribute("aria-haspopup","true"),e.setAttribute("aria-expanded","false"),e.classList.contains("jsDropdownEnabled")||e.dataset.target)return!1;const i=a.parentByClass(e,"dropdown");if(null===i)throw new Error("Invalid dropdown passed, button '"+s.default.identify(e)+"' does not have a parent with .dropdown.");const n=a.nextByClass(e,"dropdownMenu");if(null===n)throw new Error("Invalid dropdown passed, button '"+s.default.identify(e)+"' does not have a menu as next sibling.");y.appendChild(n);const r=s.default.identify(i);if(!v.has(r)&&(e.classList.add("jsDropdownEnabled"),e.addEventListener("click",p),e.addEventListener("keydown",m),v.set(r,i),w.set(r,n),/^wcf\d+$/.test(r)||(n.dataset.source=r),n.childElementCount&&n.children[0].classList.contains("scrollableDropdownMenu"))){const e=n.children[0];e.dataset.scrollToActive="true";let t=null,i=null;e.addEventListener("wheel",(n=>{null===t&&(t=e.clientHeight),null===i&&(i=e.scrollHeight),(n.deltaY<0&&0===e.scrollTop||n.deltaY>0&&e.scrollTop+t===i)&&n.preventDefault()}),{passive:!1})}return e.dataset.target=r,t&&setTimeout((()=>{e.dataset.dropdownLazyInit=t instanceof MouseEvent?"true":"false",o.triggerEvent(e,"click"),setTimeout((()=>{delete e.dataset.dropdownLazyInit}),10)}),10),!0},initFragment(e,t){S.setup();const i=s.default.identify(e);v.has(i)||(v.set(i,e),y.appendChild(t),w.set(i,t))},registerCallback(e,t){b.add(e,t)},getDropdown:e=>v.get(e),getDropdownMenu:e=>w.get(e),toggleDropdown(e,t,i){p(null,e,t,i)},setAlignment(e,t,i){const n=e.querySelector(".dropdownToggle"),o=null!==n?n.parentNode:null;let r;o&&o.classList.contains("inputAddonTextarea")&&(r=n),l.set(t,i||e,{pointerClassNames:["dropdownArrowBottom","dropdownArrowRight"],refDimensionsElement:r||null,horizontal:"right"===t.dataset.dropdownAlignmentHorizontal?"right":"left",vertical:"top"===t.dataset.dropdownAlignmentVertical?"top":"bottom",allowFlip:t.dataset.dropdownAllowFlip||"both"})},setAlignmentById(e){const t=v.get(e);if(void 0===t)throw new Error("Unknown dropdown identifier '"+e+"'.");const i=w.get(e);S.setAlignment(t,i)},isOpen(e){const t=w.get(e);return void 0!==t&&t.classList.contains("dropdownOpen")},open(e,t,i){const n=w.get(e);void 0===n||n.classList.contains("dropdownOpen")||S.toggleDropdown(e,i,t)},close(e){const t=v.get(e);void 0!==t&&(t.classList.remove("dropdownOpen"),w.get(e).classList.remove("dropdownOpen"))},closeAll(){v.forEach(((e,t)=>{e.classList.contains("dropdownOpen")&&(e.classList.remove("dropdownOpen"),w.get(t).classList.remove("dropdownOpen"),h(t,"close"))}))},destroy(e){var t;if(!v.has(e))return!1;try{S.close(e),null===(t=w.get(e))||void 0===t||t.remove()}catch(e){}return w.delete(e),v.delete(e),!0},_toggle:(e,t,i,n)=>p(e,t,i,n)};return S})),define("WoltLabSuite/Core/Ui/Dialog",["require","exports","tslib","../Core","../Dom/Change/Listener","./Screen","../Dom/Util","../Language","../Environment","../Event/Handler","./Dropdown/Simple"],(function(e,t,i,n,o,r,a,s,l,c,d){"use strict";n=i.__importStar(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importDefault(a),s=i.__importStar(s),l=i.__importStar(l),c=i.__importStar(c),d=i.__importDefault(d);let u,h,p=null;const m=new Map;let f=!1;const g=new WeakMap,b=new Map;let _;const v=["onBeforeClose","onClose","onShow"],w=["number","password","search","tel","text","url"],y=['a[href]:not([tabindex^="-"]):not([inert])','area[href]:not([tabindex^="-"]):not([inert])',"input:not([disabled]):not([inert])","select:not([disabled]):not([inert])","textarea:not([disabled]):not([inert])","button:not([disabled]):not([inert])",'iframe:not([tabindex^="-"]):not([inert])','audio:not([tabindex^="-"]):not([inert])','video:not([tabindex^="-"]):not([inert])','[contenteditable]:not([tabindex^="-"]):not([inert])','[tabindex]:not([tabindex^="-"]):not([inert])'];return{setup(){h=document.createElement("div"),h.classList.add("dialogOverlay"),h.setAttribute("aria-hidden","true"),h.addEventListener("mousedown",(e=>this._closeOnBackdrop(e))),h.addEventListener("wheel",(e=>{e.target===h&&e.preventDefault()}),{passive:!1}),document.getElementById("content").appendChild(h),_=e=>{if("Escape"===e.key){const t=e.target;if("INPUT"!==t.nodeName&&"TEXTAREA"!==t.nodeName)return this.close(p),!1}return!0},r.on("screen-xs",{match(){f=!0},unmatch(){f=!1},setup(){f=!0}}),this._initStaticDialogs(),o.default.add("Ui/Dialog",(()=>{this._initStaticDialogs()})),window.addEventListener("resize",(()=>{m.forEach((e=>{n.stringToBool(e.dialog.getAttribute("aria-hidden"))||this.rebuild(e.dialog.dataset.id||"")}))}))},_initStaticDialogs(){document.querySelectorAll(".jsStaticDialog").forEach((e=>{e.classList.remove("jsStaticDialog");const t=e.dataset.dialogId||"";if(t){const i=document.getElementById(t);null!==i&&(i.classList.remove("jsStaticDialogContent"),i.dataset.isStaticDialog="true",a.default.hide(i),e.addEventListener("click",(e=>{e.preventDefault(),this.openStatic(i.id,null,{title:i.dataset.title||""})})))}}))},open(t,o){let r=g.get(t);if(r&&n.isPlainObject(r))return this.openStatic(r.id,void 0===o?null:o);if("function"!=typeof t._dialogSetup)throw new Error("Callback object does not implement the method '_dialogSetup()'.");const s=t._dialogSetup();if(!n.isPlainObject(s))throw new Error("Expected an object literal as return value of '_dialogSetup()'.");const l=s.id;let c;if(r={id:l},void 0===s.source){if(c=document.getElementById(l),null===c)throw new Error("Element id '"+l+"' is invalid and no source attribute was given. If you want to use the `html` argument instead, please add `source: null` to your dialog configuration.");s.source=document.createDocumentFragment(),s.source.appendChild(c),c.removeAttribute("id"),a.default.show(c)}else if(null===s.source)s.source=o;else if("function"==typeof s.source)s.source();else if(n.isPlainObject(s.source)){if("string"!=typeof o||""===o.trim())return new Promise(((t,i)=>{e(["../Ajax"],t,i)})).then(i.__importStar).then((e=>{const i=s.source;e.api(this,i.data,(e=>{e.returnValues&&"string"==typeof e.returnValues.template&&(this.open(t,e.returnValues.template),"function"==typeof i.after&&i.after(m.get(l).content,e))}))})),{};s.source=o}else if("string"==typeof s.source&&(c=document.createElement("div"),c.id=l,a.default.setInnerHtml(c,s.source),s.source=document.createDocumentFragment(),s.source.appendChild(c)),!s.source.nodeType||s.source.nodeType!==Node.DOCUMENT_FRAGMENT_NODE)throw new Error("Expected at least a document fragment as 'source' attribute.");return g.set(t,r),b.set(l,t),this.openStatic(l,s.source,s.options)},openStatic(t,o,a){r.pageOverlayOpen(),"desktop"!==l.platform()&&(this.isOpen(t)||r.scrollDisable()),m.has(t)?this._updateDialog(t,o):((a=n.extend({backdropCloseOnClick:!0,closable:!0,closeButtonLabel:s.get("wcf.global.button.close"),closeConfirmMessage:"",disableContentPadding:!1,title:"",onBeforeClose:null,onClose:null,onShow:null},a||{})).closable||(a.backdropCloseOnClick=!1),a.closeConfirmMessage&&(a.onBeforeClose=t=>{new Promise(((t,i)=>{e(["./Confirmation"],t,i)})).then(i.__importStar).then((e=>{e.show({confirm:this.close.bind(this,t),message:a.closeConfirmMessage||""})}))}),this._createDialog(t,o,a));const c=m.get(t);return"ios"===l.platform()&&window.setTimeout((()=>{var e;null===(e=c.content.querySelector("input, textarea"))||void 0===e||e.focus()}),200),c},setTitle(e,t){e=this._getDialogId(e);const i=m.get(e);if(void 0===i)throw new Error("Expected a valid dialog id, '"+e+"' does not match any active dialog.");const n=i.dialog.querySelector(".dialogTitle");n&&(n.textContent=t)},setCallback(e,t,i){if("object"==typeof e){const t=g.get(e);void 0!==t&&(e=t.id)}const n=m.get(e);if(void 0===n)throw new Error(`Expected a valid dialog id, '${e}' does not match any active dialog.`);if(-1===v.indexOf(t))throw new Error("Invalid callback identifier, '"+t+"' is not recognized.");if("function"!=typeof i&&null!==i)throw new Error("Only functions or the 'null' value are acceptable callback values ('"+typeof i+"' given).");n[t]=i},removeCallback(e,t){if("object"==typeof e){const t=g.get(e);void 0!==t&&(e=t.id)}const i=m.get(e);if(void 0===i)throw new Error(`Expected a valid dialog id, '${e}' does not match any active dialog.`);if(-1===v.indexOf(t))throw new Error("Invalid callback identifier, '"+t+"' is not recognized.");i[t]=void 0},_createDialog(e,t,i){let n=null;if(null===t&&(n=document.getElementById(e),null===n))throw new Error("Expected either a HTML string or an existing element id.");const o=document.createElement("div");o.classList.add("dialogContainer"),o.setAttribute("aria-hidden","true"),o.setAttribute("role","dialog"),o.dataset.id=e;const r=document.createElement("header");o.appendChild(r);const s=a.default.getUniqueId();o.setAttribute("aria-labelledby",s);const l=document.createElement("span");if(l.classList.add("dialogTitle"),l.textContent=i.title,l.id=s,r.appendChild(l),i.closable){const e=document.createElement("a");e.className="dialogCloseButton jsTooltip",e.href="#",e.setAttribute("role","button"),e.tabIndex=0,e.title=i.closeButtonLabel,e.setAttribute("aria-label",i.closeButtonLabel),e.addEventListener("click",(e=>this._close(e))),r.appendChild(e);const t=document.createElement("span");t.className="icon icon24 fa-times",e.appendChild(t)}const c=document.createElement("div");let d;if(c.classList.add("dialogContent"),i.disableContentPadding&&c.classList.add("dialogContentNoPadding"),o.appendChild(c),c.addEventListener("wheel",(e=>{let t,i,n,o=!1,r=e.target;for(;;){if(t=r.clientHeight,i=r.scrollHeight,t<i){if(n=r.scrollTop,e.deltaY<0&&n>0){o=!0;break}if(e.deltaY>0&&n+t<i){o=!0;break}}if(!r||r===c)break;r=r.parentNode}o||e.preventDefault()}),{passive:!1}),null===n)if("string"==typeof t)d=document.createElement("div"),d.id=e,a.default.setInnerHtml(d,t);else{if(!(t instanceof DocumentFragment))throw new TypeError("'html' must either be a string or a DocumentFragment");{const i=[];let n;for(let e=0,o=t.childNodes.length;e<o;e++)n=t.childNodes[e],n.nodeType===Node.ELEMENT_NODE&&i.push(n);"DIV"!==i[0].nodeName||i.length>1?(d=document.createElement("div"),d.id=e,d.appendChild(t)):d=i[0]}}else d=n;c.appendChild(d),"none"===d.style.getPropertyValue("display")&&a.default.show(d),m.set(e,{backdropCloseOnClick:i.backdropCloseOnClick,closable:i.closable,content:d,dialog:o,header:r,onBeforeClose:i.onBeforeClose,onClose:i.onClose,onShow:i.onShow,submitButton:null,inputFields:new Set}),h.insertBefore(o,h.firstChild),"function"==typeof i.onSetup&&i.onSetup(d),this._updateDialog(e,null)},_updateDialog(e,t){const i=m.get(e);if(void 0===i)throw new Error("Expected a valid dialog id, '"+e+"' does not match any active dialog.");if("string"==typeof t&&a.default.setInnerHtml(i.content,t),n.stringToBool(i.dialog.getAttribute("aria-hidden"))){d.default.closeAll(),window.WCF.Dropdown.Interactive.Handler.closeAll(),null===u&&(u=this._maintainFocus.bind(this),document.body.addEventListener("focus",u,{capture:!0})),i.closable&&n.stringToBool(h.getAttribute("aria-hidden"))&&window.addEventListener("keyup",_),i.dialog.parentNode.insertBefore(i.dialog,i.dialog.parentNode.firstChild),i.dialog.setAttribute("aria-hidden","false"),h.setAttribute("aria-hidden","false"),h.setAttribute("close-on-click",i.backdropCloseOnClick?"true":"false"),p=e;const t=i.header.querySelector(".dialogCloseButton");t&&t.setAttribute("inert","true"),this._setFocusToFirstItem(i.dialog,!1),t&&t.removeAttribute("inert"),"function"==typeof i.onShow&&i.onShow(i.content),n.stringToBool(i.content.dataset.isStaticDialog||"")&&c.fire("com.woltlab.wcf.dialog","openStatic",{content:i.content,id:e})}this.rebuild(e),o.default.trigger()},_maintainFocus(e){if(p){const t=m.get(p),i=e.target;t.dialog.contains(i)||i.closest(".dropdownMenuContainer")||i.closest(".datePicker")||this._setFocusToFirstItem(t.dialog,!0)}},_setFocusToFirstItem(e,t){let i=this._getFirstFocusableChild(e);null!==i&&(t&&("username"!==i.id&&"username"!==i.name||"safari"===l.browser()&&"ios"===l.platform()&&(i=null)),i&&setTimeout((()=>{i.focus()}),1))},_getFirstFocusableChild(e){const t=e.querySelectorAll(y.join(","));for(let e=0,i=t.length;e<i;e++)if(t[e].offsetWidth&&t[e].offsetHeight&&t[e].getClientRects().length)return t[e];return null},rebuild(e){const t=this._getDialogId(e),i=m.get(t);if(void 0===i)throw new Error("Expected a valid dialog id, '"+t+"' does not match any active dialog.");if(n.stringToBool(i.dialog.getAttribute("aria-hidden")))return;const o=i.content.parentNode,r=i.content.querySelector(".formSubmit");let s=0;null!==r?(o.classList.add("dialogForm"),r.classList.add("dialogFormSubmit"),s+=a.default.outerHeight(r),s-=1,o.style.setProperty("margin-bottom",`${s}px`,"")):(o.classList.remove("dialogForm"),o.style.removeProperty("margin-bottom")),s+=a.default.outerHeight(i.header);const c=window.innerHeight*(f?1:.8)-s;o.style.setProperty("max-height",~~c+"px",""),"chrome"!==l.browser()&&"safari"!==l.browser()||o.classList.add("jsWebKitFractionalPixelFix");const d=b.get(t);if(void 0!==d&&"function"==typeof d._dialogSubmit){const e=i.content.querySelectorAll('input[data-dialog-submit-on-enter="true"]'),n=i.content.querySelector('.formSubmit > input[type="submit"], .formSubmit > button[data-type="submit"]');if(null===n)return void(0===e.length&&console.warn("Broken dialog, expected a submit button.",i.content));if(i.submitButton!==n){i.submitButton=n,n.addEventListener("click",(e=>{e.preventDefault(),this._submit(t)}));const o=e=>{"Enter"===e.key&&(e.preventDefault(),this._submit(t))};let r;for(let t=0,n=e.length;t<n;t++)r=e[t],i.inputFields.has(r)||(-1!==w.indexOf(r.type)?(i.inputFields.add(r),r.addEventListener("keydown",o)):console.warn("Unsupported input type.",r))}}},_submit(e){const t=m.get(e);let i=!0;if(t.inputFields.forEach((e=>{e.required&&(""===e.value.trim()?(a.default.innerError(e,s.get("wcf.global.form.error.empty")),i=!1):a.default.innerError(e,!1))})),i){const t=b.get(e);"function"==typeof t._dialogSubmit&&t._dialogSubmit()}},submit(e){this._submit(e)},_close(e){e.preventDefault();const t=m.get(p);return"function"==typeof t.onBeforeClose?(t.onBeforeClose(p),!1):(this.close(p),!0)},_closeOnBackdrop(e){e.target===h&&(n.stringToBool(h.getAttribute("close-on-click"))?this._close(e):e.preventDefault())},close(e){e=this._getDialogId(e);let t=m.get(e);if(void 0===t)throw new Error("Expected a valid dialog id, '"+e+"' does not match any active dialog.");t.dialog.setAttribute("aria-hidden","true");const i=document.activeElement;i.closest(".dialogContainer")===t.dialog&&i.blur(),"function"==typeof t.onClose&&t.onClose(e),p=null;for(let e=0;e<h.childElementCount;e++){const t=h.children[e];if(!n.stringToBool(t.getAttribute("aria-hidden"))){p=t.dataset.id||"";break}}r.pageOverlayClose(),null===p?(h.setAttribute("aria-hidden","true"),h.dataset.closeOnClick="false",t.closable&&window.removeEventListener("keyup",_)):(t=m.get(p),h.dataset.closeOnClick=t.backdropCloseOnClick?"true":"false"),"desktop"!==l.platform()&&r.scrollEnable()},getDialog(e){return m.get(this._getDialogId(e))},isOpen(e){const t=this.getDialog(e);return void 0!==t&&"false"===t.dialog.getAttribute("aria-hidden")},destroy(e){if("object"!=typeof e)throw new TypeError("Expected the callback object as parameter.");if(g.has(e)){const t=g.get(e).id;this.isOpen(t)&&this.close(t),m.has(t)&&(m.get(t).dialog.remove(),m.delete(t)),g.delete(e)}},_getDialogId(e){if("object"==typeof e){const t=g.get(e);if(void 0!==t)return t.id}return e.toString()},_ajaxSetup:()=>({})}})),define("WoltLabSuite/Core/Ui/Dropdown/Reusable",["require","exports","tslib","./Simple"],(function(e,t,i,n){"use strict";function o(e){if(!r.has(e))throw new Error("Unknown dropdown identifier '"+e+"'");return r.get(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.toggleDropdown=t.registerCallback=t.getDropdownMenu=t.init=void 0,n=i.__importDefault(n);const r=new Map;let a=0;t.init=function(e,t){if(r.has(e))return;const i=document.createElement("div");i.id="reusableDropdownGhost"+a++,n.default.initFragment(i,t),r.set(e,i.id)},t.getDropdownMenu=function(e){return n.default.getDropdownMenu(o(e))},t.registerCallback=function(e,t){n.default.registerCallback(o(e),t)},t.toggleDropdown=function(e,t){n.default.toggleDropdown(o(e),t)}})),define("WoltLabSuite/Core/Ui/Page/Menu/Abstract",["require","exports","tslib","../../../Core","../../../Environment","../../../Event/Handler","../../../Language","../../../Dom/Traverse","../../Screen"],(function(e,t,i,n,o,r,a,s,l){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importStar(l);const c=document.getElementById("pageContainer");let d="";class u{constructor(e,t,i){if(this.activeList=[],this.depth=0,this.enabled=!0,this.items=new Map,this.removeActiveList=!1,"packageInstallationSetup"===document.body.dataset.template)return;this.eventIdentifier=e,this.menu=document.getElementById(t);const n=this.open.bind(this);this.button=document.querySelector(i),this.button.addEventListener("click",n),this.initItems(),this.initHeader(),r.add(this.eventIdentifier,"open",n),r.add(this.eventIdentifier,"close",this.close.bind(this)),r.add(this.eventIdentifier,"updateButtonState",this.updateButtonState.bind(this)),this.menu.addEventListener("animationend",(()=>{this.menu.classList.contains("open")||this.menu.querySelectorAll(".menuOverlayItemList").forEach((e=>{e.classList.remove("active","hidden")}))})),this.menu.children[0].addEventListener("transitionend",(()=>{if(this.menu.classList.add("allowScroll"),this.removeActiveList){this.removeActiveList=!1;const e=this.activeList.pop();e&&e.classList.remove("activeList")}}));const a=document.createElement("div");a.className="menuOverlayMobileBackdrop",a.addEventListener("click",this.close.bind(this)),this.menu.insertAdjacentElement("afterend",a),this.menu.parentElement.insertBefore(a,this.menu.nextSibling),this.updateButtonState(),"android"===o.platform()&&this.initializeAndroid()}open(e){return!!this.enabled&&(e instanceof Event&&e.preventDefault(),this.menu.classList.add("open"),this.menu.classList.add("allowScroll"),this.menu.children[0].classList.add("activeList"),l.scrollDisable(),c.classList.add("menuOverlay-"+this.menu.id),l.pageOverlayOpen(),!0)}close(e){return e instanceof Event&&e.preventDefault(),!!this.menu.classList.contains("open")&&(this.menu.classList.remove("open"),l.scrollEnable(),l.pageOverlayClose(),c.classList.remove("menuOverlay-"+this.menu.id),!0)}enable(){this.enabled=!0}disable(){this.enabled=!1,this.close()}initializeAndroid(){let e;switch(this.menu.id){case"pageUserMenuMobile":e="right";break;case"pageMainMenuMobile":e="left";break;default:return}const t=this.menu.nextElementSibling;let i;document.addEventListener("touchstart",(t=>{const o=t.touches;let r,a;const s=this.menu.classList.contains("open");if("left"===e?(r=!s&&o[0].clientX<20,a=s&&Math.abs(this.menu.offsetWidth-o[0].clientX)<20):(r=s&&Math.abs(document.body.clientWidth-this.menu.offsetWidth-o[0].clientX)<20,a=!s&&document.body.clientWidth-o[0].clientX<20),o.length>1)d&&n.triggerEvent(document,"touchend");else if(!d&&(r||a)){if(l.pageOverlayIsActive()){if(!c.classList.contains(`menuOverlay-${this.menu.id}`))return}document.documentElement.classList.contains("redactorActive")||(i={x:o[0].clientX,y:o[0].clientY},r&&(d="left"),a&&(d="right"))}})),document.addEventListener("touchend",(n=>{if(!d||!i)return;if(!this.menu.classList.contains("open"))return i=void 0,void(d="");let o;o=n?n.changedTouches[0].clientX:i.x,this.menu.classList.add("androidMenuTouchEnd"),this.menu.style.removeProperty("transform"),t.style.removeProperty(e),this.menu.addEventListener("transitionend",(()=>{this.menu.classList.remove("androidMenuTouchEnd")}),{once:!0}),"left"===e?("left"===d&&o<i.x+100&&this.close(),"right"===d&&o<i.x-100&&this.close()):("left"===d&&o>i.x+100&&this.close(),"right"===d&&o>i.x-100&&this.close()),i=void 0,d=""})),document.addEventListener("touchmove",(n=>{if(!d||!i)return;const o=n.touches;let r=!1;"left"===d&&(r=o[0].clientX>i.x+5),"right"===d&&(r=o[0].clientX<i.x-5);const a=Math.abs(o[0].clientY-i.y)>20;let s=this.menu.classList.contains("open");if(s||!r||a||(this.open(),s=!0),s){let i=o[0].clientX;"right"===e&&(i=document.body.clientWidth-i),i>this.menu.offsetWidth&&(i=this.menu.offsetWidth),i<0&&(i=0);const n=("left"===e?1:-1)*(i-this.menu.offsetWidth);this.menu.style.setProperty("transform",`translateX(${n}px)`),t.style.setProperty(e,Math.min(this.menu.offsetWidth,i).toString()+"px")}}))}initItems(){this.menu.querySelectorAll(".menuOverlayItemLink").forEach((e=>{this.initItem(e)}))}initItem(e){const t=e.parentElement,i=t.dataset.more;if(i)return void e.addEventListener("click",(n=>{n.preventDefault(),n.stopPropagation(),r.fire(this.eventIdentifier,"more",{handler:this,identifier:i,item:e,parent:t})}));const n=e.nextElementSibling;if(null===n)return;if("OL"!==n.nodeName&&n.classList.contains("menuOverlayItemLinkIcon")){const i=document.createElement("span");for(i.className="menuOverlayItemWrapper",t.insertBefore(i,e),i.appendChild(e);i.nextElementSibling;)i.appendChild(i.nextElementSibling);return}const o="#"!==e.href,a=t.parentElement;let l=n.dataset.title;this.items.set(e,{itemList:n,parentItemList:a}),l||(l=s.childByClass(e,"menuOverlayItemTitle").textContent,n.dataset.title=l);const c=this.showItemList.bind(this,e);if(o){const i=document.createElement("span");i.className="menuOverlayItemWrapper",t.insertBefore(i,e),i.appendChild(e);const n=document.createElement("a");n.href="#",n.className="menuOverlayItemLinkIcon"+(e.classList.contains("active")?" active":""),n.innerHTML='<span class="icon icon24 fa-angle-right"></span>',n.addEventListener("click",c),i.appendChild(n)}else e.classList.add("menuOverlayItemLinkMore"),e.addEventListener("click",c);const d=document.createElement("li");d.className="menuOverlayHeader";const u=document.createElement("span");u.className="menuOverlayItemWrapper";const h=document.createElement("a");h.href="#",h.className="menuOverlayItemLink menuOverlayBackLink",h.textContent=a.dataset.title||"",h.addEventListener("click",this.hideItemList.bind(this,e));const p=document.createElement("a");if(p.href="#",p.className="menuOverlayItemLinkIcon",p.innerHTML='<span class="icon icon24 fa-times"></span>',p.addEventListener("click",this.close.bind(this)),u.appendChild(h),u.appendChild(p),d.appendChild(u),n.insertBefore(d,n.firstElementChild),!d.nextElementSibling.classList.contains("menuOverlayTitle")){const e=document.createElement("li");e.className="menuOverlayTitle";const t=document.createElement("span");t.textContent=l,e.appendChild(t),n.insertBefore(e,d.nextElementSibling)}}initHeader(){const e=document.createElement("li");e.className="menuOverlayHeader";const t=document.createElement("span");t.className="menuOverlayItemWrapper",e.appendChild(t);const i=document.createElement("span");i.className="menuOverlayLogoWrapper",t.appendChild(i);const n=document.createElement("span");n.className="menuOverlayLogo";const o=this.menu.dataset.pageLogo;n.style.setProperty("background-image",`url("${o}")`,""),i.appendChild(n);const r=document.createElement("a");r.href="#",r.className="menuOverlayItemLinkIcon",r.innerHTML='<span class="icon icon24 fa-times"></span>',r.addEventListener("click",this.close.bind(this)),t.appendChild(r);const a=s.childByClass(this.menu,"menuOverlayItemList");a.insertBefore(e,a.firstElementChild)}hideItemList(e,t){t instanceof Event&&t.preventDefault(),this.menu.classList.remove("allowScroll"),this.removeActiveList=!0;this.items.get(e).parentItemList.classList.remove("hidden"),this.updateDepth(!1)}showItemList(e,t){t.preventDefault();const i=this.items.get(e),o=i.itemList.dataset.load;if(o&&!n.stringToBool(e.dataset.loaded||"")){const e=t.currentTarget.firstElementChild;return e.classList.contains("fa-angle-right")&&(e.classList.remove("fa-angle-right"),e.classList.add("fa-spinner")),void r.fire(this.eventIdentifier,"load_"+o)}this.menu.classList.remove("allowScroll"),i.itemList.classList.add("activeList"),i.parentItemList.classList.add("hidden"),this.activeList.push(i.itemList),this.updateDepth(!0)}updateDepth(e){this.depth+=e?1:-1;let t=-100*this.depth;"rtl"===a.get("wcf.global.pageDirection")&&(t*=-1);this.menu.children[0].style.setProperty("transform",`translateX(${t}%)`,"")}updateButtonState(){let e=!1;const t=this.menu.querySelector(".menuOverlayItemList");this.menu.querySelectorAll(".badgeUpdate").forEach((i=>{~~i.textContent>0&&i.closest(".menuOverlayItemList")===t&&(e=!0)})),this.button.classList[e?"add":"remove"]("pageMenuMobileButtonHasContent")}}return n.enableLegacyInheritance(u),u})),define("WoltLabSuite/Core/Ui/Page/Menu/Main",["require","exports","tslib","../../../Core","../../../Dom/Util","../../../Language","./Abstract"],(function(e,t,i,n,o,r,a){"use strict";n=i.__importStar(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importDefault(a);class s extends a.default{constructor(){super("com.woltlab.wcf.MainMenuMobile","pageMainMenuMobile","#pageHeader .mainMenu"),this.hasItems=!1,this.title=document.getElementById("pageMainMenuMobilePageOptionsTitle"),null!==this.title&&(this.navigationList=document.querySelector(".jsPageNavigationIcons")),this.button.setAttribute("aria-label",r.get("wcf.menu.page")),this.button.setAttribute("role","button")}open(e){if(!super.open(e))return!1;if(null===this.title)return!0;if(this.hasItems=this.navigationList&&this.navigationList.childElementCount>0,this.hasItems){for(;this.navigationList.childElementCount;){const e=this.navigationList.children[0];e.classList.add("menuOverlayItem","menuOverlayItemOption"),e.addEventListener("click",(e=>{e.stopPropagation(),this.close()}));const t=e.children[0];t.classList.add("menuOverlayItemLink"),t.classList.add("box24"),t.children[1].classList.remove("invisible"),t.children[1].classList.add("menuOverlayItemTitle"),this.title.insertAdjacentElement("afterend",e)}o.default.show(this.title)}else o.default.hide(this.title);return!0}close(e){if(!super.close(e))return!1;if(this.hasItems){o.default.hide(this.title);let e=this.title.nextElementSibling;for(;e&&e.classList.contains("menuOverlayItemOption");){e.classList.remove("menuOverlayItem","menuOverlayItemOption"),e.removeEventListener("click",(e=>{e.stopPropagation(),this.close()}));const t=e.children[0];t.classList.remove("menuOverlayItemLink"),t.classList.remove("box24"),t.children[1].classList.add("invisible"),t.children[1].classList.remove("menuOverlayItemTitle"),this.navigationList.appendChild(e),e=e.nextElementSibling}}return!0}}return n.enableLegacyInheritance(s),s})),define("WoltLabSuite/Core/Ui/Page/Menu/User",["require","exports","tslib","../../../Core","../../../Event/Handler","../../../Language","./Abstract"],(function(e,t,i,n,o,r,a){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importDefault(a);class s extends a.default{constructor(){const e=document.querySelector("#pageUserMenuMobile > .menuOverlayItemList");if(1===e.childElementCount&&e.children[0].classList.contains("menuOverlayTitle")){document.querySelector("#pageHeader .userPanel").classList.add("hideUserPanel")}else super("com.woltlab.wcf.UserMenuMobile","pageUserMenuMobile","#pageHeader .userPanel"),o.add("com.woltlab.wcf.userMenu","updateBadge",(e=>this.updateBadge(e))),this.button.setAttribute("aria-label",r.get("wcf.menu.user")),this.button.setAttribute("role","button")}close(e){if(void 0===this.menu)return!1;const t=window.WCF.Dropdown.Interactive.Handler.getOpenDropdown();return t?(e&&(e.preventDefault(),e.stopPropagation()),t.close(),!0):super.close(e)}updateBadge(e){this.menu.querySelectorAll(".menuOverlayItemBadge").forEach((t=>{if(t.dataset.badgeIdentifier===e.identifier){let i=t.querySelector(".badge");e.count?(null===i&&(i=document.createElement("span"),i.className="badge badgeUpdate",t.appendChild(i)),i.textContent=e.count.toString()):null!==i&&i.remove(),this.updateButtonState()}}))}}return n.enableLegacyInheritance(s),s})),define("WoltLabSuite/Core/Ui/Mobile",["require","exports","tslib","../Core","../Dom/Change/Listener","../Environment","../Event/Handler","./Alignment","./CloseOverlay","./Dropdown/Reusable","./Page/Menu/Main","./Page/Menu/User","./Screen"],(function(e,t,i,n,o,r,a,s,l,c,d,u,h){"use strict";function p(){j=!0,function(){const e=document.getElementById("pageHeaderSearch"),t=document.getElementById("pageHeaderSearchInput");let i=null;a.add("com.woltlab.wcf.MainMenuMobile","more",(n=>{if("com.woltlab.wcf.search"===n.identifier){n.handler.close(),"ios"===r.platform()&&(i=document.body.scrollTop,h.scrollDisable());const o=document.getElementById("pageHeader");e.style.setProperty("top",`${o.offsetHeight}px`,""),e.classList.add("open"),t.focus(),"ios"===r.platform()&&(document.body.scrollTop=0)}})),document.getElementById("main").addEventListener("click",(()=>{e&&e.classList.remove("open"),"ios"===r.platform()&&i&&(h.scrollEnable(),document.body.scrollTop=i,i=null)}))}(),m(),f(),P&&(q=new d.default,O=new u.default),l.default.add("WoltLabSuite/Core/Ui/Mobile",g),o.default.add("WoltLabSuite/Core/Ui/Mobile",(()=>{m(),f()}))}function m(){document.querySelectorAll(".buttonGroupNavigation").forEach((e=>{if(e.classList.contains("jsMobileButtonGroupNavigation"))return;e.classList.add("jsMobileButtonGroupNavigation");const t=e.querySelector(".buttonList");if(0===t.childElementCount)return;e.parentElement.classList.add("hasMobileNavigation");const i=document.createElement("a");i.className="dropdownLabel";const n=document.createElement("span");n.className="icon icon24 fa-ellipsis-v",i.appendChild(n),i.addEventListener("click",(t=>{t.preventDefault(),t.stopPropagation(),e.classList.toggle("open")})),t.addEventListener("click",(function(t){t.stopPropagation(),e.classList.remove("open")})),e.insertBefore(i,e.firstChild)}))}function f(){document.querySelectorAll(".message").forEach((e=>{if(N.has(e))return;const t=e.querySelector(".jsMobileNavigation");if(t){t.addEventListener("click",(e=>{e.stopPropagation(),window.setTimeout((()=>{t.classList.remove("open")}),10)}));const i=e.querySelector(".messageQuickOptions");i&&t.childElementCount&&(i.classList.add("active"),i.addEventListener("click",(n=>{const o=n.target;j&&h.is("screen-sm-down")&&"LABEL"!==o.nodeName&&"INPUT"!==o.nodeName&&(n.preventDefault(),n.stopPropagation(),function(e,t,i){if(null===T)T=document.createElement("ul"),T.className="dropdownMenu",c.init("com.woltlab.wcf.jsMobileNavigation",T);else if(T.classList.contains("dropdownOpen")&&(w(),M===e))return;T.innerHTML="",l.default.execute(),L(i);const n=i.previousElementSibling;if(n&&n.classList.contains("messageFooterButtonsExtra")){const e=document.createElement("li");e.className="dropdownDivider",T.appendChild(e),L(n)}s.set(T,t,{horizontal:"right",allowFlip:"vertical"}),T.classList.add("dropdownOpen"),M=e}(e,i,t))})))}N.add(e)}))}function g(){document.querySelectorAll(".jsMobileButtonGroupNavigation.open, .jsMobileNavigation.open").forEach((e=>{e.classList.remove("open")})),j&&T&&w()}function b(){U=!0}function _(){U=!1,H.forEach((function(e){e.classList.remove("open")}))}function v(){H.forEach((function(e){e.addEventListener("mousedown",(function(t){U&&t.target===e&&(t.preventDefault(),e.classList.toggle("open"))}))})),U=!0}function w(){T.classList.remove("dropdownOpen")}function y(){B=!0,document.querySelectorAll(".boxMenuHasChildren > a").forEach((e=>{e.addEventListener("touchstart",(t=>{B&&"false"===e.getAttribute("aria-expanded")&&(t.preventDefault(),e.setAttribute("aria-expanded","true"),e.addEventListener("touchend",(()=>{document.body.addEventListener("touchstart",(()=>{document.body.addEventListener("touchend",(t=>{const i=e.parentElement,n=t.target;i.contains(n)||n===i||e.setAttribute("aria-expanded","false")}),{once:!0})}),{once:!0})}),{once:!0}))}),{passive:!1})}))}function E(){B=!0}function S(){B=!1}function L(e){e.querySelectorAll(".button").forEach((e=>{if(e.classList.contains("ignoreMobileNavigation")||e.classList.contains("reactButton"))return;const t=document.createElement("li");e.classList.contains("active")&&(t.className="active");const i=e.querySelector("span:not(.icon)");t.innerHTML=`<a href="#">${i.textContent}</a>`,t.children[0].addEventListener("click",(function(t){t.preventDefault(),t.stopPropagation(),"A"===e.nodeName?e.click():n.triggerEvent(e,"click"),w()})),T.appendChild(t)}))}function C(){j=!0,P&&(q.enable(),O.enable())}function A(){F&&k(F,".messageGroupLink")}function I(){j=!1,P&&(q.disable(),O.disable())}function x(){F&&D(F),T&&w()}function k(e,t){Array.from(e).forEach((e=>{const i=e.parentElement;let n=i.querySelector(".mobileLinkShadow");if(null===n){const o=e.querySelector(t);o.href&&(n=document.createElement("a"),n.className="mobileLinkShadow",n.href=o.href,i.appendChild(n),i.classList.add("mobileLinkShadowContainer"))}}))}function D(e){Array.from(e).forEach((e=>{const t=e.parentElement;if(t.classList.contains("mobileLinkShadowContainer")){const e=t.querySelector(".mobileLinkShadow");null!==e&&e.remove(),t.classList.remove("mobileLinkShadowContainer")}}))}Object.defineProperty(t,"__esModule",{value:!0}),t.removeShadow=t.rebuildShadow=t.disableShadow=t.disable=t.enableShadow=t.enable=t.setup=void 0,n=i.__importStar(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importDefault(l),c=i.__importStar(c),d=i.__importDefault(d),u=i.__importDefault(u),h=i.__importStar(h);let T=null,M=null,j=!1,B=!1,P=!1;const N=new WeakSet;let q,O,U=!1,F=null;const H=[];t.setup=function(e){P=e,document.querySelectorAll(".sidebar").forEach((e=>{H.push(e)})),r.touch()&&document.documentElement.classList.add("touch"),"desktop"!==r.platform()&&document.documentElement.classList.add("mobile");const t=document.querySelector(".messageGroupList");t&&(F=t.getElementsByClassName("messageGroup")),h.on("screen-md-down",{match:C,unmatch:I,setup:p}),h.on("screen-sm-down",{match:A,unmatch:x,setup:A}),h.on("screen-md-down",{match:b,unmatch:_,setup:v}),!r.touch()||"ios"!==r.platform()&&"android"!==r.platform()||h.on("screen-lg",{match:E,unmatch:S,setup:y})},t.enable=C,t.enableShadow=A,t.disable=I,t.disableShadow=x,t.rebuildShadow=k,t.removeShadow=D})),define("WoltLabSuite/Core/Ui/Page/Action",["require","exports","tslib","../../Core","../../Language","../../Ui/Screen"],(function(e,t,i,n,o,r){"use strict";function a(){if(document.documentElement.classList.contains("disableScrolling"))return;const e=window.pageYOffset;e!==g?(e>=b?(p.classList.contains("initiallyHidden")&&p.classList.remove("initiallyHidden"),p.setAttribute("aria-hidden","false")):p.setAttribute("aria-hidden","true"),l(),-1!==g&&m.classList[e<g?"remove":"add"]("scrolledDown"),g=-1):_()}function s(e){e.preventDefault();document.getElementById("top").scrollIntoView({behavior:"smooth"})}function l(){const e=Array.from(h.children).find((e=>"false"===e.getAttribute("aria-hidden")));h.classList[e?"add":"remove"]("active"),e?m.classList.add("pageActionHasContextButtons"):m.classList.remove("pageActionHasContextButtons")}function c(){if(f)return;f=!0,m=document.createElement("div"),m.className="pageAction",h=document.createElement("div"),h.className="pageActionButtons",m.appendChild(h),p=function(){const e=document.createElement("a");return e.className="button buttonPrimary pageActionButtonToTop initiallyHidden jsTooltip",e.href="",e.title=o.get("wcf.global.scrollUp"),e.setAttribute("aria-hidden","true"),e.innerHTML='<span class="icon icon32 fa-angle-up"></span>',e.addEventListener("click",s),e}(),m.appendChild(p),document.body.appendChild(m);const e=n.debounce(a,100);window.addEventListener("scroll",(()=>{-1===g&&(g=window.pageYOffset,window.setTimeout((()=>{a(),g=window.pageYOffset}),60)),e()}),{passive:!0}),window.addEventListener("touchstart",(()=>{-1!==g&&(g=-1)}),{passive:!0}),r.on("screen-sm-down",{match(){b=50},unmatch(){b=300},setup(){b=50}}),a()}function d(e){const t=u.get(e);if(t){t.parentElement.setAttribute("aria-hidden","true"),l()}}Object.defineProperty(t,"__esModule",{value:!0}),t.show=t.hide=t.remove=t.get=t.has=t.add=t.setup=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r);const u=new Map;let h,p,m,f=!1,g=-1,b=300;const _=n.debounce((()=>{g=-1}),50);t.setup=c,t.add=function(e,t,i){c();const n=document.createElement("div");n.className="pageActionButton",n.dataset.name=e,n.setAttribute("aria-hidden","true"),t.classList.add("button"),t.classList.add("buttonPrimary"),n.appendChild(t);let o=null;i&&(o=u.get(i)||null,o&&(o=o.parentElement)),!o&&h.childElementCount&&(o=h.children[0]),o||(o=h.firstChild),h.insertBefore(n,o),m.classList.remove("scrolledDown"),u.set(e,t),n.offsetParent,n.setAttribute("aria-hidden","false"),l()},t.has=function(e){return u.has(e)},t.get=function(e){return u.get(e)},t.remove=function(e){const t=u.get(e);if(void 0!==t){const i=t.parentElement,o=()=>{try{n.stringToBool(i.getAttribute("aria-hidden"))&&(h.removeChild(i),u.delete(e)),i.removeEventListener("transitionend",o)}catch(e){}};i.addEventListener("transitionend",o),d(e)}},t.hide=d,t.show=function(e){const t=u.get(e);if(t){const e=t.parentElement;e.classList.contains("initiallyHidden")&&e.classList.remove("initiallyHidden"),e.setAttribute("aria-hidden","false"),m.classList.remove("scrolledDown"),l()}}})),define("WoltLabSuite/Core/Ui/TabMenu/Simple",["require","exports","tslib","../../Core","../../Dom/Traverse","../../Dom/Util","../../Environment","../../Event/Handler"],(function(e,t,i,n,o,r,a,s){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importStar(a),s=i.__importStar(s);class l{constructor(e){this.containers=new Map,this.isLegacy=!1,this.store=null,this.tabs=new Map,this.container=e}validate(){if(!this.container.classList.contains("tabMenuContainer"))return!1;const e=o.childByTag(this.container,"NAV");if(null===e)return!1;const t=e.querySelectorAll("li");if(0===t.length)return!1;o.childrenByTag(this.container,"DIV").forEach((e=>{let t=e.dataset.name;t||(t=r.default.identify(e),e.dataset.name=t),this.containers.set(t,e)}));const i=this.container.id;if(t.forEach((e=>{const t=this._getTabName(e);if(!t)return;if(this.tabs.has(t))throw new Error("Tab names must be unique, li[data-name='"+t+"'] (tab menu id: '"+i+"') exists more than once.");const n=this.containers.get(t);if(void 0===n)throw new Error("Expected content element for li[data-name='"+t+"'] (tab menu id: '"+i+"').");if(n.parentNode!==this.container)throw new Error("Expected content element '"+t+"' (tab menu id: '"+i+"') to be a direct children.");if(1!==e.childElementCount||"A"!==e.children[0].nodeName)throw new Error("Expected exactly one <a> as children for li[data-name='"+t+"'] (tab menu id: '"+i+"').");this.tabs.set(t,e)})),!this.tabs.size)throw new Error("Expected at least one tab (tab menu id: '"+i+"').");return this.isLegacy&&(this.container.dataset.isLegacy="true",this.tabs.forEach((function(e,t){e.setAttribute("aria-controls",t)}))),!0}init(e){this.tabs.forEach((t=>{if(!e||e.get(t.dataset.name||"")!==t){const e=t.children[0];if(e.addEventListener("click",(e=>this._onClick(e))),"ios"===a.platform()){let t=!1;e.addEventListener("touchstart",(()=>{t=!0})),e.addEventListener("touchmove",(()=>{t=!1})),e.addEventListener("touchend",(e=>{t&&(t=!1,e.preventDefault(),this._onClick(e))}))}}}));let t=null;if(!e){const e=l.getIdentifierFromHash();let i;if(""!==e&&(i=this.tabs.get(e),i)){const e=this.container.parentNode;e.classList.contains("tabMenuContainer")&&(t=e)}if(!i){let e=this.container.dataset.preselect||this.container.dataset.active;"true"!==e&&e||(e=!0),!0===e?this.tabs.forEach((function(e){i||r.default.isHidden(e)||e.previousElementSibling&&!r.default.isHidden(e.previousElementSibling)||(i=e)})):"string"==typeof e&&"false"!==e&&(i=this.tabs.get(e))}i&&(this.containers.forEach((e=>{e.classList.add("hidden")})),this.select(null,i,!0));const n=this.container.dataset.store;if(n){const e=document.createElement("input");e.type="hidden",e.name=n,e.value=this.getActiveTab().dataset.name||"",this.container.appendChild(e),this.store=e}}return t}select(t,n,o){if(t=t?t.toString():"",!(n=n||this.tabs.get(t))){if(~~t==+t){t=~~t;let e=0;this.tabs.forEach((i=>{e===t&&(n=i),e++}))}if(!n)throw new Error(`Expected a valid tab name, '${t}' given (tab menu id: '${this.container.id}').`)}t=t||n.dataset.name||"";const r=this.getActiveTab();let a=null;if(r){const e=r.dataset.name;if(e===t)return;o||s.fire("com.woltlab.wcf.simpleTabMenu_"+this.container.id,"beforeSelect",{tab:r,tabName:e}),r.classList.remove("active"),a=this.containers.get(r.dataset.name||""),a.classList.remove("active"),a.classList.add("hidden"),this.isLegacy&&(r.classList.remove("ui-state-active"),a.classList.remove("ui-state-active"))}n.classList.add("active");const c=this.containers.get(t);if(c.classList.add("active"),c.classList.remove("hidden"),this.isLegacy&&(n.classList.add("ui-state-active"),c.classList.add("ui-state-active")),this.store&&(this.store.value=t),!o){s.fire("com.woltlab.wcf.simpleTabMenu_"+this.container.id,"select",{active:n,activeName:t,previous:r,previousName:r?r.dataset.name:null});const e=this.isLegacy&&"function"==typeof window.jQuery?window.jQuery:null;e&&e(this.container).trigger("wcftabsbeforeactivate",{newTab:e(n),oldTab:e(r),newPanel:e(c),oldPanel:e(a)});let i=window.location.href.replace(/#+[^#]*$/,"");l.getIdentifierFromHash()===t?i+=window.location.hash:i+="#"+t,window.history.replaceState(void 0,"",i)}new Promise(((t,i)=>{e(["../TabMenu"],t,i)})).then(i.__importStar).then((e=>{e.scrollToTab(n)}))}selectFirstVisible(){let e=null;return this.tabs.forEach((t=>{e||r.default.isHidden(t)||(e=t)})),e&&this.select(null,e,!1),null!==e}rebuild(){const e=new Map(this.tabs);this.validate(),this.init(e)}hasTab(e){return this.tabs.has(e)}_onClick(e){e.preventDefault();const t=e.currentTarget;this.select(null,t.parentNode)}_getTabName(e){let t=e.dataset.name||null;if(!t&&1===e.childElementCount&&"A"===e.children[0].nodeName){const i=e.children[0];/#([^#]+)$/.exec(i.href)&&(t=RegExp.$1,null===document.getElementById(t)?t=null:(this.isLegacy=!0,e.dataset.name=t))}return t}getActiveTab(){return document.querySelector("#"+this.container.id+" > nav > ul > li.active")}getContainers(){return this.containers}getTabs(){return this.tabs}static getIdentifierFromHash(){return/^#+([^/]+)+(?:\/.+)?/.exec(window.location.hash)?RegExp.$1:""}}return n.enableLegacyInheritance(l),l})),define("WoltLabSuite/Core/Ui/Scroll",["require","exports","tslib","../Dom/Util"],(function(e,t,i,n){"use strict";function o(){null!==s&&window.clearTimeout(s),s=window.setTimeout((()=>{null!==r&&r(),window.removeEventListener("scroll",o),r=null,s=null}),100)}Object.defineProperty(t,"__esModule",{value:!0}),t.element=void 0,n=i.__importDefault(n);let r=null,a=null,s=null;t.element=function(e,t){if(!(e instanceof HTMLElement))throw new TypeError("Expected a valid DOM element.");if(void 0!==t&&"function"!=typeof t)throw new TypeError("Expected a valid callback function.");if(!document.body.contains(e))throw new Error("Element must be part of the visible DOM.");if(null!==r)throw new Error("Cannot scroll to element, a concurrent request is running.");t&&(r=t,window.addEventListener("scroll",o));let i=n.default.offset(e).top;if(null===a){a=50;const e=document.getElementById("pageHeaderPanel");if(null!==e){const t=window.getComputedStyle(e).position;a="fixed"===t||"static"===t?e.offsetHeight:0}}a>0&&(i<=a?i=0:i-=a);const s=window.pageYOffset;window.scrollTo({left:0,top:i,behavior:"smooth"}),window.setTimeout((()=>{s===window.pageYOffset&&o()}),100)}})),define("WoltLabSuite/Core/Ui/TabMenu",["require","exports","tslib","../Dom/Change/Listener","../Dom/Util","./TabMenu/Simple","./CloseOverlay","./Screen","./Scroll"],(function(e,t,i,n,o,r,a,s,l){"use strict";function c(){document.querySelectorAll(".tabMenuContainer:not(.staticTabMenuContainer)").forEach((e=>{const t=o.default.identify(e);if(_.has(t))return;let i=new r.default(e);if(!i.validate())return;const n=i.init();if(_.set(t,i),n instanceof HTMLElement){const e=m(n.parentNode.id);e&&(i=e,i.select(n.id,void 0,!0))}const a=document.querySelector("#"+t+" > nav > ul");a.addEventListener("click",(e=>{e.preventDefault(),e.stopPropagation(),e.target===a?(a.classList.add("active"),g=a):(a.classList.remove("active"),g=null)})),e.querySelectorAll(".tabMenu, .menu").forEach((e=>{function t(){i=null,p(e)}let i=null;e.querySelector("ul").addEventListener("scroll",(()=>{null!==i&&window.clearTimeout(i),i=window.setTimeout(t,10)}),{passive:!0})}));const s=e.closest("form");if(null!==s){const t=s.querySelector('input[type="submit"]');null!==t&&t.addEventListener("click",(t=>{t.defaultPrevented||e.querySelectorAll("input, select").forEach((e=>{if(!e.checkValidity()){t.preventDefault();const i=m(e.closest(".tabMenuContainer").id),n=e.closest(".tabMenuContent");return i.select(n.dataset.name||""),void l.element(e,(()=>{e.reportValidity()}))}}))}))}}))}function d(e){b=!0,_.forEach((t=>{const i=t.getActiveTab();e?p(i.closest(".menu, .tabMenu")):f(i)}))}function u(){b=!1}function h(e,t,i,n,o,r){(r||t>0)&&(t-=15),i!==(t=t<0?0:Math.min(t,n-o))&&(e.classList.add("enableAnimation"),i<t?e.firstElementChild.style.setProperty("margin-left",i-t+"px",""):e.style.setProperty("padding-left",i-t+"px",""),setTimeout((()=>{e.classList.remove("enableAnimation"),e.firstElementChild.style.removeProperty("margin-left"),e.style.removeProperty("padding-left"),e.scrollLeft=t}),300))}function p(e){if(!b)return;const t=e.clientWidth,i=e.querySelector("ul"),n=i.scrollLeft,o=i.scrollWidth,r=n>0;let a=e.querySelector(".tabMenuOverlayLeft");r?(null===a&&(a=document.createElement("span"),a.className="tabMenuOverlayLeft icon icon24 fa-angle-left",a.addEventListener("click",(()=>{const e=i.clientWidth;h(i,i.scrollLeft-~~(e/2),i.scrollLeft,i.scrollWidth,e,!1)})),e.insertBefore(a,e.firstChild)),a.classList.add("active")):null!==a&&a.classList.remove("active");const s=t+n<o;let l=e.querySelector(".tabMenuOverlayRight");s?(null===l&&(l=document.createElement("span"),l.className="tabMenuOverlayRight icon icon24 fa-angle-right",l.addEventListener("click",(()=>{const e=i.clientWidth;h(i,i.scrollLeft+~~(e/2),i.scrollLeft,i.scrollWidth,e,!1)})),e.appendChild(l)),l.classList.add("active")):null!==l&&l.classList.remove("active")}function m(e){return _.get(e)}function f(e){if(!b)return;const t=e.closest("ul"),i=t.clientWidth,n=t.scrollLeft,o=t.scrollWidth;if(i===o)return;const r=e.offsetLeft;let a=!1;r<n&&(a=!0);let s=!1;if(!a){const t=i-(r-n);let o=e.clientWidth;null!==e.nextElementSibling&&(s=!0,o+=20),t<o&&(a=!0)}a&&h(t,r,n,o,i,s)}Object.defineProperty(t,"__esModule",{value:!0}),t.scrollToTab=t.getTabMenu=t.setup=void 0,n=i.__importDefault(n),o=i.__importDefault(o),r=i.__importDefault(r),a=i.__importDefault(a),s=i.__importStar(s),l=i.__importStar(l);let g=null,b=!1;const _=new Map;t.setup=function(){c(),_.forEach((e=>{let t=!1;e.getContainers().forEach((i=>{t||null===i.querySelector(".formError")||(t=!0,e.select(i.id))}))})),n.default.add("WoltLabSuite/Core/Ui/TabMenu",c),a.default.add("WoltLabSuite/Core/Ui/TabMenu",(()=>{g&&(g.classList.remove("active"),g=null)})),s.on("screen-sm-down",{match(){d(!1)},unmatch:u,setup(){d(!0)}}),window.addEventListener("hashchange",(()=>{const e=r.default.getIdentifierFromHash(),t=e?document.getElementById(e):null;null!==t&&t.classList.contains("tabMenuContent")&&_.forEach((t=>{t.hasTab(e)&&t.select(e)}))}));const e=r.default.getIdentifierFromHash();e&&window.setTimeout((()=>{const t=document.getElementById(e);if(t&&t.classList.contains("tabMenuContent")){const e=window.scrollY||window.pageYOffset;if(e>0){const i=t.parentNode;let n=i.offsetTop-50;if(n<0&&(n=0),e>n){let e=o.default.offset(i).top;e<=50?e=0:e-=50,window.scrollTo(0,e)}}}}),100)},t.getTabMenu=m,t.scrollToTab=f})),define("WoltLabSuite/Core/Ui/Tooltip",["require","exports","tslib","../Dom/Change/Listener","../Environment","./Alignment"],(function(e,t,i,n,o,r){"use strict";function a(e){const t=e.currentTarget;let i=t.title.trim();""!==i&&(t.dataset.tooltip=i,t.setAttribute("aria-label",i),t.removeAttribute("title")),i=t.dataset.tooltip||"",u.style.removeProperty("top"),u.style.removeProperty("left"),i.length?(u.classList.add("active"),d.textContent=i,r.set(u,t,{horizontal:"center",verticalOffset:4,pointer:!0,pointerClassNames:["inverse"],vertical:"top"})):u.classList.remove("active")}function s(){u.classList.remove("active")}function l(){document.querySelectorAll(".jsTooltip").forEach((e=>{e.classList.remove("jsTooltip");const t=e.title.trim();t.length&&(e.dataset.tooltip=t,e.removeAttribute("title"),e.setAttribute("aria-label",t),e.addEventListener("mouseenter",a),e.addEventListener("mouseleave",s),e.addEventListener("click",s))}))}let c,d,u;Object.defineProperty(t,"__esModule",{value:!0}),t.init=t.setup=void 0,n=i.__importDefault(n),o=i.__importStar(o),r=i.__importStar(r),t.setup=function(){"desktop"===o.platform()&&(u=document.createElement("div"),u.id="balloonTooltip",u.classList.add("balloonTooltip"),u.addEventListener("transitionend",(()=>{u.classList.contains("active")||["bottom","left","right","top"].forEach((e=>{u.style.removeProperty(e)}))})),d=document.createElement("span"),d.id="balloonTooltipText",u.appendChild(d),c=document.createElement("span"),c.classList.add("elementPointer"),c.appendChild(document.createElement("span")),u.appendChild(c),document.body.appendChild(u),l(),n.default.add("WoltLabSuite/Core/Ui/Tooltip",l),window.addEventListener("scroll",s))},t.init=l})),define("WoltLabSuite/Core/Ui/Page/JumpTo",["require","exports","tslib","../../Language","../Dialog"],(function(e,t,i,n,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,n=i.__importStar(n),o=i.__importDefault(o);class r{constructor(){this.elements=new Map}init(e,t){if(t){if("function"!=typeof t)throw new TypeError("Expected a valid function for parameter 'callback'.")}else{const i=e.dataset.link;t=i?e=>{window.location.href=i.replace(/pageNo=%d/,`pageNo=${e}`)}:()=>{}}this.elements.has(e)||e.querySelectorAll(".jumpTo").forEach((i=>{i.addEventListener("click",(t=>this.click(e,t))),this.elements.set(e,t)}))}click(e,t){t.preventDefault(),this.activeElement=e,o.default.open(this);const i=e.dataset.pages||"0";this.input.value=i,this.input.max=i,this.input.select(),this.description.textContent=n.get("wcf.page.jumpTo.description").replace(/#pages#/,i)}_keyUp(e){if("Enter"===e.key&&!this.submitButton.disabled)return void this.submit();const t=+this.input.value;this.submitButton.disabled=t<1||t>+this.input.max}submit(){this.elements.get(this.activeElement)(+this.input.value),o.default.close(this)}_dialogSetup(){const e=`<dl>\n <dt><label for="jsPaginationPageNo">${n.get("wcf.page.jumpTo")}</label></dt>\n <dd>\n <input type="number" id="jsPaginationPageNo" value="1" min="1" max="1" class="tiny">\n <small></small>\n </dd>\n </dl>\n <div class="formSubmit">\n <button class="buttonPrimary">${n.get("wcf.global.button.submit")}</button>\n </div>`;return{id:"paginationOverlay",options:{onSetup:e=>{this.input=e.querySelector("input"),this.input.addEventListener("keyup",(e=>this._keyUp(e))),this.description=e.querySelector("small"),this.submitButton=e.querySelector("button"),this.submitButton.addEventListener("click",(()=>this.submit()))},title:n.get("wcf.global.page.pagination")},source:e}}}let a=null;t.init=function(e,t){(null===a&&(a=new r),a).init(e,t)}})),define("WoltLabSuite/Core/Ui/Password",["require","exports","tslib","../Dom/Change/Listener","../Language"],(function(e,t,i,n,o){"use strict";function r(){document.querySelectorAll("input[type=password]").forEach((e=>{s.has(e)||function(e){s.add(e);const t=document.activeElement,i=document.createElement("div");i.classList.add("inputAddon"),e.insertAdjacentElement("beforebegin",i),i.appendChild(e);const n=document.createElement("span");n.title=o.get("wcf.global.form.password.button.show"),n.classList.add("button","inputSuffix","jsTooltip"),n.setAttribute("role","button"),n.tabIndex=0,n.setAttribute("aria-hidden","true"),i.appendChild(n);const r=document.createElement("span");r.classList.add("icon","icon16","fa-eye"),n.appendChild(r),n.addEventListener("click",(()=>{a(e,n,r)})),n.addEventListener("keydown",(t=>{"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),a(e,n,r))})),t===e&&e.focus()}(e)}))}function a(e,t,i){"password"===e.type?(i.classList.remove("fa-eye"),i.classList.add("fa-eye-slash"),t.dataset.tooltip=o.get("wcf.global.form.password.button.hide"),e.type="text"):(i.classList.add("fa-eye"),i.classList.remove("fa-eye-slash"),t.dataset.tooltip=o.get("wcf.global.form.password.button.show"),e.type="password")}Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,n=i.__importDefault(n),o=i.__importStar(o);const s=new WeakSet;t.setup=function(){r(),n.default.add("WoltLabSuite/Core/Ui/Password",(()=>r()))}})),define("WoltLabSuite/Core/Ui/Empty",["require","exports","tslib","../Dom/Change/Listener"],(function(e,t,i,n){"use strict";function o(){document.querySelectorAll(".jsReloadPageWhenEmpty").forEach((e=>{e.classList.remove("jsReloadPageWhenEmpty"),r.observe(e,{childList:!0})}))}Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,n=i.__importDefault(n);const r=new MutationObserver((e=>{e.forEach((e=>{const t=e.target;if(0===t.childElementCount)window.location.reload();else{Array.from(t.children).every((e=>"ignore"===e.dataset.reloadPageWhenEmpty))&&window.location.reload()}}))}));t.setup=function(){o(),n.default.add("WoltLabSuite/Core/Ui/Empty",(()=>o()))}})),define("WoltLabSuite/Core/Ui/Confirmation",["require","exports","tslib","../Core","../Language","./Dialog"],(function(e,t,i,n,o,r){"use strict";function a(){return l||(l=new s),l}Object.defineProperty(t,"__esModule",{value:!0}),t.getContentElement=t.show=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r);class s{constructor(){this._active=!1,this.dialog=document.createElement("div"),this.dialog.id="wcfSystemConfirmation",this.dialog.classList.add("systemConfirmation"),this.text=document.createElement("p"),this.dialog.appendChild(this.text),this._content=document.createElement("div"),this._content.id="wcfSystemConfirmationContent",this.dialog.appendChild(this._content);const e=document.createElement("div");e.classList.add("formSubmit"),this.dialog.appendChild(e),this.confirmButton=document.createElement("button"),this.confirmButton.dataset.type="submit",this.confirmButton.classList.add("buttonPrimary"),this.confirmButton.textContent=o.get("wcf.global.confirmation.confirm"),e.appendChild(this.confirmButton);const t=document.createElement("button");t.textContent=o.get("wcf.global.confirmation.cancel"),t.addEventListener("click",(()=>{r.default.close(this)})),e.appendChild(t),document.body.appendChild(this.dialog)}open(e){this.parameters=e.parameters||{},this._content.innerHTML="string"==typeof e.template?e.template.trim():"",this.text[e.messageIsHtml?"innerHTML":"textContent"]=e.message,"function"==typeof e.legacyCallback?(this.callbackCancel=t=>{e.legacyCallback("cancel",t,this.content)},this.callbackConfirm=t=>{e.legacyCallback("confirm",t,this.content)}):("function"!=typeof e.cancel&&(e.cancel=()=>{}),this.callbackCancel=e.cancel,this.callbackConfirm=e.confirm),this._active=!0,r.default.open(this)}get active(){return this._active}get content(){return this._content}_confirm(){this.callbackConfirm(this.parameters,this.content),this._active=!1,r.default.close("wcfSystemConfirmation")}_onClose(){this.active&&(this.confirmButton.blur(),this._active=!1,this.callbackCancel(this.parameters))}_onShow(){this.confirmButton.blur(),this.confirmButton.focus()}_dialogSetup(){return{id:"wcfSystemConfirmation",options:{onClose:this._onClose.bind(this),onShow:this._onShow.bind(this),title:o.get("wcf.global.confirmation.title")}}}_dialogSubmit(){this._confirm()}}let l;t.show=function(e){if(!a().active){if((e=n.extend({cancel:null,confirm:null,legacyCallback:null,message:"",messageIsHtml:!1,parameters:{},template:""},e)).message="string"==typeof e.message?e.message.trim():"",!e.message)throw new Error("Expected a non-empty string for option 'message'.");if("function"!=typeof e.confirm&&"function"!=typeof e.legacyCallback)throw new TypeError("Expected a valid callback for option 'confirm'.");a().open(e)}},t.getContentElement=function(){return a().content}})),define("WoltLabSuite/Core/Ui/Object/Action",["require","exports","tslib","../../Ajax","../../Event/Handler","../Confirmation","../../Language","../../StringUtil","../../Dom/Change/Listener"],(function(e,t,i,n,o,r,a,s,l){"use strict";function c(e){function t(){n.apiOnce({data:{actionName:l,className:c,objectIDs:[d],parameters:p},success:e=>function(e,t){"reload"===e.dataset.objectActionSuccess?window.location.reload():o.fire("WoltLabSuite/Core/Ui/Object/Action",e.dataset.objectAction,{containerElement:e.closest(u),data:t,objectElement:e.closest(h)})}(i,e)})}const i=e.currentTarget,l=i.dataset.objectAction;let c=i.closest(u).dataset.objectActionClassName;i.dataset.objectActionClassName&&(c=i.dataset.objectActionClassName);let d=i.closest(h).dataset.objectId;i.dataset.objectId&&(d=i.dataset.objectId);const p={};Object.entries(i.dataset).forEach((([e,t])=>{let i=/^objectActionParameterData(.+)/.exec(e);if(i)Object.prototype.hasOwnProperty.call(p,"data")||(p.data={}),p.data[s.lcfirst(i[1])]=t;else if(i=/^objectActionParameter(.+)/.exec(e),i){const e=s.lcfirst(i[1]);if("data"===e)throw new Error("Additional object action parameters may not use 'data' as key.");p[e]=t}})),i.dataset.confirmMessage?r.show({confirm:t,message:a.get(i.dataset.confirmMessage),messageIsHtml:!0}):t()}function d(){document.querySelectorAll(`${u} ${h} .jsObjectAction[data-object-action]`).forEach((e=>{p.has(e)||(e.addEventListener("click",(e=>c(e))),p.add(e))}))}Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importDefault(l);const u=".jsObjectActionContainer[data-object-action-class-name]",h=".jsObjectActionObject[data-object-id]",p=new Set;t.setup=function(){d(),l.default.add("WoltLabSuite/Core/Ui/Action",(()=>d()))}})),define("WoltLabSuite/Core/Controller/Clipboard",["require","exports","tslib","../Ajax","../Core","../Dom/Change/Listener","../Dom/Util","../Event/Handler","../Language","../Ui/Confirmation","../Ui/Dropdown/Simple","../Ui/Page/Action","../Ui/Screen"],(function(e,t,i,n,o,r,a,s,l,c,d,u,h){"use strict";function p(){return g||(g=new f),g}Object.defineProperty(t,"__esModule",{value:!0}),t.unmark=t.showEditor=t.hideEditor=t.reload=t.setup=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importDefault(a),s=i.__importStar(s),l=i.__importStar(l),c=i.__importStar(c),d=i.__importDefault(d),u=i.__importStar(u),h=i.__importStar(h);const m='.messageCheckboxLabel > input[type="checkbox"], .message .messageClipboardCheckbox > input[type="checkbox"], .messageGroupList .columnMark > label > input[type="checkbox"]';class f{constructor(){this.containers=new Map,this.editors=new Map,this.editorDropdowns=new Map,this.itemData=new WeakMap,this.knownCheckboxes=new WeakSet,this.pageClassNames=[],this.pageObjectId=0,this.reloadPageOnSuccess=new Map}setup(e){if(!e.pageClassName)throw new Error("Expected a non-empty string for parameter 'pageClassName'.");let t=!1;0===this.pageClassNames.length&&(t=e.hasMarkedItems,this.pageObjectId=e.pageObjectId),this.pageClassNames.push(e.pageClassName),this.initContainers(),t&&this.containers.size&&this.loadMarkedItems(),r.default.add("WoltLabSuite/Core/Controller/Clipboard",(()=>this.initContainers()))}reload(){this.containers.size&&this.loadMarkedItems()}initContainers(){document.querySelectorAll(".jsClipboardContainer").forEach((e=>{const t=a.default.identify(e);let i=this.containers.get(t);if(void 0===i){const n=e.querySelector(".jsClipboardMarkAll");if(null!==n){if(n.matches(m)){const e=n.closest("label");e.setAttribute("role","checkbox"),e.tabIndex=0,e.setAttribute("aria-checked","false"),e.setAttribute("aria-label",l.get("wcf.clipboard.item.markAll")),e.addEventListener("keyup",(e=>{"Enter"!==e.key&&"Space"!==e.key||n.click()}))}n.dataset.containerId=t,n.addEventListener("click",(e=>this.markAll(e)))}i={checkboxes:e.getElementsByClassName("jsClipboardItem"),element:e,markAll:n,markedObjectIds:new Set},this.containers.set(t,i)}Array.from(i.checkboxes).forEach((e=>{if(this.knownCheckboxes.has(e))return;if(e.dataset.containerId=t,e.matches(m)){const t=e.closest("label");t.setAttribute("role","checkbox"),t.tabIndex=0,t.setAttribute("aria-checked","false"),t.setAttribute("aria-label",l.get("wcf.clipboard.item.mark")),t.addEventListener("keyup",(t=>{"Enter"!==t.key&&"Space"!==t.key||e.click()}))}null===e.closest("a")?e.addEventListener("click",(e=>this.mark(e))):e.addEventListener("click",(t=>{t.preventDefault(),window.setTimeout((()=>{e.checked=!e.checked,this.mark(e)}),10)})),this.knownCheckboxes.add(e)}))}))}loadMarkedItems(){n.api(this,{actionName:"getMarkedItems",parameters:{pageClassNames:this.pageClassNames,pageObjectID:this.pageObjectId}})}markAll(e){const t=e.currentTarget,i="INPUT"!==t.nodeName||t.checked;this.setParentAsMarked(t,i);const n=[],o=t.dataset.containerId,r=this.containers.get(o),a=r.element.dataset.type;Array.from(r.checkboxes).forEach((e=>{const o=~~e.dataset.objectId;i?e.checked||(e.checked=!0,r.markedObjectIds.add(o),n.push(o)):e.checked&&(e.checked=!1,r.markedObjectIds.delete(o),n.push(o)),this.setParentAsMarked(e,i);const a=t.closest(".jsClipboardObject");null!==a&&(i?a.classList.add("jsMarked"):a.classList.remove("jsMarked"))})),this.saveState(a,n,i)}mark(e){const t=e instanceof Event?e.currentTarget:e,i=~~t.dataset.objectId,n=t.checked,o=t.dataset.containerId,r=this.containers.get(o),a=r.element.dataset.type,s=t.closest(".jsClipboardObject");n?(r.markedObjectIds.add(i),s.classList.add("jsMarked")):(r.markedObjectIds.delete(i),s.classList.remove("jsMarked")),null!==r.markAll&&(r.markAll.checked=!Array.from(r.checkboxes).some((e=>!e.checked)),this.setParentAsMarked(r.markAll,n)),this.setParentAsMarked(t,t.checked),this.saveState(a,[i],n)}saveState(e,t,i){n.api(this,{actionName:i?"mark":"unmark",parameters:{pageClassNames:this.pageClassNames,pageObjectID:this.pageObjectId,objectIDs:t,objectType:e}})}executeAction(e){function t(){const e=i.dataset.type;s.fire("com.woltlab.wcf.clipboard",e,{data:n,listItem:i,responseData:null})}const i=e.currentTarget,n=this.itemData.get(i);if(n.url)return void(window.location.href=n.url);const r="string"==typeof n.internalData.confirmMessage?n.internalData.confirmMessage:"";let a=!0;if(o.isPlainObject(n.parameters)&&n.parameters.actionName&&n.parameters.className){if("unmarkAll"===n.parameters.actionName||Array.isArray(n.parameters.objectIDs))if(r.length){const e="string"==typeof n.internalData.template?n.internalData.template:"";c.show({confirm:()=>{const t={};e.length&&c.getContentElement().querySelectorAll("input, select, textarea").forEach((e=>{const i=e.name;switch(e.nodeName){case"INPUT":("checkbox"!==e.type&&"radio"!==e.type||e.checked)&&(t[i]=e.value);break;case"SELECT":t[i]=e.value;break;case"TEXTAREA":t[i]=e.value.trim()}})),this.executeProxyAction(i,n,t)},message:r,template:e})}else this.executeProxyAction(i,n)}else r.length&&(a=!1,c.show({confirm:t,message:r}));a&&t()}executeProxyAction(e,t,i={}){const r="unmarkAll"!==t.parameters.actionName?t.parameters.objectIDs:[],a={data:i};o.isPlainObject(t.internalData.parameters)&&Object.entries(t.internalData.parameters).forEach((([e,t])=>{a[e]=t})),n.api(this,{actionName:t.parameters.actionName,className:t.parameters.className,objectIDs:r,parameters:a},(i=>{if("unmarkAll"!==t.actionName){const n=e.dataset.type;s.fire("com.woltlab.wcf.clipboard",n,{data:t,listItem:e,responseData:i});const o=this.reloadPageOnSuccess.get(n);if(o&&o.includes(i.actionName))return void window.location.reload()}this.loadMarkedItems()}))}unmarkAll(e){const t=e.currentTarget;n.api(this,{actionName:"unmarkAll",parameters:{objectType:t.dataset.type}})}_ajaxSetup(){return{data:{className:"wcf\\data\\clipboard\\item\\ClipboardItemAction"}}}_ajaxSuccess(e){if("unmarkAll"===e.actionName){const t=e.returnValues.objectType;return void this.containers.forEach((e=>{e.element.dataset.type===t&&(e.element.querySelectorAll(".jsMarked").forEach((e=>e.classList.remove("jsMarked"))),null!==e.markAll&&(e.markAll.checked=!1,this.setParentAsMarked(e.markAll,!1)),Array.from(e.checkboxes).forEach((e=>{e.checked=!1,this.setParentAsMarked(e,!1)})),u.remove(`wcfClipboard-${t}`))}))}this.itemData=new WeakMap,this.reloadPageOnSuccess.clear();const t=o.isPlainObject(e.returnValues.markedItems)?e.returnValues.markedItems:{};this.containers.forEach((e=>{const i=e.element.dataset.type,n=Array.isArray(t[i])?t[i]:[];this.rebuildMarkings(e,n)}));const i=Object.keys(e.returnValues.items||{});this.editors.forEach(((e,t)=>{i.includes(t)||(u.remove(`wcfClipboard-${t}`),this.editorDropdowns.get(t).innerHTML="")})),e.returnValues.items&&Object.entries(e.returnValues.items).forEach((([e,t])=>{this.reloadPageOnSuccess.set(e,t.reloadPageOnSuccess);let n=!1,o=this.editors.get(e),r=this.editorDropdowns.get(e);void 0===o?(n=!0,o=document.createElement("a"),o.className="dropdownToggle",o.textContent=t.label,this.editors.set(e,o),r=document.createElement("ol"),r.className="dropdownMenu",this.editorDropdowns.set(e,r)):(o.textContent=t.label,r.innerHTML=""),Object.values(t.items).forEach((t=>{const i=document.createElement("li"),n=document.createElement("span");n.textContent=t.label,i.appendChild(n),r.appendChild(i),i.dataset.type=e,i.addEventListener("click",(e=>this.executeAction(e))),this.itemData.set(i,t)}));const a=document.createElement("li");a.classList.add("dropdownDivider"),r.appendChild(a);const s=document.createElement("li");s.dataset.type=e;const c=document.createElement("span");if(c.textContent=l.get("wcf.clipboard.item.unmarkAll"),s.appendChild(c),s.addEventListener("click",(e=>this.unmarkAll(e))),r.appendChild(s),-1!==i.indexOf(e)){const t=`wcfClipboard-${e}`;u.has(t)?u.show(t):u.add(t,o)}if(n){const e=o.parentElement;e.classList.add("dropdown"),e.appendChild(r),d.default.init(o)}}))}rebuildMarkings(e,t){var i;let n=!0;if(Array.from(e.checkboxes).forEach((e=>{const i=e.closest(".jsClipboardObject"),o=t.includes(~~e.dataset.objectId);o||(n=!1),e.checked=o,o?i.classList.add("jsMarked"):i.classList.remove("jsMarked"),this.setParentAsMarked(e,o)})),null!==e.markAll){e.markAll.checked=n,this.setParentAsMarked(e.markAll,n);const t=null===(i=e.markAll.closest(".columnMark"))||void 0===i?void 0:i.parentNode;t&&(n?t.classList.add("jsMarked"):t.classList.remove("jsMarked"))}}setParentAsMarked(e,t){const i=e.parentElement;"checkbox"===i.getAttribute("role")&&i.setAttribute("aria-checked",t?"true":"false")}hideEditor(e){u.remove("wcfClipboard-"+e),h.pageOverlayOpen()}showEditor(){this.loadMarkedItems(),h.pageOverlayClose()}unmark(e,t){this.saveState(e,t,!1)}}let g;t.setup=function(e){p().setup(e)},t.reload=function(){p().reload()},t.hideEditor=function(e){p().hideEditor(e)},t.showEditor=function(){p().showEditor()},t.unmark=function(e,t){p().unmark(e,t)}})),define("WoltLabSuite/Core/Ui/Object/Action/Handler",["require","exports","tslib","../../../Event/Handler","../../../Controller/Clipboard"],(function(e,t,i,n,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n=i.__importStar(n),o=i.__importStar(o);t.default=class{constructor(e,t,i){this.objectAction=i,n.add("WoltLabSuite/Core/Ui/Object/Action",e,(e=>this.handleObjectAction(e))),document.querySelectorAll(".jsClipboardContainer[data-type]").forEach((e=>{n.add("com.woltlab.wcf.clipboard",e.dataset.type,(e=>{null!==e.responseData&&-1!==t.indexOf(e.responseData.actionName)&&this.handleClipboardAction(e)}))}))}handleClipboardAction(e){const t=e.listItem.dataset.type;document.querySelectorAll(`.jsClipboardContainer[data-type="${t}"] .jsClipboardObject`).forEach((t=>{const i=t.dataset.objectId;e.responseData.objectIDs.forEach((n=>{~~n==~~i&&this.objectAction({containerElement:t.closest(".jsObjectActionContainer"),data:e.responseData,objectElement:t})}))}))}handleObjectAction(e){this.objectAction(e),o.reload()}}})),define("WoltLabSuite/Core/Ui/Object/Action/Delete",["require","exports","tslib","./Handler"],(function(e,t,i,n){"use strict";function o(e){const t=e.objectElement.querySelector('.jsObjectAction[data-object-action="delete"]');if(!t||t.dataset.objectActionHandler)return;const i=e.objectElement.querySelector(".jsObjectActionObjectChildren");i&&Array.from(i.children).forEach((t=>{e.objectElement.insertAdjacentElement("beforebegin",t)})),e.objectElement.remove()}Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,n=i.__importDefault(n),t.setup=function(){new n.default("delete",["delete"],o)}})),define("WoltLabSuite/Core/Ui/Object/Action/Toogle",["require","exports","tslib","../../../Language","./Handler"],(function(e,t,i,n,o){"use strict";function r(e){const t=e.objectElement.querySelector('.jsObjectAction[data-object-action="toggle"]');if(t&&!t.dataset.objectActionHandler)if(t.classList.contains("fa-square-o")){t.classList.replace("fa-square-o","fa-check-square-o");const e=t.dataset.disableTitle||n.get("wcf.global.button.disable");t.title=e}else{t.classList.replace("fa-check-square-o","fa-square-o");const e=t.dataset.enableTitle||n.get("wcf.global.button.enable");t.title=e}}Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,n=i.__importStar(n),o=i.__importDefault(o),t.setup=function(){new o.default("toggle",["enable","disable"],r)}})),function e(t,i,n){function o(r,s){var l,c,d;if(!i[r]){if(!t[r]){if(l="function"==typeof require&&require,!s&&l)return l(r,!0);if(a)return a(r,!0);throw(c=new Error("Cannot find module '"+r+"'")).code="MODULE_NOT_FOUND",c}d=i[r]={exports:{}},t[r][0].call(d.exports,(function(e){var i=t[r][1][e];return o(i||e)}),d,d.exports,e,t,i,n)}return i[r].exports}var r,a="function"==typeof require&&require;for(r=0;r<n.length;r++)o(n[r]);return o}({1:[function(e,t,i){"use strict";var n=e("../main");"function"==typeof define&&define.amd?define("perfect-scrollbar",n):(window.PerfectScrollbar=n,void 0===window.Ps&&(window.Ps=n))},{"../main":7}],2:[function(e,t,i){"use strict";i.add=function(e,t){e.classList?e.classList.add(t):function(e,t){var i=e.className.split(" ");i.indexOf(t)<0&&i.push(t),e.className=i.join(" ")}(e,t)},i.remove=function(e,t){e.classList?e.classList.remove(t):function(e,t){var i=e.className.split(" "),n=i.indexOf(t);n>=0&&i.splice(n,1),e.className=i.join(" ")}(e,t)},i.list=function(e){return e.classList?Array.prototype.slice.apply(e.classList):e.className.split(" ")}},{}],3:[function(e,t,i){"use strict";var n={e:function(e,t){var i=document.createElement(e);return i.className=t,i},appendTo:function(e,t){return t.appendChild(e),e}};n.css=function(e,t,i){return"object"==typeof t?function(e,t){var i,n;for(i in t)"number"==typeof(n=t[i])&&(n=n.toString()+"px"),e.style[i]=n;return e}(e,t):void 0===i?function(e,t){return window.getComputedStyle(e)[t]}(e,t):function(e,t,i){return"number"==typeof i&&(i=i.toString()+"px"),e.style[t]=i,e}(e,t,i)},n.matches=function(e,t){return void 0!==e.matches?e.matches(t):void 0!==e.matchesSelector?e.matchesSelector(t):void 0!==e.webkitMatchesSelector?e.webkitMatchesSelector(t):void 0!==e.mozMatchesSelector?e.mozMatchesSelector(t):void 0!==e.msMatchesSelector?e.msMatchesSelector(t):void 0},n.remove=function(e){void 0!==e.remove?e.remove():e.parentNode&&e.parentNode.removeChild(e)},n.queryChildren=function(e,t){return Array.prototype.filter.call(e.childNodes,(function(e){return n.matches(e,t)}))},t.exports=n},{}],4:[function(e,t,i){"use strict";var n,o=function(e){this.element=e,this.events={}};o.prototype.bind=function(e,t){void 0===this.events[e]&&(this.events[e]=[]),this.events[e].push(t),this.element.addEventListener(e,t,!1)},o.prototype.unbind=function(e,t){var i=void 0!==t;this.events[e]=this.events[e].filter((function(n){return!(!i||n===t)||(this.element.removeEventListener(e,n,!1),!1)}),this)},o.prototype.unbindAll=function(){for(var e in this.events)this.unbind(e)},(n=function(){this.eventElements=[]}).prototype.eventElement=function(e){var t=this.eventElements.filter((function(t){return t.element===e}))[0];return void 0===t&&(t=new o(e),this.eventElements.push(t)),t},n.prototype.bind=function(e,t,i){this.eventElement(e).bind(t,i)},n.prototype.unbind=function(e,t,i){this.eventElement(e).unbind(t,i)},n.prototype.unbindAll=function(){for(var e=0;e<this.eventElements.length;e++)this.eventElements[e].unbindAll()},n.prototype.once=function(e,t,i){var n=this.eventElement(e),o=function(e){n.unbind(t,o),i(e)};n.bind(t,o)},t.exports=n},{}],5:[function(e,t,i){"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,i){"use strict";var n=e("./class"),o=e("./dom"),r=i.toInt=function(e){return parseInt(e,10)||0},a=i.clone=function(e){var t,i;if(e){if(e.constructor===Array)return e.map(a);if("object"==typeof e){for(i in t={},e)t[i]=a(e[i]);return t}return e}return null};i.extend=function(e,t){var i,n=a(e);for(i in t)n[i]=a(t[i]);return n},i.isEditable=function(e){return o.matches(e,"input,[contenteditable]")||o.matches(e,"select,[contenteditable]")||o.matches(e,"textarea,[contenteditable]")||o.matches(e,"button,[contenteditable]")},i.removePsClasses=function(e){var t,i,o=n.list(e);for(t=0;t<o.length;t++)0===(i=o[t]).indexOf("ps-")&&n.remove(e,i)},i.outerWidth=function(e){return r(o.css(e,"width"))+r(o.css(e,"paddingLeft"))+r(o.css(e,"paddingRight"))+r(o.css(e,"borderLeftWidth"))+r(o.css(e,"borderRightWidth"))},i.startScrolling=function(e,t){n.add(e,"ps-in-scrolling"),void 0!==t?n.add(e,"ps-"+t):(n.add(e,"ps-x"),n.add(e,"ps-y"))},i.stopScrolling=function(e,t){n.remove(e,"ps-in-scrolling"),void 0!==t?n.remove(e,"ps-"+t):(n.remove(e,"ps-x"),n.remove(e,"ps-y"))},i.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,i){"use strict";var n=e("./plugin/destroy"),o=e("./plugin/initialize"),r=e("./plugin/update");t.exports={initialize:o,update:r,destroy:n}},{"./plugin/destroy":9,"./plugin/initialize":17,"./plugin/update":21}],8:[function(e,t,i){"use strict";t.exports={handlers:["click-rail","drag-scrollbar","keyboard","wheel","touch"],maxScrollbarLength:null,minScrollbarLength:null,scrollXMarginOffset:0,scrollYMarginOffset:0,suppressScrollX:!1,suppressScrollY:!1,swipePropagation:!0,useBothWheelAxes:!1,wheelPropagation:!1,wheelSpeed:1,theme:"default"}},{}],9:[function(e,t,i){"use strict";var n=e("../lib/helper"),o=e("../lib/dom"),r=e("./instances");t.exports=function(e){var t=r.get(e);t&&(t.event.unbindAll(),o.remove(t.scrollbarX),o.remove(t.scrollbarY),o.remove(t.scrollbarXRail),o.remove(t.scrollbarYRail),n.removePsClasses(e),r.remove(e))}},{"../lib/dom":3,"../lib/helper":6,"./instances":18}],10:[function(e,t,i){"use strict";var n=e("../instances"),o=e("../update-geometry"),r=e("../update-scroll");t.exports=function(e){!function(e,t){function i(e){return e.getBoundingClientRect()}var n=function(e){e.stopPropagation()};t.event.bind(t.scrollbarY,"click",n),t.event.bind(t.scrollbarYRail,"click",(function(n){var a=n.pageY-window.pageYOffset-i(t.scrollbarYRail).top>t.scrollbarYTop?1:-1;r(e,"top",e.scrollTop+a*t.containerHeight),o(e),n.stopPropagation()})),t.event.bind(t.scrollbarX,"click",n),t.event.bind(t.scrollbarXRail,"click",(function(n){var a=n.pageX-window.pageXOffset-i(t.scrollbarXRail).left>t.scrollbarXLeft?1:-1;r(e,"left",e.scrollLeft+a*t.containerWidth),o(e),n.stopPropagation()}))}(e,n.get(e))}},{"../instances":18,"../update-geometry":19,"../update-scroll":20}],11:[function(e,t,i){"use strict";function n(e,t){var i=null,n=null,o=function(o){var a,s,d,u;a=o.pageX-n,d=i+a*t.railXRatio,u=Math.max(0,t.scrollbarXRail.getBoundingClientRect().left)+t.railXRatio*(t.railXWidth-t.scrollbarXWidth),t.scrollbarXLeft=d<0?0:d>u?u:d,s=r.toInt(t.scrollbarXLeft*(t.contentWidth-t.containerWidth)/(t.containerWidth-t.railXRatio*t.scrollbarXWidth))-t.negativeScrollAdjustment,c(e,"left",s),l(e),o.stopPropagation(),o.preventDefault()},s=function(){r.stopScrolling(e,"x"),t.event.unbind(t.ownerDocument,"mousemove",o)};t.event.bind(t.scrollbarX,"mousedown",(function(l){n=l.pageX,i=r.toInt(a.css(t.scrollbarX,"left"))*t.railXRatio,r.startScrolling(e,"x"),t.event.bind(t.ownerDocument,"mousemove",o),t.event.once(t.ownerDocument,"mouseup",s),l.stopPropagation(),l.preventDefault()}))}function o(e,t){var i=null,n=null,o=function(o){var a,s,d,u;a=o.pageY-n,d=i+a*t.railYRatio,u=Math.max(0,t.scrollbarYRail.getBoundingClientRect().top)+t.railYRatio*(t.railYHeight-t.scrollbarYHeight),t.scrollbarYTop=d<0?0:d>u?u:d,s=r.toInt(t.scrollbarYTop*(t.contentHeight-t.containerHeight)/(t.containerHeight-t.railYRatio*t.scrollbarYHeight)),c(e,"top",s),l(e),o.stopPropagation(),o.preventDefault()},s=function(){r.stopScrolling(e,"y"),t.event.unbind(t.ownerDocument,"mousemove",o)};t.event.bind(t.scrollbarY,"mousedown",(function(l){n=l.pageY,i=r.toInt(a.css(t.scrollbarY,"top"))*t.railYRatio,r.startScrolling(e,"y"),t.event.bind(t.ownerDocument,"mousemove",o),t.event.once(t.ownerDocument,"mouseup",s),l.stopPropagation(),l.preventDefault()}))}var r=e("../../lib/helper"),a=e("../../lib/dom"),s=e("../instances"),l=e("../update-geometry"),c=e("../update-scroll");t.exports=function(e){var t=s.get(e);n(e,t),o(e,t)}},{"../../lib/dom":3,"../../lib/helper":6,"../instances":18,"../update-geometry":19,"../update-scroll":20}],12:[function(e,t,i){"use strict";function n(e,t){var i=!1;t.event.bind(e,"mouseenter",(function(){i=!0})),t.event.bind(e,"mouseleave",(function(){i=!1})),t.event.bind(t.ownerDocument,"keydown",(function(n){var a,c,d,u;if(!(n.isDefaultPrevented&&n.isDefaultPrevented()||n.defaultPrevented)&&(a=r.matches(t.scrollbarX,":focus")||r.matches(t.scrollbarY,":focus"),i||a)){if(c=document.activeElement?document.activeElement:t.ownerDocument.activeElement){if("IFRAME"===c.tagName)c=c.contentDocument.activeElement;else for(;c.shadowRoot;)c=c.shadowRoot.activeElement;if(o.isEditable(c))return}switch(d=0,u=0,n.which){case 37:d=n.metaKey?-t.contentWidth:n.altKey?-t.containerWidth:-30;break;case 38:u=n.metaKey?t.contentHeight:n.altKey?t.containerHeight:30;break;case 39:d=n.metaKey?t.contentWidth:n.altKey?t.containerWidth:30;break;case 40:u=n.metaKey?-t.contentHeight:n.altKey?-t.containerHeight:-30;break;case 33:u=90;break;case 32:u=n.shiftKey?90:-90;break;case 34:u=-90;break;case 35:u=n.ctrlKey?-t.contentHeight:-t.containerHeight;break;case 36:u=n.ctrlKey?e.scrollTop:t.containerHeight;break;default:return}l(e,"top",e.scrollTop-u),l(e,"left",e.scrollLeft+d),s(e),function(i,n){var o,r=e.scrollTop;if(0===i){if(!t.scrollbarYActive)return!1;if(0===r&&n>0||r>=t.contentHeight-t.containerHeight&&n<0)return!t.settings.wheelPropagation}if(o=e.scrollLeft,0===n){if(!t.scrollbarXActive)return!1;if(0===o&&i<0||o>=t.contentWidth-t.containerWidth&&i>0)return!t.settings.wheelPropagation}return!0}(d,u)&&n.preventDefault()}}))}var o=e("../../lib/helper"),r=e("../../lib/dom"),a=e("../instances"),s=e("../update-geometry"),l=e("../update-scroll");t.exports=function(e){n(e,a.get(e))}},{"../../lib/dom":3,"../../lib/helper":6,"../instances":18,"../update-geometry":19,"../update-scroll":20}],13:[function(e,t,i){"use strict";function n(e,t){function i(i){var o=function(e){var t=e.deltaX,i=-1*e.deltaY;return void 0!==t&&void 0!==i||(t=-1*e.wheelDeltaX/6,i=e.wheelDeltaY/6),e.deltaMode&&1===e.deltaMode&&(t*=10,i*=10),t!=t&&i!=i&&(t=0,i=e.wheelDelta),e.shiftKey?[-i,-t]:[t,i]}(i),s=o[0],l=o[1];(function(t,i){var n,o,r=e.querySelector("textarea:hover, select[multiple]:hover, .ps-child:hover");if(r){if(!window.getComputedStyle(r).overflow.match(/(scroll|auto)/))return!1;if((n=r.scrollHeight-r.clientHeight)>0&&!(0===r.scrollTop&&i>0||r.scrollTop===n&&i<0))return!0;if((o=r.scrollLeft-r.clientWidth)>0&&!(0===r.scrollLeft&&t<0||r.scrollLeft===o&&t>0))return!0}return!1})(s,l)||(n=!1,t.settings.useBothWheelAxes?t.scrollbarYActive&&!t.scrollbarXActive?(a(e,"top",l?e.scrollTop-l*t.settings.wheelSpeed:e.scrollTop+s*t.settings.wheelSpeed),n=!0):t.scrollbarXActive&&!t.scrollbarYActive&&(a(e,"left",s?e.scrollLeft+s*t.settings.wheelSpeed:e.scrollLeft-l*t.settings.wheelSpeed),n=!0):(a(e,"top",e.scrollTop-l*t.settings.wheelSpeed),a(e,"left",e.scrollLeft+s*t.settings.wheelSpeed)),r(e),(n=n||function(i,n){var o,r=e.scrollTop;if(0===i){if(!t.scrollbarYActive)return!1;if(0===r&&n>0||r>=t.contentHeight-t.containerHeight&&n<0)return!t.settings.wheelPropagation}if(o=e.scrollLeft,0===n){if(!t.scrollbarXActive)return!1;if(0===o&&i<0||o>=t.contentWidth-t.containerWidth&&i>0)return!t.settings.wheelPropagation}return!0}(s,l))&&(i.stopPropagation(),i.preventDefault()))}var n=!1;void 0!==window.onwheel?t.event.bind(e,"wheel",i):void 0!==window.onmousewheel&&t.event.bind(e,"mousewheel",i)}var o=e("../instances"),r=e("../update-geometry"),a=e("../update-scroll");t.exports=function(e){n(e,o.get(e))}},{"../instances":18,"../update-geometry":19,"../update-scroll":20}],14:[function(e,t,i){"use strict";var n=e("../instances"),o=e("../update-geometry");t.exports=function(e){!function(e,t){t.event.bind(e,"scroll",(function(){o(e)}))}(e,n.get(e))}},{"../instances":18,"../update-geometry":19}],15:[function(e,t,i){"use strict";function n(e,t){function i(){n&&(clearInterval(n),n=null),o.stopScrolling(e)}var n=null,l={top:0,left:0},c=!1;t.event.bind(t.ownerDocument,"selectionchange",(function(){var t;e.contains(0===(t=window.getSelection?window.getSelection():document.getSelection?document.getSelection():"").toString().length?null:t.getRangeAt(0).commonAncestorContainer)?c=!0:(c=!1,i())})),t.event.bind(window,"mouseup",(function(){c&&(c=!1,i())})),t.event.bind(window,"keyup",(function(){c&&(c=!1,i())})),t.event.bind(window,"mousemove",(function(t){var d,u;c&&(d={x:t.pageX,y:t.pageY},u={left:e.offsetLeft,right:e.offsetLeft+e.offsetWidth,top:e.offsetTop,bottom:e.offsetTop+e.offsetHeight},d.x<u.left+3?(l.left=-5,o.startScrolling(e,"x")):d.x>u.right-3?(l.left=5,o.startScrolling(e,"x")):l.left=0,d.y<u.top+3?(u.top+3-d.y<5?l.top=-5:l.top=-20,o.startScrolling(e,"y")):d.y>u.bottom-3?(d.y-u.bottom+3<5?l.top=5:l.top=20,o.startScrolling(e,"y")):l.top=0,0===l.top&&0===l.left?i():n||(n=setInterval((function(){r.get(e)?(s(e,"top",e.scrollTop+l.top),s(e,"left",e.scrollLeft+l.left),a(e)):clearInterval(n)}),50)))}))}var o=e("../../lib/helper"),r=e("../instances"),a=e("../update-geometry"),s=e("../update-scroll");t.exports=function(e){n(e,r.get(e))}},{"../../lib/helper":6,"../instances":18,"../update-geometry":19,"../update-scroll":20}],16:[function(e,t,i){"use strict";function n(e,t,i,n){function o(t,i){s(e,"top",e.scrollTop-i),s(e,"left",e.scrollLeft-t),a(e)}function l(){v=!0}function c(){v=!1}function d(e){return e.targetTouches?e.targetTouches[0]:e}function u(e){return!(!e.targetTouches||1!==e.targetTouches.length)||!(!e.pointerType||"mouse"===e.pointerType||e.pointerType===e.MSPOINTER_TYPE_MOUSE)}function h(e){if(u(e)){w=!0;var t=d(e);f.pageX=t.pageX,f.pageY=t.pageY,g=(new Date).getTime(),null!==_&&clearInterval(_),e.stopPropagation()}}function p(i){var n,r,a,s,l,c;!w&&t.settings.swipePropagation&&h(i),!v&&w&&u(i)&&(o(a=(r={pageX:(n=d(i)).pageX,pageY:n.pageY}).pageX-f.pageX,s=r.pageY-f.pageY),f=r,(c=(l=(new Date).getTime())-g)>0&&(b.x=a/c,b.y=s/c,g=l),function(i,n){var o=e.scrollTop,r=e.scrollLeft,a=Math.abs(i),s=Math.abs(n);if(s>a){if(n<0&&o===t.contentHeight-t.containerHeight||n>0&&0===o)return!t.settings.swipePropagation}else if(a>s&&(i<0&&r===t.contentWidth-t.containerWidth||i>0&&0===r))return!t.settings.swipePropagation;return!0}(a,s)&&(i.stopPropagation(),i.preventDefault()))}function m(){!v&&w&&(w=!1,clearInterval(_),_=setInterval((function(){r.get(e)&&(b.x||b.y)?Math.abs(b.x)<.01&&Math.abs(b.y)<.01?clearInterval(_):(o(30*b.x,30*b.y),b.x*=.8,b.y*=.8):clearInterval(_)}),10))}var f={},g=0,b={},_=null,v=!1,w=!1;i?(t.event.bind(window,"touchstart",l),t.event.bind(window,"touchend",c),t.event.bind(e,"touchstart",h),t.event.bind(e,"touchmove",p),t.event.bind(e,"touchend",m)):n&&(window.PointerEvent?(t.event.bind(window,"pointerdown",l),t.event.bind(window,"pointerup",c),t.event.bind(e,"pointerdown",h),t.event.bind(e,"pointermove",p),t.event.bind(e,"pointerup",m)):window.MSPointerEvent&&(t.event.bind(window,"MSPointerDown",l),t.event.bind(window,"MSPointerUp",c),t.event.bind(e,"MSPointerDown",h),t.event.bind(e,"MSPointerMove",p),t.event.bind(e,"MSPointerUp",m)))}var o=e("../../lib/helper"),r=e("../instances"),a=e("../update-geometry"),s=e("../update-scroll");t.exports=function(e){(o.env.supportsTouch||o.env.supportsIePointer)&&n(e,r.get(e),o.env.supportsTouch,o.env.supportsIePointer)}},{"../../lib/helper":6,"../instances":18,"../update-geometry":19,"../update-scroll":20}],17:[function(e,t,i){"use strict";var n=e("../lib/helper"),o=e("../lib/class"),r=e("./instances"),a=e("./update-geometry"),s={"click-rail":e("./handler/click-rail"),"drag-scrollbar":e("./handler/drag-scrollbar"),keyboard:e("./handler/keyboard"),wheel:e("./handler/mouse-wheel"),touch:e("./handler/touch"),selection:e("./handler/selection")},l=e("./handler/native-scroll");t.exports=function(e,t){t="object"==typeof t?t:{},o.add(e,"ps-container");var i=r.add(e);i.settings=n.extend(i.settings,t),o.add(e,"ps-theme-"+i.settings.theme),i.settings.handlers.forEach((function(t){s[t](e)})),l(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,i){"use strict";function n(e){function t(){a.add(e,"ps-focus")}function i(){a.remove(e,"ps-focus")}var n,o,d=this;d.settings=r.clone(s),d.containerWidth=null,d.containerHeight=null,d.contentWidth=null,d.contentHeight=null,d.isRtl="rtl"===l.css(e,"direction"),d.isNegativeScroll=(n=e.scrollLeft,o=null,e.scrollLeft=-1,o=e.scrollLeft<0,e.scrollLeft=n,o),d.negativeScrollAdjustment=d.isNegativeScroll?e.scrollWidth-e.clientWidth:0,d.event=new c,d.ownerDocument=e.ownerDocument||document,d.scrollbarXRail=l.appendTo(l.e("div","ps-scrollbar-x-rail"),e),d.scrollbarX=l.appendTo(l.e("div","ps-scrollbar-x"),d.scrollbarXRail),d.scrollbarX.setAttribute("tabindex",0),d.event.bind(d.scrollbarX,"focus",t),d.event.bind(d.scrollbarX,"blur",i),d.scrollbarXActive=null,d.scrollbarXWidth=null,d.scrollbarXLeft=null,d.scrollbarXBottom=r.toInt(l.css(d.scrollbarXRail,"bottom")),d.isScrollbarXUsingBottom=d.scrollbarXBottom==d.scrollbarXBottom,d.scrollbarXTop=d.isScrollbarXUsingBottom?null:r.toInt(l.css(d.scrollbarXRail,"top")),d.railBorderXWidth=r.toInt(l.css(d.scrollbarXRail,"borderLeftWidth"))+r.toInt(l.css(d.scrollbarXRail,"borderRightWidth")),l.css(d.scrollbarXRail,"display","block"),d.railXMarginWidth=r.toInt(l.css(d.scrollbarXRail,"marginLeft"))+r.toInt(l.css(d.scrollbarXRail,"marginRight")),l.css(d.scrollbarXRail,"display",""),d.railXWidth=null,d.railXRatio=null,d.scrollbarYRail=l.appendTo(l.e("div","ps-scrollbar-y-rail"),e),d.scrollbarY=l.appendTo(l.e("div","ps-scrollbar-y"),d.scrollbarYRail),d.scrollbarY.setAttribute("tabindex",0),d.event.bind(d.scrollbarY,"focus",t),d.event.bind(d.scrollbarY,"blur",i),d.scrollbarYActive=null,d.scrollbarYHeight=null,d.scrollbarYTop=null,d.scrollbarYRight=r.toInt(l.css(d.scrollbarYRail,"right")),d.isScrollbarYUsingRight=d.scrollbarYRight==d.scrollbarYRight,d.scrollbarYLeft=d.isScrollbarYUsingRight?null:r.toInt(l.css(d.scrollbarYRail,"left")),d.scrollbarYOuterWidth=d.isRtl?r.outerWidth(d.scrollbarY):null,d.railBorderYWidth=r.toInt(l.css(d.scrollbarYRail,"borderTopWidth"))+r.toInt(l.css(d.scrollbarYRail,"borderBottomWidth")),l.css(d.scrollbarYRail,"display","block"),d.railYMarginHeight=r.toInt(l.css(d.scrollbarYRail,"marginTop"))+r.toInt(l.css(d.scrollbarYRail,"marginBottom")),l.css(d.scrollbarYRail,"display",""),d.railYHeight=null,d.railYRatio=null}function o(e){return e.getAttribute("data-ps-id")}var r=e("../lib/helper"),a=e("../lib/class"),s=e("./default-setting"),l=e("../lib/dom"),c=e("../lib/event-manager"),d=e("../lib/guid"),u={};i.add=function(e){var t=d();return function(e,t){e.setAttribute("data-ps-id",t)}(e,t),u[t]=new n(e),u[t]},i.remove=function(e){delete u[o(e)],function(e){e.removeAttribute("data-ps-id")}(e)},i.get=function(e){return u[o(e)]}},{"../lib/class":2,"../lib/dom":3,"../lib/event-manager":4,"../lib/guid":5,"../lib/helper":6,"./default-setting":8}],19:[function(e,t,i){"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}var o=e("../lib/helper"),r=e("../lib/class"),a=e("../lib/dom"),s=e("./instances"),l=e("./update-scroll");t.exports=function(e){var t,i=s.get(e);i.containerWidth=e.clientWidth,i.containerHeight=e.clientHeight,i.contentWidth=e.scrollWidth,i.contentHeight=e.scrollHeight,e.contains(i.scrollbarXRail)||((t=a.queryChildren(e,".ps-scrollbar-x-rail")).length>0&&t.forEach((function(e){a.remove(e)})),a.appendTo(i.scrollbarXRail,e)),e.contains(i.scrollbarYRail)||((t=a.queryChildren(e,".ps-scrollbar-y-rail")).length>0&&t.forEach((function(e){a.remove(e)})),a.appendTo(i.scrollbarYRail,e)),!i.settings.suppressScrollX&&i.containerWidth+i.settings.scrollXMarginOffset<i.contentWidth?(i.scrollbarXActive=!0,i.railXWidth=i.containerWidth-i.railXMarginWidth,i.railXRatio=i.containerWidth/i.railXWidth,i.scrollbarXWidth=n(i,o.toInt(i.railXWidth*i.containerWidth/i.contentWidth)),i.scrollbarXLeft=o.toInt((i.negativeScrollAdjustment+e.scrollLeft)*(i.railXWidth-i.scrollbarXWidth)/(i.contentWidth-i.containerWidth))):i.scrollbarXActive=!1,!i.settings.suppressScrollY&&i.containerHeight+i.settings.scrollYMarginOffset<i.contentHeight?(i.scrollbarYActive=!0,i.railYHeight=i.containerHeight-i.railYMarginHeight,i.railYRatio=i.containerHeight/i.railYHeight,i.scrollbarYHeight=n(i,o.toInt(i.railYHeight*i.containerHeight/i.contentHeight)),i.scrollbarYTop=o.toInt(e.scrollTop*(i.railYHeight-i.scrollbarYHeight)/(i.contentHeight-i.containerHeight))):i.scrollbarYActive=!1,i.scrollbarXLeft>=i.railXWidth-i.scrollbarXWidth&&(i.scrollbarXLeft=i.railXWidth-i.scrollbarXWidth),i.scrollbarYTop>=i.railYHeight-i.scrollbarYHeight&&(i.scrollbarYTop=i.railYHeight-i.scrollbarYHeight),function(e,t){var i,n={width:t.railXWidth};t.isRtl?n.left=t.negativeScrollAdjustment+e.scrollLeft+t.containerWidth-t.contentWidth:n.left=e.scrollLeft,t.isScrollbarXUsingBottom?n.bottom=t.scrollbarXBottom-e.scrollTop:n.top=t.scrollbarXTop+e.scrollTop,a.css(t.scrollbarXRail,n),i={top:e.scrollTop,height:t.railYHeight},t.isScrollbarYUsingRight?t.isRtl?i.right=t.contentWidth-(t.negativeScrollAdjustment+e.scrollLeft)-t.scrollbarYRight-t.scrollbarYOuterWidth:i.right=t.scrollbarYRight-e.scrollLeft:t.isRtl?i.left=t.negativeScrollAdjustment+e.scrollLeft+2*t.containerWidth-t.contentWidth-t.scrollbarYLeft-t.scrollbarYOuterWidth:i.left=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})}(e,i),i.scrollbarXActive?r.add(e,"ps-active-x"):(r.remove(e,"ps-active-x"),i.scrollbarXWidth=0,i.scrollbarXLeft=0,l(e,"left",0)),i.scrollbarYActive?r.add(e,"ps-active-y"):(r.remove(e,"ps-active-y"),i.scrollbarYHeight=0,i.scrollbarYTop=0,l(e,"top",0))}},{"../lib/class":2,"../lib/dom":3,"../lib/helper":6,"./instances":18,"./update-scroll":20}],20:[function(e,t,i){"use strict";var n,o,r=e("./instances"),a=function(e){var t=document.createEvent("Event");return t.initEvent(e,!0,!0),t};t.exports=function(e,t,i){if(void 0===e)throw"You must provide an element to the update-scroll function";if(void 0===t)throw"You must provide an axis to the update-scroll function";if(void 0===i)throw"You must provide a value to the update-scroll function";"top"===t&&i<=0&&(e.scrollTop=i=0,e.dispatchEvent(a("ps-y-reach-start"))),"left"===t&&i<=0&&(e.scrollLeft=i=0,e.dispatchEvent(a("ps-x-reach-start")));var s=r.get(e);"top"===t&&i>=s.contentHeight-s.containerHeight&&((i=s.contentHeight-s.containerHeight)-e.scrollTop<=1?i=e.scrollTop:e.scrollTop=i,e.dispatchEvent(a("ps-y-reach-end"))),"left"===t&&i>=s.contentWidth-s.containerWidth&&((i=s.contentWidth-s.containerWidth)-e.scrollLeft<=1?i=e.scrollLeft:e.scrollLeft=i,e.dispatchEvent(a("ps-x-reach-end"))),n||(n=e.scrollTop),o||(o=e.scrollLeft),"top"===t&&i<n&&e.dispatchEvent(a("ps-scroll-up")),"top"===t&&i>n&&e.dispatchEvent(a("ps-scroll-down")),"left"===t&&i<o&&e.dispatchEvent(a("ps-scroll-left")),"left"===t&&i>o&&e.dispatchEvent(a("ps-scroll-right")),"top"===t&&(e.scrollTop=n=i,e.dispatchEvent(a("ps-scroll-y"))),"left"===t&&(e.scrollLeft=o=i,e.dispatchEvent(a("ps-scroll-x")))}},{"./instances":18}],21:[function(e,t,i){"use strict";var n=e("../lib/helper"),o=e("../lib/dom"),r=e("./instances"),a=e("./update-geometry"),s=e("./update-scroll");t.exports=function(e){var t=r.get(e);t&&(t.negativeScrollAdjustment=t.isNegativeScroll?e.scrollWidth-e.clientWidth:0,o.css(t.scrollbarXRail,"display","block"),o.css(t.scrollbarYRail,"display","block"),t.railXMarginWidth=n.toInt(o.css(t.scrollbarXRail,"marginLeft"))+n.toInt(o.css(t.scrollbarXRail,"marginRight")),t.railYMarginHeight=n.toInt(o.css(t.scrollbarYRail,"marginTop"))+n.toInt(o.css(t.scrollbarYRail,"marginBottom")),o.css(t.scrollbarXRail,"display","none"),o.css(t.scrollbarYRail,"display","none"),a(e),s(e,"top",e.scrollTop),s(e,"left",e.scrollLeft),o.css(t.scrollbarXRail,"display",""),o.css(t.scrollbarYRail,"display",""))}},{"../lib/dom":3,"../lib/helper":6,"./instances":18,"./update-geometry":19,"./update-scroll":20}]},{},[1]),define("WoltLabSuite/Core/Bootstrap",["require","exports","tslib","./Core","./Date/Picker","./Date/Time/Relative","./Devtools","./Dom/Change/Listener","./Environment","./Event/Handler","./Language","./StringUtil","./Ui/Dialog","./Ui/Dropdown/Simple","./Ui/Mobile","./Ui/Page/Action","./Ui/TabMenu","./Ui/Tooltip","./Ui/Page/JumpTo","./Ui/Password","./Ui/Empty","./Ui/Object/Action","./Ui/Object/Action/Delete","./Ui/Object/Action/Toogle","perfect-scrollbar"],(function(e,t,i,n,o,r,a,s,l,c,d,u,h,p,m,f,g,b,_,v,w,y,E,S){"use strict";function L(){document.querySelectorAll("nav:not([aria-label]):not([aria-labelledby]):not([role])").forEach((e=>{e.setAttribute("role","presentation")})),document.querySelectorAll("article:not([aria-label]):not([aria-labelledby]):not([role])").forEach((e=>{e.setAttribute("role","presentation")}))}Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,n=i.__importStar(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importDefault(a),s=i.__importDefault(s),l=i.__importStar(l),c=i.__importStar(c),d=i.__importStar(d),u=i.__importStar(u),h=i.__importDefault(h),p=i.__importDefault(p),m=i.__importStar(m),f=i.__importStar(f),g=i.__importStar(g),b=i.__importStar(b),_=i.__importStar(_),v=i.__importStar(v),w=i.__importStar(w),y=i.__importStar(y),E=i.__importStar(E),S=i.__importStar(S),null==window.WCF&&(window.WCF={}),null==window.WCF.Language&&(window.WCF.Language={}),window.WCF.Language.get=d.get,window.WCF.Language.add=d.add,window.WCF.Language.addObject=d.addObject,window.__wcf_bc_eventHandler=c,t.setup=function(e){e=n.extend({enableMobileMenu:!0},e),u.setupI18n({decimalPoint:d.get("wcf.global.decimalPoint"),thousandsSeparator:d.get("wcf.global.thousandsSeparator")}),window.ENABLE_DEVELOPER_TOOLS&&a.default._internal_.enable(),l.setup(),r.setup(),o.default.init(),p.default.setup(),m.setup(e.enableMobileMenu),g.setup(),h.default.setup(),b.setup(),v.setup(),w.setup(),y.setup(),E.setup(),S.setup(),document.querySelectorAll("form[method=get]").forEach((e=>{e.method="post"})),"microsoft"===l.browser()&&(window.onbeforeunload=()=>{});let t=0;t=window.setInterval((()=>{if("function"==typeof window.jQuery){window.clearInterval(t),window.jQuery((()=>{f.setup()}));const e=window.jQuery;e.browser=e.browser||{},e.browser.mobile="desktop"!==l.platform(),window.jQuery.holdReady(!1)}}),20),document.querySelectorAll(".pagination").forEach((e=>_.init(e))),L(),s.default.add("WoltLabSuite/Core/Bootstrap",(()=>L))}})),define("WoltLabSuite/Core/Controller/Style/Changer",["require","exports","tslib","../../Ajax","../../Language","../../Ui/Dialog"],(function(e,t,i,n,o,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.showDialog=t.setup=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r);class a{constructor(){document.querySelectorAll(".jsButtonStyleChanger").forEach((e=>{e.addEventListener("click",(e=>this.showDialog(e)))}))}showDialog(e){e.preventDefault(),r.default.open(this)}_dialogSetup(){return{id:"styleChanger",options:{disableContentPadding:!0,title:o.get("wcf.style.changeStyle")},source:{data:{actionName:"getStyleChooser",className:"wcf\\data\\style\\StyleAction"},after:e=>{e.querySelectorAll(".styleList > li").forEach((e=>{e.classList.add("pointer"),e.addEventListener("click",(e=>this.click(e)))}))}}}}click(e){e.preventDefault();const t=e.currentTarget;n.apiOnce({data:{actionName:"changeStyle",className:"wcf\\data\\style\\StyleAction",objectIDs:[t.dataset.styleId]},success:function(){window.location.reload()}})}}let s;t.setup=function(){new a},t.showDialog=function(e){s.showDialog(e)}})),define("WoltLabSuite/Core/Controller/Popover",["require","exports","tslib","../Ajax","../Dom/Change/Listener","../Dom/Util","../Environment","../Ui/Alignment"],(function(e,t,i,n,o,r,a,s){"use strict";function l(){return d||(d=new c),d}Object.defineProperty(t,"__esModule",{value:!0}),t.ajaxApi=t.setContent=t.init=void 0,n=i.__importStar(n),o=i.__importDefault(o),r=i.__importDefault(r),a=i.__importStar(a),s=i.__importStar(s);class c{constructor(){this.activeId="",this.cache=new Map,this.elements=new Map,this.handlers=new Map,this.hoverId="",this.suspended=!1,this.timerEnter=void 0,this.timerLeave=void 0,this.popover=document.createElement("div"),this.popover.className="popover forceHide",this.popoverContent=document.createElement("div"),this.popoverContent.className="popoverContent",this.popover.appendChild(this.popoverContent);const e=document.createElement("span");e.className="elementPointer",e.appendChild(document.createElement("span")),this.popover.appendChild(e),document.body.appendChild(this.popover),this.popover.addEventListener("mouseenter",(()=>this.popoverMouseEnter())),this.popover.addEventListener("mouseleave",(()=>this.mouseLeave())),this.popover.addEventListener("animationend",(()=>this.clearContent())),window.addEventListener("beforeunload",(()=>{this.suspended=!0,this.timerEnter&&(window.clearTimeout(this.timerEnter),this.timerEnter=void 0),this.hidePopover()})),o.default.add("WoltLabSuite/Core/Controller/Popover",(e=>this.initHandler(e)))}init(e){if("desktop"!==a.platform())return;if(e.attributeName=e.attributeName||"data-object-id",e.legacy=!0===e.legacy,this.handlers.has(e.identifier))return;const t=e.legacy?e.className:`.${e.className}`;this.handlers.set(e.identifier,{attributeName:e.attributeName,dboAction:e.dboAction,legacy:e.legacy,loadCallback:e.loadCallback,selector:t}),this.initHandler(e.identifier)}initHandler(e){"string"==typeof e&&e.length?this.initElements(this.handlers.get(e),e):this.handlers.forEach(((e,t)=>{this.initElements(e,t)}))}initElements(e,t){document.querySelectorAll(e.selector).forEach((i=>{const n=r.default.identify(i);if(this.cache.has(n))return;if(null!==i.closest(".popover"))return void this.cache.set(n,{content:null,state:0});const o=e.legacy?n:~~i.getAttribute(e.attributeName);if(0===o)return;i.addEventListener("mouseenter",(e=>this.mouseEnter(e))),i.addEventListener("mouseleave",(()=>this.mouseLeave())),i instanceof HTMLAnchorElement&&i.href&&i.addEventListener("click",(()=>this.hidePopover()));const a=`${t}-${o}`;i.dataset.cacheId=a,this.elements.set(n,{element:i,identifier:t,objectId:o.toString()}),this.cache.has(a)||this.cache.set(a,{content:null,state:0})}))}setContent(e,t,i){const n=`${e}-${t}`,o=this.cache.get(n);if(void 0===o)throw new Error(`Unable to find element for object id '${t}' (identifier: '${e}').`);let a=r.default.createFragmentFromHtml(i);if(a.childElementCount||(a=r.default.createFragmentFromHtml("<p>"+i+"</p>")),o.content=a,o.state=2,this.activeId){this.elements.get(this.activeId).element.dataset.cacheId===n&&this.show()}}mouseEnter(e){if(this.suspended)return;this.timerEnter&&(window.clearTimeout(this.timerEnter),this.timerEnter=void 0);const t=r.default.identify(e.currentTarget);this.activeId===t&&this.timerLeave&&(window.clearTimeout(this.timerLeave),this.timerLeave=void 0),this.hoverId=t,this.timerEnter=window.setTimeout((()=>{this.timerEnter=void 0,this.hoverId===t&&this.show()}),800)}mouseLeave(){this.hoverId="",this.timerLeave||(this.timerLeave=window.setTimeout((()=>this.hidePopover()),500))}popoverMouseEnter(){this.timerLeave&&(window.clearTimeout(this.timerLeave),this.timerLeave=void 0)}show(){this.timerLeave&&(window.clearTimeout(this.timerLeave),this.timerLeave=void 0);let e=!1;this.popover.classList.contains("active")?this.activeId!==this.hoverId&&(this.hidePopover(),e=!0):this.popoverContent.childElementCount&&(e=!0),e&&(this.popover.classList.add("forceHide"),this.popover.offsetTop,this.clearContent(),this.popover.classList.remove("forceHide")),this.activeId=this.hoverId;const t=this.elements.get(this.activeId);if(void 0===t)return;const i=t.element.dataset.cacheId,n=this.cache.get(i);switch(n.state){case 2:this.popoverContent.appendChild(n.content),this.rebuild();break;case 0:{n.state=1;const e=this.handlers.get(t.identifier);if(e.loadCallback)e.loadCallback(t.objectId,this,t.element);else if(e.dboAction){const i=e=>(this.setContent(t.identifier,t.objectId,e.returnValues.template),!0);this.ajaxApi({actionName:"getPopover",className:e.dboAction,interfaceName:"wcf\\data\\IPopoverAction",objectIDs:[t.objectId]},i,i)}break}}}hidePopover(){this.timerLeave&&(window.clearTimeout(this.timerLeave),this.timerLeave=void 0),this.popover.classList.remove("active")}clearContent(){if(this.activeId&&this.popoverContent.childElementCount&&!this.popover.classList.contains("active")){const e=this.elements.get(this.activeId).element.dataset.cacheId,t=this.cache.get(e);for(;this.popoverContent.childNodes.length;)t.content.appendChild(this.popoverContent.childNodes[0])}}rebuild(){this.popover.classList.contains("active")||(this.popover.classList.remove("forceHide"),this.popover.classList.add("active"),s.set(this.popover,this.elements.get(this.activeId).element,{pointer:!0,vertical:"top"}))}_ajaxSuccess(){}_ajaxSetup(){return{silent:!0}}ajaxApi(e,t,i){if("function"!=typeof t)throw new TypeError("Expected a valid callback for parameter 'success'.");n.api(this,e,t,i)}}let d;t.init=function(e){l().init(e)},t.setContent=function(e,t,i){l().setContent(e,t,i)},t.ajaxApi=function(e,t,i){l().ajaxApi(e,t,i)}})),define("WoltLabSuite/Core/Ui/User/Ignore",["require","exports","tslib","../../Dom/Change/Listener"],(function(e,t,i,n){"use strict";function o(){for(let e=0,t=a.length;e<t;e++){const t=a[e];s.has(t)||(t.addEventListener("click",r,{once:!0}),s.add(t))}}function r(e){e.preventDefault();const t=e.currentTarget;t.classList.remove("ignoredUserMessage"),s.delete(t),window.getSelection().removeAllRanges()}Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,n=i.__importDefault(n);const a=document.getElementsByClassName("ignoredUserMessage"),s=new Set;t.init=function(){o(),n.default.add("WoltLabSuite/Core/Ui/User/Ignore",o)}})),define("WoltLabSuite/Core/Ui/Page/Header/Menu",["require","exports","tslib","../../../Environment","../../../Language","../../Screen"],(function(e,t,i,n,o,r){"use strict";function a(){b=!0,"safari"===n.browser()||u(),window.setTimeout(u,1e3)}function s(){b=!1}function l(e){if(e.preventDefault(),w.length){const e=w.slice(0,3).pop();d(g.clientWidth-(e.offsetLeft+e.clientWidth)),g.lastElementChild===e&&p.classList.remove("active"),m.classList.add("active")}}function c(e){if(e.preventDefault(),v.length){const e=v.slice(-3)[0];d(-1*e.offsetLeft),g.firstElementChild===e&&m.classList.remove("active"),p.classList.add("active")}}function d(e){_=Math.min(_+e,0),f.style.setProperty("margin-left",`${_}px`,"")}function u(){if(!b)return;v=[],w=[];const e=g.clientWidth;(g.scrollWidth>e||_<0)&&Array.from(g.children).forEach((t=>{const i=t.offsetLeft;i<0?v.push(t):i+t.clientWidth>e&&w.push(t)})),m.classList[v.length?"add":"remove"]("active"),p.classList[w.length?"add":"remove"]("active")}function h(){!function(){const e=g.parentElement;p=document.createElement("a"),p.className="mainMenuShowNext",p.href="#",p.innerHTML='<span class="icon icon32 fa-angle-right"></span>',p.setAttribute("aria-hidden","true"),p.addEventListener("click",l),e.appendChild(p),m=document.createElement("a"),m.className="mainMenuShowPrevious",m.href="#",m.innerHTML='<span class="icon icon32 fa-angle-left"></span>',m.setAttribute("aria-hidden","true"),m.addEventListener("click",c),e.insertBefore(m,e.firstChild),f.addEventListener("transitionend",u),window.addEventListener("resize",(()=>{f.style.setProperty("margin-left","0px",""),_=0,u()})),a()}(),g.querySelectorAll(".boxMenuHasChildren").forEach((e=>{const t=e.querySelector(".boxMenuLink");t.setAttribute("aria-haspopup","true"),t.setAttribute("aria-expanded","false");const i=document.createElement("button");i.className="visuallyHidden",i.tabIndex=0,i.setAttribute("role","button"),i.setAttribute("aria-label",o.get("wcf.global.button.showMenu")),e.insertBefore(i,t.nextSibling);let n=!1;i.addEventListener("click",(()=>{n=!n,t.setAttribute("aria-expanded",n?"true":"false"),i.setAttribute("aria-label",o.get(n?"wcf.global.button.hideMenu":"wcf.global.button.showMenu"))}))}))}Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r);let p,m,f,g,b=!1,_=0,v=[],w=[];t.init=function(){const e=document.querySelector(".mainMenu .boxMenu"),t=e&&e.childElementCount?e.children[0]:null;if(null===t)throw new Error("Unable to find the main menu.");g=e,f=t,r.on("screen-lg",{match:a,unmatch:s,setup:h})}})),define("WoltLabSuite/Core/User",["require","exports"],(function(e,t){"use strict";class i{constructor(e,t,i){this.userId=e,this.username=t,this.link=i}}let n;return{getLink:()=>n.link,init(e,t,o){if(n)throw new Error("User has already been initialized.");n=new i(e,t,o)},get userId(){return n.userId},get username(){return n.username}}})),define("WoltLabSuite/Core/Ui/Message/UserConsent",["require","exports","tslib","../../Ajax","../../Core","../../Dom/Change/Listener","../../Dom/Util","../../User"],(function(e,t,i,n,o,r,a,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importDefault(a),s=i.__importDefault(s);class l{constructor(){this.enableAll=!1,this.knownButtons=new WeakSet,"all"===window.sessionStorage.getItem(`${o.getStoragePrefix()}user-consent`)&&(this.enableAll=!0),this.registerEventListeners(),r.default.add("WoltLabSuite/Core/Ui/Message/UserConsent",(()=>this.registerEventListeners()))}registerEventListeners(){this.enableAll?this.enableAllExternalMedia():document.querySelectorAll(".jsButtonMessageUserConsentEnable").forEach((e=>{this.knownButtons.has(e)||(this.knownButtons.add(e),e.addEventListener("click",(e=>this.click(e))))}))}click(e){e.preventDefault(),this.enableAll=!0,this.enableAllExternalMedia(),s.default.userId?n.apiOnce({data:{actionName:"saveUserConsent",className:"wcf\\data\\user\\UserAction"},silent:!0}):window.sessionStorage.setItem(`${o.getStoragePrefix()}user-consent`,"all")}enableExternalMedia(e){const t=atob(e.dataset.payload);a.default.insertHtml(t,e,"before"),e.remove()}enableAllExternalMedia(){document.querySelectorAll(".messageUserConsent").forEach((e=>this.enableExternalMedia(e)))}}let c;t.init=function(){c||(c=new l)}})),define("WoltLabSuite/Core/Clipboard",["require","exports"],(function(e,t){"use strict";async function i(e){if(navigator.clipboard)return navigator.clipboard.writeText(e);throw new Error("navigator.clipboard is not supported.")}Object.defineProperty(t,"__esModule",{value:!0}),t.copyElementTextToClipboard=t.copyTextToClipboard=void 0,t.copyTextToClipboard=i,t.copyElementTextToClipboard=async function(e){return i(e.textContent.replace(/\u200B/g,"").replace(/\u00A0/g," "))}})),define("WoltLabSuite/Core/Ui/Notification",["require","exports","tslib","../Language"],(function(e,t,i,n){"use strict";function o(){clearTimeout(s),a.classList.remove("active"),null!==c&&c(),l=!1}Object.defineProperty(t,"__esModule",{value:!0}),t.show=void 0,n=i.__importStar(n);let r,a,s,l=!1,c=null,d=!1;t.show=function(e,t,i){l||(l=!0,d||(d=!0,a=document.createElement("div"),a.id="systemNotification",r=document.createElement("p"),r.addEventListener("click",o),a.appendChild(r),document.body.appendChild(a)),c="function"==typeof t?t:null,r.className=i||"success",r.textContent=n.get(e||"wcf.global.success"),a.classList.add("active"),s=setTimeout(o,2e3))}})),define("WoltLabSuite/Core/Ui/Message/Share",["require","exports","tslib","../../Event/Handler","../../StringUtil"],(function(e,t,i,n,o){"use strict";function r(e,t,i,n){n||(n=s),window.open(t.replace("{pageURL}",n).replace("{text}",a+(i?`%20${n}`:"")),e,"height=600,width=600")}Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,n=i.__importStar(n),o=i.__importStar(o);let a="",s="";t.init=function(){const e=document.querySelector('meta[property="og:title"]');null!==e&&(a=encodeURIComponent(e.content));const t=document.querySelector('meta[property="og:url"]');null!==t&&(s=encodeURIComponent(t.content)),document.querySelectorAll(".jsMessageShareButtons").forEach((e=>{e.classList.remove("jsMessageShareButtons");let t=encodeURIComponent(o.unescapeHTML(e.dataset.url||""));t||(t=s);const i={facebook:{link:e.querySelector(".jsShareFacebook"),share(e){e.preventDefault(),r("facebook","https://www.facebook.com/sharer.php?u={pageURL}&t={text}",!0,t)}},reddit:{link:e.querySelector(".jsShareReddit"),share(e){e.preventDefault(),r("reddit","https://ssl.reddit.com/submit?url={pageURL}",!1,t)}},twitter:{link:e.querySelector(".jsShareTwitter"),share(e){e.preventDefault(),r("twitter","https://twitter.com/share?url={pageURL}&text={text}",!1,t)}},linkedIn:{link:e.querySelector(".jsShareLinkedIn"),share(e){e.preventDefault(),r("linkedIn","https://www.linkedin.com/cws/share?url={pageURL}",!1,t)}},pinterest:{link:e.querySelector(".jsSharePinterest"),share(e){e.preventDefault(),r("pinterest","https://www.pinterest.com/pin/create/link/?url={pageURL}&description={text}",!1,t)}},xing:{link:e.querySelector(".jsShareXing"),share(e){e.preventDefault(),r("xing","https://www.xing.com/social_plugins/share?url={pageURL}",!1,t)}},whatsApp:{link:e.querySelector(".jsShareWhatsApp"),share(e){e.preventDefault(),window.location.href="https://api.whatsapp.com/send?text="+a+"%20"+s}}};n.fire("com.woltlab.wcf.message.share","shareProvider",{container:e,providers:i,pageDescription:a,pageUrl:s}),Object.values(i).forEach((e=>{if(null!==e.link){e.link.addEventListener("click",(t=>e.share(t)))}}))}))}})),define("WoltLabSuite/Core/Ui/Message/Share/Providers",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getEnabledProviders=t.getProviders=t.enableShareProviders=t.addShareProvider=void 0;const i=new Set,n=new Map([["Facebook",{cssClass:"jsShareFacebook",iconClassName:"fa-facebook-official",label:"wcf.message.share.facebook"}],["Twitter",{cssClass:"jsShareTwitter",iconClassName:"fa-twitter",label:"wcf.message.share.twitter"}],["Reddit",{cssClass:"jsShareReddit",iconClassName:"fa-reddit",label:"wcf.message.share.reddit"}],["WhatsApp",{cssClass:"jsShareWhatsApp",iconClassName:"fa-whatsapp",label:"wcf.message.share.whatsApp"}],["LinkedIn",{cssClass:"jsShareLinkedIn",iconClassName:"fa-linkedin",label:"wcf.message.share.linkedIn"}],["Pinterest",{cssClass:"jsSharePinterest",iconClassName:"fa-pinterest-p",label:"wcf.message.share.pinterest"}],["XING",{cssClass:"jsShareXing",iconClassName:"fa-xing",label:"wcf.message.share.xing"}]]);t.addShareProvider=function(e,t){if(n.has(e))throw new Error(`A share provider with name "${e}" already exists.`);n.set(e,t)},t.enableShareProviders=function(e){e.forEach((e=>{n.has(e)&&i.add(n.get(e))}))},t.getProviders=function(){return n},t.getEnabledProviders=function(){return i}})),define("WoltLabSuite/Core/Ui/Message/Share/Dialog",["require","exports","tslib","../../Dialog","../../../Dom/Util","../../../Dom/Traverse","../../../Language","../../../Clipboard","../../Notification","../../../StringUtil","../../../Dom/Change/Listener","../Share","./Providers"],(function(e,t,i,n,o,r,a,s,l,c,d,u,h){"use strict";function p(e,t){return`\n <dl>\n <dt>${a.get(e)}</dt>\n <dd>\n <div class="inputAddon">\n <input type="text" class="long" readonly value="${c.escapeHTML(t)}">\n <a href="#" class="inputSuffix button jsTooltip shareDialogCopyButton" title="${a.get("wcf.message.share.copy")}"><span class="icon icon16 fa-files-o pointer"></span></a>\n </div>\n </dd>\n </dl>\n `}function m(e){e.preventDefault();const t=e.currentTarget,i=`shareContentDialog_${o.default.identify(t)}`;if(n.default.getDialog(i))n.default.openStatic(i,null);else{const e=function(){const e=Array.from(h.getEnabledProviders()).map((e=>{const t=a.get(e.label);return`\n <li>\n <a href="#" role="button" class="button ${e.cssClass}" title="${t}" aria-label="${t}">\n <span class="icon icon24 ${e.iconClassName}"></span>\n <span>${t}</span>\n </a>\n </li>\n `})).join("\n");return e?`<ul class="inlineList">${e}</ul>`:""}();let o="";e&&(o=`\n <dl class="messageShareButtons jsMessageShareButtons" data-url="${c.escapeHTML(t.href)}">\n <dt>${a.get("wcf.message.share.socialMedia")}</dt>\n <dd>${e}</dd>\n </dl>\n `);let d="";b&&(d=`\n <dl>\n <dt></dt>\n <dd>\n <button class="shareDialogNativeButton" data-url="${c.escapeHTML(t.href)}" data-title="${c.escapeHTML(t.dataset.linkTitle||"")}">${a.get("wcf.message.share.nativeShare")}</button>\n </dd>\n </dl>\n `);const m=`\n <div class="shareContentDialog">\n ${function(e){const t=e.href;let i=p("wcf.message.share.permalink",t);return e.dataset.bbcode&&(i+=p("wcf.message.share.permalink.bbcode",e.dataset.bbcode)),t&&e.dataset.linkTitle&&(e.dataset.bbcode||(i+=p("wcf.message.share.permalink.bbcode",`[url='${t}']${e.dataset.linkTitle}[/url]`)),i+=p("wcf.message.share.permalink.html",`<a href="${c.escapeHTML(t)}">${c.escapeHTML(e.dataset.linkTitle)}</a>`)),i}(t)}\n ${o}\n ${d}\n </div>\n `,f=n.default.openStatic(i,m,{title:a.get("wcf.message.share")});f.content.style.maxWidth="600px",f.content.querySelectorAll(".shareDialogCopyButton").forEach((e=>e.addEventListener("click",(e=>async function(e){e.preventDefault();const t=e.currentTarget,i=r.prevBySel(t,'input[type="text"]');await s.copyTextToClipboard(i.value),l.show(a.get("wcf.message.share.copy.success"))}(e))))),b&&f.content.querySelector(".shareDialogNativeButton").addEventListener("click",(e=>async function(e){e.preventDefault();const t=e.currentTarget,i={url:t.dataset.url};t.dataset.title&&(i.title=t.dataset.title),await window.navigator.share(i)}(e))),e&&u.init()}}function f(){document.querySelectorAll("a.shareButton").forEach((e=>{g.has(e)||(e.addEventListener("click",(e=>m(e))),g.add(e))}))}Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,n=i.__importDefault(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importStar(l),c=i.__importStar(c),d=i.__importDefault(d),u=i.__importStar(u),h=i.__importStar(h);const g=new WeakSet,b=void 0!==window.navigator.share;t.setup=function(){f(),d.default.add("WoltLabSuite/Core/Ui/Message/Share/Dialog",(()=>f()))}})),define("WoltLabSuite/Core/Ui/Feed/Dialog",["require","exports","tslib","../Dialog","../../StringUtil","../../Language","../../Clipboard","../Notification"],(function(e,t,i,n,o,r,a,s){"use strict";function l(e){e.preventDefault();const t=e.currentTarget,i=t.href,l=i.replace(/(\\?|&)at=[^&]*&?/,"$1").replace(/(\?|&)$/,"");n.default.openStatic("feedLinkDialog",`\n<p class="info">${r.get("wcf.global.rss.accessToken.info")}</p>\n<dl>\n <dt>${r.get("wcf.global.rss.withoutAccessToken")}</dt>\n <dd>\n <div class="inputAddon">\n <input type="text" class="long" readonly value="${o.escapeHTML(l)}">\n <a href="#" class="inputSuffix button jsTooltip feedLinkDialogCopyButton" title="${r.get("wcf.global.rss.copy")}"><span class="icon icon16 fa-files-o pointer"></span></a>\n </div>\n </dd>\n</dl>\n<dl>\n <dt>${r.get("wcf.global.rss.withAccessToken")}</dt>\n <dd>\n <div class="inputAddon">\n <input type="text" class="long" readonly value="${o.escapeHTML(i)}">\n <a href="#" class="inputSuffix button jsTooltip feedLinkDialogCopyButton" title="${r.get("wcf.global.rss.copy")}"><span class="icon icon16 fa-files-o pointer"></span></a>\n </div>\n </dd>\n</dl>\n`,{onSetup(e){e.querySelectorAll(".feedLinkDialogCopyButton").forEach((e=>e.addEventListener("click",(e=>async function(e){e.preventDefault();const t=e.currentTarget.parentNode.querySelector('input[type="text"]');await a.copyTextToClipboard(t.value),s.show(r.get("wcf.global.rss.copy.success"))}(e)))))},title:t.title||r.get("wcf.global.button.rss")})}Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,n=i.__importDefault(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s),t.setup=function(){document.querySelectorAll("a.rssFeed").forEach((e=>{e.addEventListener("click",(e=>l(e)))}))}})),define("WoltLabSuite/Core/BootstrapFrontend",["require","exports","tslib","./BackgroundQueue","./Bootstrap","./Controller/Style/Changer","./Controller/Popover","./Ui/User/Ignore","./Ui/Page/Header/Menu","./Ui/Message/UserConsent","./Ajax","./Ui/Message/Share/Dialog","./Ui/Message/Share/Providers","./Ui/Feed/Dialog","./User"],(function(e,t,i,n,o,r,a,s,l,c,d,u,h,p,m){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importStar(l),c=i.__importStar(c),d=i.__importStar(d),u=i.__importStar(u),h=i.__importStar(h),p=i.__importStar(p),m=i.__importDefault(m),t.setup=function(e){e.backgroundQueue.url=window.WSC_API_URL+e.backgroundQueue.url.substr(window.WCF_PATH.length),o.setup({enableMobileMenu:!0}),l.init(),e.styleChanger&&r.setup(),e.enableUserPopover&&(a.init({className:"userLink",dboAction:"wcf\\data\\user\\UserProfileAction",identifier:"com.woltlab.wcf.user"}),a.init({attributeName:"data-user-id",className:"userLink",dboAction:"wcf\\data\\user\\UserProfileAction",identifier:"com.woltlab.wcf.user.deprecated"})),e.executeCronjobs&&d.apiOnce({data:{className:"wcf\\data\\cronjob\\CronjobAction",actionName:"executeCronjobs"},failure:()=>!1,silent:!0}),n.setUrl(e.backgroundQueue.url),(Math.random()<.1||e.backgroundQueue.force)&&n.invoke(),globalThis.COMPILER_TARGET_DEFAULT&&s.init(),c.init(),h.enableShareProviders(e.shareButtonProviders||[]),u.setup(),m.default.userId&&p.setup()}})),define("WoltLabSuite/Core/ColorUtil",["require","exports"],(function(e,t){"use strict";function i(e,t,i){const n={r:0,g:0,b:0},o=Math.floor(e/60),r=e/60-o,a=(i/=100)*(1-(t/=100)),s=i*(1-t*r),l=i*(1-t*(1-r));if(0==t)n.r=n.g=n.b=i;else switch(o){case 1:n.r=s,n.g=i,n.b=a;break;case 2:n.r=a,n.g=i,n.b=l;break;case 3:n.r=a,n.g=s,n.b=i;break;case 4:n.r=l,n.g=a,n.b=i;break;case 5:n.r=i,n.g=a,n.b=s;break;case 0:case 6:n.r=i,n.g=l,n.b=a}return{r:Math.round(255*n.r),g:Math.round(255*n.g),b:Math.round(255*n.b)}}function n(e,t,i){let n,o;e/=255,t/=255,i/=255;const r=Math.max(Math.max(e,t),i),a=Math.min(Math.min(e,t),i),s=r-a;if(n=0,r!==a){switch(r){case e:n=(t-i)/s*60;break;case t:n=60*(2+(i-e)/s);break;case i:n=60*(4+(e-t)/s)}n<0&&(n+=360)}return o=0===r?0:s/r,{h:Math.round(n),s:Math.round(100*o),v:Math.round(100*r)}}function o(e){if(/^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/.test(e)){const t=e.split("");return"#"===t[0]&&t.shift(),3===t.length?{r:parseInt(t[0]+""+t[0],16),g:parseInt(t[1]+""+t[1],16),b:parseInt(t[2]+""+t[2],16)}:{r:parseInt(t[0]+""+t[1],16),g:parseInt(t[2]+""+t[3],16),b:parseInt(t[4]+""+t[5],16)}}return Number.NaN}function r(e,t,i){const n="0123456789ABCDEF";return void 0===t&&/^rgba?\((\d+), ?(\d+), ?(\d+)(?:, ?[0-9.]+)?\)$/.exec(e.toString())&&(e=+RegExp.$1,t=+RegExp.$2,i=+RegExp.$3),n.charAt((e-e%16)/16)+""+n.charAt(e%16)+n.charAt((t-t%16)/16)+n.charAt(t%16)+n.charAt((i-i%16)/16)+n.charAt(i%16)}Object.defineProperty(t,"__esModule",{value:!0}),t.rgbToHex=t.hexToRgb=t.rgbToHsv=t.hsvToRgb=void 0,t.hsvToRgb=i,t.rgbToHsv=n,t.hexToRgb=o,t.rgbToHex=r,window.__wcf_bc_colorUtil={hexToRgb:o,hsvToRgb:i,rgbToHex:r,rgbToHsv:n}})),define("WoltLabSuite/Core/Dictionary",["require","exports","tslib","./Core"],(function(e,t,i,n){"use strict";n=i.__importStar(n);class o{constructor(){this._dictionary=new Map}set(e,t){this._dictionary.set(e.toString(),t)}delete(e){return this._dictionary.delete(e.toString())}has(e){return this._dictionary.has(e.toString())}get(e){return this._dictionary.get(e.toString())}forEach(e){if("function"!=typeof e)throw new TypeError("forEach() expects a callback as first parameter.");this._dictionary.forEach(e)}merge(...e){for(let t=0,i=e.length;t<i;t++){e[t].forEach(((e,t)=>this.set(t,e)))}}toObject(){const e={};return this._dictionary.forEach(((t,i)=>e[i]=t)),e}static fromObject(e){const t=new o;return Object.keys(e).forEach((i=>{t.set(i,e[i])})),t}get size(){return this._dictionary.size}}return n.enableLegacyInheritance(o),o})),define("WoltLabSuite/Core/FileUtil",["require","exports","tslib","./StringUtil"],(function(e,t,i,n){"use strict";function o(e){return a.has(e)?"."+a.get(e):""}Object.defineProperty(t,"__esModule",{value:!0}),t.blobToFile=t.getExtensionByMimeType=t.getIconNameByFilename=t.formatFilesize=void 0,n=i.__importStar(n);const r=new Map(Object.entries({zip:"archive",rar:"archive",tar:"archive",gz:"archive",mp3:"audio",ogg:"audio",wav:"audio",php:"code",html:"code",htm:"code",tpl:"code",js:"code",xls:"excel",ods:"excel",xlsx:"excel",gif:"image",jpg:"image",jpeg:"image",png:"image",bmp:"image",webp:"image",avi:"video",wmv:"video",mov:"video",mp4:"video",mpg:"video",mpeg:"video",flv:"video",pdf:"pdf",ppt:"powerpoint",pptx:"powerpoint",txt:"text",doc:"word",docx:"word",odt:"word"})),a=new Map(Object.entries({"application/zip":"zip","application/x-zip-compressed":"zip","application/rar":"rar","application/vnd.rar":"rar","application/x-rar-compressed":"rar","application/x-tar":"tar","application/x-gzip":"gz","application/gzip":"gz","audio/mpeg":"mp3","audio/mp3":"mp3","audio/ogg":"ogg","audio/x-wav":"wav","application/x-php":"php","text/html":"html","application/javascript":"js","application/vnd.ms-excel":"xls","application/vnd.oasis.opendocument.spreadsheet":"ods","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":"xlsx","image/gif":"gif","image/jpeg":"jpg","image/png":"png","image/x-ms-bmp":"bmp","image/bmp":"bmp","image/webp":"webp","video/x-msvideo":"avi","video/x-ms-wmv":"wmv","video/quicktime":"mov","video/mp4":"mp4","video/mpeg":"mpg","video/x-flv":"flv","application/pdf":"pdf","application/vnd.ms-powerpoint":"ppt","application/vnd.openxmlformats-officedocument.presentationml.presentation":"pptx","text/plain":"txt","application/msword":"doc","application/vnd.openxmlformats-officedocument.wordprocessingml.document":"docx","application/vnd.oasis.opendocument.text":"odt","public.jpeg":"jpeg","public.png":"png","com.compuserve.gif":"gif","org.webmproject.webp":"webp"}));t.formatFilesize=function(e,t=2){let i="Byte";return e>=1e3&&(e/=1e3,i="kB"),e>=1e3&&(e/=1e3,i="MB"),e>=1e3&&(e/=1e3,i="GB"),e>=1e3&&(e/=1e3,i="TB"),n.formatNumeric(e,-t)+" "+i},t.getIconNameByFilename=function(e){const t=e.lastIndexOf(".");if(-1!==t){const i=e.substr(t+1);if(r.has(i))return r.get(i)}return""},t.getExtensionByMimeType=o,t.blobToFile=function(e,t){const i=o(e.type);return new File([e],t+i,{type:e.type})}})),define("WoltLabSuite/Core/List",["require","exports","tslib","./Core"],(function(e,t,i,n){"use strict";n=i.__importStar(n);class o{constructor(){this._set=new Set}add(e){this._set.add(e)}clear(){this._set.clear()}delete(e){return this._set.delete(e)}forEach(e){this._set.forEach(e)}has(e){return this._set.has(e)}get size(){return this._set.size}}return n.enableLegacyInheritance(o),o})),define("WoltLabSuite/Core/ObjectMap",["require","exports","tslib","./Core"],(function(e,t,i,n){"use strict";n=i.__importStar(n);class o{constructor(){this._map=new WeakMap}set(e,t){if("object"!=typeof e||null===e)throw new TypeError("Only objects can be used as key");if("object"!=typeof t||null===t)throw new TypeError("Only objects can be used as value");this._map.set(e,t)}delete(e){this._map.delete(e)}has(e){return this._map.has(e)}get(e){return this._map.get(e)}}return n.enableLegacyInheritance(o),o})),define("WoltLabSuite/Core/Permission",["require","exports"],(function(e,t){"use strict";function i(e,t){if("boolean"!=typeof t)throw new TypeError("The permission value has to be boolean.");n.set(e,t)}Object.defineProperty(t,"__esModule",{value:!0}),t.get=t.addObject=t.add=void 0;const n=new Map;t.add=i,t.addObject=function(e){Object.keys(e).forEach((t=>i(t,e[t])))},t.get=function(e){return!!n.has(e)&&n.get(e)}})),_self="undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{},Prism=function(e){function t(e,t,i,n){this.type=e,this.content=t,this.alias=i,this.length=0|(n||"").length}function i(e,n,a,s,l,c){var d,h,p,m,f,g,b,_,v,w,y,E,S,L,C,A,I,x,k,D,T,M,j,B,P;for(d in a)if(a.hasOwnProperty(d)&&a[d])for(h=a[d],h=Array.isArray(h)?h:[h],p=0;p<h.length;++p){if(c&&c.cause==d+","+p)return;for(f=(m=h[p]).inside,g=!!m.lookbehind,b=!!m.greedy,_=0,v=m.alias,b&&!m.pattern.global&&(w=m.pattern.toString().match(/[imsuy]*$/)[0],m.pattern=RegExp(m.pattern.source,w+"g")),y=m.pattern||m,E=s.next,S=l;E!==n.tail&&!(c&&S>=c.reach);S+=E.value.length,E=E.next){if(L=E.value,n.length>e.length)return;if(!(L instanceof t)){if(C=1,b&&E!=n.tail.prev){if(y.lastIndex=S,!(A=y.exec(e)))break;for(I=A.index+(g&&A[1]?A[1].length:0),x=A.index+A[0].length,k=S,k+=E.value.length;I>=k;)k+=(E=E.next).value.length;if(S=k-=E.value.length,E.value instanceof t)continue;for(D=E;D!==n.tail&&(k<x||"string"==typeof D.value);D=D.next)C++,k+=D.value.length;C--,L=e.slice(S,k),A.index-=S}else y.lastIndex=0,A=y.exec(L);A&&(g&&(_=A[1]?A[1].length:0),x=(I=A.index+_)+(T=A[0].slice(_)).length,M=L.slice(0,I),j=L.slice(x),B=S+L.length,c&&B>c.reach&&(c.reach=B),P=E.prev,M&&(P=o(n,P,M),S+=M.length),r(n,P,C),E=o(n,P,new t(d,f?u.tokenize(T,f):T,v,T)),j&&o(n,E,j),C>1&&i(e,n,a,E.prev,S,{cause:d+","+p,reach:B}))}}}}function n(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function o(e,t,i){var n=t.next,o={value:i,prev:t,next:n};return t.next=o,n.prev=o,e.length++,o}function r(e,t,i){var n,o=t.next;for(n=0;n<i&&o!==e.tail;n++)o=o.next;t.next=o,o.prev=t,e.length-=n}function a(){u.manual||u.highlightAll()}var s,l,c=/\blang(?:uage)?-([\w-]+)\b/i,d=0,u={manual:e.Prism&&e.Prism.manual,disableWorkerMessageHandler:e.Prism&&e.Prism.disableWorkerMessageHandler,util:{encode:function e(i){return i instanceof t?new t(i.type,e(i.content),i.alias):Array.isArray(i)?i.map(e):i.replace(/&/g,"&").replace(/</g,"<").replace(/\u00a0/g," ")},type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,"__id",{value:++d}),e.__id},clone:function e(t,i){var n,o,r;switch(i=i||{},u.util.type(t)){case"Object":if(o=u.util.objId(t),i[o])return i[o];for(r in n={},i[o]=n,t)t.hasOwnProperty(r)&&(n[r]=e(t[r],i));return n;case"Array":return o=u.util.objId(t),i[o]?i[o]:(n=[],i[o]=n,t.forEach((function(t,o){n[o]=e(t,i)})),n);default:return t}},getLanguage:function(e){for(;e&&!c.test(e.className);)e=e.parentElement;return e?(e.className.match(c)||[,"none"])[1].toLowerCase():"none"},currentScript:function(){var e,t,i;if("undefined"==typeof document)return null;if("currentScript"in document)return document.currentScript;try{throw new Error}catch(n){if(e=(/at [^(\r\n]*\((.*):.+:.+\)$/i.exec(n.stack)||[])[1])for(i in t=document.getElementsByTagName("script"))if(t[i].src==e)return t[i];return null}},isActive:function(e,t,i){for(var n,o="no-"+t;e;){if((n=e.classList).contains(t))return!0;if(n.contains(o))return!1;e=e.parentElement}return!!i}},languages:{extend:function(e,t){var i,n=u.util.clone(u.languages[e]);for(i in t)n[i]=t[i];return n},insertBefore:function(e,t,i,n){var o,r,a,s,l;for(a in o=(n=n||u.languages)[e],r={},o)if(o.hasOwnProperty(a)){if(a==t)for(s in i)i.hasOwnProperty(s)&&(r[s]=i[s]);i.hasOwnProperty(a)||(r[a]=o[a])}return l=n[e],n[e]=r,u.languages.DFS(u.languages,(function(t,i){i===l&&t!=e&&(this[t]=r)})),r},DFS:function e(t,i,n,o){var r,a,s,l;for(a in o=o||{},r=u.util.objId,t)t.hasOwnProperty(a)&&(i.call(t,a,t[a],n||a),s=t[a],"Object"!==(l=u.util.type(s))||o[r(s)]?"Array"!==l||o[r(s)]||(o[r(s)]=!0,e(s,i,a,o)):(o[r(s)]=!0,e(s,i,null,o)))}},plugins:{},highlightAll:function(e,t){u.highlightAllUnder(document,e,t)},highlightAllUnder:function(e,t,i){var n,o,r={callback:i,container:e,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};for(u.hooks.run("before-highlightall",r),r.elements=Array.prototype.slice.apply(r.container.querySelectorAll(r.selector)),u.hooks.run("before-all-elements-highlight",r),n=0;o=r.elements[n++];)u.highlightElement(o,!0===t,r.callback)},highlightElement:function(t,i,n){function o(e){s.highlightedCode=e,u.hooks.run("before-insert",s),s.element.innerHTML=s.highlightedCode,u.hooks.run("after-highlight",s),u.hooks.run("complete",s),n&&n.call(s.element)}var r,a,s,l,d=u.util.getLanguage(t),h=u.languages[d];if(t.className=t.className.replace(c,"").replace(/\s+/g," ")+" language-"+d,(r=t.parentElement)&&"pre"===r.nodeName.toLowerCase()&&(r.className=r.className.replace(c,"").replace(/\s+/g," ")+" language-"+d),a=t.textContent,s={element:t,language:d,grammar:h,code:a},u.hooks.run("before-sanity-check",s),!s.code)return u.hooks.run("complete",s),void(n&&n.call(s.element));u.hooks.run("before-highlight",s),s.grammar?i&&e.Worker?((l=new Worker(u.filename)).onmessage=function(e){o(e.data)},l.postMessage(JSON.stringify({language:s.language,code:s.code,immediateClose:!0}))):o(u.highlight(s.code,s.grammar,s.language)):o(u.util.encode(s.code))},highlight:function(e,i,n){var o={code:e,grammar:i,language:n};return u.hooks.run("before-tokenize",o),o.tokens=u.tokenize(o.code,o.grammar),u.hooks.run("after-tokenize",o),t.stringify(u.util.encode(o.tokens),o.language)},tokenize:function(e,t){var r,a,s=t.rest;if(s){for(r in s)t[r]=s[r];delete t.rest}return o(a=new n,a.head,e),i(e,a,t,a.head,0),function(e){for(var t=[],i=e.head.next;i!==e.tail;)t.push(i.value),i=i.next;return t}(a)},hooks:{all:{},add:function(e,t){var i=u.hooks.all;i[e]=i[e]||[],i[e].push(t)},run:function(e,t){var i,n,o=u.hooks.all[e];if(o&&o.length)for(i=0;n=o[i++];)n(t)}},Token:t};return e.Prism=u,t.stringify=function e(t,i){var n,o,r,a,s;if("string"==typeof t)return t;if(Array.isArray(t))return n="",t.forEach((function(t){n+=e(t,i)})),n;for(s in o={type:t.type,content:e(t.content,i),tag:"span",classes:["token",t.type],attributes:{},language:i},(r=t.alias)&&(Array.isArray(r)?Array.prototype.push.apply(o.classes,r):o.classes.push(r)),u.hooks.run("wrap",o),a="",o.attributes)a+=" "+s+'="'+(o.attributes[s]||"").replace(/"/g,""")+'"';return"<"+o.tag+' class="'+o.classes.join(" ")+'"'+a+">"+o.content+"</"+o.tag+">"},e.document?((s=u.util.currentScript())&&(u.filename=s.src,s.hasAttribute("data-manual")&&(u.manual=!0)),u.manual||("loading"===(l=document.readyState)||"interactive"===l&&s&&s.defer?document.addEventListener("DOMContentLoaded",a):window.requestAnimationFrame?window.requestAnimationFrame(a):window.setTimeout(a,16)),u):e.addEventListener?(u.disableWorkerMessageHandler||e.addEventListener("message",(function(t){var i=JSON.parse(t.data),n=i.language,o=i.code,r=i.immediateClose;e.postMessage(u.highlight(o,u.languages[n],n)),r&&e.close()}),!1),u):u}(_self),"undefined"!=typeof module&&module.exports&&(module.exports=Prism),"undefined"!=typeof global&&(global.Prism=Prism),define("prism/prism",(function(){})),window.Prism=window.Prism||{},window.Prism.manual=!0,define("WoltLabSuite/Core/Prism",["prism/prism"],(function(){return Prism.wscSplitIntoLines=function(e){function t(){var e=elCreate("span");return elData(e,"number",o++),n.appendChild(e),e}for(var i,n=document.createDocumentFragment(),o=1,r=document.createNodeIterator(e,NodeFilter.SHOW_TEXT,(function(){return NodeFilter.FILTER_ACCEPT}),!1),a=t();i=r.nextNode();)i.data.split(/\r?\n/).forEach((function(n,o){var r,s,l;for(o>=1&&(a.appendChild(document.createTextNode("\n")),a=t()),r=document.createTextNode(n),s=i.parentNode;s!==e;)(l=s.cloneNode(!1)).appendChild(r),r=l,s=s.parentNode;a.appendChild(r)}));return n},Prism})),define("WoltLabSuite/Core/Upload",["require","exports","tslib","./Ajax/Request","./Core","./Dom/Change/Listener","./Language"],(function(e,t,i,n,o,r,a){"use strict";n=i.__importDefault(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importStar(a);class s{constructor(e,t,i){if(this._button=document.createElement("p"),this._fileElements=[],this._fileUpload=document.createElement("input"),this._internalFileId=0,this._multiFileUploadIds=[],!(i=i||{}).className)throw new Error("Missing class name.");this._options=o.extend({action:"upload",multiple:!1,acceptableFiles:null,name:"__files[]",singleFileRequests:!1,url:`index.php?ajax-upload/&t=${window.SECURITY_TOKEN}`},i),this._options.url=o.convertLegacyUrl(this._options.url),0===this._options.url.indexOf("index.php")&&(this._options.url=window.WSC_API_URL+this._options.url);const n=document.getElementById(e);if(null===n)throw new Error(`Element id '${e}' is unknown.`);this._buttonContainer=n;const r=document.getElementById(t);if(null===r)throw new Error(`Element id '${t}' is unknown.`);if(this._target=r,i.multiple&&"UL"!==this._target.nodeName&&"OL"!==this._target.nodeName&&"TBODY"!==this._target.nodeName)throw new Error("Target element has to be list or table body if uploading multiple files is supported.");this._createButton()}_createButton(){this._fileUpload=document.createElement("input"),this._fileUpload.type="file",this._fileUpload.name=this._options.name,this._options.multiple&&(this._fileUpload.multiple=!0),null!==this._options.acceptableFiles&&(this._fileUpload.accept=this._options.acceptableFiles.join(",")),this._fileUpload.addEventListener("change",(e=>this._upload(e))),this._button=document.createElement("p"),this._button.className="button uploadButton",this._button.setAttribute("role","button"),this._fileUpload.addEventListener("focus",(()=>{this._fileUpload.classList.contains("focus-visible")&&this._button.classList.add("active")})),this._fileUpload.addEventListener("blur",(()=>{this._button.classList.remove("active")}));const e=document.createElement("span");e.textContent=a.get("wcf.global.button.upload"),this._button.appendChild(e),this._button.insertAdjacentElement("afterbegin",this._fileUpload),this._insertButton(),r.default.trigger()}_createFileElement(e){const t=document.createElement("progress");let i;switch(t.max=100,this._target.nodeName){case"OL":case"UL":return i=document.createElement("li"),i.innerText=e.name,i.appendChild(t),this._target.appendChild(i),i;case"TBODY":return this._createFileTableRow(e);default:return i=document.createElement("p"),i.appendChild(t),this._target.appendChild(i),i}}_createFileElements(e){if(!e.length)return null;const t=[];Array.from(e).forEach((e=>{const i=this._createFileElement(e);i.classList.contains("uploadFailed")||(i.dataset.filename=e.name,i.dataset.internalFileId=(this._internalFileId++).toString(),t.push(i))}));const i=this._fileElements.length;return this._fileElements.push(t),r.default.trigger(),i}_createFileTableRow(e){throw new Error("Has to be implemented in subclass.")}_failure(e,t,i,n,o){return!0}_getParameters(){return{}}_getFormData(){return{}}_insertButton(){this._buttonContainer.insertAdjacentElement("afterbegin",this._button)}_progress(e,t){const i=Math.round(t.loaded/t.total*100);this._fileElements[e].forEach((e=>{const t=e.querySelector("progress");t&&(t.value=i)}))}_removeButton(){this._button.remove(),r.default.trigger()}_success(e,t,i,n,o){}_upload(e,t,i){this._target.querySelectorAll(".uploadFailed").forEach((e=>e.remove()));let n=null,o=[];if(t)o.push(t);else if(i){let e="";switch(i.type){case"image/jpeg":e="jpg";break;case"image/gif":e="gif";break;case"image/png":e="png";break;case"image/webp":e="webp"}o.push({name:`pasted-from-clipboard.${e}`})}else o=Array.from(this._fileUpload.files);return o.length&&this.validateUpload(o)&&(this._options.singleFileRequests?(n=[],o.forEach((e=>{const t=this._uploadFiles([e],i);1!==o.length&&this._multiFileUploadIds.push(t),n.push(t)}))):n=this._uploadFiles(o,i)),this._removeButton(),this._createButton(),n}validateUpload(e){return!0}_uploadFiles(e,t){function i(e,t){null!==e&&(t=t||"",Object.entries(e).forEach((([e,n])=>{if("object"==typeof n){i(n,0===t.length?e:`${t}[${e}]`)}else{const i=0===t.length?e:`${t}[${e}]`;r.append(i,n)}})))}const o=this._createFileElements(e);if(!this._fileElements[o].length)return null;const r=new FormData;for(let i=0,n=e.length;i<n;i++)if(this._fileElements[o][i]){const n=this._fileElements[o][i].dataset.internalFileId;t?r.append(`__files[${n}]`,t,e[i].name):r.append(`__files[${n}]`,e[i])}r.append("actionName",this._options.action),r.append("className",this._options.className),"upload"===this._options.action&&r.append("interfaceName","wcf\\data\\IUploadAction"),i(this._getParameters(),"parameters"),i(this._getFormData());return new n.default({data:r,contentType:!1,failure:this._failure.bind(this,o),silent:!0,success:this._success.bind(this,o),uploadProgress:this._progress.bind(this,o),url:this._options.url,withCredentials:!0}).sendRequest(),o}hasPendingUploads(){return void 0!==this._fileElements.find((e=>e.find((e=>null!==e.querySelector("progress")))))}uploadBlob(e){return this._upload(null,null,e)}uploadFile(e){return this._upload(null,e)}}return o.enableLegacyInheritance(s),s})),define("WoltLabSuite/Core/prism-meta",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default={markup:{title:"Markup",file:"markup"},html:{title:"HTML",file:"markup"},xml:{title:"XML",file:"markup"},svg:{title:"SVG",file:"markup"},mathml:{title:"MathML",file:"markup"},ssml:{title:"SSML",file:"markup"},atom:{title:"Atom",file:"markup"},rss:{title:"RSS",file:"markup"},css:{title:"CSS",file:"css"},clike:{title:"C-like",file:"clike"},javascript:{title:"JavaScript",file:"javascript"},abap:{title:"ABAP",file:"abap"},abnf:{title:"ABNF",file:"abnf"},actionscript:{title:"ActionScript",file:"actionscript"},ada:{title:"Ada",file:"ada"},agda:{title:"Agda",file:"agda"},al:{title:"AL",file:"al"},antlr4:{title:"ANTLR4",file:"antlr4"},apacheconf:{title:"Apache Configuration",file:"apacheconf"},apl:{title:"APL",file:"apl"},applescript:{title:"AppleScript",file:"applescript"},aql:{title:"AQL",file:"aql"},arduino:{title:"Arduino",file:"arduino"},arff:{title:"ARFF",file:"arff"},asciidoc:{title:"AsciiDoc",file:"asciidoc"},aspnet:{title:"ASP.NET (C#)",file:"aspnet"},asm6502:{title:"6502 Assembly",file:"asm6502"},autohotkey:{title:"AutoHotkey",file:"autohotkey"},autoit:{title:"AutoIt",file:"autoit"},bash:{title:"Bash",file:"bash"},basic:{title:"BASIC",file:"basic"},batch:{title:"Batch",file:"batch"},bbcode:{title:"BBcode",file:"bbcode"},bison:{title:"Bison",file:"bison"},bnf:{title:"BNF",file:"bnf"},brainfuck:{title:"Brainfuck",file:"brainfuck"},brightscript:{title:"BrightScript",file:"brightscript"},bro:{title:"Bro",file:"bro"},c:{title:"C",file:"c"},csharp:{title:"C#",file:"csharp"},cpp:{title:"C++",file:"cpp"},cil:{title:"CIL",file:"cil"},clojure:{title:"Clojure",file:"clojure"},cmake:{title:"CMake",file:"cmake"},coffeescript:{title:"CoffeeScript",file:"coffeescript"},concurnas:{title:"Concurnas",file:"concurnas"},csp:{title:"Content-Security-Policy",file:"csp"},crystal:{title:"Crystal",file:"crystal"},"css-extras":{title:"CSS Extras",file:"css-extras"},cypher:{title:"Cypher",file:"cypher"},d:{title:"D",file:"d"},dart:{title:"Dart",file:"dart"},dax:{title:"DAX",file:"dax"},dhall:{title:"Dhall",file:"dhall"},diff:{title:"Diff",file:"diff"},django:{title:"Django/Jinja2",file:"django"},"dns-zone-file":{title:"DNS zone file",file:"dns-zone-file"},docker:{title:"Docker",file:"docker"},ebnf:{title:"EBNF",file:"ebnf"},editorconfig:{title:"EditorConfig",file:"editorconfig"},eiffel:{title:"Eiffel",file:"eiffel"},ejs:{title:"EJS",file:"ejs"},elixir:{title:"Elixir",file:"elixir"},elm:{title:"Elm",file:"elm"},etlua:{title:"Embedded Lua templating",file:"etlua"},erb:{title:"ERB",file:"erb"},erlang:{title:"Erlang",file:"erlang"},"excel-formula":{title:"Excel Formula",file:"excel-formula"},fsharp:{title:"F#",file:"fsharp"},factor:{title:"Factor",file:"factor"},"firestore-security-rules":{title:"Firestore security rules",file:"firestore-security-rules"},flow:{title:"Flow",file:"flow"},fortran:{title:"Fortran",file:"fortran"},ftl:{title:"FreeMarker Template Language",file:"ftl"},gml:{title:"GameMaker Language",file:"gml"},gcode:{title:"G-code",file:"gcode"},gdscript:{title:"GDScript",file:"gdscript"},gedcom:{title:"GEDCOM",file:"gedcom"},gherkin:{title:"Gherkin",file:"gherkin"},git:{title:"Git",file:"git"},glsl:{title:"GLSL",file:"glsl"},go:{title:"Go",file:"go"},graphql:{title:"GraphQL",file:"graphql"},groovy:{title:"Groovy",file:"groovy"},haml:{title:"Haml",file:"haml"},handlebars:{title:"Handlebars",file:"handlebars"},haskell:{title:"Haskell",file:"haskell"},haxe:{title:"Haxe",file:"haxe"},hcl:{title:"HCL",file:"hcl"},hlsl:{title:"HLSL",file:"hlsl"},http:{title:"HTTP",file:"http"},hpkp:{title:"HTTP Public-Key-Pins",file:"hpkp"},hsts:{title:"HTTP Strict-Transport-Security",file:"hsts"},ichigojam:{title:"IchigoJam",file:"ichigojam"},icon:{title:"Icon",file:"icon"},ignore:{title:".ignore",file:"ignore"},gitignore:{title:".gitignore",file:"ignore"},hgignore:{title:".hgignore",file:"ignore"},npmignore:{title:".npmignore",file:"ignore"},inform7:{title:"Inform 7",file:"inform7"},ini:{title:"Ini",file:"ini"},io:{title:"Io",file:"io"},j:{title:"J",file:"j"},java:{title:"Java",file:"java"},javadoc:{title:"JavaDoc",file:"javadoc"},javadoclike:{title:"JavaDoc-like",file:"javadoclike"},javastacktrace:{title:"Java stack trace",file:"javastacktrace"},jolie:{title:"Jolie",file:"jolie"},jq:{title:"JQ",file:"jq"},jsdoc:{title:"JSDoc",file:"jsdoc"},"js-extras":{title:"JS Extras",file:"js-extras"},json:{title:"JSON",file:"json"},json5:{title:"JSON5",file:"json5"},jsonp:{title:"JSONP",file:"jsonp"},jsstacktrace:{title:"JS stack trace",file:"jsstacktrace"},"js-templates":{title:"JS Templates",file:"js-templates"},julia:{title:"Julia",file:"julia"},keyman:{title:"Keyman",file:"keyman"},kotlin:{title:"Kotlin",file:"kotlin"},kts:{title:"Kotlin Script",file:"kotlin"},latex:{title:"LaTeX",file:"latex"},tex:{title:"TeX",file:"latex"},context:{title:"ConTeXt",file:"latex"},latte:{title:"Latte",file:"latte"},less:{title:"Less",file:"less"},lilypond:{title:"LilyPond",file:"lilypond"},liquid:{title:"Liquid",file:"liquid"},lisp:{title:"Lisp",file:"lisp"},livescript:{title:"LiveScript",file:"livescript"},llvm:{title:"LLVM IR",file:"llvm"},lolcode:{title:"LOLCODE",file:"lolcode"},lua:{title:"Lua",file:"lua"},makefile:{title:"Makefile",file:"makefile"},markdown:{title:"Markdown",file:"markdown"},"markup-templating":{title:"Markup templating",file:"markup-templating"},matlab:{title:"MATLAB",file:"matlab"},mel:{title:"MEL",file:"mel"},mizar:{title:"Mizar",file:"mizar"},monkey:{title:"Monkey",file:"monkey"},moonscript:{title:"MoonScript",file:"moonscript"},n1ql:{title:"N1QL",file:"n1ql"},n4js:{title:"N4JS",file:"n4js"},"nand2tetris-hdl":{title:"Nand To Tetris HDL",file:"nand2tetris-hdl"},nasm:{title:"NASM",file:"nasm"},neon:{title:"NEON",file:"neon"},nginx:{title:"nginx",file:"nginx"},nim:{title:"Nim",file:"nim"},nix:{title:"Nix",file:"nix"},nsis:{title:"NSIS",file:"nsis"},objectivec:{title:"Objective-C",file:"objectivec"},ocaml:{title:"OCaml",file:"ocaml"},opencl:{title:"OpenCL",file:"opencl"},oz:{title:"Oz",file:"oz"},parigp:{title:"PARI/GP",file:"parigp"},parser:{title:"Parser",file:"parser"},pascal:{title:"Pascal",file:"pascal"},pascaligo:{title:"Pascaligo",file:"pascaligo"},pcaxis:{title:"PC-Axis",file:"pcaxis"},peoplecode:{title:"PeopleCode",file:"peoplecode"},perl:{title:"Perl",file:"perl"},php:{title:"PHP",file:"php"},phpdoc:{title:"PHPDoc",file:"phpdoc"},"php-extras":{title:"PHP Extras",file:"php-extras"},plsql:{title:"PL/SQL",file:"plsql"},powerquery:{title:"PowerQuery",file:"powerquery"},powershell:{title:"PowerShell",file:"powershell"},processing:{title:"Processing",file:"processing"},prolog:{title:"Prolog",file:"prolog"},properties:{title:".properties",file:"properties"},protobuf:{title:"Protocol Buffers",file:"protobuf"},pug:{title:"Pug",file:"pug"},puppet:{title:"Puppet",file:"puppet"},pure:{title:"Pure",file:"pure"},purebasic:{title:"PureBasic",file:"purebasic"},python:{title:"Python",file:"python"},q:{title:"Q (kdb+ database)",file:"q"},qml:{title:"QML",file:"qml"},qore:{title:"Qore",file:"qore"},r:{title:"R",file:"r"},racket:{title:"Racket",file:"racket"},jsx:{title:"React JSX",file:"jsx"},tsx:{title:"React TSX",file:"tsx"},reason:{title:"Reason",file:"reason"},regex:{title:"Regex",file:"regex"},renpy:{title:"Ren'py",file:"renpy"},rest:{title:"reST (reStructuredText)",file:"rest"},rip:{title:"Rip",file:"rip"},roboconf:{title:"Roboconf",file:"roboconf"},robotframework:{title:"Robot Framework",file:"robotframework"},ruby:{title:"Ruby",file:"ruby"},rust:{title:"Rust",file:"rust"},sas:{title:"SAS",file:"sas"},sass:{title:"Sass (Sass)",file:"sass"},scss:{title:"Sass (Scss)",file:"scss"},scala:{title:"Scala",file:"scala"},scheme:{title:"Scheme",file:"scheme"},"shell-session":{title:"Shell session",file:"shell-session"},smali:{title:"Smali",file:"smali"},smalltalk:{title:"Smalltalk",file:"smalltalk"},smarty:{title:"Smarty",file:"smarty"},solidity:{title:"Solidity (Ethereum)",file:"solidity"},"solution-file":{title:"Solution file",file:"solution-file"},soy:{title:"Soy (Closure Template)",file:"soy"},sparql:{title:"SPARQL",file:"sparql"},"splunk-spl":{title:"Splunk SPL",file:"splunk-spl"},sqf:{title:"SQF: Status Quo Function (Arma 3)",file:"sqf"},sql:{title:"SQL",file:"sql"},iecst:{title:"Structured Text (IEC 61131-3)",file:"iecst"},stylus:{title:"Stylus",file:"stylus"},swift:{title:"Swift",file:"swift"},"t4-templating":{title:"T4 templating",file:"t4-templating"},"t4-cs":{title:"T4 Text Templates (C#)",file:"t4-cs"},"t4-vb":{title:"T4 Text Templates (VB)",file:"t4-vb"},tap:{title:"TAP",file:"tap"},tcl:{title:"Tcl",file:"tcl"},tt2:{title:"Template Toolkit 2",file:"tt2"},textile:{title:"Textile",file:"textile"},toml:{title:"TOML",file:"toml"},turtle:{title:"Turtle",file:"turtle"},twig:{title:"Twig",file:"twig"},typescript:{title:"TypeScript",file:"typescript"},unrealscript:{title:"UnrealScript",file:"unrealscript"},vala:{title:"Vala",file:"vala"},vbnet:{title:"VB.Net",file:"vbnet"},velocity:{title:"Velocity",file:"velocity"},verilog:{title:"Verilog",file:"verilog"},vhdl:{title:"VHDL",file:"vhdl"},vim:{title:"vim",file:"vim"},"visual-basic":{title:"Visual Basic",file:"visual-basic"},vba:{title:"VBA",file:"visual-basic"},warpscript:{title:"WarpScript",file:"warpscript"},wasm:{title:"WebAssembly",file:"wasm"},wiki:{title:"Wiki markup",file:"wiki"},xeora:{title:"Xeora",file:"xeora"},"xml-doc":{title:"XML doc (.net)",file:"xml-doc"},xojo:{title:"Xojo (REALbasic)",file:"xojo"},xquery:{title:"XQuery",file:"xquery"},yaml:{title:"YAML",file:"yaml"},yang:{title:"YANG",file:"yang"},zig:{title:"Zig",file:"zig"}}})),define("WoltLabSuite/Core/Ajax/Data",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})})),define("WoltLabSuite/Core/Ajax/Jsonp",["require","exports","tslib","../Core"],(function(e,t,i,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.send=void 0,n=i.__importStar(n),t.send=function(e,t,i,o){if(0===(e="string"==typeof e?e.trim():"").length)throw new Error("Expected a non-empty string for parameter 'url'.");if("function"!=typeof t)throw new TypeError("Expected a valid callback function for parameter 'success'.");o=n.extend({parameterName:"callback",timeout:10},o||{});const r="wcf_jsonp_"+n.getUuid().replace(/-/g,"").substr(0,8),a=document.createElement("script"),s=window.setTimeout((()=>{"function"==typeof i&&i(),window[r]=void 0,a.remove()}),1e3*(~~o.timeout||10));window[r]=(...e)=>{window.clearTimeout(s),t(...e),window[r]=void 0,a.remove()},e+=-1===e.indexOf("?")?"?":"&",e+=o.parameterName+"="+r,a.async=!0,a.src=e,document.head.appendChild(a)}})),define("WoltLabSuite/Core/Prism/Helper",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.splitIntoLines=void 0,t.splitIntoLines=function*(e){const t=document.createNodeIterator(e,NodeFilter.SHOW_TEXT,{acceptNode:()=>NodeFilter.FILTER_ACCEPT});let i,n=document.createElement("span");for(;i=t.nextNode();){const t=i,o=t.data.split(/\r?\n/);for(let i=0,r=o.length;i<r;i++){const r=o[i];i>=1&&(n.appendChild(document.createTextNode("\n")),yield n,n=document.createElement("span"));let a=document.createTextNode(r),s=t.parentNode;for(;s&&s!==e;){const e=s.cloneNode(!1);e.appendChild(a),a=e,s=s.parentNode}n.appendChild(a)}}yield n}})),define("WoltLabSuite/Core/Bbcode/Code",["require","exports","tslib","../Language","../Clipboard","../Ui/Notification","../Prism","../Prism/Helper","../prism-meta"],(function(e,t,i,n,o,r,a,s,l){"use strict";async function c(){return new Promise(((e,t)=>{window.requestIdleCallback?window.requestIdleCallback(e,{timeout:5e3}):setTimeout(e,0)}))}n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importDefault(a),s=i.__importStar(s),l=i.__importDefault(l);class d{constructor(e){var t;this.container=e,this.codeContainer=this.container.querySelector(".codeBoxCode > code"),this.language=null===(t=Array.from(this.codeContainer.classList).find((e=>/^language-([a-z0-9_-]+)$/.test(e))))||void 0===t?void 0:t.replace(/^language-/,"")}static processAll(){document.querySelectorAll(".codeBox:not([data-processed])").forEach((e=>{e.dataset.processed="1";const t=new d(e);t.language&&t.highlight(),t.createCopyButton()}))}createCopyButton(){const e=this.container.querySelector(".codeBoxHeader");if(!e)return;const t=document.createElement("span");t.tabIndex=0,t.setAttribute("role","button"),t.className="icon icon24 fa-files-o pointer jsTooltip",t.setAttribute("title",n.get("wcf.message.bbcode.code.copy"));const i=async()=>{await o.copyElementTextToClipboard(this.codeContainer),r.show(n.get("wcf.message.bbcode.code.copy.success"))};t.addEventListener("click",i),t.addEventListener("keydown",(e=>{"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),i())})),e.appendChild(t)}async highlight(){if(!this.language)throw new Error("No language detected");if(!l.default[this.language])throw new Error(`Unknown language '${this.language}'`);this.container.classList.add("highlighting"),await new Promise(((t,i)=>{e(["prism/components/prism-"+l.default[this.language].file],t,i)})).then(i.__importStar),await c();const t=a.default.languages[this.language];if(!t)throw new Error(`Invalid language '${this.language}' given.`);const n=document.createElement("div");n.innerHTML=a.default.highlight(this.codeContainer.textContent,t,this.language),await c();const o=this.codeContainer.querySelectorAll(".codeBoxLine > span"),r=s.splitIntoLines(n);for(let e=0,t=o.length;e<t;e+=d.chunkSize){await c();const i=Math.min(e+d.chunkSize,t);for(let t=e;t<i;t++){const e=o[t],i=r.next().value;e.parentNode.replaceChild(i,e)}}this.container.classList.remove("highlighting"),this.container.classList.add("highlighted")}}return d.chunkSize=50,d})),define("WoltLabSuite/Core/Bbcode/Collapsible",["require","exports"],(function(e,t){"use strict";function i(e,t,i){if(e.classList.toggle("collapsed")){if(t.forEach((e=>{const t=e.dataset.titleExpand;e.classList.contains("icon")?(e.classList.remove("fa-compress"),e.classList.add("fa-expand"),e.title=t):e.textContent=t})),i instanceof Event){const t=e.getBoundingClientRect().top;if(t<0){let e=window.pageYOffset+(t-100);e<0&&(e=0),window.scrollTo(window.pageXOffset,e)}}}else t.forEach((e=>{const t=e.dataset.titleCollapse;e.classList.contains("icon")?(e.classList.add("fa-compress"),e.classList.remove("fa-expand"),e.title=t):e.textContent=t}))}Object.defineProperty(t,"__esModule",{value:!0}),t.observe=void 0,t.observe=function(){document.querySelectorAll(".jsCollapsibleBbcode").forEach((e=>{const t=Array.from(e.querySelectorAll(".toggleButton:not(.jsToggleButtonEnabled)")).filter((t=>t.closest(".jsCollapsibleBbcode")===e)),n=e.querySelector(".collapsibleBbcodeOverflow")||e;t.length>0&&function(e,t,n){t.forEach((n=>{n.classList.add("jsToggleButtonEnabled"),n.addEventListener("click",(n=>i(e,t,n))),n.addEventListener("keydown",(n=>{"Enter"!==n.key&&" "!==n.key||(n.preventDefault(),i(e,t))}))})),0!==n.scrollTop&&(n.scrollTop=0,i(e,t)),n.addEventListener("scroll",(()=>{n.scrollTop=0,e.classList.contains("collapsed")&&i(e,t)}))}(e,t,n),e.classList.remove("jsCollapsibleBbcode")}))}})),define("WoltLabSuite/Core/Bbcode/Spoiler",["require","exports","tslib","../Core","../Language","../Dom/Util"],(function(e,t,i,n,o,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.observe=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),t.observe=function(){const e="jsSpoilerBox";document.querySelectorAll(".jsSpoilerBox").forEach((t=>{t.classList.remove(e);const i=t.querySelector(".jsSpoilerToggle"),a=t.querySelector(".spoilerBoxContent");i.addEventListener("click",(e=>function(e,t,i){e.preventDefault(),i.classList.toggle("active");const a=i.classList.contains("active");a?r.default.show(t):r.default.hide(t),i.setAttribute("aria-expanded",a?"true":"false"),t.setAttribute("aria-hidden",a?"false":"true"),n.stringToBool(i.dataset.hasCustomLabel||"")||(i.textContent=o.get(i.classList.contains("active")?"wcf.bbcode.spoiler.hide":"wcf.bbcode.spoiler.show"))}(e,a,i)))}))}})),define("WoltLabSuite/Core/Controller/Captcha",["require","exports"],(function(e,t){"use strict";const i=new Map;return{add(e,t){if(i.has(e))throw new Error(`Captcha with id '${e}' is already registered.`);if("function"!=typeof t)throw new TypeError("Expected a valid callback for parameter 'callback'.");i.set(e,t)},delete(e){if(!i.has(e))throw new Error(`Unknown captcha with id '${e}'.`);i.delete(e)},has:e=>i.has(e),getData(e){if(!i.has(e))throw new Error(`Unknown captcha with id '${e}'.`);return i.get(e)()}}})),define("WoltLabSuite/Core/Event/Key",["require","exports"],(function(e,t){"use strict";function i(e,t,i){if(!(e instanceof Event))throw new TypeError("Expected a valid event when testing for key '"+t+"'.");return e.key===t||e.which===i}Object.defineProperty(t,"__esModule",{value:!0}),t.Tab=t.Space=t.Home=t.Escape=t.Enter=t.End=t.Comma=t.ArrowUp=t.ArrowRight=t.ArrowLeft=t.ArrowDown=void 0,t.ArrowDown=function(e){return i(e,"ArrowDown",40)},t.ArrowLeft=function(e){return i(e,"ArrowLeft",37)},t.ArrowRight=function(e){return i(e,"ArrowRight",39)},t.ArrowUp=function(e){return i(e,"ArrowUp",38)},t.Comma=function(e){return i(e,",",44)},t.End=function(e){return i(e,"End",35)},t.Enter=function(e){return i(e,"Enter",13)},t.Escape=function(e){return i(e,"Escape",27)},t.Home=function(e){return i(e,"Home",36)},t.Space=function(e){return i(e,"Space",32)},t.Tab=function(e){return i(e,"Tab",9)}})),define("WoltLabSuite/Core/Image/ExifUtil",["require","exports"],(function(e,t){"use strict";function i(e){return"Exif"===e||"http://ns.adobe.com/xap/1.0/"===e||"http://ns.adobe.com/xmp/extension/"===e}function n(...e){let t=0;const i=e.reduce(((e,t)=>e+t.length),0),n=new Uint8Array(i);return e.forEach((e=>{n.set(e,t),t+=e.length})),n}async function o(e){return new Promise(((t,i)=>{const n=new FileReader;n.addEventListener("error",(()=>{n.abort(),i(n.error)})),n.addEventListener("load",(()=>{t(new Uint8Array(n.result))})),n.readAsArrayBuffer(e)}))}async function r(e){if(!(e instanceof Blob||e instanceof File))throw new TypeError("The argument must be a Blob or a File");const t=await o(e);if(255!==t[0]&&t[1]!==a.SOI)throw new Error("Not a JPEG");let r=t;for(let e=2;e<r.length&&255===r[e];){const t=2+(r[e+2]<<8|r[e+3]);if(r[e+1]===a.APP1){let o="";for(let t=e+4;0!==r[t]&&t<r.length;t++)o+=String.fromCharCode(r[t]);if(i(o)){const i=r.slice(0,e),o=r.slice(e+t);r=n(i,o)}else e+=t}else e+=t}return new Blob([r],{type:e.type})}var a;Object.defineProperty(t,"__esModule",{value:!0}),t.setExifData=t.removeExifData=t.getExifBytesFromJpeg=void 0,function(e){e[e.SOI=216]="SOI",e[e.APP0=224]="APP0",e[e.APP1=225]="APP1",e[e.APP2=226]="APP2",e[e.APP3=227]="APP3",e[e.APP4=228]="APP4",e[e.APP5=229]="APP5",e[e.APP6=230]="APP6",e[e.APP7=231]="APP7",e[e.APP8=232]="APP8",e[e.APP9=233]="APP9",e[e.APP10=234]="APP10",e[e.APP11=235]="APP11",e[e.APP12=236]="APP12",e[e.APP13=237]="APP13",e[e.APP14=238]="APP14",e[e.COM=254]="COM"}(a||(a={}));t.getExifBytesFromJpeg=async function(e){if(!(e instanceof Blob||e instanceof File))throw new TypeError("The argument must be a Blob or a File");const t=await o(e);let r=new Uint8Array(0);if(255!==t[0]&&t[1]!==a.SOI)throw new Error("Not a JPEG");for(let e=2;e<t.length&&255===t[e];){const o=2+(t[e+2]<<8|t[e+3]);if(t[e+1]===a.APP1){let a="";for(let i=e+4;0!==t[i]&&i<t.length;i++)a+=String.fromCharCode(t[i]);if(i(a)){r=n(r,t.slice(e,o+e))}}e+=o}return r},t.removeExifData=r,t.setExifData=async function(e,t){e=await r(e);const i=await o(e);let s=2;255===i[2]&&i[3]===a.APP0&&(s+=2+(i[4]<<8|i[5]));const l=n(i.slice(0,s),t,i.slice(s));return new Blob([l],{type:e.type})}})),define("WoltLabSuite/Core/Image/ImageUtil",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.containsTransparentPixels=void 0,t.containsTransparentPixels=function(e){const t=e.getContext("2d");if(!t)throw new Error("Unable to get canvas context.");const i=t.getImageData(0,0,e.width,e.height);for(let e=3,t=i.data.length;e<t;e+=4)if(255!==i.data[e])return!0;return!1}})),function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define("pica",[],e);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).pica=e()}}((function(){return function e(t,i,n){function o(a,s){var l,c,d;if(!i[a]){if(!t[a]){if(l="function"==typeof require&&require,!s&&l)return l(a,!0);if(r)return r(a,!0);throw(c=new Error("Cannot find module '"+a+"'")).code="MODULE_NOT_FOUND",c}d=i[a]={exports:{}},t[a][0].call(d.exports,(function(e){return o(t[a][1][e]||e)}),d,d.exports,e,t,i,n)}return i[a].exports}for(var r="function"==typeof require&&require,a=0;a<n.length;a++)o(n[a]);return o}({1:[function(e,t,i){"use strict";function n(e){var t=e||[],i={js:t.indexOf("js")>=0,wasm:t.indexOf("wasm")>=0};r.call(this,i),this.features={js:i.js,wasm:i.wasm&&this.has_wasm()},this.use(a),this.use(s)}var o=e("inherits"),r=e("multimath"),a=e("multimath/lib/unsharp_mask"),s=e("./mm_resize");o(n,r),n.prototype.resizeAndUnsharp=function(e,t){var i=this.resize(e,t);return e.unsharpAmount&&this.unsharp_mask(i,e.toWidth,e.toHeight,e.unsharpAmount,e.unsharpRadius,e.unsharpThreshold),i},t.exports=n},{"./mm_resize":4,inherits:15,multimath:16,"multimath/lib/unsharp_mask":19}],2:[function(e,t,i){"use strict";function n(e){return e<0?0:e>255?255:e}t.exports={convolveHorizontally:function(e,t,i,o,r,a){var s,l,c,d,u,h,p,m,f,g,b,_=0,v=0;for(f=0;f<o;f++){for(u=0,g=0;g<r;g++){for(h=a[u++],p=a[u++],m=_+4*h|0,s=l=c=d=0;p>0;p--)d=d+(b=a[u++])*e[m+3]|0,c=c+b*e[m+2]|0,l=l+b*e[m+1]|0,s=s+b*e[m]|0,m=m+4|0;t[v+3]=n(d+8192>>14),t[v+2]=n(c+8192>>14),t[v+1]=n(l+8192>>14),t[v]=n(s+8192>>14),v=v+4*o|0}v=4*(f+1)|0,_=(f+1)*i*4|0}},convolveVertically:function(e,t,i,o,r,a){var s,l,c,d,u,h,p,m,f,g,b,_=0,v=0;for(f=0;f<o;f++){for(u=0,g=0;g<r;g++){for(h=a[u++],p=a[u++],m=_+4*h|0,s=l=c=d=0;p>0;p--)d=d+(b=a[u++])*e[m+3]|0,c=c+b*e[m+2]|0,l=l+b*e[m+1]|0,s=s+b*e[m]|0,m=m+4|0;t[v+3]=n(d+8192>>14),t[v+2]=n(c+8192>>14),t[v+1]=n(l+8192>>14),t[v]=n(s+8192>>14),v=v+4*o|0}v=4*(f+1)|0,_=(f+1)*i*4|0}}}},{}],3:[function(e,t,i){"use strict";t.exports="AGFzbQEAAAABFAJgBn9/f39/fwBgB39/f39/f38AAg8BA2VudgZtZW1vcnkCAAEDAwIAAQQEAXAAAAcZAghjb252b2x2ZQAACmNvbnZvbHZlSFYAAQkBAArmAwLBAwEQfwJAIANFDQAgBEUNACAFQQRqIRVBACEMQQAhDQNAIA0hDkEAIRFBACEHA0AgB0ECaiESAn8gBSAHQQF0IgdqIgZBAmouAQAiEwRAQQAhCEEAIBNrIRQgFSAHaiEPIAAgDCAGLgEAakECdGohEEEAIQlBACEKQQAhCwNAIBAoAgAiB0EYdiAPLgEAIgZsIAtqIQsgB0H/AXEgBmwgCGohCCAHQRB2Qf8BcSAGbCAKaiEKIAdBCHZB/wFxIAZsIAlqIQkgD0ECaiEPIBBBBGohECAUQQFqIhQNAAsgEiATagwBC0EAIQtBACEKQQAhCUEAIQggEgshByABIA5BAnRqIApBgMAAakEOdSIGQf8BIAZB/wFIG0EQdEGAgPwHcUEAIAZBAEobIAtBgMAAakEOdSIGQf8BIAZB/wFIG0EYdEEAIAZBAEobciAJQYDAAGpBDnUiBkH/ASAGQf8BSBtBCHRBgP4DcUEAIAZBAEobciAIQYDAAGpBDnUiBkH/ASAGQf8BSBtB/wFxQQAgBkEAShtyNgIAIA4gA2ohDiARQQFqIhEgBEcNAAsgDCACaiEMIA1BAWoiDSADRw0ACwsLIQACQEEAIAIgAyAEIAUgABAAIAJBACAEIAUgBiABEAALCw=="},{}],4:[function(e,t,i){"use strict";t.exports={name:"resize",fn:e("./resize"),wasm_fn:e("./resize_wasm"),wasm_src:e("./convolve_wasm_base64")}},{"./convolve_wasm_base64":3,"./resize":5,"./resize_wasm":8}],5:[function(e,t,i){"use strict";var n=e("./resize_filter_gen"),o=e("./convolve").convolveHorizontally,r=e("./convolve").convolveVertically;t.exports=function(e){var t=e.src,i=e.width,a=e.height,s=e.toWidth,l=e.toHeight,c=e.scaleX||e.toWidth/e.width,d=e.scaleY||e.toHeight/e.height,u=e.offsetX||0,h=e.offsetY||0,p=e.dest||new Uint8Array(s*l*4),m=void 0===e.quality?3:e.quality,f=e.alpha||!1,g=n(m,i,s,c,u),b=n(m,a,l,d,h),_=new Uint8Array(s*a*4);return o(t,_,i,a,s,g),r(_,p,a,s,l,b),f||function(e,t,i){for(var n=3,o=t*i*4|0;n<o;)e[n]=255,n=n+4|0}(p,s,l),p}},{"./convolve":2,"./resize_filter_gen":6}],6:[function(e,t,i){"use strict";function n(e){return Math.round(e*((1<<r)-1))}var o=e("./resize_filter_info"),r=14;t.exports=function(e,t,i,r,a){var s,l,c,d,u,h,p,m,f,g,b,_,v,w,y,E,S,L=o[e].filter,C=1/r,A=Math.min(1,r),I=o[e].win/A,x=Math.floor(2*(I+1)),k=new Int16Array((x+2)*i),D=0,T=!k.subarray||!k.set;for(s=0;s<i;s++){for(l=(s+.5)*C+a,c=Math.max(0,Math.floor(l-I)),u=(d=Math.min(t-1,Math.ceil(l+I)))-c+1,h=new Float32Array(u),p=new Int16Array(u),m=0,f=c,g=0;f<=d;f++,g++)m+=b=L((f+.5-l)*A),h[g]=b;for(_=0,g=0;g<h.length;g++)_+=v=h[g]/m,p[g]=n(v);for(p[i>>1]+=n(1-_),w=0;w<p.length&&0===p[w];)w++;if(w<p.length){for(y=p.length-1;y>0&&0===p[y];)y--;if(E=c+w,S=y-w+1,k[D++]=E,k[D++]=S,T)for(g=w;g<=y;g++)k[D++]=p[g];else k.set(p.subarray(w,y+1),D),D+=S}else k[D++]=0,k[D++]=0}return k}},{"./resize_filter_info":7}],7:[function(e,t,i){"use strict";t.exports=[{win:.5,filter:function(e){return e>=-.5&&e<.5?1:0}},{win:1,filter:function(e){if(e<=-1||e>=1)return 0;if(e>-1.1920929e-7&&e<1.1920929e-7)return 1;var t=e*Math.PI;return Math.sin(t)/t*(.54+.46*Math.cos(t/1))}},{win:2,filter:function(e){if(e<=-2||e>=2)return 0;if(e>-1.1920929e-7&&e<1.1920929e-7)return 1;var t=e*Math.PI;return Math.sin(t)/t*Math.sin(t/2)/(t/2)}},{win:3,filter:function(e){if(e<=-3||e>=3)return 0;if(e>-1.1920929e-7&&e<1.1920929e-7)return 1;var t=e*Math.PI;return Math.sin(t)/t*Math.sin(t/3)/(t/3)}}]},{}],8:[function(e,t,i){"use strict";function n(e,t,i){var n,o,a;if(r)t.set(function(e){return new Uint8Array(e.buffer,0,e.byteLength)}(e),i);else for(n=i,o=0;o<e.length;o++)a=e[o],t[n++]=255&a,t[n++]=a>>8&255}var o=e("./resize_filter_gen"),r=!0;try{r=1===new Uint32Array(new Uint8Array([1,0,0,0]).buffer)[0]}catch(e){}t.exports=function(e){var t=e.src,i=e.width,r=e.height,a=e.toWidth,s=e.toHeight,l=e.scaleX||e.toWidth/e.width,c=e.scaleY||e.toHeight/e.height,d=e.offsetX||0,u=e.offsetY||0,h=e.dest||new Uint8Array(a*s*4),p=void 0===e.quality?3:e.quality,m=e.alpha||!1,f=o(p,i,a,l,d),g=o(p,r,s,c,u),b=0,_=this.__align(b+Math.max(t.byteLength,h.byteLength)),v=this.__align(_+r*a*4),w=this.__align(v+f.byteLength),y=w+g.byteLength,E=this.__instance("resize",y),S=new Uint8Array(this.__memory.buffer),L=new Uint32Array(this.__memory.buffer),C=new Uint32Array(t.buffer);return L.set(C),n(f,S,v),n(g,S,w),(E.exports.convolveHV||E.exports._convolveHV)(v,w,_,i,r,a,s),new Uint32Array(h.buffer).set(new Uint32Array(this.__memory.buffer,0,s*a)),m||function(e,t,i){for(var n=3,o=t*i*4|0;n<o;)e[n]=255,n=n+4|0}(h,a,s),h}},{"./resize_filter_gen":6}],9:[function(e,t,i){"use strict";function n(e,t){this.create=e,this.available=[],this.acquired={},this.lastId=1,this.timeoutId=0,this.idle=t||2e3}n.prototype.acquire=function(){var e,t=this;return 0!==this.available.length?e=this.available.pop():((e=this.create()).id=this.lastId++,e.release=function(){return t.release(e)}),this.acquired[e.id]=e,e},n.prototype.release=function(e){var t=this;delete this.acquired[e.id],e.lastUsed=Date.now(),this.available.push(e),0===this.timeoutId&&(this.timeoutId=setTimeout((function(){return t.gc()}),100))},n.prototype.gc=function(){var e=this,t=Date.now();this.available=this.available.filter((function(i){return!(t-i.lastUsed>e.idle)||(i.destroy(),!1)})),0!==this.available.length?this.timeoutId=setTimeout((function(){return e.gc()}),100):this.timeoutId=0},t.exports=n},{}],10:[function(e,t,i){"use strict";t.exports=function(e,t,i,n,o,r){var a,s,l,c,d,u=i/e,h=n/t,p=(2*r+2+1)/o;if(p>.5)return[[i,n]];if((a=Math.ceil(Math.log(Math.min(u,h))/Math.log(p)))<=1)return[[i,n]];for(s=[],l=0;l<a;l++)c=Math.round(Math.pow(Math.pow(e,a-l-1)*Math.pow(i,l+1),1/a)),d=Math.round(Math.pow(Math.pow(t,a-l-1)*Math.pow(n,l+1),1/a)),s.push([c,d]);return s}},{}],11:[function(e,t,i){"use strict";function n(e){var t=Math.round(e);return Math.abs(e-t)<r?t:Math.floor(e)}function o(e){var t=Math.round(e);return Math.abs(e-t)<r?t:Math.ceil(e)}var r=1e-5;t.exports=function(e){var t,i,r,a,s,l,c,d,u=e.toWidth/e.width,h=e.toHeight/e.height,p=n(e.srcTileSize*u)-2*e.destTileBorder,m=n(e.srcTileSize*h)-2*e.destTileBorder;if(p<1||m<1)throw new Error("Internal error in pica: target tile width/height is too small.");for(c=[],a=0;a<e.toHeight;a+=m)for(r=0;r<e.toWidth;r+=p)(t=r-e.destTileBorder)<0&&(t=0),t+(s=r+p+e.destTileBorder-t)>=e.toWidth&&(s=e.toWidth-t),(i=a-e.destTileBorder)<0&&(i=0),i+(l=a+m+e.destTileBorder-i)>=e.toHeight&&(l=e.toHeight-i),d={toX:t,toY:i,toWidth:s,toHeight:l,toInnerX:r,toInnerY:a,toInnerWidth:p,toInnerHeight:m,offsetX:t/u-n(t/u),offsetY:i/h-n(i/h),scaleX:u,scaleY:h,x:n(t/u),y:n(i/h),width:o(s/u),height:o(l/h)},c.push(d);return c}},{}],12:[function(e,t,i){"use strict";function n(e){return Object.prototype.toString.call(e)}t.exports.isCanvas=function(e){var t=n(e);return"[object HTMLCanvasElement]"===t||"[object Canvas]"===t},t.exports.isImage=function(e){return"[object HTMLImageElement]"===n(e)},t.exports.limiter=function(e){function t(){i<e&&n.length&&(i++,n.shift()())}var i=0,n=[];return function(e){return new Promise((function(o,r){n.push((function(){e().then((function(e){o(e),i--,t()}),(function(e){r(e),i--,t()}))})),t()}))}},t.exports.cib_quality_name=function(e){switch(e){case 0:return"pixelated";case 1:return"low";case 2:return"medium"}return"high"},t.exports.cib_support=function(){return Promise.resolve().then((function(){if("undefined"==typeof createImageBitmap||"undefined"==typeof document)return!1;var e=document.createElement("canvas");return e.width=100,e.height=100,createImageBitmap(e,0,0,100,100,{resizeWidth:10,resizeHeight:10,resizeQuality:"high"}).then((function(t){var i=10===t.width;return t.close(),e=null,i}))})).catch((function(){return!1}))}},{}],13:[function(e,t,i){"use strict";t.exports=function(){var t,i=e("./mathlib");onmessage=function(e){var n,o=e.data.opts;t||(t=new i(e.data.features)),n=t.resizeAndUnsharp(o),postMessage({result:n},[n.buffer])}}},{"./mathlib":1}],14:[function(e,t,i){function n(e,t,i,n,o,r){var a,s,l,c,d,u,h,p,m,f,g,b,_,v;for(m=0;m<r;m++){for(h=m,p=0,c=d=(a=e[u=m*o])*n[6],g=n[0],b=n[1],_=n[4],v=n[5],f=0;f<o;f++)l=(s=e[u])*g+a*b+c*_+d*v,d=c,c=l,a=s,i[p]=c,p++,u++;for(p--,h+=r*(o-1),c=d=(a=e[--u])*n[7],s=a,g=n[2],b=n[3],f=o-1;f>=0;f--)l=s*g+a*b+c*_+d*v,d=c,c=l,a=s,s=e[u],t[h]=i[p]+c,u--,p--,h-=r}}var o,r,a,s,l,c;t.exports=function(e,t,i,d){var u,h,p;d&&(n(e,u=new Uint16Array(e.length),h=new Float32Array(Math.max(t,i)),p=function(e){e<.5&&(e=.5);var t=Math.exp(.527076)/e,i=Math.exp(-t),n=Math.exp(-2*t),d=(1-i)*(1-i)/(1+2*t*i-n);return o=d,r=d*(t-1)*i,a=d*(t+1)*i,s=-d*n,l=2*i,c=-n,new Float32Array([o,r,a,s,l,c,(o+r)/(1-l-c),(a+s)/(1-l-c)])}(d),t,i),n(u,e,h,p,i,t))}},{}],15:[function(e,t,i){"function"==typeof Object.create?t.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:t.exports=function(e,t){if(t){e.super_=t;var i=function(){};i.prototype=t.prototype,e.prototype=new i,e.prototype.constructor=e}}},{}],16:[function(e,t,i){"use strict";function n(e){if(!(this instanceof n))return new n(e);var t=o({},s,e||{});if(this.options=t,this.__cache={},this.__init_promise=null,this.__modules=t.modules||{},this.__memory=null,this.__wasm={},this.__isLE=1===new Uint32Array(new Uint8Array([1,0,0,0]).buffer)[0],!this.options.js&&!this.options.wasm)throw new Error('mathlib: at least "js" or "wasm" should be enabled')}var o=e("object-assign"),r=e("./lib/base64decode"),a=e("./lib/wa_detect"),s={js:!0,wasm:!0};n.prototype.has_wasm=a,n.prototype.use=function(e){return this.__modules[e.name]=e,this.options.wasm&&this.has_wasm()&&e.wasm_fn?this[e.name]=e.wasm_fn:this[e.name]=e.fn,this},n.prototype.init=function(){if(this.__init_promise)return this.__init_promise;if(!this.options.js&&this.options.wasm&&!this.has_wasm())return Promise.reject(new Error('mathlib: only "wasm" was enabled, but it\'s not supported'));var e=this;return this.__init_promise=Promise.all(Object.keys(e.__modules).map((function(t){var i=e.__modules[t];return e.options.wasm&&e.has_wasm()&&i.wasm_fn?e.__wasm[t]?null:WebAssembly.compile(e.__base64decode(i.wasm_src)).then((function(i){e.__wasm[t]=i})):null}))).then((function(){return e})),this.__init_promise},n.prototype.__base64decode=r,n.prototype.__reallocate=function(e){if(!this.__memory)return this.__memory=new WebAssembly.Memory({initial:Math.ceil(e/65536)}),this.__memory;var t=this.__memory.buffer.byteLength;return t<e&&this.__memory.grow(Math.ceil((e-t)/65536)),this.__memory},n.prototype.__instance=function(e,t,i){var n,r;return t&&this.__reallocate(t),this.__wasm[e]||(n=this.__modules[e],this.__wasm[e]=new WebAssembly.Module(this.__base64decode(n.wasm_src))),this.__cache[e]||(r={memoryBase:0,memory:this.__memory,tableBase:0,table:new WebAssembly.Table({initial:0,element:"anyfunc"})},this.__cache[e]=new WebAssembly.Instance(this.__wasm[e],{env:o(r,i||{})})),this.__cache[e]},n.prototype.__align=function(e,t){var i=e%(t=t||8);return e+(i?t-i:0)},t.exports=n},{"./lib/base64decode":17,"./lib/wa_detect":23,"object-assign":24}],17:[function(e,t,i){"use strict";t.exports=function(e){var t,i,n=e.replace(/[\r\n=]/g,""),o=n.length,r=new Uint8Array(3*o>>2),a=0,s=0;for(t=0;t<o;t++)t%4==0&&t&&(r[s++]=a>>16&255,r[s++]=a>>8&255,r[s++]=255&a),a=a<<6|"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".indexOf(n.charAt(t));return 0===(i=o%4*6)?(r[s++]=a>>16&255,r[s++]=a>>8&255,r[s++]=255&a):18===i?(r[s++]=a>>10&255,r[s++]=a>>2&255):12===i&&(r[s++]=a>>4&255),r}},{}],18:[function(e,t,i){"use strict";t.exports=function(e,t,i){var n,o,r,a,s,l,c=t*i,d=new Uint16Array(c);for(l=0;l<c;l++)n=e[4*l],o=e[4*l+1],r=e[4*l+2],s=n>=o&&n>=r?n:o>=r&&o>=n?o:r,a=n<=o&&n<=r?n:o<=r&&o<=n?o:r,d[l]=257*(s+a)>>1;return d}},{}],19:[function(e,t,i){"use strict";t.exports={name:"unsharp_mask",fn:e("./unsharp_mask"),wasm_fn:e("./unsharp_mask_wasm"),wasm_src:e("./unsharp_mask_wasm_base64")}},{"./unsharp_mask":20,"./unsharp_mask_wasm":21,"./unsharp_mask_wasm_base64":22}],20:[function(e,t,i){"use strict";var n=e("glur/mono16"),o=e("./hsl_l16");t.exports=function(e,t,i,r,a,s){var l,c,d,u,h,p,m,f,g,b,_,v,w,y,E,S,L,C,A;if(!(0===r||a<.5))for(a>2&&(a=2),y=o(e,t,i),E=new Uint16Array(y),n(E,t,i,a),S=r/100*4096+.5|0,L=257*s|0,C=t*i,A=0;A<C;A++)v=2*(y[A]-E[A]),Math.abs(v)>=L&&(l=e[w=4*A],c=e[w+1],d=e[w+2],p=257*((f=l>=c&&l>=d?l:c>=l&&c>=d?c:d)+(m=l<=c&&l<=d?l:c<=l&&c<=d?c:d))>>1,m===f?u=h=0:(h=p<=32767?4095*(f-m)/(f+m)|0:4095*(f-m)/(510-f-m)|0,u=l===f?65535*(c-d)/(6*(f-m))|0:c===f?21845+(65535*(d-l)/(6*(f-m))|0):43690+(65535*(l-c)/(6*(f-m))|0)),(p+=S*v+2048>>12)>65535?p=65535:p<0&&(p=0),0===h?l=c=d=p>>8:(g=2*p-(b=p<=32767?p*(4096+h)+2048>>12:p+((65535-p)*h+2048>>12))>>8,b>>=8,l=(_=u+21845&65535)>=43690?g:_>=32767?g+(6*(b-g)*(43690-_)+32768>>16):_>=10922?b:g+(6*(b-g)*_+32768>>16),c=(_=65535&u)>=43690?g:_>=32767?g+(6*(b-g)*(43690-_)+32768>>16):_>=10922?b:g+(6*(b-g)*_+32768>>16),d=(_=u-21845&65535)>=43690?g:_>=32767?g+(6*(b-g)*(43690-_)+32768>>16):_>=10922?b:g+(6*(b-g)*_+32768>>16)),e[w]=l,e[w+1]=c,e[w+2]=d)}},{"./hsl_l16":18,"glur/mono16":14}],21:[function(e,t,i){"use strict";t.exports=function(e,t,i,n,o,r){var a,s,l,c,d,u,h,p,m,f,g,b,_,v;0===n||o<.5||(o>2&&(o=2),u=32,h=0,b=(g=(f=(m=(p=s=4*(a=t*i))+(l=2*a))+(c=2*a))+c)+(d=4*Math.max(t,i)),_=this.__instance("unsharp_mask",s+l+2*c+d+u,{exp:Math.exp}),v=new Uint32Array(e.buffer),new Uint32Array(this.__memory.buffer).set(v),(_.exports.hsl_l16||_.exports._hsl_l16)(h,p,t,i),(_.exports.blurMono16||_.exports._blurMono16)(p,m,f,g,b,t,i,o),(_.exports.unsharp||_.exports._unsharp)(h,h,p,m,t,i,n,r),v.set(new Uint32Array(this.__memory.buffer,0,a)))}},{}],22:[function(e,t,i){"use strict";t.exports="AGFzbQEAAAABMQZgAXwBfGACfX8AYAZ/f39/f38AYAh/f39/f39/fQBgBH9/f38AYAh/f39/f39/fwACGQIDZW52A2V4cAAAA2VudgZtZW1vcnkCAAEDBgUBAgMEBQQEAXAAAAdMBRZfX2J1aWxkX2dhdXNzaWFuX2NvZWZzAAEOX19nYXVzczE2X2xpbmUAAgpibHVyTW9ubzE2AAMHaHNsX2wxNgAEB3Vuc2hhcnAABQkBAAqJEAXZAQEGfAJAIAFE24a6Q4Ia+z8gALujIgOaEAAiBCAEoCIGtjgCECABIANEAAAAAAAAAMCiEAAiBbaMOAIUIAFEAAAAAAAA8D8gBKEiAiACoiAEIAMgA6CiRAAAAAAAAPA/oCAFoaMiArY4AgAgASAEIANEAAAAAAAA8L+gIAKioiIHtjgCBCABIAQgA0QAAAAAAADwP6AgAqKiIgO2OAIIIAEgBSACoiIEtow4AgwgASACIAegIAVEAAAAAAAA8D8gBqGgIgKjtjgCGCABIAMgBKEgAqO2OAIcCwu3AwMDfwR9CHwCQCADKgIUIQkgAyoCECEKIAMqAgwhCyADKgIIIQwCQCAEQX9qIgdBAEgiCA0AIAIgAC8BALgiDSADKgIYu6IiDiAJuyIQoiAOIAq7IhGiIA0gAyoCBLsiEqIgAyoCALsiEyANoqCgoCIPtjgCACACQQRqIQIgAEECaiEAIAdFDQAgBCEGA0AgAiAOIBCiIA8iDiARoiANIBKiIBMgAC8BALgiDaKgoKAiD7Y4AgAgAkEEaiECIABBAmohACAGQX9qIgZBAUoNAAsLAkAgCA0AIAEgByAFbEEBdGogAEF+ai8BACIIuCINIAu7IhGiIA0gDLsiEqKgIA0gAyoCHLuiIg4gCrsiE6KgIA4gCbsiFKKgIg8gAkF8aioCALugqzsBACAHRQ0AIAJBeGohAiAAQXxqIQBBACAFQQF0ayEHIAEgBSAEQQF0QXxqbGohBgNAIAghAyAALwEAIQggBiANIBGiIAO4Ig0gEqKgIA8iECAToqAgDiAUoqAiDyACKgIAu6CrOwEAIAYgB2ohBiAAQX5qIQAgAkF8aiECIBAhDiAEQX9qIgRBAUoNAAsLCwvfAgIDfwZ8AkAgB0MAAAAAWw0AIARE24a6Q4Ia+z8gB0MAAAA/l7ujIgyaEAAiDSANoCIPtjgCECAEIAxEAAAAAAAAAMCiEAAiDraMOAIUIAREAAAAAAAA8D8gDaEiCyALoiANIAwgDKCiRAAAAAAAAPA/oCAOoaMiC7Y4AgAgBCANIAxEAAAAAAAA8L+gIAuioiIQtjgCBCAEIA0gDEQAAAAAAADwP6AgC6KiIgy2OAIIIAQgDiALoiINtow4AgwgBCALIBCgIA5EAAAAAAAA8D8gD6GgIgujtjgCGCAEIAwgDaEgC6O2OAIcIAYEQCAFQQF0IQogBiEJIAIhCANAIAAgCCADIAQgBSAGEAIgACAKaiEAIAhBAmohCCAJQX9qIgkNAAsLIAVFDQAgBkEBdCEIIAUhAANAIAIgASADIAQgBiAFEAIgAiAIaiECIAFBAmohASAAQX9qIgANAAsLC7wBAQV/IAMgAmwiAwRAQQAgA2shBgNAIAAoAgAiBEEIdiIHQf8BcSECAn8gBEH/AXEiAyAEQRB2IgRB/wFxIgVPBEAgAyIIIAMgAk8NARoLIAQgBCAHIAIgA0kbIAIgBUkbQf8BcQshCAJAIAMgAk0EQCADIAVNDQELIAQgByAEIAMgAk8bIAIgBUsbQf8BcSEDCyAAQQRqIQAgASADIAhqQYECbEEBdjsBACABQQJqIQEgBkEBaiIGDQALCwvTBgEKfwJAIAazQwAAgEWUQwAAyEKVu0QAAAAAAADgP6CqIQ0gBSAEbCILBEAgB0GBAmwhDgNAQQAgAi8BACADLwEAayIGQQF0IgdrIAcgBkEASBsgDk8EQCAAQQJqLQAAIQUCfyAALQAAIgYgAEEBai0AACIESSIJRQRAIAYiCCAGIAVPDQEaCyAFIAUgBCAEIAVJGyAGIARLGwshCAJ/IAYgBE0EQCAGIgogBiAFTQ0BGgsgBSAFIAQgBCAFSxsgCRsLIgogCGoiD0GBAmwiEEEBdiERQQAhDAJ/QQAiCSAIIApGDQAaIAggCmsiCUH/H2wgD0H+AyAIayAKayAQQYCABEkbbSEMIAYgCEYEQCAEIAVrQf//A2wgCUEGbG0MAQsgBSAGayAGIARrIAQgCEYiBhtB//8DbCAJQQZsbUHVqgFBqtUCIAYbagshCSARIAcgDWxBgBBqQQx1aiIGQQAgBkEAShsiBkH//wMgBkH//wNIGyEGAkACfwJAIAxB//8DcSIFBEAgBkH//wFKDQEgBUGAIGogBmxBgBBqQQx2DAILIAZBCHYiBiEFIAYhBAwCCyAFIAZB//8Dc2xBgBBqQQx2IAZqCyIFQQh2IQcgBkEBdCAFa0EIdiIGIQQCQCAJQdWqAWpB//8DcSIFQanVAksNACAFQf//AU8EQEGq1QIgBWsgByAGa2xBBmxBgIACakEQdiAGaiEEDAELIAchBCAFQanVAEsNACAFIAcgBmtsQQZsQYCAAmpBEHYgBmohBAsCfyAGIgUgCUH//wNxIghBqdUCSw0AGkGq1QIgCGsgByAGa2xBBmxBgIACakEQdiAGaiAIQf//AU8NABogByIFIAhBqdUASw0AGiAIIAcgBmtsQQZsQYCAAmpBEHYgBmoLIQUgCUGr1QJqQf//A3EiCEGp1QJLDQAgCEH//wFPBEBBqtUCIAhrIAcgBmtsQQZsQYCAAmpBEHYgBmohBgwBCyAIQanVAEsEQCAHIQYMAQsgCCAHIAZrbEEGbEGAgAJqQRB2IAZqIQYLIAEgBDoAACABQQFqIAU6AAAgAUECaiAGOgAACyADQQJqIQMgAkECaiECIABBBGohACABQQRqIQEgC0F/aiILDQALCwsL"},{}],23:[function(e,t,i){"use strict";var n;t.exports=function(){var e,t;if(void 0!==n)return n;if(n=!1,"undefined"==typeof WebAssembly)return n;try{return e=new Uint8Array([0,97,115,109,1,0,0,0,1,6,1,96,1,127,1,127,3,2,1,0,5,3,1,0,1,7,8,1,4,116,101,115,116,0,0,10,16,1,14,0,32,0,65,1,54,2,0,32,0,40,2,0,11]),t=new WebAssembly.Module(e),0!==new WebAssembly.Instance(t,{}).exports.test(4)&&(n=!0),n}catch(e){}return n}},{}],24:[function(e,t,i){"use strict";function n(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}var o=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;t.exports=function(){var e,t,i,n;try{if(!Object.assign)return!1;if((e=new String("abc"))[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(t={},i=0;i<10;i++)t["_"+String.fromCharCode(i)]=i;return"0123456789"===Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join("")&&(n={},"abcdefghijklmnopqrst".split("").forEach((function(e){n[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join(""))}catch(e){return!1}}()?Object.assign:function(e,t){var i,s,l,c,d,u=n(e);for(l=1;l<arguments.length;l++){for(c in i=Object(arguments[l]))r.call(i,c)&&(u[c]=i[c]);if(o)for(s=o(i),d=0;d<s.length;d++)a.call(i,s[d])&&(u[s[d]]=i[s[d]])}return u}},{}],25:[function(e,t,i){var n=arguments[3],o=arguments[4],r=arguments[5],a=JSON.stringify;t.exports=function(e,t){var i,s,l,c,d,u,h,p,m,f,g,b,_,v,w=Object.keys(r);for(s=0,l=w.length;s<l;s++)if(c=w[s],(d=r[c].exports)===e||d&&d.default===e){i=c;break}if(!i){for(i=Math.floor(Math.pow(16,8)*Math.random()).toString(16),u={},s=0,l=w.length;s<l;s++)u[c=w[s]]=c;o[i]=["function(require,module,exports){"+e+"(self); }",u]}return h=Math.floor(Math.pow(16,8)*Math.random()).toString(16),(p={})[i]=i,o[h]=["function(require,module,exports){var f = require("+a(i)+");(f.default ? f.default : f)(self);}",p],m={},function e(t){var i,n;for(i in m[t]=!0,o[t][1])n=o[t][1][i],m[n]||e(n)}(h),f="("+n+")({"+Object.keys(m).map((function(e){return a(e)+":["+o[e][0]+","+a(o[e][1])+"]"})).join(",")+"},{},["+a(h)+"])",g=window.URL||window.webkitURL||window.mozURL||window.msURL,b=new Blob([f],{type:"text/javascript"}),t&&t.bare?b:(_=g.createObjectURL(b),(v=new Worker(_)).objectURL=_,v)}},{}],"/":[function(e,t,i){"use strict";function n(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var i,n,o=[],r=!0,a=!1,s=void 0;try{for(i=e[Symbol.iterator]();!(r=(n=i.next()).done)&&(o.push(n.value),!t||o.length!==t);r=!0);}catch(e){a=!0,s=e}finally{try{r||null==i.return||i.return()}finally{if(a)throw s}}return o}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function o(){return{value:h(g),destroy:function(){if(this.value.terminate(),"undefined"!=typeof window){var e=window.URL||window.webkitURL||window.mozURL||window.msURL;e&&e.revokeObjectURL&&this.value.objectURL&&e.revokeObjectURL(this.value.objectURL)}}}}function r(e){if(!(this instanceof r))return new r(e);this.options=u({},s,e||{});var t="lk_".concat(this.options.concurrency);this.__limit=v[t]||f.limiter(this.options.concurrency),v[t]||(v[t]=this.__limit),this.features={js:!1,wasm:!1,cib:!1,ww:!1},this.__workersPool=null,this.__requested_features=[],this.__mathlib=null}var a,s,l,c,d,u=e("object-assign"),h=e("webworkify"),p=e("./lib/mathlib"),m=e("./lib/pool"),f=e("./lib/utils"),g=e("./lib/worker"),b=e("./lib/stepper"),_=e("./lib/tiler"),v={},w=!1;try{"undefined"!=typeof navigator&&navigator.userAgent&&(w=navigator.userAgent.indexOf("Safari")>=0)}catch(e){}a=1,"undefined"!=typeof navigator&&(a=Math.min(navigator.hardwareConcurrency||1,4)),s={tile:1024,concurrency:a,features:["js","wasm","ww"],idle:2e3},l={quality:3,alpha:!1,unsharpAmount:0,unsharpRadius:0,unsharpThreshold:0},r.prototype.init=function(){var t,i,n,r,a=this;if(this.__initPromise)return this.__initPromise;if(!1!==c&&!0!==c&&(c=!1,"undefined"!=typeof ImageData&&"undefined"!=typeof Uint8ClampedArray))try{new ImageData(new Uint8ClampedArray(400),10,10),c=!0}catch(e){}if(!1!==d&&!0!==d&&(d=!1,"undefined"!=typeof ImageBitmap&&(ImageBitmap.prototype&&ImageBitmap.prototype.close?d=!0:this.debug("ImageBitmap does not support .close(), disabled"))),(t=this.options.features.slice()).indexOf("all")>=0&&(t=["cib","wasm","js","ww"]),this.__requested_features=t,this.__mathlib=new p(t),t.indexOf("ww")>=0&&"undefined"!=typeof window&&"Worker"in window)try{e("webworkify")((function(){})).terminate(),this.features.ww=!0,i="wp_".concat(JSON.stringify(this.options)),v[i]?this.__workersPool=v[i]:(this.__workersPool=new m(o,this.options.idle),v[i]=this.__workersPool)}catch(e){}return n=this.__mathlib.init().then((function(e){u(a.features,e.features)})),r=d?f.cib_support().then((function(e){a.features.cib&&t.indexOf("cib")<0?a.debug("createImageBitmap() resize supported, but disabled by config"):t.indexOf("cib")>=0&&(a.features.cib=e)})):Promise.resolve(!1),this.__initPromise=Promise.all([n,r]).then((function(){return a})),this.__initPromise},r.prototype.resize=function(e,t,i){var o,r,a,s,h,p=this;return this.debug("Start resize..."),o=u({},l),isNaN(i)?i&&(o=u(o,i)):o=u(o,{quality:i}),o.toWidth=t.width,o.toHeight=t.height,o.width=e.naturalWidth||e.width,o.height=e.naturalHeight||e.height,0===t.width||0===t.height?Promise.reject(new Error("Invalid output size: ".concat(t.width,"x").concat(t.height))):(o.unsharpRadius>2&&(o.unsharpRadius=2),r=!1,a=null,o.cancelToken&&(a=o.cancelToken.then((function(e){throw r=!0,e}),(function(e){throw r=!0,e}))),s=3,h=Math.ceil(Math.max(s,2.5*o.unsharpRadius|0)),this.init().then((function(){var i,s,l,m;return r?a:p.features.cib?(i=t.getContext("2d",{alpha:Boolean(o.alpha)}),p.debug("Resize via createImageBitmap()"),createImageBitmap(e,{resizeWidth:o.toWidth,resizeHeight:o.toHeight,resizeQuality:f.cib_quality_name(o.quality)}).then((function(e){var n,s,l;return r?a:o.unsharpAmount?(p.debug("Unsharp result"),(n=document.createElement("canvas")).width=o.toWidth,n.height=o.toHeight,(s=n.getContext("2d",{alpha:Boolean(o.alpha)})).drawImage(e,0,0),e.close(),l=s.getImageData(0,0,o.toWidth,o.toHeight),p.__mathlib.unsharp_mask(l.data,o.toWidth,o.toHeight,o.unsharpAmount,o.unsharpRadius,o.unsharpThreshold),i.putImageData(l,0,0),l=s=n=i=null,p.debug("Finished!"),t):(i.drawImage(e,0,0),e.close(),i=null,p.debug("Finished!"),t)}))):(s={},l=function(e){return Promise.resolve().then((function(){return p.features.ww?new Promise((function(t,i){var n=p.__workersPool.acquire();a&&a.catch((function(e){return i(e)})),n.value.onmessage=function(e){n.release(),e.data.err?i(e.data.err):t(e.data.result)},n.value.postMessage({opts:e,features:p.__requested_features,preload:{wasm_nodule:p.__mathlib.__}},[e.src.buffer])})):p.__mathlib.resizeAndUnsharp(e,s)}))},m=function(e,t,i){var n,o,s,u=function(t){return p.__limit((function(){var d,u,h,m;return r?a:(f.isCanvas(e)?(p.debug("Get tile pixel data"),d=n.getImageData(t.x,t.y,t.width,t.height)):(p.debug("Draw tile imageBitmap/image to temporary canvas"),(u=document.createElement("canvas")).width=t.width,u.height=t.height,(h=u.getContext("2d",{alpha:Boolean(i.alpha)})).globalCompositeOperation="copy",h.drawImage(o||e,t.x,t.y,t.width,t.height,0,0,t.width,t.height),p.debug("Get tile pixel data"),d=h.getImageData(0,0,t.width,t.height),h=u=null),m={src:d.data,width:t.width,height:t.height,toWidth:t.toWidth,toHeight:t.toHeight,scaleX:t.scaleX,scaleY:t.scaleY,offsetX:t.offsetX,offsetY:t.offsetY,quality:i.quality,alpha:i.alpha,unsharpAmount:i.unsharpAmount,unsharpRadius:i.unsharpRadius,unsharpThreshold:i.unsharpThreshold},p.debug("Invoke resize math"),Promise.resolve().then((function(){return l(m)})).then((function(e){var i,n;if(r)return a;if(d=null,p.debug("Convert raw rgba tile result to ImageData"),c)i=new ImageData(new Uint8ClampedArray(e),t.toWidth,t.toHeight);else if((i=s.createImageData(t.toWidth,t.toHeight)).data.set)i.data.set(e);else for(n=i.data.length-1;n>=0;n--)i.data[n]=e[n];return p.debug("Draw tile"),w?s.putImageData(i,t.toX,t.toY,t.toInnerX-t.toX,t.toInnerY-t.toY,t.toInnerWidth+1e-5,t.toInnerHeight+1e-5):s.putImageData(i,t.toX,t.toY,t.toInnerX-t.toX,t.toInnerY-t.toY,t.toInnerWidth,t.toInnerHeight),null})))}))};return Promise.resolve().then((function(){if(s=t.getContext("2d",{alpha:Boolean(i.alpha)}),f.isCanvas(e))return n=e.getContext("2d",{alpha:Boolean(i.alpha)}),null;if(f.isImage(e))return d?(p.debug("Decode image via createImageBitmap"),createImageBitmap(e).then((function(e){o=e}))):null;throw new Error('".from" should be image or canvas')})).then((function(){function e(){o&&(o.close(),o=null)}var n;return r?a:(p.debug("Calculate tiles"),n=_({width:i.width,height:i.height,srcTileSize:p.options.tile,toWidth:i.toWidth,toHeight:i.toHeight,destTileBorder:h}).map((function(e){return u(e)})),p.debug("Process tiles"),Promise.all(n).then((function(){return p.debug("Finished!"),e(),t}),(function(t){throw e(),t})))}))},function e(t,i,o,s){var l,c,d,h,p;return r?a:(l=n(t.shift(),2),c=l[0],d=l[1],h=0===t.length,s=u({},s,{toWidth:c,toHeight:d,quality:h?s.quality:Math.min(1,s.quality)}),h||((p=document.createElement("canvas")).width=c,p.height=d),m(i,h?o:p,s).then((function(){return h?o:(s.width=c,s.height=d,e(t,p,o,s))})))}(b(o.width,o.height,o.toWidth,o.toHeight,p.options.tile,h),e,t,o))})))},r.prototype.resizeBuffer=function(e){var t=this,i=u({},l,e);return this.init().then((function(){return t.__mathlib.resizeAndUnsharp(i)}))},r.prototype.toBlob=function(e,t,i){return t=t||"image/png",new Promise((function(n){var o,r,a,s;if(e.toBlob)e.toBlob((function(e){return n(e)}),t,i);else{for(r=(o=atob(e.toDataURL(t,i).split(",")[1])).length,a=new Uint8Array(r),s=0;s<r;s++)a[s]=o.charCodeAt(s);n(new Blob([a],{type:t}))}}))},r.prototype.debug=function(){},t.exports=r},{"./lib/mathlib":1,"./lib/pool":9,"./lib/stepper":10,"./lib/tiler":11,"./lib/utils":12,"./lib/worker":13,"object-assign":24,webworkify:25}]},{},[])("/")})),define("WoltLabSuite/Core/Image/Resizer",["require","exports","tslib","../Core","../FileUtil","./ExifUtil","pica"],(function(e,t,i,n,o,r,a){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r);const s=new((a=i.__importDefault(a)).default)({features:["js","wasm","ww"]}),l="image/jpeg";class c{constructor(){this.maxWidth=800,this.maxHeight=600,this.quality=.8,this.fileType=l}setMaxWidth(e){return null==e&&(e=800),this.maxWidth=e,this}setMaxHeight(e){return null==e&&(e=600),this.maxHeight=e,this}setQuality(e){return null==e&&(e=.8),this.quality=e,this}setFileType(e){return null==e&&(e=l),this.fileType=e,this}async saveFile(e,t,i=this.fileType,n=this.quality){const a=/(.+)(\..+?)$/.exec(t);let l=await s.toBlob(e.image,i,n);return"image/jpeg"===i&&void 0!==e.exif&&(l=await r.setExifData(l,e.exif)),o.blobToFile(l,a[1])}async loadFile(e){let t=Promise.resolve(void 0),i=e;"image/jpeg"===e.type&&(t=r.getExifBytesFromJpeg(e),i=await r.removeExifData(i));const n=new Promise(((e,t)=>{const n=new FileReader,o=new Image;n.addEventListener("load",(()=>{o.src=n.result})),n.addEventListener("error",(()=>{n.abort(),t(n.error)})),o.addEventListener("error",t),o.addEventListener("load",(()=>{e(o)})),n.readAsDataURL(i)})),[o,a]=await Promise.all([t,n]);return{exif:o,image:a}}async resize(e,t=this.maxWidth,i=this.maxHeight,n=this.quality,o=!1,r){const a=document.createElement("canvas");if(window.createImageBitmap){if((await createImageBitmap(e)).height!=e.height)throw new Error("Chrome Bug #1069965")}const l=Math.min(t,e.width),c=Math.min(i,e.height);if(e.width<=l&&e.height<=c&&!o)return;const d=Math.min(l/e.width,c/e.height);a.width=Math.floor(e.width*d),a.height=Math.floor(e.height*d);let u=1;n>=.8?u=3:n>=.4&&(u=2);const h={quality:u,cancelToken:r,alpha:!0};return s.resize(e,a,h)}}return n.enableLegacyInheritance(c),c})),define("WoltLabSuite/Core/Language/Chooser",["require","exports","tslib","../Core","../Language","../Dom/Util","../Ui/Dropdown/Simple"],(function(e,t,i,n,o,r,a){"use strict";function s(e,t,i){const o=u.get(e);if(void 0===i&&void 0===(i=Array.from(o.dropdownMenu.children).find((e=>~~e.dataset.languageId===t))))throw new Error(`The language id '${t}' is unknown`);o.element.value=t.toString(),n.triggerEvent(o.element,"change"),o.dropdownToggle.innerHTML=i.children[0].innerHTML,u.set(e,o),"function"==typeof o.callback&&o.callback(i)}function l(e){const t=e.currentTarget;h.get(t).forEach((e=>{const i=document.createElement("input");i.type="hidden",i.name=e,i.value=d(e).toString(),t.appendChild(i)}))}function c(e){const t=u.get(e);if(void 0===t)throw new Error(`Expected a valid language chooser input element, '${e}' is not i18n input field.`);return t}function d(e){return~~c(e).element.value}Object.defineProperty(t,"__esModule",{value:!0}),t.setLanguageId=t.removeChooser=t.getLanguageId=t.getChooser=t.init=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importDefault(a);const u=new Map,h=new WeakMap;t.init=function(e,t,i,n,c,d){if(u.has(t))return;const p=document.getElementById(e);if(null===p)throw new Error(`Expected a valid container id, cannot find '${t}'.`);let m=document.getElementById(t);null===m&&(m=document.createElement("input"),m.type="hidden",m.id=t,m.name=t,m.value=i.toString(),p.appendChild(m)),function(e,t,i,n,c,d){function p(t){const i=t.currentTarget,n=~~i.dataset.languageId,o=b.querySelector(".active");null!==o&&o.classList.remove("active"),n&&i.classList.add("active"),s(e,n,i)}let m;const f=t.parentElement;"DD"===f.nodeName?(m=document.createElement("div"),m.className="dropdown",f.insertAdjacentElement("afterbegin",m)):(m=f,m.classList.add("dropdown")),r.default.hide(t);const g=document.createElement("a");g.className="dropdownToggle dropdownIndicator boxFlag box24 inputPrefix","DD"===f.nodeName&&g.classList.add("button"),m.appendChild(g);const b=document.createElement("ul");if(b.className="dropdownMenu",m.appendChild(b),Object.entries(n).forEach((([e,t])=>{const n=document.createElement("li");n.className="boxFlag",n.addEventListener("click",p),n.dataset.languageId=e,void 0!==t.languageCode&&(n.dataset.languageCode=t.languageCode),b.appendChild(n);const o=document.createElement("a");o.className="box24",n.appendChild(o);const r=document.createElement("img");r.src=t.iconPath,r.alt="",r.className="iconFlag",o.appendChild(r);const a=document.createElement("span");a.textContent=t.languageName,o.appendChild(a),+e===i&&(g.innerHTML=o.innerHTML)})),d){const e=document.createElement("li");e.className="dropdownDivider",b.appendChild(e);const t=document.createElement("li");t.dataset.languageId="0",t.addEventListener("click",p),b.appendChild(t);const n=document.createElement("a");n.textContent=o.get("wcf.global.language.noSelection"),t.appendChild(n),0===i&&(g.innerHTML=n.innerHTML),t.addEventListener("click",p)}else if(0===i){g.innerHTML="";const e=document.createElement("div");g.appendChild(e);const t=document.createElement("span");t.className="icon icon24 fa-question pointer",e.appendChild(t);const i=document.createElement("span");i.textContent=o.get("wcf.global.language.noSelection"),e.appendChild(i)}a.default.init(g),u.set(e,{callback:c,dropdownMenu:b,dropdownToggle:g,element:t});const _=t.closest("form");if(null!==_){_.addEventListener("submit",l);let t=h.get(_);void 0===t&&(t=[],h.set(_,t)),t.push(e)}}(t,m,i,n,c,d)},t.getChooser=c,t.getLanguageId=d,t.removeChooser=function(e){u.delete(e)},t.setLanguageId=function(e,t){if(void 0===u.get(e))throw new Error(`Expected a valid input element, '${e}' is not i18n input field.`);s(e,t)}})),define("WoltLabSuite/Core/Language/Input",["require","exports","tslib","../Dom/Util","../Language","../Ui/Dropdown/Simple","../StringUtil"],(function(e,t,i,n,o,r,a){"use strict";function s(e,t,i){const n=d.get(e),o=r.default.getDropdownMenu(n.element.closest(".inputAddon").id).querySelector(`[data-language-id="${t}"]`),a=o?o.textContent:"";if(n.languageId!==t){const o=h.get(e);n.languageId&&o.set(n.languageId,n.element.value),0===t?h.set(e,new Map):(n.buttonLabel.classList.contains("active")||i)&&(n.element.value=o.get(t)||""),n.buttonLabel.textContent=a,n.buttonLabel.classList[t?"add":"remove"]("active"),n.languageId=t}i||(n.element.blur(),n.element.focus()),n.callbacks.has("select")&&n.callbacks.get("select")(n.element)}function l(e,t){if("open"!==t)return;const i=r.default.getDropdownMenu(e),n=document.getElementById(e).dataset.inputId,o=d.get(n),a=h.get(n);Array.from(i.children).forEach((e=>{const t=~~(e.dataset.languageId||"");if(t){let i=!1;o.languageId&&(i=t===o.languageId?""===o.element.value.trim():!a.get(t)),i?e.classList.add("missingValue"):e.classList.remove("missingValue")}}))}function c(e){const t=e.currentTarget;u.get(t).forEach((e=>{const i=d.get(e);if(!i.isEnabled)return;const n=h.get(e);i.callbacks.has("submit")&&i.callbacks.get("submit")(i.element),i.languageId&&n.set(i.languageId,i.element.value),n.size&&(n.forEach((function(i,n){const o=document.createElement("input");o.type="hidden",o.name=`${e}_i18n[${n}]`,o.value=i,t.appendChild(o)})),i.element.removeAttribute("name"))}))}Object.defineProperty(t,"__esModule",{value:!0}),t.validate=t.isEnabled=t.enable=t.disable=t.setValues=t.getValues=t.unregister=t.registerCallback=t.init=void 0,n=i.__importDefault(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importStar(a);const d=new Map,u=new WeakMap,h=new Map;t.init=function(e,t,i,n){if(h.has(e))return;const p=document.getElementById(e);if(null===p)throw new Error(`Expected a valid element id, cannot find '${e}'.`);const m=new Map;Object.entries(t).forEach((([e,t])=>{m.set(+e,a.unescapeHTML(t))})),h.set(e,m),function(e,t,i,n,a){let h=t.parentElement;if(!h.classList.contains("inputAddon")){h=document.createElement("div"),h.className="inputAddon","TEXTAREA"===t.nodeName&&h.classList.add("inputAddonTextarea"),h.dataset.inputId=e;const i=document.activeElement===t;t.insertAdjacentElement("beforebegin",h),h.appendChild(t),i&&t.focus()}h.classList.add("dropdown");const p=document.createElement("span");p.className="button dropdownToggle inputPrefix";const m=document.createElement("span");m.textContent=o.get("wcf.global.button.disabledI18n"),p.appendChild(m),h.insertBefore(p,t);const f=document.createElement("ul");f.className="dropdownMenu",p.insertAdjacentElement("afterend",f);const g=t=>{let i;i=t instanceof HTMLElement?t:t.currentTarget;const n=~~i.dataset.languageId,o=f.querySelector(".active");null!==o&&o.classList.remove("active"),n&&i.classList.add("active");const r=t instanceof HTMLElement;s(e,n,r)};if(Object.entries(n).forEach((([e,t])=>{const i=document.createElement("li");i.dataset.languageId=e;const n=document.createElement("span");n.textContent=t,i.appendChild(n),i.addEventListener("click",g),f.appendChild(i)})),!a){const e=document.createElement("li");e.className="dropdownDivider",f.appendChild(e);const t=document.createElement("li");t.dataset.languageId="0",t.addEventListener("click",g);const i=document.createElement("span");i.textContent=o.get("wcf.global.button.disabledI18n"),t.appendChild(i),f.appendChild(t)}let b;(a||i.size)&&(b=Array.from(f.children).find((e=>+e.dataset.languageId===window.LANGUAGE_ID))),r.default.init(p),r.default.registerCallback(h.id,l),d.set(e,{buttonLabel:m,callbacks:new Map,element:t,languageId:0,isEnabled:!0,forceSelection:a});const _=t.closest("form");if(null!==_){_.addEventListener("submit",c);let t=u.get(_);void 0===t&&(t=[],u.set(_,t)),t.push(e)}b&&g(b)}(e,p,m,i,n)},t.registerCallback=function(e,t,i){if(!h.has(e))throw new Error(`Unknown element id '${e}'.`);d.get(e).callbacks.set(t,i)},t.unregister=function(e){if(!h.has(e))throw new Error(`Unknown element id '${e}'.`);h.delete(e),d.delete(e)},t.getValues=function(e){const t=d.get(e);if(void 0===t)throw new Error(`Expected a valid i18n input element, '${e}' is not i18n input field.`);const i=h.get(e);return i.set(t.languageId,t.element.value),i},t.setValues=function(e,t){const i=d.get(e);if(void 0===i)throw new Error(`Expected a valid i18n input element, '${e}' is not i18n input field.`);i.element.value="";const n=new Map(Object.entries(t).map((([e,t])=>[+e,t])));if(n.has(0))return i.element.value=n.get(0),n.delete(0),h.set(e,n),void s(e,0,!0);h.set(e,n),i.languageId=0,s(e,window.LANGUAGE_ID,!0)},t.disable=function(e){const t=d.get(e);if(void 0===t)throw new Error(`Expected a valid element, '${e}' is not an i18n input field.`);if(!t.isEnabled)return;t.isEnabled=!1;const i=t.buttonLabel.parentElement;n.default.hide(i),i.parentElement.classList.remove("inputAddon","dropdown")},t.enable=function(e){const t=d.get(e);if(void 0===t)throw new Error(`Expected a valid i18n input element, '${e}' is not i18n input field.`);if(t.isEnabled)return;t.isEnabled=!0;const i=t.buttonLabel.parentElement;n.default.show(i),i.parentElement.classList.add("inputAddon","dropdown")},t.isEnabled=function(e){const t=d.get(e);if(void 0===t)throw new Error(`Expected a valid i18n input element, '${e}' is not i18n input field.`);return t.isEnabled},t.validate=function(e,t){const i=d.get(e);if(void 0===i)throw new Error(`Expected a valid i18n input element, '${e}' is not i18n input field.`);if(!i.isEnabled)return!0;const n=h.get(e),o=r.default.getDropdownMenu(i.element.parentElement.id);i.languageId&&n.set(i.languageId,i.element.value);let a=!1,s=!1;return Array.from(o.children).forEach((e=>{const t=~~e.dataset.languageId;if(t)if(n.has(t)&&0!==n.get(t).length){if(a)return!1;s=!0}else{if(s)return!1;a=!0}})),!a||t}})),define("WoltLabSuite/Core/Language/Text",["require","exports","tslib","./Input"],(function(e,t,i,n){"use strict";function o(e){void 0!==window.jQuery&&window.jQuery(e).redactor("code.set",e.value)}function r(e){void 0!==window.jQuery&&(e.value=window.jQuery(e).redactor("code.get"))}Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,n=i.__importStar(n),t.init=function(e,t,i,a){const s=document.getElementById(e);if(!s||"TEXTAREA"!==s.nodeName||!s.classList.contains("wysiwygTextarea"))throw new Error(`Expected <textarea class="wysiwygTextarea" /> for id '${e}'.`);n.init(e,t,i,a),n.registerCallback(e,"select",o),n.registerCallback(e,"submit",r)}})),define("WoltLabSuite/Core/Media/Clipboard",["require","exports","tslib","../Controller/Clipboard","../Ui/Notification","../Ui/Dialog","../Event/Handler","../Language","../Ajax"],(function(e,t,i,n,o,r,a,s,l){"use strict";let c;Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importStar(l);const d=new class{_ajaxSetup(){return{data:{className:"wcf\\data\\media\\MediaAction"}}}_ajaxSuccess(e){switch(e.actionName){case"getSetCategoryDialog":r.open(this,e.returnValues.template);break;case"setCategory":r.close(this),o.show(),n.reload()}}_dialogSetup(){return{id:"mediaSetCategoryDialog",options:{onSetup:e=>{e.querySelector("button").addEventListener("click",(t=>{t.preventDefault();const i=e.querySelector('select[name="categoryID"]');var n;n=~~i.value,l.api(d,{actionName:"setCategory",objectIDs:u,parameters:{categoryID:n}});t.currentTarget.disabled=!0}))},title:s.get("wcf.media.setCategory")},source:null}}};let u=[];t.init=function(e,t,i){n.setup({hasMarkedItems:t,pageClassName:e}),c=i,a.add("com.woltlab.wcf.clipboard","com.woltlab.wcf.media",(e=>function(e){const t=e.data.parameters.objectIDs;switch(e.data.actionName){case"com.woltlab.wcf.media.delete":null!==e.responseData&&c.clipboardDeleteMedia(t);break;case"com.woltlab.wcf.media.insert":c.clipboardInsertMedia(t);break;case"com.woltlab.wcf.media.setCategory":u=t,l.api(d,{actionName:"getSetCategoryDialog"})}}(e)))}})),define("WoltLabSuite/Core/Media/Data",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})})),define("WoltLabSuite/Core/Media/Upload",["require","exports","tslib","../Upload","../Core","../Dom/Util","../Dom/Traverse","../Language","../User","../Date/Util","../FileUtil","../Dom/Change/Listener","../Event/Handler"],(function(e,t,i,n,o,r,a,s,l,c,d,u,h){"use strict";n=i.__importDefault(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importDefault(l),c=i.__importStar(c),d=i.__importStar(d),u=i.__importStar(u),h=i.__importStar(h);class p extends n.default{constructor(e,t,i){super(e,t,o.extend({className:"wcf\\data\\media\\MediaAction",multiple:!!i.mediaManager,singleFileRequests:!0},i||{})),this._categoryId=null,i=i||{},this._elementTagSize=144,this._options.elementTagSize&&(this._elementTagSize=this._options.elementTagSize),this._mediaManager=null,this._options.mediaManager&&(this._mediaManager=this._options.mediaManager,delete this._options.mediaManager)}_createFileElement(e){let t;if("OL"===this._target.nodeName||"UL"===this._target.nodeName)t=document.createElement("li");else{if("TBODY"===this._target.nodeName){const i=this._target.getElementsByTagName("TR")[0],n=this._target.parentNode.parentNode;return"none"===n.style.getPropertyValue("display")?(t=i,n.style.removeProperty("display"),document.getElementById(this._target.dataset.noItemsInfo).remove()):(t=i.cloneNode(!0),t.removeAttribute("id"),r.identify(t)),Array.from(t.getElementsByTagName("TD")).forEach((t=>{if(t.classList.contains("columnMark"))t.querySelectorAll("[data-object-id]").forEach((e=>r.hide(e)));else if(t.classList.contains("columnIcon"))t.querySelectorAll("[data-object-id]").forEach((e=>r.hide(e))),t.querySelector(".mediaEditButton").classList.add("jsMediaEditButton"),t.querySelector(".jsObjectAction[data-object-action='delete']").dataset.confirmMessage=s.get("wcf.media.delete.confirmMessage",{title:e.name});else if(t.classList.contains("columnFilename")){let i=t.querySelector("img");i||(i=t.querySelector(".icon48"));const n=document.createElement("span");n.className="icon icon48 fa-spinner mediaThumbnail",r.replaceElement(i,n);const o=t.querySelectorAll(".box48 > div > p");o[0].textContent=e.name;let a=o[1].getElementsByTagName("A")[0];a||(a=document.createElement("a"),o[1].getElementsByTagName("SMALL")[0].appendChild(a)),a.setAttribute("href",l.default.getLink()),a.textContent=l.default.username}else t.classList.contains("columnUploadTime")?(t.innerHTML="",t.appendChild(c.getTimeElement(new Date))):t.classList.contains("columnDigits")?t.textContent=d.formatFilesize(e.size):t.innerHTML=""})),r.prepend(t,this._target),t}t=document.createElement("p")}const i=document.createElement("div");i.className="mediaThumbnail",t.appendChild(i);const n=document.createElement("span");n.className="icon icon144 fa-spinner",i.appendChild(n);const o=document.createElement("div");o.className="mediaInformation",t.appendChild(o);const a=document.createElement("p");a.className="mediaTitle",a.textContent=e.name,o.appendChild(a);const h=document.createElement("progress");return h.max=100,o.appendChild(h),r.prepend(t,this._target),u.trigger(),t}_getParameters(){const e={elementTagSize:this._elementTagSize};if(this._mediaManager){e.imagesOnly=this._mediaManager.getOption("imagesOnly");const t=this._mediaManager.getCategoryId();t&&(e.categoryID=t)}return o.extend(super._getParameters(),e)}_replaceFileIcon(e,t,i){if(t.elementTag)e.outerHTML=t.elementTag;else if(t.tinyThumbnailType){const n=document.createElement("img");n.src=t.tinyThumbnailLink,n.alt="",n.style.setProperty("width",`${i}px`),n.style.setProperty("height",`${i}px`),r.replaceElement(e,n)}else{e.classList.remove("fa-spinner");let i=d.getIconNameByFilename(t.filename);i&&(i="-"+i),e.classList.add(`fa-file${i}-o`)}}_success(e,t){const i=this._fileElements[e];i.forEach((e=>{const i=e.dataset.internalFileId,n=t.returnValues.media[i];if("TR"===e.tagName)if(n)e.dataset.objectId=n.mediaID.toString(),e.querySelectorAll("[data-object-id]").forEach((e=>{e.dataset.objectId=n.mediaID.toString(),e.style.removeProperty("display")})),e.querySelector(".columnMediaID").textContent=n.mediaID.toString(),this._replaceFileIcon(e.querySelector(".fa-spinner"),n,48);else{let n=t.returnValues.errors[i];n||(n={errorType:"uploadFailed",filename:e.dataset.filename});const o=e.querySelector(".fa-spinner");o.classList.remove("fa-spinner"),o.classList.add("fa-remove","pointer","jsTooltip"),o.title=s.get("wcf.global.button.delete"),o.addEventListener("click",(e=>{e.currentTarget.closest(".mediaFile").remove(),h.fire("com.woltlab.wcf.media.upload","removedErroneousUploadRow")})),e.classList.add("uploadFailed");const a=e.querySelectorAll(".columnFilename .box48 > div > p")[1];r.innerError(a,s.get(`wcf.media.upload.error.${n.errorType}`,{filename:n.filename})),a.remove()}else if(a.childByTag(a.childByClass(e,"mediaInformation"),"PROGRESS").remove(),n){const t=a.childByTag(a.childByClass(e,"mediaThumbnail"),"SPAN");this._replaceFileIcon(t,n,144),e.classList.add("jsClipboardObject","mediaFile","jsObjectActionObject"),e.dataset.objectId=n.mediaID.toString(),this._mediaManager&&(this._mediaManager.setupMediaElement(n,e),this._mediaManager.addMedia(n,e))}else{let n=t.returnValues.errors[i];n||(n={errorType:"uploadFailed",filename:e.dataset.filename});const o=a.childByTag(a.childByClass(e,"mediaThumbnail"),"SPAN");o.classList.remove("fa-spinner"),o.classList.add("fa-remove","pointer"),e.classList.add("uploadFailed","jsTooltip"),e.title=s.get("wcf.global.button.delete"),e.addEventListener("click",(()=>e.remove()));a.childByClass(a.childByClass(e,"mediaInformation"),"mediaTitle").innerText=s.get(`wcf.media.upload.error.${n.errorType}`,{filename:n.filename})}u.trigger()})),h.fire("com.woltlab.wcf.media.upload","success",{files:i,isMultiFileUpload:-1!==this._multiFileUploadIds.indexOf(e),media:t.returnValues.media,upload:this,uploadId:e})}}return o.enableLegacyInheritance(p),p})),define("WoltLabSuite/Core/Media/Replace",["require","exports","tslib","../Core","./Upload","../Language","../Dom/Util","../Ui/Notification","../Dom/Change/Listener"],(function(e,t,i,n,o,r,a,s,l){"use strict";n=i.__importStar(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importDefault(a),s=i.__importStar(s),l=i.__importStar(l);class c extends o.default{constructor(e,t,i,o){super(t,i,n.extend(o,{action:"replaceFile"})),this._mediaID=e}_createButton(){super._createButton(),this._button.classList.add("small"),this._button.querySelector("span").textContent=r.get("wcf.media.button.replaceFile")}_createFileElement(){return this._target}_getFormData(){return{objectIDs:[this._mediaID]}}_success(e,t){this._fileElements[e].forEach((e=>{const i=e.dataset.internalFileId,n=t.returnValues.media[i];if(n)n.isImage&&(this._target.innerHTML=n.smallThumbnailTag),document.getElementById("mediaFilename").textContent=n.filename,document.getElementById("mediaFilesize").textContent=n.formattedFilesize,n.isImage&&(document.getElementById("mediaImageDimensions").textContent=n.imageDimensions),document.getElementById("mediaUploader").innerHTML=n.userLinkElement,this._options.mediaEditor.updateData(n),a.default.innerError(this._buttonContainer,""),s.show();else{let n=t.returnValues.errors[i];n||(n={errorType:"uploadFailed",filename:e.dataset.filename}),a.default.innerError(this._buttonContainer,r.get("wcf.media.upload.error."+n.errorType,{filename:n.filename}))}l.trigger()}))}}return n.enableLegacyInheritance(c),c})),define("WoltLabSuite/Core/Media/Editor",["require","exports","tslib","../Core","../Ui/Notification","../Ui/Dialog","../Language/Chooser","../Language/Input","../Dom/Util","../Dom/Traverse","../Dom/Change/Listener","../Language","../Ajax","./Replace"],(function(e,t,i,n,o,r,a,s,l,c,d,u,h,p){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importStar(l),c=i.__importStar(c),d=i.__importDefault(d),u=i.__importStar(u),h=i.__importStar(h),p=i.__importDefault(p);class m{constructor(e){if(this._availableLanguageCount=1,this._categoryIds=[],this._dialogs=new Map,this._media=null,this._oldCategoryId=0,this._callbackObject=e||{},this._callbackObject._editorClose&&"function"!=typeof this._callbackObject._editorClose)throw new TypeError("Callback object has no function '_editorClose'.");if(this._callbackObject._editorSuccess&&"function"!=typeof this._callbackObject._editorSuccess)throw new TypeError("Callback object has no function '_editorSuccess'.")}_ajaxSetup(){return{data:{actionName:"update",className:"wcf\\data\\media\\MediaAction"}}}_ajaxSuccess(){o.show(),this._callbackObject._editorSuccess&&(this._callbackObject._editorSuccess(this._media,this._oldCategoryId),this._oldCategoryId=0),r.close(`mediaEditor_${this._media.mediaID}`),this._media=null}_close(){this._media=null,this._callbackObject._editorClose&&this._callbackObject._editorClose()}_initEditor(e,t){this._availableLanguageCount=~~t.returnValues.availableLanguageCount,this._categoryIds=t.returnValues.categoryIDs.map((e=>~~e)),t.returnValues.mediaData&&(this._media=t.returnValues.mediaData);const i=this._media,n=i.mediaID;setTimeout((()=>{if(this._availableLanguageCount>1&&a.setLanguageId(`mediaEditor_${n}_languageID`,i.languageID||window.LANGUAGE_ID),this._categoryIds.length){const t=e.querySelector("select[name=categoryID]");i.categoryID?t.value=i.categoryID.toString():t.value="0"}const t=e.querySelector("input[name=title]"),o=e.querySelector("input[name=altText]"),r=e.querySelector("textarea[name=caption]");if(this._availableLanguageCount>1&&i.isMultilingual?(document.getElementById(`altText_${n}`)&&s.setValues(`altText_${n}`,i.altText||{}),document.getElementById(`caption_${n}`)&&s.setValues(`caption_${n}`,i.caption||{}),s.setValues(`title_${n}`,i.title||{})):(t.value=i.title?i.title[i.languageID||window.LANGUAGE_ID]:"",o&&(o.value=i.altText?i.altText[i.languageID||window.LANGUAGE_ID]:""),r&&(r.value=i.caption?i.caption[i.languageID||window.LANGUAGE_ID]:"")),this._availableLanguageCount>1){const t=e.querySelector("input[name=isMultilingual]");t.addEventListener("change",(e=>this._updateLanguageFields(e))),this._updateLanguageFields(null,t)}o&&o.addEventListener("keypress",(e=>this._keyPress(e))),t.addEventListener("keypress",(e=>this._keyPress(e))),e.querySelector("button[data-type=submit]").addEventListener("click",(()=>this._saveData())),document.activeElement.blur(),document.getElementById(`mediaEditor_${n}`).parentNode.scrollTop=0;const c=e.querySelector(".mediaManagerMediaReplaceButton");let u=e.querySelector(".mediaThumbnail");u||(u=document.createElement("div"),e.appendChild(u)),new p.default(n,l.identify(c),l.identify(u),{mediaEditor:this}),d.default.trigger()}),200)}_keyPress(e){"Enter"===e.key&&(e.preventDefault(),this._saveData())}_saveData(){const e=r.getDialog(`mediaEditor_${this._media.mediaID}`).content,t=e.querySelector("select[name=categoryID]"),i=e.querySelector("input[name=altText]"),n=e.querySelector("textarea[name=caption]"),o=e.querySelector("input[name=captionEnableHtml]"),d=e.querySelector("input[name=title]");let p=!1;const m=!!i&&c.childByClass(i.parentNode,"innerError"),f=!!n&&c.childByClass(n.parentNode,"innerError"),g=c.childByClass(d.parentNode,"innerError");if(this._oldCategoryId=this._media.categoryID,this._categoryIds.length&&(this._media.categoryID=~~t.value,-1===this._categoryIds.indexOf(this._media.categoryID)&&(this._media.categoryID=0)),this._availableLanguageCount>1){const t=e.querySelector("input[name=isMultilingual]");this._media.isMultilingual=~~t.checked,this._media.languageID=this._media.isMultilingual?null:a.getLanguageId(`mediaEditor_${this._media.mediaID}_languageID`)}else this._media.languageID=window.LANGUAGE_ID;this._media.altText={},this._media.caption={},this._media.title={},this._availableLanguageCount>1&&this._media.isMultilingual?(i&&!s.validate(i.id,!0)&&(p=!0,m||l.innerError(i,u.get("wcf.global.form.error.multilingual"))),n&&!s.validate(n.id,!0)&&(p=!0,f||l.innerError(n,u.get("wcf.global.form.error.multilingual"))),s.validate(d.id,!0)||(p=!0,g||l.innerError(d,u.get("wcf.global.form.error.multilingual"))),this._media.altText=i?this.mapToI18nValues(s.getValues(i.id)):"",this._media.caption=n?this.mapToI18nValues(s.getValues(n.id)):"",this._media.title=this.mapToI18nValues(s.getValues(d.id))):(this._media.altText[this._media.languageID]=i?i.value:"",this._media.caption[this._media.languageID]=n?n.value:"",this._media.title[this._media.languageID]=d.value),this._media.captionEnableHtml=o?~~o.checked:0;const b={allowAll:~~document.getElementById(`mediaEditor_${this._media.mediaID}_aclAllowAll`).checked,group:Array.from(e.querySelectorAll(`input[name="mediaEditor_${this._media.mediaID}_aclValues[group][]"]`)).map((e=>~~e.value)),user:Array.from(e.querySelectorAll(`input[name="mediaEditor_${this._media.mediaID}_aclValues[user][]"]`)).map((e=>~~e.value))};p||(m&&m.remove(),f&&f.remove(),g&&g.remove(),h.api(this,{actionName:"update",objectIDs:[this._media.mediaID],parameters:{aclValues:b,altText:this._media.altText,caption:this._media.caption,data:{captionEnableHtml:this._media.captionEnableHtml,categoryID:this._media.categoryID,isMultilingual:this._media.isMultilingual,languageID:this._media.languageID},title:this._media.title}}))}mapToI18nValues(e){const t={};return e.forEach(((e,i)=>t[i]=e)),t}_updateLanguageFields(e,t){e&&(t=e.currentTarget);const i=this._media.mediaID,n=document.getElementById(`mediaEditor_${i}_languageIDContainer`).parentNode;t.checked?(s.enable(`title_${i}`),document.getElementById(`caption_${i}`)&&s.enable(`caption_${i}`),document.getElementById(`altText_${i}`)&&s.enable(`altText_${i}`),l.hide(n)):(s.disable(`title_${i}`),document.getElementById(`caption_${i}`)&&s.disable(`caption_${i}`),document.getElementById(`altText_${i}`)&&s.disable(`altText_${i}`),l.show(n))}edit(e){let t,i=0;if("object"==typeof e?(t=e,i=t.mediaID):(t={mediaID:e},i=e),null!==this._media)throw new Error(`Cannot edit media with id ${i} while editing media with id '${this._media.mediaID}'.`);this._media=t,this._dialogs.has(`mediaEditor_${i}`)||this._dialogs.set(`mediaEditor_${i}`,{_dialogSetup:()=>({id:`mediaEditor_${i}`,options:{backdropCloseOnClick:!1,onClose:()=>this._close(),title:u.get("wcf.media.edit")},source:{after:(e,t)=>this._initEditor(e,t),data:{actionName:"getEditorDialog",className:"wcf\\data\\media\\MediaAction",objectIDs:[i]}}})}),r.open(this._dialogs.get(`mediaEditor_${i}`))}updateData(e){this._callbackObject._editorSuccess&&this._callbackObject._editorSuccess(e,void 0,!1)}}return n.enableLegacyInheritance(m),m})),define("WoltLabSuite/Core/Notification/Handler",["require","exports","tslib","../Ajax","../Core","../Event/Handler","../StringUtil"],(function(e,t,i,n,o,r,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a);class s{constructor(e){this.inactiveSince=0,this.lastRequestTimestamp=window.TIME_NOW,this.requestTimer=void 0,e=o.extend({enableNotifications:!1,icon:""},e),this.icon=e.icon,this.prepareNextRequest(),document.addEventListener("visibilitychange",(e=>this.onVisibilityChange(e))),window.addEventListener("storage",(()=>this.onStorage())),this.onVisibilityChange(),e.enableNotifications&&this.enableNotifications()}async enableNotifications(){switch(window.Notification.permission){case"granted":this.allowNotification=!0;break;case"default":"granted"===await window.Notification.requestPermission()&&(this.allowNotification=!0);break}}onVisibilityChange(e){if(e&&!document.hidden){(Date.now()-this.inactiveSince)/6e4>4&&(this.resetTimer(),this.dispatchRequest())}this.inactiveSince=document.hidden?Date.now():0}getNextDelay(){if(0===this.inactiveSince)return 5;const e=~~((Date.now()-this.inactiveSince)/6e4);return e<15?5:e<30?10:15}resetTimer(){this.requestTimer&&(window.clearTimeout(this.requestTimer),this.requestTimer=void 0)}prepareNextRequest(){this.resetTimer(),this.requestTimer=window.setTimeout(this.dispatchRequest.bind(this),6e4*this.getNextDelay())}dispatchRequest(){const e={};r.fire("com.woltlab.wcf.notification","beforePoll",e),e.lastRequestTimestamp=this.lastRequestTimestamp,n.api(this,{parameters:e})}onStorage(){let e,t;this.prepareNextRequest();let i=!1;try{e=window.localStorage.getItem(o.getStoragePrefix()+"notification"),t=window.localStorage.getItem(o.getStoragePrefix()+"keepAliveData"),e=JSON.parse(e),t=JSON.parse(t)}catch(e){i=!0}i||r.fire("com.woltlab.wcf.notification","onStorage",{pollData:e,keepAliveData:t})}_ajaxSuccess(e){const t=e.returnValues.keepAliveData,i=e.returnValues.pollData;window.WCF.System.PushNotification.executeCallbacks({returnValues:t});let n=!1;try{window.localStorage.setItem(o.getStoragePrefix()+"notification",JSON.stringify(i)),window.localStorage.setItem(o.getStoragePrefix()+"keepAliveData",JSON.stringify(t))}catch(e){n=!0,window.console.log(e)}n||this.prepareNextRequest(),this.lastRequestTimestamp=e.returnValues.lastRequestTimestamp,r.fire("com.woltlab.wcf.notification","afterPoll",i),this.showNotification(i)}showNotification(e){if(this.allowNotification&&"object"==typeof e.notification&&"string"==typeof e.notification.message){const t=new window.Notification(e.notification.title,{body:a.unescapeHTML(e.notification.message).replace(/ /g," "),icon:this.icon});t.onclick=()=>{window.focus(),t.close(),window.location.href=e.notification.link}}}_ajaxSetup(){return{data:{actionName:"poll",className:"wcf\\data\\session\\SessionAction"},ignoreError:!window.ENABLE_DEBUG_MODE,silent:!window.ENABLE_DEBUG_MODE}}}let l;t.setup=function(e){l||(l=new s(e))}})),define("WoltLabSuite/Core/Ui/Redactor/DragAndDrop",["require","exports","tslib","../../Event/Handler","../../Language"],(function(e,t,i,n,o){"use strict";function r(e){if(e.preventDefault(),!e.dataTransfer||!e.dataTransfer.types)return;const t=Object.keys(e.dataTransfer).some((e=>e.startsWith("moz")));u=!1,t?"application/x-moz-file"===e.dataTransfer.types[0]&&(u=!0):u=e.dataTransfer.types.some((e=>"Files"===e)),u&&(d||(d=!0,c.forEach(((e,t)=>{const i=e.editor.$editor[0];if(!i.parentElement)return void c.delete(t);let r=e.element;null===r&&(r=document.createElement("div"),r.className="redactorDropArea",r.dataset.elementId=e.editor.$element[0].id,r.dataset.dropHere=o.get("wcf.attachment.dragAndDrop.dropHere"),r.dataset.dropNow=o.get("wcf.attachment.dragAndDrop.dropNow"),r.addEventListener("dragover",(()=>{r.classList.add("active")})),r.addEventListener("dragleave",(()=>{r.classList.remove("active")})),r.addEventListener("drop",(e=>function(e){if(!u)return;if(!e.dataTransfer||!e.dataTransfer.files.length)return;e.preventDefault();const t=e.currentTarget.dataset.elementId;Array.from(e.dataTransfer.files).forEach((e=>{const i={file:e};n.fire("com.woltlab.wcf.redactor2",`dragAndDrop_${t}`,i)})),a()}(e))),e.element=r),i.parentElement.insertBefore(r,i),r.style.setProperty("top",`${i.offsetTop}px`,"")}))))}function a(){d&&u&&(null!==h&&window.clearTimeout(h),h=window.setTimeout((()=>{d||c.forEach((e=>{e.element&&e.element.parentElement&&(e.element.classList.remove("active"),e.element.remove())})),h=null}),100),d=!1)}function s(){window.addEventListener("dragend",(e=>e.preventDefault())),window.addEventListener("dragover",(e=>r(e))),window.addEventListener("dragleave",(()=>a())),window.addEventListener("drop",(e=>function(e){if(null===e.target.closest(".redactor-layer")){const t={cancelDrop:!0,event:e};c.forEach((e=>{n.fire("com.woltlab.wcf.redactor2",`dragAndDrop_globalDrop_${e.editor.$element[0].id}`,t)})),t.cancelDrop&&e.preventDefault()}a()}(e))),l=!0}Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,n=i.__importStar(n),o=i.__importStar(o);let l=!1;const c=new Map;let d=!1,u=!1,h=null;t.init=function(e){l||s(),c.set(e.uuid,{editor:e,element:null})}})),define("WoltLabSuite/Core/Ui/DragAndDrop",["require","exports","tslib","../Core","../Event/Handler","./Redactor/DragAndDrop"],(function(e,t,i,n,o,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.register=void 0,n=i.__importStar(n),o=i.__importStar(o),t.register=function(e){const t=n.getUuid();e=n.extend({element:null,elementId:"",onDrop:function(e){},onGlobalDrop:function(e){}}),o.add("com.woltlab.wcf.redactor2",`dragAndDrop_${e.elementId}`,e.onDrop),o.add("com.woltlab.wcf.redactor2",`dragAndDrop_globalDrop_${e.elementId}`,e.onGlobalDrop),r.init({uuid:t,$editor:[e.element],$element:[{id:e.elementId}]})}})),define("WoltLabSuite/Core/Ui/FlexibleMenu",["require","exports","tslib","../Dom/Change/Listener","../Dom/Util","../Dom/Traverse","./Dropdown/Simple"],(function(e,t,i,n,o,r,a){"use strict";function s(e){const t=document.getElementById(e);if(null===t)throw"Expected a valid element id, '"+e+"' does not exist.";if(u.has(e))return;const i=r.childByTag(t,"UL");if(null===i)throw"Expected an <ul> element as child of container '"+e+"'.";u.set(e,t),m.set(e,i),d(e)}function l(){document.querySelectorAll(".tabMenuContainer:not(.jsFlexibleMenuEnabled), .messageTabMenu:not(.jsFlexibleMenuEnabled)").forEach((e=>{const t=r.childByTag(e,"NAV");null!==t&&(e.classList.add("jsFlexibleMenuEnabled"),s(o.default.identify(t)))}))}function c(){u.forEach(((e,t)=>{d(t)}))}function d(e){const t=u.get(e);if(void 0===t)throw"Expected a valid element id, '"+e+"' is unknown.";const i=window.getComputedStyle(t);let n=t.parentNode.clientWidth;n-=o.default.styleAsInt(i,"margin-left"),n-=o.default.styleAsInt(i,"margin-right");const s=m.get(e),l=r.childrenByTag(s,"LI");let c=h.get(e),f=0;if(void 0!==c){for(let e=0,t=l.length;e<t;e++){const t=l[e];t.classList.contains("dropdown")||o.default.show(t)}null!==c.parentNode&&(f=o.default.outerWidth(c))}const g=[];if(s.scrollWidth-f>n)for(let e=l.length-1;e>=0;e--){const t=l[e];if(!(t.classList.contains("dropdown")||t.classList.contains("active")||t.classList.contains("ui-state-active"))&&(g.push(t),o.default.hide(t),s.scrollWidth<n))break}if(g.length){let t;if(void 0===c){c=document.createElement("li"),c.className="dropdown jsFlexibleMenuDropdown";const i=document.createElement("a");i.className="icon icon16 fa-list",c.appendChild(i),t=document.createElement("ul"),t.classList.add("dropdownMenu"),c.appendChild(t),h.set(e,c),p.set(e,t),a.default.init(i)}else t=p.get(e);null===c.parentNode&&s.appendChild(c);const i=document.createDocumentFragment();g.forEach((t=>{const n=document.createElement("li");n.innerHTML=t.innerHTML,n.addEventListener("click",(i=>{var n;i.preventDefault(),null===(n=t.querySelector("a"))||void 0===n||n.click(),setTimeout((()=>{d(e)}),59)})),i.appendChild(n)})),t.innerHTML="",t.appendChild(i)}else void 0!==c&&null!==c.parentNode&&c.remove()}Object.defineProperty(t,"__esModule",{value:!0}),t.rebuild=t.rebuildAll=t.registerTabMenus=t.register=t.setup=void 0,n=i.__importDefault(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importDefault(a);const u=new Map,h=new Map,p=new Map,m=new Map;t.setup=function(){null!==document.getElementById("mainMenu")&&s("mainMenu");const e=document.querySelector(".navigationHeader");null!==e&&s(o.default.identify(e)),window.addEventListener("resize",c),n.default.add("WoltLabSuite/Core/Ui/FlexibleMenu",l)},t.register=s,t.registerTabMenus=l,t.rebuildAll=c,t.rebuild=d})),define("WoltLabSuite/Core/Ui/Suggestion",["require","exports","tslib","../Ajax","../Core","./Dropdown/Simple"],(function(e,t,i,n,o,r){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r);class a{constructor(e,t){this.dropdownMenu=null,this.value="";const i=document.getElementById(e);if(null===i)throw new Error("Expected a valid element id.");if(this.element=i,this.ajaxPayload=o.extend({actionName:"getSearchResultList",className:"",interfaceName:"wcf\\data\\ISearchAction",parameters:{data:{}}},t.ajax),"function"!=typeof t.callbackSelect)throw new Error("Expected a valid callback for option 'callbackSelect'.");this.callbackSelect=t.callbackSelect,this.excludedSearchValues=new Set(Array.isArray(t.excludedSearchValues)?t.excludedSearchValues:[]),this.threshold=void 0===t.threshold?3:t.threshold,this.element.addEventListener("click",(e=>e.preventDefault())),this.element.addEventListener("keydown",(e=>this.keyDown(e))),this.element.addEventListener("keyup",(e=>this.keyUp(e)))}addExcludedValue(e){this.excludedSearchValues.add(e)}removeExcludedValue(e){this.excludedSearchValues.delete(e)}isActive(){return null!==this.dropdownMenu&&r.default.isOpen(this.element.id)}keyDown(e){if(!this.isActive())return!0;if(-1===["ArrowDown","ArrowUp","Enter","Escape"].indexOf(e.key))return!0;let t,i=0;const n=this.dropdownMenu.childElementCount;for(;i<n&&(t=this.dropdownMenu.children[i],!t.classList.contains("active"));)i++;if("Enter"===e.key)r.default.close(this.element.id),this.select(void 0,t);else if("Escape"===e.key){if(!r.default.isOpen(this.element.id))return!0;r.default.close(this.element.id)}else{let o=0;"ArrowUp"===e.key?o=(0===i?n:i)-1:"ArrowDown"===e.key&&(o=i+1,o===n&&(o=0)),o!==i&&(t.classList.remove("active"),this.dropdownMenu.children[o].classList.add("active"))}return e.preventDefault(),!1}select(e,t){if(e instanceof MouseEvent){t=e.currentTarget.parentNode}const i=t.children[0];this.callbackSelect(this.element.id,{objectId:+(i.dataset.objectId||0),value:t.textContent||"",type:i.dataset.type||""}),e instanceof MouseEvent&&this.element.focus()}keyUp(e){const t=e.currentTarget.value.trim();if(this.value!==t){if(t.length<this.threshold)return null!==this.dropdownMenu&&r.default.close(this.element.id),void(this.value=t);this.value=t,n.api(this,{parameters:{data:{excludedSearchValues:Array.from(this.excludedSearchValues),searchString:t}}})}}_ajaxSetup(){return{data:this.ajaxPayload}}_ajaxSuccess(e){null===this.dropdownMenu?(this.dropdownMenu=document.createElement("div"),this.dropdownMenu.className="dropdownMenu",r.default.initFragment(this.element,this.dropdownMenu)):this.dropdownMenu.innerHTML="",Array.isArray(e.returnValues)&&e.returnValues.length>0?(e.returnValues.forEach(((e,t)=>{const i=document.createElement("a");e.icon?(i.className="box16",i.innerHTML=`${e.icon} <span></span>`,i.children[1].textContent=e.label):i.textContent=e.label,i.dataset.objectId=e.objectID.toString(),e.type&&(i.dataset.type=e.type),i.addEventListener("click",(e=>this.select(e)));const n=document.createElement("li");0===t&&(n.className="active"),n.appendChild(i),this.dropdownMenu.appendChild(n)})),r.default.open(this.element.id,!0)):r.default.close(this.element.id)}}return o.enableLegacyInheritance(a),a})),define("WoltLabSuite/Core/Ui/ItemList",["require","exports","tslib","../Core","../Dom/Traverse","../Language","./Suggestion","./Dropdown/Simple","../Dom/Util"],(function(e,t,i,n,o,r,a,s,l){"use strict";function c(e){const t=y.get(e);return-1===t.options.maxItems||t.list.childElementCount-1<t.options.maxItems}function d(e){const t=y.get(e);c(e)?(l.default.show(t.element),l.default.hide(t.limitReached)):(l.default.hide(t.element),l.default.show(t.limitReached))}function u(e){const t=e.currentTarget,i=t.parentElement.previousElementSibling;"Backspace"===e.key?0===t.value.length&&null!==i&&(i.classList.contains("active")?b(i):i.classList.add("active")):"Escape"===e.key&&null!==i&&i.classList.contains("active")&&i.classList.remove("active")}function h(e){if("Enter"===e.key){e.preventDefault();const t=e.currentTarget;if(y.get(t.id).options.restricted)return;const i=t.value.trim();i.length&&g(t.id,{objectId:0,value:i})}}function p(e){const t=e.currentTarget;if(y.get(t.id).options.restricted)return;let i=t.value;i.includes(",")&&(i=i.replace(/,/g,""),i.length?g(t.id,{objectId:0,value:i}):t.value=i)}function m(e){e.preventDefault();const t=e.clipboardData.getData("text/plain"),i=e.currentTarget,n=i.id,o=+i.maxLength;t.split(/,/).forEach((e=>{e=e.trim(),o&&e.length>o&&(e=e.substr(0,o)),e.length>0&&c(n)&&g(n,{objectId:0,value:e})}))}function f(e){const t=e.currentTarget;if(t.value.length>0){const e=t.parentElement.previousElementSibling;null!==e&&e.classList.remove("active")}}function g(e,t){const i=y.get(e),n=document.createElement("li");n.className="item";const o=document.createElement("span");if(o.className="content",o.dataset.objectId=t.objectId.toString(),t.type&&(o.dataset.type=t.type),o.textContent=t.value,n.appendChild(o),!i.element.disabled){const e=document.createElement("a");e.className="icon icon16 fa-times",e.addEventListener("click",b),n.appendChild(e)}i.list.insertBefore(n,i.listItem),i.suggestion.addExcludedValue(t.value),i.element.value="",i.element.disabled||d(e);let r=_(i);"function"==typeof i.options.callbackChange&&(null===r&&(r=w(e)),i.options.callbackChange(e,r))}function b(e,t){if(e instanceof Event){e=e.currentTarget.parentElement}const i=e.parentElement.dataset.elementId||"",n=y.get(i);e.children[0].textContent&&n.suggestion.removeExcludedValue(e.children[0].textContent),e.remove(),t||n.element.focus(),d(i);let o=_(n);"function"==typeof n.options.callbackChange&&(null===o&&(o=w(i)),n.options.callbackChange(i,o))}function _(e){if(!e.options.isCSV)return null;if("function"==typeof e.options.callbackSyncShadow)return e.options.callbackSyncShadow(e);const t=w(e.element.id);return e.shadow.value=w(e.element.id).map((e=>e.value)).join(","),t}function v(e){const t=e.currentTarget,i=y.get(t.id);if(i.options.restricted)return;const n=t.value.trim();n.length&&(i.suggestion&&i.suggestion.isActive()||g(t.id,{objectId:0,value:n}))}function w(e){const t=y.get(e);if(!t)throw new Error("Element id '"+e+"' is unknown.");const i=[];return t.list.querySelectorAll(".item > span").forEach((e=>{i.push({objectId:+(e.dataset.objectId||""),value:e.textContent.trim(),type:e.dataset.type})})),i}Object.defineProperty(t,"__esModule",{value:!0}),t.setValues=t.getValues=t.init=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importDefault(a),s=i.__importDefault(s),l=i.__importDefault(l);const y=new Map;t.init=function(e,t,i){const d=document.getElementById(e);if(null===d)throw new Error("Expected a valid element id, '"+e+"' is invalid.");if(y.has(e)){const t=y.get(e);Object.keys(t).forEach((e=>{const i=t[e];i instanceof Element&&i.parentNode&&i.remove()})),s.default.destroy(e),y.delete(e)}const b=n.extend({ajax:{actionName:"getSearchResultList",className:"",data:{}},excludedSearchValues:[],maxItems:-1,maxLength:-1,restricted:!1,isCSV:!1,callbackChange:null,callbackSubmit:null,callbackSyncShadow:null,callbackSetupValues:null,submitFieldName:""},i),_=o.parentByTag(d,"FORM");if(null!==_)if(b.isCSV)_.addEventListener("submit",(()=>{if(c(e)){const t=y.get(e).element.value.trim();t.length&&g(e,{objectId:0,value:t})}}));else{if(!b.submitFieldName.length&&"function"!=typeof b.callbackSubmit)throw new Error("Expected a valid function for option 'callbackSubmit', a non-empty value for option 'submitFieldName' or enabling the option 'submitFieldCSV'.");_.addEventListener("submit",(()=>{if(c(e)){const t=y.get(e).element.value.trim();t.length&&g(e,{objectId:0,value:t})}const t=w(e);b.submitFieldName.length?t.forEach((e=>{const t=document.createElement("input");t.type="hidden",t.name=b.submitFieldName.replace("{$objectId}",e.objectId.toString()),t.value=e.value,_.appendChild(t)})):b.callbackSubmit(_,t)}))}const E=function(e,t){const i=e.parentElement,n=document.createElement("ol");n.className="inputItemList"+(e.disabled?" disabled":""),n.dataset.elementId=e.id,n.addEventListener("click",(t=>{t.target===n&&e.focus()}));const o=document.createElement("li");o.className="input",n.appendChild(o),e.addEventListener("input",p),e.addEventListener("keydown",u),e.addEventListener("keypress",h),e.addEventListener("keyup",f),e.addEventListener("paste",m);const a=e===document.activeElement;a&&e.blur(),e.addEventListener("blur",v),i.insertBefore(n,e),o.appendChild(e),a&&window.setTimeout((()=>{e.focus()}),1),-1!==t.maxLength&&(e.maxLength=t.maxLength);const s=document.createElement("span");s.className="inputItemListLimitReached",s.textContent=r.get("wcf.global.form.input.maxItems"),l.default.hide(s),o.appendChild(s);let c=null;const d=[];if(t.isCSV&&(c=document.createElement("input"),c.className="itemListInputShadow",c.type="hidden",c.name=e.name,e.removeAttribute("name"),n.parentNode.insertBefore(c,n),e.value.split(",").forEach((e=>{(e=e.trim())&&d.push(e)})),"TEXTAREA"===e.nodeName)){const t=document.createElement("input");t.type="text",e.parentNode.insertBefore(t,e),t.id=e.id,e.remove(),e=t}return{element:e,limitReached:s,list:n,shadow:c,values:d}}(d,b),S=new a.default(e,{ajax:b.ajax,callbackSelect:g,excludedSearchValues:b.excludedSearchValues});y.set(e,{dropdownMenu:null,element:E.element,limitReached:E.limitReached,list:E.list,listItem:E.element.parentElement,options:b,shadow:E.shadow,suggestion:S}),t=b.callbackSetupValues?b.callbackSetupValues():E.values.length?E.values:t,Array.isArray(t)&&t.forEach((t=>{"string"==typeof t&&(t={objectId:0,value:t}),g(e,t)}))},t.getValues=w,t.setValues=function(e,t){const i=y.get(e);if(!i)throw new Error("Element id '"+e+"' is unknown.");o.childrenByClass(i.list,"item").forEach((e=>{b(e,!0)})),t.forEach((t=>{g(e,t)}))}})),define("WoltLabSuite/Core/Ui/Pagination",["require","exports","tslib","../Core","../Language","../StringUtil","./Page/JumpTo"],(function(e,t,i,n,o,r,a){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a);class s{constructor(e,t){this.callbackSwitch=null,this.callbackShouldSwitch=null,this.element=e,this.activePage=t.activePage,this.maxPage=t.maxPage,"function"==typeof t.callbackSwitch&&(this.callbackSwitch=t.callbackSwitch),"function"==typeof t.callbackShouldSwitch&&(this.callbackShouldSwitch=t.callbackShouldSwitch),this.element.classList.add("pagination"),this.rebuild()}rebuild(){let e=!1;this.element.innerHTML="";const t=document.createElement("ul");let i=document.createElement("li");i.className="skip",t.appendChild(i);let n="icon icon24 fa-chevron-left";if(this.activePage>1){const e=document.createElement("a");e.className=n+" jsTooltip",e.href="#",e.title=o.get("wcf.global.page.previous"),e.rel="prev",i.appendChild(e),e.addEventListener("click",(e=>this.switchPage(this.activePage-1,e)))}else i.innerHTML='<span class="'+n+'"></span>',i.classList.add("disabled");t.appendChild(this.createLink(1));let r=s.showLinks-4,l=this.activePage-2;l<0&&(l=0);let c=this.maxPage-(this.activePage+1);c<0&&(c=0),this.activePage>1&&this.activePage<this.maxPage&&r--;const d=r/2;let u=this.activePage,h=this.activePage;u<1&&(u=1),h<1&&(h=1),h>this.maxPage-1&&(h=this.maxPage-1),l>=d?u-=d:(u-=l,h+=d-l),c>=d?h+=d:(h+=c,u-=d-c),h=Math.ceil(h),u=Math.ceil(u),u<1&&(u=1),h>this.maxPage&&(h=this.maxPage);const p='<a class="jsTooltip" title="'+o.get("wcf.page.jumpTo")+'">…</a>';u>1&&(u-1<2?t.appendChild(this.createLink(2)):(i=document.createElement("li"),i.className="jumpTo",i.innerHTML=p,t.appendChild(i),e=!0));for(let e=u+1;e<h;e++)t.appendChild(this.createLink(e));if(h<this.maxPage&&(this.maxPage-h<2?t.appendChild(this.createLink(this.maxPage-1)):(i=document.createElement("li"),i.className="jumpTo",i.innerHTML=p,t.appendChild(i),e=!0)),t.appendChild(this.createLink(this.maxPage)),i=document.createElement("li"),i.className="skip",t.appendChild(i),n="icon icon24 fa-chevron-right",this.activePage<this.maxPage){const e=document.createElement("a");e.className=n+" jsTooltip",e.href="#",e.title=o.get("wcf.global.page.next"),e.rel="next",i.appendChild(e),e.addEventListener("click",(e=>this.switchPage(this.activePage+1,e)))}else i.innerHTML='<span class="'+n+'"></span>',i.classList.add("disabled");e&&(t.dataset.pages=this.maxPage.toString(),a.init(t,this.switchPage.bind(this))),this.element.appendChild(t)}createLink(e){const t=document.createElement("li");if(e!==this.activePage){const i=document.createElement("a");i.textContent=r.addThousandsSeparator(e),i.addEventListener("click",(t=>this.switchPage(e,t))),t.appendChild(i)}else t.classList.add("active"),t.innerHTML="<span>"+r.addThousandsSeparator(e)+'</span><span class="invisible">'+o.get("wcf.page.pagePosition",{pageNo:e,pages:this.maxPage})+"</span>";return t}getActivePage(){return this.activePage}getElement(){return this.element}getMaxPage(){return this.maxPage}switchPage(e,t){if(t instanceof MouseEvent){t.preventDefault();const e=t.currentTarget;if(e&&e.dataset.tooltip){const t=document.getElementById("balloonTooltip");t&&(n.triggerEvent(e,"mouseleave"),t.style.removeProperty("top"),t.style.removeProperty("bottom"))}}if((e=~~e)>0&&this.activePage!==e&&e<=this.maxPage){if(null!==this.callbackShouldSwitch&&!this.callbackShouldSwitch(e))return;this.activePage=e,this.rebuild(),null!==this.callbackSwitch&&this.callbackSwitch(e)}}}return s.showLinks=11,n.enableLegacyInheritance(s),s})),define("WoltLabSuite/Core/Upload/Data",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})})),define("WoltLabSuite/Core/Wrapper/FacebookSdk",["require","exports","https://connect.facebook.net/en_US/sdk.js"],(function(e,t){"use strict";return FB.init({version:"v7.0"}),FB})),define("WoltLabSuite/Core/Controller/Clipboard/Data",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})})),define("WoltLabSuite/Core/Media/List/Upload",["require","exports","tslib","../Upload","../../Core"],(function(e,t,i,n,o){"use strict";n=i.__importDefault(n),o=i.__importStar(o);class r extends n.default{_createButton(){super._createButton();const e=this._button.querySelector("span"),t=document.createTextNode(" ");e.insertBefore(t,e.childNodes[0]);const i=document.createElement("span");i.className="icon icon16 fa-upload",e.insertBefore(i,e.childNodes[0])}_getParameters(){return this._options.categoryId?o.extend(super._getParameters(),{categoryID:this._options.categoryId}):super._getParameters()}}return o.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Controller/Media/List",["require","exports","tslib","../../Media/List/Upload","../../Media/Clipboard","../../Event/Handler","../../Media/Editor","../../Dom/Change/Listener"],(function(e,t,i,n,o,r,a,s){"use strict";function l(){Array.from(d.getElementsByClassName("jsMediaEditButton")).forEach((e=>{e.classList.remove("jsMediaEditButton"),e.addEventListener("click",(e=>{return t=e,void c.edit(~~t.currentTarget.dataset.objectId);var t}))}))}Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,n=i.__importDefault(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importDefault(a),s=i.__importStar(s);const c=new a.default({_editorSuccess:(e,t,i=!0)=>{(e.categoryID!=t||i)&&window.setTimeout((()=>{window.location.reload()}),500)}}),d=document.getElementById("mediaListTableBody");let u;t.init=function(e){e=e||{},u=new n.default("uploadButton","mediaListTableBody",{categoryId:e.categoryId,multiple:!0,elementTagSize:48}),o.init("wcf\\acp\\page\\MediaListPage",e.hasMarkedItems||!1,{clipboardDeleteMedia:e=>function(e){Array.from(document.getElementsByClassName("jsMediaRow")).forEach((t=>{const i=~~t.querySelector(".jsClipboardItem").dataset.objectId;-1!==e.indexOf(i)&&t.remove()})),document.getElementsByClassName("jsMediaRow").length||window.location.reload()}(e)}),l(),s.add("WoltLabSuite/Core/Controller/Media/List",(()=>l())),r.add("com.woltlab.wcf.media.upload","success",(e=>function(e){if(e.upload===u&&!e.isMultiFileUpload&&!u.hasPendingUploads()){const t=Object.keys(e.media);t.length&&c.edit(e.media[t[0]])}}(e)))}})),define("WoltLabSuite/Core/Controller/Notice/Dismiss",["require","exports","tslib","../../Ajax"],(function(e,t,i,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,n=i.__importStar(n),t.setup=function(){document.querySelectorAll(".jsDismissNoticeButton").forEach((e=>{e.addEventListener("click",(e=>function(e){const t=e.currentTarget;n.apiOnce({data:{actionName:"dismiss",className:"wcf\\data\\notice\\NoticeAction",objectIDs:[t.dataset.objectId]},success:()=>{t.parentElement.remove()}})}(e)))}))}})),define("WoltLabSuite/Core/Devtools/Style/LiveReload",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.notify=t.watch=void 0;const i="com.woltlab.wcf#DevTools/Style/LiveReload";t.watch=function(){if(!window.BroadcastChannel)return;new BroadcastChannel(i).onmessage=e=>{const t=document.querySelector("head link[rel=stylesheet]");if(!t)return;const i=new URL(t.href);i.searchParams.set("m",Math.trunc(Date.now()/1e3).toString());const n=document.createElement("link");n.rel="stylesheet",n.addEventListener("load",(()=>{t.remove()})),n.addEventListener("error",(()=>{n.remove()})),n.href=i.toString(),t.insertAdjacentElement("afterend",n)}},t.notify=function(){if(!window.BroadcastChannel)return;new BroadcastChannel(i).postMessage(void 0)}})),define("WoltLabSuite/Core/Form/Builder/Data",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})})),define("WoltLabSuite/Core/Form/Builder/Field/Field",["require","exports","tslib","../../../Core"],(function(e,t,i,n){"use strict";n=i.__importStar(n);class o{constructor(e){this.init(e)}init(e){this._fieldId=e,this._readField()}_getData(){throw new Error("Missing implementation of WoltLabSuite/Core/Form/Builder/Field/Field._getData!")}_readField(){if(this._field=document.getElementById(this._fieldId),null===this._field)throw new Error("Unknown field with id '"+this._fieldId+"'.")}destroy(){}getData(){return Promise.resolve(this._getData())}getId(){return this._fieldId}}return n.enableLegacyInheritance(o),o})),define("WoltLabSuite/Core/Form/Builder/Field/Dependency/Manager",["require","exports","tslib","../../../../Dom/Util","../../../../Event/Handler"],(function(e,t,i,n,o){"use strict";function r(){!0!==h?(h=!0,p=!1,o.fire("com.woltlab.wcf.form.builder.dependency","checkContainers"),h=!1,p&&r()):p=!0}function a(){const e=[];d.forEach(((t,i)=>{const o=document.getElementById(i);if(null===o)return void e.push(i);let r=!0;var a;t.forEach((e=>{var t;e.checkDependency()||(t=o,n.default.hide(t),s.add(t),t.classList.contains("tabMenuContent")&&t.parentNode.querySelector(".tabMenu").querySelectorAll("li").forEach((e=>{e.dataset.name===t.dataset.name&&n.default.hide(e)})),t.querySelectorAll("[max], [maxlength], [min], [required]").forEach((e=>{const t=new Map,i=e.getAttribute("max");i&&(t.set("max",i),e.removeAttribute("max"));const n=e.getAttribute("maxlength");n&&(t.set("maxlength",n),e.removeAttribute("maxlength"));const o=e.getAttribute("min");o&&(t.set("min",o),e.removeAttribute("min")),e.required&&(t.set("required","true"),e.removeAttribute("required")),u.set(e,t)})),r=!1)})),r&&(a=o,n.default.show(a),s.delete(a),a.classList.contains("tabMenuContent")&&a.parentNode.querySelector(".tabMenu").querySelectorAll("li").forEach((e=>{e.dataset.name===a.dataset.name&&n.default.show(e)})),a.querySelectorAll("input, select").forEach((e=>{let t=e.parentNode;for(;t!==a&&!n.default.isHidden(t);)t=t.parentNode;if(t===a&&u.has(e)){const t=u.get(e);t.has("max")&&e.setAttribute("max",t.get("max")),t.has("maxlength")&&e.setAttribute("maxlength",t.get("maxlength")),t.has("min")&&e.setAttribute("min",t.get("min")),t.has("required")&&e.setAttribute("required",""),u.delete(e)}})))})),e.forEach((e=>d.delete(e))),r()}Object.defineProperty(t,"__esModule",{value:!0}),t.unregister=t.register=t.isHiddenByDependencies=t.checkDependencies=t.checkContainers=t.addDependency=t.addContainerCheckCallback=void 0,n=i.__importDefault(n),o=i.__importStar(o);const s=new Set,l=new Map,c=new WeakSet,d=new Map,u=new WeakMap;let h=!1,p=!0;t.addContainerCheckCallback=function(e){if("function"!=typeof e)throw new TypeError("Expected a valid callback for parameter 'callback'.");o.add("com.woltlab.wcf.form.builder.dependency","checkContainers",e)},t.addDependency=function(e){const t=e.getDependentNode();d.has(t.id)?d.get(t.id).push(e):d.set(t.id,[e]),e.getFields().forEach((e=>{const t=n.default.identify(e);l.has(t)||(l.set(t,e),"INPUT"!==e.tagName||"checkbox"!==e.type&&"radio"!==e.type&&"hidden"!==e.type?e.addEventListener("input",(()=>a())):e.addEventListener("change",(()=>a())))}))},t.checkContainers=r,t.checkDependencies=a,t.isHiddenByDependencies=function(e){if(s.has(e))return!0;let t=!1;return s.forEach((i=>{i.contains(e)&&(t=!0)})),t},t.register=function(e){const t=document.getElementById(e);if(null===t)throw new Error("Unknown element with id '"+e+"'");if(c.has(t))throw new Error("Form with id '"+e+"' has already been registered.");c.add(t)},t.unregister=function(e){const t=document.getElementById(e);if(null===t)throw new Error("Unknown element with id '"+e+"'");if(!c.has(t))throw new Error("Form with id '"+e+"' has not been registered.");c.delete(t),s.forEach((e=>{t.contains(e)&&s.delete(e)})),d.forEach(((e,i)=>{t.contains(document.getElementById(i))&&d.delete(i),e.forEach((e=>{e.getFields().forEach((e=>{l.delete(e.id),u.delete(e)}))}))}))}})),define("WoltLabSuite/Core/Form/Builder/Manager",["require","exports","tslib","../../Core","../../Event/Handler","./Field/Field","./Field/Dependency/Manager"],(function(e,t,i,n,o,r,a){"use strict";function s(e,t){if(!l(e))throw new Error("Unknown form with id '"+e+"'.");return c.get(e).has(t)}function l(e){return d.has(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.unregisterForm=t.registerForm=t.registerField=t.hasForm=t.hasField=t.getForm=t.getField=t.getData=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importStar(a);const c=new Map,d=new Map;t.getData=function(e){if(!l(e))throw new Error("Unknown form with id '"+e+"'.");const t=[];return c.get(e).forEach((e=>{const i=e.getData();if(!(i instanceof Promise))throw new TypeError("Data for field with id '"+e.getId()+"' is no promise.");t.push(i)})),Promise.all(t).then((e=>e.reduce(((e,t)=>n.extend(e,t)),{})))},t.getField=function(e,t){if(!s(e,t))throw new Error("Unknown field with id '"+e+"' for form with id '"+t+"'.");return c.get(e).get(t)},t.getForm=function(e){if(!l(e))throw new Error("Unknown form with id '"+e+"'.");return d.get(e)},t.hasField=s,t.hasForm=l,t.registerField=function(e,t){if(!l(e))throw new Error("Unknown form with id '"+e+"'.");if(!(t instanceof r.default))throw new Error("Add field is no instance of 'WoltLabSuite/Core/Form/Builder/Field/Field'.");const i=t.getId();if(s(e,i))throw new Error("Form field with id '"+i+"' has already been registered for form with id '"+e+"'.");c.get(e).set(i,t),o.fire("WoltLabSuite/Core/Form/Builder/Manager","registerField",{field:t,formId:e})},t.registerForm=function(e){if(l(e))throw new Error("Form with id '"+e+"' has already been registered.");const t=document.getElementById(e);if(null===t)throw new Error("Unknown form with id '"+e+"'.");d.set(e,t),c.set(e,new Map),o.fire("WoltLabSuite/Core/Form/Builder/Manager","registerForm",{formId:e})},t.unregisterForm=function(e){if(!l(e))throw new Error("Unknown form with id '"+e+"'.");o.fire("WoltLabSuite/Core/Form/Builder/Manager","beforeUnregisterForm",{formId:e}),d.delete(e),c.get(e).forEach((function(e){e.destroy()})),c.delete(e),a.unregister(e),o.fire("WoltLabSuite/Core/Form/Builder/Manager","afterUnregisterForm",{formId:e})}})),define("WoltLabSuite/Core/Form/Builder/Dialog",["require","exports","tslib","../../Core","../../Ui/Dialog","../../Ajax","./Manager"],(function(e,t,i,n,o,r,a){"use strict";n=i.__importStar(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importStar(a);class s{constructor(e,t,i,n){this.init(e,t,i,n)}init(e,t,i,o){this._dialogId=e,this._className=t,this._actionName=i,this._options=n.extend({actionParameters:{},destroyOnClose:!1,usesDboAction:/\w+\\data\\/.test(this._className)},o),this._options.dialog=n.extend(this._options.dialog||{},{onClose:()=>this._dialogOnClose()}),this._formId="",this._dialogContent=""}_ajaxSetup(){const e={data:{actionName:this._actionName,className:this._className,parameters:this._options.actionParameters}};return this._options.usesDboAction||(e.url="index.php?ajax-invoke/&t="+window.SECURITY_TOKEN,e.withCredentials=!0),e}_ajaxSuccess(e){switch(e.actionName){case this._actionName:if(void 0===e.returnValues)throw new Error("Missing return data.");!function(e){if(void 0===e.dialog)throw new Error("Missing dialog template in return data.");if(void 0===e.formId)throw new Error("Missing form id in return data.")}(e.returnValues),this._openDialogContent(e.returnValues.formId,e.returnValues.dialog);break;case this._options.submitActionName:if(e.returnValues&&(void 0!==(t=e.returnValues).dialog&&void 0!==t.formId)){if(e.returnValues.formId!==this._formId)throw new Error("Mismatch between form ids: expected '"+this._formId+"' but got '"+e.returnValues.formId+"'.");this._openDialogContent(e.returnValues.formId,e.returnValues.dialog)}else this.destroy(),"function"==typeof this._options.successCallback&&this._options.successCallback(e.returnValues||{});break;default:throw new Error("Cannot handle action '"+e.actionName+"'.")}var t}_closeDialog(){o.default.close(this),"function"==typeof this._options.closeCallback&&this._options.closeCallback()}_dialogOnClose(){this._options.destroyOnClose&&this.destroy()}_dialogSetup(){return{id:this._dialogId,options:this._options.dialog,source:this._dialogContent}}_dialogSubmit(){this.getData().then((e=>this._submitForm(e)))}_openDialogContent(e,t){this.destroy(!0),this._formId=e,this._dialogContent=t;const i=o.default.open(this,this._dialogContent),r=i.content.querySelector("button[data-type=cancel]");null===r||n.stringToBool(r.dataset.hasEventListener||"")||(r.addEventListener("click",(()=>this._closeDialog())),r.dataset.hasEventListener="1"),this._additionalSubmitButtons=Array.from(i.content.querySelectorAll(':not(.formSubmit) button[type="submit"]')),this._additionalSubmitButtons.forEach((e=>{e.addEventListener("click",(()=>{this._additionalSubmitButtons.forEach((t=>{t.dataset.isClicked=t===e?"1":"0"})),setTimeout((()=>o.default.submit(this._dialogId)),0)}))}))}_submitForm(e){const t=o.default.getDialog(this).content.querySelector("button[data-type=submit]");"function"==typeof this._options.onSubmit?this._options.onSubmit(e,t):"string"==typeof this._options.submitActionName&&(t.disabled=!0,this._additionalSubmitButtons.forEach((e=>e.disabled=!0)),r.api(this,{actionName:this._options.submitActionName,parameters:{data:e,formId:this._formId}}))}destroy(e=!1){""!==this._formId&&(a.hasForm(this._formId)&&a.unregisterForm(this._formId),!0!==e&&o.default.destroy(this))}getData(){if(""===this._formId)throw new Error("Form has not been requested yet.");return a.getData(this._formId)}open(){o.default.getDialog(this._dialogId)?o.default.open(this):r.api(this)}}return n.enableLegacyInheritance(s),s})),define("WoltLabSuite/Core/Media/Manager/Search",["require","exports","tslib","../../Dom/Traverse","../../Language","../../Ajax","../../Core","../../Dom/Util"],(function(e,t,i,n,o,r,a,s){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importDefault(s);class l{constructor(e){this._searchMode=!1,this._mediaManager=e;const t=e.getDialog();this._searchContainer=t.querySelector(".mediaManagerSearch"),this._input=t.querySelector(".mediaManagerSearchField"),this._input.addEventListener("keypress",(e=>this._keyPress(e))),this._cancelButton=t.querySelector(".mediaManagerSearchCancelButton"),this._cancelButton.addEventListener("click",(()=>this._cancelSearch()))}_ajaxSetup(){return{data:{actionName:"getSearchResultList",className:"wcf\\data\\media\\MediaAction",interfaceName:"wcf\\data\\ISearchAction"}}}_ajaxSuccess(e){this._mediaManager.setMedia(e.returnValues.media||{},e.returnValues.template||"",{pageCount:e.returnValues.pageCount||0,pageNo:e.returnValues.pageNo||0}),this._mediaManager.getDialog().querySelector(".dialogContent").scrollTop=0}_cancelSearch(){this._searchMode&&(this._searchMode=!1,this.resetSearch(),this._mediaManager.resetMedia())}_hideStringThresholdError(){const e=n.childByClass(this._input.parentNode.parentNode,"innerInfo");e&&s.default.hide(e)}_keyPress(e){"Enter"===e.key&&(e.preventDefault(),this._input.value.length>=this._mediaManager.getOption("minSearchLength")?(this._hideStringThresholdError(),this.search()):this._showStringThresholdError())}_showStringThresholdError(){let e=n.childByClass(this._input.parentNode.parentNode,"innerInfo");e?s.default.show(e):(e=document.createElement("p"),e.className="innerInfo",e.textContent=o.get("wcf.media.search.info.searchStringThreshold",{minSearchLength:this._mediaManager.getOption("minSearchLength")}),this._input.parentNode.insertAdjacentElement("afterend",e))}hideSearch(){s.default.hide(this._searchContainer)}resetSearch(){this._input.value=""}showSearch(){s.default.show(this._searchContainer)}search(e){"number"!=typeof e&&(e=1);let t=this._input.value;t&&this._input.value.length<this._mediaManager.getOption("minSearchLength")?(this._showStringThresholdError(),t=""):this._hideStringThresholdError(),this._searchMode=!0,r.api(this,{parameters:{categoryID:this._mediaManager.getCategoryId(),imagesOnly:this._mediaManager.getOption("imagesOnly"),mode:this._mediaManager.getMode(),pageNo:e,searchString:t}})}}return a.enableLegacyInheritance(l),l})),define("WoltLabSuite/Core/Media/Manager/Base",["require","exports","tslib","../../Core","../../Language","../../Permission","../../Dom/Change/Listener","../../Event/Handler","../../Dom/Traverse","../../Dom/Util","../../Ui/Dialog","../../Controller/Clipboard","../../Ui/Pagination","../../Ui/Notification","../../StringUtil","./Search","../Upload","../Editor","../Clipboard"],(function(e,t,i,n,o,r,a,s,l,c,d,u,h,p,m,f,g,b,_){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importStar(l),c=i.__importStar(c),d=i.__importStar(d),u=i.__importStar(u),h=i.__importDefault(h),p=i.__importStar(p),m=i.__importStar(m),f=i.__importDefault(f),g=i.__importDefault(g),b=i.__importDefault(b),_=i.__importStar(_);let v=0;class w{constructor(e){this._forceClipboard=!1,this._hadInitiallyMarkedItems=!1,this._listItems=new Map,this._media=new Map,this._mediaEditor=null,this._mediaManagerMediaList=null,this._pagination=null,this._search=null,this._upload=null,this._options=n.extend({dialogTitle:o.get("wcf.media.manager"),imagesOnly:!1,minSearchLength:3},e),this._id="mediaManager"+v++,r.get("admin.content.cms.canManageMedia")&&(this._mediaEditor=new b.default(this)),a.add("WoltLabSuite/Core/Media/Manager",(()=>this._addButtonEventListeners())),s.add("com.woltlab.wcf.media.upload","success",(e=>this._openEditorAfterUpload(e)))}_addButtonEventListeners(){this._mediaManagerMediaList&&r.get("admin.content.cms.canManageMedia")&&l.childrenByTag(this._mediaManagerMediaList,"LI").forEach((e=>{const t=e.querySelector(".jsMediaEditButton");t&&(t.classList.remove("jsMediaEditButton"),t.addEventListener("click",(e=>this._editMedia(e))))}))}_categoryChange(){this._search.search()}_click(e){e.preventDefault(),d.open(this)}_dialogClose(){(r.get("admin.content.cms.canManageMedia")||this._forceClipboard)&&u.hideEditor("com.woltlab.wcf.media")}_dialogInit(e,t){Object.entries(t.returnValues.media||{}).forEach((([e,t])=>{this._media.set(~~e,t)})),this._initPagination(~~t.returnValues.pageCount),this._hadInitiallyMarkedItems=t.returnValues.hasMarkedItems>0}_dialogSetup(){return{id:this._id,options:{onClose:()=>this._dialogClose(),onShow:()=>this._dialogShow(),title:this._options.dialogTitle},source:{after:(e,t)=>this._dialogInit(e,t),data:{actionName:"getManagementDialog",className:"wcf\\data\\media\\MediaAction",parameters:{mode:this.getMode(),imagesOnly:this._options.imagesOnly}}}}}_dialogShow(){if(!this._mediaManagerMediaList){const e=this.getDialog();this._mediaManagerMediaList=e.querySelector(".mediaManagerMediaList"),this._mediaCategorySelect=e.querySelector(".mediaManagerCategoryList > select"),this._mediaCategorySelect&&this._mediaCategorySelect.addEventListener("change",(()=>this._categoryChange()));const t=l.childrenByTag(this._mediaManagerMediaList,"LI");if(t.forEach((e=>{this._listItems.set(~~e.dataset.objectId,e)})),r.get("admin.content.cms.canManageMedia")){const e=d.getDialog(this).dialog.querySelector(".mediaManagerMediaUploadButton");this._upload=new g.default(c.identify(e),c.identify(this._mediaManagerMediaList),{mediaManager:this}),s.add("WoltLabSuite/Core/Ui/Object/Action","delete",(e=>this.removeMedia(~~e.objectElement.dataset.objectId)))}r.get("admin.content.cms.canManageMedia")||this._forceClipboard?_.init("menuManagerDialog-"+this.getMode(),!!this._hadInitiallyMarkedItems,this):this._removeClipboardCheckboxes(),this._search=new f.default(this),t.length||this._search.hideSearch()}(r.get("admin.content.cms.canManageMedia")||this._forceClipboard)&&u.showEditor()}_editMedia(e){if(!r.get("admin.content.cms.canManageMedia"))throw new Error("You are not allowed to edit media files.");d.close(this);const t=e.currentTarget;this._mediaEditor.edit(this._media.get(~~t.dataset.objectId))}_editorClose(){d.open(this)}_editorSuccess(e,t,i=!0){if(this._mediaCategorySelect){const i=~~this._mediaCategorySelect.value;if(i){const n=~~e.categoryID;t==n||t!=i&&n!=i||this._search.search()}}i&&d.open(this),this._media.set(~~e.mediaID,e);const n=this._listItems.get(~~e.mediaID),o=n.querySelector(".mediaTitle");e.isMultilingual?e.title&&e.title[window.LANGUAGE_ID]?o.textContent=e.title[window.LANGUAGE_ID]:o.textContent=e.filename:e.title&&e.title[e.languageID]?o.textContent=e.title[e.languageID]:o.textContent=e.filename;const r=n.querySelector(".mediaThumbnail");r.innerHTML=e.elementTag;const a=r.querySelector("img");a&&(a.src+=`&refresh=${Date.now()}`)}_initPagination(e,t){if(void 0===t&&(t=1),e>1){const i=document.createElement("div");i.className="paginationBottom jsPagination",c.replaceElement(d.getDialog(this).content.querySelector(".jsPagination"),i),this._pagination=new h.default(i,{activePage:t,callbackSwitch:e=>this._search.search(e),maxPage:e})}else this._pagination&&c.hide(this._pagination.getElement())}_removeClipboardCheckboxes(){this._mediaManagerMediaList.querySelectorAll(".mediaCheckbox").forEach((e=>e.remove()))}_openEditorAfterUpload(e){if(e.upload===this._upload&&!e.isMultiFileUpload&&!this._upload.hasPendingUploads()){const t=Object.keys(e.media);t.length&&(d.close(this),this._mediaEditor.edit(this._media.get(~~e.media[t[0]].mediaID)))}}_setMedia(e){this._media=new Map(Object.entries(e).map((([e,t])=>[~~e,t])));let t=l.nextByClass(this._mediaManagerMediaList,"info");this._media.size?t&&c.hide(t):(null===t&&(t=document.createElement("p"),t.className="info",t.textContent=o.get("wcf.media.search.noResults")),c.show(t),c.insertAfter(t,this._mediaManagerMediaList)),l.childrenByTag(this._mediaManagerMediaList,"LI").forEach((e=>{this._media.has(~~e.dataset.objectId)?c.show(e):c.hide(e)})),a.trigger(),r.get("admin.content.cms.canManageMedia")||this._forceClipboard?u.reload():this._removeClipboardCheckboxes()}addMedia(e,t){e.languageID||(e.isMultilingual=1),this._media.set(~~e.mediaID,e),this._listItems.set(~~e.mediaID,t),1===this._listItems.size&&this._search.showSearch()}clipboardDeleteMedia(e){e.forEach((e=>{this.removeMedia(~~e)})),p.show()}getCategoryId(){return this._mediaCategorySelect?~~this._mediaCategorySelect.value:0}getDialog(){return d.getDialog(this).dialog}getMode(){return""}getOption(e){return this._options[e]?this._options[e]:null}removeMedia(e){if(this._listItems.has(e)){try{this._listItems.get(e).remove()}catch(e){}this._listItems.delete(e),this._media.delete(e)}}resetMedia(){this._search.search()}setMedia(e,t,i){if(Object.entries(e).length>0){const e=document.createElement("ul");e.innerHTML=t,l.childrenByTag(e,"LI").forEach((e=>{this._listItems.has(~~e.dataset.objectId)||(this._listItems.set(~~e.dataset.objectId,e),this._mediaManagerMediaList.appendChild(e))}))}this._initPagination(i.pageCount,i.pageNo),this._setMedia(e)}setupMediaElement(e,t){const i=l.childByClass(t,"mediaInformation"),a=document.createElement("nav");a.className="jsMobileNavigation buttonGroupNavigation",i.parentNode.appendChild(a);const s=document.createElement("ul");s.className="buttonList iconList",a.appendChild(s);const c=document.createElement("li");c.className="mediaCheckbox",s.appendChild(c);const d=document.createElement("a");c.appendChild(d);const u=document.createElement("label");d.appendChild(u);const h=document.createElement("input");if(h.className="jsClipboardItem",h.type="checkbox",h.dataset.objectId=e.mediaID.toString(),u.appendChild(h),r.get("admin.content.cms.canManageMedia")){const t=document.createElement("li");t.className="jsMediaEditButton",t.dataset.objectId=e.mediaID.toString(),s.appendChild(t),t.innerHTML=`\n <a>\n <span class="icon icon16 fa-pencil jsTooltip" title="${o.get("wcf.global.button.edit")}"></span>\n <span class="invisible">${o.get("wcf.global.button.edit")}</span>\n </a>`;const i=document.createElement("li");i.classList.add("jsObjectAction"),i.dataset.objectAction="delete";const r=n.getUuid();i.dataset.confirmMessage=m.unescapeHTML(o.get("wcf.media.delete.confirmMessage",{title:r})).replace(r,m.escapeHTML(e.filename)),s.appendChild(i),i.innerHTML=`\n <a>\n <span class="icon icon16 fa-times jsTooltip" title="${o.get("wcf.global.button.delete")}"></span>\n <span class="invisible">${o.get("wcf.global.button.delete")}</span>\n </a>`}}}return n.enableLegacyInheritance(w),w})),define("WoltLabSuite/Core/Media/Manager/Editor",["require","exports","tslib","./Base","../../Core","../../Event/Handler","../../Dom/Traverse","../../Language","../../Ui/Dialog","../../Controller/Clipboard","../../Dom/Util"],(function(e,t,i,n,o,r,a,s,l,c,d){"use strict";n=i.__importDefault(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importStar(l),c=i.__importStar(c),d=i.__importDefault(d);class u extends n.default{constructor(e){super(e=o.extend({callbackInsert:null},e)),this._forceClipboard=!0,this._activeButton=null;const t=this._options.editor?this._options.editor.core.toolbar()[0]:void 0;if(this._buttons=(t||window.document).getElementsByClassName(this._options.buttonClass||"jsMediaEditorButton"),Array.from(this._buttons).forEach((e=>{e.addEventListener("click",(e=>this._click(e)))})),this._mediaToInsert=new Map,this._mediaToInsertByClipboard=!1,this._uploadData=null,this._uploadId=null,this._options.editor&&!this._options.editor.opts.woltlab.attachments){const e=this._options.editor.$editor[0].dataset.elementId,t=r.add("com.woltlab.wcf.redactor2",`dragAndDrop_${e}`,(e=>this._editorUpload(e))),i=r.add("com.woltlab.wcf.redactor2",`pasteFromClipboard_${e}`,(e=>this._editorUpload(e)));r.add("com.woltlab.wcf.redactor2",`destroy_${e}`,(()=>{r.remove("com.woltlab.wcf.redactor2",`dragAndDrop_${e}`,t),r.remove("com.woltlab.wcf.redactor2",`dragAndDrop_${e}`,i)})),r.add("com.woltlab.wcf.media.upload","success",(e=>this._mediaUploaded(e)))}}_addButtonEventListeners(){super._addButtonEventListeners(),this._mediaManagerMediaList&&a.childrenByTag(this._mediaManagerMediaList,"LI").forEach((e=>{const t=e.querySelector(".jsMediaInsertButton");t&&(t.classList.remove("jsMediaInsertButton"),t.addEventListener("click",(e=>this._openInsertDialog(e))))}))}_buildInsertDialog(){let e="";this._getThumbnailSizes().forEach((t=>{e+='<option value="'+t+'">'+s.get("wcf.media.insert.imageSize."+t)+"</option>"})),e+='<option value="original">'+s.get("wcf.media.insert.imageSize.original")+"</option>";const t=`\n <div class="section">\n <dl class="thumbnailSizeSelection">\n <dt>${s.get("wcf.media.insert.imageSize")}</dt>\n <dd>\n <select name="thumbnailSize">\n ${e}\n </select>\n </dd>\n </dl>\n </div>\n <div class="formSubmit">\n <button class="buttonPrimary">${s.get("wcf.global.button.insert")}</button>\n </div>`;l.open({_dialogSetup:()=>({id:this._getInsertDialogId(),options:{onClose:()=>this._editorClose(),onSetup:e=>{e.querySelector(".buttonPrimary").addEventListener("click",(e=>this._insertMedia(e))),d.default.show(e.querySelector(".thumbnailSizeSelection"))},title:s.get("wcf.media.insert")},source:t})})}_click(e){this._activeButton=e.currentTarget,super._click(e)}_dialogShow(){if(super._dialogShow(),this._uploadData){const e=this._uploadData;if(e.file)this._upload.uploadFile(e.file);else{const e=this._uploadData;this._uploadId=this._upload.uploadBlob(e.blob)}this._uploadData=null}}_editorUpload(e){this._uploadData=e,l.open(this)}_getInsertDialogId(){return["mediaInsert",...this._mediaToInsert.keys()].join("-")}_getThumbnailSizes(){return["small","medium","large"].map((e=>Array.from(this._mediaToInsert.values()).every((t=>null!==t[e+"ThumbnailType"]))?e:null)).filter((e=>null!==e))}_insertMedia(e,t,i=!1){if(void 0===i&&(i=!0),e){l.close(this._getInsertDialogId());const i=e.currentTarget.closest(".dialogContent").querySelector("select[name=thumbnailSize]");t=i.value}null!==this._options.callbackInsert?this._options.callbackInsert(this._mediaToInsert,"separate",t):(this._options.editor.buffer.set(),this._mediaToInsert.forEach((e=>this._insertMediaItem(t,e)))),this._mediaToInsertByClipboard&&c.unmark("com.woltlab.wcf.media",Array.from(this._mediaToInsert.keys())),this._mediaToInsert=new Map,this._mediaToInsertByClipboard=!1,i&&l.close(this)}_insertMediaItem(e,t){if(t.isImage){let i="";["small","medium","large","original"].some((n=>0!=t[n+"ThumbnailHeight"]&&(i=n,e==n))),(e=i)||(e="original");let n=t.link;"original"!==e&&(n=t[e+"ThumbnailLink"]),this._options.editor.insert.html(`<img src="${n}" class="woltlabSuiteMedia" data-media-id="${t.mediaID}" data-media-size="${e}">`)}else this._options.editor.insert.text(`[wsm='${t.mediaID}'][/wsm]`)}_mediaUploaded(e){null!==this._uploadId&&this._upload===e.upload&&(this._uploadId===e.uploadId||Array.isArray(this._uploadId)&&-1!==this._uploadId.indexOf(e.uploadId))&&(this._mediaToInsert=new Map(e.media.entries()),this._insertMedia(null,"medium",!1),this._uploadId=null)}_openInsertDialog(e){const t=e.currentTarget;this.insertMedia([~~t.dataset.objectId])}clipboardInsertMedia(e){this.insertMedia(e,!0)}insertMedia(e,t){this._mediaToInsert=new Map,this._mediaToInsertByClipboard=t||!1;let i=!0;if(e.forEach((e=>{const t=this._media.get(e);this._mediaToInsert.set(t.mediaID,t),t.isImage||(i=!1)})),i){if(this._getThumbnailSizes().length){l.close(this);const e=this._getInsertDialogId();l.getDialog(e)?l.openStatic(e,null):this._buildInsertDialog()}else this._insertMedia(void 0,"original")}else this._insertMedia()}getMode(){return"editor"}setupMediaElement(e,t){super.setupMediaElement(e,t);const i=t.querySelector("nav.buttonGroupNavigation > ul"),n=document.createElement("li");n.className="jsMediaInsertButton",n.dataset.objectId=e.mediaID.toString(),i.appendChild(n),n.innerHTML=`\n <a>\n <span class="icon icon16 fa-plus jsTooltip" title="${s.get("wcf.global.button.insert")}"></span>\n <span class="invisible">${s.get("wcf.global.button.insert")}</span>\n </a>`}}return o.enableLegacyInheritance(u),u})),define("WoltLabSuite/Core/Media/Manager/Select",["require","exports","tslib","./Base","../../Core","../../Dom/Traverse","../../FileUtil","../../Language","../../Ui/Dialog","../../Dom/Util"],(function(e,t,i,n,o,r,a,s,l,c){"use strict";n=i.__importDefault(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importStar(l),c=i.__importDefault(c);class d extends n.default{constructor(e){super(e),this._activeButton=null,this._storeElements=new WeakMap,this._buttons=document.getElementsByClassName(this._options.buttonClass||"jsMediaSelectButton"),Array.from(this._buttons).forEach((e=>{const t=e.dataset.store;if(t){const i=document.getElementById(t);if(i&&"INPUT"===i.tagName){e.addEventListener("click",(e=>this._click(e))),this._storeElements.set(e,i);const t=document.createElement("p");t.className="button",e.insertAdjacentElement("afterend",t);const n=document.createElement("span");n.className="icon icon16 fa-times",t.appendChild(n),i.value||c.default.hide(t),t.addEventListener("click",(e=>this._removeMedia(e)))}}}))}_addButtonEventListeners(){super._addButtonEventListeners(),this._mediaManagerMediaList&&r.childrenByTag(this._mediaManagerMediaList,"LI").forEach((e=>{const t=e.querySelector(".jsMediaSelectButton");t&&(t.classList.remove("jsMediaSelectButton"),t.addEventListener("click",(e=>this._chooseMedia(e))))}))}_chooseMedia(e){if(null===this._activeButton)throw new Error("Media cannot be chosen if no button is active.");const t=e.currentTarget,i=this._media.get(~~t.dataset.objectId),n=document.getElementById(this._activeButton.dataset.store);n.value=i.mediaID.toString(),o.triggerEvent(n,"change");const r=this._activeButton.dataset.display;if(r){const e=document.getElementById(r);if(e)if(i.isImage){const t=i.smallThumbnailLink?i.smallThumbnailLink:i.link,n=i.altText&&i.altText[window.LANGUAGE_ID]?i.altText[window.LANGUAGE_ID]:"";e.innerHTML=`<img src="${t}" alt="${n}" />`}else{let t=a.getIconNameByFilename(i.filename);t&&(t="-"+t),e.innerHTML=`\n <div class="box48" style="margin-bottom: 10px;">\n <span class="icon icon48 fa-file${t}-o"></span>\n <div class="containerHeadline">\n <h3>${i.filename}</h3>\n <p>${i.formattedFilesize}</p>\n </div>\n </div>`}}this._activeButton.nextElementSibling.style.removeProperty("display"),l.close(this)}_click(e){if(e.preventDefault(),this._activeButton=e.currentTarget,super._click(e),!this._mediaManagerMediaList)return;const t=this._storeElements.get(this._activeButton);r.childrenByTag(this._mediaManagerMediaList,"LI").forEach((e=>{t.value&&t.value==e.dataset.objectId?e.classList.add("jsSelected"):e.classList.remove("jsSelected")}))}getMode(){return"select"}setupMediaElement(e,t){super.setupMediaElement(e,t);const i=t.querySelector("nav.buttonGroupNavigation > ul"),n=document.createElement("li");n.className="jsMediaSelectButton",n.dataset.objectId=e.mediaID.toString(),i.appendChild(n),n.innerHTML='<a><span class="icon icon16 fa-check jsTooltip" title="'+s.get("wcf.media.button.select")+'"></span> <span class="invisible">'+s.get("wcf.media.button.select")+"</span></a>"}_removeMedia(e){e.preventDefault();const t=e.currentTarget,i=t.previousElementSibling;t.remove();const n=document.getElementById(i.dataset.store);n.value="",o.triggerEvent(n,"change");const r=i.dataset.display;if(r){const e=document.getElementById(r);e&&(e.innerHTML="")}}}return o.enableLegacyInheritance(d),d})),define("WoltLabSuite/Core/Ui/Search/Input",["require","exports","tslib","../../Ajax","../../Core","../../Dom/Util","../Dropdown/Simple"],(function(e,t,i,n,o,r,a){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importDefault(a);class s{constructor(e,t){if(this.activeItem=void 0,this.callbackDropdownInit=void 0,this.callbackSelect=void 0,this.dropdownContainerId="",this.excludedSearchValues=new Set,this.list=void 0,this.lastValue="",this.request=void 0,this.timerDelay=void 0,this.element=e,!(this.element instanceof HTMLInputElement))throw new TypeError("Expected a valid DOM element.");if("INPUT"!==this.element.nodeName||"search"!==this.element.type&&"text"!==this.element.type)throw new Error('Expected an input[type="text"].');t=o.extend({ajax:{actionName:"getSearchResultList",className:"",interfaceName:"wcf\\data\\ISearchAction"},autoFocus:!0,callbackDropdownInit:void 0,callbackSelect:void 0,delay:500,excludedSearchValues:[],minLength:3,noResultPlaceholder:"",preventSubmit:!1},t),this.ajaxPayload=t.ajax,this.autoFocus=t.autoFocus,this.callbackDropdownInit=t.callbackDropdownInit,this.callbackSelect=t.callbackSelect,this.delay=t.delay,t.excludedSearchValues.forEach((e=>{this.addExcludedSearchValues(e)})),this.minLength=t.minLength,this.noResultPlaceholder=t.noResultPlaceholder,this.preventSubmit=t.preventSubmit,this.element.autocomplete="off",this.element.addEventListener("keydown",(e=>this.keydown(e))),this.element.addEventListener("keyup",(e=>this.keyup(e)))}addExcludedSearchValues(e){this.excludedSearchValues.add(e)}removeExcludedSearchValues(e){this.excludedSearchValues.delete(e)}keydown(e){(null!==this.activeItem&&a.default.isOpen(this.dropdownContainerId)||this.preventSubmit)&&"Enter"===e.key&&e.preventDefault(),["ArrowUp","ArrowDown","Escape"].includes(e.key)&&e.preventDefault()}keyup(e){if(null!==this.activeItem||!this.autoFocus)if(a.default.isOpen(this.dropdownContainerId)){if("ArrowUp"===e.key)return e.preventDefault(),this.keyboardPreviousItem();if("ArrowDown"===e.key)return e.preventDefault(),this.keyboardNextItem();if("Enter"===e.key)return e.preventDefault(),this.keyboardSelectItem()}else this.activeItem=void 0;if("Escape"===e.key)return void a.default.close(this.dropdownContainerId);const t=this.element.value.trim();this.lastValue!==t&&(this.lastValue=t,t.length<this.minLength?this.dropdownContainerId&&(a.default.close(this.dropdownContainerId),this.activeItem=void 0):this.delay?(this.timerDelay&&window.clearTimeout(this.timerDelay),this.timerDelay=window.setTimeout((()=>{this.search(t)}),this.delay)):this.search(t))}search(e){this.request&&this.request.abortPrevious(),this.request=n.api(this,this.getParameters(e))}getParameters(e){return{parameters:{data:{excludedSearchValues:this.excludedSearchValues,searchString:e}}}}keyboardNextItem(){let e;this.activeItem&&(this.activeItem.classList.remove("active"),this.activeItem.nextElementSibling&&(e=this.activeItem.nextElementSibling)),this.activeItem=e||this.list.children[0],this.activeItem.classList.add("active")}keyboardPreviousItem(){let e;this.activeItem&&(this.activeItem.classList.remove("active"),this.activeItem.previousElementSibling&&(e=this.activeItem.previousElementSibling)),this.activeItem=e||this.list.children[this.list.childElementCount-1],this.activeItem.classList.add("active")}keyboardSelectItem(){this.selectItem(this.activeItem)}clickSelectItem(e){this.selectItem(e.currentTarget)}selectItem(e){this.callbackSelect&&!this.callbackSelect(e)?this.element.value="":this.element.value=e.dataset.label||"",this.activeItem=void 0,a.default.close(this.dropdownContainerId)}_ajaxSuccess(e){let t=!1;if(this.list?this.list.innerHTML="":(this.list=document.createElement("ul"),this.list.className="dropdownMenu",t=!0,"function"==typeof this.callbackDropdownInit&&this.callbackDropdownInit(this.list)),"object"==typeof e.returnValues){const t=this.clickSelectItem.bind(this);Object.keys(e.returnValues).forEach((i=>{const n=this.createListItem(e.returnValues[i]);n.addEventListener("click",t),this.list.appendChild(n)}))}if(t){this.element.insertAdjacentElement("afterend",this.list);const e=this.element.parentElement;a.default.initFragment(e,this.list),this.dropdownContainerId=r.default.identify(e)}if(this.dropdownContainerId)if(this.activeItem=void 0,this.list.childElementCount||this.handleEmptyResult()){a.default.open(this.dropdownContainerId,!0,this.element);const e=this.list.childElementCount?this.list.children[0]:void 0;this.autoFocus&&e&&~~(e.dataset.objectId||"")&&(this.activeItem=e,this.activeItem.classList.add("active"))}else a.default.close(this.dropdownContainerId)}handleEmptyResult(){if(!this.noResultPlaceholder)return!1;const e=document.createElement("li");e.className="dropdownText";const t=document.createElement("span");return t.textContent=this.noResultPlaceholder,e.appendChild(t),this.list.appendChild(e),!0}createListItem(e){const t=document.createElement("li");t.dataset.objectId=e.objectID.toString(),t.dataset.label=e.label;const i=document.createElement("span");return i.textContent=e.label,t.appendChild(i),t}_ajaxSetup(){return{data:this.ajaxPayload}}}return o.enableLegacyInheritance(s),s})),define("WoltLabSuite/Core/Ui/User/Search/Input",["require","exports","tslib","../../../Core","../../Search/Input"],(function(e,t,i,n,o){"use strict";n=i.__importStar(n),o=i.__importDefault(o);class r extends o.default{constructor(e,t){const i=n.isPlainObject(t)&&!0===t.includeUserGroups;super(e,t=n.extend({ajax:{className:"wcf\\data\\user\\UserAction",parameters:{data:{includeUserGroups:i?1:0}}}},t))}createListItem(e){const t=super.createListItem(e);t.dataset.type=e.type;const i=document.createElement("div");return i.className="box16",i.innerHTML="group"===e.type?'<span class="icon icon16 fa-users"></span>':e.icon,i.appendChild(t.children[0]),t.appendChild(i),t}}return n.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Ui/Acl/Simple",["require","exports","tslib","../../Core","../../Language","../../StringUtil","../../Dom/Change/Listener","../../Dom/Util","../User/Search/Input"],(function(e,t,i,n,o,r,a,s,l){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importDefault(a),s=i.__importDefault(s),l=i.__importDefault(l);class c{constructor(e,t){this.prefix=e||"",this.inputName=t||"aclValues";const i=document.getElementById(this.prefix+"aclInputContainer"),n=document.getElementById(this.prefix+"invertPermissionsDl");document.getElementById(this.prefix+"aclAllowAll").addEventListener("change",(()=>{s.default.hide(i),n&&s.default.hide(n)}));document.getElementById(this.prefix+"aclAllowAll_no").addEventListener("change",(()=>{s.default.show(i),n&&s.default.show(n)})),this.list=document.getElementById(this.prefix+"aclAccessList"),this.list.addEventListener("click",this.removeItem.bind(this));const o=[];this.list.querySelectorAll(".aclLabel").forEach((e=>{o.push(e.textContent)})),this.searchInput=new l.default(document.getElementById(this.prefix+"aclSearchInput"),{callbackSelect:this.select.bind(this),includeUserGroups:!0,excludedSearchValues:o,preventSubmit:!0}),this.aclListContainer=document.getElementById(this.prefix+"aclListContainer");const r=document.getElementById(this.prefix+"invertPermissions");r&&r.addEventListener("change",(()=>{this.invertPermissions(!0)}));const c=document.getElementById(this.prefix+"invertPermissions_no");c&&c.addEventListener("change",(()=>{this.invertPermissions(!1)}));const d=document.getElementById(this.prefix+"invertPermissions");d&&this.invertPermissions(!!d.value),a.default.trigger()}select(e){const t=e.dataset.type,i=e.dataset.label,n=e.dataset.objectId,l=`<span class="icon icon16 fa-${"group"===t?"users":"user"}"></span>\n <span class="aclLabel">${r.escapeHTML(i)}</span>\n <span class="icon icon16 fa-times pointer jsTooltip" title="${o.get("wcf.global.button.delete")}"></span>\n <input type="hidden" name="${this.inputName}[${t}][]" value="${n}">`,c=document.createElement("li");c.innerHTML=l;const d=this.list.querySelector(".fa-user");return null===d?this.list.appendChild(c):this.list.insertBefore(c,d.parentNode),s.default.show(this.aclListContainer),this.searchInput.addExcludedSearchValues(i),a.default.trigger(),!1}removeItem(e){const t=e.target;if(t.classList.contains("fa-times")){const e=t.parentElement,i=e.querySelector(".aclLabel");this.searchInput.removeExcludedSearchValues(i.textContent),e.remove(),0===this.list.childElementCount&&s.default.hide(this.aclListContainer)}}invertPermissions(e){const t=document.getElementById(this.prefix+"aclListContainerDt"),i=document.getElementById(this.prefix+"aclSearchInputLabel");t.textContent=o.get(e?"wcf.acl.access.denied":"wcf.acl.access.granted"),i.textContent=o.get(e?"wcf.acl.access.deny":"wcf.acl.access.grant")}}return n.enableLegacyInheritance(c),c})),define("WoltLabSuite/Core/Ui/Article/MarkAllAsRead",["require","exports","tslib","../../Ajax"],(function(e,t,i,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,n=i.__importStar(n);class o{constructor(){document.querySelectorAll(".markAllAsReadButton").forEach((e=>{e.addEventListener("click",this.click.bind(this))}))}click(e){e.preventDefault(),n.api(this)}_ajaxSuccess(){const e=document.querySelector(".mainMenu .active .badge");e&&e.remove(),document.querySelectorAll(".articleList .newMessageBadge").forEach((e=>e.remove()))}_ajaxSetup(){return{data:{actionName:"markAllAsRead",className:"wcf\\data\\article\\ArticleAction"}}}}t.init=function(){new o}})),define("WoltLabSuite/Core/Ui/Article/Search",["require","exports","tslib","../../Ajax","../../Dom/Util","../../Language","../../StringUtil","../Dialog"],(function(e,t,i,n,o,r,a,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.open=void 0,n=i.__importStar(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importDefault(s);class l{constructor(){this.callbackSelect=void 0,this.resultContainer=void 0,this.resultList=void 0,this.searchInput=void 0}open(e){this.callbackSelect=e,s.default.open(this)}search(e){e.preventDefault();const t=this.searchInput.parentElement,i=this.searchInput.value.trim();i.length<3?o.default.innerError(t,r.get("wcf.article.search.error.tooShort")):(o.default.innerError(t,!1),n.api(this,{parameters:{searchString:i}}))}click(e){e.preventDefault();const t=e.currentTarget;this.callbackSelect(+t.dataset.articleId),s.default.close(this)}_ajaxSuccess(e){const t=e.returnValues.map((e=>`<li>\n <div class="containerHeadline pointer" data-article-id="${e.articleID}">\n <h3>${a.escapeHTML(e.name)}</h3>\n <small>${a.escapeHTML(e.displayLink)}</small>\n </div>\n </li>`)).join("");if(this.resultList.innerHTML=t,t?o.default.show(this.resultList):o.default.hide(this.resultList),t)this.resultList.querySelectorAll(".containerHeadline").forEach((e=>{e.addEventListener("click",this.click.bind(this))}));else{const e=this.searchInput.parentElement;o.default.innerError(e,r.get("wcf.article.search.error.noResults"))}}_ajaxSetup(){return{data:{actionName:"search",className:"wcf\\data\\article\\ArticleAction"}}}_dialogSetup(){return{id:"wcfUiArticleSearch",options:{onSetup:()=>{this.searchInput=document.getElementById("wcfUiArticleSearchInput"),this.searchInput.addEventListener("keydown",(e=>{"Enter"===e.key&&this.search(e)}));this.searchInput.nextElementSibling.addEventListener("click",this.search.bind(this)),this.resultContainer=document.getElementById("wcfUiArticleSearchResultContainer"),this.resultList=document.getElementById("wcfUiArticleSearchResultList")},onShow:()=>{this.searchInput.focus()},title:r.get("wcf.article.search")},source:`<div class="section">\n <dl>\n <dt>\n <label for="wcfUiArticleSearchInput">${r.get("wcf.article.search.name")}</label>\n </dt>\n <dd>\n <div class="inputAddon">\n <input type="text" id="wcfUiArticleSearchInput" class="long">\n <a href="#" class="inputSuffix"><span class="icon icon16 fa-search"></span></a>\n </div>\n </dd>\n </dl>\n </div>\n <section id="wcfUiArticleSearchResultContainer" class="section" style="display: none;">\n <header class="sectionHeader">\n <h2 class="sectionTitle">${r.get("wcf.article.search.results")}</h2>\n </header>\n <ol id="wcfUiArticleSearchResultList" class="containerList"></ol>\n </section>`}}}let c;t.open=function(e){(c||(c=new l),c).open(e)}})),define("WoltLabSuite/Core/Ui/Color/Picker",["require","exports","tslib","../../Core"],(function(e,t,i,n){"use strict";n=i.__importStar(n);let o=(e,t)=>{if("object"==typeof window.WCF&&"function"==typeof window.WCF.ColorPicker)return o=(e,t)=>{const i=new window.WCF.ColorPicker(e);return"function"==typeof t.callbackSubmit&&i.setCallbackSubmit(t.callbackSubmit),i},o(e,t);0===r.length&&(window.__wcf_bc_colorPickerInit=()=>{r.forEach((e=>{o(e[0],e[1])})),window.__wcf_bc_colorPickerInit=void 0,r=[]}),r.push([e,t])},r=[];class a{constructor(e,t){if(!(e instanceof Element))throw new TypeError("Expected a valid DOM element, use `UiColorPicker.fromSelector()` if you want to use a CSS selector.");t=n.extend({callbackSubmit:null},t||{}),o(e,t)}static fromSelector(e){document.querySelectorAll(e).forEach((e=>{new a(e)}))}}return n.enableLegacyInheritance(a),a})),define("WoltLabSuite/Core/Ui/Comment/Add",["require","exports","tslib","../../Ajax","../../Controller/Captcha","../../Core","../../Dom/Change/Listener","../../Dom/Util","../../Event/Handler","../../Language","../Dialog","../Scroll","../../User","../Notification"],(function(e,t,i,n,o,r,a,s,l,c,d,u,h,p){"use strict";n=i.__importStar(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importDefault(a),s=i.__importDefault(s),l=i.__importStar(l),c=i.__importStar(c),d=i.__importDefault(d),u=i.__importStar(u),h=i.__importDefault(h),p=i.__importStar(p);class m{constructor(e){this._editor=null,this._loadingOverlay=null,this._container=e,this._content=this._container.querySelector(".jsOuterEditorContainer"),this._textarea=this._container.querySelector(".wysiwygTextarea"),this._content.addEventListener("click",(e=>{this._content.classList.contains("collapsed")&&(e.preventDefault(),this._content.classList.remove("collapsed"),this._focusEditor())}));this._container.querySelector('button[data-type="save"]').addEventListener("click",(e=>this._submit(e)))}_focusEditor(){u.element(this._container,(()=>{window.jQuery(this._textarea).redactor("WoltLabCaret.endOfEditor")}))}_submitGuestDialog(e){if(e instanceof KeyboardEvent&&"Enter"!==e.key)return;const t=e.currentTarget.closest(".dialogContent").querySelector("input[name=username]");if(""===t.value)return s.default.innerError(t,c.get("wcf.global.form.error.empty")),void t.closest("dl").classList.add("formError");let i={parameters:{data:{username:t.value}}};if(o.default.has("commentAdd")){const e=o.default.getData("commentAdd");e instanceof Promise?e.then((e=>{i=r.extend(i,e),this._submit(void 0,i)})):(i=r.extend(i,e),this._submit(void 0,i))}else this._submit(void 0,i)}_submit(e,t){if(e&&e.preventDefault(),!this._validate())return;this._showLoadingOverlay();const i=this._getParameters();l.fire("com.woltlab.wcf.redactor2","submit_text",i.data),h.default.userId||t||(i.requireGuestDialog=!0),n.api(this,r.extend({parameters:i},t))}_getParameters(){const e=this._container.closest(".commentList");return{data:{message:this._getEditor().code.get(),objectID:~~e.dataset.objectId,objectTypeID:~~e.dataset.objectTypeId}}}_validate(){if(this._container.querySelectorAll(".innerError").forEach((e=>e.remove())),this._getEditor().utils.isEmpty())return this.throwError(this._textarea,c.get("wcf.global.form.error.empty")),!1;const e={api:this,editor:this._getEditor(),message:this._getEditor().code.get(),valid:!0};return l.fire("com.woltlab.wcf.redactor2","validate_text",e),e.valid}throwError(e,t){s.default.innerError(e,"empty"===t?c.get("wcf.global.form.error.empty"):t)}_showLoadingOverlay(){null===this._loadingOverlay&&(this._loadingOverlay=document.createElement("div"),this._loadingOverlay.className="commentLoadingOverlay",this._loadingOverlay.innerHTML='<span class="icon icon96 fa-spinner"></span>'),this._content.classList.add("loading"),this._content.appendChild(this._loadingOverlay)}_hideLoadingOverlay(){this._content.classList.remove("loading");const e=this._content.querySelector(".commentLoadingOverlay");null!==e&&e.remove()}_reset(){this._getEditor().code.set("<p></p>"),l.fire("com.woltlab.wcf.redactor2","reset_text"),document.activeElement instanceof HTMLElement&&document.activeElement.blur(),this._content.classList.add("collapsed")}_handleError(e){this.throwError(this._textarea,e.returnValues.errorType)}_getEditor(){if(null===this._editor){if("function"!=typeof window.jQuery)throw new Error("Unable to access editor, jQuery has not been loaded yet.");this._editor=window.jQuery(this._textarea).data("redactor")}return this._editor}_insertMessage(e){return s.default.insertHtml(e.returnValues.template,this._container,"after"),p.show(c.get("wcf.global.success.add")),a.default.trigger(),this._container.nextElementSibling}_ajaxSuccess(e){if(!h.default.userId&&e.returnValues.guestDialog){d.default.openStatic("jsDialogGuestComment",e.returnValues.guestDialog,{closable:!1,onClose:()=>{o.default.has("commentAdd")&&o.default.delete("commentAdd")},title:c.get("wcf.global.confirmation.title")});const t=d.default.getDialog("jsDialogGuestComment");t.content.querySelector("input[type=submit]").addEventListener("click",(e=>this._submitGuestDialog(e)));t.content.querySelector('button[data-type="cancel"]').addEventListener("click",(()=>this._cancelGuestDialog()));t.content.querySelector("input[type=text]").addEventListener("keypress",(e=>this._submitGuestDialog(e)))}else{const t=this._insertMessage(e);h.default.userId||d.default.close("jsDialogGuestComment"),this._reset(),this._hideLoadingOverlay(),window.setTimeout((()=>{u.element(t)}),100)}}_ajaxFailure(e){return this._hideLoadingOverlay(),null===e||void 0===e.returnValues||void 0===e.returnValues.errorType||(this._handleError(e),!1)}_ajaxSetup(){return{data:{actionName:"addComment",className:"wcf\\data\\comment\\CommentAction"},silent:!0}}_cancelGuestDialog(){d.default.close("jsDialogGuestComment"),this._hideLoadingOverlay()}}return r.enableLegacyInheritance(m),m})),define("WoltLabSuite/Core/Ui/Comment/Edit",["require","exports","tslib","../../Ajax","../../Core","../../Dom/Change/Listener","../../Dom/Util","../../Environment","../../Event/Handler","../../Language","../Scroll","../Notification"],(function(e,t,i,n,o,r,a,s,l,c,d,u){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importDefault(a),s=i.__importStar(s),l=i.__importStar(l),c=i.__importStar(c),d=i.__importStar(d),u=i.__importStar(u);class h{constructor(e){this._activeElement=null,this._comments=new WeakSet,this._editorContainer=null,this._container=e,this.rebuild(),r.default.add("Ui/Comment/Edit_"+a.default.identify(this._container),this.rebuild.bind(this))}rebuild(){this._container.querySelectorAll(".comment").forEach((e=>{if(!this._comments.has(e)){if(o.stringToBool(e.dataset.canEdit||"")){const t=e.querySelector(".jsCommentEditButton");null!==t&&t.addEventListener("click",(e=>this._click(e)))}this._comments.add(e)}}))}_click(e){if(e.preventDefault(),null===this._activeElement){const t=e.currentTarget;this._activeElement=t.closest(".comment"),this._prepare(),n.api(this,{actionName:"beginEdit",objectIDs:[this._getObjectId(this._activeElement)]})}else u.show("wcf.message.error.editorAlreadyInUse",null,"warning")}_prepare(){this._editorContainer=document.createElement("div"),this._editorContainer.className="commentEditorContainer",this._editorContainer.innerHTML='<span class="icon icon48 fa-spinner"></span>';const e=this._activeElement.querySelector(".commentContentContainer");e.insertBefore(this._editorContainer,e.firstChild)}_showEditor(e){const t=this._getEditorId(),i=this._editorContainer;i.querySelector(".icon").remove();const n=document.createElement("div");n.className="editorContainer",a.default.setInnerHtml(n,e.returnValues.template),i.appendChild(n);const o=i.querySelector(".formSubmit");o.querySelector('button[data-type="save"]').addEventListener("click",(()=>this._save()));o.querySelector('button[data-type="cancel"]').addEventListener("click",(()=>this._restoreMessage())),l.add("com.woltlab.wcf.redactor",`submitEditor_${t}`,(e=>{e.cancel=!0,this._save()}));const r=document.getElementById(t);"redactor"===s.editor()?window.setTimeout((()=>{d.element(this._activeElement)}),250):r.focus()}_restoreMessage(){this._destroyEditor(),this._editorContainer.remove(),this._activeElement=null}_save(){const e={data:{message:""}},t=this._getEditorId();l.fire("com.woltlab.wcf.redactor2",`getText_${t}`,e.data),this._validate(e)&&(l.fire("com.woltlab.wcf.redactor2",`submit_${t}`,e),n.api(this,{actionName:"save",objectIDs:[this._getObjectId(this._activeElement)],parameters:e}),this._hideEditor())}_validate(e){this._activeElement.querySelectorAll(".innerError").forEach((e=>e.remove()));const t=document.getElementById(this._getEditorId());if(window.jQuery(t).data("redactor").utils.isEmpty())return this.throwError(t,c.get("wcf.global.form.error.empty")),!1;const i={api:this,parameters:e,valid:!0};return l.fire("com.woltlab.wcf.redactor2","validate_"+this._getEditorId(),i),i.valid}throwError(e,t){a.default.innerError(e,t)}_showMessage(e){const t=this._editorContainer.parentElement.querySelector(".commentContent .userMessage");a.default.setInnerHtml(t,e.returnValues.message),this._restoreMessage(),u.show()}_hideEditor(){const e=this._editorContainer.querySelector(".editorContainer");a.default.hide(e);const t=document.createElement("span");t.className="icon icon48 fa-spinner",this._editorContainer.appendChild(t)}_restoreEditor(){this._editorContainer.querySelector(".fa-spinner").remove();const e=this._editorContainer.querySelector(".editorContainer");null!==e&&a.default.show(e)}_destroyEditor(){l.fire("com.woltlab.wcf.redactor2",`autosaveDestroy_${this._getEditorId()}`),l.fire("com.woltlab.wcf.redactor2",`destroy_${this._getEditorId()}`)}_getEditorId(){return`commentEditor${this._getObjectId(this._activeElement)}`}_getObjectId(e){return~~e.dataset.objectId}_ajaxFailure(e){const t=this._editorContainer.querySelector(".redactor-layer");return null===t?(this._restoreMessage(),!0):(this._restoreEditor(),!e||void 0===e.returnValues||void 0===e.returnValues.errorType||(a.default.innerError(t,e.returnValues.errorType),!1))}_ajaxSuccess(e){switch(e.actionName){case"beginEdit":this._showEditor(e);break;case"save":this._showMessage(e)}}_ajaxSetup(){return{data:{className:"wcf\\data\\comment\\CommentAction",parameters:{data:{objectTypeID:~~this._container.dataset.objectTypeId}}},silent:!0}}}return o.enableLegacyInheritance(h),h})),define("WoltLabSuite/Core/Ui/Dialog/Data",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})})),define("WoltLabSuite/Core/Ui/Dropdown/Builder",["require","exports","tslib","../../Core","./Simple"],(function(e,t,i,n,o){"use strict";function r(e){if(!(e instanceof HTMLUListElement))throw new TypeError("Expected a reference to an <ul> element.");if(!e.classList.contains("dropdownMenu"))throw new Error("List does not appear to be a dropdown menu.")}function a(e){const t=document.createElement("li");if("divider"===e)return t.className="dropdownDivider",t;"string"==typeof e.identifier&&(t.dataset.identifier=e.identifier);const i=document.createElement("a");if(i.href="string"==typeof e.href?e.href:"#","function"==typeof e.callback)i.addEventListener("click",(t=>{t.preventDefault(),e.callback(i)}));else if("#"===i.href)throw new Error("Expected either a `href` value or a `callback`.");if(e.attributes&&n.isPlainObject(e.attributes)&&Object.keys(e.attributes).forEach((t=>{const n=e.attributes[t];if("string"!=typeof n)throw new Error("Expected only string values.");-1!==t.indexOf("-")?i.setAttribute(`data-${t}`,n):i.dataset[t]=n})),t.appendChild(i),void 0!==e.icon&&n.isPlainObject(e.icon)){if("string"!=typeof e.icon.name)throw new TypeError("Expected a valid icon name.");let t=16;"number"==typeof e.icon.size&&-1!==c.indexOf(~~e.icon.size)&&(t=~~e.icon.size);const n=document.createElement("span");n.className=`icon icon${t} fa-${e.icon.name}`,i.appendChild(n)}const o="string"==typeof e.label?e.label.trim():"",r="string"==typeof e.labelHtml?e.labelHtml.trim():"";if(""===o&&""===r)throw new TypeError("Expected either a label or a `labelHtml`.");const a=document.createElement("span");return a[o?"textContent":"innerHTML"]=o||r,i.appendChild(document.createTextNode(" ")),i.appendChild(a),t}function s(e,t){r(e),e.appendChild(a(t))}function l(e,t){if(r(e),!Array.isArray(t))throw new TypeError("Expected an array of items.");const i=t.length;if(0===i)throw new Error("Expected a non-empty list of items.");if(1===i)s(e,t[0]);else{const i=document.createDocumentFragment();t.forEach((e=>{i.appendChild(a(e))})),e.appendChild(i)}}Object.defineProperty(t,"__esModule",{value:!0}),t.divider=t.attach=t.setItems=t.appendItems=t.appendItem=t.buildItem=t.create=void 0,n=i.__importStar(n),o=i.__importDefault(o);const c=[16,24,32,48,64,96,144];t.create=function(e,t){const i=document.createElement("ul");return i.className="dropdownMenu","string"==typeof t&&(i.dataset.identifier=t),Array.isArray(e)&&e.length>0&&l(i,e),i},t.buildItem=function(e){return a(e)},t.appendItem=s,t.appendItems=l,t.setItems=function(e,t){r(e),e.innerHTML="",l(e,t)},t.attach=function(e,t){r(e),o.default.initFragment(t,e),t.addEventListener("click",(e=>{e.preventDefault(),e.stopPropagation(),o.default.toggleDropdown(t.id)}))},t.divider=function(){return"divider"}})),define("WoltLabSuite/Core/Ui/Dropdown/Data",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})})),define("WoltLabSuite/Core/Ui/File/Data",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})})),define("WoltLabSuite/Core/Ui/File/Delete",["require","exports","tslib","../../Ajax","../../Core","../../Dom/Change/Listener","../../Language"],(function(e,t,i,n,o,r,a){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importStar(a);class s{constructor(e,t,i,n){this.containers=new Map,this.deleteButton=void 0,this.isSingleImagePreview=i,this.uploadHandler=n;const o=document.getElementById(e);if(null===o)throw new Error(`Element id '${e}' is unknown.`);this.buttonContainer=o;const r=document.getElementById(t);if(null===r)throw new Error(`Element id '${t}' is unknown.`);this.target=r;const a=this.target.dataset.internalId;if(!a)throw new Error("InternalId is unknown.");this.internalId=a,this.rebuild()}createButtons(){let e=!1;this.target.querySelectorAll("li.uploadedFile").forEach((t=>{const i=t.dataset.uniqueFileId;if(this.containers.has(i))return;const n={uniqueFileId:i,element:t};this.containers.set(i,n),this.initDeleteButton(t,n),e=!0})),e&&r.default.trigger()}initDeleteButton(e,t){const i=e.querySelector(".buttonGroup");if(null===i)throw new Error(`Button group in '${this.target.id}' is unknown.`);const n=document.createElement("li"),o=document.createElement("span");o.className="button jsDeleteButton small",o.textContent=a.get("wcf.global.button.delete"),n.appendChild(o),i.appendChild(n),n.addEventListener("click",this.deleteElement.bind(this,t.uniqueFileId))}deleteElement(e){n.api(this,{uniqueFileId:e,internalId:this.internalId})}rebuild(){if(!this.isSingleImagePreview)return void this.createButtons();const e=this.target.querySelector("img");if(null!==e){const t=e.dataset.uniqueFileId;if(!this.containers.has(t)){const i={uniqueFileId:t,element:e};this.containers.set(t,i),this.deleteButton=document.createElement("p"),this.deleteButton.className="button deleteButton";const n=document.createElement("span");n.textContent=a.get("wcf.global.button.delete"),this.deleteButton.appendChild(n),this.buttonContainer.appendChild(this.deleteButton),this.deleteButton.addEventListener("click",this.deleteElement.bind(this,i.uniqueFileId))}}}_ajaxSuccess(e){this.containers.get(e.uniqueFileId).element.remove(),this.isSingleImagePreview&&this.deleteButton&&(this.deleteButton.remove(),this.deleteButton=void 0),this.uploadHandler.checkMaxFiles(),o.triggerEvent(this.target,"change")}_ajaxSetup(){return{url:"index.php?ajax-file-delete/&t="+window.SECURITY_TOKEN}}}return o.enableLegacyInheritance(s),s})),define("WoltLabSuite/Core/Ui/File/Upload",["require","exports","tslib","../../Core","./Delete","../../Dom/Util","../../Language","../../Upload"],(function(e,t,i,n,o,r,a,s){"use strict";n=i.__importStar(n),o=i.__importDefault(o),r=i.__importDefault(r),a=i.__importStar(a),s=i.__importDefault(s);class l extends s.default{constructor(e,t,i){if(void 0===(i=i||{}).internalId)throw new Error("Missing internal id.");(i=n.extend({imagePreview:!1,maxFiles:null,className:"invalid",url:`index.php?ajax-file-upload/&t=${window.SECURITY_TOKEN}`},i)).multiple=null===i.maxFiles||i.maxFiles>1,super(e,t,i),this.checkMaxFiles(),this._deleteHandler=new o.default(e,t,this._options.imagePreview,this)}_createFileElement(e){const t=super._createFileElement(e);t.classList.add("box64","uploadedFile");const i=t.querySelector("progress"),n=document.createElement("span");n.className="icon icon64 fa-spinner";const o=t.textContent;t.textContent="",t.append(n);const r=document.createElement("div"),a=document.createElement("p");a.textContent=o;const s=document.createElement("small");s.appendChild(i),r.appendChild(a),r.appendChild(s);const l=document.createElement("div");l.appendChild(r);const c=document.createElement("ul");return c.className="buttonGroup",l.appendChild(c),t.append(l),t}_failure(e,t){throw this._fileElements[e].forEach((e=>{e.classList.add("uploadFailed");const t=e.querySelector("small");t.innerHTML="";const i=e.querySelector(".icon");i.classList.remove("fa-spinner"),i.classList.add("fa-ban");const n=document.createElement("span");n.className="innerError",n.textContent=a.get("wcf.upload.error.uploadFailed"),t.insertAdjacentElement("afterend",n)})),new Error(`Upload failed: ${t.message}`)}_upload(e,t,i){const n=this._buttonContainer.parentElement.querySelector("small.innerError:not(.innerFileError)");return n&&n.remove(),super._upload(e,t,i)}_success(e,t){this._fileElements[e].forEach(((i,n)=>{if(void 0!==t.files[n]){const e=t.files[n];if(this._options.imagePreview){if(null===e.image)throw new Error("Expect image for uploaded file. None given.");i.remove();const t=this._target.querySelector("img.previewImage");if(null!==t)t.src=e.image;else{const t=document.createElement("img");t.classList.add("previewImage"),t.src=e.image,t.style.setProperty("max-width","100%",""),t.dataset.uniqueFileId=e.uniqueFileId,this._target.appendChild(t)}}else{i.dataset.uniqueFileId=e.uniqueFileId,i.querySelector("small").textContent=e.filesize.toString();const t=i.querySelector(".icon");t.classList.remove("fa-spinner"),t.classList.add(`fa-${e.icon}`)}}else{if(void 0===t.error[n])throw new Error(`Unknown uploaded file for uploadId ${e}.`);{const e=t.error[n];i.classList.add("uploadFailed");const o=i.querySelector("small");o.innerHTML="";const r=i.querySelector(".icon");r.classList.remove("fa-spinner"),r.classList.add("fa-ban");let a=i.querySelector(".innerError");null===a?(a=document.createElement("span"),a.className="innerError",a.textContent=e.errorMessage,o.insertAdjacentElement("afterend",a)):a.textContent=e.errorMessage}}})),this._deleteHandler.rebuild(),this.checkMaxFiles(),n.triggerEvent(this._target,"change")}_getFormData(){return{internalId:this._options.internalId}}validateUpload(e){if(null===this._options.maxFiles||e.length+this.countFiles()<=this._options.maxFiles)return!0;{let e=this._buttonContainer.parentElement.querySelector("small.innerError:not(.innerFileError)");return null===e&&(e=document.createElement("small"),e.className="innerError",this._buttonContainer.insertAdjacentElement("afterend",e)),e.textContent=a.get("wcf.upload.error.reachedRemainingLimit",{maxFiles:this._options.maxFiles-this.countFiles()}),!1}}countFiles(){return this._options.imagePreview?null!==this._target.querySelector("img")?1:0:this._target.childElementCount}checkMaxFiles(){null!==this._options.maxFiles&&this.countFiles()>=this._options.maxFiles?r.default.hide(this._button):r.default.show(this._button)}}return n.enableLegacyInheritance(l),l})),define("WoltLabSuite/Core/Ui/ItemList/Filter",["require","exports","tslib","../../Core","../../Dom/Util","../../Language","../../StringUtil","../Dropdown/Simple"],(function(e,t,i,n,o,r,a,s){"use strict";n=i.__importStar(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importDefault(s);class l{constructor(e,t){this._dropdownId="",this._dropdown=void 0,this._fragment=void 0,this._items=new Set,this._value="",this._options=n.extend({callbackPrepareItem:void 0,enableVisibilityFilter:!0,filterPosition:"bottom"},t),"top"!==this._options.filterPosition&&(this._options.filterPosition="bottom");const i=document.getElementById(e);if(null===i)throw new Error("Expected a valid element id, '"+e+"' does not match anything.");if(!i.classList.contains("scrollableCheckboxList")&&"function"!=typeof this._options.callbackPrepareItem)throw new Error("Filter only works with elements with the CSS class 'scrollableCheckboxList'.");"function"!=typeof this._options.callbackPrepareItem&&(this._options.callbackPrepareItem=e=>this._prepareItem(e)),i.dataset.filter="showAll";const o=document.createElement("div");o.className="itemListFilter",i.insertAdjacentElement("beforebegin",o),o.appendChild(i);const a=document.createElement("div");a.className="inputAddon";const s=document.createElement("input");s.className="long",s.type="text",s.placeholder=r.get("wcf.global.filter.placeholder"),s.addEventListener("keydown",(e=>{"Enter"===e.key&&e.preventDefault()})),s.addEventListener("keyup",(()=>this._keyup()));const l=document.createElement("a");if(l.href="#",l.className="button inputSuffix jsTooltip",l.title=r.get("wcf.global.filter.button.clear"),l.innerHTML='<span class="icon icon16 fa-times"></span>',l.addEventListener("click",(e=>{e.preventDefault(),this.reset()})),a.appendChild(s),a.appendChild(l),this._options.enableVisibilityFilter){const e=document.createElement("a");e.href="#",e.className="button inputSuffix jsTooltip",e.title=r.get("wcf.global.filter.button.visibility"),e.innerHTML='<span class="icon icon16 fa-eye"></span>',e.addEventListener("click",(e=>this._toggleVisibility(e))),a.appendChild(e)}"bottom"===this._options.filterPosition?o.appendChild(a):o.insertBefore(a,i),this._container=o,this._element=i,this._input=s}reset(){this._input.value="",this._keyup()}_buildItems(){this._items.clear(),Array.from(this._element.children).forEach((e=>{this._items.add(this._options.callbackPrepareItem(e))}))}_prepareItem(e){const t=e.children[0],i=t.textContent.trim(),n=t.children[0];for(;n.nextSibling;)t.removeChild(n.nextSibling);t.appendChild(document.createTextNode(" "));const o=document.createElement("span");return o.textContent=i,t.appendChild(o),{item:e,span:o,text:i}}_keyup(){const e=this._input.value.trim();if(this._value===e)return;this._fragment||(this._fragment=document.createDocumentFragment(),this._element.style.setProperty("height",`${this._element.offsetHeight}px`,"")),this._fragment.appendChild(this._element),this._items.size||this._buildItems();const t=new RegExp("("+a.escapeRegExp(e)+")","i");let i=""===e;this._items.forEach((n=>{""===e?(n.span.textContent=n.text,o.default.show(n.item)):t.test(n.text)?(n.span.innerHTML=n.text.replace(t,"<u>$1</u>"),o.default.show(n.item),i=!0):o.default.hide(n.item)})),"bottom"===this._options.filterPosition?this._container.insertAdjacentElement("afterbegin",this._element):this._container.insertAdjacentElement("beforeend",this._element),this._value=e,o.default.innerError(this._container,!i&&r.get("wcf.global.filter.error.noMatches"))}_toggleVisibility(e){e.preventDefault(),e.stopPropagation();const t=e.currentTarget;if(!this._dropdown){const e=document.createElement("ul");e.className="dropdownMenu",["activeOnly","highlightActive","showAll"].forEach((t=>{const i=document.createElement("a");i.dataset.type=t,i.href="#",i.textContent=r.get(`wcf.global.filter.visibility.${t}`),i.addEventListener("click",(e=>this._setVisibility(e)));const n=document.createElement("li");if(n.appendChild(i),"showAll"===t){n.className="active";const t=document.createElement("li");t.className="dropdownDivider",e.appendChild(t)}e.appendChild(n)})),s.default.initFragment(t,e),this._setupVisibilityFilter(),this._dropdown=e,this._dropdownId=t.id}s.default.toggleDropdown(t.id,t)}_setupVisibilityFilter(){const e=this._element.nextSibling,t=this._element.parentElement,i=this._element.scrollTop;document.createDocumentFragment().appendChild(this._element),this._element.querySelectorAll("li").forEach((e=>{const t=e.querySelector('input[type="checkbox"]');if(t)t.checked&&e.classList.add("active"),t.addEventListener("change",(()=>{t.checked?e.classList.add("active"):e.classList.remove("active")}));else{const t=e.querySelector('input[type="radio"]');t&&(t.checked&&e.classList.add("active"),t.addEventListener("change",(()=>{this._element.querySelectorAll("li").forEach((e=>e.classList.remove("active"))),t.checked?e.classList.add("active"):e.classList.remove("active")})))}})),t.insertBefore(this._element,e),this._element.scrollTop=i}_setVisibility(e){e.preventDefault();const t=e.currentTarget,i=t.dataset.type;if(s.default.close(this._dropdownId),this._element.dataset.filter===i)return;this._element.dataset.filter=i;this._dropdown.querySelector(".active").classList.remove("active"),t.parentElement.classList.add("active");const n=document.getElementById(this._dropdownId);"showAll"===i?n.classList.remove("active"):n.classList.add("active");const o=n.querySelector(".icon");"showAll"===i?(o.classList.add("fa-eye"),o.classList.remove("fa-eye-slash")):(o.classList.remove("fa-eye"),o.classList.add("fa-eye-slash"))}}return n.enableLegacyInheritance(l),l})),define("WoltLabSuite/Core/Ui/ItemList/LineBreakSeparatedText",["require","exports","tslib","../Confirmation","../../Language","../../Dom/Util"],(function(e,t,i,n,o,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UiItemListLineBreakSeparatedText=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r);class a{constructor(e,t={}){if(this.addButton=void 0,this.clearButton=void 0,this.itemInput=void 0,this.items=new Set,this.submitField=void 0,this.uiDisabled=!1,this.itemList=e,this.options=t,!this.options.submitFieldName){const e=this.itemList.nextElementSibling;if(!(e instanceof HTMLInputElement&&"hidden"===e.type))throw new Error("Missing `submitFieldName` option");this.submitField=e}this.itemList.closest("form").addEventListener("submit",(()=>this.submit())),this.mutationObserver=new MutationObserver((e=>{e.forEach((e=>{if("readonly"===e.attributeName){e.target.readOnly?this.disableUi():this.enableUi()}}))})),this.initValues(),this.buildUi()}addItem(e){if(e.preventDefault(),this.uiDisabled)return;const t=this.itemInput,i=t.value.trim();""===i?r.default.innerError(t.parentElement,o.get("wcf.global.form.error.empty")):this.items.has(i)?r.default.innerError(t.parentElement,o.get("wcf.acp.option.type.lineBreakSeparatedText.error.duplicate",{item:i}),!0):(this.insertItem(i),this.resetInput()),t.focus()}buildUi(){const e=document.createElement("div");e.classList.add("itemListFilter"),this.itemList.insertAdjacentElement("beforebegin",e),e.appendChild(this.itemList);const t=document.createElement("div");t.classList.add("inputAddon"),e.appendChild(t),this.itemInput=document.createElement("input"),this.itemInput.classList.add("long"),this.itemInput.type="text",this.itemInput.placeholder=o.get("wcf.acp.option.type.lineBreakSeparatedText.placeholder"),this.itemInput.addEventListener("keydown",(e=>this.keydown(e))),this.itemInput.addEventListener("paste",(e=>this.paste(e))),t.appendChild(this.itemInput),this.mutationObserver.observe(this.itemInput,{attributes:!0}),this.addButton=document.createElement("a"),this.addButton.href="#",this.addButton.classList.add("button","inputSuffix","jsTooltip"),this.addButton.title=o.get("wcf.global.button.add"),this.addButton.innerHTML='<span class="icon icon16 fa-plus"></span>',this.addButton.addEventListener("click",(e=>this.addItem(e))),t.appendChild(this.addButton),this.clearButton=document.createElement("a"),this.clearButton.href="#",this.clearButton.classList.add("button","inputSuffix","jsTooltip"),this.clearButton.title=o.get("wcf.global.button.delete"),this.clearButton.innerHTML='<span class="icon icon16 fa-times"></span>',this.clearButton.addEventListener("click",(e=>this.clearList(e))),t.appendChild(this.clearButton),0===this.items.size&&r.default.hide(this.clearButton)}clearList(e){e.preventDefault(),this.uiDisabled||n.show({confirm:()=>{this.itemList.innerHTML="",this.items.clear(),this.hideList()},message:o.get("wcf.acp.option.type.lineBreakSeparatedText.clearList.confirmMessage"),messageIsHtml:!0})}deleteItem(e){if(this.uiDisabled)return;const t=e.currentTarget,i=t.closest("li").dataset.value;n.show({confirm:()=>{t.closest("li").remove(),0===this.itemList.childElementCount&&this.hideList(),this.items.delete(i)},message:o.get("wcf.button.delete.confirmMessage",{objectTitle:i}),messageIsHtml:!0})}disableUi(){this.addButton.classList.add("disabled"),this.clearButton.classList.add("disabled"),this.itemList.querySelectorAll(".jsDeleteItem").forEach((e=>e.classList.add("disabled"))),this.uiDisabled=!0}enableUi(){this.addButton.classList.remove("disabled"),this.clearButton.classList.remove("disabled"),this.itemList.querySelectorAll(".jsDeleteItem").forEach((e=>e.classList.remove("disabled"))),this.uiDisabled=!1}hideList(){r.default.hide(this.itemList),r.default.hide(this.clearButton)}initValues(){Array.from(this.itemList.children).forEach((e=>{this.items.add(e.dataset.value),e.querySelector(".jsDeleteItem").addEventListener("click",(e=>this.deleteItem(e)))}))}insertItem(e){this.items.add(e);const t=document.createElement("li");t.dataset.value=e;const i=document.createElement("span");i.classList.add("icon","icon16","fa-times","jsDeleteItem","jsTooltip","pointer"),i.title=o.get("wcf.global.button.delete"),i.addEventListener("click",(e=>this.deleteItem(e))),t.append(i),t.append(document.createTextNode(" "));const n=document.createElement("span");n.innerText=e,t.append(n);const r=Array.from(this.itemList.children).find((t=>t.dataset.value>e));r?this.itemList.insertBefore(t,r):this.itemList.append(t),this.showList()}keydown(e){"Enter"===e.key&&this.addItem(e)}paste(e){if(this.uiDisabled)return;const t=e.clipboardData.getData("text/plain").split("\n");t.length>1&&(e.preventDefault(),t.forEach((e=>this.insertItem(e))),this.resetInput())}resetInput(){r.default.innerError(this.itemInput.parentElement,""),this.itemInput.value=""}showList(){r.default.show(this.itemList),r.default.show(this.clearButton)}submit(){const e=Array.from(this.items).join("\n");if(this.submitField)this.submitField.value=e;else{const t=document.createElement("input");t.type="hidden",t.name=this.options.submitFieldName,t.value=e,this.itemList.parentElement.append(t)}}}t.UiItemListLineBreakSeparatedText=a,t.default=a})),define("WoltLabSuite/Core/Ui/ItemList/Static",["require","exports","tslib","../../Core","../../Dom/Traverse","../../Language","../Dropdown/Simple"],(function(e,t,i,n,o,r,a){"use strict";function s(e,t){const i=document.createElement("ol");i.className="inputItemList"+(e.disabled?" disabled":""),i.dataset.elementId=e.id,i.addEventListener("click",(t=>{t.target===i&&e.focus()}));const n=document.createElement("li");let o;n.className="input",i.appendChild(n),e.addEventListener("keydown",(e=>function(e){const t=e.currentTarget,i=t.parentElement.previousElementSibling;"Backspace"===e.key?0===t.value.length&&null!==i&&(i.classList.contains("active")?d(i):i.classList.add("active")):"Escape"===e.key&&null!==i&&i.classList.contains("active")&&i.classList.remove("active")}(e))),e.addEventListener("keypress",(e=>function(e){if("Enter"===e.key||"Comma"===e.key){e.preventDefault();const t=e.currentTarget,i=t.value.trim();i.length&&c(t.id,{objectId:0,value:i})}}(e))),e.addEventListener("keyup",(e=>function(e){const t=e.currentTarget;if(t.value.length>0){const e=t.parentElement.previousElementSibling;null!==e&&e.classList.remove("active")}}(e))),e.addEventListener("paste",(e=>function(e){const t=e.currentTarget;e.clipboardData.getData("text/plain").split(",").map((e=>e.trim())).filter((e=>e.length>0)).forEach((e=>{c(t.id,{objectId:0,value:e})})),e.preventDefault()}(e))),e.addEventListener("blur",(e=>function(e){const t=e.currentTarget;window.setTimeout((()=>{const e=t.value.trim();e.length&&c(t.id,{objectId:0,value:e})}),100)}(e))),e.insertAdjacentElement("beforebegin",i),n.appendChild(e),-1!==t.maxLength&&(e.maxLength=t.maxLength);let r=[];if(t.isCSV&&(o=document.createElement("input"),o.className="itemListInputShadow",o.type="hidden",o.name=e.name,e.removeAttribute("name"),i.insertAdjacentElement("beforebegin",o),r=e.value.split(",").map((e=>e.trim())).filter((e=>e.length>0)),"TEXTAREA"===e.nodeName)){const t=document.createElement("input");t.type="text",e.parentElement.insertBefore(t,e),t.id=e.id,e.remove(),e=t}return{element:e,list:i,shadow:o,values:r}}function l(e){const t=p.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,t.element.placeholder=r.get("wcf.global.form.input.maxItems")))}function c(e,t,i){const n=p.get(e),o=document.createElement("li");o.className="item";const r=document.createElement("span");if(r.className="content",r.dataset.objectId=t.objectId.toString(),r.textContent=t.value,o.appendChild(r),i||!n.element.disabled){const e=document.createElement("a");e.className="icon icon16 fa-times",e.addEventListener("click",(e=>d(e))),o.appendChild(e)}n.list.insertBefore(o,n.listItem),n.element.value="",n.element.disabled||l(e);let a=u(n);"function"==typeof n.options.callbackChange&&(null===a&&(a=h(e)),n.options.callbackChange(e,a))}function d(e,t){e instanceof Event&&(e=e.currentTarget.parentElement);const i=e.parentElement.dataset.elementId,n=p.get(i);e.remove(),t||n.element.focus(),l(i);let o=u(n);"function"==typeof n.options.callbackChange&&(null===o&&(o=h(i)),n.options.callbackChange(i,o))}function u(e){if(!e.options.isCSV)return null;const t=h(e.element.id);return e.shadow.value=t.map((e=>e.value)).join(","),t}function h(e){if(!p.has(e))throw new Error(`Element id '${e}' is unknown.`);const t=p.get(e),i=[];return t.list.querySelectorAll(".item > span").forEach((e=>{i.push({objectId:~~e.dataset.objectId,value:e.textContent})})),i}Object.defineProperty(t,"__esModule",{value:!0}),t.setValues=t.getValues=t.init=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importDefault(a);const p=new Map;t.init=function(e,t,i){const r=document.getElementById(e);if(null===r)throw new Error("Expected a valid element id, '"+e+"' is invalid.");if(p.has(e)){const t=p.get(e);Object.values(t).forEach((e=>{e instanceof HTMLElement&&e.parentElement&&e.remove()})),a.default.destroy(e),p.delete(e)}const l=n.extend({maxItems:-1,maxLength:-1,isCSV:!1,callbackChange:null,callbackSubmit:null,submitFieldName:""},i),d=o.parentByTag(r,"FORM");if(null!==d&&!l.isCSV){if(!l.submitFieldName.length&&"function"!=typeof l.callbackSubmit)throw new Error("Expected a valid function for option 'callbackSubmit', a non-empty value for option 'submitFieldName' or enabling the option 'submitFieldCSV'.");d.addEventListener("submit",(()=>{const t=h(e);l.submitFieldName.length?t.forEach((e=>{const t=document.createElement("input");t.type="hidden",t.name=l.submitFieldName.replace("{$objectId}",e.objectId.toString()),t.value=e.value,d.appendChild(t)})):l.callbackSubmit(d,t)}))}const u=s(r,l);if(p.set(e,{dropdownMenu:null,element:u.element,list:u.list,listItem:u.element.parentElement,options:l,shadow:u.shadow}),t=u.values.length?u.values:t,Array.isArray(t)){const i=!u.element.disabled;t.forEach((t=>{"string"==typeof t&&(t={objectId:0,value:t}),c(e,t,i)}))}},t.getValues=h,t.setValues=function(e,t){if(!p.has(e))throw new Error(`Element id '${e}' is unknown.`);const i=p.get(e);o.childrenByClass(i.list,"item").forEach((e=>d(e,!0))),t.forEach((t=>c(e,t)))}})),define("WoltLabSuite/Core/Ui/ItemList/User",["require","exports","tslib","../ItemList"],(function(e,t,i,n){"use strict";function o(e){const t=r(e.element.id),i=[],n=[];t.forEach((e=>{e.type&&"group"===e.type?n.push(e.objectId):i.push(e.value)}));const o=e.shadow;return o.value=i.join(","),e._shadowGroups||(e._shadowGroups=document.createElement("input"),e._shadowGroups.type="hidden",e._shadowGroups.name=`${o.name}GroupIDs`,o.insertAdjacentElement("beforebegin",e._shadowGroups)),e._shadowGroups.value=n.join(","),t}function r(e){return n.getValues(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.getValues=t.init=void 0,n=i.__importStar(n),t.init=function(e,t){n.init(e,[],{ajax:{className:"wcf\\data\\user\\UserAction",parameters:{data:{includeUserGroups:t.includeUserGroups?~~t.includeUserGroups:0,restrictUserGroupIDs:Array.isArray(t.restrictUserGroupIDs)?t.restrictUserGroupIDs:[]}}},callbackChange:"function"==typeof t.callbackChange?t.callbackChange:null,callbackSyncShadow:t.csvPerType?o:null,callbackSetupValues:"function"==typeof t.callbackSetupValues?t.callbackSetupValues:null,excludedSearchValues:Array.isArray(t.excludedSearchValues)?t.excludedSearchValues:[],isCSV:!0,maxItems:t.maxItems?~~t.maxItems:-1,restricted:!0})},t.getValues=r})),define("WoltLabSuite/Core/Ui/Reaction/CountButtons",["require","exports","tslib","../../Ajax","../../Core","../../Dom/Change/Listener","../../Dom/Util","../../Event/Handler","../../StringUtil","../Dialog"],(function(e,t,i,n,o,r,a,s,l,c){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importDefault(a),s=i.__importStar(s),l=i.__importStar(l),c=i.__importDefault(c);const d=new Map(Object.entries(window.REACTION_TYPES));class u{constructor(e,t){if(this._containers=new Map,this._currentObjectId=0,this._objects=new Map,!t.containerSelector)throw new Error("[WoltLabSuite/Core/Ui/Reaction/CountButtons] Expected a non-empty string for option 'containerSelector'.");this._objectType=e,this._options=o.extend({summaryListSelector:".reactionSummaryList",containerSelector:"",isSingleItem:!1,parameters:{data:{}}},t),this.initContainers(),r.default.add(`WoltLabSuite/Core/Ui/Reaction/CountButtons-${e}`,(()=>this.initContainers()))}initContainers(){let e=!1;document.querySelectorAll(this._options.containerSelector).forEach((t=>{const i=a.default.identify(t);if(this._containers.has(i))return;const n=~~t.dataset.objectId,o={reactButton:null,summary:null,objectId:n,element:t};this._containers.set(i,o),this._initReactionCountButtons(t,o);const r=this._objects.get(n)||[];r.push(o),this._objects.set(n,r),e=!0})),e&&r.default.trigger()}updateCountButtons(e,t){let i=!1;this._objects.get(e).forEach((e=>{let n;if(n=this._options.isSingleItem?document.querySelector(this._options.summaryListSelector):e.element.querySelector(this._options.summaryListSelector),null===n)return;const o=new Map(Object.entries(t)),r=new Map;n.querySelectorAll(".reactCountButton").forEach((e=>{const t=e.dataset.reactionTypeId;o.has(t)?r.set(t,e):e.remove()})),o.forEach(((e,t)=>{if(r.has(t)){r.get(t).querySelector(".reactionCount").innerHTML=l.shortUnit(e)}else if(d.has(t)){const o=document.createElement("span");o.className="reactCountButton",o.innerHTML=d.get(t).renderedIcon,o.dataset.reactionTypeId=t;const r=document.createElement("span");r.className="reactionCount",r.innerHTML=l.shortUnit(e),o.appendChild(r),n.appendChild(o),i=!0}})),n.childElementCount>0?a.default.show(n):a.default.hide(n)})),i&&r.default.trigger()}_initReactionCountButtons(e,t){let i;i=this._options.isSingleItem?document.querySelector(this._options.summaryListSelector):e.querySelector(this._options.summaryListSelector),null!==i&&i.addEventListener("click",(e=>this._showReactionOverlay(t.objectId,e)))}_showReactionOverlay(e,t){t.preventDefault(),this._currentObjectId=e,this._showOverlay()}_showOverlay(){this._options.parameters.data.containerID=`${this._objectType}-${this._currentObjectId}`,this._options.parameters.data.objectID=this._currentObjectId,this._options.parameters.data.objectType=this._objectType,n.api(this,{parameters:this._options.parameters})}_ajaxSuccess(e){s.fire("com.woltlab.wcf.ReactionCountButtons","openDialog",e),c.default.open(this,e.returnValues.template),c.default.setTitle("userReactionOverlay-"+this._objectType,e.returnValues.title)}_ajaxSetup(){return{data:{actionName:"getReactionDetails",className:"\\wcf\\data\\reaction\\ReactionAction"}}}_dialogSetup(){return{id:`userReactionOverlay-${this._objectType}`,options:{title:""},source:null}}}return o.enableLegacyInheritance(u),u})),define("WoltLabSuite/Core/Ui/Reaction/Handler",["require","exports","tslib","../../Ajax","../../Core","../../Dom/Change/Listener","../../Dom/Util","../Alignment","../CloseOverlay","../Screen","./CountButtons"],(function(e,t,i,n,o,r,a,s,l,c,d){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importDefault(a),s=i.__importStar(s),l=i.__importDefault(l),c=i.__importStar(c),d=i.__importDefault(d);const u=Object.values(window.REACTION_TYPES);class h{constructor(e,t){if(this.activeButton=void 0,this._cache=new Map,this._containers=new Map,this._objects=new Map,this._popoverCurrentObjectId=0,!t.containerSelector)throw new Error("[WoltLabSuite/Core/Ui/Reaction/Handler] Expected a non-empty string for option 'containerSelector'.");this._objectType=e,this._popover=null,this._popoverContent=null,this._options=o.extend({buttonSelector:".reactButton",containerSelector:"",isButtonGroupNavigation:!1,isSingleItem:!1,parameters:{data:{}}},t),this.initReactButtons(),this.countButtons=new d.default(this._objectType,this._options),r.default.add(`WoltLabSuite/Core/Ui/Reaction/Handler-${e}`,(()=>this.initReactButtons())),l.default.add("WoltLabSuite/Core/Ui/Reaction/Handler",(()=>this._closePopover())),this.callbackFocus=e=>this.maintainFocus(e)}initReactButtons(){let e=!1;document.querySelectorAll(this._options.containerSelector).forEach((t=>{const i=a.default.identify(t);if(this._containers.has(i))return;const n=~~t.dataset.objectId,o={reactButton:null,objectId:n,element:t};this._containers.set(i,o),this._initReactButton(t,o);const r=this._objects.get(n)||[];r.push(o),this._objects.set(n,r),e=!0})),e&&r.default.trigger()}_initReactButton(e,t){if(this._options.isSingleItem?t.reactButton=document.querySelector(this._options.buttonSelector):t.reactButton=e.querySelector(this._options.buttonSelector),null!==t.reactButton){if(1===u.length){const e=u[0];t.reactButton.title=e.title;t.reactButton.querySelector(".invisible").textContent=e.title}t.reactButton.setAttribute("role","button"),u.length>1&&(t.reactButton.setAttribute("aria-haspopup","true"),t.reactButton.setAttribute("aria-expanded","false")),t.reactButton.addEventListener("click",(e=>{this._toggleReactPopover(t.objectId,t.reactButton,e)})),t.reactButton.addEventListener("keydown",(e=>{"Enter"===e.key&&(e.preventDefault(),this._toggleReactPopover(t.objectId,t.reactButton,null))}))}}_updateReactButton(e,t){this._objects.get(e).forEach((e=>{null!==e.reactButton&&(t?(e.reactButton.classList.add("active"),e.reactButton.dataset.reactionTypeId=t.toString()):(e.reactButton.dataset.reactionTypeId="0",e.reactButton.classList.remove("active")))}))}_markReactionAsActive(){let e=null;if(this._objects.get(this._popoverCurrentObjectId).forEach((t=>{null!==t.reactButton&&(e=~~t.reactButton.dataset.reactionTypeId)})),null===e)throw new Error("Unable to find react button for current popover.");const t=this._getPopover();t.querySelectorAll(".reactionTypeButton.active").forEach((e=>{e.classList.remove("active"),e.removeAttribute("aria-selected")}));const i=t.querySelector(".reactionPopoverContent");if(e){const n=t.querySelector(`.reactionTypeButton[data-reaction-type-id="${e}"]`);n.classList.add("active"),n.setAttribute("aria-selected","true"),0==~~n.dataset.isAssignable&&a.default.show(n),this._scrollReactionIntoView(i,n)}else c.is("screen-xs")&&(t.classList.contains("inverseOrder")?i.scrollTop=0:i.scrollTop=i.scrollHeight-i.clientHeight)}_scrollReactionIntoView(e,t){t.offsetTop<.75*e.clientHeight?e.scrollTop=0:e.scrollTop=t.offsetTop+t.clientHeight/2-e.clientHeight/2}_toggleReactPopover(e,t,i){if(null!==i&&(i.preventDefault(),i.stopPropagation()),1===u.length){const t=u[0];this._popoverCurrentObjectId=e,this._react(t.reactionTypeID)}else 0===this._popoverCurrentObjectId||this._popoverCurrentObjectId!==e?this._openReactPopover(e,t):this._closePopover()}_openReactPopover(e,t){0!==this._popoverCurrentObjectId&&this._closePopover(),this._popoverCurrentObjectId=e,s.set(this._getPopover(),t,{pointer:!0,horizontal:this._options.isButtonGroupNavigation?"left":"center",vertical:c.is("screen-xs")?"bottom":"top"}),this._options.isButtonGroupNavigation&&t.closest("nav").style.setProperty("opacity","1","");const i=this._getPopover();"auto"===i.style.getPropertyValue("bottom")?i.classList.add("inverseOrder"):i.classList.remove("inverseOrder"),this._markReactionAsActive(),this._rebuildOverflowIndicator(),i.classList.remove("forceHide"),i.classList.add("active"),this.activeButton=t,u.length>1&&(this.activeButton.setAttribute("aria-expanded","true"),document.body.addEventListener("focus",this.callbackFocus,{capture:!0}))}_getPopover(){if(null==this._popover){this._popover=document.createElement("div"),this._popover.className="reactionPopover forceHide",this._popoverContent=document.createElement("div"),this._popoverContent.className="reactionPopoverContent";const e=document.createElement("ul");e.className="reactionTypeButtonList",this._getSortedReactionTypes().forEach((t=>{const i=document.createElement("li");i.tabIndex=0,i.setAttribute("role","button"),i.className="reactionTypeButton jsTooltip",i.dataset.reactionTypeId=t.reactionTypeID.toString(),i.dataset.title=t.title,i.dataset.isAssignable=t.isAssignable.toString(),i.title=t.title;const n=document.createElement("span");n.className="reactionTypeButtonTitle",n.innerHTML=t.title,i.innerHTML=t.renderedIcon,i.appendChild(n),i.addEventListener("click",(()=>this._react(t.reactionTypeID))),i.addEventListener("keydown",(e=>this.keydown(e))),t.isAssignable||a.default.hide(i),e.appendChild(i)})),this._popoverContent.appendChild(e),this._popoverContent.addEventListener("scroll",(()=>this._rebuildOverflowIndicator()),{passive:!0}),this._popover.appendChild(this._popoverContent);const t=document.createElement("span");t.className="elementPointer",t.appendChild(document.createElement("span")),this._popover.appendChild(t),document.body.appendChild(this._popover),r.default.trigger()}return this._popover}keydown(e){if("Enter"===e.key||" "===e.key||"Escape"===e.key){e.preventDefault();const t=this.activeButton;if("Escape"===e.key)this._closePopover();else{const t=~~e.currentTarget.dataset.reactionTypeId;this._react(t)}t.focus()}}_rebuildOverflowIndicator(){const e=this._popoverContent;e.scrollTop>0?e.classList.add("overflowTop"):e.classList.remove("overflowTop");e.scrollTop+e.clientHeight<e.scrollHeight?e.classList.add("overflowBottom"):e.classList.remove("overflowBottom")}_getSortedReactionTypes(){return u.sort(((e,t)=>e.showOrder-t.showOrder))}_closePopover(){if(0!==this._popoverCurrentObjectId){const e=this._getPopover();e.classList.remove("active"),e.querySelectorAll('.reactionTypeButton[data-is-assignable="0"]').forEach((e=>a.default.hide(e))),this._options.isButtonGroupNavigation&&this._objects.get(this._popoverCurrentObjectId).forEach((e=>{e.reactButton.closest("nav").style.cssText=""})),u.length>1&&(this.activeButton.setAttribute("aria-expanded","false"),document.body.removeEventListener("focus",this.callbackFocus,{capture:!0})),this.activeButton=void 0,this._popoverCurrentObjectId=0}}_react(e){0!=~~this._popoverCurrentObjectId&&(this._options.parameters.reactionTypeID=e,this._options.parameters.data.objectID=this._popoverCurrentObjectId,this._options.parameters.data.objectType=this._objectType,n.api(this,{parameters:this._options.parameters}),this._closePopover())}_ajaxSuccess(e){this.countButtons.updateCountButtons(e.returnValues.objectID,e.returnValues.reactions),this._updateReactButton(e.returnValues.objectID,e.returnValues.reactionTypeID)}_ajaxSetup(){return{data:{actionName:"react",className:"\\wcf\\data\\reaction\\ReactionAction"}}}maintainFocus(e){if(document.activeElement&&!document.activeElement.classList.contains("focus-visible"))return;const t=this._getPopover();if(t.contains(e.target))this.wasInsideReactions=!0;else if(this.wasInsideReactions)this.activeButton.focus(),this.wasInsideReactions=!1;else{t.querySelector(".reactionTypeButton").focus()}}}return o.enableLegacyInheritance(h),h})),define("WoltLabSuite/Core/Ui/Like/Handler",["require","exports","tslib","../../Core","../../Dom/Change/Listener","../../Language","../../StringUtil","../Reaction/Handler","../../User"],(function(e,t,i,n,o,r,a,s,l){"use strict";n=i.__importStar(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importDefault(s),l=i.__importDefault(l);const c=new Map(Object.entries(window.REACTION_TYPES));class d{constructor(e,t){if(this._containers=new WeakMap,!t.containerSelector)throw new Error("[WoltLabSuite/Core/Ui/Like/Handler] Expected a non-empty string for option 'containerSelector'.");this._objectType=e,this._options=n.extend({badgeClassNames:"",isSingleItem:!1,markListItemAsActive:!1,renderAsButton:!0,summaryPrepend:!0,summaryUseIcon:!0,canDislike:!1,canLike:!1,canLikeOwnContent:!1,canViewSummary:!1,badgeContainerSelector:".messageHeader .messageStatus",buttonAppendToSelector:".messageFooter .messageFooterButtons",buttonBeforeSelector:"",containerSelector:"",summarySelector:".messageFooterGroup"},t),this.initContainers(),o.default.add(`WoltLabSuite/Core/Ui/Like/Handler-${e}`,(()=>this.initContainers())),new s.default(this._objectType,{containerSelector:this._options.containerSelector})}initContainers(){let e=!1;document.querySelectorAll(this._options.containerSelector).forEach((t=>{if(this._containers.has(t))return;const i={badge:null,dislikeButton:null,likeButton:null,summary:null,dislikes:~~t.dataset.likeDislikes,liked:~~t.dataset.likeLiked,likes:~~t.dataset.likeLikes,objectId:~~t.dataset.objectId,users:JSON.parse(t.dataset.likeUsers)};this._containers.set(t,i),this._buildWidget(t,i),e=!0})),e&&o.default.trigger()}_buildWidget(e,t){let i,n=!0;if(i=this._options.isSingleItem?document.querySelector(this._options.summarySelector):e.querySelector(this._options.summarySelector),null===i&&(i=this._options.isSingleItem?document.querySelector(this._options.badgeContainerSelector):e.querySelector(this._options.badgeContainerSelector),n=!1),null!==i){const e=document.createElement("ul");if(e.classList.add("reactionSummaryList"),n?e.classList.add("likesSummary"):e.classList.add("reactionSummaryListTiny"),Object.entries(t.users).forEach((([t,i])=>{const n=c.get(t);if("reactionTypeID"===t||!n)return;const o=document.createElement("li");o.className="reactCountButton",o.setAttribute("reaction-type-id",t);const r=document.createElement("span");r.className="reactionCount",r.innerHTML=a.shortUnit(~~i),o.appendChild(r),o.innerHTML=n.renderedIcon+o.innerHTML,e.appendChild(o)})),n)this._options.summaryPrepend?i.insertAdjacentElement("afterbegin",e):i.insertAdjacentElement("beforeend",e);else if("OL"===i.nodeName||"UL"===i.nodeName){const t=document.createElement("li");t.appendChild(e),i.appendChild(t)}else i.appendChild(e);t.badge=e}if(this._options.canLike&&(l.default.userId!=~~e.dataset.userId||this._options.canLikeOwnContent)){let i=null;this._options.buttonAppendToSelector&&(i=this._options.isSingleItem?document.querySelector(this._options.buttonAppendToSelector):e.querySelector(this._options.buttonAppendToSelector));let n=null;if(this._options.buttonBeforeSelector&&(n=this._options.isSingleItem?document.querySelector(this._options.buttonBeforeSelector):e.querySelector(this._options.buttonBeforeSelector)),null===n&&null===i)throw new Error("Unable to find insert location for like/dislike buttons.");t.likeButton=this._createButton(e,t.users.reactionTypeID,n,i)}}_createButton(e,t,i,n){const o=r.get("wcf.reactions.react"),a=document.createElement("li");a.className="wcfReactButton";const s=document.createElement("a");s.className="jsTooltip reactButton",this._options.renderAsButton&&s.classList.add("button"),s.href="#",s.title=o;const l=document.createElement("span");l.className="icon icon16 fa-smile-o",void 0===t||0==t?l.dataset.reactionTypeId="0":(s.dataset.reactionTypeId=t.toString(),s.classList.add("active")),s.appendChild(l);const c=document.createElement("span");return c.className="invisible",c.innerHTML=o,s.appendChild(document.createTextNode(" ")),s.appendChild(c),a.appendChild(s),i?i.insertAdjacentElement("beforebegin",a):n.insertAdjacentElement("beforeend",a),s}}return n.enableLegacyInheritance(d),d})),define("WoltLabSuite/Core/Ui/Message/InlineEditor",["require","exports","tslib","../../Ajax","../../Core","../../Dom/Change/Listener","../../Dom/Util","../../Environment","../../Event/Handler","../../Language","../Dropdown/Reusable","../Notification","../Scroll"],(function(e,t,i,n,o,r,a,s,l,c,d,u,h){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importDefault(a),s=i.__importStar(s),l=i.__importStar(l),c=i.__importStar(c),d=i.__importStar(d),u=i.__importStar(u),h=i.__importStar(h);class p{constructor(e){this.init(e)}init(e){this._activeDropdownElement=null,this._activeElement=null,this._dropdownMenu=null,this._elements=new WeakMap,this._options=o.extend({canEditInline:!1,className:"",containerId:0,dropdownIdentifier:"",editorPrefix:"messageEditor",messageSelector:".jsMessage",quoteManager:null},e),this.rebuild(),r.default.add(`Ui/Message/InlineEdit_${this._options.className}`,(()=>this.rebuild()))}rebuild(){document.querySelectorAll(this._options.messageSelector).forEach((e=>{if(this._elements.has(e))return;const t=e.querySelector(".jsMessageEditButton");if(null!==t){const i=o.stringToBool(e.dataset.canEdit||""),n=o.stringToBool(e.dataset.canEditInline||"");this._options.canEditInline||n?(t.addEventListener("click",(t=>this._clickDropdown(e,t))),t.classList.add("jsDropdownEnabled"),i&&t.addEventListener("dblclick",(t=>this._click(e,t)))):i&&t.addEventListener("click",(t=>this._click(e,t)))}const i=e.querySelector(".messageBody"),n=e.querySelector(".messageFooter"),r=n.querySelector(".messageFooterButtons"),a=e.querySelector(".messageHeader"),s=i.querySelector(".messageText");this._elements.set(e,{button:t,messageBody:i,messageBodyEditor:null,messageFooter:n,messageFooterButtons:r,messageHeader:a,messageText:s})}))}_click(e,t){null===e&&(e=this._activeDropdownElement),t&&t.preventDefault(),null===this._activeElement?(this._activeElement=e,this._prepare(),n.api(this,{actionName:"beginEdit",parameters:{containerID:this._options.containerId,objectID:this._getObjectId(e)}})):u.show("wcf.message.error.editorAlreadyInUse",void 0,"warning")}_clickDropdown(e,t){t.preventDefault();const i=t.currentTarget;if(!i.classList.contains("dropdownToggle")){if(i.classList.add("dropdownToggle"),i.parentElement.classList.add("dropdown"),i.addEventListener("click",(t=>{t.preventDefault(),t.stopPropagation(),this._activeDropdownElement=e,d.toggleDropdown(this._options.dropdownIdentifier,i)})),null===this._dropdownMenu){this._dropdownMenu=document.createElement("ul"),this._dropdownMenu.className="dropdownMenu";const e=this._dropdownGetItems();l.fire("com.woltlab.wcf.inlineEditor",`dropdownInit_${this._options.dropdownIdentifier}`,{items:e}),this._dropdownBuild(e),d.init(this._options.dropdownIdentifier,this._dropdownMenu),d.registerCallback(this._options.dropdownIdentifier,((e,t)=>this._dropdownToggle(e,t)))}setTimeout((()=>i.click()),10)}}_dropdownBuild(e){e.forEach((e=>{const t=document.createElement("li");if(t.dataset.item=e.item,"divider"===e.item)t.className="dropdownDivider";else{const i=document.createElement("span");i.textContent=c.get(e.label),t.appendChild(i),"editItem"===e.item?t.addEventListener("click",(e=>this._click(null,e))):t.addEventListener("click",(e=>this._clickDropdownItem(e)))}this._dropdownMenu.appendChild(t)}))}_dropdownToggle(e,t){const i=this._elements.get(this._activeDropdownElement),n=i.button.parentElement;if("close"===t)return n.classList.remove("dropdownOpen"),void i.messageFooterButtons.classList.remove("forceVisible");n.classList.add("dropdownOpen"),i.messageFooterButtons.classList.add("forceVisible");const o=new Map(Object.entries(this._dropdownOpen()));l.fire("com.woltlab.wcf.inlineEditor",`dropdownOpen_${this._options.dropdownIdentifier}`,{element:this._activeDropdownElement,visibility:o});const r=this._dropdownMenu;let s=!1;const c=Array.from(r.children);c.forEach(((e,t)=>{const i=e.dataset.item;if("divider"===i)s?(a.default.show(e),s=!1):a.default.hide(e);else if(!1===o.get(i)){if(a.default.hide(e),t>0&&t+1===c.length){const t=e.previousElementSibling;"divider"===t.dataset.item&&a.default.hide(t)}}else a.default.show(e),s=!0}))}_dropdownGetItems(){return[]}_dropdownOpen(){return{}}_dropdownSelect(e){}_clickDropdownItem(e){e.preventDefault();const t=e.currentTarget.dataset.item,i={cancel:!1,element:this._activeDropdownElement,item:t};l.fire("com.woltlab.wcf.inlineEditor",`dropdownItemClick_${this._options.dropdownIdentifier}`,i),i.cancel?e.preventDefault():this._dropdownSelect(t)}_prepare(){const e=this._elements.get(this._activeElement),t=document.createElement("div");t.className="messageBody editor",e.messageBodyEditor=t;const i=document.createElement("span");i.className="icon icon48 fa-spinner",t.appendChild(i),e.messageBody.insertAdjacentElement("afterend",t),a.default.hide(e.messageBody)}_showEditor(e){const t=this._getEditorId(),i=this._activeElement,n=this._elements.get(i);i.classList.add("jsInvalidQuoteTarget");n.messageBodyEditor.querySelector(".icon").remove();const o=n.messageBodyEditor,r=document.createElement("div");r.className="editorContainer",a.default.setInnerHtml(r,e.returnValues.template),o.appendChild(r);const c=r.querySelector(".formSubmit");c.querySelector('button[data-type="save"]').addEventListener("click",(()=>this._save()));if(c.querySelector('button[data-type="cancel"]').addEventListener("click",(()=>this._restoreMessage())),l.add("com.woltlab.wcf.redactor",`submitEditor_${t}`,(e=>{e.cancel=!0,this._save()})),a.default.hide(n.messageHeader),a.default.hide(n.messageFooter),"redactor"===s.editor())window.setTimeout((()=>{this._options.quoteManager&&this._options.quoteManager.setAlternativeEditor(t),h.element(i)}),250);else{document.getElementById(t).focus()}}_restoreMessage(){const e=this._activeElement,t=this._elements.get(e);this._destroyEditor(),t.messageBodyEditor.remove(),t.messageBodyEditor=null,a.default.show(t.messageBody),a.default.show(t.messageFooter),a.default.show(t.messageHeader),e.classList.remove("jsInvalidQuoteTarget"),this._activeElement=null,this._options.quoteManager&&this._options.quoteManager.clearAlternativeEditor()}_save(){const e={containerID:this._options.containerId,data:{message:""},objectID:this._getObjectId(this._activeElement),removeQuoteIDs:this._options.quoteManager?this._options.quoteManager.getQuotesMarkedForRemoval():[]},t=this._getEditorId(),i=document.getElementById(`settings_${t}`);i&&i.querySelectorAll("input, select, textarea").forEach((t=>{if("INPUT"===t.nodeName&&("checkbox"===t.type||"radio"===t.type)&&!t.checked)return;const i=t.name;if(Object.prototype.hasOwnProperty.call(e,i))throw new Error(`Variable overshadowing, key '${i}' is already present.`);e[i]=t.value.trim()})),l.fire("com.woltlab.wcf.redactor2",`getText_${t}`,e.data);let o=this._validate(e);o instanceof Promise||(o=!1===o?Promise.reject():Promise.resolve()),o.then((()=>{l.fire("com.woltlab.wcf.redactor2",`submit_${t}`,e),n.api(this,{actionName:"save",parameters:e}),this._hideEditor()}),(e=>{const t=e.message;console.log(`Validation of post edit failed: ${t}`)}))}_validate(e){this._activeElement.querySelectorAll(".innerError").forEach((e=>e.remove()));const t={api:this,parameters:e,valid:!0,promises:[]};return l.fire("com.woltlab.wcf.redactor2",`validate_${this._getEditorId()}`,t),t.valid?t.promises.push(Promise.resolve()):t.promises.push(Promise.reject()),Promise.all(t.promises)}throwError(e,t){a.default.innerError(e,t)}_showMessage(e){const t=this._activeElement,i=this._getEditorId(),n=this._elements.get(t);if(a.default.setInnerHtml(n.messageBody.querySelector(".messageText"),e.returnValues.message),"string"==typeof e.returnValues.attachmentList){n.messageFooter.querySelectorAll(".attachmentThumbnailList, .attachmentFileList").forEach((e=>e.remove()));const t=document.createElement("div");let i;for(a.default.setInnerHtml(t,e.returnValues.attachmentList);t.childNodes.length;)i=t.childNodes[t.childNodes.length-1],n.messageFooter.insertBefore(i,n.messageFooter.firstChild)}if("string"==typeof e.returnValues.poll){const t=n.messageBody.querySelector(".pollContainer");null!==t&&t.parentElement.remove();const i=document.createElement("div");i.className="jsInlineEditorHideContent",a.default.setInnerHtml(i,e.returnValues.poll),n.messageBody.insertAdjacentElement("afterbegin",i)}this._restoreMessage(),this._updateHistory(this._getHash(this._getObjectId(t))),l.fire("com.woltlab.wcf.redactor",`autosaveDestroy_${i}`),u.show(),this._options.quoteManager&&(this._options.quoteManager.clearAlternativeEditor(),this._options.quoteManager.countQuotes())}_hideEditor(){const e=this._elements.get(this._activeElement),t=e.messageBodyEditor.querySelector(".editorContainer");a.default.hide(t);const i=document.createElement("span");i.className="icon icon48 fa-spinner",e.messageBodyEditor.appendChild(i)}_restoreEditor(){const e=this._elements.get(this._activeElement).messageBodyEditor;e.querySelector(".fa-spinner").remove();const t=e.querySelector(".editorContainer");null!==t&&a.default.show(t)}_destroyEditor(){l.fire("com.woltlab.wcf.redactor2",`autosaveDestroy_${this._getEditorId()}`),l.fire("com.woltlab.wcf.redactor2",`destroy_${this._getEditorId()}`)}_getHash(e){return`#message${e}`}_updateHistory(e){window.location.hash=e}_getEditorId(){return this._options.editorPrefix+this._getObjectId(this._activeElement).toString()}_getObjectId(e){return e.dataset.objectId||""}_ajaxFailure(e){const t=this._elements.get(this._activeElement).messageBodyEditor.querySelector(".redactor-layer");return null===t?(this._restoreMessage(),!0):(this._restoreEditor(),!e||void 0===e.returnValues||void 0===e.returnValues.realErrorMessage||(a.default.innerError(t,e.returnValues.realErrorMessage),!1))}_ajaxSuccess(e){switch(e.actionName){case"beginEdit":this._showEditor(e);break;case"save":this._showMessage(e)}}_ajaxSetup(){return{data:{className:this._options.className,interfaceName:"wcf\\data\\IMessageInlineEditorAction"},silent:!0}}legacyEdit(e){this._click(document.getElementById(e),null)}}return o.enableLegacyInheritance(p),p})),define("WoltLabSuite/Core/Ui/Message/Manager",["require","exports","tslib","../../Ajax","../../Core","../../Dom/Change/Listener","../../Language","../../StringUtil"],(function(e,t,i,n,o,r,a,s){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importStar(a),s=i.__importStar(s);class l{constructor(e){this._elements=new Map,this._options=o.extend({className:"",selector:""},e),this.rebuild(),r.default.add(`Ui/Message/Manager${this._options.className}`,this.rebuild.bind(this))}rebuild(){this._elements.clear(),document.querySelectorAll(this._options.selector).forEach((e=>{this._elements.set(e.dataset.objectId,e)}))}getPermission(e,t){t="can"+s.ucfirst(t);const i=this._elements.get(e);if(void 0===i)throw new Error(`Unknown object id '${e}' for selector '${this._options.selector}'`);return o.stringToBool(i.dataset[s.toCamelCase(t)]||"")}getPropertyValue(e,t,i){const n=this._elements.get(e);if(void 0===n)throw new Error(`Unknown object id '${e}' for selector '${this._options.selector}'`);const r=n.dataset[s.toCamelCase(t)]||"";return i?o.stringToBool(r):r}update(e,t,i){n.api(this,{actionName:t,parameters:i||{},objectIDs:[e]})}updateItems(e,t){Array.isArray(e)||(e=[e]),e.forEach((e=>{const i=this._elements.get(e);void 0!==i&&Object.entries(t).forEach((([e,t])=>{this._update(i,e,t)}))}))}updateAllItems(e){const t=Array.from(this._elements.keys());this.updateItems(t,e)}setNote(e,t,i){const n=this._elements.get(e);if(void 0===n)throw new Error(`Unknown object id '${e}' for selector '${this._options.selector}'`);const o=n.querySelector(".messageFooterNotes");let r=o.querySelector(`.${t}`);i?(null===r&&(r=document.createElement("p"),r.className="messageFooterNote "+t,o.appendChild(r)),r.innerHTML=i):null!==r&&r.remove()}_update(e,t,i){e.dataset[t]=i.toString();const n=1==i||!0===i||"true"===i;this._updateState(e,t,i,n)}_updateState(e,t,i,n){switch(t){case"isDeleted":n?e.classList.add("messageDeleted"):e.classList.remove("messageDeleted"),this._toggleMessageStatus(e,"jsIconDeleted","wcf.message.status.deleted","red",n);break;case"isDisabled":n?e.classList.add("messageDisabled"):e.classList.remove("messageDisabled"),this._toggleMessageStatus(e,"jsIconDisabled","wcf.message.status.disabled","green",n)}}_toggleMessageStatus(e,t,i,n,o){let r=e.querySelector(".messageStatus");if(null===r){const t=e.querySelector(".messageHeaderMetaData");if(null===t)return;r=document.createElement("ul"),r.className="messageStatus",t.insertAdjacentElement("afterend",r)}let s=r.querySelector(`.${t}`);if(o){if(null!==s)return;s=document.createElement("span"),s.className=`badge label ${n} ${t}`,s.textContent=a.get(i);const e=document.createElement("li");e.appendChild(s),r.appendChild(e)}else{if(null===s)return;s.parentElement.remove()}}_getAttributeName(e){return-1!==e.indexOf("-")?e:e.split(/([A-Z][a-z]+)/).map((e=>e.trim().toLowerCase())).filter((e=>e.length>0)).join("-")}_ajaxSuccess(e){throw new Error("Method _ajaxSuccess() must be implemented by deriving functions.")}_ajaxSetup(){return{data:{className:this._options.className}}}}return o.enableLegacyInheritance(l),l})),define("WoltLabSuite/Core/Ui/Message/Quote",["require","exports","tslib","../../Ajax","../../Core","../../Event/Handler","../../Language","../../Dom/Change/Listener","../../Dom/Util"],(function(e,t,i,n,o,r,a,s,l){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UiMessageQuote=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importDefault(s),l=i.__importDefault(l);class c{constructor(e,t,i,n,o,r,a){this.activeMessageId="",this.containers=new Map,this.containerSelector="",this.copyQuote=document.createElement("div"),this.message="",this.objectId=0,this.objectType="",this.timerSelectionChange=void 0,this.isMouseDown=!1,this.className=t,this.objectType=i,this.containerSelector=n,this.messageBodySelector=o,this.initContainers(),a=a&&e.supportPaste(),this.quoteManager=e,this.initCopyQuote(a),document.addEventListener("mouseup",(e=>this.onMouseUp(e))),document.addEventListener("selectionchange",(()=>this.onSelectionchange())),s.default.add("UiMessageQuote",(()=>this.initContainers())),document.addEventListener("touchstart",(e=>{if(this.copyQuote.classList.contains("active")){const t=e.target;t===this.copyQuote||this.copyQuote.contains(t)||(this.copyQuote.classList.add("touchForceInaccessible"),document.addEventListener("touchend",(()=>{this.copyQuote.classList.remove("touchForceInaccessible")}),{once:!0}))}}),{passive:!0})}initContainers(){document.querySelectorAll(this.containerSelector).forEach((e=>{var t;const i=l.default.identify(e);this.containers.has(i)||(this.containers.set(i,e),e.classList.contains("jsInvalidQuoteTarget")||(e.addEventListener("mousedown",(e=>this.onMouseDown(e))),e.classList.add("jsQuoteMessageContainer"),null===(t=e.querySelector(".jsQuoteMessage"))||void 0===t||t.addEventListener("click",(e=>this.saveFullQuote(e)))))}))}onSelectionchange(){if(!this.isMouseDown){if(""===this.activeMessageId){const e=window.getSelection();if(1!==e.rangeCount||e.isCollapsed)return;const t=e.getRangeAt(0),i=l.default.closest(t.startContainer,".jsQuoteMessageContainer"),n=l.default.closest(t.endContainer,".jsQuoteMessageContainer");if(i&&i===n&&!i.classList.contains("jsInvalidQuoteTarget")){let e=t.commonAncestorContainer;e.nodeType!==Node.ELEMENT_NODE&&(e=e.parentElement);const n=e.offsetParent;if(i.contains(n)&&n.scrollTop+n.clientHeight<e.offsetTop)return;this.activeMessageId=i.id}}this.timerSelectionChange&&window.clearTimeout(this.timerSelectionChange),this.timerSelectionChange=window.setTimeout((()=>this.onMouseUp()),100)}}onMouseDown(e){this.copyQuote.classList.remove("active");const t=e.currentTarget;this.activeMessageId=t.classList.contains("jsInvalidQuoteTarget")?"":t.id,this.timerSelectionChange&&(window.clearTimeout(this.timerSelectionChange),this.timerSelectionChange=void 0),this.isMouseDown=!0}getNodeText(e){const t=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT|NodeFilter.SHOW_TEXT,{acceptNode:e=>"BLOCKQUOTE"===e.nodeName||"SCRIPT"===e.nodeName?NodeFilter.FILTER_REJECT:!(e instanceof HTMLImageElement)||e.classList.contains("smiley")&&e.alt?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT});let i="";const n=[];for(;t.nextNode();){const e=t.currentNode;if(e instanceof Text){const t=e.parentElement;if(t instanceof HTMLAnchorElement&&n.includes(t))continue;i+=e.nodeValue.replace(/\n/g," ")}else{if(e instanceof HTMLAnchorElement){const t=e.textContent;if(t.indexOf("…")>0){const o=t.split(/\u2026/);if(2===o.length){const t=e.href;0===t.indexOf(o[0])&&t.substr(-1*o[1].length)===o[1]&&(i+=t,n.push(e))}}}switch(e.nodeName){case"BR":case"LI":case"TD":case"UL":i+="\n";break;case"P":i+="\n\n";break;case"IMG":i+=` ${e.alt} `;break;case"DIV":(e.classList.contains("codeBoxHeadline")||e.classList.contains("codeBoxLine"))&&(i+="\n")}}}return i}onMouseUp(e){if(e instanceof Event&&(this.timerSelectionChange&&(window.clearTimeout(this.timerSelectionChange),this.timerSelectionChange=void 0),this.isMouseDown=!1),""===this.activeMessageId)return void this.copyQuote.classList.remove("active");const t=window.getSelection();if(1!==t.rangeCount||t.isCollapsed)return void this.copyQuote.classList.remove("active");const i=this.containers.get(this.activeMessageId),n=~~i.dataset.objectId,o=this.messageBodySelector?i.querySelector(this.messageBodySelector):i;let r=t.anchorNode;for(;r&&r!==o;)r=r.parentNode;if(r!==o)return void this.copyQuote.classList.remove("active");const a=this.getSelectedText().trim();if(""===a)return void this.copyQuote.classList.remove("active");const s=t.getRangeAt(0),c=l.default.getClosestElement(s.startContainer),d=l.default.getClosestElement(s.endContainer);if(c.closest("blockquote")||d.closest("blockquote"))return void this.copyQuote.classList.remove("active");const u=this.getNodeText(o);if(!this.normalizeTextForComparison(u).includes(this.normalizeTextForComparison(a)))return;this.copyQuote.classList.add("active");const h=this.getElementBoundaries(t),p=(this.copyQuote.offsetHeight,this.copyQuote.offsetWidth);let m=(h.right-h.left)/2-p/2+h.left;const f=o.getBoundingClientRect();m<f.left?m=f.left:m+p>f.right&&(m=f.right-p),this.copyQuote.style.setProperty("top",`${h.bottom+7}px`),this.copyQuote.style.setProperty("left",`${m}px`),this.copyQuote.classList.remove("active"),this.timerSelectionChange?(window.clearTimeout(this.timerSelectionChange),this.timerSelectionChange=void 0):this.activeMessageId="",window.setTimeout((()=>{const e=this.getSelectedText().trim();""!==e&&(this.copyQuote.classList.add("active"),this.message=e,this.objectId=n)}),10)}normalizeTextForComparison(e){return e.replace(/\r?\n|\r/g,"\n").replace(/\s/g," ").replace(/\s{2,}/g," ")}getElementBoundaries(e){let t=null;if(e.rangeCount>0){const i=e.getRangeAt(0).getBoundingClientRect(),n=window.pageYOffset;t={bottom:i.bottom+n,left:i.left,right:i.right,top:i.top+n}}return t}initCopyQuote(e){const t=document.getElementById("quoteManagerCopy");null==t||t.remove(),this.copyQuote.id="quoteManagerCopy",this.copyQuote.classList.add("balloonTooltip","interactive");const i=document.createElement("span");if(i.classList.add("jsQuoteManagerStore"),i.textContent=a.get("wcf.message.quote.quoteSelected"),i.addEventListener("click",(e=>this.saveQuote(e))),this.copyQuote.appendChild(i),e){const e=document.createElement("span");e.classList.add("jsQuoteManagerQuoteAndInsert"),e.textContent=a.get("wcf.message.quote.quoteAndReply"),e.addEventListener("click",(e=>this.saveAndInsertQuote(e))),this.copyQuote.appendChild(e)}document.body.appendChild(this.copyQuote)}getSelectedText(){const e=window.getSelection();return e.rangeCount?this.getNodeText(e.getRangeAt(0).cloneContents()):""}saveFullQuote(e){e.preventDefault();const t=e.currentTarget;n.api(this,{actionName:"saveFullQuote",objectIDs:[t.dataset.objectId]});const i=t.querySelector("a");o.stringToBool(t.dataset.isQuoted||"")?(t.dataset.isQuoted="false",i.classList.remove("active")):(t.dataset.isQuoted="true",i.classList.add("active"));const r=t.closest(".buttonGroupNavigation");if(r.classList.contains("jsMobileButtonGroupNavigation")){r.querySelector(".dropdownLabel").click()}}saveQuote(e,t=!1){null==e||e.preventDefault(),n.api(this,{actionName:"saveQuote",objectIDs:[this.objectId],parameters:{message:this.message,renderQuote:t}});const i=window.getSelection();i.rangeCount&&(i.removeAllRanges(),this.copyQuote.classList.remove("active"))}saveAndInsertQuote(e){e.preventDefault(),this.saveQuote(void 0,!0)}_ajaxSuccess(e){if(void 0!==e.returnValues.count){void 0!==e.returnValues.fullQuoteMessageIDs&&(e.returnValues.fullQuoteObjectIDs=e.returnValues.fullQuoteMessageIDs);const t=e.returnValues.fullQuoteObjectIDs||{};this.quoteManager.updateCount(e.returnValues.count,t)}switch(e.actionName){case"saveQuote":case"saveFullQuote":e.returnValues.renderedQuote&&r.fire("com.woltlab.wcf.message.quote","insert",{forceInsert:"saveQuote"===e.actionName,quote:e.returnValues.renderedQuote})}}_ajaxSetup(){return{data:{className:this.className,interfaceName:"wcf\\data\\IMessageQuoteAction"}}}updateFullQuoteObjectIDs(e){this.containers.forEach((t=>{const i=t.querySelector(".jsQuoteMessage");i.dataset.isQuoted="false";const n=i.querySelector("a");i.classList.remove("active");const o=~~i.dataset.objectID;e.includes(o)&&(i.dataset.isQuoted="true",n.classList.add("active"))}))}}t.UiMessageQuote=c,t.default=c})),define("WoltLabSuite/Core/Ui/Message/Reply",["require","exports","tslib","../../Ajax","../../Core","../../Event/Handler","../../Language","../../Dom/Change/Listener","../../Dom/Util","../Dialog","../Notification","../../User","../../Controller/Captcha","../Scroll"],(function(e,t,i,n,o,r,a,s,l,c,d,u,h,p){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importDefault(s),l=i.__importDefault(l),c=i.__importDefault(c),d=i.__importStar(d),u=i.__importDefault(u),h=i.__importDefault(h),p=i.__importStar(p);class m{constructor(e){this._editor=null,this._guestDialogId="",this._loadingOverlay=null,this._options=o.extend({ajax:{className:""},quoteManager:null,successMessage:"wcf.global.success.add"},e),this._container=document.getElementById("messageQuickReply"),this._content=this._container.querySelector(".messageContent"),this._textarea=document.getElementById("text"),this._container.querySelector(".message").classList.add("jsInvalidQuoteTarget");this._container.querySelector('button[data-type="save"]').addEventListener("click",(e=>this._submit(e))),document.querySelectorAll(".jsQuickReply").forEach((e=>{e.addEventListener("click",(e=>{e.preventDefault(),this._getEditor().WoltLabReply.showEditor(),p.element(this._container,(()=>{this._getEditor().WoltLabCaret.endOfEditor()}))}))}))}_submitGuestDialog(e){if(e instanceof KeyboardEvent&&"Enter"!==e.key)return;const t=e.currentTarget,i=t.closest(".dialogContent").querySelector("input[name=username]");if(""===i.value)return l.default.innerError(i,a.get("wcf.global.form.error.empty")),void i.closest("dl").classList.add("formError");let n={parameters:{data:{username:i.value}}};const r=t.dataset.captchaId;if(h.default.has(r)){const e=h.default.getData(r);e instanceof Promise?e.then((e=>{n=o.extend(n,e),this._submit(void 0,n)})):(n=o.extend(n,e),this._submit(void 0,n))}else this._submit(void 0,n)}_submit(e,t){if(e&&e.preventDefault(),this._content.classList.contains("loading")&&(!this._guestDialogId||!c.default.isOpen(this._guestDialogId)))return;if(!this._validate())return;this._showLoadingOverlay();const i={};Object.entries(this._container.dataset).forEach((([e,t])=>{i[e.replace(/Id$/,"ID")]=t})),i.data={message:this._getEditor().code.get()},i.removeQuoteIDs=this._options.quoteManager?this._options.quoteManager.getQuotesMarkedForRemoval():[];const a=document.getElementById("settings_text");a&&a.querySelectorAll("input, select, textarea").forEach((e=>{if("INPUT"===e.nodeName&&("checkbox"===e.type||"radio"===e.type)&&!e.checked)return;const t=e.name;if(Object.prototype.hasOwnProperty.call(i,t))throw new Error(`Variable overshadowing, key '${t}' is already present.`);i[t]=e.value.trim()})),r.fire("com.woltlab.wcf.redactor2","submit_text",i.data),u.default.userId||t||(i.requireGuestDialog=!0),n.api(this,o.extend({parameters:i},t))}_validate(){if(this._container.querySelectorAll(".innerError").forEach((e=>e.remove())),this._getEditor().utils.isEmpty())return this.throwError(this._textarea,a.get("wcf.global.form.error.empty")),!1;const e={api:this,editor:this._getEditor(),message:this._getEditor().code.get(),valid:!0};return r.fire("com.woltlab.wcf.redactor2","validate_text",e),e.valid}throwError(e,t){l.default.innerError(e,"empty"===t?a.get("wcf.global.form.error.empty"):t)}_showLoadingOverlay(){null===this._loadingOverlay&&(this._loadingOverlay=document.createElement("div"),this._loadingOverlay.className="messageContentLoadingOverlay",this._loadingOverlay.innerHTML='<span class="icon icon96 fa-spinner"></span>'),this._content.classList.add("loading"),this._content.appendChild(this._loadingOverlay)}_hideLoadingOverlay(){this._content.classList.remove("loading");const e=this._content.querySelector(".messageContentLoadingOverlay");null!==e&&e.remove()}_reset(){this._getEditor().code.set("<p></p>"),r.fire("com.woltlab.wcf.redactor2","reset_text")}_handleError(e){const t={api:this,cancel:!1,returnValues:e.returnValues};r.fire("com.woltlab.wcf.redactor2","handleError_text",t),t.cancel||this.throwError(this._textarea,e.returnValues.realErrorMessage)}_getEditor(){if(null===this._editor){if("function"!=typeof window.jQuery)throw new Error("Unable to access editor, jQuery has not been loaded yet.");this._editor=window.jQuery(this._textarea).data("redactor")}return this._editor}_insertMessage(e){if(this._getEditor().WoltLabAutosave.reset(),e.returnValues.url)window.location.href==e.returnValues.url&&window.location.reload(),window.location.href=e.returnValues.url;else{if(e.returnValues.template){let t;if("DESC"===this._container.dataset.sortOrder)l.default.insertHtml(e.returnValues.template,this._container,"after"),t=l.default.identify(this._container.nextElementSibling);else{let i=this._container;i.previousElementSibling&&i.previousElementSibling.classList.contains("messageListPagination")&&(i=i.previousElementSibling),l.default.insertHtml(e.returnValues.template,i,"before"),t=l.default.identify(i.previousElementSibling)}this._container.dataset.lastPostTime=e.returnValues.lastPostTime.toString(),window.history.replaceState(void 0,"",`#${t}`),p.element(document.getElementById(t))}d.show(a.get(this._options.successMessage)),this._options.quoteManager&&this._options.quoteManager.countQuotes(),s.default.trigger()}}_ajaxSuccess(e){if(!u.default.userId&&!e.returnValues.guestDialogID)throw new Error("Missing 'guestDialogID' return value for guest.");if(!u.default.userId&&e.returnValues.guestDialog){const t=e.returnValues.guestDialogID;c.default.openStatic(t,e.returnValues.guestDialog,{closable:!1,onClose:function(){h.default.has(t)&&h.default.delete(t)},title:a.get("wcf.global.confirmation.title")});const i=c.default.getDialog(t);i.content.querySelector("input[type=submit]").addEventListener("click",(e=>this._submitGuestDialog(e)));i.content.querySelector("input[type=text]").addEventListener("keypress",(e=>this._submitGuestDialog(e))),this._guestDialogId=t}else this._insertMessage(e),u.default.userId||c.default.close(e.returnValues.guestDialogID),this._reset(),this._hideLoadingOverlay()}_ajaxFailure(e){return this._hideLoadingOverlay(),null===e||void 0===e.returnValues||void 0===e.returnValues.realErrorMessage||(this._handleError(e),!1)}_ajaxSetup(){return{data:{actionName:"quickReply",className:this._options.ajax.className,interfaceName:"wcf\\data\\IMessageQuickReplyAction"},silent:!0}}}return o.enableLegacyInheritance(m),m})),define("WoltLabSuite/Core/Ui/Message/TwitterEmbed",["require","exports","https://platform.twitter.com/widgets.js"],(function(e,t){"use strict";async function i(e,t,i=!1){const o=await n,r=await o.widgets.createTweet(t,e,{dnt:!0,lang:document.documentElement.lang});if(r&&i){for(;e.lastChild;)e.removeChild(e.lastChild);e.appendChild(r)}return r}Object.defineProperty(t,"__esModule",{value:!0}),t.embedAll=t.embedTweet=void 0;const n=new Promise((e=>{twttr.ready(e)}));t.embedTweet=i,t.embedAll=function(){document.querySelectorAll("[data-wsc-twitter-tweet]").forEach((e=>{const t=e.dataset.wscTwitterTweet;t&&(delete e.dataset.wscTwitterTweet,i(e,t,!0))}))}})),define("WoltLabSuite/Core/Ui/Object/Data",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})})),define("WoltLabSuite/Core/Ui/Page/Search",["require","exports","tslib","../../Ajax","../../Dom/Util","../../Language","../../StringUtil","../Dialog"],(function(e,t,i,n,o,r,a,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.open=void 0,n=i.__importStar(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importDefault(s);class l{constructor(){this.callbackSelect=void 0,this.resultContainer=void 0,this.resultList=void 0,this.searchInput=void 0}open(e){this.callbackSelect=e,s.default.open(this)}search(e){e.preventDefault();const t=this.searchInput.parentNode,i=this.searchInput.value.trim();i.length<3?o.default.innerError(t,r.get("wcf.page.search.error.tooShort")):(o.default.innerError(t,!1),n.api(this,{parameters:{searchString:i}}))}click(e){e.preventDefault();const t=e.currentTarget,i=t.querySelector("h3");this.callbackSelect(t.dataset.pageId+"#"+i.textContent.replace(/['"]/g,"")),s.default.close(this)}_ajaxSuccess(e){const t=e.returnValues.map((e=>{const t=a.escapeHTML(e.name),i=a.escapeHTML(e.displayLink);return`<li>\n <div class="containerHeadline pointer" data-page-id="${e.pageID}">\n <h3>${t}</h3>\n <small>${i}</small>\n </div>\n </li>`})).join("");this.resultList.innerHTML=t,o.default[t?"show":"hide"](this.resultContainer),t?this.resultList.querySelectorAll(".containerHeadline").forEach((e=>{e.addEventListener("click",(e=>this.click(e)))})):o.default.innerError(this.searchInput.parentElement,r.get("wcf.page.search.error.noResults"))}_ajaxSetup(){return{data:{actionName:"search",className:"wcf\\data\\page\\PageAction"}}}_dialogSetup(){return{id:"wcfUiPageSearch",options:{onSetup:()=>{this.searchInput=document.getElementById("wcfUiPageSearchInput"),this.searchInput.addEventListener("keydown",(e=>{"Enter"===e.key&&this.search(e)})),this.searchInput.nextElementSibling.addEventListener("click",(e=>this.search(e))),this.resultContainer=document.getElementById("wcfUiPageSearchResultContainer"),this.resultList=document.getElementById("wcfUiPageSearchResultList")},onShow:()=>{this.searchInput.focus()},title:r.get("wcf.page.search")},source:`<div class="section">\n <dl>\n <dt><label for="wcfUiPageSearchInput">${r.get("wcf.page.search.name")}</label></dt>\n <dd>\n <div class="inputAddon">\n <input type="text" id="wcfUiPageSearchInput" class="long">\n <a href="#" class="inputSuffix"><span class="icon icon16 fa-search"></span></a>\n </div>\n </dd>\n </dl>\n </div>\n <section id="wcfUiPageSearchResultContainer" class="section" style="display: none;">\n <header class="sectionHeader">\n <h2 class="sectionTitle">${r.get("wcf.page.search.results")}</h2>\n </header>\n <ol id="wcfUiPageSearchResultList" class="containerList"></ol>\n </section>`}}}let c;t.open=function(e){(void 0===c&&(c=new l),c).open(e)}})),define("WoltLabSuite/Core/Ui/Sortable/List",["require","exports","tslib","../../Core","../Screen"],(function(e,t,i,n,o){"use strict";n=i.__importStar(n),o=i.__importStar(o);class r{constructor(e){this._options=n.extend({containerId:"",className:"",offset:0,options:{},isSimpleSorting:!1,additionalParameters:{}},e),o.on("screen-sm-md",{match:()=>this._enable(!0),unmatch:()=>this._disable(),setup:()=>this._enable(!0)}),o.on("screen-lg",{match:()=>this._enable(!1),unmatch:()=>this._disable(),setup:()=>this._enable(!1)})}_enable(e){const t=this._options.options;e&&(t.handle=".sortableNodeHandle"),new window.WCF.Sortable.List(this._options.containerId,this._options.className,this._options.offset,t,this._options.isSimpleSorting,this._options.additionalParameters)}_disable(){window.jQuery(`#${this._options.containerId} .sortableList`)[this._options.isSimpleSorting?"sortable":"nestedSortable"]("destroy")}}return n.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Ui/Poll/Editor",["require","exports","tslib","../../Core","../../Language","../Sortable/List","../../Event/Handler","../../Date/Picker"],(function(e,t,i,n,o,r,a,s){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importStar(a),s=i.__importStar(s);class l{constructor(e,t,i,o){const s=document.getElementById(e);if(null===s)throw new Error("Unknown poll editor container with id '"+e+"'.");if(this.container=s,this.wysiwygId=i,""!==i&&null===document.getElementById(i))throw new Error("Unknown wysiwyg field with id '"+i+"'.");this.questionField=document.getElementById(this.wysiwygId+"Poll_question");const l=this.container.querySelector(".sortableList");if(null===l)throw new Error("Cannot find poll options list for container with id '"+e+"'.");if(this.optionList=l,this.endTimeField=document.getElementById(this.wysiwygId+"Poll_endTime"),this.maxVotesField=document.getElementById(this.wysiwygId+"Poll_maxVotes"),this.isChangeableYesField=document.getElementById(this.wysiwygId+"Poll_isChangeable"),this.isChangeableNoField=document.getElementById(this.wysiwygId+"Poll_isChangeable_no"),this.isPublicYesField=document.getElementById(this.wysiwygId+"Poll_isPublic"),this.isPublicNoField=document.getElementById(this.wysiwygId+"Poll_isPublic_no"),this.resultsRequireVoteYesField=document.getElementById(this.wysiwygId+"Poll_resultsRequireVote"),this.resultsRequireVoteNoField=document.getElementById(this.wysiwygId+"Poll_resultsRequireVote_no"),this.sortByVotesYesField=document.getElementById(this.wysiwygId+"Poll_sortByVotes"),this.sortByVotesNoField=document.getElementById(this.wysiwygId+"Poll_sortByVotes_no"),this.optionCount=0,this.options=n.extend({isAjax:!1,maxOptions:20},o),this.createOptionList(t||[]),new r.default({containerId:e,options:{toleranceElement:"> div"}}),this.options.isAjax)["handleError","reset","submit","validate"].forEach((e=>{a.add("com.woltlab.wcf.redactor2",e+"_"+this.wysiwygId,((...t)=>this[e](...t)))}));else{const t=this.container.closest("form");if(null===t)throw new Error("Cannot find form for container with id '"+e+"'.");t.addEventListener("submit",(e=>this.submit(e)))}}createOption(e,t,i){e=e||"",t=t||"0";const n=document.createElement("LI");n.classList.add("sortableNode"),n.dataset.optionId=t,i?i.insertAdjacentElement("afterend",n):this.optionList.appendChild(n);const r=document.createElement("div");r.classList.add("pollOptionInput"),n.appendChild(r);const a=document.createElement("span");a.classList.add("icon","icon16","fa-arrows","sortableNodeHandle"),r.appendChild(a);const s=document.createElement("a");n.setAttribute("role","button"),n.setAttribute("href","#"),s.classList.add("icon","icon16","fa-plus","jsTooltip","jsAddOption","pointer"),s.setAttribute("title",o.get("wcf.poll.button.addOption")),s.addEventListener("click",(()=>this.createOption())),r.appendChild(s);const l=document.createElement("a");l.setAttribute("role","button"),l.setAttribute("href","#"),l.classList.add("icon","icon16","fa-times","jsTooltip","jsDeleteOption","pointer"),l.setAttribute("title",o.get("wcf.poll.button.removeOption")),l.addEventListener("click",(e=>this.removeOption(e))),r.appendChild(l);const c=document.createElement("input");c.type="text",c.value=e,c.maxLength=255,c.addEventListener("keydown",(e=>this.optionInputKeyDown(e))),c.addEventListener("click",(()=>{document.activeElement!==c&&c.focus()})),r.appendChild(c),null!==i&&c.focus(),this.optionCount++,this.optionCount===this.options.maxOptions&&this.optionList.querySelectorAll(".jsAddOption").forEach((e=>{e.classList.remove("pointer"),e.classList.add("disabled")}))}createOptionList(e){e.forEach((e=>{this.createOption(e.optionValue,e.optionID)})),this.optionCount<this.options.maxOptions&&this.createOption()}handleError(e){switch(e.returnValues.fieldName){case this.wysiwygId+"Poll_endTime":case this.wysiwygId+"Poll_maxVotes":{const t=e.returnValues.fieldName.replace(this.wysiwygId+"Poll_",""),i=document.createElement("small");i.classList.add("innerError"),i.innerHTML=o.get("wcf.poll."+t+".error."+e.returnValues.errorType);document.getElementById(e.returnValues.fieldName).nextSibling.insertAdjacentElement("afterbegin",i),e.cancel=!0;break}}}optionInputKeyDown(e){if("Enter"!==e.key)return;const t=e.currentTarget.parentElement.querySelector(".jsAddOption");n.triggerEvent(t,"click"),e.preventDefault()}removeOption(e){e.preventDefault();e.currentTarget.closest("li").remove(),this.optionCount--,0===this.optionList.childElementCount?this.createOption():this.optionList.querySelectorAll(".jsAddOption").forEach((e=>{e.classList.add("pointer"),e.classList.remove("disabled")}))}reset(){this.questionField.value="",this.optionCount=0,this.optionList.innerHTML="",this.createOption(),s.clear(this.endTimeField),this.maxVotesField.value="1",this.isChangeableYesField.checked=!1,this.isChangeableNoField.checked=!0,this.isPublicYesField.checked=!1,this.isPublicNoField.checked=!0,this.resultsRequireVoteYesField.checked=!1,this.resultsRequireVoteNoField.checked=!0,this.sortByVotesYesField.checked=!1,this.sortByVotesNoField.checked=!0,a.fire("com.woltlab.wcf.poll.editor","reset",{pollEditor:this})}submit(e){if(this.options.isAjax)a.fire("com.woltlab.wcf.poll.editor","submit",{event:e,pollEditor:this});else{const e=this.container.closest("form");this.getOptions().forEach(((t,i)=>{const n=document.createElement("input");n.type="hidden",n.name=`${this.wysiwygId} + 'Poll_options[${i}}]`,n.value=t,e.appendChild(n)}))}}validate(e){if(""===this.questionField.value.trim())return;let t=0;if(Array.from(this.optionList.children).forEach((e=>{""!==e.querySelector("input[type=text]").value.trim()&&t++})),0===t)e.api.throwError(this.container,o.get("wcf.global.form.error.empty")),e.valid=!1;else{const i=~~this.maxVotesField.value;i&&i>t?(e.api.throwError(this.maxVotesField.parentElement,o.get("wcf.poll.maxVotes.error.invalid")),e.valid=!1):a.fire("com.woltlab.wcf.poll.editor","validate",{data:e,pollEditor:this})}}getData(){return{[this.questionField.id]:this.questionField.value,[this.wysiwygId+"Poll_options"]:this.getOptions(),[this.endTimeField.id]:this.endTimeField.value,[this.maxVotesField.id]:this.maxVotesField.value,[this.isChangeableYesField.id]:!!this.isChangeableYesField.checked,[this.isPublicYesField.id]:!!this.isPublicYesField.checked,[this.resultsRequireVoteYesField.id]:!!this.resultsRequireVoteYesField.checked,[this.sortByVotesYesField.id]:!!this.sortByVotesYesField.checked}}getOptions(){const e=[];return Array.from(this.optionList.children).forEach((t=>{const i=t.querySelector("input[type=text]").value.trim();""!==i&&e.push(`${t.dataset.optionId}_${i}`)})),e}}return n.enableLegacyInheritance(l),l})),define("WoltLabSuite/Core/Ui/Reaction/Data",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})})),define("WoltLabSuite/Core/Ui/Redactor/Article",["require","exports","tslib","../../Core","../Article/Search"],(function(e,t,i,n,o){"use strict";n=i.__importStar(n),o=i.__importStar(o);class r{constructor(e,t){this._editor=e,t.addEventListener("click",(e=>this._click(e)))}_click(e){e.preventDefault(),o.open((e=>this._insert(e)))}_insert(e){this._editor.buffer.set(),this._editor.insert.text(`[wsa='${e}'][/wsa]`)}}return n.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Ui/Redactor/Metacode",["require","exports","tslib","../../Event/Handler","../../Dom/Util"],(function(e,t,i,n,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.convertFromHtml=void 0,n=i.__importStar(n),o=i.__importDefault(o),t.convertFromHtml=function(e,t){const i=document.createElement("div");return i.innerHTML=t,i.querySelectorAll("woltlab-metacode").forEach((t=>{const r=t.dataset.name,a=function(e){try{e=JSON.parse(atob(e))}catch(e){}return Array.isArray(e)?e.map((e=>e.toString().replace(/^'(.*)'$/,"$1"))):[]}(t.dataset.attributes||""),s={attributes:a,cancel:!1,metacode:t};if(n.fire("com.woltlab.wcf.redactor2",`metacode_${r}_${e}`,s),s.cancel)return;const l=function(e,t){let i="["+e;return t.length&&(i+="=",i+=t.map((e=>`'${e}'`)).join(",")),document.createTextNode(i+"]")}(r,a),c=function(e){return document.createTextNode(`[/${e}]`)}(r);if(t.parentElement===i){const e=function(e){let t;if(0===e.childElementCount)t=document.createElement("p"),e.appendChild(t);else{const i=e.children[0];"P"===i.nodeName?t=i:(t=document.createElement("p"),e.insertBefore(t,i))}return t}(t);e.insertBefore(l,e.firstChild),function(e){const t=e.childElementCount;let i;if(0===t)i=document.createElement("p"),e.appendChild(i);else{const n=e.children[t-1];"P"===n.nodeName?i=n:(i=document.createElement("p"),e.appendChild(i))}return i}(t).appendChild(c)}else t.insertBefore(l,t.firstChild),t.appendChild(c);o.default.unwrapChildNodes(t)})),i.querySelectorAll("kbd").forEach((e=>{e.insertBefore(document.createTextNode("[tt]"),e.firstChild),e.appendChild(document.createTextNode("[/tt]")),o.default.unwrapChildNodes(e)})),i.innerHTML}})),define("WoltLabSuite/Core/Ui/Redactor/Autosave",["require","exports","tslib","../../Core","../../Devtools","../../Event/Handler","../../Language","./Metacode"],(function(e,t,i,n,o,r,a,s){"use strict";n=i.__importStar(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s);class l{constructor(e){this._container=null,this._editor=null,this._isActive=!0,this._isPending=!1,this._lastMessage="",this._metaData={},this._originalMessage="",this._restored=!1,this._timer=null,this._element=e,this._key=n.getStoragePrefix()+this._element.dataset.autosave,this._cleanup(),delete this._element.dataset.autosave;const t=this._element.closest("form");null!==t&&t.addEventListener("submit",this.destroy.bind(this)),r.add("com.woltlab.wcf.redactor2",`getMetaData_${this._element.id}`,(e=>{Object.entries(this._metaData).forEach((([t,i])=>{e[t]=i}))})),r.add("com.woltlab.wcf.redactor2",`reset_${this._element.id}`,(()=>this.hideOverlay())),document.addEventListener("visibilitychange",(()=>this._onVisibilityChange()))}_onVisibilityChange(){this._isActive=!document.hidden,this._isPending=document.hidden}getInitialValue(){if(window.ENABLE_DEVELOPER_TOOLS&&!o.default._internal_.editorAutosave())return this._element.value;let e="";try{e=window.localStorage.getItem(this._key)||""}catch(e){const t=e.message;window.console.warn(`Unable to access local storage: ${t}`)}let t=null;try{t=JSON.parse(e)}catch(e){}if(null!==t&&"object"==typeof t&&t.content){if(1e3*~~this._element.dataset.autosaveLastEditTime<=t.timestamp){const e=document.createElement("div");e.innerHTML=this._element.value;const i=document.createElement("div");if(i.innerHTML=t.content,e.innerText.trim()!==i.innerText.trim())return this._originalMessage=this._element.value,this._restored=!0,this._metaData=t.meta||{},t.content}}return this._element.value}getMetaData(){return this._metaData}watch(e){if(this._editor=e,null!==this._timer)throw new Error("Autosave timer is already active.");this._timer=window.setInterval((()=>this._saveToStorage()),15e3),this._saveToStorage(),this._isPending=!1}destroy(){this.clear(),this._editor=null,this._timer&&window.clearInterval(this._timer),this._timer=null,this._isPending=!1}clear(){this._metaData={},this._lastMessage="";try{window.localStorage.removeItem(this._key)}catch(e){const t=e.message;window.console.warn(`Unable to remove from local storage: ${t}`)}}createOverlay(){if(!this._restored)return;const e=this._editor,t=document.createElement("div");t.className="redactorAutosaveRestored active";const i=document.createElement("span");i.textContent=a.get("wcf.editor.autosave.restored"),t.appendChild(i);const n=document.createElement("a");n.className="jsTooltip",n.href="#",n.title=a.get("wcf.editor.autosave.keep"),n.innerHTML='<span class="icon icon16 fa-check green"></span>',n.addEventListener("click",(e=>{e.preventDefault(),this.hideOverlay()})),t.appendChild(n);const o=document.createElement("a");o.className="jsTooltip",o.href="#",o.title=a.get("wcf.editor.autosave.discard"),o.innerHTML='<span class="icon icon16 fa-times red"></span>',o.addEventListener("click",(t=>{t.preventDefault(),this.clear();const i=s.convertFromHtml(e.core.element()[0].id,this._originalMessage);e.code.start(i),e.core.textarea().val(e.clean.onSync(e.$editor.html())),this.hideOverlay()})),t.appendChild(o),e.core.box()[0].appendChild(t),e.core.editor()[0].addEventListener("click",(()=>this.hideOverlay()),{once:!0}),this._container=t}hideOverlay(){null!==this._container&&(this._container.classList.remove("active"),window.setTimeout((()=>{null!==this._container&&this._container.remove(),this._container=null,this._originalMessage=""}),1e3))}_saveToStorage(){if(!this._isActive){if(!this._isPending)return;this._isPending=!1}if(window.ENABLE_DEVELOPER_TOOLS&&!o.default._internal_.editorAutosave())return;const e=this._editor;let t=e.code.get();if(e.utils.isEmpty(t)&&(t=""),this._lastMessage!==t){if(""===t)return this.clear();try{r.fire("com.woltlab.wcf.redactor2",`autosaveMetaData_${this._element.id}`,this._metaData),window.localStorage.setItem(this._key,JSON.stringify({content:t,meta:this._metaData,timestamp:Date.now()})),this._lastMessage=t}catch(e){const t=e.message;window.console.warn(`Unable to write to local storage: ${t}`)}}}_cleanup(){const e=Date.now()-6048e5;Object.keys(window.localStorage).filter((e=>e.startsWith(n.getStoragePrefix()))).forEach((t=>{let i="";try{i=window.localStorage.getItem(t)||""}catch(e){const t=e.message;window.console.warn(`Unable to access local storage: ${t}`)}let n=0;try{n=JSON.parse(i).timestamp}catch(e){}if(!i||n<e)try{window.localStorage.removeItem(t)}catch(e){const t=e.message;window.console.warn(`Unable to remove from local storage: ${t}`)}}))}}return n.enableLegacyInheritance(l),l})),define("WoltLabSuite/Core/Ui/Redactor/PseudoHeader",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getHeight=void 0,t.getHeight=function(e){let t=~~window.getComputedStyle(e).paddingTop.replace(/px$/,"");const i=window.getComputedStyle(e,"::before");t+=~~i.paddingTop.replace(/px$/,""),t+=~~i.paddingBottom.replace(/px$/,"");let n=~~i.height.replace(/px$/,"");return 0===n&&(n=e.scrollHeight,e.classList.add("redactorCalcHeight"),n-=e.scrollHeight,e.classList.remove("redactorCalcHeight")),t+=n,t}})),define("WoltLabSuite/Core/Ui/Redactor/Code",["require","exports","tslib","../../Core","../../Dom/Util","../../Event/Handler","../../Language","../../StringUtil","../Dialog","./PseudoHeader","../../prism-meta"],(function(e,t,i,n,o,r,a,s,l,c,d){"use strict";n=i.__importStar(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importDefault(l),c=i.__importStar(c),d=i.__importDefault(d);let u=0;class h{constructor(e){this._pre=null,this._editor=e,this._elementId=this._editor.$element[0].id,r.add("com.woltlab.wcf.redactor2",`bbcode_code_${this._elementId}`,(e=>this._bbcodeCode(e))),r.add("com.woltlab.wcf.redactor2",`observe_load_${this._elementId}`,(()=>this._observeLoad())),this._editor.opts.activeButtonsStates.pre="code",this._callbackEdit=this._edit.bind(this),this._observeLoad()}_bbcodeCode(e){e.cancel=!0;let t=this._editor.selection.block();t&&"PRE"===t.nodeName&&t.classList.contains("woltlabHtml")||(this._editor.button.toggle({},"pre","func","block.format"),t=this._editor.selection.block(),t&&"PRE"===t.nodeName&&!t.classList.contains("woltlabHtml")&&(1===t.childElementCount&&"BR"===t.children[0].nodeName&&t.removeChild(t.children[0]),this._setTitle(t),t.addEventListener("click",this._callbackEdit),this._editor.caret.end(t)))}_observeLoad(){this._editor.$editor[0].querySelectorAll("pre:not(.woltlabHtml)").forEach((e=>{e.addEventListener("mousedown",this._callbackEdit),this._setTitle(e)}))}_edit(e){const t=e.currentTarget;0===u&&(u=c.getHeight(t));const i=o.default.offset(t);e.pageY>i.top&&e.pageY<i.top+u&&(e.preventDefault(),this._editor.selection.save(),this._pre=t,l.default.open(this))}_dialogSubmit(){const e="redactor-code-"+this._elementId,t=this._pre;["file","highlighter","line"].forEach((i=>{const n=document.getElementById(`${e}-${i}`);t.dataset[i]=n.value})),this._setTitle(t),this._editor.caret.after(t),l.default.close(this)}_setTitle(e){const t=e.dataset.file;let i=e.dataset.highlighter;i=-1!==this._editor.opts.woltlab.highlighters.indexOf(i)?d.default[i].title:"";const n=a.get("wcf.editor.code.title",{file:t,highlighter:i});e.dataset.title!==n&&(e.dataset.title=n)}_delete(e){e.preventDefault();const t=this._pre;let i=t.nextElementSibling||t.previousElementSibling;null===i&&t.parentElement!==this._editor.core.editor()[0]&&(i=t.parentElement),null===i?(this._editor.code.set(""),this._editor.focus.end()):(t.remove(),this._editor.caret.end(i)),l.default.close(this)}_dialogSetup(){const e=`redactor-code-${this._elementId}`,t=`${e}-button-delete`,i=`${e}-button-save`,n=`${e}-file`,o=`${e}-highlighter`,r=`${e}-line`;return{id:e,options:{onClose:()=>{this._editor.selection.restore(),l.default.destroy(this)},onSetup:()=>{document.getElementById(t).addEventListener("click",(e=>this._delete(e)));let e=`<option value="">${a.get("wcf.editor.code.highlighter.detect")}</option>\n <option value="plain">${a.get("wcf.editor.code.highlighter.plain")}</option>`;const i=this._editor.opts.woltlab.highlighters.map((e=>[e,d.default[e].title]));i.sort(((e,t)=>e[1].localeCompare(t[1]))),e+=i.map((([e,t])=>`<option value="${e}">${s.escapeHTML(t)}</option>`)).join("\n"),document.getElementById(o).innerHTML=e},onShow:()=>{const e=this._pre;document.getElementById(o).value=e.dataset.highlighter||"";const t=~~(e.dataset.line||1);document.getElementById(r).value=t.toString();document.getElementById(n).value=e.dataset.file||""},title:a.get("wcf.editor.code.edit")},source:`<div class="section">\n <dl>\n <dt>\n <label for="${o}">${a.get("wcf.editor.code.highlighter")}</label>\n </dt>\n <dd>\n <select id="${o}"></select>\n <small>${a.get("wcf.editor.code.highlighter.description")}</small>\n </dd>\n </dl>\n <dl>\n <dt>\n <label for="${r}">${a.get("wcf.editor.code.line")}</label>\n </dt>\n <dd>\n <input type="number" id="${r}" min="0" value="1" class="long" data-dialog-submit-on-enter="true">\n <small>${a.get("wcf.editor.code.line.description")}</small>\n </dd>\n </dl>\n <dl>\n <dt>\n <label for="${n}">${a.get("wcf.editor.code.file")}</label>\n </dt>\n <dd>\n <input type="text" id="${n}" class="long" data-dialog-submit-on-enter="true">\n <small>${a.get("wcf.editor.code.file.description")}</small>\n </dd>\n </dl>\n </div>\n <div class="formSubmit">\n <button id="${i}" class="buttonPrimary" data-type="submit">${a.get("wcf.global.button.save")}</button>\n <button id="${t}">${a.get("wcf.global.button.delete")}</button>\n </div>`}}}return n.enableLegacyInheritance(h),h})),define("WoltLabSuite/Core/Ui/Redactor/Editor",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})})),define("WoltLabSuite/Core/Ui/Redactor/Format",["require","exports","tslib","../../Dom/Util"],(function(e,t,i,n){"use strict";function o(e){let t=window.getSelection().anchorNode;for(;t;){if(t===e)return!0;t=t.parentNode}return!1}function r(e,t,i){let n=e;for(;n=n[i];)if(n.nodeType!==Node.TEXT_NODE||""!==n.textContent.replace(/\u200B/,""))return!1;return!0}function a(e,t){const i=["DEL","SUB","SUP"].find((i=>{const n=t.anchorNode;let o=n.nodeType===Node.ELEMENT_NODE?n:n.parentElement;if(!(null!==o.querySelector(i.toLowerCase())))for(;o&&o!==e;){if(o.nodeName===i)return!0;o=o.parentElement}return!1}));return"DEL"===i||void 0===i?["strike","strikethrough"]:[i.toLowerCase(),i.toLowerCase()+"script"]}function s(e,t){const i=window.getSelection();if(!i.rangeCount)return;if(!o(e))return void console.error("Invalid selection, range exists outside of the editor:",i.anchorNode);let r=i.getRangeAt(0),s=null;const l=r.collapsed;if(l){let o=r.startContainer;const a=[o];for(;;){const t=o.parentElement;if(t===e||"TD"===t.nodeName)break;o=t,a.push(o)}if(""===o.innerHTML.replace(/[\u200B-\u200D\uFEFF]/g,"").replace(/ /gi,"").replace(/<\/?br\s?\/?>/g,"").replace(/\s/g,"").replace(/^<p>[^\W\w\D\d]*?<\/p>$/i,"").replace(/<iframe(.*?[^>])>$/i,"iframe").replace(/<source(.*?[^>])>$/i,"source").replace(/<[^/>][^>]*><\/[^>]+>/gi,"").replace(/<[^/>][^>]*><\/[^>]+>/gi,"").trim()){const e=document.createElement("woltlab-format-marker");return r.insertNode(e),a.forEach((e=>{"SPAN"===e.nodeName&&e.style.getPropertyValue(t)&&n.default.unwrapChildNodes(e)})),r=document.createRange(),r.selectNode(e),r.collapse(!0),i.removeAllRanges(),i.addRange(r),void e.remove()}s=document.createTextNode(""),r.insertNode(s)}let c=e.querySelectorAll("strike");c.forEach((e=>n.default.unwrapChildNodes(e)));const d=a(e,i);if(document.execCommand(d[1]),c=e.querySelectorAll(d[0]),l&&null!==s&&0===c.length){document.execCommand(d[1]);const e=document.createElement(d[0]);s.parentElement.insertBefore(e,s),e.appendChild(s)}c.forEach((i=>{const o=function(e,t,i){let n=e.parentElement,o=null;for(;n!==t;)"SPAN"===n.nodeName&&""!==n.style.getPropertyValue(i)&&(o=n),n=n.parentElement;return o}(i,e,t);null!==o&&function(e,t,i){const o=t.parentElement;if(!n.default.isAtNodeStart(e,t)){const i=document.createRange();i.setStartBefore(t),i.setEndBefore(e);const n=i.extractContents();o.insertBefore(n,t)}if(!n.default.isAtNodeEnd(e,t)){const i=document.createRange();i.setStartAfter(e),i.setEndAfter(t);const n=i.extractContents();o.insertBefore(n,t.nextSibling)}t.querySelectorAll("span").forEach((e=>{e.style.getPropertyValue(i)&&n.default.unwrapChildNodes(e)})),n.default.unwrapChildNodes(t)}(i,o,t),i.querySelectorAll("span").forEach((e=>{e.style.getPropertyValue(t)&&n.default.unwrapChildNodes(e)})),n.default.unwrapChildNodes(i)})),e.querySelectorAll("span").forEach((e=>{e.parentNode&&!e.textContent.length&&""!==e.style.getPropertyValue(t)&&(1===e.childElementCount&&"MARK"===e.children[0].nodeName&&e.parentNode.insertBefore(e.children[0],e),0===e.childElementCount&&e.remove())}))}Object.defineProperty(t,"__esModule",{value:!0}),t.removeFormat=t.format=void 0,n=i.__importDefault(n),t.format=function(e,t,i){const l=window.getSelection();if(!l.rangeCount)return;if(!o(e))return void console.error("Invalid selection, range exists outside of the editor:",l.anchorNode);let c=l.getRangeAt(0),d=null,u=null,h=null;if(c.collapsed)h=document.createElement("strike"),h.textContent="",c.insertNode(h),c=document.createRange(),c.selectNodeContents(h),l.removeAllRanges(),l.addRange(c);else{d=document.createElement("mark"),u=document.createElement("mark");let i=c.cloneRange();i.collapse(!0),i.insertNode(d),i=c.cloneRange(),i.collapse(!1),i.insertNode(u),c=document.createRange(),c.setStartAfter(d),c.setEndBefore(u),l.removeAllRanges(),l.addRange(c),s(e,t),c=document.createRange(),c.setStartAfter(d),c.setEndBefore(u),l.removeAllRanges(),l.addRange(c)}let p=["strike","strikethrough"];null===h&&(p=a(e,l),document.execCommand(p[1]));const m=[];e.querySelectorAll(p[0]).forEach((e=>{const o=document.createElement("span");o.setAttribute("style",`${t}: ${i}`),n.default.replaceElement(e,o),m.push(o)}));const f=m.length;if(f){const e=m[0],i=m[f-1];if(null===h&&e.parentElement===i.parentElement){const o=e.parentElement;"SPAN"===o.nodeName&&""!==o.style.getPropertyValue(t)&&r(e,0,"previousSibling")&&r(i,0,"nextSibling")&&n.default.unwrapChildNodes(o)}c=document.createRange(),c.setStart(e,0),c.setEnd(i,i.childNodes.length),l.removeAllRanges(),l.addRange(c)}null!==d&&(d.remove(),u.remove())},t.removeFormat=s})),define("WoltLabSuite/Core/Ui/Redactor/Html",["require","exports","tslib","../../Core","../../Event/Handler","../../Language"],(function(e,t,i,n,o,r){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r);class a{constructor(e){this._pre=null,this._editor=e,this._elementId=this._editor.$element[0].id,o.add("com.woltlab.wcf.redactor2",`bbcode_woltlabHtml_${this._elementId}`,(e=>this._bbcodeCode(e))),o.add("com.woltlab.wcf.redactor2",`observe_load_${this._elementId}`,(()=>this._observeLoad())),this._editor.opts.activeButtonsStates["woltlab-html"]="woltlabHtml",this._observeLoad()}_bbcodeCode(e){e.cancel=!0;let t=this._editor.selection.block();t&&"PRE"===t.nodeName&&!t.classList.contains("woltlabHtml")||(this._editor.button.toggle({},"pre","func","block.format"),t=this._editor.selection.block(),t&&"PRE"===t.nodeName&&(t.classList.add("woltlabHtml"),1===t.childElementCount&&"BR"===t.children[0].nodeName&&t.removeChild(t.children[0]),this._setTitle(t),this._editor.caret.end(t)))}_observeLoad(){this._editor.$editor[0].querySelectorAll("pre.woltlabHtml").forEach((e=>{this._setTitle(e)}))}_setTitle(e){["title","description"].forEach((t=>{const i=r.get(`wcf.editor.html.${t}`);e.dataset[t]!==i&&(e.dataset[t]=i)}))}}return n.enableLegacyInheritance(a),a})),define("WoltLabSuite/Core/Ui/Redactor/Link",["require","exports","tslib","../../Dom/Util","../../Language","../Dialog"],(function(e,t,i,n,o,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.showDialog=void 0,n=i.__importDefault(n),o=i.__importStar(o),r=i.__importDefault(r);class a{constructor(){this.boundListener=!1}open(e){r.default.open(this),r.default.setTitle(this,o.get("wcf.editor.link."+(e.insert?"add":"edit")));const t=document.getElementById("redactor-modal-button-action");t.textContent=o.get("wcf.global.button."+(e.insert?"insert":"save")),this.submitCallback=e.submitCallback,this.boundListener||(this.boundListener=!0,t.addEventListener("click",(()=>this.submit())))}submit(){if(this.submitCallback())r.default.close(this);else{const e=document.getElementById("redactor-link-url"),t=""===e.value.trim()?"wcf.global.form.error.empty":"wcf.editor.link.error.invalid";n.default.innerError(e,o.get(t))}}_dialogSetup(){return{id:"redactorDialogLink",options:{onClose:()=>{const e=document.getElementById("redactor-link-url").nextElementSibling;e&&"SMALL"===e.nodeName&&e.remove()},onSetup:e=>{const t=e.querySelector(".formSubmit > .buttonPrimary");null!==t&&e.querySelectorAll('input[type="url"], input[type="text"]').forEach((e=>{e.addEventListener("keyup",(e=>{"Enter"===e.key&&t.click()}))}))},onShow:()=>{document.getElementById("redactor-link-url").focus()}},source:`<dl>\n <dt>\n <label for="redactor-link-url">${o.get("wcf.editor.link.url")}</label>\n </dt>\n <dd>\n <input type="url" id="redactor-link-url" class="long">\n </dd>\n </dl>\n <dl>\n <dt>\n <label for="redactor-link-url-text">${o.get("wcf.editor.link.text")}</label>\n </dt>\n <dd>\n <input type="text" id="redactor-link-url-text" class="long">\n </dd>\n </dl>\n <div class="formSubmit">\n <button id="redactor-modal-button-action" class="buttonPrimary"></button>\n </div>`}}}let s;t.showDialog=function(e){s||(s=new a),s.open(e)}})),define("WoltLabSuite/Core/Ui/Redactor/Mention",["require","exports","tslib","../../Ajax","../../Core","../../StringUtil","../CloseOverlay"],(function(e,t,i,n,o,r,a){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importDefault(a);let s=null;class l{constructor(e){this._active=!1,this._dropdownActive=!1,this._dropdownMenu=null,this._itemIndex=0,this._lineHeight=null,this._mentionStart="",this._timer=null,this._redactor=e,e.WoltLabEvent.register("keydown",(e=>this._keyDown(e))),e.WoltLabEvent.register("keyup",(e=>this._keyUp(e))),a.default.add(`UiRedactorMention-${e.core.element()[0].id}`,(()=>this._hideDropdown()))}_keyDown(e){if(!this._dropdownActive)return;const t=e.event;switch(t.key){case"Enter":this._setUsername(null,this._dropdownMenu.children[this._itemIndex].children[0]);break;case"ArrowUp":this._selectItem(-1);break;case"ArrowDown":this._selectItem(1);break;default:return void this._hideDropdown()}t.preventDefault(),e.cancel=!0}_keyUp(e){const t=e.event;if("Enter"===t.key)return void(this._active=!1);if(this._dropdownActive&&(e.cancel=!0,"ArrowDown"===t.key||"ArrowUp"===t.key))return;const i=this._getTextLineInFrontOfCaret();if(i.length>0&&i.length<25){const e=/@([^,]{3,})$/.exec(i);e?e.index&&!/\s/.test(i[e.index-1])||(this._mentionStart=e[1],null!==this._timer&&(window.clearTimeout(this._timer),this._timer=null),this._timer=window.setTimeout((()=>{n.api(this,{parameters:{data:{searchString:this._mentionStart}}}),this._timer=null}),500)):this._hideDropdown()}else this._hideDropdown()}_getTextLineInFrontOfCaret(){const e=this._selectMention(!1);return null!==e?e.range.cloneContents().textContent.replace(/\u200B/g,"").replace(/\u00A0/g," ").trim():""}_getDropdownMenuPosition(){const e=this._selectMention();if(null===e)return null;this._redactor.selection.save(),e.selection.removeAllRanges(),e.selection.addRange(e.range);const t=e.selection.getRangeAt(0).getBoundingClientRect(),i={top:Math.round(t.bottom)+(window.scrollY||window.pageYOffset),left:Math.round(t.left)+document.body.scrollLeft};return null===this._lineHeight&&(this._lineHeight=Math.round(t.bottom-t.top)),this._redactor.selection.restore(),i}_setUsername(e,t){e&&(e.preventDefault(),t=e.currentTarget);const i=this._selectMention();if(null===i)return void this._hideDropdown();this._redactor.buffer.set(),i.selection.removeAllRanges(),i.selection.addRange(i.range);let n=window.getSelection().getRangeAt(0);n.deleteContents(),n.collapse(!0);let o=t.dataset.username.trim();o.split(/\s/g).length>2&&(o="'"+o.replace(/'/g,"''")+"'");const r=document.createTextNode("@"+o+" ");n.insertNode(r),n=document.createRange(),n.selectNode(r),n.collapse(!1),i.selection.removeAllRanges(),i.selection.addRange(n),this._hideDropdown()}_selectMention(e){const t=window.getSelection();if(!t.rangeCount||!t.isCollapsed)return null;let i=t.anchorNode;if(i.nodeType===Node.TEXT_NODE&&(i=i.parentElement),-1===i.textContent.indexOf("@"))return null;const n=this._redactor.core.editor()[0];for(;i&&i!==n;){if(-1!==["PRE","WOLTLAB-QUOTE"].indexOf(i.nodeName))return null;i=i.parentElement}let o=t.getRangeAt(0),r=o.startContainer,a=o.startOffset;for(;r.nodeType===Node.ELEMENT_NODE;){if(0===a&&0===r.childNodes.length)return null;r=r.childNodes[a?a-1:0],a>0&&(a=r.nodeType===Node.TEXT_NODE?r.textContent.length:r.childNodes.length)}let s=r,l=-1;for(;null!==s;){if(s.nodeType!==Node.TEXT_NODE)return null;if(-1!==s.textContent.indexOf("@")){l=s.textContent.lastIndexOf("@");break}s=s.previousSibling}if(-1===l)return null;try{o=document.createRange(),o.setStart(s,l),o.setEnd(r,a)}catch(e){return window.console.debug(e),null}if(!1===e){let e="";for(l&&(e=s.textContent.substr(0,l));(s=s.previousSibling)&&s.nodeType===Node.TEXT_NODE;)e=s.textContent+e;if(/\S$/.test(e.replace(/\u200B/g,"")))return null}else if(o.cloneContents().textContent.replace(/\u200B/g,"").replace(/\u00A0/g,"").trim().replace(/^@/,"")!==this._mentionStart)return null;return{range:o,selection:t}}_updateDropdownPosition(){const e=this._getDropdownMenuPosition();if(null===e)return void this._hideDropdown();e.top+=7;const t=this._dropdownMenu;if(t.style.setProperty("left",`${e.left}px`,""),t.style.setProperty("top",`${e.top}px`,""),this._selectItem(0),e.top+t.offsetHeight+10>window.innerHeight+(window.scrollY||window.pageYOffset)){const i=e.top-t.offsetHeight-2*this._lineHeight+7;t.style.setProperty("top",`${i}px`,"")}}_selectItem(e){const t=this._dropdownMenu,i=t.querySelector(".active");null!==i&&i.classList.remove("active"),this._itemIndex+=e,this._itemIndex<0?this._itemIndex=t.childElementCount-1:this._itemIndex>=t.childElementCount&&(this._itemIndex=0),t.children[this._itemIndex].classList.add("active")}_hideDropdown(){null!==this._dropdownMenu&&this._dropdownMenu.classList.remove("dropdownOpen"),this._dropdownActive=!1,this._itemIndex=0}_ajaxSetup(){return{data:{actionName:"getSearchResultList",className:"wcf\\data\\user\\UserAction",interfaceName:"wcf\\data\\ISearchAction",parameters:{data:{includeUserGroups:!0,scope:"mention"}}},silent:!0}}_ajaxSuccess(e){Array.isArray(e.returnValues)&&e.returnValues.length?(null===this._dropdownMenu&&(this._dropdownMenu=document.createElement("ol"),this._dropdownMenu.className="dropdownMenu",null===s&&(s=document.createElement("div"),s.className="dropdownMenuContainer",document.body.appendChild(s)),s.appendChild(this._dropdownMenu)),this._dropdownMenu.innerHTML="",e.returnValues.forEach((e=>{const t=document.createElement("li"),i=document.createElement("a");i.addEventListener("mousedown",(e=>this._setUsername(e))),i.className="box16",i.innerHTML=`<span>${e.icon}</span> <span>${r.escapeHTML(e.label)}</span>`,i.dataset.userId=e.objectID.toString(),i.dataset.username=e.label,t.appendChild(i),this._dropdownMenu.appendChild(t)})),this._dropdownMenu.classList.add("dropdownOpen"),this._dropdownActive=!0,this._updateDropdownPosition()):this._hideDropdown()}}return o.enableLegacyInheritance(l),l})),define("WoltLabSuite/Core/Ui/Redactor/Page",["require","exports","tslib","../../Core","../Page/Search"],(function(e,t,i,n,o){"use strict";n=i.__importStar(n),o=i.__importStar(o);class r{constructor(e,t){this._editor=e,t.addEventListener("click",(e=>this._click(e)))}_click(e){e.preventDefault(),o.open((e=>this._insert(e)))}_insert(e){this._editor.buffer.set(),this._editor.insert.text(`[wsp='${e}'][/wsp]`)}}return n.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Ui/Redactor/Quote",["require","exports","tslib","../../Core","../../Dom/Util","../../Event/Handler","../../Language","../../StringUtil","../Dialog","./Metacode","./PseudoHeader"],(function(e,t,i,n,o,r,a,s,l,c,d){"use strict";n=i.__importStar(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importDefault(l),c=i.__importStar(c),d=i.__importStar(d);let u=0;class h{constructor(e,t){this._quote=null,this._editor=e,this._elementId=this._editor.$element[0].id,r.add("com.woltlab.wcf.redactor2",`observe_load_${this._elementId}`,(()=>this._observeLoad())),this._editor.button.addCallback(t,this._click.bind(this)),this._observeLoad(),r.add("com.woltlab.wcf.redactor2",`insertQuote_${this._elementId}`,(e=>this._insertQuote(e)))}_insertQuote(e){if(this._editor.WoltLabSource.isActive())return;r.fire("com.woltlab.wcf.redactor2","showEditor");const t=this._editor.core.editor()[0];this._editor.selection.restore(),this._editor.buffer.set();let i=this._editor.selection.block();for(!1===i&&(this._editor.focus.end(),i=this._editor.selection.block());i&&i.parentElement!==t;)i=i.parentElement;const n=document.createElement("woltlab-quote");n.dataset.author=e.author,n.dataset.link=e.link;let o=e.content;e.isText?(o=s.escapeHTML(o),o=`<p>${o}</p>`,o=o.replace(/\n\n/g,"</p><p>"),o=o.replace(/\n/g,"<br>")):o=c.convertFromHtml(this._editor.$element[0].id,o),n.innerHTML=o;const a=i.parentElement;a.insertBefore(n,i.nextSibling),"P"!==i.nodeName||"<br>"!==i.innerHTML&&""!==i.innerHTML.replace(/\u200B/g,"")||a.removeChild(i);let l=n.previousElementSibling;l&&"P"!==l.nodeName&&(l=document.createElement("p"),l.textContent="",n.insertAdjacentElement("beforebegin",l)),this._editor.WoltLabCaret.paragraphAfterBlock(n),this._editor.buffer.set()}_click(){this._editor.button.toggle({},"woltlab-quote","func","block.format");const e=this._editor.selection.block();e&&"WOLTLAB-QUOTE"===e.nodeName&&(this._setTitle(e),e.addEventListener("click",(e=>this._edit(e))),this._editor.caret.end(e))}_observeLoad(){document.querySelectorAll("woltlab-quote").forEach((e=>{e.addEventListener("mousedown",(e=>this._edit(e))),this._setTitle(e)}))}_edit(e){const t=e.currentTarget;0===u&&(u=d.getHeight(t));const i=o.default.offset(t);e.pageY>i.top&&e.pageY<i.top+u&&(e.preventDefault(),this._editor.selection.save(),this._quote=t,l.default.open(this))}_dialogSubmit(){const e=`redactor-quote-${this._elementId}`,t=document.getElementById(`${e}-url`),i=t.value.replace(/\u200B/g,"").trim();if(i.length&&!/^https?:\/\/[^/]+/.test(i))return void o.default.innerError(t,a.get("wcf.editor.quote.url.error.invalid"));o.default.innerError(t,!1);const n=this._quote,r=document.getElementById(e+"-author");n.dataset.author=r.value,n.dataset.link=i,this._setTitle(n),this._editor.caret.after(n),l.default.close(this)}_setTitle(e){const t=a.get("wcf.editor.quote.title",{author:e.dataset.author,url:e.dataset.url});e.dataset.title!==t&&(e.dataset.title=t)}_delete(e){e.preventDefault();const t=this._quote;let i=t.nextElementSibling||t.previousElementSibling;null===i&&t.parentElement!==this._editor.core.editor()[0]&&(i=t.parentElement),null===i?(this._editor.code.set(""),this._editor.focus.end()):(t.remove(),this._editor.caret.end(i)),l.default.close(this)}_dialogSetup(){const e=`redactor-quote-${this._elementId}`,t=`${e}-author`,i=`${e}-button-delete`,n=`${e}-button-save`,o=`${e}-url`;return{id:e,options:{onClose:()=>{this._editor.selection.restore(),l.default.destroy(this)},onSetup:()=>{document.getElementById(i).addEventListener("click",(e=>this._delete(e)))},onShow:()=>{document.getElementById(t).value=this._quote.dataset.author||"";document.getElementById(o).value=this._quote.dataset.link||""},title:a.get("wcf.editor.quote.edit")},source:`<div class="section">\n <dl>\n <dt>\n <label for="${t}">${a.get("wcf.editor.quote.author")}</label>\n </dt>\n <dd>\n <input type="text" id="${t}" class="long" data-dialog-submit-on-enter="true">\n </dd>\n </dl>\n <dl>\n <dt>\n <label for="${o}">${a.get("wcf.editor.quote.url")}</label>\n </dt>\n <dd>\n <input type="text" id="${o}" class="long" data-dialog-submit-on-enter="true">\n <small>${a.get("wcf.editor.quote.url.description")}</small>\n </dd>\n </dl>\n </div>\n <div class="formSubmit">\n <button id="${n}" class="buttonPrimary" data-type="submit">${a.get("wcf.global.button.save")}</button>\n <button id="${i}">${a.get("wcf.global.button.delete")}</button>\n </div>`}}}return n.enableLegacyInheritance(h),h})),define("WoltLabSuite/Core/Ui/Redactor/Spoiler",["require","exports","tslib","../../Core","../../Dom/Util","../../Event/Handler","../../Language","../Dialog","./PseudoHeader"],(function(e,t,i,n,o,r,a,s,l){"use strict";n=i.__importStar(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importDefault(s),l=i.__importStar(l);let c=0;class d{constructor(e){this._spoiler=null,this._editor=e,this._elementId=this._editor.$element[0].id,r.add("com.woltlab.wcf.redactor2",`bbcode_spoiler_${this._elementId}`,(e=>this._bbcodeSpoiler(e))),r.add("com.woltlab.wcf.redactor2",`observe_load_${this._elementId}`,(()=>this._observeLoad())),this._observeLoad()}_bbcodeSpoiler(e){e.cancel=!0,this._editor.button.toggle({},"woltlab-spoiler","func","block.format");let t=this._editor.selection.block();t&&("P"===t.nodeName&&(t=t.parentElement),"WOLTLAB-SPOILER"===t.nodeName&&(this._setTitle(t),t.addEventListener("click",(e=>this._edit(e))),this._editor.caret.end(t)))}_observeLoad(){this._editor.$editor[0].querySelectorAll("woltlab-spoiler").forEach((e=>{e.addEventListener("mousedown",(e=>this._edit(e))),this._setTitle(e)}))}_edit(e){const t=e.currentTarget;0===c&&(c=l.getHeight(t));const i=o.default.offset(t);e.pageY>i.top&&e.pageY<i.top+c&&(e.preventDefault(),this._editor.selection.save(),this._spoiler=t,s.default.open(this))}_dialogSubmit(){const e=this._spoiler,t=document.getElementById("redactor-spoiler-"+this._elementId+"-label");e.dataset.label=t.value,this._setTitle(e),this._editor.caret.after(e),s.default.close(this)}_setTitle(e){const t=a.get("wcf.editor.spoiler.title",{label:e.dataset.label||""});e.dataset.title!==t&&(e.dataset.title=t)}_delete(e){e.preventDefault();const t=this._spoiler;let i=t.nextElementSibling||t.previousElementSibling;null===i&&t.parentElement!==this._editor.core.editor()[0]&&(i=t.parentElement),null===i?(this._editor.code.set(""),this._editor.focus.end()):(t.remove(),this._editor.caret.end(i)),s.default.close(this)}_dialogSetup(){const e=`redactor-spoiler-${this._elementId}`,t=`${e}-button-delete`,i=`${e}-button-save`,n=`${e}-label`;return{id:e,options:{onClose:()=>{this._editor.selection.restore(),s.default.destroy(this)},onSetup:()=>{document.getElementById(t).addEventListener("click",(e=>this._delete(e)))},onShow:()=>{document.getElementById(n).value=this._spoiler.dataset.label||""},title:a.get("wcf.editor.spoiler.edit")},source:`<div class="section">\n <dl>\n <dt>\n <label for="${n}">${a.get("wcf.editor.spoiler.label")}</label>\n </dt>\n <dd>\n <input type="text" id="${n}" class="long" data-dialog-submit-on-enter="true">\n <small>${a.get("wcf.editor.spoiler.label.description")}</small>\n </dd>\n </dl>\n </div>\n <div class="formSubmit">\n <button id="${i}" class="buttonPrimary" data-type="submit">${a.get("wcf.global.button.save")}</button>\n <button id="${t}">${a.get("wcf.global.button.delete")}</button>\n </div>`}}}return n.enableLegacyInheritance(d),d})),define("WoltLabSuite/Core/Ui/Redactor/Table",["require","exports","tslib","../../Language","../Dialog"],(function(e,t,i,n,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.showDialog=void 0,n=i.__importStar(n),o=i.__importDefault(o);class r{open(e){o.default.open(this),this.callbackSubmit=e.submitCallback}_dialogSubmit(){let e=!0;["rows","cols"].forEach((t=>{const i=document.getElementById("redactor-table-"+t);(+i.value<1||+i.value>100)&&(e=!1)})),e&&(this.callbackSubmit(),o.default.close(this))}_dialogSetup(){return{id:"redactorDialogTable",options:{onShow:()=>{document.getElementById("redactor-table-rows").value="2";document.getElementById("redactor-table-cols").value="3"},title:n.get("wcf.editor.table.insertTable")},source:`<dl>\n <dt>\n <label for="redactor-table-rows">${n.get("wcf.editor.table.rows")}</label>\n </dt>\n <dd>\n <input type="number" id="redactor-table-rows" class="small" min="1" max="100" value="2" data-dialog-submit-on-enter="true">\n </dd>\n </dl>\n <dl>\n <dt>\n <label for="redactor-table-cols">${n.get("wcf.editor.table.cols")}</label>\n </dt>\n <dd>\n <input type="number" id="redactor-table-cols" class="small" min="1" max="100" value="3" data-dialog-submit-on-enter="true">\n </dd>\n </dl>\n <div class="formSubmit">\n <button id="redactor-modal-button-action" class="buttonPrimary" data-type="submit">${n.get("wcf.global.button.insert")}</button>\n </div>`}}}let a;t.showDialog=function(e){a||(a=new r),a.open(e)}})),define("WoltLabSuite/Core/Ui/Search/Data",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})})),define("WoltLabSuite/Core/Ui/Search/Page",["require","exports","tslib","../../Core","../../Dom/Traverse","../../Dom/Util","../Dropdown/Simple","../Screen","./Input"],(function(e,t,i,n,o,r,a,s,l){"use strict";function c(e){e.preventDefault();const t=document.getElementById("pageHeader");t.classList.add("searchBarForceOpen"),window.setTimeout((()=>{t.classList.remove("searchBarForceOpen")}),10);const i=e.currentTarget,o=i.dataset.objectType,r=document.getElementById("pageHeaderSearchParameters");r.innerHTML="";const a=i.dataset.extendedLink;if(a){document.querySelector(".pageHeaderSearchExtendedLink").href=a}const s=new Map;try{const e=JSON.parse(i.dataset.parameters||"");n.isPlainObject(e)&&Object.keys(e).forEach((t=>{s.set(t,e[t])}))}catch(e){}o&&s.set("types[]",o),s.forEach(((e,t)=>{const i=document.createElement("input");i.type="hidden",i.name=t,i.value=e,r.appendChild(i)}));document.getElementById("pageHeaderSearchInputContainer").querySelector(".pageHeaderSearchType > .button > .pageHeaderSearchTypeLabel").textContent=i.textContent}Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importDefault(a),s=i.__importStar(s),l=i.__importDefault(l),t.init=function(e){const t=document.getElementById("pageHeaderSearchInput");new l.default(t,{ajax:{className:"wcf\\data\\search\\keyword\\SearchKeywordAction"},autoFocus:!1,callbackDropdownInit(e){if(e.classList.add("dropdownMenuPageSearch"),s.is("screen-lg")){e.dataset.dropdownAlignmentHorizontal="right";const i=t.clientWidth;e.style.setProperty("min-width",`${i}px`,"");const n=t.parentElement,o=r.default.offset(n).left+n.clientWidth-(r.default.offset(t).left+i),a=r.default.styleAsInt(window.getComputedStyle(n),"padding-bottom");e.style.setProperty("transform",`translateX(-${Math.ceil(o)}px) translateY(-${a}px)`,"")}},callbackSelect:()=>(setTimeout((()=>{o.parentByTag(t,"FORM").submit()}),1),!0)});const i=document.querySelector(".pageHeaderSearchType"),n=a.default.getDropdownMenu(r.default.identify(i));n.querySelectorAll("a[data-object-type]").forEach((e=>{e.addEventListener("click",c)})),n.querySelector('a[data-object-type="'+e+'"]').click()}})),define("WoltLabSuite/Core/Ui/Smiley/Insert",["require","exports","tslib","../../Core","../../Event/Handler"],(function(e,t,i,n,o){"use strict";n=i.__importStar(n),o=i.__importStar(o);class r{constructor(e){this.editorId=e;let t=document.getElementById("smilies-"+this.editorId);if(!t&&(t=document.getElementById(this.editorId+"SmiliesTabContainer"),!t))throw new Error("Unable to find the message tab menu container containing the smilies.");this.container=t,this.container.addEventListener("keydown",(e=>this.keydown(e))),this.container.addEventListener("mousedown",(e=>this.mousedown(e)))}keydown(e){const t=document.activeElement;if(t.classList.contains("jsSmiley"))if(["ArrowLeft","ArrowRight","End","Home"].includes(e.key)){e.preventDefault();const i=e.currentTarget,n=Array.from(i.querySelectorAll(".jsSmiley"));"ArrowLeft"===e.key&&n.reverse();let o=n.indexOf(t);"Home"===e.key?o=0:"End"===e.key?o=n.length-1:(o+=1,o===n.length&&(o=0)),n[o].focus()}else if("Enter"===e.key||"Space"===e.key){e.preventDefault();const i=t.querySelector("img");this.insert(i)}}mousedown(e){const t=e.target.closest("li");if(t&&this.container.contains(t)){e.preventDefault();const i=t.querySelector("img");i&&this.insert(i)}}insert(e){o.fire("com.woltlab.wcf.redactor2","insertSmiley_"+this.editorId,{img:e})}}return n.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Ui/Style/FontAwesome",["require","exports","tslib","../../Language","../Dialog","../ItemList/Filter"],(function(e,t,i,n,o,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.open=t.setup=void 0,n=i.__importStar(n),o=i.__importDefault(o),r=i.__importDefault(r);class a{constructor(e){this.callback=void 0,this.iconList=void 0,this.itemListFilter=void 0,this.icons=e}open(e){this.callback=e,o.default.open(this)}click(e){e.preventDefault();const t=e.target.closest("li").querySelector("small").textContent.trim();o.default.close(this),this.callback(t)}_dialogSetup(){return{id:"fontAwesomeSelection",options:{onSetup:()=>{this.iconList=document.getElementById("fontAwesomeIcons"),this.iconList.innerHTML=this.icons.map((e=>`<li><span class="icon icon48 fa-${e}"></span><small>${e}</small></li>`)).join(""),this.iconList.addEventListener("click",(e=>this.click(e))),this.itemListFilter=new r.default("fontAwesomeIcons",{callbackPrepareItem:e=>{const t=e.querySelector("small"),i=t.textContent.trim();return{item:e,span:t,text:i}},enableVisibilityFilter:!1,filterPosition:"top"})},onShow:()=>{this.itemListFilter.reset()},title:n.get("wcf.global.fontAwesome.selectIcon")},source:'<ul class="fontAwesomeIcons" id="fontAwesomeIcons"></ul>'}}}let s;t.setup=function(e){s||(s=new a(e))},t.open=function(e){if(!s)throw new Error("Missing icon data, please include the template before calling this method using `{include file='fontAwesomeJavaScript'}`.");s.open(e)}})),define("WoltLabSuite/Core/Ui/Toggle/Input",["require","exports","tslib","../../Core","../../Dom/Util"],(function(e,t,i,n,o){"use strict";n=i.__importStar(n),o=i.__importDefault(o);class r{constructor(e,t){const i=document.querySelector(e);if(null===i)throw new Error("Unable to find element by selector '"+e+"'.");const n="INPUT"===i.nodeName?i.type:"";if("checkbox"!==n&&"radio"!==n)throw new Error("Illegal element, expected input[type='checkbox'] or input[type='radio'].");this.element=i,this.hide=this.getElements("hide",Array.isArray(t.hide)?t.hide:[]),this.hide=this.getElements("show",Array.isArray(t.show)?t.show:[]),this.element.addEventListener("change",(e=>this.change(e))),this.updateVisibility(this.show,this.element.checked),this.updateVisibility(this.hide,!this.element.checked)}getElements(e,t){const i=[];return t.forEach((t=>{let n=null;if("string"==typeof t){if(n=document.querySelector(t),null===n)throw new Error(`Unable to find an element with the selector '${t}'.`)}else{if(!(t instanceof HTMLElement))throw new TypeError(`The array '${e}' may only contain string selectors or DOM elements.`);n=t}i.push(n)})),i}change(e){const t=e.currentTarget.checked;this.updateVisibility(this.show,t),this.updateVisibility(this.hide,!t)}updateVisibility(e,t){e.forEach((e=>{o.default[t?"show":"hide"](e)}))}}return n.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Ui/User/Editor",["require","exports","tslib","../../Ajax","../../Core","../../Dom/Util","../../Language","../../StringUtil","../Dialog","../Notification"],(function(e,t,i,n,o,r,a,s,l,c){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importDefault(l),c=i.__importStar(c);class d{constructor(){this.actionName="",this.header=document.querySelector(".userProfileUser"),["ban","disableAvatar","disableCoverPhoto","disableSignature","enable"].forEach((e=>{const t=document.querySelector(".userProfileButtonMenu .jsButtonUser"+s.ucfirst(e));t&&(t.dataset.action=e,t.addEventListener("click",(e=>this._click(e))))}))}_click(e){e.preventDefault();const t=e.currentTarget.dataset.action||"";let i="";switch(t){case"ban":o.stringToBool(this.header.dataset.banned||"")&&(i="unban");break;case"disableAvatar":o.stringToBool(this.header.dataset.disableAvatar||"")&&(i="enableAvatar");break;case"disableCoverPhoto":o.stringToBool(this.header.dataset.disableCoverPhoto||"")&&(i="enableCoverPhoto");break;case"disableSignature":o.stringToBool(this.header.dataset.disableSignature||"")&&(i="enableSignature");break;case"enable":i=o.stringToBool(this.header.dataset.isDisabled||"")?"enable":"disable"}""===i?(this.actionName=t,l.default.open(this)):n.api(this,{actionName:i})}_submit(e){e.preventDefault();const t=document.getElementById("wcfUiUserEditorExpiresLabel");let i="",o="";if(!document.getElementById("wcfUiUserEditorNeverExpires").checked){i=document.getElementById("wcfUiUserEditorExpiresDatePicker").value,""===i&&(o=a.get("wcf.global.form.error.empty"))}r.default.innerError(t,o);const s={};s[this.actionName+"Expires"]=i;const l=document.getElementById("wcfUiUserEditorReason");s[this.actionName+"Reason"]=l.value.trim(),n.api(this,{actionName:this.actionName,parameters:s})}_ajaxSuccess(e){let t;switch(e.actionName){case"ban":case"unban":{this.header.dataset.banned="ban"===e.actionName?"true":"false",t=document.querySelector(".userProfileButtonMenu .jsButtonUserBan"),t.textContent=a.get("wcf.user."+("ban"===e.actionName?"unban":"ban"));const i=this.header.querySelector(".contentTitle");let n=i.querySelector(".jsUserBanned");"ban"===e.actionName?(n=document.createElement("span"),n.className="icon icon24 fa-lock jsUserBanned jsTooltip",n.title=e.returnValues,i.appendChild(n)):n&&n.remove();break}case"disableAvatar":case"enableAvatar":this.header.dataset.disableAvatar="disableAvatar"===e.actionName?"true":"false",t=document.querySelector(".userProfileButtonMenu .jsButtonUserDisableAvatar"),t.textContent=a.get("wcf.user."+("disableAvatar"===e.actionName?"enable":"disable")+"Avatar");break;case"disableCoverPhoto":case"enableCoverPhoto":this.header.dataset.disableCoverPhoto="disableCoverPhoto"===e.actionName?"true":"false",t=document.querySelector(".userProfileButtonMenu .jsButtonUserDisableCoverPhoto"),t.textContent=a.get("wcf.user."+("disableCoverPhoto"===e.actionName?"enable":"disable")+"CoverPhoto");break;case"disableSignature":case"enableSignature":this.header.dataset.disableSignature="disableSignature"===e.actionName?"true":"false",t=document.querySelector(".userProfileButtonMenu .jsButtonUserDisableSignature"),t.textContent=a.get("wcf.user."+("disableSignature"===e.actionName?"enable":"disable")+"Signature");break;case"enable":case"disable":this.header.dataset.isDisabled="disable"===e.actionName?"true":"false",t=document.querySelector(".userProfileButtonMenu .jsButtonUserEnable"),t.textContent=a.get("wcf.acp.user."+("enable"===e.actionName?"disable":"enable"))}-1!==["ban","disableAvatar","disableCoverPhoto","disableSignature"].indexOf(e.actionName)&&l.default.close(this),c.show()}_ajaxSetup(){return{data:{className:"wcf\\data\\user\\UserAction",objectIDs:[+this.header.dataset.objectId]}}}_dialogSetup(){return{id:"wcfUiUserEditor",options:{onSetup:e=>{const t=document.getElementById("wcfUiUserEditorNeverExpires");t.addEventListener("change",(()=>{const e=document.getElementById("wcfUiUserEditorExpiresSettings");r.default[t.checked?"hide":"show"](e)}));e.querySelector("button.buttonPrimary").addEventListener("click",this._submit.bind(this))},onShow:e=>{l.default.setTitle("wcfUiUserEditor",a.get("wcf.user."+this.actionName+".confirmMessage"));let t=document.getElementById("wcfUiUserEditorReason").nextElementSibling;const i="wcf.user."+this.actionName+".reason.description";t.textContent=a.get(i),t.textContent===i?r.default.hide(t):r.default.show(t),t=document.getElementById("wcfUiUserEditorNeverExpires").nextElementSibling,t.textContent=a.get("wcf.user."+this.actionName+".neverExpires"),t=e.querySelector('label[for="wcfUiUserEditorExpires"]'),t.textContent=a.get("wcf.user."+this.actionName+".expires"),t=document.getElementById("wcfUiUserEditorExpiresLabel"),t.textContent=a.get("wcf.user."+this.actionName+".expires.description")}},source:`<div class="section">\n <dl>\n <dt><label for="wcfUiUserEditorReason">${a.get("wcf.global.reason")}</label></dt>\n <dd><textarea id="wcfUiUserEditorReason" cols="40" rows="3"></textarea><small></small></dd>\n </dl>\n <dl>\n <dt></dt>\n <dd><label><input type="checkbox" id="wcfUiUserEditorNeverExpires" checked> <span></span></label></dd>\n </dl>\n <dl id="wcfUiUserEditorExpiresSettings" style="display: none">\n <dt><label for="wcfUiUserEditorExpires"></label></dt>\n <dd>\n <input type="date" name="wcfUiUserEditorExpires" id="wcfUiUserEditorExpires" class="medium" min="${new Date(1e3*window.TIME_NOW).toISOString()}" data-ignore-timezone="true">\n <small id="wcfUiUserEditorExpiresLabel"></small>\n </dd>\n </dl>\n </div>\n <div class="formSubmit">\n <button class="buttonPrimary">${a.get("wcf.global.button.submit")}</button>\n </div>`}}}t.init=function(){new d}})),define("WoltLabSuite/Core/Ui/User/List",["require","exports","tslib","../../Ajax","../../Core","../../Dom/Util","../Dialog","../Pagination"],(function(e,t,i,n,o,r,a,s){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importDefault(a),s=i.__importDefault(s);class l{constructor(e){this.cache=new Map,this.pageCount=0,this.pageNo=1,this.options=o.extend({className:"",dialogTitle:"",parameters:{}},e)}open(){this.pageNo=1,this.showPage()}showPage(e){if("number"==typeof e&&(this.pageNo=+e),0!==this.pageCount&&(this.pageNo<1||this.pageNo>this.pageCount))throw new RangeError(`pageNo must be between 1 and ${this.pageCount} (${this.pageNo} given).`);if(this.cache.has(this.pageNo)){const e=a.default.open(this,this.cache.get(this.pageNo));if(this.pageCount>1){const t=e.content.querySelector(".jsPagination");null!==t&&new s.default(t,{activePage:this.pageNo,maxPage:this.pageCount,callbackSwitch:this.showPage.bind(this)});const i=e.content.parentElement;i.scrollTop>0&&(i.scrollTop=0)}}else this.options.parameters.pageNo=this.pageNo,n.api(this,{parameters:this.options.parameters})}_ajaxSuccess(e){void 0!==e.returnValues.pageCount&&(this.pageCount=~~e.returnValues.pageCount),this.cache.set(this.pageNo,e.returnValues.template),this.showPage()}_ajaxSetup(){return{data:{actionName:"getGroupedUserList",className:this.options.className,interfaceName:"wcf\\data\\IGroupedUserListAction"}}}_dialogSetup(){return{id:r.default.getUniqueId(),options:{title:this.options.dialogTitle},source:null}}}return o.enableLegacyInheritance(l),l})),define("WoltLabSuite/Core/Ui/User/PasswordStrength",["require","exports","tslib","../../Language","../../Dom/Util"],(function(e,t,i,n,o){"use strict";function r(e){return[].concat(e,e.split(/\W+/))}var a;n=i.__importStar(n),o=i.__importDefault(o);const s=[],l=null===(a=document.querySelector('meta[property="og:site_name"]'))||void 0===a?void 0:a.getAttribute("content");l&&s.push(l);return class{constructor(t,o){this.input=t,this.relatedInputs=[],this.staticDictionary=[],this.score=document.createElement("span"),this.verdictResult=document.createElement("input"),new Promise(((t,i)=>{e(["zxcvbn"],t,i)})).then(i.__importStar).then((({default:e})=>{this.zxcvbn=e,o.relatedInputs&&(this.relatedInputs=o.relatedInputs),o.staticDictionary&&(this.staticDictionary=o.staticDictionary),this.feedbacker=function(e){const t={};return Object.entries(e.default_phrases).forEach((([e,i])=>{t[e]={},Object.entries(i).forEach((([i,o])=>{const r=`wcf.user.password.zxcvbn.${e}.${i}`,a=n.get(r);t[e][i]=a!==r?a:o}))})),new e(t)}(e.Feedback);const t=this.input.closest(".inputAddon");if(null===t)throw new Error("Expected a parent with `.inputAddon`.");this.wrapper=t,this.wrapper.classList.add("inputAddonPasswordStrength");const i=document.createElement("div");i.className="passwordStrengthRating";const r=document.createElement("small");r.textContent=n.get("wcf.user.password.strength"),i.appendChild(r),this.score.className="passwordStrengthScore",this.score.dataset.score="-1",i.appendChild(this.score),this.wrapper.appendChild(i),this.verdictResult.type="hidden",this.verdictResult.name=`${this.input.name}_passwordStrengthVerdict`,this.wrapper.parentNode.insertBefore(this.verdictResult,this.wrapper),this.input.addEventListener("input",(e=>this.evaluate(e))),this.relatedInputs.forEach((e=>e.addEventListener("input",(e=>this.evaluate(e))))),""!==this.input.value.trim()&&this.evaluate()}))}evaluate(e){const t=(i=s.concat(this.staticDictionary,this.relatedInputs.map((e=>e.value.trim()))),n=r,i.map(n).reduce(((e,t)=>e.concat(t)),[])).filter((e=>e.length>0));var i,n;const a=this.input.value.trim(),l=this.zxcvbn(a.substr(0,100),t);l.feedback=this.feedbacker.from_result(l),this.score.dataset.score=0===a.length?"-1":l.score.toString(),void 0!==e&&o.default.innerError(this.wrapper,l.feedback.warning),this.verdictResult.value=JSON.stringify(l)}}})),define("WoltLabSuite/Core/Controller/Condition/Page/Dependence",["require","exports","tslib","../../../Dom/Util","../../../Event/Handler"],(function(e,t,i,n,o){"use strict";function r(){s.forEach((e=>{const t=l.get(e),i=[];a.forEach((e=>{e.checked&&i.push(~~e.value)}));const o=i.filter((e=>t.includes(e)));!i.length||o.length?function(e){n.default.hide(e);c.get(e).forEach((e=>n.default.hide(e))),c.set(e,[])}(e):function(e){n.default.show(e);let t=e;for(;(t=t.parentElement)&&t;)n.default.isHidden(t)&&c.get(e).push(t),n.default.show(t)}(e)})),o.fire("com.woltlab.wcf.pageConditionDependence","checkVisivility")}Object.defineProperty(t,"__esModule",{value:!0}),t.register=void 0,n=i.__importDefault(n),o=i.__importStar(o);const a=Array.from(document.querySelectorAll('input[name="pageIDs[]"]')),s=[],l=new WeakMap,c=new WeakMap;let d=!1;t.register=function(e,t){s.push(e),l.set(e,t),c.set(e,[]),d||(a.forEach((e=>{e.addEventListener("change",(()=>r()))})),d=!0),e.closest("form").addEventListener("submit",(()=>{n.default.isHidden(e)&&e.remove()})),r()}})),define("WoltLabSuite/Core/Controller/Map/Route/Planner",["require","exports","tslib","../../../Ajax/Status","../../../Core","../../../Dom/Util","../../../Language","../../../Ui/Dialog"],(function(e,t,i,n,o,r,a,s){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importStar(a),s=i.__importDefault(s);class l{constructor(e,t){this.didInitDialog=!1,this.directionsRenderer=void 0,this.directionsService=void 0,this.googleLink=void 0,this.lastOrigin=void 0,this.map=void 0,this.originInput=void 0,this.travelMode=void 0;const i=document.getElementById(e);if(null===i)throw new Error(`Unknown button with id '${e}'`);this.button=i,this.button.addEventListener("click",(e=>this.openDialog(e))),this.destination=t}_calculateRoute(e){const t=s.default.getDialog(this).dialog;if(e.label&&(this.originInput.value=e.label),void 0===this.map){const e=t.querySelector(".googleMap");this.map=new google.maps.Map(e,{disableDoubleClickZoom:window.WCF.Location.GoogleMaps.Settings.get("disableDoubleClickZoom"),draggable:window.WCF.Location.GoogleMaps.Settings.get("draggable"),mapTypeId:google.maps.MapTypeId.ROADMAP,scaleControl:window.WCF.Location.GoogleMaps.Settings.get("scaleControl"),scrollwheel:window.WCF.Location.GoogleMaps.Settings.get("scrollwheel")}),this.directionsService=new google.maps.DirectionsService,this.directionsRenderer=new google.maps.DirectionsRenderer,this.directionsRenderer.setMap(this.map);const i=t.querySelector(".googleMapsDirections");this.directionsRenderer.setPanel(i),this.googleLink=t.querySelector(".googleMapsDirectionsGoogleLink")}const i={destination:this.destination,origin:e.location,provideRouteAlternatives:!0,travelMode:google.maps.TravelMode[this.travelMode.value.toUpperCase()]};n.show(),this.directionsService.route(i,((e,t)=>this.setRoute(e,t))),this.googleLink.href=this.getGoogleMapsLink(e.location,this.travelMode.value),this.lastOrigin=e.location}getGoogleMapsLink(e,t){if(e){let i=`https://www.google.com/maps/dir/?api=1&origin=${e.lat()},${e.lng()}&destination=${this.destination.lat()},${this.destination.lng()}`;return t&&(i+=`&travelmode=${t}`),i}return`https://www.google.com/maps/search/?api=1&query=${this.destination.lat()},${this.destination.lng()}`}initDialog(){if(!this.didInitDialog){const e=s.default.getDialog(this).dialog;this.originInput=e.querySelector('input[name="origin"]'),new window.WCF.Location.GoogleMaps.LocationSearch(this.originInput,(e=>this._calculateRoute(e))),this.travelMode=e.querySelector('select[name="travelMode"]'),this.travelMode.addEventListener("change",this.updateRoute.bind(this)),this.didInitDialog=!0}}openDialog(e){e.preventDefault(),s.default.open(this)}setRoute(e,t){n.hide(),"OK"===t?(r.default.show(this.map.getDiv().parentElement),google.maps.event.trigger(this.map,"resize"),this.directionsRenderer.setDirections(e),r.default.show(this.travelMode.closest("dl")),r.default.show(this.googleLink),r.default.innerError(this.originInput,!1)):("OVER_QUERY_LIMIT"!==t&&"REQUEST_DENIED"!==t&&(t=google.maps.DirectionsStatus.NOT_FOUND),r.default.innerError(this.originInput,a.get(`wcf.map.route.error.${t.toLowerCase()}`)))}updateRoute(){this._calculateRoute({location:this.lastOrigin})}_dialogSetup(){return{id:this.button.id+"Dialog",options:{onShow:this.initDialog.bind(this),title:a.get("wcf.map.route.planner")},source:`\n<div class="googleMapsDirectionsContainer" style="display: none;">\n <div class="googleMap"></div>\n <div class="googleMapsDirections"></div>\n</div>\n<small class="googleMapsDirectionsGoogleLinkContainer">\n <a href="${this.getGoogleMapsLink()}" class="googleMapsDirectionsGoogleLink" target="_blank" style="display: none;">${a.get("wcf.map.route.viewOnGoogleMaps")}</a>\n</small>\n<dl>\n <dt>${a.get("wcf.map.route.origin")}</dt>\n <dd>\n <input type="text" name="origin" class="long" autofocus>\n </dd>\n</dl>\n<dl style="display: none;">\n <dt>${a.get("wcf.map.route.travelMode")}</dt>\n <dd>\n <select name="travelMode">\n <option value="driving">${a.get("wcf.map.route.travelMode.driving")}</option>\n <option value="walking">${a.get("wcf.map.route.travelMode.walking")}</option>\n <option value="bicycling">${a.get("wcf.map.route.travelMode.bicycling")}</option>\n <option value="transit">${a.get("wcf.map.route.travelMode.transit")}</option>\n </select>\n </dd>\n</dl>`}}}return o.enableLegacyInheritance(l),l})),define("WoltLabSuite/Core/Controller/User/Notification/Settings",["require","exports","tslib","../../../Language","../../../Ui/Dropdown/Reusable"],(function(e,t,i,n,o){"use strict";function r(e){e.preventDefault(),e.stopPropagation();const t=e.currentTarget;var i,r;l=~~t.dataset.objectId,function(){if(s)return;s=document.createElement("ul"),s.className="dropdownMenu",["instant","daily","divider","none"].forEach((e=>{const t=document.createElement("li");if("divider"===e)t.className="dropdownDivider";else{const i=document.createElement("a");i.href="#",i.textContent=n.get(`wcf.user.notification.mailNotificationType.${e}`),t.appendChild(i),t.dataset.value=e,t.addEventListener("click",(e=>function(e){e.preventDefault();const t=e.currentTarget.dataset.value;a().value=t;const i=document.querySelector(`.notificationSettingsEmailType[data-object-id="${l}"]`);i.title=n.get(`wcf.user.notification.mailNotificationType.${t}`);const o=i.querySelector(".jsIconNotificationSettingsEmailType");switch(o.classList.remove("fa-clock-o","fa-flash","fa-times","green","red"),t){case"daily":o.classList.add("fa-clock-o","green");break;case"instant":o.classList.add("fa-flash","green");break;case"none":o.classList.add("fa-times","red")}l=0}(e)))}s.appendChild(t)})),o.init("UiNotificationSettingsEmailType",s)}(),i=a().value,s.querySelectorAll("li").forEach((e=>{e.dataset.value===i?e.classList.add("active"):e.classList.remove("active")})),r=t,o.toggleDropdown("UiNotificationSettingsEmailType",r)}function a(){return document.getElementById(`settings_${l}_mailNotificationType`)}let s;Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,n=i.__importStar(n),o=i.__importStar(o);let l=0;t.init=function(){document.querySelectorAll(".jsCheckboxNotificationSettingsState").forEach((e=>{e.addEventListener("change",(e=>function(e){const t=e.currentTarget,i=~~t.dataset.objectId,n=document.querySelector(`.notificationSettingsEmailType[data-object-id="${i}"]`);null!==n&&(t.checked?n.classList.remove("disabled"):n.classList.add("disabled"))}(e)))})),document.querySelectorAll(".notificationSettingsEmailType").forEach((e=>{e.addEventListener("click",(e=>r(e)))}))}})),define("WoltLabSuite/Core/Form/Builder/Container/SuffixFormField",["require","exports","tslib","../../../Ui/Dropdown/Simple","../../../Event/Handler","../../../Core"],(function(e,t,i,n,o,r){"use strict";n=i.__importDefault(n),o=i.__importStar(o),r=i.__importStar(r);class a{constructor(e,t){this._formId=e,this._suffixField=document.getElementById(t),this._suffixDropdownMenu=n.default.getDropdownMenu(t+"_dropdown"),this._suffixDropdownToggle=n.default.getDropdown(t+"_dropdown").getElementsByClassName("dropdownToggle")[0],Array.from(this._suffixDropdownMenu.children).forEach((e=>{e.addEventListener("click",(e=>this._changeSuffixSelection(e)))})),o.add("WoltLabSuite/Core/Form/Builder/Manager","afterUnregisterForm",(e=>this._destroyDropdown(e)))}_changeSuffixSelection(e){const t=e.currentTarget;t.classList.contains("disabled")||(Array.from(this._suffixDropdownMenu.children).forEach((e=>{e===t?e.classList.add("active"):e.classList.remove("active")})),this._suffixField.value=t.dataset.value,this._suffixDropdownToggle.innerHTML=t.dataset.label+' <span class="icon icon16 fa-caret-down pointer"></span>')}_destroyDropdown(e){e.formId===this._formId&&n.default.destroy(this._suffixDropdownMenu.id)}}return r.enableLegacyInheritance(a),a})),define("WoltLabSuite/Core/Form/Builder/Field/Acl",["require","exports","tslib","./Field","../../../Core"],(function(e,t,i,n,o){"use strict";n=i.__importDefault(n),o=i.__importStar(o);class r extends n.default{_getData(){return{[this._fieldId]:this._aclList.getData()}}_readField(){}setAclList(e){return this._aclList=e,this}}return o.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Form/Builder/Field/Button",["require","exports","tslib","./Field"],(function(e,t,i,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Button=void 0,n=i.__importDefault(n);class o extends n.default{_getData(){const e={};return"1"===this._field.dataset.isClicked&&(e[this._fieldId]=this._field.value),e}}t.Button=o,t.default=o})),define("WoltLabSuite/Core/Form/Builder/Field/Captcha",["require","exports","tslib","./Field","../../../Controller/Captcha","../../../Core"],(function(e,t,i,n,o,r){"use strict";n=i.__importDefault(n),o=i.__importDefault(o),r=i.__importStar(r);class a extends n.default{_getData(){return o.default.has(this._fieldId)?o.default.getData(this._fieldId):{}}_readField(){}destroy(){o.default.has(this._fieldId)&&o.default.delete(this._fieldId)}}return r.enableLegacyInheritance(a),a})),define("WoltLabSuite/Core/Form/Builder/Field/Checkboxes",["require","exports","tslib","./Field","../../../Core"],(function(e,t,i,n,o){"use strict";n=i.__importDefault(n),o=i.__importStar(o);class r extends n.default{_getData(){const e=this._fields.map((e=>e.checked?e.value:null)).filter((e=>null!==e));return{[this._fieldId]:e}}_readField(){this._fields=Array.from(document.querySelectorAll(`input[name="${this._fieldId}[]"]`))}}return o.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Form/Builder/Field/Checked",["require","exports","tslib","./Field","../../../Core"],(function(e,t,i,n,o){"use strict";n=i.__importDefault(n),o=i.__importStar(o);class r extends n.default{_getData(){return{[this._fieldId]:this._field.checked?1:0}}}return o.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Form/Builder/Field/Date",["require","exports","tslib","./Field","../../../Date/Picker","../../../Core"],(function(e,t,i,n,o,r){"use strict";n=i.__importDefault(n),o=i.__importDefault(o),r=i.__importStar(r);class a extends n.default{_getData(){return{[this._fieldId]:o.default.getValue(this._field)}}}return r.enableLegacyInheritance(a),a})),define("WoltLabSuite/Core/Form/Builder/Field/ItemList",["require","exports","tslib","./Field","../../../Ui/ItemList/Static","../../../Core"],(function(e,t,i,n,o,r){"use strict";n=i.__importDefault(n),o=i.__importStar(o),r=i.__importStar(r);class a extends n.default{_getData(){const e=[];return o.getValues(this._fieldId).forEach((t=>{t.objectId?e[t.objectId]=t.value:e.push(t.value)})),{[this._fieldId]:e}}}return r.enableLegacyInheritance(a),a})),define("WoltLabSuite/Core/Form/Builder/Field/RadioButton",["require","exports","tslib","./Field","../../../Core"],(function(e,t,i,n,o){"use strict";n=i.__importDefault(n),o=i.__importStar(o);class r extends n.default{_getData(){const e={};return this._fields.some((t=>!!t.checked&&(e[this._fieldId]=t.value,!0))),e}_readField(){this._fields=Array.from(document.querySelectorAll("input[name="+this._fieldId+"]"))}}return o.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Form/Builder/Field/SimpleAcl",["require","exports","tslib","./Field","../../../Core"],(function(e,t,i,n,o){"use strict";n=i.__importDefault(n),o=i.__importStar(o);class r extends n.default{_getData(){const e=Array.from(document.querySelectorAll('input[name="'+this._fieldId+'[group][]"]')).map((e=>e.value)),t=Array.from(document.querySelectorAll('input[name="'+this._fieldId+'[user][]"]')).map((e=>e.value));return{[this._fieldId]:{group:e,user:t}}}_readField(){}}return o.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Form/Builder/Field/Tag",["require","exports","tslib","./Field","../../../Ui/ItemList","../../../Core"],(function(e,t,i,n,o,r){"use strict";n=i.__importDefault(n),o=i.__importStar(o),r=i.__importStar(r);class a extends n.default{_getData(){const e=o.getValues(this._fieldId).map((e=>e.value));return{[this._fieldId]:e}}}return r.enableLegacyInheritance(a),a})),define("WoltLabSuite/Core/Form/Builder/Field/User",["require","exports","tslib","./Field","../../../Core","../../../Ui/ItemList"],(function(e,t,i,n,o,r){"use strict";n=i.__importDefault(n),o=i.__importStar(o),r=i.__importStar(r);class a extends n.default{_getData(){const e=r.getValues(this._fieldId).map((e=>e.value));return{[this._fieldId]:e.join(",")}}}return o.enableLegacyInheritance(a),a})),define("WoltLabSuite/Core/Form/Builder/Field/Value",["require","exports","tslib","./Field","../../../Core"],(function(e,t,i,n,o){"use strict";n=i.__importDefault(n),o=i.__importStar(o);class r extends n.default{_getData(){return{[this._fieldId]:this._field.value}}}return o.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Form/Builder/Field/ValueI18n",["require","exports","tslib","./Field","../../../Language/Input","../../../Core"],(function(e,t,i,n,o,r){"use strict";n=i.__importDefault(n),o=i.__importStar(o),r=i.__importStar(r);class a extends n.default{_getData(){const e={},t=o.getValues(this._fieldId);return t.size>1?t.forEach(((t,i)=>{e[this._fieldId+"_i18n"][i]=t})):e[this._fieldId]=t.get(0),e}destroy(){o.unregister(this._fieldId)}}return r.enableLegacyInheritance(a),a})),define("WoltLabSuite/Core/Ui/Comment/Response/Add",["require","exports","tslib","../../../Core","../../../Dom/Change/Listener","../../../Dom/Util","../../../Language","../Add","../../Notification"],(function(e,t,i,n,o,r,a,s,l){"use strict";n=i.__importStar(n),o=i.__importDefault(o),r=i.__importDefault(r),a=i.__importStar(a),s=i.__importDefault(s),l=i.__importStar(l);class c extends s.default{constructor(e,t){super(e),this._options=n.extend({callbackInsert:null},t)}getContainer(){return this._container}getContent(){return window.jQuery(this._textarea).redactor("code.get")}setContent(e){window.jQuery(this._textarea).redactor("code.set",e),window.jQuery(this._textarea).redactor("WoltLabCaret.endOfEditor");const t=this._textarea.parentElement.querySelector(".innerError");null!==t&&t.remove(),this._content.classList.remove("collapsed"),this._focusEditor()}_getParameters(){const e=super._getParameters(),t=this._container.closest(".comment");return e.data.commentID=~~t.dataset.objectId,e}_insertMessage(e){const t=this._container.parentElement.querySelector(".commentContent");let i=t.nextElementSibling;return null!==i&&i.classList.contains("commentResponseList")||(i=document.createElement("ul"),i.className="containerList commentResponseList",i.dataset.responses="0",t.insertAdjacentElement("afterend",i)),r.default.insertHtml(e.returnValues.template,i,"append"),l.show(a.get("wcf.global.success.add")),o.default.trigger(),window.jQuery(this._textarea).redactor("code.set",""),null!==this._options.callbackInsert&&this._options.callbackInsert(),i.dataset.responses=i.children.length.toString(),i.lastElementChild}_ajaxSetup(){const e=super._ajaxSetup();return e.data.actionName="addResponse",e}}return n.enableLegacyInheritance(c),c})),define("WoltLabSuite/Core/Ui/Comment/Response/Edit",["require","exports","tslib","../../../Ajax","../../../Core","../../../Dom/Change/Listener","../../../Dom/Util","../Edit","../../Notification"],(function(e,t,i,n,o,r,a,s,l){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importDefault(a),s=i.__importDefault(s),l=i.__importStar(l);class c extends s.default{constructor(e){super(e),this._responses=new WeakSet,this.rebuildResponses(),r.default.add("Ui/Comment/Response/Edit_"+a.default.identify(this._container),(()=>this.rebuildResponses()))}rebuild(){}rebuildResponses(){this._container.querySelectorAll(".commentResponse").forEach((e=>{if(!this._responses.has(e)){if(o.stringToBool(e.dataset.canEdit||"")){const t=e.querySelector(".jsCommentResponseEditButton");null!==t&&t.addEventListener("click",(e=>this._click(e)))}this._responses.add(e)}}))}_click(e){if(e.preventDefault(),null===this._activeElement){const t=e.currentTarget;this._activeElement=t.closest(".commentResponse"),this._prepare(),n.api(this,{actionName:"beginEdit",objectIDs:[this._getObjectId(this._activeElement)]})}else l.show("wcf.message.error.editorAlreadyInUse",null,"warning")}_prepare(){this._editorContainer=document.createElement("div"),this._editorContainer.className="commentEditorContainer",this._editorContainer.innerHTML='<span class="icon icon48 fa-spinner"></span>';const e=this._activeElement.querySelector(".commentResponseContent");e.insertBefore(this._editorContainer,e.firstChild)}_showMessage(e){const t=this._editorContainer.parentElement;a.default.setInnerHtml(t.querySelector(".commentResponseContent .userMessage"),e.returnValues.message),this._restoreMessage(),l.show()}_getEditorId(){return`commentResponseEditor${this._getObjectId(this._activeElement)}`}_ajaxSetup(){return{data:{className:"wcf\\data\\comment\\response\\CommentResponseAction",parameters:{data:{objectTypeID:~~this._container.dataset.objectTypeId}}},silent:!0}}}return o.enableLegacyInheritance(c),c})),define("WoltLabSuite/Core/Ui/Message/InlineEditor/Data",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})})),define("WoltLabSuite/Core/Ui/Moderation/Clipboard/AssignUser",["require","exports","tslib","../../../Event/Handler","../../Notification","../../../User","../../../StringUtil","../../../Language","../../User/Search/Input","../../../Dom/Traverse","../../../Ajax","../../../Dom/Util","../../Dialog"],(function(e,t,i,n,o,r,a,s,l,c,d,u,h){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importDefault(l),c=i.__importStar(c),d=i.__importStar(d),u=i.__importDefault(u),h=i.__importDefault(h);class p{constructor(){this.queueIds=[]}_ajaxFailure(e){var t;if("assignedUsername"===(null===(t=e.returnValues)||void 0===t?void 0:t.fieldName)){let t="";const i=h.default.getDialog(this).content.querySelector("input[name=assignedUsername]"),n=e.returnValues.errorType;switch(n){case"empty":t=s.get("wcf.global.form.error.empty");break;case"notAffected":t=s.get("wcf.moderation.assignedUser.error.notAffected");break;default:t=s.get(`wcf.user.username.error.${n}`,{username:i.value})}return u.default.innerError(i,t),!1}return!0}_ajaxSetup(){return{data:{actionName:"assignUserByClipboard",className:"wcf\\data\\moderation\\queue\\ModerationQueueAction"}}}_ajaxSuccess(){h.default.close(this),o.show(void 0,(()=>window.location.reload()))}_dialogSetup(){const e=()=>this.submitDialog();return{id:"moderationQueueClipboardAssignUser",options:{onSetup(t){const i=t.querySelector("input[name=assignedUsername]");new l.default(i,{}),i.addEventListener("click",(e=>{c.prevBySel(e.currentTarget,"input[name=assignedUserID]").click()})),t.querySelector("button[data-type=submit]").addEventListener("click",e)},onShow(e){const t=e.querySelector("input[name=assignedUsername]");e.querySelectorAll("input[name=assignedUserID]").forEach((e=>e.checked=e.defaultChecked)),t.value="",u.default.innerError(t,"")},title:s.get("wcf.moderation.assignedUser.change")},source:`\n<div class="section">\n <dl>\n <dt>${s.get("wcf.moderation.assignedUser")}</dt>\n <dd>\n <ul>\n <li>\n <label>\n <input type="radio" name="assignedUserID" value="${r.default.userId}" checked>\n ${a.escapeHTML(r.default.username)}\n </label>\n </li>\n <li>\n <label>\n <input type="radio" name="assignedUserID" value="0">\n ${s.get("wcf.moderation.assignedUser.nobody")}\n </label>\n </li>\n <li>\n <input type="radio" name="assignedUserID" value="-1">\n <input type="text" name="assignedUsername" value="">\n </li>\n </ul>\n </dd>\n </dl>\n</div>\n<div class="formSubmit">\n <button class="buttonPrimary" data-type="submit">${s.get("wcf.global.button.save")}</button>\n</div>`}}showDialog(e){this.queueIds=e,h.default.open(this)}submitDialog(){const e=h.default.getDialog(this).content,t=e.querySelector("input[name=assignedUserID]:checked"),i=e.querySelector("input[name=assignedUsername]");d.api(this,{objectIDs:this.queueIds,parameters:{assignedUserID:t.value,assignedUsername:i.value}})}}let m=!1;t.setup=function(){if(m)return;const e=new p;n.add("com.woltlab.wcf.clipboard","com.woltlab.wcf.moderation.queue",(t=>{"com.woltlab.wcf.moderation.queue.assignUserByClipboard"===t.data.actionName&&null===t.responseData&&e.showDialog(t.data.parameters.objectIDs)})),m=!0}})),define("WoltLabSuite/Core/Ui/Page/Header/Fixed",["require","exports","tslib","../../../Event/Handler","../../Alignment","../../CloseOverlay","../../Dropdown/Simple","../../Screen"],(function(e,t,i,n,o,r,a,s){"use strict";function l(){h=document.getElementById("pageHeaderSearch"),h.addEventListener("click",(e=>e.stopPropagation())),u=document.getElementById("pageHeaderPanel"),p=document.getElementById("pageHeaderSearchInput"),m=document.getElementById("topMenu"),f=document.getElementById("userPanelSearchButton"),f.addEventListener("click",(e=>{e.preventDefault(),e.stopPropagation(),d.classList.contains("searchBarOpen")?c():function(){window.WCF.Dropdown.Interactive.Handler.closeAll(),d.classList.add("searchBarOpen"),f.parentElement.classList.add("open"),g||o.set(h,m,{horizontal:"right"});h.style.setProperty("top",`${u.clientHeight}px`,""),p.focus(),window.setTimeout((()=>{p.selectionStart=p.selectionEnd=p.value.length}),1)}()})),r.default.add("WoltLabSuite/Core/Ui/Page/Header/Fixed",(()=>{d.classList.contains("searchBarForceOpen")||c()})),n.add("com.woltlab.wcf.MainMenuMobile","more",(e=>{"com.woltlab.wcf.search"===e.identifier&&(e.handler.close(!0),f.click())}))}function c(){d.classList.remove("searchBarOpen"),f.parentElement.classList.remove("open"),["bottom","left","right","top"].forEach((e=>{h.style.removeProperty(e)})),p.blur();const e=h.querySelector(".pageHeaderSearchType");a.default.close(e.id)}Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importDefault(a),s=i.__importStar(s);let d,u,h,p,m,f,g=!1;t.init=function(){d=document.getElementById("pageHeader"),l(),s.on("screen-md-down",{match(){g=!0},unmatch(){g=!1},setup(){g=!0}}),n.add("com.woltlab.wcf.Search","close",c)}})),define("WoltLabSuite/Core/Ui/Page/Search/Input",["require","exports","tslib","../../../Core","../../Search/Input"],(function(e,t,i,n,o){"use strict";n=i.__importStar(n),o=i.__importDefault(o);class r extends o.default{constructor(e,t){if("function"!=typeof t.callbackSuccess)throw new Error("Expected a valid callback function for 'callbackSuccess'.");super(e,t=n.extend({ajax:{className:"wcf\\data\\page\\PageAction"}},t)),this.callbackSuccess=t.callbackSuccess,this.pageId=0}setPageId(e){this.pageId=e}getParameters(e){const t=super.getParameters(e);return t.objectIDs=[this.pageId],t}_ajaxSuccess(e){this.callbackSuccess(e)}}return n.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Ui/Page/Search/Handler",["require","exports","tslib","../../../Language","../../../StringUtil","../../../Dom/Util","../../Dialog","./Input"],(function(e,t,i,n,o,r,a,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.open=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importDefault(a),s=i.__importDefault(s);class l{constructor(){this.callbackSuccess=void 0,this.resultList=void 0,this.resultListContainer=void 0,this.searchInput=void 0,this.searchInputHandler=void 0,this.searchInputLabel=void 0}open(e,t,i,o){this.callbackSuccess=i,a.default.open(this),a.default.setTitle(this,t),this.searchInputLabel.textContent=n.get(o||"wcf.page.pageObjectID.search.terms"),this._getSearchInputHandler().setPageId(e)}buildList(e){this.resetList(),Array.isArray(e.returnValues)&&0!==e.returnValues.length?(e.returnValues.forEach((e=>{let t=e.image;/^fa-/.test(t)&&(t=`<span class="icon icon48 ${t} pointer jsTooltip" title="${n.get("wcf.global.select")}"></span>`);const i=document.createElement("li");i.dataset.objectId=e.objectID.toString();const r=e.description?`<p>${e.description}</p>`:"";i.innerHTML=`<div class="box48">\n ${t}\n <div>\n <div class="containerHeadline">\n <h3>\n <a href="${o.escapeHTML(e.link)}">${o.escapeHTML(e.title)}</a>\n </h3>\n ${r}\n </div>\n </div>\n </div>`,i.addEventListener("click",this.click.bind(this)),this.resultList.appendChild(i)})),r.default.show(this.resultListContainer)):r.default.innerError(this.searchInput,n.get("wcf.page.pageObjectID.search.noResults"))}resetList(){r.default.innerError(this.searchInput,!1),this.resultList.innerHTML="",r.default.hide(this.resultListContainer)}_getSearchInputHandler(){if(!this.searchInputHandler){const e=document.getElementById("wcfUiPageSearchInput");this.searchInputHandler=new s.default(e,{callbackSuccess:this.buildList.bind(this)})}return this.searchInputHandler}click(e){if("A"===e.target.nodeName)return;e.stopPropagation();const t=e.currentTarget;this.callbackSuccess(+t.dataset.objectId),a.default.close(this)}_dialogSetup(){return{id:"wcfUiPageSearchHandler",options:{onShow:e=>{this.searchInput||(this.searchInput=document.getElementById("wcfUiPageSearchInput"),this.searchInputLabel=e.querySelector('label[for="wcfUiPageSearchInput"]'),this.resultList=document.getElementById("wcfUiPageSearchResultList"),this.resultListContainer=document.getElementById("wcfUiPageSearchResultListContainer")),this.searchInput.value="",r.default.hide(this.resultListContainer),this.resultList.innerHTML="",this.searchInput.focus()},title:""},source:`<div class="section">\n <dl>\n <dt>\n <label for="wcfUiPageSearchInput">${n.get("wcf.page.pageObjectID.search.terms")}</label>\n </dt>\n <dd>\n <input type="text" id="wcfUiPageSearchInput" class="long">\n </dd>\n </dl>\n </div>\n <section id="wcfUiPageSearchResultListContainer" class="section sectionContainerList">\n <header class="sectionHeader">\n <h2 class="sectionTitle">${n.get("wcf.page.pageObjectID.search.results")}</h2>\n </header>\n <ul id="wcfUiPageSearchResultList" class="containerList wcfUiPageSearchResultList"></ul>\n </section>`}}}let c;t.open=function(e,t,i,n){(c||(c=new l),c).open(e,t,i,n)}})),define("WoltLabSuite/Core/Ui/Reaction/Profile/Loader",["require","exports","tslib","../../../Ajax","../../../Core","../../../Dom/Util","../../../Language"],(function(e,t,i,n,o,r,a){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importStar(a);class s{constructor(e){if(this._reactionTypeID=null,this._targetType="received",this._container=document.getElementById("likeList"),this._userID=e,this._options={parameters:{}},!this._userID)throw new Error("[WoltLabSuite/Core/Ui/Reaction/Profile/Loader] Invalid parameter 'userID' given.");const t=document.createElement("li");t.className="likeListMore showMore",this._noMoreEntries=document.createElement("small"),this._noMoreEntries.innerHTML=a.get("wcf.like.reaction.noMoreEntries"),this._noMoreEntries.style.display="none",t.appendChild(this._noMoreEntries),this._loadButton=document.createElement("button"),this._loadButton.className="small",this._loadButton.innerHTML=a.get("wcf.like.reaction.more"),this._loadButton.addEventListener("click",(()=>this._loadReactions())),this._loadButton.style.display="none",t.appendChild(this._loadButton),this._container.appendChild(t),2===document.querySelectorAll("#likeList > li").length?this._noMoreEntries.style.display="":this._loadButton.style.display="",this._setupReactionTypeButtons(),this._setupTargetTypeButtons()}_setupReactionTypeButtons(){document.querySelectorAll("#reactionType .button").forEach((e=>{e.addEventListener("click",(()=>this._changeReactionTypeValue(~~e.dataset.reactionTypeId)))}))}_setupTargetTypeButtons(){document.querySelectorAll("#likeType .button").forEach((e=>{e.addEventListener("click",(()=>this._changeTargetType(e.dataset.likeType)))}))}_changeTargetType(e){if("given"!==e&&"received"!==e)throw new Error("[WoltLabSuite/Core/Ui/Reaction/Profile/Loader] Invalid parameter 'targetType' given.");e!==this._targetType&&(document.querySelector("#likeType .button.active").classList.remove("active"),document.querySelector(`#likeType .button[data-like-type="${e}"]`).classList.add("active"),this._targetType=e,this._reload())}_changeReactionTypeValue(e){const t=document.querySelector("#reactionType .button.active");t&&t.classList.remove("active"),this._reactionTypeID!==e?(document.querySelector(`#reactionType .button[data-reaction-type-id="${e}"]`).classList.add("active"),this._reactionTypeID=e):this._reactionTypeID=null,this._reload()}_reload(){document.querySelectorAll("#likeList > li:not(:first-child):not(:last-child)").forEach((e=>e.remove())),this._container.dataset.lastLikeTime="0",this._loadReactions()}_loadReactions(){this._options.parameters.userID=this._userID,this._options.parameters.lastLikeTime=~~this._container.dataset.lastLikeTime,this._options.parameters.targetType=this._targetType,this._options.parameters.reactionTypeID=~~this._reactionTypeID,n.api(this,{parameters:this._options.parameters})}_ajaxSuccess(e){e.returnValues.template?(document.querySelector("#likeList > li:nth-last-child(1)").insertAdjacentHTML("beforebegin",e.returnValues.template),this._container.dataset.lastLikeTime=e.returnValues.lastLikeTime.toString(),r.default.hide(this._noMoreEntries),r.default.show(this._loadButton)):(r.default.show(this._noMoreEntries),r.default.hide(this._loadButton))}_ajaxSetup(){return{data:{actionName:"load",className:"\\wcf\\data\\reaction\\ReactionAction"}}}}return o.enableLegacyInheritance(s),s})),define("WoltLabSuite/Core/Ui/User/Activity/Recent",["require","exports","tslib","../../../Ajax","../../../Core","../../../Language","../../../Dom/Util"],(function(e,t,i,n,o,r,a){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importDefault(a);class s{constructor(e){this.containerId=e;const t=document.getElementById(this.containerId);this.list=t.querySelector(".recentActivityList");const i=document.createElement("li");if(i.className="showMore",this.list.childElementCount){i.innerHTML='<button class="small">'+r.get("wcf.user.recentActivity.more")+"</button>";i.children[0].addEventListener("click",(e=>this.showMore(e)))}else i.innerHTML="<small>"+r.get("wcf.user.recentActivity.noMoreEntries")+"</small>";this.list.appendChild(i),this.showMoreItem=i,t.querySelectorAll(".jsRecentActivitySwitchContext .button").forEach((e=>{e.addEventListener("click",(t=>{t.preventDefault(),e.classList.contains("active")||this.switchContext()}))}))}showMore(e){e.preventDefault();this.showMoreItem.children[0].disabled=!0,n.api(this,{actionName:"load",parameters:{boxID:~~this.list.dataset.boxId,filteredByFollowedUsers:o.stringToBool(this.list.dataset.filteredByFollowedUsers||""),lastEventId:this.list.dataset.lastEventId,lastEventTime:this.list.dataset.lastEventTime,userID:~~this.list.dataset.userId}})}switchContext(){n.api(this,{actionName:"switchContext"},(()=>{window.location.hash=`#${this.containerId}`,window.location.reload()}))}_ajaxSuccess(e){if(e.returnValues.template){a.default.insertHtml(e.returnValues.template,this.showMoreItem,"before"),this.list.dataset.lastEventTime=e.returnValues.lastEventTime.toString(),this.list.dataset.lastEventId=e.returnValues.lastEventID.toString();this.showMoreItem.children[0].disabled=!1}else this.showMoreItem.innerHTML="<small>"+r.get("wcf.user.recentActivity.noMoreEntries")+"</small>"}_ajaxSetup(){return{data:{className:"wcf\\data\\user\\activity\\event\\UserActivityEventAction"}}}}return o.enableLegacyInheritance(s),s})),define("WoltLabSuite/Core/Ui/User/CoverPhoto/Delete",["require","exports","tslib","../../../Ajax","../../../Dom/Util","../../../Event/Handler","../../../Language","../../Confirmation","../../Notification"],(function(e,t,i,n,o,r,a,s,l){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,n=i.__importStar(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importStar(l);class c{constructor(e){this.button=document.querySelector(".jsButtonDeleteCoverPhoto"),this.button.addEventListener("click",(e=>this._click(e))),this.userId=e,r.add("com.woltlab.wcf.user","coverPhoto",(e=>{"string"==typeof e.url&&e.url.length>0&&o.default.show(this.button.parentElement)}))}_click(e){e.preventDefault(),s.show({confirm:()=>n.api(this),message:a.get("wcf.user.coverPhoto.delete.confirmMessage")})}_ajaxSuccess(e){document.querySelector(".userProfileCoverPhoto").style.setProperty("background-image",`url(${e.returnValues.url})`,""),o.default.hide(this.button.parentElement),l.show()}_ajaxSetup(){return{data:{actionName:"deleteCoverPhoto",className:"wcf\\data\\user\\UserProfileAction",parameters:{userID:this.userId}}}}}let d;t.init=function(e){d||(d=new c(e))}})),define("WoltLabSuite/Core/Ui/User/CoverPhoto/Upload",["require","exports","tslib","../../../Core","../../../Dom/Util","../../../Event/Handler","../../Dialog","../../Notification","../../../Upload"],(function(e,t,i,n,o,r,a,s,l){"use strict";n=i.__importStar(n),o=i.__importDefault(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s),l=i.__importDefault(l);class c extends l.default{constructor(e){super("coverPhotoUploadButtonContainer","coverPhotoUploadPreview",{action:"uploadCoverPhoto",className:"wcf\\data\\user\\UserProfileAction"}),this.userId=e}_getParameters(){return{userID:this.userId}}_success(e,t){if(o.default.innerError(this._button,t.returnValues.errorMessage),this._target.innerHTML="",t.returnValues.url){document.querySelector(".userProfileCoverPhoto").style.setProperty("background-image",`url(${t.returnValues.url})`,""),a.close("userProfileCoverPhotoUpload"),s.show(),r.fire("com.woltlab.wcf.user","coverPhoto",{url:t.returnValues.url})}}}return n.enableLegacyInheritance(c),c})),define("WoltLabSuite/Core/Ui/User/Ignore/List",["require","exports","tslib","../../../Form/Builder/Dialog","../../../Language","../../Notification"],(function(e,t,i,n,o,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UiUserIgnoreList=void 0,n=i.__importDefault(n),o=i.__importStar(o),r=i.__importStar(r);class a{constructor(){this.dialogs=new Map,document.querySelectorAll(".jsEditIgnoreButton").forEach((e=>e.addEventListener("click",(e=>this.openDialog(e)))))}openDialog(e){const t=~~e.currentTarget.closest(".jsIgnoredUser").dataset.objectId;this.dialogs.has(t)||this.dialogs.set(t,new n.default("ignoreDialog","wcf\\data\\user\\ignore\\UserIgnoreAction","getDialog",{dialog:{title:o.get("wcf.user.button.ignore")},actionParameters:{userID:t},submitActionName:"submitDialog",successCallback(e){r.show(void 0,(()=>{e.isIgnoredUser||window.location.reload()}))}})),this.dialogs.get(t).open()}}t.UiUserIgnoreList=a,t.default=a})),define("WoltLabSuite/Core/Ui/User/Session/Delete",["require","exports","tslib","../../../Ajax","../../Notification","../../Confirmation","../../../Language"],(function(e,t,i,n,o,r,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UiUserSessionDelete=void 0,n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a);class s{constructor(){this.knownElements=new Map,document.querySelectorAll(".sessionDeleteButton").forEach((e=>{if(!e.dataset.sessionId)throw new Error("No sessionId for session delete button given.");this.knownElements.has(e.dataset.sessionId)||(e.addEventListener("click",(t=>this.delete(e,t))),this.knownElements.set(e.dataset.sessionId,e))}))}delete(e,t){t.preventDefault(),r.show({message:a.get("wcf.user.security.deleteSession.confirmMessage"),confirm:t=>{n.api(this,{sessionID:e.dataset.sessionId})}})}_ajaxSuccess(e){const t=this.knownElements.get(e.sessionID);if(void 0!==t){const e=t.closest("li");null!==e&&e.remove()}o.show()}_ajaxSetup(){return{url:"index.php?delete-session/&t="+window.SECURITY_TOKEN}}}t.UiUserSessionDelete=s,t.default=s})),define("WoltLabSuite/Core/Ui/User/Trophy/List",["require","exports","tslib","../../../Ajax","../../../Core","../../../Dom/Change/Listener","../../Dialog","../../Pagination"],(function(e,t,i,n,o,r,a,s){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importDefault(r),a=i.__importDefault(a),s=i.__importDefault(s);class l{constructor(e,t){this.pageCount=e,this.title=t,this.cache=new Map}has(e){return this.cache.has(e)}get(e){return this.cache.get(e)}set(e,t){this.cache.set(e,t)}}class c{constructor(){this.cache=new Map,this.currentPageNo=0,this.currentUser=0,this.knownElements=new WeakSet,r.default.add("WoltLabSuite/Core/Ui/User/Trophy/List",(()=>this.rebuild())),this.rebuild()}rebuild(){document.querySelectorAll(".userTrophyOverlayList").forEach((e=>{this.knownElements.has(e)||(e.addEventListener("click",(t=>this.open(e,t))),this.knownElements.add(e))}))}open(e,t){t.preventDefault(),this.currentPageNo=1,this.currentUser=+e.dataset.userId,this.showPage()}showPage(e){void 0!==e&&(this.currentPageNo=e);const t=this.cache.get(this.currentUser);if(t&&0!==t.pageCount&&(this.currentPageNo<1||this.currentPageNo>t.pageCount))throw new RangeError(`pageNo must be between 1 and ${t.pageCount} (${this.currentPageNo} given).`);if(t&&t.has(this.currentPageNo)){const e=a.default.open(this,t.get(this.currentPageNo));if(a.default.setTitle("userTrophyListOverlay",t.title),t.pageCount>1){const i=e.content.querySelector(".jsPagination");null!==i&&new s.default(i,{activePage:this.currentPageNo,maxPage:t.pageCount,callbackSwitch:this.showPage.bind(this)})}}else n.api(this,{parameters:{pageNo:this.currentPageNo,userID:this.currentUser}})}_ajaxSuccess(e){let t;void 0!==e.returnValues.pageCount?(t=new l(+e.returnValues.pageCount,e.returnValues.title),this.cache.set(this.currentUser,t)):t=this.cache.get(this.currentUser),t.set(this.currentPageNo,e.returnValues.template),this.showPage()}_ajaxSetup(){return{data:{actionName:"getGroupedUserTrophyList",className:"wcf\\data\\user\\trophy\\UserTrophyAction"}}}_dialogSetup(){return{id:"userTrophyListOverlay",options:{title:""},source:null}}}return o.enableLegacyInheritance(c),c})),define("WoltLabSuite/Core/Form/Builder/Field/Controller/Label",["require","exports","tslib","../../../../Core","../../../../Dom/Util","../../../../Language","../../../../Ui/Dropdown/Simple"],(function(e,t,i,n,o,r,a){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importDefault(a);class s{constructor(e,t,i){this._formFieldContainer=document.getElementById(e+"Container"),this._labelChooser=this._formFieldContainer.getElementsByClassName("labelChooser")[0],this._options=n.extend({forceSelection:!1,showWithoutSelection:!1},i),this._input=document.createElement("input"),this._input.type="hidden",this._input.id=e,this._input.name=e,this._input.value=t,this._formFieldContainer.appendChild(this._input);const s=o.identify(this._labelChooser);let l=a.default.getDropdownMenu(s);null===l&&(a.default.init(this._labelChooser.getElementsByClassName("dropdownToggle")[0]),l=a.default.getDropdownMenu(s));let c=null;if(this._options.showWithoutSelection||!this._options.forceSelection){c=document.createElement("ul"),l.appendChild(c);const e=document.createElement("li");e.classList.add("dropdownDivider"),c.appendChild(e)}if(this._options.showWithoutSelection){const e=document.createElement("li");e.dataset.labelId="-1",this._blockScroll(e),c.appendChild(e);const t=document.createElement("span");e.appendChild(t);const i=document.createElement("span");i.classList.add("badge","label"),i.innerHTML=r.get("wcf.label.withoutSelection"),t.appendChild(i)}if(!this._options.forceSelection){const e=document.createElement("li");e.dataset.labelId="0",this._blockScroll(e),c.appendChild(e);const t=document.createElement("span");e.appendChild(t);const i=document.createElement("span");i.classList.add("badge","label"),i.innerHTML=r.get("wcf.label.none"),t.appendChild(i)}l.querySelectorAll("li:not(.dropdownDivider)").forEach((e=>{e.addEventListener("click",(e=>this._click(e))),t&&e.dataset.labelId===t&&this._selectLabel(e)}))}_blockScroll(e){e.addEventListener("wheel",(e=>e.preventDefault()),{passive:!1})}_click(e){e.preventDefault(),this._selectLabel(e.currentTarget)}_selectLabel(e){let t=e.dataset.labelId;t||(t="0");const i=e.querySelector("span > span"),n=this._labelChooser.querySelector(".dropdownToggle > span");n.className=i.className,n.textContent=i.textContent,this._input.value=t}}return n.enableLegacyInheritance(s),s})),define("WoltLabSuite/Core/Form/Builder/Field/Controller/Rating",["require","exports","tslib","../../../../Core","../../../../Environment"],(function(e,t,i,n,o){"use strict";n=i.__importStar(n),o=i.__importStar(o);class r{constructor(e,t,i,n){if(this._field=document.getElementById(e+"Container"),null===this._field)throw new Error("Unknown field with id '"+e+"'");this._input=document.createElement("input"),this._input.id=e,this._input.name=e,this._input.type="hidden",this._input.value=t,this._field.appendChild(this._input),this._activeCssClasses=i,this._defaultCssClasses=n,this._ratingElements=new Map;const o=this._field.querySelector(".ratingList");o.addEventListener("mouseleave",(()=>this._restoreRating())),o.querySelectorAll("li").forEach((e=>{e.classList.contains("ratingMetaButton")?(e.addEventListener("click",(e=>this._metaButtonClick(e))),e.addEventListener("mouseenter",(()=>this._restoreRating()))):(this._ratingElements.set(e.dataset.rating,e),e.addEventListener("click",(e=>this._listItemClick(e))),e.addEventListener("mouseenter",(e=>this._listItemMouseEnter(e))),e.addEventListener("mouseleave",(()=>this._listItemMouseLeave())))}))}_listItemClick(e){const t=e.currentTarget;this._input.value=t.dataset.rating,"desktop"!==o.platform()&&this._restoreRating()}_listItemMouseEnter(e){const t=e.currentTarget.dataset.rating;this._ratingElements.forEach(((e,i)=>{const n=e.getElementsByClassName("icon")[0];this._toggleIcon(n,~~i<=~~t)}))}_listItemMouseLeave(){this._ratingElements.forEach((e=>{const t=e.getElementsByClassName("icon")[0];this._toggleIcon(t,!1)}))}_metaButtonClick(e){"removeRating"===e.currentTarget.dataset.action&&(this._input.value="",this._listItemMouseLeave())}_restoreRating(){this._ratingElements.forEach(((e,t)=>{const i=e.getElementsByClassName("icon")[0];this._toggleIcon(i,~~t<=~~this._input.value)}))}_toggleIcon(e,t=!1){t?(e.classList.remove(...this._defaultCssClasses),e.classList.add(...this._activeCssClasses)):(e.classList.remove(...this._activeCssClasses),e.classList.add(...this._defaultCssClasses))}}return n.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Form/Builder/Field/Dependency/Abstract",["require","exports","tslib","./Manager","../../../../Core"],(function(e,t,i,n,o){"use strict";n=i.__importStar(n),o=i.__importStar(o);class r{constructor(e,t){this.init(e,t)}checkDependency(){throw new Error("Missing implementation of WoltLabSuite/Core/Form/Builder/Field/Dependency/Abstract.checkDependency!")}getDependentNode(){return this._dependentElement}getField(){return this._field}getFields(){return this._fields}init(e,t){if(this._dependentElement=document.getElementById(e),null===this._dependentElement)throw new Error("Unknown dependent element with container id '"+e+"Container'.");if(this._field=document.getElementById(t),null===this._field){if(this._fields=[],document.querySelectorAll("input[type=radio][name="+t+"]").forEach((e=>{this._fields.push(e)})),!this._fields.length&&(document.querySelectorAll('input[type=checkbox][name="'+t+'[]"]').forEach((e=>{this._fields.push(e)})),!this._fields.length))throw new Error("Unknown field with id '"+t+"'.")}else if(this._fields=[this._field],"INPUT"===this._field.tagName&&"radio"===this._field.type&&""!==this._field.dataset.noInputId){if(this._noField=document.getElementById(this._field.dataset.noInputId),null===this._noField)throw new Error("Cannot find 'no' input field for input field '"+t+"'");this._fields.push(this._noField)}n.addDependency(this)}}return o.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Form/Builder/Field/Dependency/Empty",["require","exports","tslib","./Abstract","../../../../Core"],(function(e,t,i,n,o){"use strict";n=i.__importDefault(n),o=i.__importStar(o);class r extends n.default{checkDependency(){if(null!==this._field)switch(this._field.tagName){case"INPUT":{const e=this._field;switch(e.type){case"checkbox":return!e.checked;case"radio":return!(!this._noField||!this._noField.checked)||!e.checked;default:return 0===e.value.trim().length}}case"SELECT":{const e=this._field;return e.multiple?0===this._field.querySelectorAll("option:checked").length:"0"==e.value||0===e.value.length}case"TEXTAREA":return 0===this._field.value.trim().length}return this._fields.every((e=>!e.checked))}}return o.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Form/Builder/Field/Dependency/IsNotClicked",["require","exports","tslib","./Abstract","./Manager"],(function(e,t,i,n,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IsNotClicked=void 0,n=i.__importDefault(n),o=i.__importStar(o);class r extends n.default{constructor(e,t){super(e,t),this._field.addEventListener("click",(()=>{this._field.dataset.isClicked="1",o.checkDependencies()}))}checkDependency(){return"1"!==this._field.dataset.isClicked}}t.IsNotClicked=r,t.default=r})),define("WoltLabSuite/Core/Form/Builder/Field/Dependency/NonEmpty",["require","exports","tslib","./Abstract","../../../../Core"],(function(e,t,i,n,o){"use strict";n=i.__importDefault(n),o=i.__importStar(o);class r extends n.default{checkDependency(){if(null!==this._field)switch(this._field.tagName){case"INPUT":{const e=this._field;switch(e.type){case"checkbox":return e.checked;case"radio":return(!this._noField||!this._noField.checked)&&e.checked;default:return 0!==e.value.trim().length}}case"SELECT":{const e=this._field;return e.multiple?0!==e.querySelectorAll("option:checked").length:"0"!=e.value&&0!==e.value.length}case"TEXTAREA":return 0!==this._field.value.trim().length}return this._fields.some((e=>e.checked))}}return o.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Form/Builder/Field/Dependency/Value",["require","exports","tslib","./Abstract","./Manager","../../../../Core"],(function(e,t,i,n,o,r){"use strict";n=i.__importDefault(n),o=i.__importStar(o),r=i.__importStar(r);class a extends n.default{constructor(){super(...arguments),this._isNegated=!1}checkDependency(){if(!this._values)throw new Error("Values have not been set.");const e=[];if(this._field){if(o.isHiddenByDependencies(this._field))return!1;e.push(this._field.value)}else{let t=!0;if(this._fields.forEach((i=>{if(i.checked){if(o.isHiddenByDependencies(i))return t=!1,!1;e.push(i.value)}})),!t)return!1}let t=!1;return this._values.forEach((i=>{e.forEach((e=>{i==e&&(t=!0)}))})),t?!this._isNegated:this._isNegated}negate(e){return this._isNegated=e,this}values(e){return this._values=e,this}}return r.enableLegacyInheritance(a),a})),define("WoltLabSuite/Core/Form/Builder/Field/Language/ContentLanguage",["require","exports","tslib","../Value","../../../../Language/Chooser","../../../../Core"],(function(e,t,i,n,o,r){"use strict";n=i.__importDefault(n),o=i.__importStar(o),r=i.__importStar(r);class a extends n.default{destroy(){o.removeChooser(this._fieldId)}}return r.enableLegacyInheritance(a),a})),define("WoltLabSuite/Core/Form/Builder/Field/Wysiwyg/Attachment",["require","exports","tslib","../Value","../../../../Core"],(function(e,t,i,n,o){"use strict";n=i.__importDefault(n),o=i.__importStar(o);class r extends n.default{constructor(e){super(e+"_tmpHash")}}return o.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Form/Builder/Field/Wysiwyg/Poll",["require","exports","tslib","../Field","../../../../Core"],(function(e,t,i,n,o){"use strict";n=i.__importDefault(n),o=i.__importStar(o);class r extends n.default{_getData(){return this._pollEditor.getData()}_readField(){}setPollEditor(e){this._pollEditor=e}}return o.enableLegacyInheritance(r),r}));let G=null;class H{}H.render=function(e,t){G(e,t)},self.QrCreator=H,function(e){function t(t,i,n,o){var r,a,s={},l=e(n,i);return l.u(t),l.J(),o=o||0,r=l.h(),a=l.h()+2*o,s.text=t,s.level=i,s.version=n,s.O=a,s.a=function(e,t){return t-=o,!(0>(e-=o)||e>=r||0>t||t>=r)&&l.a(e,t)},s}function i(e,t,i,n,o,r,a,s,l,c){function d(t,i,n,o,a,s,l){t?(e.lineTo(i+s,n+l),e.arcTo(i,n,o,a,r)):e.lineTo(i,n)}a?e.moveTo(t+r,i):e.moveTo(t,i),d(s,n,i,n,o,-r,0),d(l,n,o,t,o,0,-r),d(c,t,o,t,i,r,0),d(a,t,i,n,i,0,r)}function n(e,t,i,n,o,r,a,s,l,c){function d(t,i,n,o){e.moveTo(t+n,i),e.lineTo(t,i),e.lineTo(t,i+o),e.arcTo(t,i,t+n,i,r)}a&&d(t,i,r,r),s&&d(n,i,-r,r),l&&d(n,o,-r,-r),c&&d(t,o,r,-r)}function o(e,o){var r,a,s,l,c,d,u,h,p,m,f,g,b,_,v,w,y,E,S,L,C,A,I;e:{for(r=o.text,a=o.v,s=o.N,l=o.K,c=o.P,s=Math.max(1,s||1),l=Math.min(40,l||40);s<=l;s+=1)try{d=t(r,a,s,c);break e}catch(e){}d=void 0}if(!d)return null;for(r=e.getContext("2d"),o.background&&(r.fillStyle=o.background,r.fillRect(o.left,o.top,o.size,o.size)),a=d.O,l=o.size/a,r.beginPath(),c=0;c<a;c+=1)for(s=0;s<a;s+=1)u=r,h=o.left+s*l,p=o.top+c*l,m=c,f=s,g=d.a,b=h+l,_=p+l,v=m-1,w=m+1,y=f-1,E=f+1,S=Math.floor(Math.min(.5,Math.max(0,o.R))*l),L=g(m,f),C=g(v,y),A=g(v,f),v=g(v,E),I=g(m,E),E=g(w,E),f=g(w,f),w=g(w,y),m=g(m,y),h=Math.round(h),p=Math.round(p),b=Math.round(b),_=Math.round(_),L?i(u,h,p,b,_,S,!A&&!m,!A&&!I,!f&&!I,!f&&!m):n(u,h,p,b,_,S,A&&m&&C,A&&I&&v,f&&I&&E,f&&m&&w);return function(e,t){var i,n,o,r=t.fill;if("string"==typeof r)e.fillStyle=r;else{if(i=r.type,n=r.colorStops,r=r.position.map((e=>Math.round(e*t.size))),"linear-gradient"===i)o=e.createLinearGradient.apply(e,r);else{if("radial-gradient"!==i)throw Error("Unsupported fill");o=e.createRadialGradient.apply(e,r)}n.forEach((([e,t])=>{o.addColorStop(e,t)})),e.fillStyle=o}}(r,o),r.fill(),e}var r={minVersion:1,maxVersion:40,ecLevel:"L",left:0,top:0,size:200,fill:"#000",background:null,text:"no text",radius:.5,quiet:0};G=function(e,t){var i={};Object.assign(i,r,e),i.N=i.minVersion,i.K=i.maxVersion,i.v=i.ecLevel,i.left=i.left,i.top=i.top,i.size=i.size,i.fill=i.fill,i.background=i.background,i.text=i.text,i.R=i.radius,i.P=i.quiet,t instanceof HTMLCanvasElement?(t.width===i.size&&t.height===i.size||(t.width=i.size,t.height=i.size),t.getContext("2d").clearRect(0,0,t.width,t.height),o(t,i)):((e=document.createElement("canvas")).width=i.size,e.height=i.size,i=o(e,i),t.appendChild(i))}}(function(){function e(o,a){function s(e,t){var i,n;for(i=-1;7>=i;i+=1)if(!(-1>=e+i||u<=e+i))for(n=-1;7>=n;n+=1)-1>=t+n||u<=t+n||(d[e+i][t+n]=0<=i&&6>=i&&(0==n||6==n)||0<=n&&6>=n&&(0==i||6==i)||2<=i&&4>=i&&2<=n&&4>=n)}function l(e,i){var a,l,m,f,g,b,_,v,w,y;for(a=u=4*o+17,l=Array(a),m=0;m<a;m+=1)for(l[m]=Array(a),f=0;f<a;f+=1)l[m][f]=null;for(d=l,s(0,0),s(u-7,0),s(0,u-7),a=n.G(o),l=0;l<a.length;l+=1)for(m=0;m<a.length;m+=1)if(f=a[l],g=a[m],null==d[f][g])for(b=-2;2>=b;b+=1)for(_=-2;2>=_;_+=1)d[f+b][g+_]=-2==b||2==b||-2==_||2==_||0==b&&0==_;for(a=8;a<u-8;a+=1)null==d[a][6]&&(d[a][6]=0==a%2);for(a=8;a<u-8;a+=1)null==d[6][a]&&(d[6][a]=0==a%2);for(a=n.w(c<<3|i),l=0;15>l;l+=1)m=!e&&1==(a>>l&1),d[6>l?l:8>l?l+1:u-15+l][8]=m,d[8][8>l?u-l-1:9>l?15-l:14-l]=m;if(d[u-8][8]=!e,7<=o){for(a=n.A(o),l=0;18>l;l+=1)m=!e&&1==(a>>l&1),d[Math.floor(l/3)][l%3+u-8-3]=m;for(l=0;18>l;l+=1)m=!e&&1==(a>>l&1),d[l%3+u-8-3][Math.floor(l/3)]=m}if(null==h){for(e=r.I(o,c),a=function(){var e=[],t=0,i={B:function(){return e},c:function(t){return 1==(e[Math.floor(t/8)]>>>7-t%8&1)},put:function(e,t){for(var n=0;n<t;n+=1)i.m(1==(e>>>t-n-1&1))},f:function(){return t},m:function(i){var n=Math.floor(t/8);e.length<=n&&e.push(0),i&&(e[n]|=128>>>t%8),t+=1}};return i}(),l=0;l<p.length;l+=1)m=p[l],a.put(4,4),a.put(m.b(),n.f(4,o)),m.write(a);for(l=m=0;l<e.length;l+=1)m+=e[l].j;if(a.f()>8*m)throw Error("code length overflow. ("+a.f()+">"+8*m+")");for(a.f()+4<=8*m&&a.put(0,4);0!=a.f()%8;)a.m(!1);for(;!(a.f()>=8*m)&&(a.put(236,8),!(a.f()>=8*m));)a.put(17,8);for(v=0,m=l=0,f=Array(e.length),g=Array(e.length),b=0;b<e.length;b+=1){for(w=e[b].j,y=e[b].o-w,l=Math.max(l,w),m=Math.max(m,y),f[b]=Array(w),_=0;_<f[b].length;_+=1)f[b][_]=255&a.B()[_+v];for(v+=w,_=n.C(y),w=t(f[b],_.b()-1).l(_),g[b]=Array(_.b()-1),_=0;_<g[b].length;_+=1)y=_+w.b()-g[b].length,g[b][_]=0<=y?w.c(y):0}for(_=a=0;_<e.length;_+=1)a+=e[_].o;for(a=Array(a),_=v=0;_<l;_+=1)for(b=0;b<e.length;b+=1)_<f[b].length&&(a[v]=f[b][_],v+=1);for(_=0;_<m;_+=1)for(b=0;b<e.length;b+=1)_<g[b].length&&(a[v]=g[b][_],v+=1);h=a}for(e=h,a=-1,l=u-1,m=7,f=0,i=n.F(i),g=u-1;0<g;g-=2)for(6==g&&--g;;){for(b=0;2>b;b+=1)null==d[l][g-b]&&(_=!1,f<e.length&&(_=1==(e[f]>>>m&1)),i(l,g-b)&&(_=!_),d[l][g-b]=_,-1==--m&&(f+=1,m=7));if(0>(l+=a)||u<=l){l-=a,a=-a;break}}}var c=i[a],d=null,u=0,h=null,p=[],m={u:function(t){t=function(t){var i=e.s(t);return{S:function(){return 4},b:function(){return i.length},write:function(e){for(var t=0;t<i.length;t+=1)e.put(i[t],8)}}}(t),p.push(t),h=null},a:function(e,t){if(0>e||u<=e||0>t||u<=t)throw Error(e+","+t);return d[e][t]},h:function(){return u},J:function(){var e,t,i,o;for(e=0,t=0,i=0;8>i;i+=1)l(!0,i),o=n.D(m),(0==i||e>o)&&(e=o,t=i);l(!1,t)}};return m}function t(e,i){if(void 0===e.length)throw Error(e.length+"/"+i);var n=function(){var t,n,o;for(t=0;t<e.length&&0==e[t];)t+=1;for(n=Array(e.length-t+i),o=0;o<e.length-t;o+=1)n[o]=e[o+t];return n}(),r={c:function(e){return n[e]},b:function(){return n.length},multiply:function(e){var i,n,a;for(i=Array(r.b()+e.b()-1),n=0;n<r.b();n+=1)for(a=0;a<e.b();a+=1)i[n+a]^=o.i(o.g(r.c(n))+o.g(e.c(a)));return t(i,0)},l:function(e){if(0>r.b()-e.b())return r;for(var i=o.g(r.c(0))-o.g(e.c(0)),n=Array(r.b()),a=0;a<r.b();a+=1)n[a]=r.c(a);for(a=0;a<e.b();a+=1)n[a]^=o.i(o.g(e.c(a))+i);return t(n,0).l(e)}};return r}e.s=function(e){var t,i,n;for(t=[],i=0;i<e.length;i++)128>(n=e.charCodeAt(i))?t.push(n):2048>n?t.push(192|n>>6,128|63&n):55296>n||57344<=n?t.push(224|n>>12,128|n>>6&63,128|63&n):(i++,n=65536+((1023&n)<<10|1023&e.charCodeAt(i)),t.push(240|n>>18,128|n>>12&63,128|n>>6&63,128|63&n));return t};var i={L:1,M:0,Q:3,H:2},n=function(){function e(e){for(var t=0;0!=e;)t+=1,e>>>=1;return t}var i=[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]];return{w:function(t){for(var i=t<<10;0<=e(i)-e(1335);)i^=1335<<e(i)-e(1335);return 21522^(t<<10|i)},A:function(t){for(var i=t<<12;0<=e(i)-e(7973);)i^=7973<<e(i)-e(7973);return t<<12|i},G:function(e){return i[e-1]},F:function(e){switch(e){case 0:return function(e,t){return 0==(e+t)%2};case 1:return function(e){return 0==e%2};case 2:return function(e,t){return 0==t%3};case 3:return function(e,t){return 0==(e+t)%3};case 4:return function(e,t){return 0==(Math.floor(e/2)+Math.floor(t/3))%2};case 5:return function(e,t){return 0==e*t%2+e*t%3};case 6:return function(e,t){return 0==(e*t%2+e*t%3)%2};case 7:return function(e,t){return 0==(e*t%3+(e+t)%2)%2};default:throw Error("bad maskPattern:"+e)}},C:function(e){for(var i=t([1],0),n=0;n<e;n+=1)i=i.multiply(t([1,o.i(n)],0));return i},f:function(e,t){if(4!=e||1>t||40<t)throw Error("mode: "+e+"; type: "+t);return 10>t?8:16},D:function(e){var t,i,n,o,r,a,s,l;for(t=e.h(),i=0,n=0;n<t;n+=1)for(o=0;o<t;o+=1){for(r=0,a=e.a(n,o),s=-1;1>=s;s+=1)if(!(0>n+s||t<=n+s))for(l=-1;1>=l;l+=1)0>o+l||t<=o+l||(0!=s||0!=l)&&a==e.a(n+s,o+l)&&(r+=1);5<r&&(i+=3+r-5)}for(n=0;n<t-1;n+=1)for(o=0;o<t-1;o+=1)r=0,e.a(n,o)&&(r+=1),e.a(n+1,o)&&(r+=1),e.a(n,o+1)&&(r+=1),e.a(n+1,o+1)&&(r+=1),(0==r||4==r)&&(i+=3);for(n=0;n<t;n+=1)for(o=0;o<t-6;o+=1)e.a(n,o)&&!e.a(n,o+1)&&e.a(n,o+2)&&e.a(n,o+3)&&e.a(n,o+4)&&!e.a(n,o+5)&&e.a(n,o+6)&&(i+=40);for(o=0;o<t;o+=1)for(n=0;n<t-6;n+=1)e.a(n,o)&&!e.a(n+1,o)&&e.a(n+2,o)&&e.a(n+3,o)&&e.a(n+4,o)&&!e.a(n+5,o)&&e.a(n+6,o)&&(i+=40);for(o=r=0;o<t;o+=1)for(n=0;n<t;n+=1)e.a(n,o)&&(r+=1);return i+Math.abs(100*r/t/t-50)/5*10}}}(),o=function(){for(var e=Array(256),t=Array(256),i=0;8>i;i+=1)e[i]=1<<i;for(i=8;256>i;i+=1)e[i]=e[i-4]^e[i-5]^e[i-6]^e[i-8];for(i=0;255>i;i+=1)t[e[i]]=i;return{g:function(e){if(1>e)throw Error("glog("+e+")");return t[e]},i:function(t){for(;0>t;)t+=255;for(;256<=t;)t-=255;return e[t]}}}(),r=function(){function e(e,n){switch(n){case i.L:return t[4*(e-1)];case i.M:return t[4*(e-1)+1];case i.Q:return t[4*(e-1)+2];case i.H:return t[4*(e-1)+3]}}var t=[[1,26,19],[1,26,16],[1,26,13],[1,26,9],[1,44,34],[1,44,28],[1,44,22],[1,44,16],[1,70,55],[1,70,44],[2,35,17],[2,35,13],[1,100,80],[2,50,32],[2,50,24],[4,25,9],[1,134,108],[2,67,43],[2,33,15,2,34,16],[2,33,11,2,34,12],[2,86,68],[4,43,27],[4,43,19],[4,43,15],[2,98,78],[4,49,31],[2,32,14,4,33,15],[4,39,13,1,40,14],[2,121,97],[2,60,38,2,61,39],[4,40,18,2,41,19],[4,40,14,2,41,15],[2,146,116],[3,58,36,2,59,37],[4,36,16,4,37,17],[4,36,12,4,37,13],[2,86,68,2,87,69],[4,69,43,1,70,44],[6,43,19,2,44,20],[6,43,15,2,44,16],[4,101,81],[1,80,50,4,81,51],[4,50,22,4,51,23],[3,36,12,8,37,13],[2,116,92,2,117,93],[6,58,36,2,59,37],[4,46,20,6,47,21],[7,42,14,4,43,15],[4,133,107],[8,59,37,1,60,38],[8,44,20,4,45,21],[12,33,11,4,34,12],[3,145,115,1,146,116],[4,64,40,5,65,41],[11,36,16,5,37,17],[11,36,12,5,37,13],[5,109,87,1,110,88],[5,65,41,5,66,42],[5,54,24,7,55,25],[11,36,12,7,37,13],[5,122,98,1,123,99],[7,73,45,3,74,46],[15,43,19,2,44,20],[3,45,15,13,46,16],[1,135,107,5,136,108],[10,74,46,1,75,47],[1,50,22,15,51,23],[2,42,14,17,43,15],[5,150,120,1,151,121],[9,69,43,4,70,44],[17,50,22,1,51,23],[2,42,14,19,43,15],[3,141,113,4,142,114],[3,70,44,11,71,45],[17,47,21,4,48,22],[9,39,13,16,40,14],[3,135,107,5,136,108],[3,67,41,13,68,42],[15,54,24,5,55,25],[15,43,15,10,44,16],[4,144,116,4,145,117],[17,68,42],[17,50,22,6,51,23],[19,46,16,6,47,17],[2,139,111,7,140,112],[17,74,46],[7,54,24,16,55,25],[34,37,13],[4,151,121,5,152,122],[4,75,47,14,76,48],[11,54,24,14,55,25],[16,45,15,14,46,16],[6,147,117,4,148,118],[6,73,45,14,74,46],[11,54,24,16,55,25],[30,46,16,2,47,17],[8,132,106,4,133,107],[8,75,47,13,76,48],[7,54,24,22,55,25],[22,45,15,13,46,16],[10,142,114,2,143,115],[19,74,46,4,75,47],[28,50,22,6,51,23],[33,46,16,4,47,17],[8,152,122,4,153,123],[22,73,45,3,74,46],[8,53,23,26,54,24],[12,45,15,28,46,16],[3,147,117,10,148,118],[3,73,45,23,74,46],[4,54,24,31,55,25],[11,45,15,31,46,16],[7,146,116,7,147,117],[21,73,45,7,74,46],[1,53,23,37,54,24],[19,45,15,26,46,16],[5,145,115,10,146,116],[19,75,47,10,76,48],[15,54,24,25,55,25],[23,45,15,25,46,16],[13,145,115,3,146,116],[2,74,46,29,75,47],[42,54,24,1,55,25],[23,45,15,28,46,16],[17,145,115],[10,74,46,23,75,47],[10,54,24,35,55,25],[19,45,15,35,46,16],[17,145,115,1,146,116],[14,74,46,21,75,47],[29,54,24,19,55,25],[11,45,15,46,46,16],[13,145,115,6,146,116],[14,74,46,23,75,47],[44,54,24,7,55,25],[59,46,16,1,47,17],[12,151,121,7,152,122],[12,75,47,26,76,48],[39,54,24,14,55,25],[22,45,15,41,46,16],[6,151,121,14,152,122],[6,75,47,34,76,48],[46,54,24,10,55,25],[2,45,15,64,46,16],[17,152,122,4,153,123],[29,74,46,14,75,47],[49,54,24,10,55,25],[24,45,15,46,46,16],[4,152,122,18,153,123],[13,74,46,32,75,47],[48,54,24,14,55,25],[42,45,15,32,46,16],[20,147,117,4,148,118],[40,75,47,7,76,48],[43,54,24,22,55,25],[10,45,15,67,46,16],[19,148,118,6,149,119],[18,75,47,31,76,48],[34,54,24,34,55,25],[20,45,15,61,46,16]];return{I:function(t,i){var n,o,r,a,s,l,c,d=e(t,i);if(void 0===d)throw Error("bad rs block @ typeNumber:"+t+"/errorCorrectLevel:"+i);for(t=d.length/3,i=[],n=0;n<t;n+=1)for(o=d[3*n],r=d[3*n+1],a=d[3*n+2],s=0;s<o;s+=1)l=a,(c={}).o=r,c.j=l,i.push(c);return i}}}();return e}()),define("qr-creator",function(e){return function(){return e.QrCreator}}(this)),define("WoltLabSuite/Core/Ui/User/Multifactor/Totp/Qr",["require","exports","tslib","qr-creator"],(function(e,t,i,n){"use strict";function o(e){const t=e.querySelector(".totpSecret");if(!t)return;const i=t.dataset.accountname;if(!i)return;const o=t.dataset.issuer,r=(o?`${o}:`:"")+i,a=e.querySelector("canvas");n.default.render({text:`otpauth://totp/${encodeURIComponent(r)}?secret=${encodeURIComponent(t.textContent)}${o?`&issuer=${encodeURIComponent(o)}`:""}`,size:a&&a.clientWidth?a.clientWidth:200},a||e)}Object.defineProperty(t,"__esModule",{value:!0}),t.renderAll=t.render=void 0,n=i.__importDefault(n),t.render=o,t.default=o,t.renderAll=function(){document.querySelectorAll(".totpSecretContainer").forEach((e=>o(e)))}})),define("WoltLabSuite/Core/Form/Builder/Field/Dependency/Container/Abstract",["require","exports","tslib","../Manager","../../../../../Core"],(function(e,t,i,n,o){"use strict";n=i.__importStar(n),o=i.__importStar(o);class r{constructor(e){this.init(e)}checkContainer(){throw new Error("Missing implementation of WoltLabSuite/Core/Form/Builder/Field/Dependency/Container.checkContainer!")}init(e){if("string"!=typeof e)throw new TypeError("Container id has to be a string.");if(this._container=document.getElementById(e),null===this._container)throw new Error("Unknown container with id '"+e+"'.");n.addContainerCheckCallback((()=>this.checkContainer()))}}return o.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Form/Builder/Field/Dependency/Container/Default",["require","exports","tslib","./Abstract","../../../../../Core","../Manager","../../../../../Dom/Util"],(function(e,t,i,n,o,r,a){"use strict";n=i.__importDefault(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importDefault(a);class s extends n.default{checkContainer(){if(o.stringToBool(this._container.dataset.ignoreDependencies||""))return;if(r.isHiddenByDependencies(this._container))return;const e=!a.default.isHidden(this._container),t=Array.from(this._container.children).some(((e,t)=>(0!==t||"H2"!==e.tagName&&"HEADER"!==e.tagName)&&!a.default.isHidden(e)));e!==t&&(t?a.default.show(this._container):a.default.hide(this._container),r.checkContainers())}}return o.enableLegacyInheritance(s),s})),define("WoltLabSuite/Core/Form/Builder/Field/Dependency/Container/Tab",["require","exports","tslib","./Abstract","../Manager","../../../../../Dom/Util","../../../../../Ui/TabMenu","../../../../../Core"],(function(e,t,i,n,o,r,a,s){"use strict";n=i.__importDefault(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s);class l extends n.default{checkContainer(){if(o.isHiddenByDependencies(this._container))return;const e=!r.isHidden(this._container),t=Array.from(this._container.children).some((e=>!r.isHidden(e)));if(e!==t){const e=this._container.parentNode.parentNode.querySelector("#"+r.identify(this._container.parentNode)+" > nav > ul > li[data-name="+this._container.id+"]");if(null===e)throw new Error("Cannot find tab menu entry for tab '"+this._container.id+"'.");if(t)r.show(this._container),r.show(e);else{r.hide(this._container),r.hide(e);const t=a.getTabMenu(r.identify(e.closest(".tabMenuContainer")));t.getActiveTab()===e&&t.selectFirstVisible()}o.checkContainers()}}}return s.enableLegacyInheritance(l),l})),define("WoltLabSuite/Core/Form/Builder/Field/Dependency/Container/TabMenu",["require","exports","tslib","./Abstract","../Manager","../../../../../Dom/Util","../../../../../Ui/TabMenu","../../../../../Core"],(function(e,t,i,n,o,r,a,s){"use strict";n=i.__importDefault(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importStar(a),s=i.__importStar(s);class l extends n.default{checkContainer(){if(o.isHiddenByDependencies(this._container))return;const e=!r.isHidden(this._container),t=this._container.parentNode.querySelectorAll("#"+r.identify(this._container)+" > nav > ul > li"),i=Array.from(t).some((e=>!r.isHidden(e)));e!==i&&(i?(r.show(this._container),a.getTabMenu(r.identify(this._container)).selectFirstVisible()):r.hide(this._container),o.checkContainers())}}return s.enableLegacyInheritance(l),l})),define("WoltLabSuite/Core/Ui/User/Profile/Menu/Item/Abstract",["require","exports","tslib","../../../../../Ajax","../../../../../Core"],(function(e,t,i,n,o){"use strict";n=i.__importStar(n),o=i.__importStar(o);class r{constructor(e,t){this._button=document.createElement("a"),this._listItem=document.createElement("li"),this._userId=e,this._isActive=t,this._initButton(),this._updateButton()}_initButton(){this._button.href="#",this._button.addEventListener("click",(e=>this._toggle(e))),this._listItem.appendChild(this._button);document.querySelector('.userProfileButtonMenu[data-menu="interaction"]').insertAdjacentElement("afterbegin",this._listItem)}_toggle(e){e.preventDefault(),n.api(this,{actionName:this._getAjaxActionName(),parameters:{data:{userID:this._userId}}})}_updateButton(){this._button.textContent=this._getLabel(),this._isActive?this._listItem.classList.add("active"):this._listItem.classList.remove("active")}_getLabel(){throw new Error("Implement me!")}_getAjaxActionName(){throw new Error("Implement me!")}_ajaxSuccess(e){throw new Error("Implement me!")}_ajaxSetup(){throw new Error("Implement me!")}}return o.enableLegacyInheritance(r),r})),define("WoltLabSuite/Core/Ui/User/Profile/Menu/Item/Follow",["require","exports","tslib","../../../../../Core","../../../../../Language","../../../../Notification","./Abstract"],(function(e,t,i,n,o,r,a){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importDefault(a);class s extends a.default{constructor(e,t){super(e,t)}_getLabel(){return o.get("wcf.user.button."+(this._isActive?"un":"")+"follow")}_getAjaxActionName(){return this._isActive?"unfollow":"follow"}_ajaxSuccess(e){this._isActive=!!e.returnValues.following,this._updateButton(),r.show()}_ajaxSetup(){return{data:{className:"wcf\\data\\user\\follow\\UserFollowAction"}}}}return n.enableLegacyInheritance(s),s})),define("WoltLabSuite/Core/Ui/User/Profile/Menu/Item/Ignore",["require","exports","tslib","../../../../../Core","../../../../../Language","../../../../Notification","./Abstract","../../../../../Form/Builder/Dialog"],(function(e,t,i,n,o,r,a,s){"use strict";n=i.__importStar(n),o=i.__importStar(o),r=i.__importStar(r),a=i.__importDefault(a),s=i.__importDefault(s);class l extends a.default{constructor(e,t){super(e,t),this.dialog=new s.default("ignoreDialog","wcf\\data\\user\\ignore\\UserIgnoreAction","getDialog",{dialog:{title:o.get("wcf.user.button.ignore")},actionParameters:{userID:this._userId},submitActionName:"submitDialog",successCallback:e=>this._ajaxSuccess(e),destroyOnClose:!0})}_getLabel(){return o.get("wcf.user.button."+(this._isActive?"un":"")+"ignore")}_ajaxSuccess(e){this._isActive=!!e.isIgnoredUser,this._updateButton(),r.show()}_toggle(e){e.preventDefault(),this.dialog.open()}}return n.enableLegacyInheritance(l),l})),function(e){function t(){for(;n.length&&"function"==typeof n[0];)n.shift()()}var i=e.require,n=[],o=0;e.orgRequire=i,e.require=function(r,a,s){if(!Array.isArray(r))return i.apply(e,arguments);var l=new Promise((function(e,a){var s=o++;n.push(s),i(r,(function(){var i=arguments;n[n.indexOf(s)]=function(){e(i)},t()}),(function(e){n[n.indexOf(s)]=function(){a(e)},t()}))}));return a&&(l=l.then((function(t){return a.apply(e,t)}))),s&&l.catch(s),l},e.require.config=i.config}(window),define("require.linearExecution",(function(){}));
+//# sourceMappingURL=https://assets.woltlab.com/sourcemap/WCF/dee8a387afc67ddeaaa53379f1e3b264b98f30c71b077a4e7c8188f2a2fe9f51.map
\ No newline at end of file