From: WoltLab Date: Tue, 4 Jul 2023 14:37:59 +0000 (+0000) Subject: Updating minified JavaScript files X-Git-Tag: 6.0.0_Alpha_4~1 X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=2bafdf1a80dbb63f4ac394a8fcf5be2f86ade992;p=GitHub%2FWoltLab%2FWCF.git Updating minified JavaScript files --- diff --git a/wcfsetup/install/files/js/WCF.Combined.min.js b/wcfsetup/install/files/js/WCF.Combined.min.js index 28cc1c89d3..7d66be4f89 100755 --- a/wcfsetup/install/files/js/WCF.Combined.min.js +++ b/wcfsetup/install/files/js/WCF.Combined.min.js @@ -28,7 +28,7 @@ (function (window, undefined) { "use strict";WCF.ColorPicker=Class.extend({init:function(o){this.colorPickers=[],require(["WoltLabSuite/Core/Ui/Color/Picker"],(c=>{const r=document.querySelectorAll(o);r.length?r.forEach((o=>{this.colorPickers.push(new c(o))})):console.debug("[WCF.ColorPicker] Selector does not match any element, aborting.")}))},setCallbackSubmit:function(o){this.colorPickers.forEach((c=>{c.setCallbackSubmit(o)}))},hsvToRgb:function(o,c,r){return window.__wcf_bc_colorUtil.hsvToRgb(o,c,r)},rgbToHsv:function(o,c,r){return window.__wcf_bc_colorUtil.rgbToHsv(o,c,r)},hexToRgb:function(o){return window.__wcf_bc_colorUtil.hexToRgb(o)},rgbToHex:function(o,c,r){return window.__wcf_bc_colorUtil.rgbToHex(o,c,r)}}),void 0===window.__wcf_bc_colorUtil&&require(["ColorUtil"],(function(o){})),"function"==typeof window.__wcf_bc_colorPickerInit&&window.__wcf_bc_colorPickerInit(); })(this); // WCF.ImageViewer.js -(function (window, undefined) { "use strict";WCF.ImageViewer=Class.extend({_triggerElement:null,init:function(){this._triggerElement=$('').data("disableSlideshow",!0).hide().appendTo(document.body),this._triggerElement.wcfImageViewer({enableSlideshow:0,imageSelector:".jsImageViewerEnabled",staticViewer:!0}),WCF.DOMNodeInsertedHandler.addCallback("WCF.ImageViewer",$.proxy(this._domNodeInserted,this)),WCF.DOMNodeInsertedHandler.execute()},_domNodeInserted:function(){this._initImageSizeCheck(),this._rebuildImageViewer()},_rebuildImageViewer:function(){var i=$("a.jsImageViewer");i.length&&i.removeClass("jsImageViewer").addClass("jsImageViewerEnabled").click($.proxy(this._click,this))},_click:function(i){i.ctrlKey||(i.preventDefault(),i.stopPropagation(),$(i.currentTarget).closest(".popover").length||this._triggerElement.wcfImageViewer("open",null,$(i.currentTarget).wcfIdentify()))},_initImageSizeCheck:function(){$(".jsResizeImage").each($.proxy((function(i,e){e.complete&&this._checkImageSize({currentTarget:e})}),this)),$(".jsResizeImage").on("load",$.proxy(this._checkImageSize,this))},_checkImageSize:function(i){var e,t=$(i.currentTarget);t.is(":visible")?(t.removeClass("jsResizeImage"),t.closest(".messageSignature").length||((e=new Image).src=t.attr("src"),t.closest("div.messageText, div.messageTextPreview").width()'),t.parent().click($.proxy(this._click,this)),"right"==t.css("float")?t.parent().addClass("messageFloatObjectRight"):"left"==t.css("float")&&t.parent().addClass("messageFloatObjectLeft"),t[0].style.removeProperty("float"),t[0].style.removeProperty("margin")):t.removeClass("embeddedAttachmentLink"))):t.off("load")}}),$.widget("ui.wcfImageViewer",{_active:-1,_activeImage:null,_container:null,_didInit:!1,_disableSlideshow:!1,_eventNamespace:"",_images:[],_isMobile:!1,_isOpen:!1,_messageSignature:null,_items:-1,_maxDimensions:{height:0,width:0},_proxy:null,_slideshowEnabled:!1,_thumbnailContainerWidth:0,_thumbnailMarginRight:0,_thumbnailOffset:0,_thumbnailWidth:0,_timer:null,_ui:{buttonNext:null,buttonPrevious:null,header:null,image:null,imageContainer:null,imageList:null,slideshow:{container:null,enlarge:null,next:null,previous:null,toggle:null}},options:{shiftBy:5,enableSlideshow:1,speed:5,className:"",imageSelector:"",staticViewer:!1},_create:function(){this._active=-1,this._activeImage=null,this._container=null,this._didInit=!1,this._disableSlideshow=this.element.data("disableSlideshow"),this._eventNamespace=this.element.wcfIdentify(),this._images=[],this._isMobile=!1,this._isOpen=!1,this._items=-1,this._maxDimensions={height:document.documentElement.clientHeight,width:document.documentElement.clientWidth},this._messageSignature=null,this._proxy=new WCF.Action.Proxy({success:$.proxy(this._success,this)}),this._slideshowEnabled=!1,this._thumbnailContainerWidth=0,this._thumbnailMarginRight=0,this._thumbnailOffset=0,this._thumbnaiLWidth=0,this._timer=null,this._ui={},this.element.click($.proxy(this.open,this)),window.addEventListener("popstate",function(i){if(null!=i.state&&"imageViewer"===i.state.name&&i.state.container===this._eventNamespace)return this.open(i),void this.showImage(i.state.image);this.close(i)}.bind(this))},open:function(i,e){if(i&&i.preventDefault(),this._isOpen)return!1;if(i&&"popstate"===i.type||window.history.pushState({name:"imageViewer"},"",""),this._messageSignature=null,this.options.staticViewer){e&&(this._messageSignature=document.getElementById(e).closest(".messageSignature")),this._active=-1,null!==this._activeImage&&this._ui.images[this._activeImage].removeClass("active"),this._activeImage=null;var t=this._getStaticImages();this._initUI(),this._createThumbnails(t,!0),this._render(!0,void 0,e),this._isOpen=!0,WCF.System.DisableScrolling.disable(),WCF.System.DisableZoom.disable(),$.browser.touch&&setTimeout($.proxy((function(){this._isMobile&&!this._container.hasClass("maximized")&&this._toggleView()}),this),500)}else 0===this._images.length?this._loadNextImages(!0):(this._render(!1,this.element.data("targetImageID")),this._items>1&&this._slideshowEnabled&&this.startSlideshow(),this._isOpen=!0,WCF.System.DisableScrolling.disable(),WCF.System.DisableZoom.disable());return this._bindListener(),require(["Ui/Screen"],(function(i){i.pageOverlayOpen()})),!0},close:function(i){if(i&&i.preventDefault(),i&&"popstate"===i.type)return!!this._isOpen&&(this._container.removeClass("open"),null!==this._timer&&this._timer.stop(),this._unbindListener(),this._isOpen=!1,WCF.System.DisableScrolling.enable(),WCF.System.DisableZoom.enable(),require(["Ui/Screen"],(function(i){i.pageOverlayClose()})),!0);window.history.back()},startSlideshow:function(){return!this._disableSlideshow&&!this._slideshowEnabled&&(null===this._timer?this._timer=new WCF.PeriodicalExecuter($.proxy((function(){var i=this._active+1;i==this._items&&(i=0),this.showImage(i)}),this),1e3*this.options.speed):this._timer.resume(),this._slideshowEnabled=!0,this._ui.slideshow.toggle[0].querySelector("fa-icon").setIcon("pause"),!0)},stopSlideshow:function(i){return!!this._slideshowEnabled&&(this._timer.stop(),i&&this._ui.slideshow.toggle[0].querySelector("fa-icon").setIcon("play"),this._slideshowEnabled=!1,!0)},_bindListener:function(){$(document).on("keydown."+this._eventNamespace,$.proxy(this._keyDown,this)),$(window).on("resize."+this._eventNamespace,(()=>{window.setTimeout((()=>this._renderImage()),0)}))},_unbindListener:function(){$(document).off("keydown."+this._eventNamespace),$(window).off("resize."+this._eventNamespace)},_keyDown:function(i){switch(i.which){case $.ui.keyCode.ESCAPE:this.close();break;case $.ui.keyCode.LEFT:this._previousImage();break;case $.ui.keyCode.RIGHT:this._nextImage();break;case $.ui.keyCode.UP:this._container.hasClass("maximized")||this._toggleView();break;case $.ui.keyCode.DOWN:this._container.hasClass("maximized")&&this._toggleView();break;case $.ui.keyCode.ENTER:var e=this._ui.header.find("h1 > a");1==e.length?window.location=e.prop("href"):this._ui.slideshow.full.trigger("click");break;case 80:this._ui.slideshow.toggle.trigger("click");break;default:return!0}return!1},_render:function(i,e,t){var s,a,n,h,o;this._container.addClass("open"),s=null,i&&(s=this._ui.imageList.children("li:eq(0)"),this._thumbnailMarginRight=parseInt(s.css("marginRight").replace(/px$/,""))||0,this._thumbnailWidth=s.outerWidth(!0),this._thumbnailContainerWidth=this._ui.imageList.parent().innerWidth(),this._items>1&&this.options.enableSlideshow&&!e&&!t&&this.startSlideshow()),e?this._ui.imageList.children("li").each($.proxy((function(i,t){var s=$(t);if(s.data("objectID")==e)return s.trigger("click"),this.moveToImage(s.data("index")),!1}),this)):t?(a=[],$(this.options.imageSelector).each(function(i,e){e.closest(".messageSignature")===this._messageSignature&&a.push(e)}.bind(this)),n=0,a.forEach((function(i,e){i.id===t&&(n=e)})),h=this._ui.imageList.children("li:eq("+n+")"),-1!==this._active&&(o=!1,this._active!=h.data("index")&&(o=!0),this._ui.images[this._activeImage].prop("src")!=this._images[this._active].image.url&&(o=!0),o&&(this._active=-1)),h.trigger("click"),this.moveToImage(h.data("index"))):null!==s&&s.trigger("click"),this._toggleButtons(),this._preload()},_preload:function(){this._images.length div > a").prop("href",t.user.link).prop("title",t.user.username).children("img").prop("src",t.user.avatarURL),h=WCF.String.escapeHTML(t.image.title),t.image.link&&(h=''+h+""),this._ui.header.find("h1").html(h),this.options.staticViewer||(o=t.series&&t.series.title?WCF.String.escapeHTML(t.series.title):"",t.series.link&&(o=''+o+""),this._ui.header.find("h2").html(o)),this._ui.header.find("h3").text(WCF.Language.get("wcf.imageViewer.seriesIndex").replace(/{x}/,t.listItem.data("index")+1).replace(/{y}/,this._items)),this._ui.slideshow.full.data("link",t.image.fullURL?t.image.fullURL:t.image.url),this.moveToImage(t.listItem.data("index")),this._toggleButtons(),!0)},_imageOnLoad:function(i,e){i==this._active&&(this._ui.imageContainer.removeClass("loading"),this._ui.images[e].addClass("active"),this.options.staticViewer&&this._renderImage(e,null),this.startSlideshow())},_renderImage:function(i,e,t){var s,a,n,h,o,l,r=!0;e||(i=this._activeImage,e=this._images[this._active],t={height:$(window).height()-(this._container.hasClass("maximized")||this._container.hasClass("wcfImageViewerMobile")?0:200),width:this._ui.imageContainer.innerWidth()},r=!1),t.height-=22,t.width-=20,(s=this._ui.images[i]).prop("src")!==e.image.url&&s.prop("src",e.image.url),r&&s[0].complete&&s.trigger("load"),this.options.staticViewer&&!e.image.height&&s[0].complete&&($.browser.mozilla||$.browser.safari?((a=new Image).src=e.image.url,e.image.height=a.height||s[0].naturalHeight,e.image.width=a.width||s[0].naturalWidth):(s.css({height:"auto",width:"auto"}),e.image.height=s[0].height,e.image.width=s[0].width)),n=e.image.height,h=e.image.width,o=0,n>t.height&&(o=t.height/n,n=t.height,h=Math.floor(h*o)),h>t.width&&(o=t.width/h,h=t.width,n=Math.floor(n*o)),l=Math.floor((t.width-h)/2),this._ui.images[i].css({height:n+"px",left:l+10+"px",marginTop:-1*Math.round(n/2)+"px",width:h+"px"})},_initUI:function(){var i,e,t,s,a,n,h,o;return!this._didInit&&(this._didInit=!0,this._container=$('
').appendTo(document.body),i=$("
").appendTo(this._container),e=$('
    ').appendTo(this._container),t=$("
      ").appendTo(i),s=$('
    • ').appendTo(t),a=$('
    • ').appendTo(t),n=$('
    • ').appendTo(t),h=$('
    • ').appendTo(t),o=$('
    • ').appendTo(t),this._ui={buttonNext:e.children("span.wcfImageViewerButtonNext"),buttonPrevious:e.children("span.wcfImageViewerButtonPrevious"),header:$("
      ":' class="box64">')+"

    ").appendTo(this._container),imageContainer:i,images:[i.children("img:eq(0)").on("webkitTransitionEnd transitionend msTransitionEnd oTransitionEnd",(function(){$(this).removeClass("animateTransformation")})),i.children("img:eq(1)").on("webkitTransitionEnd transitionend msTransitionEnd oTransitionEnd",(function(){$(this).removeClass("animateTransformation")}))],imageList:e.find("> div > ul"),slideshow:{container:t,enlarge:h,full:o,next:n,previous:s,toggle:a}},this._ui.buttonNext.click($.proxy(this._next,this)),this._ui.buttonPrevious.click($.proxy(this._previous,this)),n.click($.proxy(this._nextImage,this)),s.click($.proxy(this._previousImage,this)),h.click($.proxy(this._toggleView,this)),a.click($.proxy((function(){this._items<2||(this._slideshowEnabled?this.stopSlideshow(!0):(this._disableSlideshow=!1,this.startSlideshow()))}),this)),o.click((function(i){window.location=$(i.currentTarget).data("link")})),$(``).appendTo(this._ui.header).click($.proxy(this.close,this)),$.browser.mobile||i.click(function(e){e.target===i[0]&&this.close()}.bind(this)),WCF.DOMNodeInsertedHandler.execute(),require(["Ui/Screen"],function(i){i.on("screen-sm-down",{match:$.proxy(this._enableMobileView,this),unmatch:$.proxy(this._disableMobileView,this)})}.bind(this)),!0)},_enableMobileView:function(){this._container.addClass("wcfImageViewerMobile");var i=this;this._ui.imageContainer.swipe({swipeLeft:function(e){i._container.hasClass("maximized")&&i._nextImage(e)},swipeRight:function(e){i._container.hasClass("maximized")&&i._previousImage(e)},tap:function(e,t){switch(t.tagName){case"DIV":case"IMG":i._toggleView()}}}),this._isMobile=!0},_disableMobileView:function(){this._container.removeClass("wcfImageViewerMobile"),this._ui.imageContainer.swipe("destroy"),this._isMobile=!1},_toggleView:function(){this._ui.images[this._activeImage].addClass("animateTransformation"),this._container.toggleClass("maximized"),this._ui.slideshow.enlarge.toggleClass("active"),this._ui.slideshow.enlarge[0].querySelector("fa-icon").setIcon("compress"),this._renderImage(null,void 0,null)},_next:function(i,e){if(this._ui.buttonNext.hasClass("pointer")){null==e&&this.stopSlideshow(!0);var t=Math.max(this._items*this._thumbnailWidth-this._thumbnailContainerWidth-this._thumbnailMarginRight,0);this._thumbnailOffset=Math.min(this._thumbnailOffset+this._thumbnailWidth*(e||this.options.shiftBy),t),this._ui.imageList.css("marginLeft",-1*this._thumbnailOffset)}this._preload(),this._toggleButtons()},_previous:function(i,e){this._ui.buttonPrevious.hasClass("pointer")&&(null==e&&this.stopSlideshow(!0),this._thumbnailOffset=Math.max(this._thumbnailOffset-this._thumbnailWidth*(e||this.options.shiftBy),0),this._ui.imageList.css("marginLeft",-1*this._thumbnailOffset)),this._toggleButtons()},_nextImage:function(i){this._ui.slideshow.next.hasClass("pointer")&&(this._disableSlideshow=!0,this.stopSlideshow(!0),this.showImage(this._active+1),i&&(i.preventDefault(),i.stopPropagation()))},_previousImage:function(i){this._ui.slideshow.previous.hasClass("pointer")&&(this._disableSlideshow=!0,this.stopSlideshow(!0),this.showImage(this._active-1),i&&(i.preventDefault(),i.stopPropagation()))},moveToImage:function(i){var e,t=(i-3)*this._thumbnailWidth,s=t+5*this._thumbnailWidth,a=this._thumbnailOffset,n=this._thumbnailOffset+this._thumbnailContainerWidth,h=!1;if((tn)&&(h=!0),h)if(e=0,tn;)e++,n+=this._thumbnailWidth;this._next(null,e)}},_toggleButtons:function(){this._thumbnailOffset>0?this._ui.buttonPrevious.addClass("pointer"):this._ui.buttonPrevious.removeClass("pointer");var i=this._images.length*this._thumbnailWidth-this._thumbnailContainerWidth-this._thumbnailMarginRight;this._thumbnailOffset>=i?this._ui.buttonNext.removeClass("pointer"):this._ui.buttonNext.addClass("pointer"),this._active>0?this._ui.slideshow.previous.addClass("pointer"):this._ui.slideshow.previous.removeClass("pointer"),this._active+1').appendTo(this._ui.imageList)).data("index",this._images.length).data("objectID",s.objectID).click($.proxy(this._showImage,this)),(n=a.children("img")).get(0).complete?(a.removeClass("loading"),this.options.staticViewer&&this._fixThumbnailDimensions(n)):(h=this,n.on("load",(function(){var i=$(this);i.parent().removeClass("loading"),h.options.staticViewer&&h._fixThumbnailDimensions(i)}))),s.listItem=a,this._images.push(s)},_fixThumbnailDimensions:function(i){var e,t,s,a=new Image;a.src=i.prop("src"),(e=a.height)==(t=a.width)?e=t=80:e img, .attachmentThumbnailImage > img").first()).length||(a=s.parentsUntil(".formAttachmentList").last().find(".attachmentTinyThumbnail")),i.push({image:{fullURL:a.data("source")?a.data("source").replace(/\\\//g,"/"):s.prop("href"),link:"",title:s.prop("title"),url:s.prop("href")},series:null,thumbnail:{url:a.prop("src")},user:null}))}.bind(this)),this._items=i.length,i},_success:function(i,e,t){var s,a;i.returnValues.items&&(this._items=i.returnValues.items),s=this._initUI(),this._createThumbnails(i.returnValues.images),a=i.returnValues.targetImageID?i.returnValues.targetImageID:0,this._render(s,a),this._isOpen||(this._isOpen=!0,WCF.System.DisableScrolling.disable(),WCF.System.DisableZoom.disable())}}); })(this); +(function (window, undefined) { "use strict";WCF.ImageViewer=Class.extend({_triggerElement:null,init:function(){this._triggerElement=$('').data("disableSlideshow",!0).hide().appendTo(document.body),this._triggerElement.wcfImageViewer({enableSlideshow:0,imageSelector:".jsImageViewerEnabled",staticViewer:!0}),WCF.DOMNodeInsertedHandler.addCallback("WCF.ImageViewer",$.proxy(this._domNodeInserted,this)),WCF.DOMNodeInsertedHandler.execute()},_domNodeInserted:function(){this._initImageSizeCheck(),this._rebuildImageViewer()},_rebuildImageViewer:function(){var i=$("a.jsImageViewer");i.length&&i.removeClass("jsImageViewer").addClass("jsImageViewerEnabled").click($.proxy(this._click,this))},_click:function(i){i.ctrlKey||(i.preventDefault(),i.stopPropagation(),$(i.currentTarget).closest(".popover").length||this._triggerElement.wcfImageViewer("open",null,$(i.currentTarget).wcfIdentify()))},_initImageSizeCheck:function(){$(".jsResizeImage").each($.proxy((function(i,e){e.complete&&this._checkImageSize({currentTarget:e})}),this)),$(".jsResizeImage").on("load",$.proxy(this._checkImageSize,this))},_checkImageSize:function(i){var e,t=$(i.currentTarget);t.is(":visible")?(t.removeClass("jsResizeImage"),t.closest(".messageSignature").length||((e=new Image).src=t.attr("src"),t.closest("div.messageText, div.messageTextPreview").width()'),t.parent().click($.proxy(this._click,this)),"right"==t.css("float")?t.parent().addClass("messageFloatObjectRight"):"left"==t.css("float")&&t.parent().addClass("messageFloatObjectLeft"),t[0].style.removeProperty("float"),t[0].style.removeProperty("margin")):t.removeClass("embeddedAttachmentLink"))):t.off("load")}}),$.widget("ui.wcfImageViewer",{_active:-1,_activeImage:null,_container:null,_didInit:!1,_disableSlideshow:!1,_eventNamespace:"",_images:[],_isMobile:!1,_isOpen:!1,_messageSignature:null,_items:-1,_maxDimensions:{height:0,width:0},_proxy:null,_slideshowEnabled:!1,_thumbnailContainerWidth:0,_thumbnailMarginRight:0,_thumbnailOffset:0,_thumbnailWidth:0,_timer:null,_ui:{buttonNext:null,buttonPrevious:null,header:null,image:null,imageContainer:null,imageList:null,slideshow:{container:null,enlarge:null,next:null,previous:null,toggle:null}},options:{shiftBy:5,enableSlideshow:1,speed:5,className:"",imageSelector:"",staticViewer:!1},_create:function(){this._active=-1,this._activeImage=null,this._container=null,this._didInit=!1,this._disableSlideshow=this.element.data("disableSlideshow"),this._eventNamespace=this.element.wcfIdentify(),this._images=[],this._isMobile=!1,this._isOpen=!1,this._items=-1,this._maxDimensions={height:document.documentElement.clientHeight,width:document.documentElement.clientWidth},this._messageSignature=null,this._proxy=new WCF.Action.Proxy({success:$.proxy(this._success,this)}),this._slideshowEnabled=!1,this._thumbnailContainerWidth=0,this._thumbnailMarginRight=0,this._thumbnailOffset=0,this._thumbnaiLWidth=0,this._timer=null,this._ui={},this.element.click($.proxy(this.open,this)),window.addEventListener("popstate",function(i){if(null!=i.state&&"imageViewer"===i.state.name&&i.state.container===this._eventNamespace)return this.open(i),void this.showImage(i.state.image);this.close(i)}.bind(this))},open:function(i,e){if(i&&i.preventDefault(),this._isOpen)return!1;if(i&&"popstate"===i.type||window.history.pushState({name:"imageViewer"},"",""),this._messageSignature=null,this.options.staticViewer){e&&(this._messageSignature=document.getElementById(e).closest(".messageSignature")),this._active=-1,null!==this._activeImage&&this._ui.images[this._activeImage].removeClass("active"),this._activeImage=null;var t=this._getStaticImages();this._initUI(),this._createThumbnails(t,!0),this._render(!0,void 0,e),this._isOpen=!0,WCF.System.DisableScrolling.disable(),WCF.System.DisableZoom.disable(),$.browser.touch&&setTimeout($.proxy((function(){this._isMobile&&!this._container.hasClass("maximized")&&this._toggleView()}),this),500)}else 0===this._images.length?this._loadNextImages(!0):(this._render(!1,this.element.data("targetImageID")),this._items>1&&this._slideshowEnabled&&this.startSlideshow(),this._isOpen=!0,WCF.System.DisableScrolling.disable(),WCF.System.DisableZoom.disable());return this._bindListener(),require(["Ui/Screen"],(function(i){i.pageOverlayOpen()})),!0},close:function(i){if(i&&i.preventDefault(),i&&"popstate"===i.type)return!!this._isOpen&&(this._container.removeClass("open"),null!==this._timer&&this._timer.stop(),this._unbindListener(),this._isOpen=!1,WCF.System.DisableScrolling.enable(),WCF.System.DisableZoom.enable(),require(["Ui/Screen"],(function(i){i.pageOverlayClose()})),!0);window.history.back()},startSlideshow:function(){return!this._disableSlideshow&&!this._slideshowEnabled&&(null===this._timer?this._timer=new WCF.PeriodicalExecuter($.proxy((function(){var i=this._active+1;i==this._items&&(i=0),this.showImage(i)}),this),1e3*this.options.speed):this._timer.resume(),this._slideshowEnabled=!0,this._ui.slideshow.toggle[0].querySelector("fa-icon").setIcon("pause"),!0)},stopSlideshow:function(i){return!!this._slideshowEnabled&&(this._timer.stop(),i&&this._ui.slideshow.toggle[0].querySelector("fa-icon").setIcon("play"),this._slideshowEnabled=!1,!0)},_bindListener:function(){$(document).on("keydown."+this._eventNamespace,$.proxy(this._keyDown,this)),$(window).on("resize."+this._eventNamespace,(()=>{window.setTimeout((()=>this._renderImage()),0)}))},_unbindListener:function(){$(document).off("keydown."+this._eventNamespace),$(window).off("resize."+this._eventNamespace)},_keyDown:function(i){switch(i.which){case $.ui.keyCode.ESCAPE:this.close();break;case $.ui.keyCode.LEFT:this._previousImage();break;case $.ui.keyCode.RIGHT:this._nextImage();break;case $.ui.keyCode.UP:this._container.hasClass("maximized")||this._toggleView();break;case $.ui.keyCode.DOWN:this._container.hasClass("maximized")&&this._toggleView();break;case $.ui.keyCode.ENTER:var e=this._ui.header.find("h1 > a");1==e.length?window.location=e.prop("href"):this._ui.slideshow.full.trigger("click");break;case 80:this._ui.slideshow.toggle.trigger("click");break;default:return!0}return!1},_render:function(i,e,t){var s,a,n,h,o;this._container.addClass("open"),s=null,i&&(s=this._ui.imageList.children("li:eq(0)"),this._thumbnailMarginRight=parseInt(s.css("marginRight").replace(/px$/,""))||0,this._thumbnailWidth=s.outerWidth(!0),this._thumbnailContainerWidth=this._ui.imageList.parent().innerWidth(),this._items>1&&this.options.enableSlideshow&&!e&&!t&&this.startSlideshow()),e?this._ui.imageList.children("li").each($.proxy((function(i,t){var s=$(t);if(s.data("objectID")==e)return s.trigger("click"),this.moveToImage(s.data("index")),!1}),this)):t?(a=[],$(this.options.imageSelector).each(function(i,e){e.closest(".messageSignature")===this._messageSignature&&a.push(e)}.bind(this)),n=0,a.forEach((function(i,e){i.id===t&&(n=e)})),h=this._ui.imageList.children("li:eq("+n+")"),-1!==this._active&&(o=!1,this._active!=h.data("index")&&(o=!0),this._ui.images[this._activeImage].prop("src")!=this._images[this._active].image.url&&(o=!0),o&&(this._active=-1)),h.trigger("click"),this.moveToImage(h.data("index"))):null!==s&&s.trigger("click"),this._toggleButtons(),this._preload()},_preload:function(){this._images.length div > a").prop("href",t.user.link).prop("title",t.user.username).children("img").prop("src",t.user.avatarURL),h=WCF.String.escapeHTML(t.image.title),t.image.link&&(h=''+h+""),this._ui.header.find("h1").html(h),this.options.staticViewer||(o=t.series&&t.series.title?WCF.String.escapeHTML(t.series.title):"",t.series.link&&(o=''+o+""),this._ui.header.find("h2").html(o)),this._ui.header.find("h3").text(WCF.Language.get("wcf.imageViewer.seriesIndex").replace(/{x}/,t.listItem.data("index")+1).replace(/{y}/,this._items)),this._ui.slideshow.full.data("link",t.image.fullURL?t.image.fullURL:t.image.url),this.moveToImage(t.listItem.data("index")),this._toggleButtons(),!0)},_imageOnLoad:function(i,e){i==this._active&&(this._ui.imageContainer.removeClass("loading"),this._ui.images[e].addClass("active"),this.options.staticViewer&&this._renderImage(e,null),this.startSlideshow())},_renderImage:function(i,e,t){var s,a,n,h,o,l,r=!0;e||(i=this._activeImage,e=this._images[this._active],t={height:$(window).height()-(this._container.hasClass("maximized")||this._container.hasClass("wcfImageViewerMobile")?0:200),width:this._ui.imageContainer.innerWidth()},r=!1),t.height-=22,t.width-=20,(s=this._ui.images[i]).prop("src")!==e.image.url&&s.prop("src",e.image.url),r&&s[0].complete&&s.trigger("load"),this.options.staticViewer&&!e.image.height&&s[0].complete&&($.browser.mozilla||$.browser.safari?((a=new Image).src=e.image.url,e.image.height=a.height||s[0].naturalHeight,e.image.width=a.width||s[0].naturalWidth):(s.css({height:"auto",width:"auto"}),e.image.height=s[0].height,e.image.width=s[0].width)),n=e.image.height,h=e.image.width,o=0,n>t.height&&(o=t.height/n,n=t.height,h=Math.floor(h*o)),h>t.width&&(o=t.width/h,h=t.width,n=Math.floor(n*o)),l=Math.floor((t.width-h)/2),this._ui.images[i].css({height:n+"px",left:l+10+"px",marginTop:-1*Math.round(n/2)+"px",width:h+"px"})},_initUI:function(){var i,e,t,s,a,n,h,o;return!this._didInit&&(this._didInit=!0,this._container=$('
    ').appendTo(document.body),i=$("
    ").appendTo(this._container),e=$('
      ').appendTo(this._container),t=$("
        ").appendTo(i),s=$('
      • ').appendTo(t),a=$('
      • ').appendTo(t),n=$('
      • ').appendTo(t),h=$('
      • ').appendTo(t),o=$('
      • ').appendTo(t),this._ui={buttonNext:e.children("span.wcfImageViewerButtonNext"),buttonPrevious:e.children("span.wcfImageViewerButtonPrevious"),header:$("
        ":' class="box64">')+"

      ").appendTo(this._container),imageContainer:i,images:[i.children("img:eq(0)").on("webkitTransitionEnd transitionend msTransitionEnd oTransitionEnd",(function(){$(this).removeClass("animateTransformation")})),i.children("img:eq(1)").on("webkitTransitionEnd transitionend msTransitionEnd oTransitionEnd",(function(){$(this).removeClass("animateTransformation")}))],imageList:e.find("> div > ul"),slideshow:{container:t,enlarge:h,full:o,next:n,previous:s,toggle:a}},this._ui.buttonNext.click($.proxy(this._next,this)),this._ui.buttonPrevious.click($.proxy(this._previous,this)),n.click($.proxy(this._nextImage,this)),s.click($.proxy(this._previousImage,this)),h.click($.proxy(this._toggleView,this)),a.click($.proxy((function(){this._items<2||(this._slideshowEnabled?this.stopSlideshow(!0):(this._disableSlideshow=!1,this.startSlideshow()))}),this)),o.click((function(i){window.location=$(i.currentTarget).data("link")})),$(``).appendTo(this._ui.header).click($.proxy(this.close,this)),$.browser.mobile||i.click(function(e){e.target===i[0]&&this.close()}.bind(this)),WCF.DOMNodeInsertedHandler.execute(),require(["Ui/Screen"],function(i){i.on("screen-sm-down",{match:$.proxy(this._enableMobileView,this),unmatch:$.proxy(this._disableMobileView,this)})}.bind(this)),!0)},_enableMobileView:function(){this._container.addClass("wcfImageViewerMobile");var i=this;this._ui.imageContainer.swipe({swipeLeft:function(e){i._container.hasClass("maximized")&&i._nextImage(e)},swipeRight:function(e){i._container.hasClass("maximized")&&i._previousImage(e)},tap:function(e,t){switch(t.tagName){case"DIV":case"IMG":i._toggleView()}}}),this._isMobile=!0},_disableMobileView:function(){this._container.removeClass("wcfImageViewerMobile"),this._ui.imageContainer.swipe("destroy"),this._isMobile=!1},_toggleView:function(){this._ui.images[this._activeImage].addClass("animateTransformation"),this._container.toggleClass("maximized"),this._ui.slideshow.enlarge.toggleClass("active"),this._ui.slideshow.enlarge[0].querySelector("fa-icon").setIcon("compress"),this._renderImage(null,void 0,null)},_next:function(i,e){if(this._ui.buttonNext.hasClass("pointer")){null==e&&this.stopSlideshow(!0);var t=Math.max(this._items*this._thumbnailWidth-this._thumbnailContainerWidth-this._thumbnailMarginRight,0);this._thumbnailOffset=Math.min(this._thumbnailOffset+this._thumbnailWidth*(e||this.options.shiftBy),t),this._ui.imageList.css("marginLeft",-1*this._thumbnailOffset)}this._preload(),this._toggleButtons()},_previous:function(i,e){this._ui.buttonPrevious.hasClass("pointer")&&(null==e&&this.stopSlideshow(!0),this._thumbnailOffset=Math.max(this._thumbnailOffset-this._thumbnailWidth*(e||this.options.shiftBy),0),this._ui.imageList.css("marginLeft",-1*this._thumbnailOffset)),this._toggleButtons()},_nextImage:function(i){this._ui.slideshow.next.hasClass("pointer")&&(this._disableSlideshow=!0,this.stopSlideshow(!0),this.showImage(this._active+1),i&&(i.preventDefault(),i.stopPropagation()))},_previousImage:function(i){this._ui.slideshow.previous.hasClass("pointer")&&(this._disableSlideshow=!0,this.stopSlideshow(!0),this.showImage(this._active-1),i&&(i.preventDefault(),i.stopPropagation()))},moveToImage:function(i){var e,t=(i-3)*this._thumbnailWidth,s=t+5*this._thumbnailWidth,a=this._thumbnailOffset,n=this._thumbnailOffset+this._thumbnailContainerWidth,h=!1;if((tn)&&(h=!0),h)if(e=0,tn;)e++,n+=this._thumbnailWidth;this._next(null,e)}},_toggleButtons:function(){this._thumbnailOffset>0?this._ui.buttonPrevious.addClass("pointer"):this._ui.buttonPrevious.removeClass("pointer");var i=this._images.length*this._thumbnailWidth-this._thumbnailContainerWidth-this._thumbnailMarginRight;this._thumbnailOffset>=i?this._ui.buttonNext.removeClass("pointer"):this._ui.buttonNext.addClass("pointer"),this._active>0?this._ui.slideshow.previous.addClass("pointer"):this._ui.slideshow.previous.removeClass("pointer"),this._active+1').appendTo(this._ui.imageList)).data("index",this._images.length).data("objectID",s.objectID).click($.proxy(this._showImage,this)),(n=a.children("img")).get(0).complete?(a.removeClass("loading"),this.options.staticViewer&&this._fixThumbnailDimensions(n)):(h=this,n.on("load",(function(){var i=$(this);i.parent().removeClass("loading"),h.options.staticViewer&&h._fixThumbnailDimensions(i)}))),s.listItem=a,this._images.push(s)},_fixThumbnailDimensions:function(i){var e,t,s,a=new Image;a.src=i.prop("src"),(e=a.height)==(t=a.width)?e=t=80:e img, .attachmentThumbnailImage > img").first()).length||(a=s.parentsUntil(".formAttachmentList").last().find(".attachmentTinyThumbnail")),i.push({image:{fullURL:a.data("source")?a.data("source").replace(/\\\//g,"/"):s.prop("href"),link:"",title:s.prop("title"),url:s.prop("href")},series:null,thumbnail:{url:a.prop("src")},user:null}))}.bind(this)),this._items=i.length,i},_success:function(i,e,t){var s,a;i.returnValues.items&&(this._items=i.returnValues.items),s=this._initUI(),this._createThumbnails(i.returnValues.images),a=i.returnValues.targetImageID?i.returnValues.targetImageID:0,this._render(s,a),this._isOpen||(this._isOpen=!0,WCF.System.DisableScrolling.disable(),WCF.System.DisableZoom.disable())}}); })(this); // WCF.Label.js (function (window, undefined) { "use strict";WCF.Label={},WCF.Label.ACPList=Class.extend({_labelInput:{},_labelList:{},init:function(){},_keyPressed:function(){}}),WCF.Label.ACPList.Connect=Class.extend({init:function(){var t=$("#connect .structuredList li");t.length&&t.each($.proxy((function(t,e){$(e).find('input[type="checkbox"]').click($.proxy(this._click,this))}),this))},_click:function(t){var e,i=$(t.currentTarget);if(i.is(":checked"))for(e=(i=i.parents("li")).data("depth");;){if(!(i=i.next()).length)return!0;if(i.data("depth")<=e)return!0;i.find('input[type="checkbox"]').prop("checked","checked")}}}),WCF.Label.Chooser=Class.extend({_container:null,_groups:{},_showWithoutSelection:!1,init:function(t,e,i,n){var o,a,s,l;if(this._container=null,this._groups={},this._showWithoutSelection=!0===n,this._initContainers(e),$.getLength(t))for(o in t)(a=this._groups[o])&&WCF.Dropdown.getDropdownMenu(a.wcfIdentify()).find("> ul > li:not(.dropdownDivider)").each($.proxy((function(e,i){var n=$(i),a=n.data("labelID")||0;a&&t[o]==a&&this._selectLabel(n,!0)}),this));for(s in this._containers)void 0===(l=this._containers[s]).data("labelID")&&l.data("labelID",0);this._container=$(e),i?$(i).click($.proxy(this._submit,this)):this._container.is("form")&&this._container.submit($.proxy(this._submit,this))},_initContainers:function(t){function e(t){t.addEventListener("wheel",(function(t){t.preventDefault()}),{passive:!1})}$(t).find(".labelChooser").each($.proxy((function(t,i){var n,o,a,s,l=$(i),r=l.data("groupID");this._groups[r]||(n=l.wcfIdentify(),null===(o=WCF.Dropdown.getDropdownMenu(n))&&(WCF.Dropdown.initDropdown(l.find(".dropdownToggle")),o=WCF.Dropdown.getDropdownMenu(n)),a=o,"div"==o.getTagName()&&o.children(".scrollableDropdownMenu").length&&(a=$("
        ").appendTo(o),o=o.children(".scrollableDropdownMenu")),this._groups[r]=l,o.children("li").data("groupID",r).click($.proxy(this._click,this)),l.data("forceSelection")&&!this._showWithoutSelection||$('
      • '+WCF.Language.get("wcf.label.withoutSelection")+"
      • ").data("groupID",r).appendTo(a).click($.proxy(this._click,this))[0]),l.data("forceSelection")||((s=$('
      • '+WCF.Language.get("wcf.label.none")+"
      • ").data("groupID",r).appendTo(a)).click($.proxy(this._click,this)),e(s[0])))}),this))},_click:function(t){this._selectLabel($(t.currentTarget),!1)},_selectLabel:function(t,e){var i=this._groups[t.data("groupID")];e&&void 0!==i.data("labelID")||(t.data("labelID")?i.data("labelID",t.data("labelID")):i.data("labelID",0),t=t.find("span > span"),i.find(".dropdownToggle > span").removeClass().addClass(t.attr("class")).text(t.text()),!e&&this._container[0]&&"FORM"===this._container[0].nodeName&&null===elBySel('input:not([type="hidden"]):not([type="submit"]):not([type="reset"]), select, textarea',this._container[0])&&setTimeout(function(){this._container.trigger("submit")}.bind(this),100))},_submit:function(){var t,e,i=this._container.find(".formSubmit");for(t in i.find('input[type="hidden"]').each((function(t,e){var i=$(e);0===i.attr("name").indexOf("labelIDs[")&&i.remove()})),this._groups)(e=this._groups[t]).data("labelID")&&$('').appendTo(i)},destroy:function(){for(var t in this._groups)WCF.Dropdown.destroy(this._groups[t].wcfIdentify())}}),WCF.Label.ArticleLabelChooser=WCF.Label.Chooser.extend({_labelGroupsToCategories:null,init:function(t,e,i,n,o){this._super(e,i,n,o),this._labelGroupsToCategories=t,this._updateLabelGroups(),$("#categoryID").change($.proxy(this._updateLabelGroups,this))},_updateLabelGroups:function(){var t,e,i;if($(".labelChooser").each((function(t,e){$(e).parents("dl:eq(0)").hide()})),t=parseInt($("#categoryID").val()),this._labelGroupsToCategories[t])for(e=0,i=this._labelGroupsToCategories[t].length;e').data("disableSlideshow",!0).hide().appendTo(document.body),this._triggerElement.wcfImageViewer({enableSlideshow:0,imageSelector:".jsImageViewerEnabled",staticViewer:!0}),WCF.DOMNodeInsertedHandler.addCallback("WCF.ImageViewer",$.proxy(this._domNodeInserted,this)),WCF.DOMNodeInsertedHandler.execute()},_domNodeInserted:function(){this._initImageSizeCheck(),this._rebuildImageViewer()},_rebuildImageViewer:function(){var i=$("a.jsImageViewer");i.length&&i.removeClass("jsImageViewer").addClass("jsImageViewerEnabled").click($.proxy(this._click,this))},_click:function(i){i.ctrlKey||(i.preventDefault(),i.stopPropagation(),$(i.currentTarget).closest(".popover").length||this._triggerElement.wcfImageViewer("open",null,$(i.currentTarget).wcfIdentify()))},_initImageSizeCheck:function(){$(".jsResizeImage").each($.proxy((function(i,e){e.complete&&this._checkImageSize({currentTarget:e})}),this)),$(".jsResizeImage").on("load",$.proxy(this._checkImageSize,this))},_checkImageSize:function(i){var e,t=$(i.currentTarget);t.is(":visible")?(t.removeClass("jsResizeImage"),t.closest(".messageSignature").length||((e=new Image).src=t.attr("src"),t.closest("div.messageText, div.messageTextPreview").width()'),t.parent().click($.proxy(this._click,this)),"right"==t.css("float")?t.parent().addClass("messageFloatObjectRight"):"left"==t.css("float")&&t.parent().addClass("messageFloatObjectLeft"),t[0].style.removeProperty("float"),t[0].style.removeProperty("margin")):t.removeClass("embeddedAttachmentLink"))):t.off("load")}}),$.widget("ui.wcfImageViewer",{_active:-1,_activeImage:null,_container:null,_didInit:!1,_disableSlideshow:!1,_eventNamespace:"",_images:[],_isMobile:!1,_isOpen:!1,_messageSignature:null,_items:-1,_maxDimensions:{height:0,width:0},_proxy:null,_slideshowEnabled:!1,_thumbnailContainerWidth:0,_thumbnailMarginRight:0,_thumbnailOffset:0,_thumbnailWidth:0,_timer:null,_ui:{buttonNext:null,buttonPrevious:null,header:null,image:null,imageContainer:null,imageList:null,slideshow:{container:null,enlarge:null,next:null,previous:null,toggle:null}},options:{shiftBy:5,enableSlideshow:1,speed:5,className:"",imageSelector:"",staticViewer:!1},_create:function(){this._active=-1,this._activeImage=null,this._container=null,this._didInit=!1,this._disableSlideshow=this.element.data("disableSlideshow"),this._eventNamespace=this.element.wcfIdentify(),this._images=[],this._isMobile=!1,this._isOpen=!1,this._items=-1,this._maxDimensions={height:document.documentElement.clientHeight,width:document.documentElement.clientWidth},this._messageSignature=null,this._proxy=new WCF.Action.Proxy({success:$.proxy(this._success,this)}),this._slideshowEnabled=!1,this._thumbnailContainerWidth=0,this._thumbnailMarginRight=0,this._thumbnailOffset=0,this._thumbnaiLWidth=0,this._timer=null,this._ui={},this.element.click($.proxy(this.open,this)),window.addEventListener("popstate",function(i){if(null!=i.state&&"imageViewer"===i.state.name&&i.state.container===this._eventNamespace)return this.open(i),void this.showImage(i.state.image);this.close(i)}.bind(this))},open:function(i,e){if(i&&i.preventDefault(),this._isOpen)return!1;if(i&&"popstate"===i.type||window.history.pushState({name:"imageViewer"},"",""),this._messageSignature=null,this.options.staticViewer){e&&(this._messageSignature=document.getElementById(e).closest(".messageSignature")),this._active=-1,null!==this._activeImage&&this._ui.images[this._activeImage].removeClass("active"),this._activeImage=null;var t=this._getStaticImages();this._initUI(),this._createThumbnails(t,!0),this._render(!0,void 0,e),this._isOpen=!0,WCF.System.DisableScrolling.disable(),WCF.System.DisableZoom.disable(),$.browser.touch&&setTimeout($.proxy((function(){this._isMobile&&!this._container.hasClass("maximized")&&this._toggleView()}),this),500)}else 0===this._images.length?this._loadNextImages(!0):(this._render(!1,this.element.data("targetImageID")),this._items>1&&this._slideshowEnabled&&this.startSlideshow(),this._isOpen=!0,WCF.System.DisableScrolling.disable(),WCF.System.DisableZoom.disable());return this._bindListener(),require(["Ui/Screen"],(function(i){i.pageOverlayOpen()})),!0},close:function(i){if(i&&i.preventDefault(),i&&"popstate"===i.type)return!!this._isOpen&&(this._container.removeClass("open"),null!==this._timer&&this._timer.stop(),this._unbindListener(),this._isOpen=!1,WCF.System.DisableScrolling.enable(),WCF.System.DisableZoom.enable(),require(["Ui/Screen"],(function(i){i.pageOverlayClose()})),!0);window.history.back()},startSlideshow:function(){return!this._disableSlideshow&&!this._slideshowEnabled&&(null===this._timer?this._timer=new WCF.PeriodicalExecuter($.proxy((function(){var i=this._active+1;i==this._items&&(i=0),this.showImage(i)}),this),1e3*this.options.speed):this._timer.resume(),this._slideshowEnabled=!0,this._ui.slideshow.toggle[0].querySelector("fa-icon").setIcon("pause"),!0)},stopSlideshow:function(i){return!!this._slideshowEnabled&&(this._timer.stop(),i&&this._ui.slideshow.toggle[0].querySelector("fa-icon").setIcon("play"),this._slideshowEnabled=!1,!0)},_bindListener:function(){$(document).on("keydown."+this._eventNamespace,$.proxy(this._keyDown,this)),$(window).on("resize."+this._eventNamespace,(()=>{window.setTimeout((()=>this._renderImage()),0)}))},_unbindListener:function(){$(document).off("keydown."+this._eventNamespace),$(window).off("resize."+this._eventNamespace)},_keyDown:function(i){switch(i.which){case $.ui.keyCode.ESCAPE:this.close();break;case $.ui.keyCode.LEFT:this._previousImage();break;case $.ui.keyCode.RIGHT:this._nextImage();break;case $.ui.keyCode.UP:this._container.hasClass("maximized")||this._toggleView();break;case $.ui.keyCode.DOWN:this._container.hasClass("maximized")&&this._toggleView();break;case $.ui.keyCode.ENTER:var e=this._ui.header.find("h1 > a");1==e.length?window.location=e.prop("href"):this._ui.slideshow.full.trigger("click");break;case 80:this._ui.slideshow.toggle.trigger("click");break;default:return!0}return!1},_render:function(i,e,t){var s,a,n,h,o;this._container.addClass("open"),s=null,i&&(s=this._ui.imageList.children("li:eq(0)"),this._thumbnailMarginRight=parseInt(s.css("marginRight").replace(/px$/,""))||0,this._thumbnailWidth=s.outerWidth(!0),this._thumbnailContainerWidth=this._ui.imageList.parent().innerWidth(),this._items>1&&this.options.enableSlideshow&&!e&&!t&&this.startSlideshow()),e?this._ui.imageList.children("li").each($.proxy((function(i,t){var s=$(t);if(s.data("objectID")==e)return s.trigger("click"),this.moveToImage(s.data("index")),!1}),this)):t?(a=[],$(this.options.imageSelector).each(function(i,e){e.closest(".messageSignature")===this._messageSignature&&a.push(e)}.bind(this)),n=0,a.forEach((function(i,e){i.id===t&&(n=e)})),h=this._ui.imageList.children("li:eq("+n+")"),-1!==this._active&&(o=!1,this._active!=h.data("index")&&(o=!0),this._ui.images[this._activeImage].prop("src")!=this._images[this._active].image.url&&(o=!0),o&&(this._active=-1)),h.trigger("click"),this.moveToImage(h.data("index"))):null!==s&&s.trigger("click"),this._toggleButtons(),this._preload()},_preload:function(){this._images.length div > a").prop("href",t.user.link).prop("title",t.user.username).children("img").prop("src",t.user.avatarURL),h=WCF.String.escapeHTML(t.image.title),t.image.link&&(h=''+h+""),this._ui.header.find("h1").html(h),this.options.staticViewer||(o=t.series&&t.series.title?WCF.String.escapeHTML(t.series.title):"",t.series.link&&(o=''+o+""),this._ui.header.find("h2").html(o)),this._ui.header.find("h3").text(WCF.Language.get("wcf.imageViewer.seriesIndex").replace(/{x}/,t.listItem.data("index")+1).replace(/{y}/,this._items)),this._ui.slideshow.full.data("link",t.image.fullURL?t.image.fullURL:t.image.url),this.moveToImage(t.listItem.data("index")),this._toggleButtons(),!0)},_imageOnLoad:function(i,e){i==this._active&&(this._ui.imageContainer.removeClass("loading"),this._ui.images[e].addClass("active"),this.options.staticViewer&&this._renderImage(e,null),this.startSlideshow())},_renderImage:function(i,e,t){var s,a,n,h,o,l,r=!0;e||(i=this._activeImage,e=this._images[this._active],t={height:$(window).height()-(this._container.hasClass("maximized")||this._container.hasClass("wcfImageViewerMobile")?0:200),width:this._ui.imageContainer.innerWidth()},r=!1),t.height-=22,t.width-=20,(s=this._ui.images[i]).prop("src")!==e.image.url&&s.prop("src",e.image.url),r&&s[0].complete&&s.trigger("load"),this.options.staticViewer&&!e.image.height&&s[0].complete&&($.browser.mozilla||$.browser.safari?((a=new Image).src=e.image.url,e.image.height=a.height||s[0].naturalHeight,e.image.width=a.width||s[0].naturalWidth):(s.css({height:"auto",width:"auto"}),e.image.height=s[0].height,e.image.width=s[0].width)),n=e.image.height,h=e.image.width,o=0,n>t.height&&(o=t.height/n,n=t.height,h=Math.floor(h*o)),h>t.width&&(o=t.width/h,h=t.width,n=Math.floor(n*o)),l=Math.floor((t.width-h)/2),this._ui.images[i].css({height:n+"px",left:l+10+"px",marginTop:-1*Math.round(n/2)+"px",width:h+"px"})},_initUI:function(){var i,e,t,s,a,n,h,o;return!this._didInit&&(this._didInit=!0,this._container=$('
        ').appendTo(document.body),i=$("
        ").appendTo(this._container),e=$('
          ').appendTo(this._container),t=$("
            ").appendTo(i),s=$('
          • ').appendTo(t),a=$('
          • ').appendTo(t),n=$('
          • ').appendTo(t),h=$('
          • ').appendTo(t),o=$('
          • ').appendTo(t),this._ui={buttonNext:e.children("span.wcfImageViewerButtonNext"),buttonPrevious:e.children("span.wcfImageViewerButtonPrevious"),header:$("
            ":' class="box64">')+"

          ").appendTo(this._container),imageContainer:i,images:[i.children("img:eq(0)").on("webkitTransitionEnd transitionend msTransitionEnd oTransitionEnd",(function(){$(this).removeClass("animateTransformation")})),i.children("img:eq(1)").on("webkitTransitionEnd transitionend msTransitionEnd oTransitionEnd",(function(){$(this).removeClass("animateTransformation")}))],imageList:e.find("> div > ul"),slideshow:{container:t,enlarge:h,full:o,next:n,previous:s,toggle:a}},this._ui.buttonNext.click($.proxy(this._next,this)),this._ui.buttonPrevious.click($.proxy(this._previous,this)),n.click($.proxy(this._nextImage,this)),s.click($.proxy(this._previousImage,this)),h.click($.proxy(this._toggleView,this)),a.click($.proxy((function(){this._items<2||(this._slideshowEnabled?this.stopSlideshow(!0):(this._disableSlideshow=!1,this.startSlideshow()))}),this)),o.click((function(i){window.location=$(i.currentTarget).data("link")})),$(``).appendTo(this._ui.header).click($.proxy(this.close,this)),$.browser.mobile||i.click(function(e){e.target===i[0]&&this.close()}.bind(this)),WCF.DOMNodeInsertedHandler.execute(),require(["Ui/Screen"],function(i){i.on("screen-sm-down",{match:$.proxy(this._enableMobileView,this),unmatch:$.proxy(this._disableMobileView,this)})}.bind(this)),!0)},_enableMobileView:function(){this._container.addClass("wcfImageViewerMobile");var i=this;this._ui.imageContainer.swipe({swipeLeft:function(e){i._container.hasClass("maximized")&&i._nextImage(e)},swipeRight:function(e){i._container.hasClass("maximized")&&i._previousImage(e)},tap:function(e,t){switch(t.tagName){case"DIV":case"IMG":i._toggleView()}}}),this._isMobile=!0},_disableMobileView:function(){this._container.removeClass("wcfImageViewerMobile"),this._ui.imageContainer.swipe("destroy"),this._isMobile=!1},_toggleView:function(){this._ui.images[this._activeImage].addClass("animateTransformation"),this._container.toggleClass("maximized"),this._ui.slideshow.enlarge.toggleClass("active"),this._ui.slideshow.enlarge[0].querySelector("fa-icon").setIcon("compress"),this._renderImage(null,void 0,null)},_next:function(i,e){if(this._ui.buttonNext.hasClass("pointer")){null==e&&this.stopSlideshow(!0);var t=Math.max(this._items*this._thumbnailWidth-this._thumbnailContainerWidth-this._thumbnailMarginRight,0);this._thumbnailOffset=Math.min(this._thumbnailOffset+this._thumbnailWidth*(e||this.options.shiftBy),t),this._ui.imageList.css("marginLeft",-1*this._thumbnailOffset)}this._preload(),this._toggleButtons()},_previous:function(i,e){this._ui.buttonPrevious.hasClass("pointer")&&(null==e&&this.stopSlideshow(!0),this._thumbnailOffset=Math.max(this._thumbnailOffset-this._thumbnailWidth*(e||this.options.shiftBy),0),this._ui.imageList.css("marginLeft",-1*this._thumbnailOffset)),this._toggleButtons()},_nextImage:function(i){this._ui.slideshow.next.hasClass("pointer")&&(this._disableSlideshow=!0,this.stopSlideshow(!0),this.showImage(this._active+1),i&&(i.preventDefault(),i.stopPropagation()))},_previousImage:function(i){this._ui.slideshow.previous.hasClass("pointer")&&(this._disableSlideshow=!0,this.stopSlideshow(!0),this.showImage(this._active-1),i&&(i.preventDefault(),i.stopPropagation()))},moveToImage:function(i){var e,t=(i-3)*this._thumbnailWidth,s=t+5*this._thumbnailWidth,a=this._thumbnailOffset,n=this._thumbnailOffset+this._thumbnailContainerWidth,h=!1;if((tn)&&(h=!0),h)if(e=0,tn;)e++,n+=this._thumbnailWidth;this._next(null,e)}},_toggleButtons:function(){this._thumbnailOffset>0?this._ui.buttonPrevious.addClass("pointer"):this._ui.buttonPrevious.removeClass("pointer");var i=this._images.length*this._thumbnailWidth-this._thumbnailContainerWidth-this._thumbnailMarginRight;this._thumbnailOffset>=i?this._ui.buttonNext.removeClass("pointer"):this._ui.buttonNext.addClass("pointer"),this._active>0?this._ui.slideshow.previous.addClass("pointer"):this._ui.slideshow.previous.removeClass("pointer"),this._active+1').appendTo(this._ui.imageList)).data("index",this._images.length).data("objectID",s.objectID).click($.proxy(this._showImage,this)),(n=a.children("img")).get(0).complete?(a.removeClass("loading"),this.options.staticViewer&&this._fixThumbnailDimensions(n)):(h=this,n.on("load",(function(){var i=$(this);i.parent().removeClass("loading"),h.options.staticViewer&&h._fixThumbnailDimensions(i)}))),s.listItem=a,this._images.push(s)},_fixThumbnailDimensions:function(i){var e,t,s,a=new Image;a.src=i.prop("src"),(e=a.height)==(t=a.width)?e=t=80:e img, .attachmentThumbnailImage > img").first()).length||(a=s.parentsUntil(".formAttachmentList").last().find(".attachmentTinyThumbnail")),i.push({image:{fullURL:a.data("source")?a.data("source").replace(/\\\//g,"/"):s.prop("href"),link:"",title:s.prop("title"),url:s.prop("href")},series:null,thumbnail:{url:a.prop("src")},user:null}))}.bind(this)),this._items=i.length,i},_success:function(i,e,t){var s,a;i.returnValues.items&&(this._items=i.returnValues.items),s=this._initUI(),this._createThumbnails(i.returnValues.images),a=i.returnValues.targetImageID?i.returnValues.targetImageID:0,this._render(s,a),this._isOpen||(this._isOpen=!0,WCF.System.DisableScrolling.disable(),WCF.System.DisableZoom.disable())}}); })(this); +(function (window, undefined) { "use strict";WCF.ImageViewer=Class.extend({_triggerElement:null,init:function(){this._triggerElement=$('').data("disableSlideshow",!0).hide().appendTo(document.body),this._triggerElement.wcfImageViewer({enableSlideshow:0,imageSelector:".jsImageViewerEnabled",staticViewer:!0}),WCF.DOMNodeInsertedHandler.addCallback("WCF.ImageViewer",$.proxy(this._domNodeInserted,this)),WCF.DOMNodeInsertedHandler.execute()},_domNodeInserted:function(){this._initImageSizeCheck(),this._rebuildImageViewer()},_rebuildImageViewer:function(){var i=$("a.jsImageViewer");i.length&&i.removeClass("jsImageViewer").addClass("jsImageViewerEnabled").click($.proxy(this._click,this))},_click:function(i){i.ctrlKey||(i.preventDefault(),i.stopPropagation(),$(i.currentTarget).closest(".popover").length||this._triggerElement.wcfImageViewer("open",null,$(i.currentTarget).wcfIdentify()))},_initImageSizeCheck:function(){$(".jsResizeImage").each($.proxy((function(i,e){e.complete&&this._checkImageSize({currentTarget:e})}),this)),$(".jsResizeImage").on("load",$.proxy(this._checkImageSize,this))},_checkImageSize:function(i){var e,t=$(i.currentTarget);t.is(":visible")?(t.removeClass("jsResizeImage"),t.closest(".messageSignature").length||((e=new Image).src=t.attr("src"),t.closest("div.messageText, div.messageTextPreview").width()'),t.parent().click($.proxy(this._click,this)),"right"==t.css("float")?t.parent().addClass("messageFloatObjectRight"):"left"==t.css("float")&&t.parent().addClass("messageFloatObjectLeft"),t[0].style.removeProperty("float"),t[0].style.removeProperty("margin")):t.removeClass("embeddedAttachmentLink"))):t.off("load")}}),$.widget("ui.wcfImageViewer",{_active:-1,_activeImage:null,_container:null,_didInit:!1,_disableSlideshow:!1,_eventNamespace:"",_images:[],_isMobile:!1,_isOpen:!1,_messageSignature:null,_items:-1,_maxDimensions:{height:0,width:0},_proxy:null,_slideshowEnabled:!1,_thumbnailContainerWidth:0,_thumbnailMarginRight:0,_thumbnailOffset:0,_thumbnailWidth:0,_timer:null,_ui:{buttonNext:null,buttonPrevious:null,header:null,image:null,imageContainer:null,imageList:null,slideshow:{container:null,enlarge:null,next:null,previous:null,toggle:null}},options:{shiftBy:5,enableSlideshow:1,speed:5,className:"",imageSelector:"",staticViewer:!1},_create:function(){this._active=-1,this._activeImage=null,this._container=null,this._didInit=!1,this._disableSlideshow=this.element.data("disableSlideshow"),this._eventNamespace=this.element.wcfIdentify(),this._images=[],this._isMobile=!1,this._isOpen=!1,this._items=-1,this._maxDimensions={height:document.documentElement.clientHeight,width:document.documentElement.clientWidth},this._messageSignature=null,this._proxy=new WCF.Action.Proxy({success:$.proxy(this._success,this)}),this._slideshowEnabled=!1,this._thumbnailContainerWidth=0,this._thumbnailMarginRight=0,this._thumbnailOffset=0,this._thumbnaiLWidth=0,this._timer=null,this._ui={},this.element.click($.proxy(this.open,this)),window.addEventListener("popstate",function(i){if(null!=i.state&&"imageViewer"===i.state.name&&i.state.container===this._eventNamespace)return this.open(i),void this.showImage(i.state.image);this.close(i)}.bind(this))},open:function(i,e){if(i&&i.preventDefault(),this._isOpen)return!1;if(i&&"popstate"===i.type||window.history.pushState({name:"imageViewer"},"",""),this._messageSignature=null,this.options.staticViewer){e&&(this._messageSignature=document.getElementById(e).closest(".messageSignature")),this._active=-1,null!==this._activeImage&&this._ui.images[this._activeImage].removeClass("active"),this._activeImage=null;var t=this._getStaticImages();this._initUI(),this._createThumbnails(t,!0),this._render(!0,void 0,e),this._isOpen=!0,WCF.System.DisableScrolling.disable(),WCF.System.DisableZoom.disable(),$.browser.touch&&setTimeout($.proxy((function(){this._isMobile&&!this._container.hasClass("maximized")&&this._toggleView()}),this),500)}else 0===this._images.length?this._loadNextImages(!0):(this._render(!1,this.element.data("targetImageID")),this._items>1&&this._slideshowEnabled&&this.startSlideshow(),this._isOpen=!0,WCF.System.DisableScrolling.disable(),WCF.System.DisableZoom.disable());return this._bindListener(),require(["Ui/Screen"],(function(i){i.pageOverlayOpen()})),!0},close:function(i){if(i&&i.preventDefault(),i&&"popstate"===i.type)return!!this._isOpen&&(this._container.removeClass("open"),null!==this._timer&&this._timer.stop(),this._unbindListener(),this._isOpen=!1,WCF.System.DisableScrolling.enable(),WCF.System.DisableZoom.enable(),require(["Ui/Screen"],(function(i){i.pageOverlayClose()})),!0);window.history.back()},startSlideshow:function(){return!this._disableSlideshow&&!this._slideshowEnabled&&(null===this._timer?this._timer=new WCF.PeriodicalExecuter($.proxy((function(){var i=this._active+1;i==this._items&&(i=0),this.showImage(i)}),this),1e3*this.options.speed):this._timer.resume(),this._slideshowEnabled=!0,this._ui.slideshow.toggle[0].querySelector("fa-icon").setIcon("pause"),!0)},stopSlideshow:function(i){return!!this._slideshowEnabled&&(this._timer.stop(),i&&this._ui.slideshow.toggle[0].querySelector("fa-icon").setIcon("play"),this._slideshowEnabled=!1,!0)},_bindListener:function(){$(document).on("keydown."+this._eventNamespace,$.proxy(this._keyDown,this)),$(window).on("resize."+this._eventNamespace,(()=>{window.setTimeout((()=>this._renderImage()),0)}))},_unbindListener:function(){$(document).off("keydown."+this._eventNamespace),$(window).off("resize."+this._eventNamespace)},_keyDown:function(i){switch(i.which){case $.ui.keyCode.ESCAPE:this.close();break;case $.ui.keyCode.LEFT:this._previousImage();break;case $.ui.keyCode.RIGHT:this._nextImage();break;case $.ui.keyCode.UP:this._container.hasClass("maximized")||this._toggleView();break;case $.ui.keyCode.DOWN:this._container.hasClass("maximized")&&this._toggleView();break;case $.ui.keyCode.ENTER:var e=this._ui.header.find("h1 > a");1==e.length?window.location=e.prop("href"):this._ui.slideshow.full.trigger("click");break;case 80:this._ui.slideshow.toggle.trigger("click");break;default:return!0}return!1},_render:function(i,e,t){var s,a,n,h,o;this._container.addClass("open"),s=null,i&&(s=this._ui.imageList.children("li:eq(0)"),this._thumbnailMarginRight=parseInt(s.css("marginRight").replace(/px$/,""))||0,this._thumbnailWidth=s.outerWidth(!0),this._thumbnailContainerWidth=this._ui.imageList.parent().innerWidth(),this._items>1&&this.options.enableSlideshow&&!e&&!t&&this.startSlideshow()),e?this._ui.imageList.children("li").each($.proxy((function(i,t){var s=$(t);if(s.data("objectID")==e)return s.trigger("click"),this.moveToImage(s.data("index")),!1}),this)):t?(a=[],$(this.options.imageSelector).each(function(i,e){e.closest(".messageSignature")===this._messageSignature&&a.push(e)}.bind(this)),n=0,a.forEach((function(i,e){i.id===t&&(n=e)})),h=this._ui.imageList.children("li:eq("+n+")"),-1!==this._active&&(o=!1,this._active!=h.data("index")&&(o=!0),this._ui.images[this._activeImage].prop("src")!=this._images[this._active].image.url&&(o=!0),o&&(this._active=-1)),h.trigger("click"),this.moveToImage(h.data("index"))):null!==s&&s.trigger("click"),this._toggleButtons(),this._preload()},_preload:function(){this._images.length div > a").prop("href",t.user.link).prop("title",t.user.username).children("img").prop("src",t.user.avatarURL),h=WCF.String.escapeHTML(t.image.title),t.image.link&&(h=''+h+""),this._ui.header.find("h1").html(h),this.options.staticViewer||(o=t.series&&t.series.title?WCF.String.escapeHTML(t.series.title):"",t.series.link&&(o=''+o+""),this._ui.header.find("h2").html(o)),this._ui.header.find("h3").text(WCF.Language.get("wcf.imageViewer.seriesIndex").replace(/{x}/,t.listItem.data("index")+1).replace(/{y}/,this._items)),this._ui.slideshow.full.data("link",t.image.fullURL?t.image.fullURL:t.image.url),this.moveToImage(t.listItem.data("index")),this._toggleButtons(),!0)},_imageOnLoad:function(i,e){i==this._active&&(this._ui.imageContainer.removeClass("loading"),this._ui.images[e].addClass("active"),this.options.staticViewer&&this._renderImage(e,null),this.startSlideshow())},_renderImage:function(i,e,t){var s,a,n,h,o,l,r=!0;e||(i=this._activeImage,e=this._images[this._active],t={height:$(window).height()-(this._container.hasClass("maximized")||this._container.hasClass("wcfImageViewerMobile")?0:200),width:this._ui.imageContainer.innerWidth()},r=!1),t.height-=22,t.width-=20,(s=this._ui.images[i]).prop("src")!==e.image.url&&s.prop("src",e.image.url),r&&s[0].complete&&s.trigger("load"),this.options.staticViewer&&!e.image.height&&s[0].complete&&($.browser.mozilla||$.browser.safari?((a=new Image).src=e.image.url,e.image.height=a.height||s[0].naturalHeight,e.image.width=a.width||s[0].naturalWidth):(s.css({height:"auto",width:"auto"}),e.image.height=s[0].height,e.image.width=s[0].width)),n=e.image.height,h=e.image.width,o=0,n>t.height&&(o=t.height/n,n=t.height,h=Math.floor(h*o)),h>t.width&&(o=t.width/h,h=t.width,n=Math.floor(n*o)),l=Math.floor((t.width-h)/2),this._ui.images[i].css({height:n+"px",left:l+10+"px",marginTop:-1*Math.round(n/2)+"px",width:h+"px"})},_initUI:function(){var i,e,t,s,a,n,h,o;return!this._didInit&&(this._didInit=!0,this._container=$('
          ').appendTo(document.body),i=$("
          ").appendTo(this._container),e=$('
            ').appendTo(this._container),t=$("
              ").appendTo(i),s=$('
            • ').appendTo(t),a=$('
            • ').appendTo(t),n=$('
            • ').appendTo(t),h=$('
            • ').appendTo(t),o=$('
            • ').appendTo(t),this._ui={buttonNext:e.children("span.wcfImageViewerButtonNext"),buttonPrevious:e.children("span.wcfImageViewerButtonPrevious"),header:$("
              ":' class="box64">')+"

            ").appendTo(this._container),imageContainer:i,images:[i.children("img:eq(0)").on("webkitTransitionEnd transitionend msTransitionEnd oTransitionEnd",(function(){$(this).removeClass("animateTransformation")})),i.children("img:eq(1)").on("webkitTransitionEnd transitionend msTransitionEnd oTransitionEnd",(function(){$(this).removeClass("animateTransformation")}))],imageList:e.find("> div > ul"),slideshow:{container:t,enlarge:h,full:o,next:n,previous:s,toggle:a}},this._ui.buttonNext.click($.proxy(this._next,this)),this._ui.buttonPrevious.click($.proxy(this._previous,this)),n.click($.proxy(this._nextImage,this)),s.click($.proxy(this._previousImage,this)),h.click($.proxy(this._toggleView,this)),a.click($.proxy((function(){this._items<2||(this._slideshowEnabled?this.stopSlideshow(!0):(this._disableSlideshow=!1,this.startSlideshow()))}),this)),o.click((function(i){window.location=$(i.currentTarget).data("link")})),$(``).appendTo(this._ui.header).click($.proxy(this.close,this)),$.browser.mobile||i.click(function(e){e.target===i[0]&&this.close()}.bind(this)),WCF.DOMNodeInsertedHandler.execute(),require(["Ui/Screen"],function(i){i.on("screen-sm-down",{match:$.proxy(this._enableMobileView,this),unmatch:$.proxy(this._disableMobileView,this)})}.bind(this)),!0)},_enableMobileView:function(){this._container.addClass("wcfImageViewerMobile");var i=this;this._ui.imageContainer.swipe({swipeLeft:function(e){i._container.hasClass("maximized")&&i._nextImage(e)},swipeRight:function(e){i._container.hasClass("maximized")&&i._previousImage(e)},tap:function(e,t){switch(t.tagName){case"DIV":case"IMG":i._toggleView()}}}),this._isMobile=!0},_disableMobileView:function(){this._container.removeClass("wcfImageViewerMobile"),this._ui.imageContainer.swipe("destroy"),this._isMobile=!1},_toggleView:function(){this._ui.images[this._activeImage].addClass("animateTransformation"),this._container.toggleClass("maximized"),this._ui.slideshow.enlarge.toggleClass("active"),this._ui.slideshow.enlarge[0].querySelector("fa-icon").setIcon("compress"),this._renderImage(null,void 0,null)},_next:function(i,e){if(this._ui.buttonNext.hasClass("pointer")){null==e&&this.stopSlideshow(!0);var t=Math.max(this._items*this._thumbnailWidth-this._thumbnailContainerWidth-this._thumbnailMarginRight,0);this._thumbnailOffset=Math.min(this._thumbnailOffset+this._thumbnailWidth*(e||this.options.shiftBy),t),this._ui.imageList.css("marginLeft",-1*this._thumbnailOffset)}this._preload(),this._toggleButtons()},_previous:function(i,e){this._ui.buttonPrevious.hasClass("pointer")&&(null==e&&this.stopSlideshow(!0),this._thumbnailOffset=Math.max(this._thumbnailOffset-this._thumbnailWidth*(e||this.options.shiftBy),0),this._ui.imageList.css("marginLeft",-1*this._thumbnailOffset)),this._toggleButtons()},_nextImage:function(i){this._ui.slideshow.next.hasClass("pointer")&&(this._disableSlideshow=!0,this.stopSlideshow(!0),this.showImage(this._active+1),i&&(i.preventDefault(),i.stopPropagation()))},_previousImage:function(i){this._ui.slideshow.previous.hasClass("pointer")&&(this._disableSlideshow=!0,this.stopSlideshow(!0),this.showImage(this._active-1),i&&(i.preventDefault(),i.stopPropagation()))},moveToImage:function(i){var e,t=(i-3)*this._thumbnailWidth,s=t+5*this._thumbnailWidth,a=this._thumbnailOffset,n=this._thumbnailOffset+this._thumbnailContainerWidth,h=!1;if((tn)&&(h=!0),h)if(e=0,tn;)e++,n+=this._thumbnailWidth;this._next(null,e)}},_toggleButtons:function(){this._thumbnailOffset>0?this._ui.buttonPrevious.addClass("pointer"):this._ui.buttonPrevious.removeClass("pointer");var i=this._images.length*this._thumbnailWidth-this._thumbnailContainerWidth-this._thumbnailMarginRight;this._thumbnailOffset>=i?this._ui.buttonNext.removeClass("pointer"):this._ui.buttonNext.addClass("pointer"),this._active>0?this._ui.slideshow.previous.addClass("pointer"):this._ui.slideshow.previous.removeClass("pointer"),this._active+1').appendTo(this._ui.imageList)).data("index",this._images.length).data("objectID",s.objectID).click($.proxy(this._showImage,this)),(n=a.children("img")).get(0).complete?(a.removeClass("loading"),this.options.staticViewer&&this._fixThumbnailDimensions(n)):(h=this,n.on("load",(function(){var i=$(this);i.parent().removeClass("loading"),h.options.staticViewer&&h._fixThumbnailDimensions(i)}))),s.listItem=a,this._images.push(s)},_fixThumbnailDimensions:function(i){var e,t,s,a=new Image;a.src=i.prop("src"),(e=a.height)==(t=a.width)?e=t=80:e img, .attachmentThumbnailImage > img").first()).length||(a=s.parentsUntil(".formAttachmentList").last().find(".attachmentTinyThumbnail")),i.push({image:{fullURL:a.data("source")?a.data("source").replace(/\\\//g,"/"):s.prop("href"),link:"",title:s.prop("title"),url:s.prop("href")},series:null,thumbnail:{url:a.prop("src")},user:null}))}.bind(this)),this._items=i.length,i},_success:function(i,e,t){var s,a;i.returnValues.items&&(this._items=i.returnValues.items),s=this._initUI(),this._createThumbnails(i.returnValues.images),a=i.returnValues.targetImageID?i.returnValues.targetImageID:0,this._render(s,a),this._isOpen||(this._isOpen=!0,WCF.System.DisableScrolling.disable(),WCF.System.DisableZoom.disable())}}); })(this); // WCF.Label.js (function (window, undefined) { "use strict";WCF.Label={},WCF.Label.ACPList=Class.extend({_labelInput:{},_labelList:{},init:function(){},_keyPressed:function(){}}),WCF.Label.ACPList.Connect=Class.extend({init:function(){},_click:function(){}}),WCF.Label.Chooser=Class.extend({_container:null,_groups:{},_showWithoutSelection:!1,init:function(t,e,n,i){var a,o,s,l;if(this._container=null,this._groups={},this._showWithoutSelection=!0===i,this._initContainers(e),$.getLength(t))for(a in t)(o=this._groups[a])&&WCF.Dropdown.getDropdownMenu(o.wcfIdentify()).find("> ul > li:not(.dropdownDivider)").each($.proxy((function(e,n){var i=$(n),o=i.data("labelID")||0;o&&t[a]==o&&this._selectLabel(i,!0)}),this));for(s in this._containers)void 0===(l=this._containers[s]).data("labelID")&&l.data("labelID",0);this._container=$(e),n?$(n).click($.proxy(this._submit,this)):this._container.is("form")&&this._container.submit($.proxy(this._submit,this))},_initContainers:function(t){function e(t){t.addEventListener("wheel",(function(t){t.preventDefault()}),{passive:!1})}$(t).find(".labelChooser").each($.proxy((function(t,n){var i,a,o,s,l=$(n),r=l.data("groupID");this._groups[r]||(i=l.wcfIdentify(),null===(a=WCF.Dropdown.getDropdownMenu(i))&&(WCF.Dropdown.initDropdown(l.find(".dropdownToggle")),a=WCF.Dropdown.getDropdownMenu(i)),o=a,"div"==a.getTagName()&&a.children(".scrollableDropdownMenu").length&&(o=$("
              ").appendTo(a),a=a.children(".scrollableDropdownMenu")),this._groups[r]=l,a.children("li").data("groupID",r).click($.proxy(this._click,this)),l.data("forceSelection")&&!this._showWithoutSelection||$('
            • '+WCF.Language.get("wcf.label.withoutSelection")+"
            • ").data("groupID",r).appendTo(o).click($.proxy(this._click,this))[0]),l.data("forceSelection")||((s=$('
            • '+WCF.Language.get("wcf.label.none")+"
            • ").data("groupID",r).appendTo(o)).click($.proxy(this._click,this)),e(s[0])))}),this))},_click:function(t){this._selectLabel($(t.currentTarget),!1)},_selectLabel:function(t,e){var n=this._groups[t.data("groupID")];e&&void 0!==n.data("labelID")||(t.data("labelID")?n.data("labelID",t.data("labelID")):n.data("labelID",0),t=t.find("span > span"),n.find(".dropdownToggle > span").removeClass().addClass(t.attr("class")).text(t.text()),!e&&this._container[0]&&"FORM"===this._container[0].nodeName&&null===elBySel('input:not([type="hidden"]):not([type="submit"]):not([type="reset"]), select, textarea',this._container[0])&&setTimeout(function(){this._container.trigger("submit")}.bind(this),100))},_submit:function(){var t,e,n=this._container.find(".formSubmit");for(t in n.find('input[type="hidden"]').each((function(t,e){var n=$(e);0===n.attr("name").indexOf("labelIDs[")&&n.remove()})),this._groups)(e=this._groups[t]).data("labelID")&&$('').appendTo(n)},destroy:function(){for(var t in this._groups)WCF.Dropdown.destroy(this._groups[t].wcfIdentify())}}),WCF.Label.ArticleLabelChooser=WCF.Label.Chooser.extend({_labelGroupsToCategories:{},init:function(){},_updateLabelGroups:function(){},_submit:function(){}}); })(this); diff --git a/wcfsetup/install/files/js/WoltLabSuite.Core.min.js b/wcfsetup/install/files/js/WoltLabSuite.Core.min.js index 27b7208b65..7dc34a639e 100644 --- a/wcfsetup/install/files/js/WoltLabSuite.Core.min.js +++ b/wcfsetup/install/files/js/WoltLabSuite.Core.min.js @@ -1,2 +1,2 @@ -var requirejs,require,define,__extends,__assign,__rest,__decorate,__param,__esDecorate,__runInitializers,__propKey,__setFunctionName,__metadata,__awaiter,__generator,__exportStar,__values,__read,__spread,__spreadArrays,__spreadArray,__await,__asyncGenerator,__asyncDelegator,__asyncValues,__makeTemplateObject,__importStar,__importDefault,__classPrivateFieldGet,__classPrivateFieldSet,__classPrivateFieldIn,__createBinding,_self,Prism,__setModuleDefault,Reflect;(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 n;for(n in e)if(hasProp(e,n)&&t(e[n],n))break}function mixin(e,t,n,i){return t&&eachProp(t,(function(t,o){!n&&hasProp(e,o)||(!i||"object"!=typeof t||!t||Array.isArray(t)||"function"==typeof t||t instanceof RegExp?e[o]=t:(e[o]||(e[o]={}),mixin(e[o],t,n,i)))})),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,n){var i,o,r,a,s,l,c,d,u,p,m=t&&t.split("/"),h=x.map,f=h&&h["*"];if(e&&(l=(e=e.split("/")).length-1,x.nodeIdCompat&&jsSuffixRegExp.test(e[l])&&(e[l]=e[l].replace(jsSuffixRegExp,"")),"."===e[0].charAt(0)&&m&&(e=m.slice(0,m.length-1).concat(e)),function(e){var t,n,i=e.length;for(t=0;t0&&(e.splice(t-1,2),t-=2)}}(e),e=e.join("/")),n&&h&&(m||f)){e:for(r=(o=e.split("/")).length;r>0;r-=1){if(s=o.slice(0,r).join("/"),m)for(a=m.length;a>0;a-=1)if((i=getOwn(h,m.slice(0,a).join("/")))&&(i=getOwn(i,s))){c=i,d=r;break e}!u&&f&&getOwn(f,s)&&(u=getOwn(f,s),p=r)}!c&&u&&(c=u,d=p),c&&(o.splice(0,d,c),e=o.join("/"))}return getOwn(x.pkgs,e)||e}function n(e){var t,n,i,o;for(t=0;t0;a-=1)if(l=getOwn(i,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)||n?"":".js")).charAt(0)||s.match(/^[\w\+\.\-]+:/)?"":x.baseUrl)+s}return x.urlArgs&&!/^blob\:/.test(s)?s+x.urlArgs(e,s):s},o.toUrl=function(n){var i,r=n.lastIndexOf("."),a=n.split("/")[0];return-1!==r&&(!("."===a||".."===a)||r>1)&&(i=n.substring(r,n.length),n=n.substring(0,r)),o.nameToUrl(t(n,e),i,!0)},o.defined=function(t){return y(t,e,!0).id in L},o.specified=function(t){return(t=y(t,e,!0).id)in L||t in T},o}function o(e,t,n){e&&(L[e]=n,requirejs.onResourceLoad&&requirejs.onResourceLoad(C,t.map,t.deps)),t.finished=!0,t.resolve(n)}function r(e,t){e.finished=!0,e.rejected=!0,e.reject(t)}function a(e){e.factoryCalled=!0;var t,n=e.map.id;try{t=C.execCb(n,e.factory,e.values,L[n])}catch(t){return r(e,t)}n?t===undef&&(e.cjsModule?t=e.cjsModule.exports:e.usingExports&&(t=L[n])):I.splice(I.indexOf(e),1),o(n,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 n={};return n.promise=new Promise((function(t,i){n.resolve=t,n.reject=function(t){e||I.splice(I.indexOf(n),1),i(t)}})),n.map=e?t||y(e):{},n.depCount=0,n.depMax=0,n.values=[],n.depDefined=[],n.depFinished=s,n.map.pr&&(n.deps=[y(n.map.pr)]),n}function c(e,t){var n;return e?(n=e in T&&T[e])||(n=T[e]=l(e,t)):(n=l(),I.push(n)),n}function d(e,t){return function(n){e.rejected||(n.dynaId||(n.dynaId="id"+(O+=1),n.requireModules=[t]),r(e,n))}}function u(e,t,n,i){n.depMax+=1,_(e,t).then((function(e){n.depFinished(e,i)}),d(n,e.id)).catch(d(n,n.map.id))}function p(e,t,a){e.load(t.n,i(a),function(e){function t(t){i||o(e,c(e),t)}var i;return t.error=function(t){r(c(e),t)},t.fromText=function(t,o){var a,s=c(e),l=y(y(e).n),d=l.id;i=!0,s.factory=function(e,t){return t},o&&(t=o),hasProp(x.config,e)&&(x.config[d]=x.config[e]);try{b.exec(t)}catch(e){(a=new Error("fromText eval for "+d+" failed: "+e)).requireType="fromtexteval",r(s,a)}n(d),s.deps=[l],u(l,null,s,s.deps.length)},t}(t.id),x)}function m(e){var t,n=e?e.indexOf("!"):-1;return n>-1&&(t=e.substring(0,n),e=e.substring(n+1,e.length)),[t,e]}function h(e,t,n){var i=e.map.id;t[i]=!0,!e.finished&&e.deps&&e.deps.forEach((function(i){var o=i.id,r=!hasProp(w,o)&&c(o,i);!r||r.finished||n[o]||(hasProp(t,o)?e.deps.forEach((function(t,n){t.id===o&&e.depFinished(L[o],n)})):h(r,t,n))})),n[i]=!0}function f(e){var t,n,i,o=[],a=1e3*x.waitSeconds,s=a&&j+a<(new Date).getTime();if(0===P&&(e?e.finished||h(e,{},{}):I.length&&I.forEach((function(e){h(e,{},{})}))),s){for(n in T)(i=T[n]).finished||o.push(i.map.id);(t=new Error("Timeout for modules: "+o)).requireModules=o,t.requireType="timeout",o.forEach((function(e){r(c(e),t)}))}else(P||I.length)&&(E||(E=!0,setTimeout((function(){E=!1,f()}),70)))}function g(e){return setTimeout((function(){e.dynaId&&q[e.dynaId]||(q[e.dynaId]=!0,b.onError(e))})),e}var b,v,y,_,w,E,S,C,L=obj(),k=obj(),x={waitSeconds:7,baseUrl:"./",paths:{},bundles:{},pkgs:{},shim:{},config:{}},M=obj(),I=[],T=obj(),D=obj(),A=obj(),P=0,j=(new Date).getTime(),O=0,q=obj(),N=obj(),B=obj(),F=Promise.resolve();return S="function"==typeof importScripts?function(e){var t=e.url;N[t]||(N[t]=!0,c(e.id),importScripts(t),n(e.id))}:function(e){var t,i=e.id,o=e.url;N[o]||(N[o]=!0,(t=document.createElement("script")).setAttribute("data-requiremodule",i),t.type=x.scriptType||"text/javascript",t.charset="utf-8",t.async=!0,P+=1,t.addEventListener("load",(function(){P-=1,n(i)}),!1),t.addEventListener("error",(function(){var e,n,o;P-=1,(n=getOwn(x.paths,i))&&Array.isArray(n)&&n.length>1?(t.parentNode.removeChild(t),n.shift(),(o=c(i)).map=y(i),o.map.url=b.nameToUrl(i),S(o.map)):((e=new Error("Load failed: "+i+": "+t.src)).requireModules=[i],e.requireType="scripterror",r(c(i),e))}),!1),t.src=o,x.onNodeCreated&&x.onNodeCreated(t,x,i,o),10===document.documentMode?asap.then((function(){document.head.appendChild(t)})):document.head.appendChild(t))},_=function(e,t){var n,i,o=e.id,r=x.shim[o];if(o in k)n=k[o],delete k[o],v.apply(undef,n);else if(!(o in T))if(e.pr){if(!(i=getOwn(B,o)))return _(y(e.pr)).then((function(n){var i=e.prn?e:y(o,t,!0),r=i.id,a=getOwn(x.shim,r);return r in A||(A[r]=!0,a&&a.deps?b(a.deps,(function(){p(n,i,t)})):p(n,i,t)),c(r).promise}));e.url=b.nameToUrl(i),S(e)}else r&&r.deps?b(r.deps,(function(){S(e)})):S(e);return c(o).promise},y=function(e,n,i){if("string"!=typeof e)return e;var o,r,a,s,l,c,d=e+" & "+(n||"")+" & "+!!i;return s=(a=m(e))[0],e=a[1],!s&&d in M?M[d]:(s&&(o=(s=t(s,n,i))in L&&L[s]),s?o&&o.normalize?(e=o.normalize(e,function(e){return function(n){return t(n,e,!0)}}(n)),c=!0):e=-1===e.indexOf("!")?t(e,n,i):e:(s=(a=m(e=t(e,n,i)))[0],e=a[1],r=b.nameToUrl(e)),l={id:s?s+"!"+e:e,n:e,pr:s,url:r,prn:s&&c},s||(M[d]=l),l)},w={require:function(e){return i(e)},exports:function(e){var t=L[e];return void 0!==t?t:L[e]={}},module:function(e,t){return{id:e,uri:t||"",exports:w.exports(e),config:function(){return getOwn(x.config,e)||{}}}}},v=function(e,t,n,i,r){if(e){if(e in D)return;D[e]=!0}var s=c(e);return t&&!Array.isArray(t)&&(n=t,t=[]),t=t?slice.call(t,0):null,i||(hasProp(x,"defaultErrback")?x.defaultErrback&&(i=x.defaultErrback):i=g),i&&s.promise.catch(i),r=r||e,"function"==typeof n?(!t.length&&n.length&&(n.toString().replace(commentRegExp,commentReplace).replace(cjsRequireRegExp,(function(e,n){t.push(n)})),t=(1===n.length?["require"]:["require","exports","module"]).concat(t)),s.factory=n,s.deps=t,s.depending=!0,t.forEach((function(n,i){var o;t[i]=o=y(n,r,!0),"require"===(n=o.id)?s.values[i]=w.require(e):"exports"===n?(s.values[i]=w.exports(e),s.usingExports=!0):"module"===n?s.values[i]=s.cjsModule=w.module(e,s.map.url):void 0===n?s.values[i]=void 0:u(o,r,s,i)})),s.depending=!1,s.depCount===s.depMax&&a(s)):e&&o(e,s,n),j=(new Date).getTime(),e||f(s),s.promise},(b=i(null,!0)).config=function(t){var n,i,o,r;return t.context&&t.context!==e?(n=getOwn(contexts,t.context))?n.req.config(t):newContext(t.context).config(t):(M=obj(),t.baseUrl&&"/"!==t.baseUrl.charAt(t.baseUrl.length-1)&&(t.baseUrl+="/"),"string"==typeof t.urlArgs&&(i=t.urlArgs,t.urlArgs=function(e,t){return(-1===t.indexOf("?")?"?":"&")+i}),o=x.shim,r={paths:!0,bundles:!0,config:!0,map:!0},eachProp(t,(function(e,t){r[t]?(x[t]||(x[t]={}),mixin(x[t],e,!0,!0)):x[t]=e})),t.bundles&&eachProp(t.bundles,(function(e,t){e.forEach((function(e){e!==t&&(B[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})),x.shim=o),t.packages&&t.packages.forEach((function(e){var t;t=(e="string"==typeof e?{name:e}:e).name,e.location&&(x.paths[t]=e.location),x.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},C={id:e,defined:L,waiting:k,config:x,deferreds:T,req:b,execCb:function(e,t,n,i){return t.apply(i,n)}},contexts[e]=C,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:{"focus-trap":"3rdParty/focus-trap/focus-trap.umd.min","perfect-scrollbar":"3rdParty/perfect-scrollbar",Pica:"3rdParty/pica",pica:"3rdParty/pica",prism:"3rdParty/prism",prismjs:"3rdParty/prism/prism","qr-creator":"3rdParty/qr-creator.min","reflect-metadata":"3rdParty/reflect-metadata",tabbable:"3rdParty/focus-trap/index.umd.min",tslib:"3rdParty/tslib",zxcvbn:"3rdParty/zxcvbn","@googlemaps/markerclusterer":"3rdParty/googlemaps/markerclusterer/index.umd","@ckeditor/ckeditor5-inspector":"3rdParty/ckeditor/ckeditor5-inspector/inspector","ckeditor5-bundle":"3rdParty/ckeditor/ckeditor5.bundle","ckeditor5-translation":"3rdParty/ckeditor/translations"},packages:[{name:"codemirror",location:"3rdParty/codemirror",main:"lib/codemirror"}],shim:{"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 n;e.elAttr=function(e,t,n){if(void 0===n)return e.getAttribute(t)||"";e.setAttribute(t,n)},e.elAttrBool=function(e,t){var n=elAttr(e,t);return"1"===n||"true"===n},e.elByClass=function(e,n){return(n||t).getElementsByClassName(e)},e.elById=function(e){return t.getElementById(e)},e.elBySel=function(e,n){return(n||t).querySelector(e)},e.elBySelAll=function(e,n,i){var o=(n||t).querySelectorAll(e);return"function"==typeof i&&Array.prototype.forEach.call(o,i),o},e.elByTag=function(e,n){return(n||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,n){if(t="data-"+t,void 0===n)return e.getAttribute(t)||"";e.setAttribute(t,n)},e.elDataBool=function(e,t){var n=elData(e,t);return"1"===n||"true"===n},e.elHide=function(e){e.style.setProperty("display","none","")},e.elIsHidden=function(e){return"none"===e.style.getPropertyValue("display")},e.elInnerError=function(e,t,n){var i,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,(i=a).classList.contains("inputAddon")&&(i=a.parentElement,o=a),null!==(r=o.nextElementSibling)&&"SMALL"===r.nodeName&&r.classList.contains("innerError")||(""===t?r=null:((r=elCreate("small")).className="innerError",i.insertBefore(r,o.nextSibling))),""===t?null!==r&&(a.removeChild(r),r=null):r[n?"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 n=0,i=e.length;ne.trim())).find((e=>e.startsWith("XSRF-TOKEN=")));if(void 0===e)return"COOKIE_NOT_FOUND";const[n,i]=e.split(/=/,2);return decodeURIComponent(i.trim())}})}(window,document),define("wcf.globalHelper",(function(){})),function(e){function t(e,t){return e!==n&&("function"==typeof Object.create?Object.defineProperty(e,"__esModule",{value:!0}):e.__esModule=!0),function(n,i){return e[n]=t?t(n,i):i}}var n="object"==typeof global?global:"object"==typeof self?self:"object"==typeof this?this:{};"function"==typeof define&&define.amd?define("tslib",["exports"],(function(i){e(t(n,t(i)))})):"object"==typeof module&&"object"==typeof module.exports?e(t(n,t(module.exports))):e(t(n))}((function(e){var t,n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])};__extends=function(e,t){function i(){this.constructor=e}if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");n(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)},__assign=Object.assign||function(e){var t,n,i,o;for(n=1,i=arguments.length;n=0;r--)(o=e[r])&&(s=(a<3?o(s):a>3?o(t,n,s):o(t,n))||s);return a>3&&s&&Object.defineProperty(t,n,s),s},__param=function(e,t){return function(n,i){t(n,i,e)}},__esDecorate=function(e,t,n,i,o,r){function a(e){if(void 0!==e&&"function"!=typeof e)throw new TypeError("Function expected");return e}var s,l,c,d,u,p=i.kind,m="getter"===p?"get":"setter"===p?"set":"value",h=!t&&e?i.static?e:e.prototype:null,f=t||(h?Object.getOwnPropertyDescriptor(h,i.name):{}),g=!1;for(l=n.length-1;l>=0;l--){for(d in c={},i)c[d]="access"===d?{}:i[d];for(d in i.access)c.access[d]=i.access[d];if(c.addInitializer=function(e){if(g)throw new TypeError("Cannot add initializers after decoration has completed");r.push(a(e||null))},u=(0,n[l])("accessor"===p?{get:f.get,set:f.set}:f[m],c),"accessor"===p){if(void 0===u)continue;if(null===u||"object"!=typeof u)throw new TypeError("Object expected");(s=a(u.get))&&(f.get=s),(s=a(u.set))&&(f.set=s),(s=a(u.init))&&o.unshift(s)}else(s=a(u))&&("field"===p?o.unshift(s):f[m]=s)}h&&Object.defineProperty(h,i.name,f),g=!0},__runInitializers=function(e,t,n){var i,o=arguments.length>2;for(i=0;i0&&r[r.length-1])||6!==n[0]&&2!==n[0])){s=0;continue}if(3===n[0]&&(!r||n[1]>r[0]&&n[1]=e.length&&(e=void 0),{value:e&&e[i++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},__read=function(e,t){var n,i,o,r,a="function"==typeof Symbol&&e[Symbol.iterator];if(!a)return e;n=a.call(e),o=[];try{for(;(void 0===t||t-- >0)&&!(i=n.next()).done;)o.push(i.value)}catch(e){r={error:e}}finally{try{i&&!i.done&&(a=n.return)&&a.call(n)}finally{if(r)throw r.error}}return o},__spread=function(){for(var e=[],t=0;t1||o(e,t)}))})}function o(e,t){try{(n=c[e](t)).value instanceof __await?Promise.resolve(n.value.v).then(r,a):s(d[0][2],n)}catch(e){s(d[0][3],e)}var n}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=n.apply(e,t||[]),d=[];return l={},i("next"),i("throw"),i("return"),l[Symbol.asyncIterator]=function(){return this},l},__asyncDelegator=function(e){function t(t,o){n[t]=e[t]?function(n){return(i=!i)?{value:__await(e[t](n)),done:!1}:o?o(n):n}:o}var n,i;return n={},t("next"),t("throw",(function(e){throw e})),t("return"),n[Symbol.iterator]=function(){return this},n},__asyncValues=function(e){function t(t){n[t]=e[t]&&function(n){return new Promise((function(i,o){!function(e,t,n,i){Promise.resolve(i).then((function(t){e({value:t,done:n})}),t)}(i,o,(n=e[t](n)).done,n.value)}))}}if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n,i=e[Symbol.asyncIterator];return i?i.call(e):(e="function"==typeof __values?__values(e):e[Symbol.iterator](),n={},t("next"),t("throw"),t("return"),n[Symbol.asyncIterator]=function(){return this},n)},__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 n,i;if(e&&e.__esModule)return e;if(n={},null!=e)for(i in e)"default"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&__createBinding(n,e,i);return t(n,e),n},__importDefault=function(e){return e&&e.__esModule?e:{default:e}},__classPrivateFieldGet=function(e,t,n,i){if("a"===n&&!i)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!i:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?i:"a"===n?i.call(e):i?i.value:t.get(e)},__classPrivateFieldSet=function(e,t,n,i,o){if("m"===i)throw new TypeError("Private method is not writable");if("a"===i&&!o)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===i?o.call(e,n):o?o.value=n:t.set(e,n),n},__classPrivateFieldIn=function(e,t){if(null===t||"object"!=typeof t&&"function"!=typeof t)throw new TypeError("Cannot use 'in' operator on non-object");return"function"==typeof e?t===e:e.has(t)},e("__extends",__extends),e("__assign",__assign),e("__rest",__rest),e("__decorate",__decorate),e("__param",__param),e("__esDecorate",__esDecorate),e("__runInitializers",__runInitializers),e("__propKey",__propKey),e("__setFunctionName",__setFunctionName),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("__spreadArray",__spreadArray),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),e("__classPrivateFieldIn",__classPrivateFieldIn)})),define("WoltLabSuite/Core/Ajax/Status",["require","exports"],(function(e,t){"use strict";function n(){return void 0===o&&(o=new i),o}Object.defineProperty(t,"__esModule",{value:!0}),t.hide=t.show=void 0;class i{_activeRequests=0;_overlay;_timer=null;constructor(){this._overlay=document.createElement("div"),this._overlay.classList.add("spinner"),this._overlay.setAttribute("role","status");const e=document.createElement("woltlab-core-loading-indicator");e.size=48,this._overlay.append(e),document.body.append(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._timer=null),this._overlay.classList.remove("active"))}}let o;t.show=function(){n().show()},t.hide=function(){n().hide()}})),define("WoltLabSuite/Core/Core",["require","exports"],(function(e,t){"use strict";function n(e){return r(e)}function i(e,...t){const r=n(e=e||{});for(let n=0,a=t.length;n{Array.isArray(a[t])||"object"!=typeof a[t]?r[t]=a[t]:o(a[t])?r[t]=i(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.interactWithRedactor=t.getXsrfToken=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((n=>t[n]=r(e[n]))),t},s="wsc"+window.WCF_PATH.hashCode()+"-";let l=!1;document.addEventListener("focusin",(e=>{l&&e.stopImmediatePropagation()}),!0),t.clone=n,t.convertLegacyUrl=function(e){return e.replace(/^index\.php\/(.*?)\/\?/,((e,t)=>{const n=t.split(/([A-Z][a-z0-9]+)/);t="";for(let e=0,i=n.length;e{const t=16*Math.random()|0;return("x"==e?t:3&t|8).toString(16)}))},t.serialize=function e(t,n){if(null===t)return"";const i=[];return Object.keys(t).forEach((o=>{const r=n?n+"["+o+"]":o,a=t[o];"object"==typeof a?i.push(e(a,r)):i.push(encodeURIComponent(r)+"="+encodeURIComponent(a))})),i.join("&")},t.triggerEvent=function(e,t){if("click"===t&&e instanceof HTMLElement)return void e.click();const n=new Event(t,{bubbles:!0,cancelable:!0});e.dispatchEvent(n)},t.getStoragePrefix=function(){return s},t.stringToBool=function(e){return"1"===e||"true"===e},t.debounce=function(e,t=50,n={isImmediate:!1}){let i;return function(...o){const r=n.isImmediate&&void 0===i;void 0!==i&&clearTimeout(i),i=setTimeout((()=>{i=void 0,n.isImmediate||e.apply(this,o)}),t),r&&e.apply(this,o)}},t.enableLegacyInheritance=function(e){console.error("Relying on the legacy inheritance is no longer supported. Please migrate your code to use ES6 classes and inheritance.",e)},t.getXsrfToken=function(){const e=document.cookie.split(";").map((e=>e.trim())).find((e=>e.startsWith("XSRF-TOKEN=")));if(void 0===e)return"COOKIE_NOT_FOUND";const[t,n]=e.split(/=/,2);return decodeURIComponent(n.trim())},t.interactWithRedactor=function(e){l=!0;const t=document.activeElement;e(),t instanceof HTMLElement&&t.focus(),l=!1}})),define("WoltLabSuite/Core/CallbackList",["require","exports"],(function(e,t){"use strict";return class{_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){null===e?this._callbacks.forEach(((e,n)=>{e.forEach(t)})):this._callbacks.get(e)?.forEach(t)}}})),define("WoltLabSuite/Core/Dom/Change/Listener",["require","exports","tslib","../../CallbackList"],(function(e,t,n,i){"use strict";const o=new((i=n.__importDefault(i)).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/Language",["require","exports"],(function(e,t){"use strict";function n(e,t={}){return window.WoltLabLanguage.getPhrase(e,t)}function i(e,t){window.WoltLabLanguage.registerPhrase(e,t)}Object.defineProperty(t,"__esModule",{value:!0}),t.addObject=t.add=t.get=t.registerPhrase=t.getPhrase=void 0,t.getPhrase=n,t.registerPhrase=i,t.get=function(e,t={}){return n(e,t)},t.add=function(e,t){i(e,t)},t.addObject=function(e){Object.entries(e).forEach((([e,t])=>{i(e,t)}))}})),define("WoltLabSuite/Core/Component/Dialog/Controls",["require","exports","tslib","../../Language"],(function(e,t,n,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DialogControls=void 0,i=n.__importStar(i);class o{#e;constructor(e){this.#e=e}asAlert(e){const t={cancel:void 0,extra:void 0,isAlert:!0,primary:e?.primary||i.get("wcf.dialog.button.primary")};return this.#e.attachControls(t),this.#e}asConfirmation(e){const t={cancel:"",extra:void 0,isAlert:!0,primary:e?.primary||i.get("wcf.dialog.button.primary.confirm")};return this.#e.attachControls(t),this.#e}asPrompt(e){const t={cancel:"",extra:e?.extra,isAlert:!1,primary:e?.primary||i.get("wcf.dialog.button.primary.submit")};return this.#e.attachControls(t),this.#e}withoutControls(){return this.#e}}t.DialogControls=o,t.default=o})),define("WoltLabSuite/Core/StringUtil",["require","exports"],(function(e,t){"use strict";function n(e,t){const n=t?-t:2;return e.toLocaleString(document.documentElement.lang,{maximumFractionDigits:n}).replace("-","−")}function i(e){return String(e).substring(0,1).toUpperCase()+e.substring(1)}Object.defineProperty(t,"__esModule",{value:!0}),t.toCamelCase=t.shortUnit=t.unescapeHTML=t.ucfirst=t.lcfirst=t.formatNumeric=t.escapeRegExp=t.escapeHTML=t.addThousandsSeparator=void 0,t.addThousandsSeparator=function(e){return e.toLocaleString(document.documentElement.lang)},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=n,t.lcfirst=function(e){return String(e).substring(0,1).toLowerCase()+e.substring(1)},t.ucfirst=i,t.unescapeHTML=function(e){return String(e).replace(/"/g,'"').replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&")},t.shortUnit=function(e){let t="";return e>=1e6?((e/=1e6)>10&&(e=Math.floor(e)),t="M"):e>=1e3&&((e/=1e3)>10&&(e=Math.floor(e)),t="k"),n(e,-1)+t},t.toCamelCase=function(e){return e.includes("-")?e.split("-").map(((e,t)=>(t>0&&(e=i(e)),e))).join(""):e}})),define("WoltLabSuite/Core/Dom/Util",["require","exports","tslib","../StringUtil"],(function(e,t,n,i){"use strict";function o(e,t,n){if(!t.contains(e))throw new Error("Ancestor element does not contain target element.");let i,o=e;const r=n+"Sibling";for(;null!==o&&o!==t;){if(null!==o[n+"ElementSibling"])return!1;if(o[r])for(i=o[r];i;){if(""!==i.textContent.trim())return!1;i=i[r]}o=o.parentNode}return!0}i=n.__importStar(i);let r=0;const a={createFragmentFromHtml(e){const t=document.createElement("div");a.setInnerHtml(t,e);const n=document.createDocumentFragment();for(;t.childNodes.length;)n.appendChild(t.childNodes[0]);return n},getUniqueId(){let e;do{e="wcf"+r++}while(null!==document.getElementById(e));return e},escapeAttributeSelector:e=>e.replace(/(["\\])/g,"\\$1"),identify(e){if(!(e instanceof Element))throw new TypeError("Expected a valid DOM element as argument.");let t=e.id;return t||(t=a.getUniqueId(),e.id=t),t},outerHeight(e,t){t=t||window.getComputedStyle(e);let n=e.offsetHeight;return n+=~~t.marginTop+~~t.marginBottom,n},outerWidth(e,t){t=t||window.getComputedStyle(e);let n=e.offsetWidth;return n+=~~t.marginLeft+~~t.marginRight,n},outerDimensions(e){const t=window.getComputedStyle(e);return{height:a.outerHeight(e,t),width:a.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 n=!1;Object.keys(t).forEach((i=>{/ !important$/.test(t[i])?(n=!0,t[i]=t[i].replace(/ !important$/,"")):n=!1,"important"!==e.style.getPropertyPriority(i)||n||e.style.removeProperty(i),e.style.setProperty(i,t[i],n?"important":"")}))},styleAsInt(e,t){const n=e.getPropertyValue(t);return null===n?0:parseInt(n,10)},setInnerHtml(e,t){let n;e.innerHTML=t,n=e instanceof HTMLTemplateElement?e.content:e;const i=n.querySelectorAll("script");for(let e=0,t=i.length;ee.contains(t),getDataAttributes(e,t,n,o){0!==(t=t||"").indexOf("data-")&&(t="data-"+t),n=!0===n,o=!0===o;const r={};for(let a=0,s=e.attributes.length;ao(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){a.isHidden(e)?a.show(e):a.hide(e)},innerError(e,t,n){const i=e.parentNode;if(null===i)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=i,r=e;o.classList.contains("inputAddon")&&(o=i.parentElement,r=i);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):n?a.innerHTML=t:a.textContent=t,a},innerSuccess(e,t,n){const i=e.parentNode;if(null===i)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",i.insertBefore(o,e.nextSibling))),""===t?null!==o&&(o.remove(),o=null):n?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/Error",["require","exports","tslib","../Component/Dialog","../Core","../Language","../StringUtil"],(function(e,t,n,i,o,r,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.registerGlobalRejectionHandler=t.InvalidJson=t.ExpectedJson=t.StatusNotOk=t.ConnectionError=t.ApiError=void 0,o=n.__importStar(o),r=n.__importStar(r);class s extends Error{name="ApiError"}t.ApiError=s;class l extends s{originalError;constructor(e){let t="Unknown error";e instanceof Error&&(t=e.message),super(t),this.name="ConnectionError",this.originalError=e}}t.ConnectionError=l;class c extends s{response;constructor(e){super("The API request returned a status code outside of the 200-299 range."),this.name="StatusNotOk",this.response=e}}t.StatusNotOk=c;class d extends s{response;constructor(e){super("The API did not return a JSON response."),this.name="ExpectedJson",this.response=e}}t.ExpectedJson=d;class u extends s{response;constructor(e){super("Failed to decode the JSON response from the API."),this.name="InvalidJson",this.response=e}}t.InvalidJson=u;let p=!1;t.registerGlobalRejectionHandler=function(){p||(window.addEventListener("unhandledrejection",(e=>{e.reason instanceof s&&(e.preventDefault(),async function(e){const t=await async function(e){let t="",n="";if(e instanceof l)n=e.originalError instanceof TypeError?r.get("wcf.global.error.ajax.network",{message:e.message}):e.message;else if(e instanceof u)n=await e.response.clone().text();else if(e instanceof d||e instanceof c){let i;try{i=await e.response.clone().json()}catch(t){n=await e.response.clone().text()}if(i&&o.isPlainObject(i)&&Object.keys(i).length>0)i.returnValues&&i.returnValues.description&&(t+=`

              Description:

              ${i.returnValues.description}

              `),i.file&&i.line&&(t+=`

              File:

              ${i.file} in line ${i.line}

              `),i.exception?t+=`
              Exception:
              ${(0,a.escapeHTML)(i.exception)}
              `:i.stacktrace?t+=`

              Stacktrace:

              ${i.stacktrace}

              `:i.exceptionID&&(t+=`

              Exception ID: ${i.exceptionID}

              `),n=i.message,i.previous&&i.previous.forEach((e=>{t+=`

              ${e.message}

              `,t+=`

              Stacktrace

              ${e.stacktrace}

              `}));else if(void 0===i){const e=document.createElement("iframe");return e.classList.add("dialog__iframe"),e.srcdoc=n,e}}if(!n||"undefined"===n){if(!window.ENABLE_DEBUG_MODE)return"";n="fetch() failed without a response body. Check your browser console."}return`

              ${n}

              ${t}
              `}(e);if(t instanceof HTMLIFrameElement){const e=(0,i.dialogFactory)().fromHtml(`
              ${t.outerHTML}
              `).asAlert();e.show(r.get("wcf.global.error.title")),e.querySelector("dialog").classList.add("dialog--iframe")}else""!==t&&(0,i.dialogFactory)().fromHtml(t).asAlert().show(r.get("wcf.global.error.title"))}(e.reason))})),p=!0)}})),define("WoltLabSuite/Core/Ajax/Backend",["require","exports","tslib","./Status","./Error","../Core"],(function(e,t,n,i,o,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.prepareRequest=void 0,i=n.__importStar(i);class a{url;constructor(e){this.url=e}get(){return new c(this.url,0)}post(e){return new l(this.url,1,e)}}let s=!1;window.addEventListener("unload",(()=>s=!0));class l{#t;#n;#i;#o;#r=!0;#a=!1;constructor(e,t,n){this.#t=e,this.#n=t,this.#i=n}getAbortController(){return void 0===this.#o&&(this.#o=new AbortController),this.#o}disableLoadingIndicator(){return this.#r=!1,this}allowCaching(){return this.#a=!0,this}async fetchAsJson(){const e=await this.#s({headers:{accept:"application/json"}});if(void 0===e)return;const t=e.headers.get("content-type");if(!t||!t.includes("application/json"))throw new o.ExpectedJson(e);let n;try{n=await e.json()}catch(t){throw new o.InvalidJson(e)}return n}async fetchAsResponse(){return this.#s()}async#s(t={}){(0,o.registerGlobalRejectionHandler)();const a=(0,r.extend)({headers:{"X-Requested-With":"XMLHttpRequest","X-XSRF-TOKEN":(0,r.getXsrfToken)()},mode:"same-origin",credentials:"same-origin",cache:this.#a?"default":"no-store",redirect:"error"},t);1===this.#n?(a.method="POST",this.#i&&(this.#i instanceof FormData?(a.headers["Content-Type"]="application/x-www-form-urlencoded; charset=UTF-8",a.body=this.#i):(a.headers["Content-Type"]="application/json; charset=UTF-8",a.body=JSON.stringify(this.#i)))):a.method="GET",this.#o&&(a.signal=this.#o.signal);const l=this.#r;l&&i.show();try{const t=await fetch(this.#t,a);if(!t.ok)throw new o.StatusNotOk(t);return"yes"===t.headers.get("woltlab-background-queue-check")&&new Promise(((t,n)=>{e(["../BackgroundQueue"],t,n)})).then(n.__importStar).then((e=>e.invoke())),t}catch(e){if(e instanceof o.ApiError)throw e;if(e instanceof DOMException&&"AbortError"===e.name)return;if(!s)throw new o.ConnectionError(e)}finally{l&&i.hide()}}}class c extends l{allowCaching(){return super.allowCaching(),this}}t.prepareRequest=function(e){return new a(e)}})),define("WoltLabSuite/Core/Devtools",["require","exports"],(function(e,t){"use strict";function n(){window.sessionStorage&&window.sessionStorage.setItem("__wsc_devtools_config",JSON.stringify(i))}let i={editorAutosave:!0,editorInspector:!1,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){i.editorAutosave=!e&&!i.editorAutosave,n(),window.console.log("%c\tEditor autosave "+(i.editorAutosave?"enabled":"disabled"),"font-style: italic")},toggleEditorInspector(e){i.editorInspector=!!e||!i.editorInspector,n(),window.console.log("%c\tEditor inspector "+(i.editorInspector?"enabled":"disabled"),"font-style: italic")},toggleEventLogging(e){i.eventLogging=!!e||!i.eventLogging,n(),window.console.log("%c\tEvent logging "+(i.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&&(i=JSON.parse(e))}catch(e){}i.editorAutosave||o.toggleEditorAutosave(!0),i.editorInspector&&o.toggleEditorInspector(!0),i.eventLogging&&o.toggleEventLogging(!0)}window.console.log("Settings are saved per browser session, enter `Devtools.help()` to learn more."),window.console.log("")},editorAutosave:()=>i.editorAutosave,editorInspector:()=>i.editorInspector,eventLog(e,t){i.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,n,i,o){"use strict";function r(e,t){"string"!=typeof t&&(t=void 0);const n=a.get(e);void 0!==n&&(void 0===t?a.delete(e):n.delete(t))}Object.defineProperty(t,"__esModule",{value:!0}),t.removeAllBySuffix=t.removeAll=t.remove=t.fire=t.add=void 0,i=n.__importStar(i),o=n.__importDefault(o);const a=new Map;t.add=function(e,t,n){if("function"!=typeof n)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=i.getUuid();return r.set(s,n),s},t.fire=function(e,t,n){o.default._internal_.eventLog(e,t),n=n||{},a.get(e)?.get(t)?.forEach((e=>e(n)))},t.remove=function(e,t,n){a.get(e)?.get(t)?.delete(n)},t.removeAll=r,t.removeAllBySuffix=function(e,t){const n=a.get(e);if(void 0===n)return;const i=-1*(t="_"+t).length;n.forEach(((n,o)=>{o.substr(i)===t&&r(e,o)}))}})),define("WoltLabSuite/Core/Form/Builder/Field/Field",["require","exports"],(function(e,t){"use strict";return class{_fieldId;_field;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}}})),define("WoltLabSuite/Core/Form/Builder/Field/Dependency/Manager",["require","exports","tslib","../../../../Dom/Util","../../../../Event/Handler"],(function(e,t,n,i,o){"use strict";function r(){!0!==p?(p=!0,m=!1,o.fire("com.woltlab.wcf.form.builder.dependency","checkContainers"),p=!1,m&&r()):m=!0}function a(){const e=[];d.forEach(((t,n)=>{const o=document.getElementById(n);if(null===o)return void e.push(n);let r=!0;var a;t.forEach((e=>{var t;e.checkDependency()||(t=o,i.default.hide(t),s.add(t),t.classList.contains("tabMenuContent")&&t.parentNode.querySelector(".tabMenu").querySelectorAll("li").forEach((e=>{e.dataset.name===t.dataset.name&&i.default.hide(e)})),t.querySelectorAll("[max], [maxlength], [min], [required]").forEach((e=>{const t=new Map,n=e.getAttribute("max");n&&(t.set("max",n),e.removeAttribute("max"));const i=e.getAttribute("maxlength");i&&(t.set("maxlength",i),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,i.default.show(a),s.delete(a),a.classList.contains("tabMenuContent")&&a.parentNode.querySelector(".tabMenu").querySelectorAll("li").forEach((e=>{e.dataset.name===a.dataset.name&&i.default.show(e)})),a.querySelectorAll("input, select").forEach((e=>{let t=e.parentNode;for(;t!==a&&!i.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,i=n.__importDefault(i),o=n.__importStar(o);const s=new Set,l=new Map,c=new WeakSet,d=new Map,u=new WeakMap;let p=!1,m=!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=i.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((n=>{n.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,n)=>{t.contains(document.getElementById(n))&&d.delete(n),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,n,i,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,i=n.__importStar(i),o=n.__importStar(o),r=n.__importDefault(r),a=n.__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 n=e.getData();if(!(n instanceof Promise))throw new TypeError("Data for field with id '"+e.getId()+"' is no promise.");t.push(n)})),Promise.all(t).then((e=>e.reduce(((e,t)=>i.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 n=t.getId();if(s(e,n))throw new Error("Form field with id '"+n+"' has already been registered for form with id '"+e+"'.");c.get(e).set(n,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/Component/FormBuilder/Setup",["require","exports","tslib","../../Ajax/Backend","../../Dom/Util","../../Form/Builder/Manager"],(function(e,t,n,i,o,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FormBuilderSetup=void 0,o=n.__importStar(o),r=n.__importStar(r);class a{async fromEndpoint(t){const a=await(0,i.prepareRequest)(t).get().fetchAsJson(),{dialogFactory:s}=await new Promise(((t,n)=>{e(["../Dialog"],t,n)})).then(n.__importStar),l=s().fromHtml(a.dialog).asPrompt();return new Promise((e=>{l.addEventListener("validate",(n=>{const s=r.getData(a.formId).then((async n=>{n instanceof Promise&&(n=await n);const s=await(0,i.prepareRequest)(t).post(n).fetchAsJson();return"dialog"in s?(r.unregisterForm(a.formId),o.setInnerHtml(l.content,s.dialog),!1):(l.addEventListener("primary",(()=>{r.hasForm(a.formId)&&r.unregisterForm(a.formId),e({ok:!0,result:s.result})})),!0)}));n.detail.push(s)})),l.addEventListener("cancel",(()=>{r.hasForm(a.formId)&&r.unregisterForm(a.formId),e({ok:!1,result:void 0})})),l.show(a.title)}))}}t.FormBuilderSetup=a,t.default=a})),define("WoltLabSuite/Core/Component/Dialog/Setup",["require","exports","tslib","./Controls","../../Dom/Util","../FormBuilder/Setup"],(function(e,t,n,i,o,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DialogSetup=void 0,i=n.__importDefault(i),o=n.__importStar(o),r=n.__importDefault(r);class a{fromElement(e){e instanceof HTMLTemplateElement&&(e=e.content.cloneNode(!0));const t=document.createElement("woltlab-core-dialog");return t.content.append(e),e instanceof HTMLElement&&(e.hidden=!1),new i.default(t)}fromId(e){const t=document.getElementById(e);if(null===t)throw new Error(`Unable to find the element identified by '${e}'.`);return this.fromElement(t)}fromHtml(e){const t=o.createFragmentFromHtml(e);if(0===t.childElementCount&&""===t.textContent.trim())throw new TypeError("The provided HTML string was empty.");return this.fromElement(t)}usingFormBuilder(){return new r.default}withoutContent(){const e=document.createElement("woltlab-core-dialog");return new i.default(e)}}t.DialogSetup=a,t.default=a})),define("WoltLabSuite/Core/Helper/PageOverlay",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getPageOverlayContainer=t.releasePageOverlayContainer=t.adoptPageOverlayContainer=void 0;const n=document.createElement("div");n.id="pageOverlayContainer";const i=[];t.adoptPageOverlayContainer=function(e){i.push(e),e.append(n)},t.releasePageOverlayContainer=function(e){const t=i.pop();if(e!==t)throw new Error("Invalid call, cannot release the page overlay while it is still adopted by another element.",{cause:{currentParent:t,element:e}});const o=i[i.length-1];if(void 0===o)throw new Error("Cannot release the page overlay, there is no previous owner.",{cause:{element:e}});o.append(n)},t.getPageOverlayContainer=function(){return n}})),define("WoltLabSuite/Core/Environment",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.touch=t.platform=t.browser=t.setup=void 0;let n="other",i="desktop",o=!1;t.setup=function(){if("object"==typeof window.chrome)n="chrome";else{const e=window.getComputedStyle(document.documentElement);for(let t=0,i=e.length;t0||window.DocumentTouch&&document instanceof window.DocumentTouch,"MacIntel"===window.navigator.platform&&window.navigator.maxTouchPoints>1&&(n="safari",i="ios")},t.browser=function(){return n},t.platform=function(){return i},t.touch=function(){return o}})),define("WoltLabSuite/Core/Ui/Screen",["require","exports","tslib","../Core","../Environment"],(function(e,t,n,i,o){"use strict";function r(e){if("string"!=typeof e||""===e.trim())throw new TypeError("Expected a non-empty string for parameter 'query'.");m.has(e)&&(e=m.get(e)),p.has(e)&&(e=p.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&&m.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,i=n.__importStar(i),o=n.__importStar(o);const s=new Map;let l,c=0,d=0,u=0;const p=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)"})),m=new Map;t.on=function(e,t){const n=i.getUuid(),o=r(e);return"function"==typeof t.match&&o.callbacksMatch.set(n,t.match),"function"==typeof t.unmatch&&o.callbacksUnmatch.set(n,t.unmatch),"function"==typeof t.setup&&(o.mql.matches?t.setup():o.callbacksSetup.set(n,t.setup)),n},t.remove=function(e,t){const n=r(e);n.callbacksMatch.delete(t),n.callbacksUnmatch.delete(t),n.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&&window.setTimeout((()=>{document[l].scrollTop=~~d}),0)}},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/Element/woltlab-core-dialog",["require","exports","tslib","../Dom/Util","../Helper/PageOverlay","../Language","../Ui/Screen"],(function(e,t,n,i,o,r,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WoltlabCoreDialogElement=void 0,i=n.__importDefault(i),r=n.__importStar(r);const s=document.createElement("div");class l extends HTMLElement{#l;#e;#c;#d;constructor(){super(),this.#l=document.createElement("div"),this.#e=document.createElement("dialog"),this.#d=document.createElement("div")}show(e){if(0===e.trim().length)throw new Error("Cannot open the modal dialog without a title.");this.#d.textContent=e,null===s.parentElement&&document.getElementById("content").append(s),this.parentElement!==s&&s.append(this),this.#e.showModal(),(0,o.adoptPageOverlayContainer)(this.#e),(0,a.scrollDisable)()}close(){this.#e.close(),this.#u()}#u(){const e=new CustomEvent("afterClose");this.dispatchEvent(e),(0,o.releasePageOverlayContainer)(this.#e),(0,a.scrollEnable)(),this.remove()}get dialog(){return this.#e}get content(){return this.#l}get open(){return this.#e.open}get incomplete(){return this.hasAttribute("incomplete")}set incomplete(e){e?this.setAttribute("incomplete",""):this.removeAttribute("incomplete")}attachControls(e){if(void 0!==this.#c)throw new Error("There is already a form control attached to this dialog.");void 0!==e.extra&&void 0===e.cancel&&(e.cancel="");const t=document.createElement("woltlab-core-dialog-control");t.primary=e.primary,void 0!==e.cancel&&(t.cancel=e.cancel),void 0!==e.extra&&(t.extra=e.extra),this.#c=document.createElement("form"),this.#c.method="dialog",this.#c.classList.add("dialog__form"),this.#l.insertAdjacentElement("beforebegin",this.#c),this.#c.append(this.#l,t),e.isAlert&&(void 0===e.cancel?this.#e.setAttribute("role","alert"):this.#e.setAttribute("role","alertdialog")),this.#c.addEventListener("submit",(e=>{if(this.incomplete)return void e.preventDefault();const t=new CustomEvent("validate",{cancelable:!0,detail:[]});this.dispatchEvent(t),t.defaultPrevented&&e.preventDefault(),t.detail.length>0&&(e.preventDefault(),this.incomplete=!0,Promise.all(t.detail).then((e=>{this.incomplete=!1,e.some((e=>!1===e))||(this.#p(),this.close())})))})),this.#e.addEventListener("close",(()=>{""!==this.#e.returnValue&&(this.#p(),this.#u())})),t.addEventListener("cancel",(()=>{const e=new CustomEvent("cancel",{cancelable:!0});this.dispatchEvent(e),e.defaultPrevented||this.close()})),void 0!==e.extra&&t.addEventListener("extra",(()=>{const e=new CustomEvent("extra");this.dispatchEvent(e)}))}#p(){const e=new CustomEvent("primary");this.dispatchEvent(e)}connectedCallback(){if(null!==this.#e.parentElement)return;let e;const t=this.#e.getAttribute("role");"alert"!==t&&"alertdialog"!==t&&(e=document.createElement("button"),e.innerHTML='',e.classList.add("dialog__closeButton","jsTooltip"),e.title=r.get("wcf.dialog.button.close"),e.addEventListener("click",(()=>{this.close()})));const n=document.createElement("div");n.classList.add("dialog__header"),this.#d.classList.add("dialog__title"),n.append(this.#d),e&&n.append(e);const o=document.createElement("div");o.classList.add("dialog__document"),o.setAttribute("role","document"),o.append(n),this.#l.classList.add("dialog__content"),this.#c?o.append(this.#c):o.append(this.#l),this.#e.append(o),this.#e.classList.add("dialog"),this.#e.setAttribute("aria-labelledby",i.default.identify(this.#d)),this.#e.addEventListener("cancel",(e=>{this.#m()||e.preventDefault()})),this.#e.addEventListener("mousedown",(e=>{if(e.target===this.#e){const e=new CustomEvent("backdrop",{cancelable:!0});if(this.dispatchEvent(e),e.defaultPrevented)return;this.#m()&&this.close()}})),this.append(this.#e)}#m(){const e=new CustomEvent("close");return this.dispatchEvent(e),!1===e.defaultPrevented}}t.WoltlabCoreDialogElement=l,window.customElements.define("woltlab-core-dialog",l),t.default=l})),define("WoltLabSuite/Core/Element/woltlab-core-dialog-control",["require","exports","tslib","../Language"],(function(e,t,n,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WoltlabCoreDialogControlElement=void 0,i=n.__importStar(i);class o extends HTMLElement{#h;#f;#g;set primary(e){this.setAttribute("primary",e)}get primary(){let e=this.getAttribute("primary");return e||(e=i.get("wcf.dialog.button.primary")),e}set cancel(e){void 0===e?this.removeAttribute("cancel"):this.setAttribute("cancel",e)}get cancel(){let e=this.getAttribute("cancel");if(null!==e)return""===e&&(e=i.get("wcf.global.confirmation.cancel")),e}set extra(e){void 0===e?this.removeAttribute("extra"):this.setAttribute("extra",e)}get extra(){const e=this.getAttribute("extra");if(null!==e)return e}connectedCallback(){const e=this.closest("woltlab-core-dialog");this.classList.add("dialog__control"),this.hasAttribute("primary")||this.setAttribute("primary",""),void 0===this.#g&&(this.#g=document.createElement("button"),this.#g.type="submit",this.#g.value="primary",this.#g.autofocus=!0,this.#g.classList.add("button","buttonPrimary","dialog__control__button","dialog__control__button--primary"),this.#g.textContent=this.primary,this.append(this.#g),new MutationObserver((()=>{this.#g.disabled=e.incomplete})).observe(e,{attributeFilter:["incomplete"]}),e.incomplete&&(this.#g.disabled=!0)),void 0===this.#h&&void 0!==this.cancel&&(this.#h=document.createElement("button"),this.#h.type="button",this.#h.value="cancel",this.#h.classList.add("button","dialog__control__button","dialog__control__button--cancel"),this.#h.textContent=this.cancel,this.#h.addEventListener("click",(()=>{const e=new CustomEvent("cancel");this.dispatchEvent(e)})),this.append(this.#h),e.addEventListener("backdrop",(e=>{e.preventDefault(),this.#h.click()}))),void 0===this.#f&&void 0!==this.extra&&(this.#f=document.createElement("button"),this.#f.type="button",this.#f.value="extra",this.#f.classList.add("button","dialog__control__button","dialog__control__button--extra"),this.#f.textContent=this.extra,this.#f.addEventListener("click",(()=>{const e=new CustomEvent("extra");this.dispatchEvent(e)})),this.append(this.#f))}}t.WoltlabCoreDialogControlElement=o,window.customElements.define("woltlab-core-dialog-control",o),t.default=o})),define("WoltLabSuite/Core/Component/Dialog",["require","exports","./Dialog/Setup","../Element/woltlab-core-dialog","../Element/woltlab-core-dialog-control"],(function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.dialogFactory=void 0,t.dialogFactory=function(){return new n.DialogSetup}})),define("WoltLabSuite/Core/Ajax/Request",["require","exports","tslib","./Status","../Core","../Dom/Change/Listener","../Language","../Component/Dialog","../StringUtil"],(function(e,t,n,i,o,r,a,s,l){"use strict";i=n.__importStar(i),o=n.__importStar(o),r=n.__importDefault(r),a=n.__importStar(a);let c=!1,d=!1;return class{_options;_data;_previousXhr;_xhr;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))),c||(c=!0,window.addEventListener("beforeunload",(()=>d=!0)))}sendRequest(e){(e||this._options.autoAbort)&&this.abortPrevious(),this._options.silent||i.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.responseType&&this._xhr.setRequestHeader("Accept",this._options.responseType),this._options.withCredentials&&(this._xhr.withCredentials=!0);const t=o.clone(this._options),n=this._xhr;if(n.onload=()=>{n.readyState===XMLHttpRequest.DONE&&(n.status>=200&&n.status<300||304===n.status?204===n.status?this._success(n,t):t.responseType&&this.getContentType(n)!==t.responseType?this._failure(n,t):this._success(n,t):this._failure(n,t))},n.onerror=()=>{this._failure(n,t)},this._options.progress&&(n.onprogress=this._options.progress),this._options.uploadProgress&&(n.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)),n.send(e)}else n.send()}abortPrevious(){this._previousXhr&&(this._previousXhr.abort(),this._previousXhr=void 0,this._options.silent||i.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||i.hide(),"function"==typeof o.success){let i=null;if("application/json"===this.getContentType(t)){try{i=JSON.parse(t.responseText)}catch(e){return void this._failure(t,o)}i&&i.returnValues&&void 0!==i.returnValues.template&&(i.returnValues.template=i.returnValues.template.trim()),"yes"===t.getResponseHeader("woltlab-background-queue-check")&&new Promise(((t,n)=>{e(["../BackgroundQueue"],t,n)})).then(n.__importStar).then((e=>e.invoke()))}o.success(i||{},t.responseText,t,o.data)}this._finalize(o)}_failure(e,t){if(d)return;t.silent||i.hide();let n=null;try{n=JSON.parse(e.responseText)}catch(e){}let o=!0;if("function"==typeof t.failure&&(o=!1!==t.failure(n||{},e.responseText||"",e,t.data)),!0!==t.ignoreError&&o){const t=this.getErrorHtml(n,e);if(t instanceof HTMLIFrameElement){const e=(0,s.dialogFactory)().fromHtml(`
              ${t.outerHTML}
              `).asAlert();e.show(a.get("wcf.global.error.title")),e.querySelector("dialog").classList.add("dialog--iframe")}else t&&(0,s.dialogFactory)().fromHtml(t).asAlert().show(a.get("wcf.global.error.title"))}this._finalize(t)}getErrorHtml(e,t){let n,i="";if(null!==e&&Object.keys(e).length>0)e.returnValues&&e.returnValues.description&&(i+=`

              Description:

              ${e.returnValues.description}

              `),e.file&&e.line&&(i+=`

              File:

              ${e.file} in line ${e.line}

              `),e.exception?i+=`
              Exception:
              ${(0,l.escapeHTML)(e.exception)}
              `:e.stacktrace?i+=`

              Stacktrace:

              ${e.stacktrace}

              `:e.exceptionID&&(i+=`

              Exception ID: ${e.exceptionID}

              `),n=e.message,e.previous&&e.previous.forEach((e=>{i+=`

              ${e.message}

              `,i+=`

              Stacktrace

              ${e.stacktrace}

              `}));else{if(t.getResponseHeader("content-type")?.startsWith("text/html")){const e=document.createElement("iframe");return e.classList.add("dialog__iframe"),e.srcdoc=t.responseText,e}n=t.responseText}if(!n||"undefined"===n){if(!window.ENABLE_DEBUG_MODE)return null;n="XMLHttpRequest failed without a responseText. Check your browser console."}return`

              ${n}

              ${i}
              `}_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)}))}getContentType(e){const t=e.getResponseHeader("content-type");return null===t?null:t.split(";",1)[0].trim()}}})),define("WoltLabSuite/Core/Ajax/DboAction",["require","exports","tslib","./Error","./Status","../Core"],(function(e,t,n,i,o,r){"use strict";async function a(e){const t=e.headers.get("content-type");if(!t||!t.includes("application/json"))throw new i.ExpectedJson(e);let n;try{n=await e.json()}catch(t){throw new i.InvalidJson(e)}return n}let s;Object.defineProperty(t,"__esModule",{value:!0}),t.handleValidationErrors=t.DboAction=void 0,o=n.__importStar(o),r=n.__importStar(r);class l{#b;#v;#y=[];#i={};#r=!0;#_;constructor(e,t){this.#b=e,this.#v=t}static prepare(e,t){return void 0===s&&(s=!1,window.addEventListener("beforeunload",(()=>{s=!0}))),new l(e,t)}getAbortController(){return void 0===this.#_&&(this.#_=new AbortController),this.#_}objectIds(e){return this.#y=e,this}payload(e){return this.#i=e,this}disableLoadingIndicator(){return this.#r=!1,this}async dispatch(){(0,i.registerGlobalRejectionHandler)();const t=window.WSC_API_URL+"index.php?ajax-proxy/&t="+r.getXsrfToken(),l={actionName:this.#b,className:this.#v};this.#y&&(l.objectIDs=this.#y),this.#i&&(l.parameters=this.#i);const c={method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded; charset=UTF-8","X-Requested-With":"XMLHttpRequest","X-XSRF-TOKEN":r.getXsrfToken(),Accept:"application/json"},body:r.serialize(l),mode:"same-origin",credentials:"same-origin",cache:"no-store",redirect:"error"};this.#_&&(c.signal=this.#_.signal);const d=this.#r;d&&o.show();try{const o=await fetch(t,c);if(!o.ok)throw new i.StatusNotOk(o);const r=await a(o);return"yes"===o.headers.get("woltlab-background-queue-check")&&new Promise(((t,n)=>{e(["../BackgroundQueue"],t,n)})).then(n.__importStar).then((e=>e.invoke())),r.returnValues}catch(e){if(e instanceof i.ApiError)throw e;if(e instanceof DOMException&&"AbortError"===e.name)return;if(!s)throw new i.ConnectionError(e)}finally{d&&o.hide()}}}t.DboAction=l,t.default=l,t.handleValidationErrors=async function(e,t){if(!(e instanceof i.StatusNotOk))throw e;const n=e.response.clone();try{const e=await a(n);if(function(e){return"code"in e&&"returnValues"in e}(e)&&412===e.code&&!0===t(e.returnValues))return}catch{}throw e}})),define("WoltLabSuite/Core/Ajax",["require","exports","tslib","./Ajax/Request","./Core","./Ajax/DboAction","./Ajax/DboAction"],(function(e,t,n,i,o,r,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.handleValidationErrors=t.dboAction=t.getRequestObject=t.apiOnce=t.api=void 0,i=n.__importDefault(i),o=n.__importStar(o),r=n.__importDefault(r);const s=new WeakMap;t.api=function(e,t,n,r){"object"!=typeof t&&(t={});let a=s.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="+o.getXsrfToken(),t.withCredentials=!0),a=new i.default(t),s.set(e,a)}let l=null,c=null;return"function"==typeof n&&(l=a.getOption("success"),a.setOption("success",n)),"function"==typeof r&&(c=a.getOption("failure"),a.setOption("failure",r)),a.setData(t),a.sendRequest(),null!==l&&a.setOption("success",l),null!==c&&a.setOption("failure",c),a},t.apiOnce=function(e){e.pinData=!1,e.callbackObject=null,e.url||(e.url="index.php?ajax-proxy/&t="+o.getXsrfToken(),e.withCredentials=!0),new i.default(e).sendRequest(!1)},t.getRequestObject=function(e){if(!s.has(e))throw new Error("Expected a previously used callback object, provided object is unknown.");return s.get(e)},t.dboAction=function(e,t){return r.default.prepare(e,t)},Object.defineProperty(t,"handleValidationErrors",{enumerable:!0,get:function(){return a.handleValidationErrors}})})),define("WoltLabSuite/Core/BackgroundQueue",["require","exports","tslib","./Ajax"],(function(e,t,n,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.invoke=t.setUrl=void 0,i=n.__importStar(i);class o{_invocations=0;_isBusy=!1;_url;constructor(e){this._url=e}invoke(){this._isBusy||(this._isBusy=!0,i.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,n,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getTimezoneDate=t.getTimeElement=t.gmdate=t.format=t.formatDateTime=t.formatTime=t.formatDate=void 0,i=n.__importStar(i);const o=document.documentElement.lang,r=new Intl.DateTimeFormat(o,{dateStyle:"long"}),a=new Intl.DateTimeFormat(o,{hour:"numeric",minute:"numeric",second:"numeric"}),s=new Intl.DateTimeFormat(o,{year:"numeric",day:"numeric",month:"long",hour:"numeric",minute:"numeric",second:"numeric"});t.formatDate=function(e){return r.format(e)},t.formatTime=function(e){return a.format(e)},t.formatDateTime=function(e){return s.format(e)},t.format=function(e,t){"c"===t&&(t="Y-m-dTH:i:sP");let n="";for(let o=0,r=t.length;o11?"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=i.get("__days")[e.getDay()];break;case"D":a=i.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=i.get("__months")[e.getMonth()];break;case"M":a=i.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+1Date.now()&&(t.static=!0),t},t.getTimezoneDate=function(e,t){const n=6e4*new Date(e).getTimezoneOffset();return new Date(e+n+t)}})),define("WoltLabSuite/Core/Dom/Traverse",["require","exports"],(function(e,t){"use strict";function n(e,t,n){if(!(e instanceof Element))throw new TypeError("Expected a valid element as first argument.");const i=[];for(let o=0;o!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 n(e,1,t)[0]||null},t.childByClass=function(e,t){return n(e,2,t)[0]||null},t.childByTag=function(e,t){return n(e,3,t)[0]||null},t.childrenBySel=function(e,t){return n(e,1,t)},t.childrenByClass=function(e,t){return n(e,2,t)},t.childrenByTag=function(e,t){return n(e,3,t)},t.parentBySel=function(e,t,n){return i(e,1,t,n)},t.parentByClass=function(e,t,n){return i(e,2,t,n)},t.parentByTag=function(e,t,n){return i(e,3,t,n)},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","../Environment"],(function(e,t,n,i,o,r,a,s){"use strict";function l(e,t,n,i,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-i.top+r,e-(a+t.height)<(window.scrollY||window.pageYOffset)+c&&(l=!1)}else s=i.top+n.height+r,s+t.height-(window.scrollY||window.pageYOffset)>o&&(l=!1);return{align:e,bottom:a,top:s,result:l}}function c(e,t,n,i,o){let r="auto",a="auto",s=!0;return"left"===e?(r=i.left,r+t.width>o&&(s=!1)):"right"===e?i.left+n.widtho)&&(s=!1)),{align:e,left:r,right:a,result:s}}Object.defineProperty(t,"__esModule",{value:!0}),t.set=void 0,i=n.__importStar(i),o=n.__importStar(o),r=n.__importDefault(r),a=n.__importStar(a),s=n.__importStar(s),t.set=function(e,t,n){let d;n=i.extend({verticalOffset:0,pointer:!1,pointerClassNames:[],refDimensionsElement:null,horizontal:"left",vertical:"bottom",allowFlip:"both"},n||{}),Array.isArray(n.pointerClassNames)&&n.pointerClassNames.length===(n.pointer?1:2)||(n.pointerClassNames=[]),-1===["left","right","center"].indexOf(n.horizontal)&&(n.horizontal="left"),"bottom"!==n.vertical&&(n.vertical="top"),-1===["both","horizontal","vertical","none"].indexOf(n.allowFlip)&&(n.allowFlip="both"),"none"===window.getComputedStyle(e).display&&(d=e.style.getPropertyValue("display"),e.style.setProperty("display","block")),r.default.setStyles(e,{bottom:"auto !important",left:"0 !important",right:"auto !important",top:"0 !important",visibility:"hidden !important"});const u=r.default.outerDimensions(e),p=r.default.outerDimensions(n.refDimensionsElement instanceof HTMLElement?n.refDimensionsElement:t),m=r.default.offset(t),h=window.innerHeight,f=document.body.clientWidth;let g=null,b=!1;if("center"===n.horizontal&&(b=!0,g=c(n.horizontal,u,p,m,f),g.result||("both"===n.allowFlip||"horizontal"===n.allowFlip?n.horizontal="left":g.result=!0)),"rtl"===a.get("wcf.global.pageDirection")&&(n.horizontal="left"===n.horizontal?"right":"left"),null===g||!g.result){const e=g;if(g=c(n.horizontal,u,p,m,f),!g.result&&("both"===n.allowFlip||"horizontal"===n.allowFlip)){const t=c("left"===n.horizontal?"right":"left",u,p,m,f);if(t.result)g=t;else if(b)g=e;else if(u.width===f)g={align:"left",left:0,result:!0,right:0};else if(u.width{a(l.Document)})),c=!0)}function r(e){s.remove(e)}function a(e,t){s.forEach(null,(n=>n(e,t)))}Object.defineProperty(t,"__esModule",{value:!0}),t.execute=t.remove=t.add=t.Origin=void 0;const s=new((i=n.__importDefault(i)).default);var l;!function(e){e.Document="document",e.DropDown="dropdown",e.Search="search"}(l=t.Origin||(t.Origin={}));let c=!1;t.add=o,t.remove=r,t.execute=a;const d={add:o,remove:r,execute:a};t.default=d})),function(e,t){var n,i;"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define("tabbable",["exports"],t):(e="undefined"!=typeof globalThis?globalThis:e||self,n=e.tabbable,t(i=e.tabbable={}),i.noConflict=function(){return e.tabbable=n,i})}(this,(function(e){"use strict";var t=["input:not([inert])","select:not([inert])","textarea:not([inert])","a[href]:not([inert])","button:not([inert])","[tabindex]:not(slot):not([inert])","audio[controls]:not([inert])","video[controls]:not([inert])",'[contenteditable]:not([contenteditable="false"]):not([inert])',"details>summary:first-of-type:not([inert])","details:not([inert])"],n=t.join(","),i="undefined"==typeof Element,o=i?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,r=!i&&Element.prototype.getRootNode?function(e){var t;return null==e||null===(t=e.getRootNode)||void 0===t?void 0:t.call(e)}:function(e){return null==e?void 0:e.ownerDocument},a=function e(t,n){var i,o;return void 0===n&&(n=!0),""===(o=null==t||null===(i=t.getAttribute)||void 0===i?void 0:i.call(t,"inert"))||"true"===o||n&&t&&e(t.parentNode)},s=function(e,t,i){if(a(e))return[];var r=Array.prototype.slice.apply(e.querySelectorAll(n));return t&&o.call(e,n)&&r.unshift(e),r.filter(i)},l=function e(t,i,r){var s,l,c,d,u,p,m,h;for(s=[],l=Array.from(t);l.length;)c=l.shift(),a(c,!1)||("SLOT"===c.tagName?(u=e((d=c.assignedElements()).length?d:c.children,!0,r),r.flatten?s.push.apply(s,u):s.push({scopeParent:c,candidates:u})):(o.call(c,n)&&r.filter(c)&&(i||!t.includes(c))&&s.push(c),p=c.shadowRoot||"function"==typeof r.getShadowRoot&&r.getShadowRoot(c),m=!a(p,!1)&&(!r.shadowRootFilter||r.shadowRootFilter(c)),p&&m?(h=e(!0===p?c.children:p.children,!0,r),r.flatten?s.push.apply(s,h):s.push({scopeParent:c,candidates:h})):l.unshift.apply(l,c.children)));return s},c=function(e,t){return e.tabIndex<0&&(t||/^(AUDIO|VIDEO|DETAILS)$/.test(e.tagName)||function(e){var t,n=null==e||null===(t=e.getAttribute)||void 0===t?void 0:t.call(e,"contenteditable");return""===n||"true"===n}(e))&&isNaN(parseInt(e.getAttribute("tabindex"),10))?0:e.tabIndex},d=function(e,t){return e.tabIndex===t.tabIndex?e.documentOrder-t.documentOrder:e.tabIndex-t.tabIndex},u=function(e){return"INPUT"===e.tagName},p=function(e){var t=e.getBoundingClientRect(),n=t.width,i=t.height;return 0===n&&0===i},m=function(e,t){return!(t.disabled||a(t)||function(e){return u(e)&&"hidden"===e.type}(t)||function(e,t){var n,i,a,s,l=t.displayCheck,c=t.getShadowRoot;if("hidden"===getComputedStyle(e).visibility)return!0;if(n=o.call(e,"details>summary:first-of-type")?e.parentElement:e,o.call(n,"details:not([open]) *"))return!0;if(l&&"full"!==l&&"legacy-full"!==l){if("non-zero-area"===l)return p(e)}else{if("function"==typeof c){for(i=e;e;){if(a=e.parentElement,s=r(e),a&&!a.shadowRoot&&!0===c(a))return p(e);e=e.assignedSlot?e.assignedSlot:a||s===e.ownerDocument?a:s.host}e=i}if(function(e){var t,n,i,o,a,s,l,c=e&&r(e),d=null===(t=c)||void 0===t?void 0:t.host,u=!1;if(c&&c!==e)for(u=!!(null!==(n=d)&&void 0!==n&&null!==(i=n.ownerDocument)&&void 0!==i&&i.contains(d)||null!=e&&null!==(o=e.ownerDocument)&&void 0!==o&&o.contains(e));!u&&d;)u=!(null===(s=d=null===(a=c=r(d))||void 0===a?void 0:a.host)||void 0===s||null===(l=s.ownerDocument)||void 0===l||!l.contains(d));return u}(e))return!e.getClientRects().length;if("legacy-full"!==l)return!0}return!1}(t,e)||function(e){return"DETAILS"===e.tagName&&Array.prototype.slice.apply(e.children).some((function(e){return"SUMMARY"===e.tagName}))}(t)||function(e){var t,n,i;if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(e.tagName))for(t=e.parentElement;t;){if("FIELDSET"===t.tagName&&t.disabled){for(n=0;n=0)},g=function e(t){var n=[],i=[];return t.forEach((function(t,o){var r=!!t.scopeParent,a=r?t.scopeParent:t,s=c(a,r),l=r?e(t.candidates):a;0===s?r?n.push.apply(n,l):n.push(a):i.push({documentOrder:o,tabIndex:s,item:t,isScope:r,content:l})})),i.sort(d).reduce((function(e,t){return t.isScope?e.push.apply(e,t.content):e.push(t.content),e}),[]).concat(n)},b=t.concat("iframe").join(",");e.focusable=function(e,t){return(t=t||{}).getShadowRoot?l([e],t.includeContainer,{filter:m.bind(null,t),flatten:!0,getShadowRoot:t.getShadowRoot}):s(e,t.includeContainer,m.bind(null,t))},e.isFocusable=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return!1!==o.call(e,b)&&m(t,e)},e.isTabbable=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return!1!==o.call(e,n)&&h(t,e)},e.tabbable=function(e,t){var n;return n=(t=t||{}).getShadowRoot?l([e],t.includeContainer,{filter:h.bind(null,t),flatten:!1,getShadowRoot:t.getShadowRoot,shadowRootFilter:f}):s(e,t.includeContainer,h.bind(null,t)),g(n)},Object.defineProperty(e,"__esModule",{value:!0})})),function(e,t){var n,i;"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("tabbable")):"function"==typeof define&&define.amd?define("focus-trap",["exports","tabbable"],t):(e="undefined"!=typeof globalThis?globalThis:e||self,n=e.focusTrap,t(i=e.focusTrap={},e.tabbable),i.noConflict=function(){return e.focusTrap=n,i})}(this,(function(e,t){"use strict";function n(e,t){var n,i=Object.keys(e);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(e),t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,n)),i}function i(e){var t,i;for(t=1;t1?t-1:0),i=1;i1?t-1:0),i=1;i=0?m.activeElement:(e=g.tabbableGroups[0])&&e.firstTabbableNode||y("fallbackFocus")),!t)throw new Error("Your focus-trap needs to have at least one focusable element");return t},w=function(){if(g.containerGroups=g.containers.map((function(e){var n=t.tabbable(e,f.tabbableOptions),i=t.focusable(e,f.tabbableOptions);return{container:e,tabbableNodes:n,focusableNodes:i,firstTabbableNode:n.length>0?n[0]:null,lastTabbableNode:n.length>0?n[n.length-1]:null,nextTabbableNode:function(e){var n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],o=i.findIndex((function(t){return t===e}));if(!(o<0))return n?i.slice(o+1).find((function(e){return t.isTabbable(e,f.tabbableOptions)})):i.slice(0,o).reverse().find((function(e){return t.isTabbable(e,f.tabbableOptions)}))}}})),g.tabbableGroups=g.containerGroups.filter((function(e){return e.tabbableNodes.length>0})),g.tabbableGroups.length<=0&&!y("fallbackFocus"))throw new Error("Your focus-trap must have at least one container with at least one tabbable node in it at all times")},E=function e(t){!1!==t&&t!==m.activeElement&&(t&&t.focus?(t.focus({preventScroll:!!f.preventScroll}),g.mostRecentlyFocusedNode=t,function(e){return e.tagName&&"input"===e.tagName.toLowerCase()&&"function"==typeof e.select}(t)&&t.select()):e(_()))},S=function(e){var t=y("setReturnFocus",e);return t||!1!==t&&e},C=function(e){var t=u(e);v(t)>=0||(d(f.clickOutsideDeactivates,e)?o.deactivate({returnFocus:f.returnFocusOnDeactivate}):d(f.allowOutsideClick,e)||e.preventDefault())},L=function(e){var t=u(e),n=v(t)>=0;n||t instanceof Document?n&&(g.mostRecentlyFocusedNode=t):(e.stopImmediatePropagation(),E(g.mostRecentlyFocusedNode||_()))},k=function(e){if(("Escape"===(n=e).key||"Esc"===n.key||27===n.keyCode)&&!1!==d(f.escapeDeactivates,e))return e.preventDefault(),void o.deactivate();var n;(f.isKeyForward(e)||f.isKeyBackward(e))&&function(e){var n,i,o,a,s,l,d,p=arguments.length>1&&void 0!==arguments[1]&&arguments[1],m=u(e);w(),n=null,g.tabbableGroups.length>0?(o=(i=v(m))>=0?g.containerGroups[i]:void 0,i<0?n=p?g.tabbableGroups[g.tabbableGroups.length-1].lastTabbableNode:g.tabbableGroups[0].firstTabbableNode:p?(a=c(g.tabbableGroups,(function(e){var t=e.firstTabbableNode;return m===t})),a<0&&(o.container===m||t.isFocusable(m,f.tabbableOptions)&&!t.isTabbable(m,f.tabbableOptions)&&!o.nextTabbableNode(m,!1))&&(a=i),a>=0?(s=0===a?g.tabbableGroups.length-1:a-1,n=g.tabbableGroups[s].lastTabbableNode):r(e)||(n=o.nextTabbableNode(m,!1))):(l=c(g.tabbableGroups,(function(e){var t=e.lastTabbableNode;return m===t})),l<0&&(o.container===m||t.isFocusable(m,f.tabbableOptions)&&!t.isTabbable(m,f.tabbableOptions)&&!o.nextTabbableNode(m))&&(l=i),l>=0?(d=l===g.tabbableGroups.length-1?0:l+1,n=g.tabbableGroups[d].firstTabbableNode):r(e)||(n=o.nextTabbableNode(m)))):n=y("fallbackFocus"),n&&(r(e)&&e.preventDefault(),E(n))}(e,f.isKeyBackward(e))},x=function(e){var t=u(e);v(t)>=0||d(f.clickOutsideDeactivates,e)||d(f.allowOutsideClick,e)||(e.preventDefault(),e.stopImmediatePropagation())},M=function(){if(g.active)return function(e,t){var n,i;e.length>0&&(n=e[e.length-1])!==t&&n.pause(),-1===(i=e.indexOf(t))||e.splice(i,1),e.push(t)}(h,o),g.delayInitialFocusTimer=f.delayInitialFocus?l((function(){E(_())})):E(_()),m.addEventListener("focusin",L,!0),m.addEventListener("mousedown",C,{capture:!0,passive:!1}),m.addEventListener("touchstart",C,{capture:!0,passive:!1}),m.addEventListener("click",x,{capture:!0,passive:!1}),m.addEventListener("keydown",k,{capture:!0,passive:!1}),o},I=function(){if(g.active)return m.removeEventListener("focusin",L,!0),m.removeEventListener("mousedown",C,!0),m.removeEventListener("touchstart",C,!0),m.removeEventListener("click",x,!0),m.removeEventListener("keydown",k,!0),o};return(o={get active(){return g.active},get paused(){return g.paused},activate:function(e){var t,n,i,o;return g.active?this:(t=b(e,"onActivate"),n=b(e,"onPostActivate"),(i=b(e,"checkCanFocusTrap"))||w(),g.active=!0,g.paused=!1,g.nodeFocusedBeforeActivation=m.activeElement,null==t||t(),o=function(){i&&w(),M(),null==n||n()},i?(i(g.containers.concat()).then(o,o),this):(o(),this))},deactivate:function(e){var t,n,r,a,s,c;return g.active?(t=i({onDeactivate:f.onDeactivate,onPostDeactivate:f.onPostDeactivate,checkCanReturnFocus:f.checkCanReturnFocus},e),clearTimeout(g.delayInitialFocusTimer),g.delayInitialFocusTimer=void 0,I(),g.active=!1,g.paused=!1,function(e,t){var n=e.indexOf(t);-1!==n&&e.splice(n,1),e.length>0&&e[e.length-1].unpause()}(h,o),n=b(t,"onDeactivate"),r=b(t,"onPostDeactivate"),a=b(t,"checkCanReturnFocus"),s=b(t,"returnFocus","returnFocusOnDeactivate"),null==n||n(),c=function(){l((function(){s&&E(S(g.nodeFocusedBeforeActivation)),null==r||r()}))},s&&a?(a(S(g.nodeFocusedBeforeActivation)).then(c,c),this):(c(),this)):this},pause:function(e){if(g.paused||!g.active)return this;var t=b(e,"onPause"),n=b(e,"onPostPause");return g.paused=!0,null==t||t(),I(),null==n||n(),this},unpause:function(e){if(!g.paused||!g.active)return this;var t=b(e,"onUnpause"),n=b(e,"onPostUnpause");return g.paused=!1,null==t||t(),w(),M(),null==n||n(),this},updateContainerElements:function(e){var t=[].concat(e).filter(Boolean);return g.containers=t.map((function(e){return"string"==typeof e?m.querySelector(e):e})),g.active&&w(),this}}).updateContainerElements(e),o},Object.defineProperty(e,"__esModule",{value:!0})})),define("WoltLabSuite/Core/Date/Picker",["require","exports","tslib","../Core","./Util","../Dom/Change/Listener","../Event/Handler","../Language","../Ui/Alignment","../Ui/CloseOverlay","../Dom/Util","../Helper/PageOverlay","focus-trap"],(function(e,t,n,i,o,r,a,s,l,c,d,u,p){"use strict";function m(e,t,n){const i=n?"minDate":"maxDate";let o=(e.dataset[i]||"").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*(n?-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(n?1902:2038,0,1).getTime().toString();e.dataset[i]=o}function h(e){let t=D.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 f(e){e.stopPropagation(),function(){if(null!==R)return;R=document.createElement("div"),R.className="datePicker",R.addEventListener("click",(e=>{e.stopPropagation()}));const e=document.createElement("header");R.appendChild(e),B=document.createElement("button"),B.type="button",B.className="previous jsTooltip",B.title=s.get("wcf.date.datePicker.previousMonth"),B.setAttribute("aria-label",s.get("wcf.date.datePicker.previousMonth")),B.innerHTML='',B.addEventListener("click",(()=>H.previousMonth())),e.appendChild(B);const t=document.createElement("span");e.appendChild(t),q=document.createElement("select"),q.className="month jsTooltip",q.title=s.get("wcf.date.datePicker.month"),q.setAttribute("aria-label",s.get("wcf.date.datePicker.month")),q.addEventListener("change",_),t.appendChild(q);let n="";const i=new Intl.DateTimeFormat(document.documentElement.lang,{month:"long"});for(let e=0;e<12;e++)n+=``;q.innerHTML=n,U=document.createElement("select"),U.className="year jsTooltip",U.title=s.get("wcf.date.datePicker.year"),U.setAttribute("aria-label",s.get("wcf.date.datePicker.year")),U.addEventListener("change",w),t.appendChild(U),N=document.createElement("button"),N.type="button",N.className="next jsTooltip",N.title=s.get("wcf.date.datePicker.nextMonth"),N.setAttribute("aria-label",s.get("wcf.date.datePicker.nextMonth")),N.innerHTML='',N.addEventListener("click",(()=>H.nextMonth())),e.appendChild(N),P=document.createElement("ul"),R.appendChild(P);const o=document.createElement("li");o.className="weekdays",P.appendChild(o);const r=new Intl.DateTimeFormat(document.documentElement.lang,{weekday:"short"}),a=new Date,l=a.getDay()-x;for(let e=0;e<7;e++){const t=e-l,n=new Date((new Date).setDate(a.getDate()+t)),i=document.createElement("span");i.textContent=r.format(n),o.appendChild(i)}for(let e=0;e<6;e++){const e=document.createElement("li");P.appendChild(e);for(let t=0;t<7;t++){const t=document.createElement("a");t.addEventListener("click",E),A.push(t),e.appendChild(t)}}F=document.createElement("footer"),R.appendChild(F),j=document.createElement("select"),j.className="hour",j.title=s.get("wcf.date.datePicker.hour"),j.setAttribute("aria-label",s.get("wcf.date.datePicker.hour")),j.addEventListener("change",y);const c=new Date(2e3,0,1),d=new Intl.DateTimeFormat(document.documentElement.lang,{hour:"numeric"});let m="";for(let e=0;e<24;e++){c.setHours(e);let t=d.formatToParts(c);const n=t.some((e=>"dayPeriod"===e.type));2!==t.length||n||(t=t.filter((e=>"literal"!==e.type))),m+=``}j.innerHTML=m,F.appendChild(j),F.appendChild(document.createTextNode(" : ")),O=document.createElement("select"),O.className="minute",O.title=s.get("wcf.date.datePicker.minute"),O.setAttribute("aria-label",s.get("wcf.date.datePicker.minute")),O.addEventListener("change",y),m="";for(let e=0;e<60;e++){const t=e<10?"0"+e.toString():e;m+=``}O.innerHTML=m,F.appendChild(O),(0,u.getPageOverlayContainer)().appendChild(R),C=(0,p.createFocusTrap)(R,{allowOutsideClick:!0,escapeDeactivates:()=>(g(),!1)})}();const t=e.currentTarget,n="INPUT"===t.nodeName?t:t.previousElementSibling;if(n===D)return void g();const o=n.closest(".dialogContent");null!==o&&(i.stringToBool(o.dataset.hasDatepickerScrollListener||"")||(o.addEventListener("scroll",b),o.dataset.hasDatepickerScrollListener="1")),D=n;const r=M.get(D),a=D.dataset.value;let c;a?(c=new Date(parseInt(a,10)),"Invalid Date"===c.toString()&&(c=new Date)):c=new Date,T=h("minDate"),T.getTime()>c.getTime()&&(c=T),I=h("maxDate"),D.dataset.maxDate&&I.getTime()${e}`;U.innerHTML=i,U.value=n.toString(),q.value=t.toString(),R.classList.add("active")}(c.getDate(),c.getMonth(),c.getFullYear()),L=()=>{l.set(R,D)},L(),window.addEventListener("scroll",L,{passive:!1}),D.nextElementSibling.setAttribute("aria-expanded","true"),C.activate()}function g(){if(null===R||!R.classList.contains("active"))return;R.classList.remove("active");const e=M.get(D);"function"==typeof e.onClose&&e.onClose(),a.fire("WoltLabSuite/Core/Date/Picker","close",{element:D}),void 0!==L&&(window.removeEventListener("scroll",L),L=void 0),D.nextElementSibling.setAttribute("aria-expanded","false"),D=null,C.deactivate()}function b(e){if(null===D)return;const t=e.currentTarget,n=d.default.offset(D),i=d.default.offset(t);n.top+D.clientHeight<=i.top||n.top>=i.top+t.offsetHeight||n.left<=i.left||n.left>=i.left+t.offsetWidth?g():l.set(R,D)}function v(e,t,n){const i=void 0!==e,r=void 0!==t;if("number"!=typeof e&&(e=parseInt(e||P.dataset.day||"0",10)),"number"!=typeof t&&(t=parseInt(t||"0",10)),"number"!=typeof n&&(n=parseInt(n||"0",10)),r||n){let a=0!==n;const s=document.createDocumentFragment();s.appendChild(P),r||(t=parseInt(P.dataset.month,10)),n||(n=parseInt(P.dataset.year,10));let l=new Date(n.toString()+"-"+("0"+(t+1).toString()).slice(-2)+"-"+("0"+e.toString()).slice(-2));for(lI&&(n=I.getFullYear(),t=I.getMonth(),e=I.getDate(),q.value=t.toString(),U.value=n.toString(),a=!0),l=new Date(n.toString()+"-"+("0"+(t+1).toString()).slice(-2)+"-01");l.getDay()!==x;)l.setDate(l.getDate()-1);d.default.show(A[35].parentNode);const c=new Date(T.getFullYear(),T.getMonth(),T.getDate());for(let e=0;e<42;e++){if(35===e&&l.getMonth()!==t){d.default.hide(A[35].parentNode);break}const n=A[e];n.textContent=l.getDate().toString();const i=l.getMonth()===t;i?n.classList.remove("otherMonth"):n.classList.add("otherMonth");let r=!0;(lI)&&(r=!1),r?n.classList.remove("disabled"):n.classList.add("disabled"),i&&r&&(n.href="#",n.setAttribute("role","button"),n.tabIndex=0,n.title=o.formatDate(l),n.setAttribute("aria-label",o.formatDate(l))),l.setDate(l.getDate()+1)}if(P.dataset.month=t.toString(),P.dataset.year=n.toString(),R.insertBefore(s,F),!i&&(l=new Date(n,t,e),l.getDate()!==e)){for(;l.getMonth()!==t;)l.setDate(l.getDate()-1);e=l.getDate()}if(a){for(let e=0;e<12;e++){const t=q.children[e];t.disabled=n===T.getFullYear()&&+t.valueI.getMonth()}const e=new Date(n.toString()+"-"+("0"+(t+1).toString()).slice(-2)+"-01");e.setMonth(e.getMonth()+1),N.classList[eT?"add":"remove"]("active")}}if(e){for(let t=0;t<35;t++){const n=A[t];let i=+n.textContent===e;(n.classList.contains("otherMonth")||n.classList.contains("disabled"))&&(i=!1),i?n.classList.add("active"):n.classList.remove("active")}P.dataset.day=e.toString()}y()}function y(){const e=M.get(D);let t;i.stringToBool(D.dataset.empty||"")||(t=e.isDateTime?new Date(+P.dataset.year,+P.dataset.month,+P.dataset.day,+j.value,+O.value):new Date(+P.dataset.year,+P.dataset.month,+P.dataset.day),H.setDate(D,t))}function _(e){v(void 0,+e.currentTarget.value)}function w(e){v(void 0,void 0,+e.currentTarget.value)}function E(e){e.preventDefault();const t=e.currentTarget;t.classList.contains("otherMonth")||t.classList.contains("disabled")||(D.dataset.empty="false",v(+t.textContent),M.get(D).isDateTime||g())}function S(e){if("string"==typeof e&&(e=document.getElementById(e)),!(e instanceof HTMLInputElement&&e.classList.contains("inputDatePicker")&&M.has(e)))throw new Error("Expected a valid date picker input element or id.");return e}i=n.__importStar(i),o=n.__importStar(o),r=n.__importDefault(r),a=n.__importStar(a),s=n.__importStar(s),l=n.__importStar(l),c=n.__importDefault(c),d=n.__importDefault(d);let C,L,k=!1,x=0;const M=new Map;let I,T,D=null;const A=[];let P,j,O,q,N,B,F,U,R=null;const H={init(){k||(k=!0,x=parseInt(s.get("wcf.date.firstDayOfTheWeek"),10),r.default.add("WoltLabSuite/Core/Date/Picker",(()=>H.init())),c.default.add("WoltLabSuite/Core/Date/Picker",(()=>g())));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 n="datetime"===t.getAttribute("type"),r=n&&i.stringToBool(t.dataset.timeOnly||""),a=i.stringToBool(t.dataset.disableClear||""),l=n&&i.stringToBool(t.dataset.ignoreTimezone||""),c=t.classList.contains("birthday");t.dataset.isDateTime=n?"true":"false",t.dataset.isTimeOnly=r?"true":"false";let d=null,u=t.value;u||(u=t.getAttribute("value")||"");const p=/^\d+-\d+-\d+$/.test(u);if(u){if(r){d=new Date;const e=u.split(":");d.setHours(+e[0],+e[1])}else{if(l||c||p){let e=new Date(u).getTimezoneOffset(),t=e>0?"-":"+";e=Math.abs(e);const n=Math.floor(e/60).toString(),i=(e%60).toString();t+=2===n.length?n:"0"+n,t+=":",t+=2===i.length?i:"0"+i,c||p?u+="T00:00:00"+t:u=u.replace(/[+-][0-9]{2}:[0-9]{2}$/,t)}d=new Date(u)}const e=d.getTime();isNaN(e)?u="":(t.dataset.value=e.toString(),u=r?o.formatTime(d):n?o.formatDateTime(d):o.formatDate(d))}const h=0===u.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)),m(t,e,!0),m(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=u,t.dataset.empty=h?"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,n?"c":"Y-m-d")),t.parentNode.insertBefore(b,t),t.removeAttribute("name"),t.addEventListener("click",f);const v=document.createElement("div");v.className="inputAddon";const y=document.createElement("button");y.type="button",y.className="inputSuffix button jsTooltip",y.title=s.get("wcf.date.datePicker"),y.setAttribute("aria-label",s.get("wcf.date.datePicker")),y.setAttribute("aria-haspopup","true"),y.setAttribute("aria-expanded","false"),y.addEventListener("click",(e=>{t.disabled||f(e)})),v.appendChild(y);let _=document.createElement("fa-icon");r?_.setIcon("clock"):_.setIcon("calendar"),y.appendChild(_),t.parentNode.insertBefore(v,t),v.insertBefore(t,y);let w=null;a||(w=document.createElement("a"),w.className="inputSuffix button",w.addEventListener("click",(()=>{t.disabled||this.clear(t)})),h&&w.style.setProperty("visibility","hidden",""),v.appendChild(w),_=document.createElement("fa-icon"),_.setIcon("xmark"),w.appendChild(_));const E=["tiny","short","medium","long"];let S=!1;for(let e=0;e<4;e++)t.classList.contains(E[e])&&(S=!0);S||t.classList.add("short"),new MutationObserver((()=>{t.disabled?(y.classList.add("disabled"),w?.classList.add("disabled")):(y.classList.remove("disabled"),w?.classList.remove("disabled"))})).observe(t,{attributeFilter:["disabled"]}),t.disabled&&(y.classList.add("disabled"),w?.classList.add("disabled")),M.set(t,{clearButton:w,shadow:b,disableClear:a,isDateTime:n,isEmpty:h,isTimeOnly:r,ignoreTimezone:l,onClose:null})}))},previousMonth(){"0"===q.value?(q.value="11",U.value=(+U.value-1).toString()):q.value=(+q.value-1).toString(),v(void 0,+q.value,+U.value)},nextMonth(){"11"===q.value?(q.value="0",U.value=(+U.value+1).toString()):q.value=(+q.value+1).toString(),v(void 0,+q.value,+U.value)},getDate(e){const t=(e=S(e)).dataset.value||"";return t?new Date(+t):null},setDate(e,t){e=S(e);const n=M.get(e);e.dataset.value=t.getTime().toString();let i,r="";n.isDateTime?n.isTimeOnly?(i=o.formatTime(t),r="H:i"):n.ignoreTimezone?(i=o.formatDateTime(t),r="Y-m-dTH:i:s"):(i=o.formatDateTime(t),r="c"):(i=o.formatDate(t),r="Y-m-d"),e.value=i,n.shadow.value=o.format(t,r),n.disableClear||n.clearButton.style.removeProperty("visibility")},getValue(e){e=S(e);const t=M.get(e);return t?t.shadow.value:""},clear(e){e=S(e);const t=M.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=S(e);const t=M.get(e),n=e.parentNode;n.parentNode.insertBefore(e,n),n.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",f),t.shadow.remove(),e.classList.remove("inputDatePicker"),e.readOnly=!1,M.delete(e)},setCloseCallback(e,t){e=S(e),M.get(e).onClose=t}};return window.__wcf_bc_datePicker=H,H})),define("WoltLabSuite/Core/Helper/Selector",["require","exports"],(function(e,t){"use strict";function n(e){for(const[t,n]of a.entries()){e.matches(t)&&i(e,n);const o=e.querySelectorAll(t);for(const e of o)i(e,n)}}function i(e,t){for(const n of t)n(e)}function o(e,t){a.has(e)||a.set(e,[]),a.get(e).push(t),n(document.body),void 0===r&&(r=new MutationObserver((e=>{for(const t of e)for(const e of t.addedNodes)e instanceof HTMLElement&&n(e)})),r.observe(document,{subtree:!0,childList:!0}))}let r;Object.defineProperty(t,"__esModule",{value:!0}),t.wheneverFirstSeen=t.wheneverSeen=void 0;const a=new Map;t.wheneverSeen=o,t.wheneverFirstSeen=function(e,t){const n=new WeakSet;o(e,(e=>{n.has(e)||(n.add(e),t(e))}))}})),define("WoltLabSuite/Core/Form/XsrfToken",["require","exports","../Core","../Helper/Selector"],(function(e,t,n,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,t.setup=function(){const e=(0,n.getXsrfToken)();(0,i.wheneverFirstSeen)(".xsrfTokenInput",(t=>{(function(e){return"INPUT"===e.nodeName})(t)&&(t.value=e,t.classList.add("xsrfTokenInputHandled"))}))}})),define("WoltLabSuite/Core/Ui/Dialog",["require","exports","tslib","../Core","../Dom/Change/Listener","./Screen","../Dom/Util","../Language","../Environment","../Event/Handler","./CloseOverlay","focus-trap"],(function(e,t,n,i,o,r,a,s,l,c,d,u){"use strict";i=n.__importStar(i),o=n.__importDefault(o),r=n.__importStar(r),a=n.__importDefault(a),s=n.__importStar(s),l=n.__importStar(l),c=n.__importStar(c),d=n.__importDefault(d);let p,m=null;const h=new Map;let f=!1;const g=new WeakMap,b=new Map;let v;const y=["onBeforeClose","onClose","onShow"],_=["number","password","search","tel","text","url"],w={setup(){p=document.createElement("div"),p.classList.add("dialogOverlay"),p.setAttribute("aria-hidden","true"),p.addEventListener("mousedown",(e=>this._closeOnBackdrop(e))),p.addEventListener("wheel",(e=>{e.target===p&&e.preventDefault()}),{passive:!1}),document.getElementById("content").appendChild(p),v=e=>{if("Escape"===e.key){const t=e.target;if("INPUT"!==t.nodeName&&"TEXTAREA"!==t.nodeName){const e=h.get(m);return!e.closable||("function"==typeof e.onBeforeClose?(e.onBeforeClose(m),!1):(this.close(m),!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",(()=>{h.forEach((e=>{i.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 n=document.getElementById(t);null!==n&&(n.classList.remove("jsStaticDialogContent"),n.dataset.isStaticDialog="true",a.default.hide(n),e.addEventListener("click",(e=>{e.preventDefault(),this.openStatic(n.id,null,{title:n.dataset.title||""})})))}}))},open(t,o){let r=g.get(t);if(r&&i.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(!i.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(i.isPlainObject(s.source)){if("string"!=typeof o||""===o.trim())return new Promise(((t,n)=>{e(["../Ajax"],t,n)})).then(n.__importStar).then((e=>{const n=s.source;e.api(this,n.data,(e=>{e.returnValues&&"string"==typeof e.returnValues.template&&(this.open(t,e.returnValues.template),"function"==typeof n.after&&n.after(h.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){this.isOpen(t)||r.pageOverlayOpen(),"desktop"!==l.platform()&&(this.isOpen(t)||r.scrollDisable()),h.has(t)?this._updateDialog(t,o):((a=i.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,n)=>{e(["./Confirmation"],t,n)})).then(n.__importStar).then((e=>{e.show({confirm:this.close.bind(this,t),message:a.closeConfirmMessage||""})}))}),this._createDialog(t,o,a));const c=h.get(t);return"ios"===l.platform()&&window.setTimeout((()=>{c.content.querySelector("input, textarea")?.focus()}),200),c},setTitle(e,t){e=this._getDialogId(e);const n=h.get(e);if(void 0===n)throw new Error("Expected a valid dialog id, '"+e+"' does not match any active dialog.");const i=n.dialog.querySelector(".dialogTitle");i&&(i.textContent=t)},setCallback(e,t,n){if("object"==typeof e){const t=g.get(e);void 0!==t&&(e=t.id)}const i=h.get(e);if(void 0===i)throw new Error(`Expected a valid dialog id, '${e}' does not match any active dialog.`);if(-1===y.indexOf(t))throw new Error("Invalid callback identifier, '"+t+"' is not recognized.");if("function"!=typeof n&&null!==n)throw new Error("Only functions or the 'null' value are acceptable callback values ('"+typeof n+"' given).");i[t]=n},removeCallback(e,t){if("object"==typeof e){const t=g.get(e);void 0!==t&&(e=t.id)}const n=h.get(e);if(void 0===n)throw new Error(`Expected a valid dialog id, '${e}' does not match any active dialog.`);if(-1===y.indexOf(t))throw new Error("Invalid callback identifier, '"+t+"' is not recognized.");n[t]=void 0},_createDialog(e,t,n){let i=null;if(null===t&&(i=document.getElementById(e),null===i))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=n.title,l.id=s,r.appendChild(l),n.closable){const e=document.createElement("button");e.type="button",e.innerHTML='',e.classList.add("dialogCloseButton","jsTooltip"),e.title=n.closeButtonLabel,e.setAttribute("aria-label",n.closeButtonLabel),e.addEventListener("click",(()=>this._close())),r.appendChild(e)}new ResizeObserver((()=>{if("false"===o.getAttribute("aria-hidden")){const e=Math.floor(o.getBoundingClientRect().width/2);o.style.setProperty("--translate-x",`-${e}px`)}})).observe(o);const c=document.createElement("div");let d;if(c.classList.add("dialogContent"),n.disableContentPadding&&c.classList.add("dialogContentNoPadding"),o.appendChild(c),c.addEventListener("wheel",(e=>{let t,n,i,o=!1,r=e.target;for(;;){if(t=r.clientHeight,n=r.scrollHeight,t0){o=!0;break}if(e.deltaY>0&&i+t1?(d=document.createElement("div"),d.id=e,d.appendChild(t)):d=n[0]}}else d=i;c.appendChild(d),"none"===d.style.getPropertyValue("display")&&a.default.show(d);const m=(0,u.createFocusTrap)(o,{allowOutsideClick:!0,escapeDeactivates:()=>(h.get(e).closable&&w.close(e),!1),fallbackFocus:o});h.set(e,{backdropCloseOnClick:n.backdropCloseOnClick,closable:n.closable,content:d,dialog:o,focusTrap:m,header:r,onBeforeClose:n.onBeforeClose,onClose:n.onClose,onShow:n.onShow,submitButton:null,inputFields:new Set}),p.insertBefore(o,p.firstChild),"function"==typeof n.onSetup&&n.onSetup(d),this._updateDialog(e,null)},_updateDialog(e,t){const n=h.get(e);if(void 0===n)throw new Error("Expected a valid dialog id, '"+e+"' does not match any active dialog.");if("string"==typeof t&&a.default.setInnerHtml(n.content,t),i.stringToBool(n.dialog.getAttribute("aria-hidden"))){d.default.execute(),n.closable&&i.stringToBool(p.getAttribute("aria-hidden"))&&window.addEventListener("keyup",v),n.dialog.parentNode.insertBefore(n.dialog,n.dialog.parentNode.firstChild),n.dialog.setAttribute("aria-hidden","false"),p.setAttribute("aria-hidden","false"),p.setAttribute("close-on-click",n.backdropCloseOnClick?"true":"false"),m=e;const t=n.header.querySelector(".dialogCloseButton");t&&t.setAttribute("inert","true"),t&&t.removeAttribute("inert"),"function"==typeof n.onShow&&n.onShow(n.content),i.stringToBool(n.content.dataset.isStaticDialog||"")&&c.fire("com.woltlab.wcf.dialog","openStatic",{content:n.content,id:e})}this.rebuild(e),o.default.trigger(),n.focusTrap.activate()},rebuild(e){const t=this._getDialogId(e),n=h.get(t);if(void 0===n)throw new Error("Expected a valid dialog id, '"+t+"' does not match any active dialog.");if(i.stringToBool(n.dialog.getAttribute("aria-hidden")))return;const o=n.content.parentNode,r=n.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(n.header);const l=window.innerHeight*(f?1:.8)-s;o.style.setProperty("max-height",~~l+"px","");const c=Math.floor(n.dialog.getBoundingClientRect().width/2);n.dialog.style.setProperty("--translate-x",`-${c}px`);const d=b.get(t);if(void 0!==d&&"function"==typeof d._dialogSubmit){const e=n.content.querySelectorAll('input[data-dialog-submit-on-enter="true"]'),i=n.content.querySelector('.formSubmit > input[type="submit"], .formSubmit > button[data-type="submit"]');if(null===i)return void(0===e.length&&console.warn("Broken dialog, expected a submit button.",n.content));if(n.submitButton!==i){n.submitButton=i,i.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,i=e.length;t{e.required&&(""===e.value.trim()?(a.default.innerError(e,s.get("wcf.global.form.error.empty")),e.closest("dl")?.classList.add("formError"),n=!1):(a.default.innerError(e,!1),e.closest("dl")?.classList.remove("formError")))})),n){const t=b.get(e);"function"==typeof t._dialogSubmit&&t._dialogSubmit()}},submit(e){this._submit(e)},_close(){const e=h.get(m);return void 0===e||!e.closable||("function"==typeof e.onBeforeClose?(e.onBeforeClose(m),!1):(this.close(m),!0))},_closeOnBackdrop(e){e.target===p&&(i.stringToBool(p.getAttribute("close-on-click"))?(e.preventDefault(),this._close()):e.preventDefault())},close(e){e=this._getDialogId(e);let t=h.get(e);if(void 0===t)throw new Error("Expected a valid dialog id, '"+e+"' does not match any active dialog.");try{t.focusTrap.deactivate()}catch(e){const t="Your focus-trap must have at least one container with at least one tabbable node in it at all times";if(e.message!==t)throw e}t.dialog.setAttribute("aria-hidden","true");const n=document.activeElement;n.closest(".dialogContainer")===t.dialog&&n.blur(),"function"==typeof t.onClose&&t.onClose(e),m=null;for(let e=0;e({})};return w})),define("WoltLabSuite/Core/Ui/Dropdown/Simple",["require","exports","tslib","../../CallbackList","../../Core","../../Dom/Traverse","../../Dom/Util","../Alignment","../CloseOverlay","../../Helper/PageOverlay","../../Helper/Selector"],(function(e,t,n,i,o,r,a,s,l,c,d){"use strict";function u(e){const t=e.currentTarget,n=t.querySelectorAll(".dropdown.dropdownOpen");for(let e=0,i=n.length;e=s.top+t.offsetHeight||r.left<=s.left||r.left>=s.left+t.offsetWidth?C.toggleDropdown(o):C.setAlignment(y.get(o),_.get(o))}}function p(){y.forEach(((e,t)=>{if(e.classList.contains("dropdownOpen"))if(o.stringToBool(e.dataset.isOverlayDropdownButton||""))C.setAlignment(e,_.get(t));else{const n=_.get(e.id);o.stringToBool(n.dataset.dropdownIgnorePageScroll||"")||C.close(t)}}))}function m(e,t){b.forEach(e,(n=>{n(e,t)}))}function h(e,t,n,i){if(null!==e){e.preventDefault(),e.stopPropagation();const n=e.currentTarget;t=n.dataset.target,void 0===i&&e instanceof MouseEvent&&(o.stringToBool(n.dataset.isKeyboardClick||"")?delete n.dataset.isKeyboardClick:i=!0)}S=!0;try{l.default.execute(l.Origin.DropDown,t)}finally{S=!1}let a=y.get(t),s=!1;if(void 0!==a){let n,l;if(e&&(n=e.currentTarget,l=n.parentNode,l!==a&&(l.classList.add("dropdown"),l.id=a.id,a.classList.remove("dropdown"),a.id="",a=l,y.set(t,l))),void 0===i&&(n=a.closest(".dropdownToggle"),n||(n=a.querySelector(".dropdownToggle"),!n&&a.id&&(n=document.querySelector('[data-target="'+a.id+'"]'))),n&&o.stringToBool(n.dataset.dropdownLazyInit||"")&&(i=!0)),o.stringToBool(a.dataset.dropdownPreventToggle||"")&&a.classList.contains("dropdownOpen")&&(s=!0),""===a.dataset.isOverlayDropdownButton){const e=r.parentByClass(a,"dialogContent");a.dataset.isOverlayDropdownButton=null!==e?"true":"false",null!==e&&e.addEventListener("scroll",u)}}return E="",y.forEach(((e,r)=>{const a=_.get(r);if(e.classList.contains("dropdownOpen"))if(s)E=t;else{e.classList.remove("dropdownOpen"),a.classList.remove("dropdownOpen");const t=e.querySelector(".dropdownToggle");t&&t.setAttribute("aria-expanded","false"),m(r,"close")}else if(r===t&&a.childElementCount>0){E=t,e.classList.add("dropdownOpen"),a.classList.add("dropdownOpen");const s=e.querySelector(".dropdownToggle");s&&s.setAttribute("aria-expanded","true");const l=a.childElementCount>0?a.children[0]:null;if(l&&o.stringToBool(l.dataset.scrollToActive||"")){delete l.dataset.scrollToActive;let e=null;for(let t=0,n=l.childElementCount;tc.clientHeight?"add":"remove"]("forceScrollbar"),m(r,"open");let d=null;if(!i){a.setAttribute("role","menu"),a.tabIndex=-1,a.removeEventListener("keydown",g),a.addEventListener("keydown",g);const e=Array.from(a.querySelectorAll("li")).filter((e=>e.clientHeight>0));d=e.find((e=>e.classList.contains("active")))||e[0]||null,e.forEach((e=>{e.setAttribute("role","menuitem"),e.tabIndex=-1}))}C.setAlignment(e,a,n),null!==d&&d.focus()}})),null===e}function f(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()):h(e)))}function g(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 n=Array.from(t.closest(".dropdownMenu").querySelectorAll("li"));"ArrowUp"!==e.key&&"End"!==e.key||n.reverse();let i=null;const o=e=>!e.classList.contains("dropdownDivider")&&e.clientHeight>0;let r=n.indexOf(t);"End"!==e.key&&"Home"!==e.key||(r=-1);for(let e=r+1;eC.closeAll())),(0,d.wheneverFirstSeen)(".dropdownToggle",(e=>C.init(e,!1))),document.addEventListener("scroll",p),window.bc_wcfSimpleDropdown=this)},init(e,t){if(C.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 n=r.parentByClass(e,"dropdown");if(null===n)throw new Error("Invalid dropdown passed, button '"+a.default.identify(e)+"' does not have a parent with .dropdown.");const i=r.nextByClass(e,"dropdownMenu");if(null===i)throw new Error("Invalid dropdown passed, button '"+a.default.identify(e)+"' does not have a menu as next sibling.");w.appendChild(i);const s=a.default.identify(n);if(!y.has(s)&&(e.classList.add("jsDropdownEnabled"),e.addEventListener("click",h),e.addEventListener("keydown",f),y.set(s,n),_.set(s,i),/^wcf\d+$/.test(s)||(i.dataset.source=s),i.childElementCount&&i.children[0].classList.contains("scrollableDropdownMenu"))){const e=i.children[0];e.dataset.scrollToActive="true";let t=null,n=null;e.addEventListener("wheel",(i=>{null===t&&(t=e.clientHeight),null===n&&(n=e.scrollHeight),(i.deltaY<0&&0===e.scrollTop||i.deltaY>0&&e.scrollTop+t===n)&&i.preventDefault()}),{passive:!1})}return e.dataset.target=s,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){C.setup();const n=a.default.identify(e);y.has(n)||(y.set(n,e),w.appendChild(t),_.set(n,t))},registerCallback(e,t){b.add(e,t)},getDropdown:e=>y.get(e),getDropdownMenu:e=>_.get(e),toggleDropdown(e,t,n){h(null,e,t,n)},setAlignment(e,t,n){const i=e.querySelector(".dropdownToggle"),o=null!==i?i.parentNode:null;let r;o&&o.classList.contains("inputAddonTextarea")&&(r=i),s.set(t,n||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=y.get(e);if(void 0===t)throw new Error("Unknown dropdown identifier '"+e+"'.");const n=_.get(e);C.setAlignment(t,n)},isOpen(e){const t=_.get(e);return void 0!==t&&t.classList.contains("dropdownOpen")},open(e,t,n){const i=_.get(e);void 0===i||i.classList.contains("dropdownOpen")||C.toggleDropdown(e,n,t)},close(e){const t=y.get(e);void 0!==t&&(t.classList.remove("dropdownOpen"),_.get(e).classList.remove("dropdownOpen"))},closeAll(){S||y.forEach(((e,t)=>{e.classList.contains("dropdownOpen")&&(e.classList.remove("dropdownOpen"),_.get(t).classList.remove("dropdownOpen"),m(t,"close"))}))},destroy(e){if(!y.has(e))return!1;try{C.close(e),_.get(e)?.remove()}catch(e){}return _.delete(e),y.delete(e),!0},_toggle:(e,t,n,i)=>h(e,t,n,i)};return C})),define("WoltLabSuite/Core/Ui/Dropdown/Reusable",["require","exports","tslib","./Simple"],(function(e,t,n,i){"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,i=n.__importDefault(i);const r=new Map;let a=0;t.init=function(e,t){if(r.has(e))return;const n=document.createElement("div");n.id="reusableDropdownGhost"+a++,i.default.initFragment(n,t),r.set(e,n.id)},t.getDropdownMenu=function(e){return i.default.getDropdownMenu(o(e))},t.registerCallback=function(e,t){i.default.registerCallback(o(e),t)},t.toggleDropdown=function(e,t){i.default.toggleDropdown(o(e),t)}})),define("WoltLabSuite/Core/Ui/Page/Menu/Container",["require","exports","tslib","focus-trap","../../Screen","../../CloseOverlay","../../../Dom/Util"],(function(e,t,n,i,o,r,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PageMenuContainer=void 0,r=n.__importDefault(r),a=n.__importDefault(a);class s{container=document.createElement("div");content=document.createElement("div");focusTrap=void 0;provider;constructor(e){this.provider=e,this.container.hidden=!0;const t=a.default.identify(this.provider.getMenuButton());r.default.add(`WoltLabSuite/Core/Ui/PageMenu/Container-${t}`,(()=>{this.container.hidden||this.close()}))}open(){r.default.execute(),this.buildElements(),0===this.content.childElementCount&&this.content.append(this.provider.getContent()),this.provider.getMenuButton().setAttribute("aria-expanded","true"),(0,o.pageOverlayOpen)(),(0,o.scrollDisable)(),this.container.hidden=!1,this.provider.wakeup(),this.getFocusTrap().activate()}close(){this.provider.getMenuButton().setAttribute("aria-expanded","false"),(0,o.pageOverlayClose)(),(0,o.scrollEnable)(),this.container.hidden=!0,this.getFocusTrap().deactivate(),this.provider.sleep()}toggle(){this.container.hidden?this.open():this.close()}getContent(){return this.content}buildElements(){this.container.classList.contains("pageMenuContainer")||(this.container.classList.add("pageMenuContainer"),this.container.hidden=!0,this.container.addEventListener("click",(e=>{e.target===this.container&&this.close()})),this.content.classList.add("pageMenuContent"),this.content.addEventListener("click",(e=>{e.stopPropagation()})),this.container.append(this.content),document.body.append(this.container))}getFocusTrap(){return void 0===this.focusTrap&&(this.focusTrap=(0,i.createFocusTrap)(this.content,{allowOutsideClick:!0})),this.focusTrap}}t.PageMenuContainer=s,t.default=s})),define("WoltLabSuite/Core/Ui/Page/Menu/Main",["require","exports","tslib","./Container","../../../Language","../../../Dom/Util","../../Dropdown/Simple"],(function(e,t,n,i,o,r,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PageMenuMain=void 0,i=n.__importDefault(i),o=n.__importStar(o),r=n.__importDefault(r),a=n.__importStar(a);class s{container;mainMenu;mainMenuButton;menuItemBadges=new Map;menuItemProvider;observer;constructor(e){this.mainMenu=document.querySelector(".mainMenu"),this.menuItemProvider=e,this.mainMenuButton=document.querySelector(".pageHeaderMenuMobile"),this.mainMenuButton.addEventListener("click",(e=>{e.stopPropagation(),this.container.toggle()})),this.container=new i.default(this),this.observer=new MutationObserver((e=>{let t=!1;e.forEach((e=>{(e.addedNodes.length>0||e.removedNodes.length>0||"characterData"===e.type)&&(t=!0)})),t&&this.refreshUnreadIndicator()})),this.watchForChanges()}enable(){this.mainMenuButton.setAttribute("aria-expanded","false"),this.mainMenuButton.querySelector("fa-icon").setIcon("bars"),this.refreshUnreadIndicator()}disable(){this.container.close(),this.mainMenuButton.setAttribute("aria-expanded","false"),this.mainMenuButton.querySelector("fa-icon").setIcon("bars")}getContent(){const e=document.createElement("div");e.classList.add("pageMenuMainContainer"),e.addEventListener("scroll",(()=>this.updateOverflowIndicator(e)),{passive:!0}),e.append(this.buildMainMenu());const t=this.buildLanguageMenu();t&&e.append(t);const n=this.buildFooterMenu();n&&e.append(n);const i=new ResizeObserver((()=>this.updateOverflowIndicator(e)));Array.from(e.children).forEach((e=>{i.observe(e)}));const o=document.createDocumentFragment();return o.append(e),o}getMenuButton(){return this.mainMenuButton}sleep(){this.watchForChanges()}wakeup(){this.observer.disconnect(),this.refreshUnreadIndicator()}watchForChanges(){this.observer.observe(this.mainMenu,{childList:!0,subtree:!0})}buildMainMenu(){const e=this.mainMenu.querySelector(".boxMenu"),t=this.buildMenu(e);return t.setAttribute("aria-label",window.PAGE_TITLE),t.setAttribute("role","navigation"),this.showActiveMenuItem(t),t}showActiveMenuItem(e){const t=e.querySelector('.pageMenuMainItemLink[aria-current="page"]');if(t){let e=t;for(;e&&e.parentElement;)if(e=e.parentElement.closest(".pageMenuMainItemList"),e){e.hidden=!1;const t=e.previousElementSibling;t?.setAttribute("aria-expanded","true")}const n=t.nextElementSibling;n&&(n.setAttribute("aria-expanded","true"),n.nextElementSibling.hidden=!1)}}buildLanguageMenu(){const e=a.getDropdownMenu("pageLanguageContainer");if(void 0===e)return null;const t=[],n=new Map;Array.from(e.children).forEach((e=>{const i=e.dataset.languageCode,o=e.querySelector("span").textContent.trim();n.set(i,e.querySelector("a")),t.push({active:!1,children:[],counter:0,depth:1,identifier:i,title:o})}));const i=[{active:!1,children:t,counter:0,depth:0,identifier:"language",title:o.get("wcf.user.language")}],r=document.createElement("nav");return r.classList.add("pageMenuMainNavigation","pageMenuMainNavigationLanguage"),r.append(this.buildMenuItemList(i,!0)),r.querySelectorAll(".pageMenuMainItemList .pageMenuMainItemLabel[data-identifier]").forEach((e=>{e.addEventListener("click",(t=>{t.preventDefault();const i=e.dataset.identifier;n.get(i).click()}))})),r}buildFooterMenu(){const e=document.querySelector('.box[data-box-identifier="com.woltlab.wcf.FooterMenu"]');if(null===e)return null;const t=e.querySelector(".boxMenu"),n=this.buildMenu(t);n.classList.add("pageMenuMainNavigationFooter");const i=e.querySelector("nav").getAttribute("aria-label");return n.setAttribute("aria-label",i),n}buildMenu(e){const t=this.menuItemProvider.getMenuItems(e),n=document.createElement("nav");return n.classList.add("pageMenuMainNavigation"),n.append(this.buildMenuItemList(t,!1)),n}buildMenuItemList(e,t){const n=document.createElement("ul");return n.classList.add("pageMenuMainItemList"),e.filter((e=>!(!t&&!e.link&&0===e.children.length))).forEach((e=>{n.append(this.buildMenuItem(e,t))})),n}buildMenuItem(e,t){const n=document.createElement("li");if(n.dataset.depth=e.depth.toString(),n.classList.add("pageMenuMainItem"),e.link){const t=document.createElement("a");if(t.classList.add("pageMenuMainItemLink"),t.href=e.link,t.textContent=e.title,e.active&&t.setAttribute("aria-current","page"),e.identifier&&(t.dataset.identifier=e.identifier),e.openInNewWindow&&(t.target="_blank"),e.counter>0){const n=document.createElement("span");n.classList.add("pageMenuMainItemCounter","badge","badgeUpdate"),n.setAttribute("aria-hidden","true"),n.textContent=e.counter.toString(),null!==e.identifier&&this.menuItemBadges.set(e.identifier,n),t.append(n)}n.append(t)}else{const i=document.createElement("a");i.classList.add("pageMenuMainItemLabel"),i.href="#",i.textContent=e.title,e.identifier&&(i.dataset.identifier=e.identifier),t&&"language"!==e.identifier||(i.addEventListener("click",(e=>{e.preventDefault(),i.nextElementSibling.click()})),i.setAttribute("aria-hidden","true")),n.append(i)}if(e.children.length){n.classList.add("pageMenuMainItemExpandable");const i=r.default.getUniqueId(),a=document.createElement("button");a.type="button",a.classList.add("pageMenuMainItemToggle"),a.setAttribute("aria-expanded","false"),a.setAttribute("aria-controls",i),a.innerHTML='';let s=e.title;e.link&&(s=o.get("wcf.menu.page.button.toggle",{title:e.title})),a.setAttribute("aria-label",s);const l=this.buildMenuItemList(e.children,t);l.id=i,l.hidden=!0,a.addEventListener("click",(()=>{this.toggleList(a,l)})),l.addEventListener("keydown",(e=>{"Escape"===e.key&&(e.preventDefault(),e.stopPropagation(),this.toggleList(a,l))})),n.append(a,l)}return n}toggleList(e,t){t.hidden?(e.setAttribute("aria-expanded","true"),t.hidden=!1):(e.setAttribute("aria-expanded","false"),t.hidden=!0,document.activeElement!==e&&e.focus())}refreshUnreadIndicator(){null!==this.mainMenu.querySelector(".boxMenuLinkOutstandingItems")?this.mainMenu.classList.add("pageMenuMobileButtonHasContent"):this.mainMenu.classList.remove("pageMenuMobileButtonHasContent"),this.menuItemProvider.getMenuItems(this.mainMenu).forEach((e=>this.refreshUnreadBage(e)))}refreshUnreadBage(e){if(null!==e.identifier){const t=this.menuItemBadges.get(e.identifier);t&&(0===e.counter?(t.remove(),this.menuItemBadges.delete(e.identifier)):parseInt(t.textContent,10)!==e.counter&&(t.textContent=e.counter.toString()))}e.children.forEach((e=>this.refreshUnreadBage(e)))}updateOverflowIndicator(e){e.clientHeight0?e.classList.add("pageMenuMainContainerOverflowTop"):e.classList.remove("pageMenuMainContainerOverflowTop"),e.clientHeight+e.scrollTopu(e))),g.set(e,t)}return g.get(e)}function m(){return void 0===h&&(h=document.createElement("div"),h.classList.add("dropdownMenuContainer"),(0,l.getPageOverlayContainer)().append(h)),h}let h;Object.defineProperty(t,"__esModule",{value:!0}),t.registerProvider=t.getContainer=t.getUserMenuProviders=void 0,i=n.__importStar(i),o=n.__importDefault(o),r=n.__importStar(r),a=n.__importDefault(a),s=n.__importStar(s);const f=new Set,g=new Map;t.getUserMenuProviders=function(){return f},t.getContainer=m,t.registerProvider=function(e){0===f.size&&(o.default.add("WoltLabSuite/Ui/User/Menu",(()=>{f.forEach((e=>u(e)))})),r.add("com.woltlab.wcf.UserMenuMobile","more",(e=>{f.forEach((t=>{e.identifier===t.getIdentifier()&&c(t)}))})),window.addEventListener("resize",(()=>{f.forEach((e=>{const t=e.getPanelButton();t.classList.contains("open")&&d(p(e).getElement(),t)}))}),{passive:!0}),s.on("screen-md-down",{match(){f.forEach((e=>{e.getPanelButton().classList.contains("open")&&u(e)}))},setup(){f.forEach((e=>{e.getPanelButton().classList.contains("open")&&u(e)}))}})),function(e){f.add(e);const t=e.getPanelButton();t.addEventListener("click",(n=>{n.preventDefault(),n.stopPropagation(),t.classList.contains("open")?u(e):c(e)}))}(e)}})),define("WoltLabSuite/Core/Ui/User/Menu/ControlPanel",["require","exports","tslib","../../CloseOverlay","./Manager","focus-trap","../../Alignment","../../../Dom/Util"],(function(e,t,n,i,o,r,a,s){"use strict";function l(){u.deactivate(),d.hidden=!0,c.classList.remove("open"),p.setAttribute("aria-expanded","false")}let c,d,u,p;Object.defineProperty(t,"__esModule",{value:!0}),t.setup=t.getElement=void 0,i=n.__importDefault(i),a=n.__importStar(a),s=n.__importDefault(s),t.getElement=function(){return d};let m=!1;t.setup=function(){m||(c=document.getElementById("userMenu"),d=c.querySelector(".userMenu"),p=c.querySelector("a"),i.default.add("WoltLabSuite/Core/Ui/User/Menu/ControlPanel",(()=>l())),(0,o.getContainer)().append(d),d.addEventListener("click",(e=>e.stopPropagation())),c.addEventListener("click",(e=>{e.preventDefault(),e.stopPropagation(),d.hidden?d.hidden&&(i.default.execute(),d.hidden=!1,c.classList.add("open"),p.setAttribute("aria-expanded","true"),u.activate(),function(e,t){if(a.set(e,t,{horizontal:"right"}),"fixed"===window.getComputedStyle(e).position&&null!==s.default.getFixedParent(t)){const{top:n,height:i}=t.getBoundingClientRect();e.style.setProperty("top",`${n+i}px`)}}(d,c)):l()})),u=(0,r.createFocusTrap)(d,{allowOutsideClick:!0,escapeDeactivates:()=>(l(),!1),fallbackFocus:d}),m=!0)}})),define("WoltLabSuite/Core/Ui/Page/Menu/User",["require","exports","tslib","./Container","../../../Language","../../User/Menu/Manager","../../../Dom/Util","../../User/Menu/ControlPanel","../../../Event/Handler","../../Screen"],(function(e,t,n,i,o,r,a,s,l,c){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.hasValidUserMenu=t.PageMenuUser=void 0,i=n.__importDefault(i),o=n.__importStar(o),a=n.__importDefault(a),l=n.__importStar(l);class d{activeTab=void 0;container;legacyUserPanels=new Map;observer;userMenuProviders=new Map;tabOrigins=new Map;tabPanels=new Map;tabs=[];userMenu;userMenuButton;constructor(){this.userMenu=document.querySelector(".userPanel"),this.userMenuButton=document.querySelector(".pageHeaderUserMobile"),this.userMenuButton.addEventListener("click",(t=>{t.stopPropagation(),e.then((()=>this.container.toggle()))})),this.container=new i.default(this);const e=new Promise((e=>{"complete"===document.readyState?e():document.addEventListener("readystatechange",(()=>{"complete"===document.readyState&&e()}))}));(0,c.on)("screen-lg",{match:()=>this.detachViewsFromPanel(),unmatch:()=>this.detachViewsFromPanel()}),this.observer=new MutationObserver((()=>{this.refreshTabUnreadIndicators()}))}enable(){this.userMenuButton.setAttribute("aria-expanded","false"),this.refreshUnreadIndicator()}disable(){this.container.close(),this.userMenuButton.setAttribute("aria-expanded","false")}getContent(){const e=document.createDocumentFragment();return e.append(this.buildTabMenu()),e}getMenuButton(){return this.userMenuButton}sleep(){this.activeTab&&this.closeTab(this.activeTab),this.detachViewsFromPanel(),this.refreshUnreadIndicator()}wakeup(){this.activeTab?this.openTab(this.activeTab):this.isInMaintenanceMode()?this.openTab(this.tabs[0]):this.openNotifications(),this.refreshTabUnreadIndicators(),this.refreshUnreadIndicator()}isInMaintenanceMode(){return"wcf"===document.body.dataset.application&&"offline"===document.body.dataset.template}openNotifications(){const e=this.tabs.find((e=>"userNotifications"===e.dataset.origin));if(!e)throw new Error("Unable to find the notifications tab.");this.openTab(e)}openTab(e){this.closeActiveTab(),e.setAttribute("aria-selected","true"),e.tabIndex=0;const t=this.tabPanels.get(e);t.hidden=!1,document.activeElement!==e&&e.focus(),this.attachViewToPanel(e),this.activeTab=e,this.observer.observe(t,{attributeFilter:["data-is-unread"],childList:!0,subtree:!0})}closeActiveTab(){this.activeTab&&(this.closeTab(this.activeTab),this.activeTab=void 0)}closeTab(e){e.setAttribute("aria-selected","false"),e.tabIndex=-1,this.tabPanels.get(e).hidden=!0;const t=this.legacyUserPanels.get(e);t&&t.close(),this.observer.disconnect(),this.refreshTabUnreadIndicators()}attachViewToPanel(e){const t=e.dataset.origin,n=this.tabPanels.get(e);if("userMenu"===t){const e=(0,s.getElement)();e.hidden=!1,0===n.childElementCount&&(this.tabOrigins.set(n,e.parentElement),n.append(e))}else if(0===n.childElementCount){const t=this.userMenuProviders.get(e);if(t){const e=t.getView(),i=e.getElement();this.tabOrigins.set(n,i.parentElement),n.append(i),e.open()}else{const t=this.legacyUserPanels.get(e);t.open();const{top:i}=n.getBoundingClientRect();t.getDropdown().getContainer()[0].style.setProperty("--offset-top",`${i}px`)}}}detachViewsFromPanel(){this.tabPanels.forEach(((e,t)=>{if(e.childElementCount){const n=this.tabOrigins.get(e);if(n)if("userMenu"===t.dataset.origin){const t=e.children[0];t.hidden=!0,n.append(t)}else{const e=this.userMenuProviders.get(t);if(e){const t=e.getView().getElement();t.hidden=!0,n.append(t)}}}}))}keydown(e){const t=e.currentTarget;if("Enter"===e.key||" "===e.key)return e.preventDefault(),void this.openTab(t);if(!["ArrowLeft","ArrowRight","End","Home"].includes(e.key))return;e.preventDefault();const n=this.tabs.indexOf(t),i=this.tabs.length-1;let o;o="ArrowLeft"===e.key?0===n?i:n-1:"ArrowRight"===e.key?n===i?0:n+1:"End"===e.key?i:0,this.tabs[o].focus()}buildTabMenu(){const e=document.createElement("div");e.classList.add("pageMenuUserTabContainer");const t=document.createElement("div");return t.classList.add("pageMenuUserTabList"),t.setAttribute("role","tablist"),t.setAttribute("aria-label",o.get("wcf.menu.user")),e.append(t),this.buildControlPanelTab(t,e),(0,r.getUserMenuProviders)().forEach((n=>{const[i,o]=this.buildTab(n);t.append(i),e.append(o),this.tabs.push(i),this.tabPanels.set(i,o),this.userMenuProviders.set(i,n)})),this.buildLegacyTabs(t,e),e}buildTab(e){const t=e.getPanelButton(),n=t.querySelector("a");let i=n.querySelector("fa-icon")?.outerHTML;void 0===i&&(i='');const o={icon:i,label:n.dataset.title||n.title,origin:t.id};return this.buildTabComponents(o)}buildControlPanelTab(e,t){const n=document.getElementById("userMenu"),i=n.querySelector("a"),o={icon:this.userMenuButton.querySelector(".userAvatarImage").outerHTML,label:i.dataset.title||i.title,origin:n.id},[r,a]=this.buildTabComponents(o);e.append(r),t.append(a),this.tabs.push(r),this.tabPanels.set(r,a)}buildLegacyTabs(e,t){const n=document.querySelector(".userPanelItems"),i={panels:[]};l.fire("com.woltlab.wcf.pageMenu","legacyMenu",i),Array.from(n.children).filter((e=>void 0!==i.panels.find((t=>t.element===e)))).map((e=>{const t=e.querySelector("a");return{icon:t.querySelector(".icon").outerHTML,label:t.dataset.title||t.title,origin:e.id}})).forEach((n=>{const[o,r]=this.buildTabComponents(n);e.append(o),t.append(r),this.tabs.push(o),this.tabPanels.set(o,r);const a=i.panels.find((e=>e.element.id===n.origin));this.legacyUserPanels.set(o,a.api)}))}buildTabComponents(e){const t=a.default.getUniqueId(),n=a.default.getUniqueId(),i=document.createElement("button");i.type="button",i.classList.add("pageMenuUserTab"),i.dataset.hasUnreadContent="false",i.dataset.origin=e.origin,i.id=t,i.setAttribute("aria-controls",n),i.setAttribute("aria-selected","false"),i.setAttribute("role","tab"),i.tabIndex=-1,i.setAttribute("aria-label",e.label),i.innerHTML=e.icon,i.addEventListener("click",(e=>{e.preventDefault(),this.openTab(i)})),i.addEventListener("keydown",(e=>this.keydown(e)));const o=document.createElement("div");return o.classList.add("pageMenuUserTabPanel"),o.id=n,o.hidden=!0,o.setAttribute("aria-labelledby",t),o.setAttribute("role","tabpanel"),o.tabIndex=0,[i,o]}refreshUnreadIndicator(){null!==this.userMenu.querySelector(".badge.badgeUpdate")?this.userMenu.classList.add("pageMenuMobileButtonHasContent"):this.userMenu.classList.remove("pageMenuMobileButtonHasContent")}refreshTabUnreadIndicators(){this.userMenuProviders.forEach(((e,t)=>{e.hasUnreadContent()?t.dataset.hasUnreadContent="true":t.dataset.hasUnreadContent="false"}))}}t.PageMenuUser=d,t.hasValidUserMenu=function(){return document.getElementById("topMenu").classList.contains("userPanelLoggedIn")},t.default=d})),define("WoltLabSuite/Core/Ui/Mobile",["require","exports","tslib","focus-trap","../Core","../Dom/Change/Listener","../Dom/Util","../Environment","./Alignment","./CloseOverlay","./Dropdown/Reusable","./Page/Menu/Main","./Page/Menu/User","./Screen","../Language"],(function(e,t,n,i,o,r,a,s,l,c,d,u,p,m,h){"use strict";function f(){N=!0,g(),b(),F&&(R=new u.PageMenuMain(W),R.enable(),(0,p.hasValidUserMenu)()&&(H=new p.PageMenuUser,H.enable())),c.default.add("WoltLabSuite/Core/Ui/Mobile",v),r.default.add("WoltLabSuite/Core/Ui/Mobile",(()=>{g(),b()})),document.addEventListener("scroll",(()=>E()),{passive:!0})}function g(){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 n=document.createElement("button");n.type="button",n.innerHTML='',n.classList.add("dropdownLabel"),n.addEventListener("click",(t=>{t.preventDefault(),t.stopPropagation(),e.classList.toggle("open")})),t.addEventListener("click",(function(t){t.stopPropagation(),e.classList.remove("open")})),e.insertBefore(n,e.firstChild)}))}function b(){document.querySelectorAll(".message").forEach((e=>{if(U.has(e))return;const t=e.querySelector(".jsMobileNavigation");if(t){t.addEventListener("click",(e=>{e.stopPropagation(),window.setTimeout((()=>{t.classList.remove("open")}),10)}));const n=e.querySelector(".messageQuickOptions");if(n&&t.childElementCount){n.classList.add("active");let i=n.querySelector(".messageQuickOptionsMobile");null===i&&(i=document.createElement("li"),i.innerHTML=`\n \n `,i.classList.add("messageQuickOptionsMobile"),n.append(i)),i.querySelector("button").addEventListener("click",(i=>{i.stopPropagation(),S(e,n,t)}))}}U.add(e)}))}function v(){document.querySelectorAll(".jsMobileButtonGroupNavigation.open, .jsMobileNavigation.open").forEach((e=>{e.classList.remove("open")})),N&&O&&E()}function y(){V=!0}function _(){V=!1,z.forEach((function(e){e.classList.remove("open")}))}function w(){z.forEach((function(e){e.addEventListener("mousedown",(function(t){V&&t.target===e&&(t.preventDefault(),e.classList.toggle("open"))}))})),V=!0}function E(){O?.classList.remove("dropdownOpen")}function S(e,t,n){if(null===O)O=document.createElement("ul"),O.className="dropdownMenu",d.init("com.woltlab.wcf.jsMobileNavigation",O);else if(O.classList.contains("dropdownOpen")&&(E(),j.deactivate(),j=void 0,q===e))return;O.innerHTML="",c.default.execute(),x(n);const o=n.previousElementSibling;if(o&&o.classList.contains("messageFooterButtonsExtra")){const e=document.createElement("li");e.className="dropdownDivider",O.appendChild(e),x(o)}l.set(O,t,{horizontal:"right",allowFlip:"vertical"}),O.classList.add("dropdownOpen"),q=e,j=(0,i.createFocusTrap)(O,{allowOutsideClick:!0,escapeDeactivates:()=>(S(e,t,n),!1),setReturnFocus:t}),j.activate()}function C(){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 n=e.parentElement,i=t.target;n.contains(i)||i===n||e.setAttribute("aria-expanded","false")}),{once:!0})}),{once:!0})}),{once:!0}))}),{passive:!1})}))}function L(){B=!0}function k(){B=!1}function x(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 n=e.querySelector("span:not(.icon)");t.innerHTML=`${n.textContent}`,t.children[0].addEventListener("click",(function(t){t.preventDefault(),t.stopPropagation(),"A"===e.nodeName?e.click():o.triggerEvent(e,"click"),E()})),O.appendChild(t)}))}function M(){c.default.execute(),N=!0,F&&(R.enable(),H?.enable())}function I(){$&&A($,".messageGroupLink")}function T(){c.default.execute(),N=!1,F&&(R.disable(),H?.disable())}function D(){$&&P($),O&&E()}function A(e,t){Array.from(e).forEach((e=>{const n=e.parentElement;let i=n.querySelector(".mobileLinkShadow");if(null===i){const o=e.querySelector(t);o.href&&(i=document.createElement("a"),i.className="mobileLinkShadow",i.href=o.href,i.setAttribute("aria-labelledby",a.default.identify(o)),n.appendChild(i),n.classList.add("mobileLinkShadowContainer"))}}))}function P(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,o=n.__importStar(o),r=n.__importDefault(r),a=n.__importDefault(a),s=n.__importStar(s),l=n.__importStar(l),c=n.__importDefault(c),d=n.__importStar(d),m=n.__importStar(m),h=n.__importStar(h);let j,O=null,q=null,N=!1,B=!1,F=!1;const U=new WeakSet;let R,H,W,V=!1,$=null;const z=[];t.setup=function(e,t){F=e,W=t,document.querySelectorAll(".boxesSidebarLeft").forEach((e=>{z.push(e)})),s.touch()&&document.documentElement.classList.add("touch"),"desktop"!==s.platform()&&document.documentElement.classList.add("mobile");const n=document.querySelector(".messageGroupList");n&&($=n.getElementsByClassName("messageGroup")),m.on("screen-md-down",{match:M,unmatch:T,setup:f}),m.on("screen-sm-down",{match:I,unmatch:D,setup:I}),m.on("screen-md-down",{match:y,unmatch:_,setup:w}),!s.touch()||"ios"!==s.platform()&&"android"!==s.platform()||m.on("screen-lg",{match:L,unmatch:k,setup:C})},t.enable=M,t.enableShadow=I,t.disable=T,t.disableShadow=D,t.rebuildShadow=A,t.removeShadow=P})),define("WoltLabSuite/Core/Ui/Page/Action",["require","exports","tslib","../../Core","../../Language","../../Ui/Screen"],(function(e,t,n,i,o,r){"use strict";function a(){if(document.documentElement.classList.contains("disableScrolling"))return;const e=window.pageYOffset;e!==g?(e>=b?(m.classList.contains("initiallyHidden")&&m.classList.remove("initiallyHidden"),m.setAttribute("aria-hidden","false")):m.setAttribute("aria-hidden","true"),l(),-1!==g&&h.classList[e"false"===e.getAttribute("aria-hidden")));p.classList[e?"add":"remove"]("active"),e?h.classList.add("pageActionHasContextButtons"):h.classList.remove("pageActionHasContextButtons")}function c(){if(f)return;f=!0,h=document.createElement("div"),h.className="pageAction",p=document.createElement("div"),p.className="pageActionButtons",h.appendChild(p),m=function(){const e=document.createElement("button");return e.type="button",e.classList.add("button","buttonPrimary","pageActionButtonToTop","initiallyHidden","jsTooltip"),e.title=o.get("wcf.global.scrollUp"),e.setAttribute("aria-hidden","true"),e.innerHTML='',e.addEventListener("click",s),e}(),h.appendChild(m),document.body.appendChild(h);const e=i.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);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,i=n.__importStar(i),o=n.__importStar(o),r=n.__importStar(r);const u=new Map;let p,m,h,f=!1,g=-1,b=300;const v=i.debounce((()=>{g=-1}),50);t.setup=c,t.add=function(e,t,n){c();const i=document.createElement("div");i.className="pageActionButton",i.dataset.name=e,i.setAttribute("aria-hidden","true"),t.classList.add("button"),t.classList.add("buttonPrimary"),i.appendChild(t);let o=null;n&&(o=u.get(n)||null,o&&(o=o.parentElement)),!o&&p.childElementCount&&(o=p.children[0]),o||(o=p.firstChild),p.insertBefore(i,o),h.classList.remove("scrolledDown"),u.set(e,t),i.offsetParent,i.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 n=t.parentElement,o=()=>{try{i.stringToBool(n.getAttribute("aria-hidden"))&&(p.removeChild(n),u.delete(e)),n.removeEventListener("transitionend",o)}catch(e){}};n.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"),h.classList.remove("scrolledDown"),l()}}})),define("WoltLabSuite/Core/Ui/TabMenu/Simple",["require","exports","tslib","../../Dom/Traverse","../../Dom/Util","../../Environment","../../Event/Handler"],(function(e,t,n,i,o,r,a){"use strict";i=n.__importStar(i),o=n.__importDefault(o),r=n.__importStar(r),a=n.__importStar(a);class s{container;containers=new Map;isLegacy=!1;store=null;tabs=new Map;constructor(e){this.container=e}validate(){if(!this.container.classList.contains("tabMenuContainer"))return!1;const e=i.childByTag(this.container,"NAV");if(null===e)return!1;const t=e.querySelectorAll("li");if(0===t.length)return!1;i.childrenByTag(this.container,"DIV").forEach((e=>{let t=e.dataset.name;t||(t=o.default.identify(e),e.dataset.name=t),this.containers.set(t,e)}));const n=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: '"+n+"') exists more than once.");const i=this.containers.get(t);if(void 0===i)throw new Error("Expected content element for li[data-name='"+t+"'] (tab menu id: '"+n+"').");if(i.parentNode!==this.container)throw new Error("Expected content element '"+t+"' (tab menu id: '"+n+"') to be a direct children.");if(1!==e.childElementCount||"A"!==e.children[0].nodeName)throw new Error("Expected exactly one as children for li[data-name='"+t+"'] (tab menu id: '"+n+"').");this.tabs.set(t,e)})),!this.tabs.size)throw new Error("Expected at least one tab (tab menu id: '"+n+"').");return this.isLegacy&&(this.container.dataset.isLegacy="true",this.tabs.forEach((function(e,t){e.setAttribute("aria-controls",t)}))),!0}init(){this.tabs.forEach((e=>{const t=e.children[0];if(t.addEventListener("click",(e=>this._onClick(e))),"ios"===r.platform()){let e=!1;t.addEventListener("touchstart",(()=>{e=!0})),t.addEventListener("touchmove",(()=>{e=!1})),t.addEventListener("touchend",(t=>{e&&(e=!1,t.preventDefault(),this._onClick(t))}))}}));let e=null;const t=s.getIdentifierFromHash();let n;if(""!==t&&(n=this.tabs.get(t),n)){const t=this.container.parentElement;t?.classList.contains("tabMenuContainer")&&(e=this.container)}if(!n){let e=this.container.dataset.preselect||this.container.dataset.active;"true"!==e&&e||(e=!0),!0===e?this.tabs.forEach((function(e){n||o.default.isHidden(e)||e.previousElementSibling&&!o.default.isHidden(e.previousElementSibling)||(n=e)})):"string"==typeof e&&"false"!==e&&(n=this.tabs.get(e))}n&&(this.containers.forEach((e=>{e.classList.add("hidden")})),this.select(null,n,!0));const i=this.container.dataset.store;if(i){const e=document.createElement("input");e.type="hidden",e.name=i,e.value=this.getActiveTab().dataset.name||"",this.container.appendChild(e),this.store=e}return e}select(t,i,o){if(t=t?t.toString():"",!(i=i||this.tabs.get(t))){if(~~t==+t){t=~~t;let e=0;this.tabs.forEach((n=>{e===t&&(i=n),e++}))}if(!i)throw new Error(`Expected a valid tab name, '${t}' given (tab menu id: '${this.container.id}').`)}t=t||i.dataset.name||"";const r=this.getActiveTab();let l=null;if(r){const e=r.dataset.name;if(e===t)return;o||a.fire("com.woltlab.wcf.simpleTabMenu_"+this.container.id,"beforeSelect",{tab:r,tabName:e}),r.classList.remove("active"),l=this.containers.get(r.dataset.name||""),l.classList.remove("active"),l.classList.add("hidden"),this.isLegacy&&(r.classList.remove("ui-state-active"),l.classList.remove("ui-state-active"))}i.classList.add("active");const c=this.containers.get(t);if(c.classList.add("active"),c.classList.remove("hidden"),this.isLegacy&&(i.classList.add("ui-state-active"),c.classList.add("ui-state-active")),this.store&&(this.store.value=t),!o){a.fire("com.woltlab.wcf.simpleTabMenu_"+this.container.id,"select",{active:i,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(i),oldTab:e(r),newPanel:e(c),oldPanel:e(l)});let n=window.location.href.replace(/#+[^#]*$/,"");s.getIdentifierFromHash()===t?n+=window.location.hash:n+="#"+t,window.history.replaceState(void 0,"",n)}new Promise(((t,n)=>{e(["../TabMenu"],t,n)})).then(n.__importStar).then((e=>{e.scrollToTab(i)}))}selectFirstVisible(){let e=null;return this.tabs.forEach((t=>{e||o.default.isHidden(t)||(e=t)})),e&&this.select(null,e,!1),null!==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 n=e.children[0];/#([^#]+)$/.exec(n.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 s})),define("WoltLabSuite/Core/Ui/Scroll",["require","exports","tslib","../Dom/Util"],(function(e,t,n,i){"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,i=n.__importDefault(i);let r=null,a=null,s=null;t.element=function(e,t,n="smooth"){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 s=i.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&&(s<=a?s=0:s-=a);const l=window.pageYOffset;window.scrollTo({left:0,top:s,behavior:n}),window.setTimeout((()=>{l===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,n,i,o,r,a,s,l){"use strict";function c(){document.querySelectorAll(".tabMenuContainer:not(.staticTabMenuContainer)").forEach((e=>{const t=o.default.identify(e);if(y.has(t))return;let n=new r.default(e);if(!n.validate())return;const i=n.init();if(y.set(t,n),i instanceof HTMLElement){const e=f(i.parentNode.id);e&&(n=e,n.select(i.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"),b=a):(a.classList.remove("active"),b=null)})),e.querySelectorAll(".tabMenu, .menu").forEach((e=>{function t(){n=null,h(e)}let n=null;e.querySelector("ul").addEventListener("scroll",(()=>{null!==n&&window.clearTimeout(n),n=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=>{if(!t.defaultPrevented)for(const n of e.querySelectorAll("input, select, textarea"))if(!n.checkValidity()){t.preventDefault();const e=f(n.closest(".tabMenuContainer").id),i=n.closest(".tabMenuContent");return e.select(i.dataset.name||""),void l.element(n,(()=>{n.reportValidity()}))}}))}}))}function d(){y.forEach((e=>{let t=!1;e.getContainers().forEach((n=>{t||null===n.querySelector(".formError")||(t=!0,e.select(n.id))}))}))}function u(e){v=!0,y.forEach((t=>{const n=t.getActiveTab();e?h(n.closest(".menu, .tabMenu")):g(n)}))}function p(){v=!1}function m(e,t,n,i,o,r){(r||t>0)&&(t-=15),n!==(t=t<0?0:Math.min(t,i-o))&&(e.classList.add("enableAnimation"),n{e.classList.remove("enableAnimation"),e.firstElementChild.style.removeProperty("margin-left"),e.style.removeProperty("padding-left"),e.scrollLeft=t}),300))}function h(e){if(!v)return;const t=e.clientWidth,n=e.querySelector("ul"),i=n.scrollLeft,o=n.scrollWidth,r=i>0;let a=e.querySelector(".tabMenuOverlayLeft");r?(null===a&&(a=document.createElement("button"),a.type="button",a.innerHTML='',a.className="tabMenuOverlayLeft",a.addEventListener("click",(()=>{const e=n.clientWidth;m(n,n.scrollLeft-~~(e/2),n.scrollLeft,n.scrollWidth,e,!1)})),e.insertBefore(a,e.firstChild)),a.classList.add("active")):null!==a&&a.classList.remove("active");const s=t+i',l.className="tabMenuOverlayRight",l.addEventListener("click",(()=>{const e=n.clientWidth;m(n,n.scrollLeft+~~(e/2),n.scrollLeft,n.scrollWidth,e,!1)})),e.appendChild(l)),l.classList.add("active")):null!==l&&l.classList.remove("active")}function f(e){return y.get(e)}function g(e){if(!v)return;const t=e.closest("ul"),n=t.clientWidth,i=t.scrollLeft,o=t.scrollWidth;if(n===o)return;const r=e.offsetLeft;let a=!1;r{b&&(b.classList.remove("active"),b=null)})),s.on("screen-sm-down",{match(){u(!1)},unmatch:p,setup(){u(!0)}}),window.addEventListener("hashchange",(()=>{const e=r.default.getIdentifierFromHash(),t=e?document.getElementById(e):null;null!==t&&t.classList.contains("tabMenuContent")&&y.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 n=t.parentNode;let i=n.offsetTop-50;if(i<0&&(i=0),e>i){let e=o.default.offset(n).top;e<=50?e=0:e-=50,window.scrollTo(0,e)}}}}),100)},t.getTabMenu=f,t.scrollToTab=g})),define("WoltLabSuite/Core/Ui/Tooltip",["require","exports","tslib","../Environment","../Helper/PageOverlay","../Helper/Selector","./Alignment"],(function(e,t,n,i,o,r,a){"use strict";function s(e){const t=e.currentTarget;let n=t.title.trim();""!==n&&(t.dataset.tooltip=n,t.setAttribute("aria-label",n),t.removeAttribute("title")),n=t.dataset.tooltip||"",u.style.removeProperty("top"),u.style.removeProperty("left"),n.length?(u.classList.add("active"),d.textContent=n,a.set(u,t,{horizontal:"center",verticalOffset:4,pointer:!0,pointerClassNames:["inverse"],vertical:"top"})):u.classList.remove("active")}function l(){u.classList.remove("active")}let c,d,u;Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,i=n.__importStar(i),a=n.__importStar(a),t.setup=function(){"desktop"===i.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),(0,o.getPageOverlayContainer)().append(u),(0,r.wheneverSeen)(".jsTooltip",(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",s),e.addEventListener("mouseleave",l),e.addEventListener("click",l))})),window.addEventListener("scroll",l))}})),define("WoltLabSuite/Core/Ui/Page/JumpTo",["require","exports","tslib","../../Language","../Dialog"],(function(e,t,n,i,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,i=n.__importStar(i),o=n.__importDefault(o);class r{activeElement;description;elements=new Map;input;submitButton;init(e,t){if(t){if("function"!=typeof t)throw new TypeError("Expected a valid function for parameter 'callback'.")}else{const n=e.dataset.link;t=n?e=>{window.location.href=n.replace(/pageNo=%d/,`pageNo=${e}`)}:()=>{}}this.elements.has(e)||e.querySelectorAll(".jumpTo").forEach((n=>{n.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 n=e.dataset.pages||"0";this.input.value=n,this.input.max=n,this.input.select(),this.description.textContent=i.get("wcf.page.jumpTo.description").replace(/#pages#/,n)}_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=`
              \n
              \n
              \n \n \n
              \n
              \n
              \n \n
              `;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:i.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,n,i,o){"use strict";function r(){document.querySelectorAll("input[type=password]").forEach((e=>{s.has(e)||function(e){s.add(e);const t=document.activeElement,n=document.createElement("div");n.classList.add("inputAddon"),e.insertAdjacentElement("beforebegin",n),n.appendChild(e);const i=document.createElement("button");i.type="button",i.title=o.get("wcf.global.form.password.button.show"),i.classList.add("button","inputSuffix","jsTooltip"),i.setAttribute("aria-hidden","true"),n.appendChild(i);const r=document.createElement("fa-icon");r.setIcon("eye"),i.appendChild(r),i.addEventListener("click",(()=>{a(e,i,r)})),e.form?.addEventListener("submit",(()=>{"password"!==e.type&&a(e,i,r)})),t===e&&e.focus()}(e)}))}function a(e,t,n){"password"===e.type?(n.setIcon("eye-slash"),t.dataset.tooltip=o.get("wcf.global.form.password.button.hide"),e.type="text"):(n.setIcon("eye"),t.dataset.tooltip=o.get("wcf.global.form.password.button.show"),e.type="password")}Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,i=n.__importDefault(i),o=n.__importStar(o);const s=new WeakSet;t.setup=function(){r(),i.default.add("WoltLabSuite/Core/Ui/Password",(()=>r()))}})),define("WoltLabSuite/Core/Ui/Empty",["require","exports","tslib","../Dom/Change/Listener"],(function(e,t,n,i){"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,i=n.__importDefault(i);const r=new MutationObserver((e=>{e.forEach((e=>{const t=e.target;(0===t.childElementCount||Array.from(t.children).every((e=>"ignore"===e.dataset.reloadPageWhenEmpty)))&&window.location.reload()}))}));t.setup=function(){o(),i.default.add("WoltLabSuite/Core/Ui/Empty",(()=>o()))}})),define("WoltLabSuite/Core/Ui/Confirmation",["require","exports","tslib","../Core","../Language","./Dialog"],(function(e,t,n,i,o,r){"use strict";function a(){return l||(l=new s),l}Object.defineProperty(t,"__esModule",{value:!0}),t.getContentElement=t.show=void 0,i=n.__importStar(i),o=n.__importStar(o),r=n.__importDefault(r);class s{_active=!1;parameters;confirmButton;_content;dialog;text;callbackCancel;callbackConfirm;constructor(){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.type="button",this.confirmButton.dataset.type="submit",this.confirmButton.classList.add("button","buttonPrimary"),this.confirmButton.textContent=o.get("wcf.global.confirmation.confirm"),e.appendChild(this.confirmButton);const t=document.createElement("button");t.type="button",t.classList.add("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(){window.setTimeout((()=>{this.confirmButton.blur(),this.confirmButton.focus()}),1)}_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=i.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,n,i,o,r,a,s,l){"use strict";function c(){document.querySelectorAll(`${d} ${u} ${p}`).forEach((e=>{m.has(e)||(e.addEventListener("click",(e=>function(e){function t(){i.apiOnce({data:{actionName:l,className:c,objectIDs:[p],parameters:m},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(d),data:t,objectElement:e.closest(u)})}(n,e)})}e.preventDefault();const n=e.currentTarget,l=n.dataset.objectAction;let c=n.closest(d).dataset.objectActionClassName;n.dataset.objectActionClassName&&(c=n.dataset.objectActionClassName);let p=n.closest(u).dataset.objectId;n.dataset.objectId&&(p=n.dataset.objectId);const m={};Object.entries(n.dataset).forEach((([e,t])=>{let n=/^objectActionParameterData(.+)/.exec(e);if(n)Object.prototype.hasOwnProperty.call(m,"data")||(m.data={}),m.data[s.lcfirst(n[1])]=t;else if(n=/^objectActionParameter(.+)/.exec(e),n){const e=s.lcfirst(n[1]);if("data"===e)throw new Error("Additional object action parameters may not use 'data' as key.");m[e]=t}})),n.dataset.confirmMessage?r.show({confirm:t,message:a.get(n.dataset.confirmMessage),messageIsHtml:!0}):t()}(e))),m.add(e))}))}Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,i=n.__importStar(i),o=n.__importStar(o),r=n.__importStar(r),a=n.__importStar(a),s=n.__importStar(s),l=n.__importDefault(l);const d=".jsObjectActionContainer[data-object-action-class-name]",u=".jsObjectActionObject[data-object-id]",p=".jsObjectAction[data-object-action]",m=new Set;t.setup=function(){c(),l.default.add("WoltLabSuite/Core/Ui/Action",(()=>c()))}})),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,n,i,o,r,a,s,l,c,d,u,p){"use strict";function m(){return g||(g=new f),g}Object.defineProperty(t,"__esModule",{value:!0}),t.unmark=t.showEditor=t.hideEditor=t.reload=t.setup=void 0,i=n.__importStar(i),o=n.__importStar(o),r=n.__importDefault(r),a=n.__importDefault(a),s=n.__importStar(s),l=n.__importStar(l),c=n.__importStar(c),d=n.__importDefault(d),u=n.__importStar(u),p=n.__importStar(p);const h='.messageCheckboxLabel > input[type="checkbox"], .message .messageClipboardCheckbox > input[type="checkbox"], .messageGroupList .columnMark > label > input[type="checkbox"]';class f{containers=new Map;editors=new Map;editorDropdowns=new Map;itemData=new WeakMap;knownCheckboxes=new WeakSet;pageClassNames=[];pageObjectId=0;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 n=this.containers.get(t);if(void 0===n){const i=e.querySelector(".jsClipboardMarkAll");if(null!==i){if(i.matches(h)){const e=i.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||i.click()}))}i.dataset.containerId=t,i.addEventListener("click",(e=>this.markAll(e)))}n={checkboxes:e.getElementsByClassName("jsClipboardItem"),element:e,markAll:i,markedObjectIds:new Set},this.containers.set(t,n)}Array.from(n.checkboxes).forEach((e=>{if(!this.knownCheckboxes.has(e)){if(e.dataset.containerId=t,e.matches(h)){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(){i.api(this,{actionName:"getMarkedItems",parameters:{pageClassNames:this.pageClassNames,pageObjectID:this.pageObjectId}})}markAll(e){const t=e.currentTarget,n="INPUT"!==t.nodeName||t.checked;this.setParentAsMarked(t,n);const i=[],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;n?e.checked||(e.checked=!0,r.markedObjectIds.add(o),i.push(o)):e.checked&&(e.checked=!1,r.markedObjectIds.delete(o),i.push(o)),this.setParentAsMarked(e,n);const a=t.closest(".jsClipboardObject");null!==a&&(n?a.classList.add("jsMarked"):a.classList.remove("jsMarked"))})),this.saveState(a,i,n)}mark(e){const t=e instanceof Event?e.currentTarget:e,n=~~t.dataset.objectId,i=t.checked,o=t.dataset.containerId,r=this.containers.get(o),a=r.element.dataset.type,s=t.closest(".jsClipboardObject");i?(r.markedObjectIds.add(n),s.classList.add("jsMarked")):(r.markedObjectIds.delete(n),s.classList.remove("jsMarked")),null!==r.markAll&&(r.markAll.checked=!Array.from(r.checkboxes).some((e=>!e.checked)),this.setParentAsMarked(r.markAll,i)),this.setParentAsMarked(t,t.checked),this.saveState(a,[n],i)}saveState(e,t,n){i.api(this,{actionName:n?"mark":"unmark",parameters:{pageClassNames:this.pageClassNames,pageObjectID:this.pageObjectId,objectIDs:t,objectType:e}})}executeAction(e){function t(){const e=n.dataset.type;s.fire("com.woltlab.wcf.clipboard",e,{data:i,listItem:n,responseData:null})}const n=e.currentTarget,i=this.itemData.get(n);if(i.url)return void(window.location.href=i.url);const r="string"==typeof i.internalData.confirmMessage?i.internalData.confirmMessage:"";let a=!0;if(o.isPlainObject(i.parameters)&&i.parameters.actionName&&i.parameters.className){if("unmarkAll"===i.parameters.actionName||Array.isArray(i.parameters.objectIDs))if(r.length){const e="string"==typeof i.internalData.template?i.internalData.template:"";c.show({confirm:()=>{const t={};e.length&&c.getContentElement().querySelectorAll("input, select, textarea").forEach((e=>{const n=e.name;switch(e.nodeName){case"INPUT":("checkbox"!==e.type&&"radio"!==e.type||e.checked)&&(t[n]=e.value);break;case"SELECT":t[n]=e.value;break;case"TEXTAREA":t[n]=e.value.trim()}})),this.executeProxyAction(n,i,t)},message:r,template:e})}else this.executeProxyAction(n,i)}else r.length&&(a=!1,c.show({confirm:t,message:r}));a&&t()}executeProxyAction(e,t,n={}){const r="unmarkAll"!==t.parameters.actionName?t.parameters.objectIDs:[],a={data:n};o.isPlainObject(t.internalData.parameters)&&Object.entries(t.internalData.parameters).forEach((([e,t])=>{a[e]=t})),i.api(this,{actionName:t.parameters.actionName,className:t.parameters.className,objectIDs:r,parameters:a},(n=>{if("unmarkAll"!==t.actionName){const i=e.dataset.type;s.fire("com.woltlab.wcf.clipboard",i,{data:t,listItem:e,responseData:n});const o=this.reloadPageOnSuccess.get(i);if(o&&o.includes(n.actionName))return void window.location.reload()}this.loadMarkedItems()}))}unmarkAll(e){const t=e.currentTarget;i.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 n=e.element.dataset.type,i=Array.isArray(t[n])?t[n]:[];this.rebuildMarkings(e,i)}));const n=Object.keys(e.returnValues.items||{});this.editors.forEach(((e,t)=>{n.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 i=!1,o=this.editors.get(e),r=this.editorDropdowns.get(e);void 0===o?(i=!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 n=document.createElement("li"),i=document.createElement("span");i.textContent=t.label,n.appendChild(i),r.appendChild(n),n.dataset.type=e,n.addEventListener("click",(e=>this.executeAction(e))),this.itemData.set(n,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!==n.indexOf(e)){const t=`wcfClipboard-${e}`;u.has(t)?u.show(t):u.add(t,o)}if(i){const e=o.parentElement;e.classList.add("dropdown"),e.appendChild(r),d.default.init(o)}}))}rebuildMarkings(e,t){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=e.markAll.closest(".columnMark")?.parentNode;t&&(n?t.classList.add("jsMarked"):t.classList.remove("jsMarked"))}}setParentAsMarked(e,t){const n=e.parentElement;"checkbox"===n.getAttribute("role")&&n.setAttribute("aria-checked",t?"true":"false")}hideEditor(e){u.remove("wcfClipboard-"+e),p.pageOverlayOpen()}showEditor(){this.loadMarkedItems(),p.pageOverlayClose()}unmark(e,t){this.saveState(e,t,!1)}}let g;t.setup=function(e){m().setup(e)},t.reload=function(){m().reload()},t.hideEditor=function(e){m().hideEditor(e)},t.showEditor=function(){m().showEditor()},t.unmark=function(e,t){m().unmark(e,t)}})),define("WoltLabSuite/Core/Ui/Object/Action/Handler",["require","exports","tslib","../../../Event/Handler","../../../Controller/Clipboard"],(function(e,t,n,i,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),i=n.__importStar(i),o=n.__importStar(o),t.default=class{objectAction;constructor(e,t,n){this.objectAction=n,i.add("WoltLabSuite/Core/Ui/Object/Action",e,(e=>this.handleObjectAction(e))),document.querySelectorAll(".jsClipboardContainer[data-type]").forEach((e=>{i.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 n=t.dataset.objectId;e.responseData.objectIDs.forEach((i=>{~~i==~~n&&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,n,i){"use strict";function o(e){const t=e.objectElement.querySelector('.jsObjectAction[data-object-action="delete"]');if(!t||t.dataset.objectActionHandler)return;const n=e.objectElement.querySelector(".jsObjectActionObjectChildren");n&&Array.from(n.children).forEach((t=>{e.objectElement.insertAdjacentElement("beforebegin",t)})),e.objectElement.remove()}Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,i=n.__importDefault(i),t.setup=function(){new i.default("delete",["delete"],o)}})),define("WoltLabSuite/Core/Ui/Object/Action/Toggle",["require","exports","tslib","../../../Language","./Handler"],(function(e,t,n,i,o){"use strict";function r(e){const t=e.objectElement.querySelector('.jsObjectAction[data-object-action="toggle"]');if(!t||t.dataset.objectActionHandler)return;const n="FA-ICON"===t.nodeName?t:t.querySelector("fa-icon");if(n)if("square"===n.name){n.setIcon("square-check");const e=t.dataset.disableTitle||i.get("wcf.global.button.disable");t.title=e}else{n.setIcon("square");const e=t.dataset.enableTitle||i.get("wcf.global.button.enable");t.title=e}}Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,i=n.__importStar(i),o=n.__importDefault(o),t.setup=function(){new o.default("toggle",["enable","disable"],r)}})),define("WoltLabSuite/Core/Ui/Search",["require","exports","tslib","../Event/Handler","./Alignment","./CloseOverlay","./Dropdown/Simple","./Screen","../Environment","../Dom/Util"],(function(e,t,n,i,o,r,a,s,l,c){"use strict";function d(){r.default.execute(r.Origin.Search),f.classList.add("searchBarOpen"),w?.parentElement.classList.add("open"),m||o.set(b,_,{horizontal:"right"}),b.style.setProperty("top",`${g.clientHeight}px`,""),y.focus(),window.setTimeout((()=>{const e=y.value.length;y.selectionStart=e,y.selectionEnd=e}),1)}function u(){if(!f.classList.contains("searchBarOpen")&&!b.classList.contains("open"))return;f.classList.remove("searchBarOpen"),b.classList.remove("open"),w?.parentElement.classList.remove("open"),["bottom","left","right","top"].forEach((e=>{b.style.removeProperty(e)})),"ios"===l.platform()&&(s.scrollEnable(),void 0!==p&&(document.body.scrollTop=p,p=void 0)),m&&y.blur();const e=b.querySelector(".pageHeaderSearchType");a.default.close(e.id)}Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,i=n.__importStar(i),o=n.__importStar(o),r=n.__importStar(r),a=n.__importDefault(a),s=n.__importStar(s),l=n.__importStar(l);let p,m=!1;const h=document.body.classList.contains("wcfAcp"),f=document.getElementById("pageHeader"),g=document.getElementById("pageHeaderPanel"),b=document.getElementById("pageHeaderSearch");let v;const y=document.getElementById("pageHeaderSearchInput"),_=document.getElementById("topMenu"),w=document.getElementById("userPanelSearchButton");t.init=function(){h&&null===b||(function(){b.addEventListener("click",(e=>e.stopPropagation()));const e=document.querySelector(".pageHeaderSearchType"),t=(0,c.identify)(e);a.default.getDropdownMenu(t).addEventListener("click",(e=>{e.stopPropagation(),a.default.close(t)})),w?.addEventListener("click",(e=>{e.preventDefault(),e.stopPropagation(),f.classList.contains("searchBarOpen")?u():d()})),r.default.add("WoltLabSuite/Core/Ui/Search",((e,t)=>{if(e!==r.Origin.Search){if(e===r.Origin.DropDown){if(document.getElementById("pageHeaderSearchTypeSelect").dataset.target===t)return;if(y.parentElement.id===t)return}u(),v?.setAttribute("aria-expanded","false")}}))}(),s.on("screen-md-down",{match(){m=!0},unmatch(){m=!1,p=void 0},setup(){m=!0,function(){const e=document.getElementById("pageHeaderSearchMobile");v=e,e.addEventListener("click",(t=>{t.preventDefault(),t.stopPropagation(),"true"===e.getAttribute("aria-expanded")?(u(),e.setAttribute("aria-expanded","false"),e.querySelector("fa-icon").setIcon("magnifying-glass")):("ios"===l.platform()&&(p=document.body.scrollTop,s.scrollDisable()),d(),b.style.setProperty("top",`${f.offsetHeight}px`,""),b.classList.add("open"),y.focus(),"ios"===l.platform()&&(document.body.scrollTop=0),e.setAttribute("aria-expanded","true"),e.querySelector("fa-icon").setIcon("xmark"))})),b.addEventListener("click",(t=>{t.stopPropagation(),t.target===b&&(t.preventDefault(),u(),e.setAttribute("aria-expanded","false"),e.querySelector("fa-icon").setIcon("magnifying-glass"))}))}()}}),i.add("com.woltlab.wcf.Search","close",(()=>u())))}})),define("WoltLabSuite/Core/LazyLoader",["require","exports"],(function(e,t){"use strict";function n(e){void 0!==r.get(e)&&window.cancelAnimationFrame(r.get(e)),r.set(e,window.requestAnimationFrame((()=>{for(const t of o.keys())if(e.matches(t)||null!==e.querySelector(t)){for(const e of o.get(t))a.then((()=>e()));o.delete(t)}r.delete(e)})))}let i;Object.defineProperty(t,"__esModule",{value:!0}),t.whenFirstSeen=void 0;const o=new Map,r=new Map,a=new Promise((e=>{"loading"===document.readyState?document.addEventListener("readystatechange",(()=>e()),{once:!0}):e()}));t.whenFirstSeen=function(e,t){o.has(e)||o.set(e,[]),o.get(e).push(t),n(document.body),void 0===i&&(i=new MutationObserver((e=>{if(0!==o.size)for(const t of e)for(const e of t.addedNodes)e instanceof HTMLElement&&n(e)}))),i.observe(document,{subtree:!0,childList:!0})}})),function e(t,n,i){function o(r,s){var l,c,d;if(!n[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=n[r]={exports:{}},t[r][0].call(d.exports,(function(e){return o(t[r][1][e]||e)}),d,d.exports,e,t,n,i)}return n[r].exports}var r,a="function"==typeof require&&require;for(r=0;r=0&&n.splice(i,1),e.className=n.join(" ")}(e,t)},n.list=function(e){return e.classList?Array.prototype.slice.apply(e.classList):e.className.split(" ")}},{}],3:[function(e,t,n){"use strict";var i={e:function(e,t){var n=document.createElement(e);return n.className=t,n},appendTo:function(e,t){return t.appendChild(e),e},css:function(e,t,n){return"object"==typeof t?function(e,t){var n,i;for(n in t)"number"==typeof(i=t[n])&&(i=i.toString()+"px"),e.style[n]=i;return e}(e,t):void 0===n?function(e,t){return window.getComputedStyle(e)[t]}(e,t):function(e,t,n){return"number"==typeof n&&(n=n.toString()+"px"),e.style[t]=n,e}(e,t,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},remove:function(e){void 0!==e.remove?e.remove():e.parentNode&&e.parentNode.removeChild(e)},queryChildren:function(e,t){return Array.prototype.filter.call(e.childNodes,(function(e){return i.matches(e,t)}))}};t.exports=i},{}],4:[function(e,t,n){"use strict";var i,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,{capture:!1,passive:!1})},o.prototype.unbind=function(e,t){var n=void 0!==t;this.events[e]=this.events[e].filter((function(i){return!(!n||i===t)||(this.element.removeEventListener(e,i,{capture:!1,passive:!1}),!1)}),this)},o.prototype.unbindAll=function(){for(var e in this.events)this.unbind(e)},(i=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},i.prototype.bind=function(e,t,n){this.eventElement(e).bind(t,n)},i.prototype.unbind=function(e,t,n){this.eventElement(e).unbind(t,n)},i.prototype.unbindAll=function(){for(var e=0;et.scrollbarYTop?1:-1;r(e,"top",e.scrollTop+a*t.containerHeight),o(e),i.stopPropagation()})),t.event.bind(t.scrollbarX,"click",i),t.event.bind(t.scrollbarXRail,"click",(function(i){var a=i.pageX-window.pageXOffset-n(t.scrollbarXRail).left>t.scrollbarXLeft?1:-1;r(e,"left",e.scrollLeft+a*t.containerWidth),o(e),i.stopPropagation()}))}(e,i.get(e))}},{"../instances":18,"../update-geometry":19,"../update-scroll":20}],11:[function(e,t,n){"use strict";var i=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);(function(e,t){var n=null,r=null,l=function(o){var l,c,d,u;l=o.pageX-r,d=n+l*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,c=i.toInt(t.scrollbarXLeft*(t.contentWidth-t.containerWidth)/(t.containerWidth-t.railXRatio*t.scrollbarXWidth))-t.negativeScrollAdjustment,s(e,"left",c),a(e),o.stopPropagation(),o.preventDefault()},c=function(){i.stopScrolling(e,"x"),t.event.unbind(t.ownerDocument,"mousemove",l)};t.event.bind(t.scrollbarX,"mousedown",(function(a){r=a.pageX,n=i.toInt(o.css(t.scrollbarX,"left"))*t.railXRatio,i.startScrolling(e,"x"),t.event.bind(t.ownerDocument,"mousemove",l),t.event.once(t.ownerDocument,"mouseup",c),a.stopPropagation(),a.preventDefault()}))})(e,t),function(e,t){var n=null,r=null,l=function(o){var l,c,d,u;l=o.pageY-r,d=n+l*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,c=i.toInt(t.scrollbarYTop*(t.contentHeight-t.containerHeight)/(t.containerHeight-t.railYRatio*t.scrollbarYHeight)),s(e,"top",c),a(e),o.stopPropagation(),o.preventDefault()},c=function(){i.stopScrolling(e,"y"),t.event.unbind(t.ownerDocument,"mousemove",l)};t.event.bind(t.scrollbarY,"mousedown",(function(a){r=a.pageY,n=i.toInt(o.css(t.scrollbarY,"top"))*t.railYRatio,i.startScrolling(e,"y"),t.event.bind(t.ownerDocument,"mousemove",l),t.event.once(t.ownerDocument,"mouseup",c),a.stopPropagation(),a.preventDefault()}))}(e,t)}},{"../../lib/dom":3,"../../lib/helper":6,"../instances":18,"../update-geometry":19,"../update-scroll":20}],12:[function(e,t,n){"use strict";var i=e("../../lib/helper"),o=e("../../lib/dom"),r=e("../instances"),a=e("../update-geometry"),s=e("../update-scroll");t.exports=function(e){!function(e,t){var n,r=!1;t.event.bind(e,"mouseenter",(function(){r=!0})),t.event.bind(e,"mouseleave",(function(){r=!1})),n=!1,t.event.bind(t.ownerDocument,"keydown",(function(l){var c,d,u,p;if(!(l.isDefaultPrevented&&l.isDefaultPrevented()||l.defaultPrevented)&&(c=o.matches(t.scrollbarX,":focus")||o.matches(t.scrollbarY,":focus"),r||c)){if(d=document.activeElement?document.activeElement:t.ownerDocument.activeElement){if("IFRAME"===d.tagName)d=d.contentDocument.activeElement;else for(;d.shadowRoot;)d=d.shadowRoot.activeElement;if(i.isEditable(d))return}switch(u=0,p=0,l.which){case 37:u=l.metaKey?-t.contentWidth:l.altKey?-t.containerWidth:-30;break;case 38:p=l.metaKey?t.contentHeight:l.altKey?t.containerHeight:30;break;case 39:u=l.metaKey?t.contentWidth:l.altKey?t.containerWidth:30;break;case 40:p=l.metaKey?-t.contentHeight:l.altKey?-t.containerHeight:-30;break;case 33:p=90;break;case 32:p=l.shiftKey?90:-90;break;case 34:p=-90;break;case 35:p=l.ctrlKey?-t.contentHeight:-t.containerHeight;break;case 36:p=l.ctrlKey?e.scrollTop:t.containerHeight;break;default:return}s(e,"top",e.scrollTop-p),s(e,"left",e.scrollLeft+u),a(e),n=function(n,i){var o,r=e.scrollTop;if(0===n){if(!t.scrollbarYActive)return!1;if(0===r&&i>0||r>=t.contentHeight-t.containerHeight&&i<0)return!t.settings.wheelPropagation}if(o=e.scrollLeft,0===i){if(!t.scrollbarXActive)return!1;if(0===o&&n<0||o>=t.contentWidth-t.containerWidth&&n>0)return!t.settings.wheelPropagation}return!0}(u,p),n&&l.preventDefault()}}))}(e,r.get(e))}},{"../../lib/dom":3,"../../lib/helper":6,"../instances":18,"../update-geometry":19,"../update-scroll":20}],13:[function(e,t,n){"use strict";var i=e("../instances"),o=e("../update-geometry"),r=e("../update-scroll");t.exports=function(e){!function(e,t){function n(n){var a=function(e){var t=e.deltaX,n=-1*e.deltaY;return void 0!==t&&void 0!==n||(t=-1*e.wheelDeltaX/6,n=e.wheelDeltaY/6),e.deltaMode&&1===e.deltaMode&&(t*=10,n*=10),t!=t&&n!=n&&(t=0,n=e.wheelDelta),e.shiftKey?[-n,-t]:[t,n]}(n),s=a[0],l=a[1];(function(t,n){var i,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((i=r.scrollHeight-r.clientHeight)>0&&!(0===r.scrollTop&&n>0||r.scrollTop===i&&n<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)||(i=!1,t.settings.useBothWheelAxes?t.scrollbarYActive&&!t.scrollbarXActive?(r(e,"top",l?e.scrollTop-l*t.settings.wheelSpeed:e.scrollTop+s*t.settings.wheelSpeed),i=!0):t.scrollbarXActive&&!t.scrollbarYActive&&(r(e,"left",s?e.scrollLeft+s*t.settings.wheelSpeed:e.scrollLeft-l*t.settings.wheelSpeed),i=!0):(r(e,"top",e.scrollTop-l*t.settings.wheelSpeed),r(e,"left",e.scrollLeft+s*t.settings.wheelSpeed)),o(e),i=i||function(n,i){var o,r=e.scrollTop;if(0===n){if(!t.scrollbarYActive)return!1;if(0===r&&i>0||r>=t.contentHeight-t.containerHeight&&i<0)return!t.settings.wheelPropagation}if(o=e.scrollLeft,0===i){if(!t.scrollbarXActive)return!1;if(0===o&&n<0||o>=t.contentWidth-t.containerWidth&&n>0)return!t.settings.wheelPropagation}return!0}(s,l),i&&(n.stopPropagation(),n.preventDefault()))}var i=!1;void 0!==window.onwheel?t.event.bind(e,"wheel",n):void 0!==window.onmousewheel&&t.event.bind(e,"mousewheel",n)}(e,i.get(e))}},{"../instances":18,"../update-geometry":19,"../update-scroll":20}],14:[function(e,t,n){"use strict";var i=e("../instances"),o=e("../update-geometry");t.exports=function(e){!function(e,t){t.event.bind(e,"scroll",(function(){o(e)}))}(e,i.get(e))}},{"../instances":18,"../update-geometry":19}],15:[function(e,t,n){"use strict";var i=e("../../lib/helper"),o=e("../instances"),r=e("../update-geometry"),a=e("../update-scroll");t.exports=function(e){!function(e,t){function n(){s&&(clearInterval(s),s=null),i.stopScrolling(e)}var s=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,n())})),t.event.bind(window,"mouseup",(function(){c&&(c=!1,n())})),t.event.bind(window,"keyup",(function(){c&&(c=!1,n())})),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.xu.right-3?(l.left=5,i.startScrolling(e,"x")):l.left=0,d.yu.bottom-3?(l.top=d.y-u.bottom+3<5?5:20,i.startScrolling(e,"y")):l.top=0,0===l.top&&0===l.left?n():s||(s=setInterval((function(){o.get(e)?(a(e,"top",e.scrollTop+l.top),a(e,"left",e.scrollLeft+l.left),r(e)):clearInterval(s)}),50)))}))}(e,o.get(e))}},{"../../lib/helper":6,"../instances":18,"../update-geometry":19,"../update-scroll":20}],16:[function(e,t,n){"use strict";var i=e("../../lib/helper"),o=e("../instances"),r=e("../update-geometry"),a=e("../update-scroll");t.exports=function(e){(i.env.supportsTouch||i.env.supportsIePointer)&&function(e,t,n,i){function s(t,n){a(e,"top",e.scrollTop-n),a(e,"left",e.scrollLeft-t),r(e)}function l(){y=!0}function c(){y=!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 p(e){if(u(e)){_=!0;var t=d(e);f.pageX=t.pageX,f.pageY=t.pageY,g=(new Date).getTime(),null!==v&&clearInterval(v),e.stopPropagation()}}function m(n){var i,o,r,a,l,c;!_&&t.settings.swipePropagation&&p(n),!y&&_&&u(n)&&(s(r=(o={pageX:(i=d(n)).pageX,pageY:i.pageY}).pageX-f.pageX,a=o.pageY-f.pageY),f=o,(c=(l=(new Date).getTime())-g)>0&&(b.x=r/c,b.y=a/c,g=l),function(n,i){var o=e.scrollTop,r=e.scrollLeft,a=Math.abs(n),s=Math.abs(i);if(s>a){if(i<0&&o===t.contentHeight-t.containerHeight||i>0&&0===o)return!t.settings.swipePropagation}else if(a>s&&(n<0&&r===t.contentWidth-t.containerWidth||n>0&&0===r))return!t.settings.swipePropagation;return!0}(r,a)&&(n.stopPropagation(),n.preventDefault()))}function h(){!y&&_&&(_=!1,clearInterval(v),v=setInterval((function(){o.get(e)&&(b.x||b.y)?Math.abs(b.x)<.01&&Math.abs(b.y)<.01?clearInterval(v):(s(30*b.x,30*b.y),b.x*=.8,b.y*=.8):clearInterval(v)}),10))}var f={},g=0,b={},v=null,y=!1,_=!1;n?(t.event.bind(window,"touchstart",l),t.event.bind(window,"touchend",c),t.event.bind(e,"touchstart",p),t.event.bind(e,"touchmove",m),t.event.bind(e,"touchend",h)):i&&(window.PointerEvent?(t.event.bind(window,"pointerdown",l),t.event.bind(window,"pointerup",c),t.event.bind(e,"pointerdown",p),t.event.bind(e,"pointermove",m),t.event.bind(e,"pointerup",h)):window.MSPointerEvent&&(t.event.bind(window,"MSPointerDown",l),t.event.bind(window,"MSPointerUp",c),t.event.bind(e,"MSPointerDown",p),t.event.bind(e,"MSPointerMove",m),t.event.bind(e,"MSPointerUp",h)))}(e,o.get(e),i.env.supportsTouch,i.env.supportsIePointer)}},{"../../lib/helper":6,"../instances":18,"../update-geometry":19,"../update-scroll":20}],17:[function(e,t,n){"use strict";var i=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 n=r.add(e);n.settings=i.extend(n.settings,t),o.add(e,"ps-theme-"+n.settings.theme),n.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,n){"use strict";function i(e){function t(){a.add(e,"ps-focus")}function n(){a.remove(e,"ps-focus")}var i,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=(i=e.scrollLeft,null,e.scrollLeft=-1,o=e.scrollLeft<0,e.scrollLeft=i,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",n),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",n),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={};n.add=function(e){var t=d();return function(e,t){e.setAttribute("data-ps-id",t)}(e,t),u[t]=new i(e),u[t]},n.remove=function(e){delete u[o(e)],function(e){e.removeAttribute("data-ps-id")}(e)},n.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,n){"use strict";function i(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,n=s.get(e);n.containerWidth=e.clientWidth,n.containerHeight=e.clientHeight,n.contentWidth=e.scrollWidth,n.contentHeight=e.scrollHeight,e.contains(n.scrollbarXRail)||((t=a.queryChildren(e,".ps-scrollbar-x-rail")).length>0&&t.forEach((function(e){a.remove(e)})),a.appendTo(n.scrollbarXRail,e)),e.contains(n.scrollbarYRail)||((t=a.queryChildren(e,".ps-scrollbar-y-rail")).length>0&&t.forEach((function(e){a.remove(e)})),a.appendTo(n.scrollbarYRail,e)),!n.settings.suppressScrollX&&n.containerWidth+n.settings.scrollXMarginOffset=n.railXWidth-n.scrollbarXWidth&&(n.scrollbarXLeft=n.railXWidth-n.scrollbarXWidth),n.scrollbarYTop>=n.railYHeight-n.scrollbarYHeight&&(n.scrollbarYTop=n.railYHeight-n.scrollbarYHeight),function(e,t){var n,i={width:t.railXWidth};t.isRtl?i.left=t.negativeScrollAdjustment+e.scrollLeft+t.containerWidth-t.contentWidth:i.left=e.scrollLeft,t.isScrollbarXUsingBottom?i.bottom=t.scrollbarXBottom-e.scrollTop:i.top=t.scrollbarXTop+e.scrollTop,a.css(t.scrollbarXRail,i),n={top:e.scrollTop,height:t.railYHeight},t.isScrollbarYUsingRight?t.isRtl?n.right=t.contentWidth-(t.negativeScrollAdjustment+e.scrollLeft)-t.scrollbarYRight-t.scrollbarYOuterWidth:n.right=t.scrollbarYRight-e.scrollLeft:t.isRtl?n.left=t.negativeScrollAdjustment+e.scrollLeft+2*t.containerWidth-t.contentWidth-t.scrollbarYLeft-t.scrollbarYOuterWidth:n.left=t.scrollbarYLeft+e.scrollLeft,a.css(t.scrollbarYRail,n),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,n),n.scrollbarXActive?r.add(e,"ps-active-x"):(r.remove(e,"ps-active-x"),n.scrollbarXWidth=0,n.scrollbarXLeft=0,l(e,"left",0)),n.scrollbarYActive?r.add(e,"ps-active-y"):(r.remove(e,"ps-active-y"),n.scrollbarYHeight=0,n.scrollbarYTop=0,l(e,"top",0))}},{"../lib/class":2,"../lib/dom":3,"../lib/helper":6,"./instances":18,"./update-scroll":20}],20:[function(e,t,n){"use strict";var i,o,r=e("./instances"),a=function(e){var t=document.createEvent("Event");return t.initEvent(e,!0,!0),t};t.exports=function(e,t,n){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===n)throw"You must provide a value to the update-scroll function";"top"===t&&n<=0&&(e.scrollTop=n=0,e.dispatchEvent(a("ps-y-reach-start"))),"left"===t&&n<=0&&(e.scrollLeft=n=0,e.dispatchEvent(a("ps-x-reach-start")));var s=r.get(e);"top"===t&&n>=s.contentHeight-s.containerHeight&&((n=s.contentHeight-s.containerHeight)-e.scrollTop<=1?n=e.scrollTop:e.scrollTop=n,e.dispatchEvent(a("ps-y-reach-end"))),"left"===t&&n>=s.contentWidth-s.containerWidth&&((n=s.contentWidth-s.containerWidth)-e.scrollLeft<=1?n=e.scrollLeft:e.scrollLeft=n,e.dispatchEvent(a("ps-x-reach-end"))),i||(i=e.scrollTop),o||(o=e.scrollLeft),"top"===t&&ni&&e.dispatchEvent(a("ps-scroll-down")),"left"===t&&no&&e.dispatchEvent(a("ps-scroll-right")),"top"===t&&(e.scrollTop=i=n,e.dispatchEvent(a("ps-scroll-y"))),"left"===t&&(e.scrollLeft=o=n,e.dispatchEvent(a("ps-scroll-x")))}},{"./instances":18}],21:[function(e,t,n){"use strict";var i=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=i.toInt(o.css(t.scrollbarXRail,"marginLeft"))+i.toInt(o.css(t.scrollbarXRail,"marginRight")),t.railYMarginHeight=i.toInt(o.css(t.scrollbarYRail,"marginTop"))+i.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","./Devtools","./Dom/Change/Listener","./Environment","./Event/Handler","./Form/XsrfToken","./Language","./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/Toggle","./Ui/Search","./LazyLoader","./Helper/PageOverlay","perfect-scrollbar"],(function(e,t,n,i,o,r,a,s,l,c,d,u,p,m,h,f,g,b,v,y,_,w,E,S,C,L){"use strict";function k(){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,i=n.__importStar(i),o=n.__importDefault(o),r=n.__importDefault(r),a=n.__importDefault(a),s=n.__importStar(s),l=n.__importStar(l),c=n.__importStar(c),d=n.__importStar(d),u=n.__importDefault(u),p=n.__importDefault(p),m=n.__importStar(m),h=n.__importStar(h),f=n.__importStar(f),g=n.__importStar(g),b=n.__importStar(b),v=n.__importStar(v),y=n.__importStar(y),_=n.__importStar(_),w=n.__importStar(w),E=n.__importStar(E),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=l,t.setup=function(t){t=i.extend({colorScheme:"light",enableMobileMenu:!0,pageMenuMainProvider:void 0},t),c.setup(),window.ENABLE_DEVELOPER_TOOLS&&r.default._internal_.enable(),(0,L.adoptPageOverlayContainer)(document.body),s.setup(),o.default.init(),p.default.setup(),m.setup(t.enableMobileMenu,t.pageMenuMainProvider),f.setup(),u.default.setup(),g.setup(),v.setup(),y.setup(),_.setup(),w.setup(),E.setup(),(0,S.init)(),document.querySelectorAll("form[method=get]").forEach((e=>{e.method="post"})),"microsoft"===s.browser()&&(window.onbeforeunload=()=>{});let l=0;l=window.setInterval((()=>{if("function"==typeof window.jQuery){window.clearInterval(l),window.jQuery((()=>{h.setup()}));const e=window.jQuery;e.browser=e.browser||{},e.browser.mobile="desktop"!==s.platform(),window.jQuery.holdReady(!1)}}),20),document.querySelectorAll(".pagination").forEach((e=>b.init(e))),k(),a.default.add("WoltLabSuite/Core/Bootstrap",(()=>k)),"system"===t.colorScheme&&new Promise(((t,n)=>{e(["./Controller/Style/ColorScheme"],t,n)})).then(n.__importStar).then((({setup:e})=>e())),(0,C.whenFirstSeen)("[data-report-content]",(()=>{new Promise(((t,n)=>{e(["./Ui/Moderation/Report"],t,n)})).then(n.__importStar).then((({setup:e})=>e()))})),(0,C.whenFirstSeen)("woltlab-core-pagination",(()=>{new Promise(((t,n)=>{e(["./Ui/Pagination/JumpToPage"],t,n)})).then(n.__importStar).then((({setup:e})=>e()))})),(0,C.whenFirstSeen)("woltlab-core-google-maps",(()=>{new Promise(((t,n)=>{e(["./Component/GoogleMaps/woltlab-core-google-maps"],t,n)})).then(n.__importStar)})),(0,C.whenFirstSeen)("[data-google-maps-geocoding]",(()=>{new Promise(((t,n)=>{e(["./Component/GoogleMaps/Geocoding"],t,n)})).then(n.__importStar).then((({setup:e})=>e()))}))}})),define("WoltLabSuite/Core/Controller/Popover",["require","exports","tslib","../Ajax","../Dom/Change/Listener","../Dom/Util","../Environment","../Ui/Alignment","../Helper/PageOverlay"],(function(e,t,n,i,o,r,a,s,l){"use strict";function c(){return u||(u=new d),u}Object.defineProperty(t,"__esModule",{value:!0}),t.ajaxApi=t.setContent=t.init=void 0,i=n.__importStar(i),o=n.__importDefault(o),r=n.__importDefault(r),a=n.__importStar(a),s=n.__importStar(s);class d{activeId="";cache=new Map;elements=new Map;handlers=new Map;hoverId="";popover;popoverContent;suspended=!1;timerEnter=void 0;timerLeave=void 0;constructor(){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),(0,l.getPageOverlayContainer)().append(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((n=>{const i=r.default.identify(n);if(this.cache.has(i))return;if(null!==n.closest(".popover"))return void this.cache.set(i,{content:null,state:0});const o=e.legacy?i:~~n.getAttribute(e.attributeName);if(0===o)return;n.addEventListener("mouseenter",(e=>this.mouseEnter(e))),n.addEventListener("mouseleave",(()=>this.mouseLeave())),n instanceof HTMLAnchorElement&&n.href&&n.addEventListener("click",(()=>this.hidePopover()));const a=`${t}-${o}`;n.dataset.cacheId=a,this.elements.set(i,{element:n,identifier:t,objectId:o.toString()}),this.cache.has(a)||this.cache.set(a,{content:null,state:0})}))}setContent(e,t,n){const i=`${e}-${t}`,o=this.cache.get(i);if(void 0===o)throw new Error(`Unable to find element for object id '${t}' (identifier: '${e}').`);let a=r.default.createFragmentFromHtml(n);a.childElementCount||(a=r.default.createFragmentFromHtml("

              "+n+"

              ")),o.content=a,o.state=2,this.activeId&&this.elements.get(this.activeId).element.dataset.cacheId===i&&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 n=t.element.dataset.cacheId,i=this.cache.get(n);switch(i.state){case 2:this.popoverContent.appendChild(i.content),this.rebuild();break;case 0:{i.state=1;const e=this.handlers.get(t.identifier);if(e.loadCallback)e.loadCallback(t.objectId,this,t.element);else if(e.dboAction){const n=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]},n,n)}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{ignoreError:!0,silent:!0}}ajaxApi(e,t,n){if("function"!=typeof t)throw new TypeError("Expected a valid callback for parameter 'success'.");i.api(this,e,t,n)}}let u;t.init=function(e){c().init(e)},t.setContent=function(e,t,n){c().setContent(e,t,n)},t.ajaxApi=function(e,t,n){c().ajaxApi(e,t,n)}})),define("WoltLabSuite/Core/Ui/User/Ignore",["require","exports","tslib","../../Dom/Change/Listener"],(function(e,t,n,i){"use strict";function o(){for(let e=0,t=a.length;ec()))}function s(){f=!1}function l(e){g=Math.min(g+e,0),m.style.setProperty("margin-left",`${g}px`,"")}function c(){if(!f)return;b=[],v=[];const e=h.clientWidth,t=h.scrollWidth;!p&&t>e&&(u=document.createElement("a"),u.className="mainMenuShowNext",u.href="#",u.innerHTML='',u.setAttribute("aria-hidden","true"),u.addEventListener("click",(e=>{e.preventDefault(),function(){if(v.length){const e=v.slice(0,3).pop();l(h.clientWidth-(e.offsetLeft+e.clientWidth)),h.lastElementChild===e&&u.classList.remove("active"),p.classList.add("active")}}()})),h.insertAdjacentElement("beforebegin",u),p=document.createElement("a"),p.className="mainMenuShowPrevious",p.href="#",p.innerHTML='',p.setAttribute("aria-hidden","true"),p.addEventListener("click",(e=>{e.preventDefault(),function(){if(b.length){const e=b.slice(-3)[0];l(-1*e.offsetLeft),h.firstElementChild===e&&p.classList.remove("active"),u.classList.add("active")}}()})),h.insertAdjacentElement("afterend",p)),(t>e||g<0)&&Array.from(h.children).forEach((t=>{const n=t.offsetLeft;n<0?b.push(t):n+t.clientWidth>e&&v.push(t)})),p?.classList[b.length?"add":"remove"]("active"),u?.classList[v.length?"add":"remove"]("active")}function d(){m.addEventListener("transitionend",c),window.addEventListener("resize",(()=>{m.style.setProperty("margin-left","0px",""),g=0,c()})),a(),h.querySelectorAll(".boxMenuHasChildren").forEach((e=>{const t=e.querySelector(".boxMenuLink");t.setAttribute("aria-haspopup","true"),t.setAttribute("aria-expanded","false");const n=document.createElement("button");n.type="button",n.className="visuallyHidden",n.setAttribute("aria-label",o.get("wcf.global.button.showMenu")),e.insertBefore(n,t.nextSibling);let i=!1;n.addEventListener("click",(()=>{i=!i,t.setAttribute("aria-expanded",i?"true":"false"),n.setAttribute("aria-label",o.get(i?"wcf.global.button.hideMenu":"wcf.global.button.showMenu"))}))}))}Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,i=n.__importStar(i),o=n.__importStar(o),r=n.__importStar(r);let u,p,m,h,f=!1,g=0,b=[],v=[];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.");h=e,m=t,r.on("screen-lg",{match:a,unmatch:s,setup:d})}})),define("WoltLabSuite/Core/User",["require","exports"],(function(e,t){"use strict";class n{userId;username;link;constructor(e,t,n){this.userId=e,this.username=t,this.link=n}}let i;return{getLink:()=>i.link,init(e,t,o){if(i)throw new Error("User has already been initialized.");i=new n(e,t,o)},get userId(){return i.userId},get username(){return i.username}}})),define("WoltLabSuite/Core/Ui/Message/UserConsent",["require","exports","tslib","../../Ajax","../../Core","../../Dom/Change/Listener","../../Dom/Util","../../User"],(function(e,t,n,i,o,r,a,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,i=n.__importStar(i),o=n.__importStar(o),r=n.__importDefault(r),a=n.__importDefault(a),s=n.__importDefault(s);class l{enableAll=!1;knownButtons=new WeakSet;constructor(){"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?i.apiOnce({data:{actionName:"saveUserConsent",className:"wcf\\data\\user\\UserAction"},silent:!0}):window.sessionStorage.setItem(`${o.getStoragePrefix()}user-consent`,"all")}enableExternalMedia(e){if(e.dataset.target)document.getElementById(e.dataset.target).hidden=!1;else{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 n(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=n,t.copyElementTextToClipboard=async function(e){return n(e.textContent.replace(/\u200B/g,"").replace(/\u00A0/g," "))}})),define("WoltLabSuite/Core/Ui/Notification",["require","exports","../Helper/PageOverlay","../Language"],(function(e,t,n,i){"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;let r,a,s,l=!1,c=null,d=!1;t.show=function(e,t,u){l||(l=!0,d||(d=!0,a=document.createElement("div"),a.id="systemNotification",r=document.createElement("p"),r.addEventListener("click",o),a.appendChild(r),(0,n.getPageOverlayContainer)().appendChild(a)),c="function"==typeof t?t:null,r.className=u||"success",r.textContent=(0,i.getPhrase)(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,n,i,o){"use strict";function r(e,t,n,i){i||(i=s),window.open(t.replace("{pageURL}",i).replace("{text}",a+(n?`%20${i}`:"")),e,"height=600,width=600")}Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,i=n.__importStar(i),o=n.__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 n={facebook:{link:e.querySelector('.messageShareProvider[data-identifier="Facebook"]'),share(e){e.preventDefault(),r("facebook","https://www.facebook.com/sharer.php?u={pageURL}&t={text}",!0,t)}},reddit:{link:e.querySelector('.messageShareProvider[data-identifier="Reddit"]'),share(e){e.preventDefault(),r("reddit","https://ssl.reddit.com/submit?url={pageURL}",!1,t)}},twitter:{link:e.querySelector('.messageShareProvider[data-identifier="Twitter"]'),share(e){e.preventDefault(),r("twitter","https://twitter.com/share?url={pageURL}&text={text}",!1,t)}},linkedIn:{link:e.querySelector('.messageShareProvider[data-identifier="LinkedIn"]'),share(e){e.preventDefault(),r("linkedIn","https://www.linkedin.com/cws/share?url={pageURL}",!1,t)}},pinterest:{link:e.querySelector('.messageShareProvider[data-identifier="Pinterest"]'),share(e){e.preventDefault(),r("pinterest","https://www.pinterest.com/pin/create/link/?url={pageURL}&description={text}",!1,t)}},xing:{link:e.querySelector('.messageShareProvider[data-identifier="XING"]'),share(e){e.preventDefault(),r("xing","https://www.xing.com/social_plugins/share?url={pageURL}",!1,t)}},whatsApp:{link:e.querySelector('.messageShareProvider[data-identifier="WhatsApp"]'),share(e){e.preventDefault(),window.location.href="https://api.whatsapp.com/send?text="+a+"%20"+s}}};i.fire("com.woltlab.wcf.message.share","shareProvider",{container:e,providers:n,pageDescription:a,pageUrl:s}),Object.values(n).forEach((e=>{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";function n(e){i.add(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.getShareProviders=t.addShareProviders=t.addShareProvider=void 0;const i=new Set;t.addShareProvider=n,t.addShareProviders=function(e){e.forEach((e=>n(e)))},t.getShareProviders=function(){return i}})),define("WoltLabSuite/Core/Ui/Message/Share/Dialog",["require","exports","tslib","../../../Dom/Traverse","../../../Clipboard","../../Notification","../../../StringUtil","../../../Dom/Change/Listener","../Share","./Providers","../../../Component/Dialog","WoltLabSuite/Core/Language"],(function(e,t,n,i,o,r,a,s,l,c,d,u){"use strict";function p(e,t){return`\n
              \n
              ${(0,u.getPhrase)(e)}
              \n
              \n
              \n \n \n
              \n
              \n
              \n `}function m(e){e.preventDefault();const t=e.currentTarget,n=f(t);if(void 0===v){const e=function(){const e=Array.from((0,c.getShareProviders)()).map((e=>{const[t,n,i]=e;return`\n
            • \n \n
            • \n `})).join("\n");return e?`
                ${e}
              `:""}();let s="";e&&(s=`\n
              \n
              ${(0,u.getPhrase)("wcf.message.share.socialMedia")}
              \n
              ${e}
              \n
              \n `);let m="";b&&(m=`\n
              \n
              \n
              \n \n
              \n
              \n `);const h=`\n
              \n `;v=(0,d.dialogFactory)().fromHtml(h).withoutControls(),v.content.querySelectorAll(".shareDialogCopyButton").forEach((e=>e.addEventListener("click",(e=>async function(e){e.preventDefault();const t=e.currentTarget,n=i.prevBySel(t,'input[type="text"]');await o.copyTextToClipboard(n.value),r.show((0,u.getPhrase)("wcf.message.share.copy.success"))}(e))))),b&&v.content.querySelector(".shareDialogNativeButton").addEventListener("click",(e=>async function(e){e.preventDefault();const t=e.currentTarget,n={url:t.dataset.url};t.dataset.title&&(n.title=t.dataset.title),await window.navigator.share(n)}(e))),e&&l.init()}v.show((0,u.getPhrase)("wcf.message.share"))}function h(){document.querySelectorAll(".shareButton, .wsShareButton").forEach((e=>{g.has(e)||(e.addEventListener("click",(e=>m(e))),g.add(e))}))}function f(e){return e instanceof HTMLAnchorElement?e.href:e.dataset.link}Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,i=n.__importStar(i),o=n.__importStar(o),r=n.__importStar(r),a=n.__importStar(a),s=n.__importDefault(s),l=n.__importStar(l);const g=new WeakSet,b=void 0!==window.navigator.share;let v;t.setup=function(){h(),s.default.add("WoltLabSuite/Core/Ui/Message/Share/Dialog",(()=>h()))}})),define("WoltLabSuite/Core/Ui/Feed/Dialog",["require","exports","tslib","../Dialog","../../StringUtil","../../Language","../../Clipboard","../Notification"],(function(e,t,n,i,o,r,a,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,i=n.__importDefault(i),o=n.__importStar(o),r=n.__importStar(r),a=n.__importStar(a),s=n.__importStar(s),t.setup=function(){document.querySelectorAll("a.rssFeed").forEach((e=>{e.addEventListener("click",(e=>function(e){e.preventDefault();const t=e.currentTarget,n=t.href,l=n.replace(/(\\?|&)at=[^&]*&?/,"$1").replace(/(\?|&)$/,"");i.default.openStatic("feedLinkDialog",`\n

              ${r.get("wcf.global.rss.accessToken.info")}

              \n
              \n
              ${r.get("wcf.global.rss.withoutAccessToken")}
              \n
              \n
              \n \n \n
              \n
              \n
              \n
              \n
              ${r.get("wcf.global.rss.withAccessToken")}
              \n
              \n
              \n \n
              \n
              \n
              \n`,{onShow(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")})}(e)))}))}})),define("WoltLabSuite/Core/Ui/Page/Menu/Main/Frontend",["require","exports"],(function(e,t){"use strict";function n(e,t){const i=e.querySelector(".boxMenuLink"),o=i.querySelector(".boxMenuLinkTitle").textContent;let r=0;const a=i.querySelector(".boxMenuLinkOutstandingItems");a&&(r=parseInt(a.textContent.replace(/[^0-9]/,""),10));const s=e.querySelector("ol");let l=[];if(s instanceof HTMLOListElement){let e=t;e<3&&(e=t+1),l=Array.from(s.children).map((t=>n(t,e)))}const c=i.getAttribute("href");let d,u;return c&&"#"!==c&&(d=i.href,"_blank"===i.target&&(u=!0)),{active:e.classList.contains("active"),children:l,counter:r,depth:t,identifier:i.parentElement.dataset.identifier,link:d,openInNewWindow:u,title:o}}Object.defineProperty(t,"__esModule",{value:!0}),t.UiPageMenuMainFrontend=void 0;class i{getMenuItems(e){return Array.from(e.children).map((e=>n(e,0)))}}t.UiPageMenuMainFrontend=i,t.default=i})),define("WoltLabSuite/Core/BootstrapFrontend",["require","exports","tslib","./BackgroundQueue","./Bootstrap","./Controller/Popover","./Ui/User/Ignore","./Ui/Page/Header/Menu","./Ui/Message/UserConsent","./Ui/Message/Share/Dialog","./Ui/Message/Share/Providers","./Ui/Feed/Dialog","./User","./Ui/Page/Menu/Main/Frontend","./LazyLoader","./Ajax/Backend"],(function(e,t,n,i,o,r,a,s,l,c,d,u,p,m,h,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,i=n.__importStar(i),o=n.__importStar(o),r=n.__importStar(r),a=n.__importStar(a),s=n.__importStar(s),l=n.__importStar(l),c=n.__importStar(c),u=n.__importStar(u),p=n.__importDefault(p),m=n.__importDefault(m),t.setup=function(t){t.backgroundQueue.url=window.WSC_API_URL+t.backgroundQueue.url.substr(window.WCF_PATH.length),o.setup({colorScheme:t.colorScheme,enableMobileMenu:!0,pageMenuMainProvider:new m.default}),s.init(),t.styleChanger&&new Promise(((t,n)=>{e(["./Controller/Style/Changer"],t,n)})).then(n.__importStar).then((e=>{e.setup()})),t.enableUserPopover&&(r.init({className:"userLink",dboAction:"wcf\\data\\user\\UserProfileAction",identifier:"com.woltlab.wcf.user"}),r.init({attributeName:"data-user-id",className:"userLink",dboAction:"wcf\\data\\user\\UserProfileAction",identifier:"com.woltlab.wcf.user.deprecated"})),void 0!==t.executeCronjobs&&(0,f.prepareRequest)(t.executeCronjobs).get().disableLoadingIndicator().fetchAsResponse().catch((()=>{})),i.setUrl(t.backgroundQueue.url),(Math.random()<.1||t.backgroundQueue.force)&&i.invoke(),a.init(),l.init(),t.shareButtonProviders&&(0,d.addShareProviders)(t.shareButtonProviders),c.setup(),p.default.userId&&u.setup(),(0,h.whenFirstSeen)("woltlab-core-reaction-summary",(()=>{new Promise(((t,n)=>{e(["./Ui/Reaction/SummaryDetails"],t,n)})).then(n.__importStar).then((({setup:e})=>e()))})),(0,h.whenFirstSeen)("woltlab-core-comment",(()=>{new Promise(((t,n)=>{e(["./Component/Comment/woltlab-core-comment"],t,n)})).then(n.__importStar)})),(0,h.whenFirstSeen)("woltlab-core-comment-response",(()=>{new Promise(((t,n)=>{e(["./Component/Comment/Response/woltlab-core-comment-response"],t,n)})).then(n.__importStar)}))}})),define("WoltLabSuite/Core/ColorUtil",["require","exports"],(function(e,t){"use strict";function n(e,t,n){if(e>359)throw new TypeError("Hue cannot be larger than 359°");t/=100,n/=100;const i=(1-Math.abs(2*n-1))*t,o=i*(1-Math.abs(e/60%2-1)),r=n-i/2,[a,s,l]=0<=e&&e<60&&[i,o,0]||60<=e&&e<120&&[o,i,0]||120<=e&&e<180&&[0,i,o]||180<=e&&e<240&&[0,o,i]||240<=e&&e<300&&[o,0,i]||300<=e&&e<360&&[i,0,o];return{r:Math.round(255*(a+r)),g:Math.round(255*(s+r)),b:Math.round(255*(l+r))}}function i(e,t,n){const i={r:0,g:0,b:0},o=Math.floor(e/60),r=e/60-o,a=(n/=100)*(1-(t/=100)),s=n*(1-t*r),l=n*(1-t*(1-r));if(0==t)i.r=i.g=i.b=n;else switch(o){case 1:i.r=s,i.g=n,i.b=a;break;case 2:i.r=a,i.g=n,i.b=l;break;case 3:i.r=a,i.g=s,i.b=n;break;case 4:i.r=l,i.g=a,i.b=n;break;case 5:i.r=n,i.g=a,i.b=s;break;case 0:case 6:i.r=n,i.g=l,i.b=a}return{r:Math.round(255*i.r),g:Math.round(255*i.g),b:Math.round(255*i.b)}}function o(e,t,n){let i,o;e/=255,t/=255,n/=255;const r=Math.max(e,t,n),a=Math.min(e,t,n),s=r-a;if(i=0,r!==a){switch(r){case e:i=(t-n)/s*60;break;case t:i=60*(2+(n-e)/s);break;case n:i=60*(4+(e-t)/s)}i<0&&(i+=360)}const l=(r+a)/2;return o=0===r?0:s/(1-Math.abs(2*l-1)),{h:Math.round(i),s:Math.round(100*o),l:Math.round(100*l)}}function r(e,t,n){let i,o;e/=255,t/=255,n/=255;const r=Math.max(Math.max(e,t),n),a=Math.min(Math.min(e,t),n),s=r-a;if(i=0,r!==a){switch(r){case e:i=(t-n)/s*60;break;case t:i=60*(2+(n-e)/s);break;case n:i=60*(4+(e-t)/s)}i<0&&(i+=360)}return o=0===r?0:s/r,{h:Math.round(i),s:Math.round(100*o),v:Math.round(100*r)}}function a(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 s(e){if(e<0||e>255)throw new Error(`Invalid RGB component value '${e}' given.`);return e.toString(16).padStart(2,"0").toUpperCase()}function l(e,t,n){if(void 0===t){const i=/^rgba?\((\d+), ?(\d+), ?(\d+)(?:, ?[0-9.]+)?\)$/.exec(e.toString());if(!i)throw new Error("Invalid RGB data given.");e=+i[1],t=+i[2],n=+i[3]}return s(e)+s(t)+s(n)}function c(e){if(e<0||e>1)throw new Error(`Invalid alpha value '${e}' given.`);return Math.round(255*e).toString(16).padStart(2,"0").toUpperCase()}function d(e,t,n,i){if(void 0===t){const t=e;return l(t.r,t.g,t.b)+c(t.a)}return l(e,t,n)+c(i)}function u(e){return`rgba(${e.r}, ${e.g}, ${e.b}, ${e.a})`}function p(){let e=document.getElementById("jsColorUtilColorChecker");return null===e&&(e=document.createElement("span"),e.id="jsColorUtilColorChecker",document.body.appendChild(e)),e}function m(e){const t=p();return t.style.color="",t.style.color=e,""!==t.style.color}function h(e){if(!m(e))throw new Error(`Given string '${e}' is no valid color.`);const t=p();t.style.color=e;const n=window.getComputedStyle(t).color,i=/^rgb\((\d+), ?(\d+), ?(\d+)\)$/.exec(n);if(i)return{r:+i[1],g:+i[2],b:+i[3],a:1};{const e=/^rgba\((\d+), ?(\d+), ?(\d+), ?([0-9.]+)\)$/.exec(n);if(e)return{r:+e[1],g:+e[2],b:+e[3],a:+e[4]}}throw new Error(`Cannot process color '${e}'.`)}Object.defineProperty(t,"__esModule",{value:!0}),t.stringToRgba=t.isValidColor=t.rgbaToString=t.rgbaToHex=t.rgbToHex=t.hexToRgb=t.rgbToHsv=t.rgbToHsl=t.hsvToRgb=t.hslToRgb=void 0,t.hslToRgb=n,t.hsvToRgb=i,t.rgbToHsl=o,t.rgbToHsv=r,t.hexToRgb=a,t.rgbToHex=l,t.rgbaToHex=d,t.rgbaToString=u,t.isValidColor=m,t.stringToRgba=h,window.__wcf_bc_colorUtil={hexToRgb:a,hslToRgb:n,hsvToRgb:i,isValidColor:m,rgbaToHex:d,rgbaToString:u,rgbToHex:l,rgbToHsv:r,rgbToHsl:o,stringToRgba:h}})),define("WoltLabSuite/Core/Dictionary",["require","exports"],(function(e,t){"use strict";class n{_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,n=e.length;tthis.set(t,e)))}toObject(){const e={};return this._dictionary.forEach(((t,n)=>e[n]=t)),e}static fromObject(e){const t=new n;return Object.keys(e).forEach((n=>{t.set(n,e[n])})),t}get size(){return this._dictionary.size}}return n})),define("WoltLabSuite/Core/FileUtil",["require","exports","tslib","./StringUtil"],(function(e,t,n,i){"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,i=n.__importStar(i);const r=new Map(Object.entries({zip:"zipper",rar:"zipper",tar:"zipper",gz:"zipper",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:"lines",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 n="Byte";return e>=1e3&&(e/=1e3,n="kB"),e>=1e3&&(e/=1e3,n="MB"),e>=1e3&&(e/=1e3,n="GB"),e>=1e3&&(e/=1e3,n="TB"),i.formatNumeric(e,-t)+" "+n},t.getIconNameByFilename=function(e){const t=e.lastIndexOf(".");if(-1!==t){const n=e.substr(t+1);if(r.has(n))return r.get(n)}return""},t.getExtensionByMimeType=o,t.blobToFile=function(e,t){const n=o(e.type);return new File([e],t+n,{type:e.type})}})),define("WoltLabSuite/Core/List",["require","exports"],(function(e,t){"use strict";return class{_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}}})),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 n=e.toString().split("e"),i=n[1]?+n[1]-t:-t;return n=(e=Math.round(+`${n[0]}e${i}`)).toString().split("e"),i=n[1]?+n[1]+t:t,+`${n[0]}e${i}`}})),define("WoltLabSuite/Core/ObjectMap",["require","exports"],(function(e,t){"use strict";return class{_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)}}})),define("WoltLabSuite/Core/Permission",["require","exports"],(function(e,t){"use strict";function n(e,t){if("boolean"!=typeof t)throw new TypeError("The permission value has to be boolean.");i.set(e,t)}Object.defineProperty(t,"__esModule",{value:!0}),t.get=t.addObject=t.add=void 0;const i=new Map;t.add=n,t.addObject=function(e){Object.keys(e).forEach((t=>n(t,e[t])))},t.get=function(e){return!!i.has(e)&&i.get(e)}})),_self="undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{},Prism=function(e){function t(e,t,n,i){this.type=e,this.content=t,this.alias=n,this.length=0|(i||"").length}function n(e,t,n,i){var o,r;return e.lastIndex=t,(o=e.exec(n))&&i&&o[1]&&(r=o[1].length,o.index+=r,o[0]=o[0].slice(r)),o}function i(e,o,s,l,c,d){var u,p,h,f,g,b,v,y,_,w,E,S,C,L,k,x,M,I,T,D,A,P,j,O,q;for(u in s)if(s.hasOwnProperty(u)&&s[u])for(p=s[u],p=Array.isArray(p)?p:[p],h=0;h=d.reach);S+=E.value.length,E=E.next){if(C=E.value,o.length>e.length)return;if(!(C instanceof t)){if(L=1,v){if(!(k=n(w,S,e,b))||k.index>=e.length)break;for(x=k.index,M=k.index+k[0].length,I=S,I+=E.value.length;x>=I;)I+=(E=E.next).value.length;if(S=I-=E.value.length,E.value instanceof t)continue;for(T=E;T!==o.tail&&(Id.reach&&(d.reach=j),O=E.prev,A&&(O=r(o,O,A),S+=A.length),a(o,O,L),E=r(o,O,new t(u,g?m.tokenize(D,g):D,y,D)),P&&r(o,E,P),L>1&&(q={cause:u+","+h,reach:j},i(e,o,s,E.prev,S,q),d&&q.reach>d.reach&&(d.reach=q.reach))}}}}function o(){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 r(e,t,n){var i=t.next,o={value:n,prev:t,next:i};return t.next=o,i.prev=o,e.length++,o}function a(e,t,n){var i,o=t.next;for(i=0;i"+o.content+""},e.document?((l=m.util.currentScript())&&(m.filename=l.src,l.hasAttribute("data-manual")&&(m.manual=!0)),m.manual||("loading"===(c=document.readyState)||"interactive"===c&&l&&l.defer?document.addEventListener("DOMContentLoaded",s):window.requestAnimationFrame?window.requestAnimationFrame(s):window.setTimeout(s,16)),m):e.addEventListener?(m.disableWorkerMessageHandler||e.addEventListener("message",(function(t){var n=JSON.parse(t.data),i=n.language,o=n.code,r=n.immediateClose;e.postMessage(m.highlight(o,m.languages[i],i)),r&&e.close()}),!1),m):m}(_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 window.Prism.hooks.add("wrap",(e=>{e.classes=e.classes.map((e=>`prism-${e}`))})),Prism})),define("WoltLabSuite/Core/Template",["require","exports"],(function(e,t){"use strict";return window.WoltLabTemplate})),define("WoltLabSuite/Core/Upload",["require","exports","tslib","./Ajax/Request","./Core","./Dom/Change/Listener","./Language"],(function(e,t,n,i,o,r,a){"use strict";return i=n.__importDefault(i),o=n.__importStar(o),r=n.__importDefault(r),a=n.__importStar(a),class{_button=document.createElement("p");_buttonContainer;_fileElements=[];_fileUpload=document.createElement("input");_internalFileId=0;_multiFileUploadIds=[];_options;_target;constructor(e,t,n){if(!(n=n||{}).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=${o.getXsrfToken()}`},n),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 i=document.getElementById(e);if(null===i)throw new Error(`Element id '${e}' is unknown.`);this._buttonContainer=i;const r=document.getElementById(t);if(null===r)throw new Error(`Element id '${t}' is unknown.`);if(this._target=r,n.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.matches(":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 n;switch(t.max=100,this._target.nodeName){case"OL":case"UL":return n=document.createElement("li"),n.innerText=e.name,n.appendChild(t),this._target.appendChild(n),n;case"TBODY":return this._createFileTableRow(e);default:return n=document.createElement("p"),n.appendChild(t),this._target.appendChild(n),n}}_createFileElements(e){if(!e.length)return null;const t=[];Array.from(e).forEach((e=>{const n=this._createFileElement(e);n.classList.contains("uploadFailed")||(n.dataset.filename=e.name,n.dataset.internalFileId=(this._internalFileId++).toString(),t.push(n))}));const n=this._fileElements.length;return this._fileElements.push(t),r.default.trigger(),n}_createFileTableRow(e){throw new Error("Has to be implemented in subclass.")}_failure(e,t,n,i,o){return!0}_getParameters(){return{}}_getFormData(){return{}}_insertButton(){this._buttonContainer.insertAdjacentElement("afterbegin",this._button)}_progress(e,t){const n=Math.round(t.loaded/t.total*100);this._fileElements[e].forEach((e=>{const t=e.querySelector("progress");t&&(t.value=n)}))}_removeButton(){this._button.remove(),r.default.trigger()}_success(e,t,n,i,o){}_upload(e,t,n){this._target.querySelectorAll(".uploadFailed").forEach((e=>e.remove()));let i=null,o=[];if(t)o.push(t);else if(n){let e="";switch(n.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?(i=[],o.forEach((e=>{const t=this._uploadFiles([e],n);1!==o.length&&this._multiFileUploadIds.push(t),i.push(t)}))):i=this._uploadFiles(o,n)),this._removeButton(),this._createButton(),i}validateUpload(e){return!0}_uploadFiles(e,t){function n(e,t){null!==e&&(t=t||"",Object.entries(e).forEach((([e,i])=>{if("object"==typeof i)n(i,0===t.length?e:`${t}[${e}]`);else{const n=0===t.length?e:`${t}[${e}]`;r.append(n,i)}})))}const o=this._createFileElements(e);if(!this._fileElements[o].length)return null;const r=new FormData;for(let n=0,i=e.length;ne.find((e=>null!==e.querySelector("progress")))))}uploadBlob(e){return this._upload(null,null,e)}uploadFile(e){return this._upload(null,e)}}})),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"},apex:{title:"Apex",file:"apex"},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"},armasm:{title:"ARM Assembly",file:"armasm"},arturo:{title:"Arturo",file:"arturo"},asciidoc:{title:"AsciiDoc",file:"asciidoc"},aspnet:{title:"ASP.NET (C#)",file:"aspnet"},asm6502:{title:"6502 Assembly",file:"asm6502"},asmatmel:{title:"Atmel AVR Assembly",file:"asmatmel"},autohotkey:{title:"AutoHotkey",file:"autohotkey"},autoit:{title:"AutoIt",file:"autoit"},avisynth:{title:"AviSynth",file:"avisynth"},"avro-idl":{title:"Avro IDL",file:"avro-idl"},awk:{title:"AWK",file:"awk"},bash:{title:"Bash",file:"bash"},sh:{title:"Shell",file:"bash"},shell:{title:"Shell",file:"bash"},basic:{title:"BASIC",file:"basic"},batch:{title:"Batch",file:"batch"},bbcode:{title:"BBcode",file:"bbcode"},bbj:{title:"BBj",file:"bbj"},bicep:{title:"Bicep",file:"bicep"},birb:{title:"Birb",file:"birb"},bison:{title:"Bison",file:"bison"},bnf:{title:"BNF",file:"bnf"},bqn:{title:"BQN",file:"bqn"},brainfuck:{title:"Brainfuck",file:"brainfuck"},brightscript:{title:"BrightScript",file:"brightscript"},bro:{title:"Bro",file:"bro"},bsl:{title:"BSL (1C:Enterprise)",file:"bsl"},c:{title:"C",file:"c"},csharp:{title:"C#",file:"csharp"},cpp:{title:"C++",file:"cpp"},cfscript:{title:"CFScript",file:"cfscript"},chaiscript:{title:"ChaiScript",file:"chaiscript"},cil:{title:"CIL",file:"cil"},cilkc:{title:"Cilk/C",file:"cilkc"},cilkcpp:{title:"Cilk/C++",file:"cilkcpp"},clojure:{title:"Clojure",file:"clojure"},cmake:{title:"CMake",file:"cmake"},cobol:{title:"COBOL",file:"cobol"},coffeescript:{title:"CoffeeScript",file:"coffeescript"},concurnas:{title:"Concurnas",file:"concurnas"},csp:{title:"Content-Security-Policy",file:"csp"},cooklang:{title:"Cooklang",file:"cooklang"},coq:{title:"Coq",file:"coq"},crystal:{title:"Crystal",file:"crystal"},"css-extras":{title:"CSS Extras",file:"css-extras"},csv:{title:"CSV",file:"csv"},cue:{title:"CUE",file:"cue"},cypher:{title:"Cypher",file:"cypher"},d:{title:"D",file:"d"},dart:{title:"Dart",file:"dart"},dataweave:{title:"DataWeave",file:"dataweave"},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"},dot:{title:"DOT (Graphviz)",file:"dot"},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"},false:{title:"False",file:"false"},"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"},gap:{title:"GAP (CAS)",file:"gap"},gcode:{title:"G-code",file:"gcode"},gdscript:{title:"GDScript",file:"gdscript"},gedcom:{title:"GEDCOM",file:"gedcom"},gettext:{title:"gettext",file:"gettext"},gherkin:{title:"Gherkin",file:"gherkin"},git:{title:"Git",file:"git"},glsl:{title:"GLSL",file:"glsl"},gn:{title:"GN",file:"gn"},"linker-script":{title:"GNU Linker Script",file:"linker-script"},go:{title:"Go",file:"go"},"go-module":{title:"Go module",file:"go-module"},gradle:{title:"Gradle",file:"gradle"},graphql:{title:"GraphQL",file:"graphql"},groovy:{title:"Groovy",file:"groovy"},haml:{title:"Haml",file:"haml"},handlebars:{title:"Handlebars",file:"handlebars"},mustache:{title:"Mustache",file:"handlebars"},haskell:{title:"Haskell",file:"haskell"},haxe:{title:"Haxe",file:"haxe"},hcl:{title:"HCL",file:"hcl"},hlsl:{title:"HLSL",file:"hlsl"},hoon:{title:"Hoon",file:"hoon"},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"},"icu-message-format":{title:"ICU Message Format",file:"icu-message-format"},idris:{title:"Idris",file:"idris"},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"},jexl:{title:"Jexl",file:"jexl"},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"},keepalived:{title:"Keepalived Configure",file:"keepalived"},keyman:{title:"Keyman",file:"keyman"},kotlin:{title:"Kotlin",file:"kotlin"},kts:{title:"Kotlin Script",file:"kotlin"},kumir:{title:"KuMir (КуМир)",file:"kumir"},kusto:{title:"Kusto",file:"kusto"},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"},log:{title:"Log file",file:"log"},lolcode:{title:"LOLCODE",file:"lolcode"},lua:{title:"Lua",file:"lua"},magma:{title:"Magma (CAS)",file:"magma"},makefile:{title:"Makefile",file:"makefile"},markdown:{title:"Markdown",file:"markdown"},"markup-templating":{title:"Markup templating",file:"markup-templating"},mata:{title:"Mata",file:"mata"},matlab:{title:"MATLAB",file:"matlab"},maxscript:{title:"MAXScript",file:"maxscript"},mel:{title:"MEL",file:"mel"},mermaid:{title:"Mermaid",file:"mermaid"},metafont:{title:"METAFONT",file:"metafont"},mizar:{title:"Mizar",file:"mizar"},mongodb:{title:"MongoDB",file:"mongodb"},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"},naniscript:{title:"Naninovel Script",file:"naniscript"},nasm:{title:"NASM",file:"nasm"},neon:{title:"NEON",file:"neon"},nevod:{title:"Nevod",file:"nevod"},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"},odin:{title:"Odin",file:"odin"},opencl:{title:"OpenCL",file:"opencl"},openqasm:{title:"OpenQasm",file:"openqasm"},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"},psl:{title:"PATROL Scripting Language",file:"psl"},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"},"plant-uml":{title:"PlantUML",file:"plant-uml"},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"},promql:{title:"PromQL",file:"promql"},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"},purescript:{title:"PureScript",file:"purescript"},python:{title:"Python",file:"python"},qsharp:{title:"Q#",file:"qsharp"},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"},cshtml:{title:"Razor C#",file:"cshtml"},jsx:{title:"React JSX",file:"jsx"},tsx:{title:"React TSX",file:"tsx"},reason:{title:"Reason",file:"reason"},regex:{title:"Regex",file:"regex"},rego:{title:"Rego",file:"rego"},renpy:{title:"Ren'py",file:"renpy"},rescript:{title:"ReScript",file:"rescript"},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"},sml:{title:"SML",file:"sml"},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"},squirrel:{title:"Squirrel",file:"squirrel"},stan:{title:"Stan",file:"stan"},stata:{title:"Stata Ado",file:"stata"},iecst:{title:"Structured Text (IEC 61131-3)",file:"iecst"},stylus:{title:"Stylus",file:"stylus"},supercollider:{title:"SuperCollider",file:"supercollider"},swift:{title:"Swift",file:"swift"},systemd:{title:"Systemd configuration file",file:"systemd"},"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"},tremor:{title:"Tremor",file:"tremor"},trickle:{title:"trickle",file:"tremor"},troy:{title:"troy",file:"tremor"},turtle:{title:"Turtle",file:"turtle"},twig:{title:"Twig",file:"twig"},typescript:{title:"TypeScript",file:"typescript"},typoscript:{title:"TypoScript",file:"typoscript"},unrealscript:{title:"UnrealScript",file:"unrealscript"},uorazor:{title:"UO Razor Script",file:"uorazor"},uri:{title:"URI",file:"uri"},v:{title:"V",file:"v"},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"},"web-idl":{title:"Web IDL",file:"web-idl"},wgsl:{title:"WGSL",file:"wgsl"},wiki:{title:"Wiki markup",file:"wiki"},wolfram:{title:"Wolfram language",file:"wolfram"},mathematica:{title:"Mathematica",file:"wolfram"},nb:{title:"Mathematica Notebook",file:"wolfram"},wren:{title:"Wren",file:"wren"},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/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 n,i=document.createElement("span");for(;n=t.nextNode();){const t=n,o=t.data.split(/\r?\n/);for(let n=0,r=o.length;n=1&&(i.appendChild(document.createTextNode("\n")),yield i,i=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}i.appendChild(a)}}yield i}})),define("WoltLabSuite/Core/Bbcode/Code",["require","exports","tslib","../Language","../Clipboard","../Ui/Notification","../Prism","../Prism/Helper"],(function(e,t,n,i,o,r,a,s){"use strict";async function l(){return new Promise(((e,t)=>{window.requestIdleCallback?window.requestIdleCallback(e,{timeout:5e3}):setTimeout(e,0)}))}i=n.__importStar(i),o=n.__importStar(o),r=n.__importStar(r),a=n.__importDefault(a),s=n.__importStar(s);class c{static chunkSize=50;container;codeContainer;language;constructor(e){this.container=e,this.codeContainer=this.container.querySelector(".codeBoxCode > code"),this.language=Array.from(this.codeContainer.classList).find((e=>/^language-([a-z0-9_-]+)$/.test(e)))?.replace(/^language-/,"")}static processAll(){document.querySelectorAll(".codeBox:not([data-processed])").forEach((e=>{e.dataset.processed="1";const t=new c(e);t.language&&t.highlight(),t.createCopyButton()}))}createCopyButton(){const e=this.container.querySelector(".codeBoxHeader");if(!e)return;const t=document.createElement("button");t.type="button",t.innerHTML='',t.classList.add("jsTooltip"),t.title=i.get("wcf.message.bbcode.code.copy");const n=async()=>{await o.copyElementTextToClipboard(this.codeContainer),r.show(i.get("wcf.message.bbcode.code.copy.success"))};t.addEventListener("click",(()=>n())),e.appendChild(t)}async highlight(){if(!this.language)throw new Error("No language detected");const t=(await new Promise(((t,n)=>{e(["../prism-meta"],t,n)})).then(n.__importStar)).default;if(!t[this.language])throw new Error(`Unknown language '${this.language}'`);this.container.classList.add("highlighting"),await new Promise(((n,i)=>{e(["prism/components/prism-"+t[this.language].file],n,i)})).then(n.__importStar),await l();const i=a.default.languages[this.language];if(!i)throw new Error(`Invalid language '${this.language}' given.`);const o=document.createElement("div");o.innerHTML=a.default.highlight(this.codeContainer.textContent,i,this.language),await l();const r=this.codeContainer.querySelectorAll(".codeBoxLine > span"),d=s.splitIntoLines(o);for(let e=0,t=r.length;e{const t=e.dataset.titleExpand,n=e.querySelector("fa-icon");n?(n.setIcon("up-right-and-down-left-from-center"),e.title=t):e.textContent=t})),n 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,n=e.querySelector("fa-icon");n?(n.setIcon("down-left-and-up-right-to-center"),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)),i=e.querySelector(".collapsibleBbcodeOverflow")||e;t.length>0&&function(e,t,i){t.forEach((i=>{i.classList.add("jsToggleButtonEnabled"),i.addEventListener("click",(i=>n(e,t,i))),i.addEventListener("keydown",(i=>{"Enter"!==i.key&&" "!==i.key||(i.preventDefault(),n(e,t))}))})),0!==i.scrollTop&&(i.scrollTop=0,n(e,t)),i.addEventListener("scroll",(()=>{i.scrollTop=0,e.classList.contains("collapsed")&&n(e,t)}))}(e,t,i),e.classList.remove("jsCollapsibleBbcode")}))}})),define("WoltLabSuite/Core/Bbcode/Spoiler",["require","exports","tslib","../Core","../Language","../Dom/Util"],(function(e,t,n,i,o,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.observe=void 0,i=n.__importStar(i),o=n.__importStar(o),r=n.__importDefault(r),t.observe=function(){const e="jsSpoilerBox";document.querySelectorAll(`.${e}`).forEach((t=>{t.classList.remove(e);const n=t.querySelector(".jsSpoilerToggle"),a=t.querySelector(".spoilerBoxContent");n.addEventListener("click",(e=>function(e,t,n){e.preventDefault(),n.classList.toggle("active");const a=n.classList.contains("active");a?r.default.show(t):r.default.hide(t),n.setAttribute("aria-expanded",a?"true":"false"),t.setAttribute("aria-hidden",a?"false":"true"),i.stringToBool(n.dataset.hasCustomLabel||"")||(n.textContent=o.get(n.classList.contains("active")?"wcf.bbcode.spoiler.hide":"wcf.bbcode.spoiler.show"))}(e,a,n)))}))}})),define("WoltLabSuite/Core/Component/Ckeditor/Event",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.listenToCkeditor=t.dispatchToCkeditor=void 0;class n{#w;constructor(e){this.#w=e}collectMetaData(e){this.#w.dispatchEvent(new CustomEvent("ckeditor5:collect-meta-data",{detail:e}))}destroy(){this.#w.dispatchEvent(new CustomEvent("ckeditor5:destroy"))}discardRecoveredData(){this.#w.dispatchEvent(new CustomEvent("ckeditor5:discard-recovered-data"))}insertAttachment(e){this.#w.dispatchEvent(new CustomEvent("ckeditor5:insert-attachment",{detail:e}))}insertQuote(e){this.#w.dispatchEvent(new CustomEvent("ckeditor5:insert-quote",{detail:e}))}ready(e){this.#w.dispatchEvent(new CustomEvent("ckeditor5:ready",{detail:e}))}removeAttachment(e){this.#w.dispatchEvent(new CustomEvent("ckeditor5:remove-attachment",{detail:e}))}reset(e){this.#w.dispatchEvent(new CustomEvent("ckeditor5:reset",{detail:e}))}setupConfiguration(e){this.#w.dispatchEvent(new CustomEvent("ckeditor5:setup-configuration",{detail:e}))}setupFeatures(e){this.#w.dispatchEvent(new CustomEvent("ckeditor5:setup-features",{detail:e}))}submitOnEnter(e){this.#w.dispatchEvent(new CustomEvent("ckeditor5:submit-on-enter",{detail:e}))}uploadAttachment(e){this.#w.dispatchEvent(new CustomEvent("ckeditor5:upload-attachment",{detail:e}))}uploadMedia(e){this.#w.dispatchEvent(new CustomEvent("ckeditor5:upload-media",{detail:e}))}}class i{#w;constructor(e){this.#w=e}collectMetaData(e){return this.#w.addEventListener("ckeditor5:collect-meta-data",(t=>{e(t.detail)})),this}destroy(e){return this.#w.addEventListener("ckeditor5:destroy",(()=>{e()})),this}discardRecoveredData(e){return this.#w.addEventListener("ckeditor5:discard-recovered-data",(()=>{e()}),{once:!0}),this}insertAttachment(e){return this.#w.addEventListener("ckeditor5:insert-attachment",(t=>{e(t.detail)})),this}insertQuote(e){return this.#w.addEventListener("ckeditor5:insert-quote",(t=>{e(t.detail)})),this}ready(e){return this.#w.addEventListener("ckeditor5:ready",(t=>{e(t.detail)}),{once:!0}),this}removeAttachment(e){return this.#w.addEventListener("ckeditor5:remove-attachment",(t=>{e(t.detail)})),this}reset(e){return this.#w.addEventListener("ckeditor5:reset",(t=>{e(t.detail)})),this}setupConfiguration(e){return this.#w.addEventListener("ckeditor5:setup-configuration",(t=>{e(t.detail)}),{once:!0}),this}setupFeatures(e){return this.#w.addEventListener("ckeditor5:setup-features",(t=>{e(t.detail)}),{once:!0}),this}submitOnEnter(e){return this.#w.addEventListener("ckeditor5:submit-on-enter",(t=>{e(t.detail)})),this}uploadAttachment(e){return this.#w.addEventListener("ckeditor5:upload-attachment",(t=>{e(t.detail)})),this}uploadMedia(e){return this.#w.addEventListener("ckeditor5:upload-media",(t=>{e(t.detail)})),this}}t.dispatchToCkeditor=function(e){return new n(e)},t.listenToCkeditor=function(e){return new i(e)}})),define("WoltLabSuite/Core/Component/Ckeditor/Attachment",["require","exports","./Event"],(function(e,t,n){"use strict";function i(e,t,i){const o={abortController:i,file:t};return(0,n.dispatchToCkeditor)(e).uploadAttachment(o),new Promise((e=>{o.promise.then((({attachmentId:t,url:n})=>{e({"data-attachment-id":t.toString(),urls:{default:n}})}))}))}Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,t.setup=function(e){(0,n.listenToCkeditor)(e).setupConfiguration((({configuration:t,features:o})=>{o.attachment&&(t.woltlabUpload={uploadImage:(t,n)=>i(e,t,n),uploadOther:t=>i(e,t)},(0,n.listenToCkeditor)(e).ready((({ckeditor:e})=>{!function(e){(0,n.listenToCkeditor)(e.sourceElement).insertAttachment((({attachmentId:t,url:n})=>{""===n?e.insertText(`[attach=${t}][/attach]`):e.insertHtml(``)}))}(e),function(e){(0,n.listenToCkeditor)(e.sourceElement).removeAttachment((({attachmentId:t})=>{e.removeAll("imageBlock",{attachmentId:t}),e.removeAll("imageInline",{attachmentId:t})}))}(e)})))}))}})),__createBinding=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n);var o=Object.getOwnPropertyDescriptor(t,n);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,i,o)}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){var t,n;if(e&&e.__esModule)return e;if(t={},null!=e)for(n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&__createBinding(t,e,n);return __setModuleDefault(t,e),t},define("WoltLabSuite/Core/Component/Ckeditor/Media",["require","exports","./Event"],(function(e,t,n){"use strict";function i(e,t,i){const o={abortController:i,file:t};return(0,n.dispatchToCkeditor)(e).uploadMedia(o),Promise.reject()}Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,t.setup=function(t){(0,n.listenToCkeditor)(t).setupConfiguration((({configuration:e,features:n})=>{e.woltlabMedia={resolveMediaUrl(e,t){let n="";return"original"!==t&&(n=`&thumbnail=${t}`),`${window.WSC_API_URL}index.php?media/${e}/${n}`}},!n.attachment&&n.media&&(e.woltlabUpload={uploadImage:(e,n)=>i(t,e,n),uploadOther:e=>i(t,e)})})).ready((({ckeditor:t})=>{t.features.media&&new Promise(((t,n)=>{e(["../../Media/Manager/Editor"],t,n)})).then(__importStar).then((({MediaManagerEditor:e})=>{new e({ckeditor:t})}))}))}})),define("WoltLabSuite/Core/Component/Ckeditor/Mention",["require","exports","../../Ajax/Backend","../../Dom/Util","./Event"],(function(e,t,n,i,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,t.setup=function(e){(0,o.listenToCkeditor)(e).setupConfiguration((({configuration:e,features:t})=>{t.mention&&(e.mention={feeds:[{feed:e=>async function(e){const t=new URL(window.WSC_API_URL+"index.php?editor-get-mention-suggestions/");return t.searchParams.set("query",e),(await(0,n.prepareRequest)(t.toString()).get().allowCaching().disableLoadingIndicator().fetchAsJson()).map((e=>"user"===e.type?{id:`@${e.username}`,text:e.username,icon:e.avatarTag,objectId:e.userID,type:e.type}:{id:`@${e.name}`,text:e.name,icon:'',objectId:e.groupID,type:e.type}))}(e),itemRenderer:e=>(0,i.createFragmentFromHtml)(`\n ${e.icon} ${e.text}\n `).firstElementChild,marker:"@",minimumCharacters:3}]})}))}})),define("WoltLabSuite/Core/Component/Ckeditor/Quote",["require","exports","../../StringUtil","./Event"],(function(e,t,n,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,t.setup=function(e){(0,i.listenToCkeditor)(e).ready((({ckeditor:t})=>{(0,i.listenToCkeditor)(e).insertQuote((e=>{!function(e,t){let{author:i,content:o,link:r}=t;t.isText&&(o=(0,n.escapeHTML)(o)),i=(0,n.escapeHTML)(i),r=(0,n.escapeHTML)(r),e.insertHtml(`${o}\n


              `)}(t,e)}))}))}})),define("WoltLabSuite/Core/Component/Ckeditor/Autosave",["require","exports","../../Core","../../Language","../../StringUtil","./Event"],(function(e,t,n,i,o,r){"use strict";function a(e){return`${(0,n.getStoragePrefix)()}ckeditor5-${e}`}function s(e){try{window.localStorage.removeItem(a(e))}catch{}}Object.defineProperty(t,"__esModule",{value:!0}),t.initializeAutosave=t.setupRestoreDraft=t.deleteDraft=void 0,t.deleteDraft=s,t.setupRestoreDraft=function(e,t){let n;try{const e=window.localStorage.getItem(a(t));null!==e&&(n=JSON.parse(e))}catch{return void s(t)}if(void 0===n)return;const l=parseInt(e.sourceElement.dataset.autosaveLastEditTime)||0;if(l&&1e3*l>=n.timestamp)return;const c=e.data.get();if(c===n.html)return;e.data.set(n.html);const d=document.createElement("div");d.classList.add("ckeditor5__restoreDraft");const u=function(){const e=document.createElement("div");return e.classList.add("ckeditor5__restoreDraft__dialog"),e.setAttribute("role","alertdialog"),e.tabIndex=0,e.innerHTML=`\n
              \n ${(0,o.escapeHTML)((0,i.getPhrase)("wcf.editor.restoreDraft"))}\n
              \n
              \n \n \n
              \n `,e}(),p=document.createElement("div");p.classList.add("ckeditor5_restoreDraft__wrapper"),p.append(u),e.ui.element.insertAdjacentElement("beforebegin",d),d.append(e.ui.element,p);const m=(e,t,n)=>{n&&u.focus()};e.ui.focusTracker.on("change:isFocused",m);const h=()=>{e.ui.focusTracker.off("change:isFocused",m),d.insertAdjacentElement("beforebegin",e.ui.element),d.remove()};u.querySelector('button[data-type="submit"]').addEventListener("click",(()=>{h()})),u.querySelector('button[data-type="cancel"]').addEventListener("click",(()=>{e.data.set(c),s(t),""===c&&(0,r.dispatchToCkeditor)(e.sourceElement).discardRecoveredData(),h()}))},t.initializeAutosave=function(e,t,n){!function(){const e=Date.now()-604800;Object.keys(localStorage).filter((e=>e.startsWith("ckeditor5-"))).forEach((t=>{let n,i;try{n=window.localStorage.getItem(t)}catch{return}if(null!==n){try{i=JSON.parse(n)}catch{}if(void 0===i||i.timestamp(function(e,t){if(""===t)return void s(e);const n={html:t,timestamp:Date.now()};try{window.localStorage.setItem(a(e),JSON.stringify(n))}catch(e){console.warn("Unable to write to the local storage.",e)}}(n,e.data.get()),Promise.resolve()),waitingTime:15e3},(0,r.listenToCkeditor)(e).reset((()=>s(n))),e instanceof HTMLTextAreaElement&&e.form&&e.form.addEventListener("submit",(()=>s(n)))}})),define("WoltLabSuite/Core/Component/Ckeditor/Configuration",["require","exports","../../Language"],(function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createConfigurationFor=void 0;class i{#E;#S="|";#C=[];#L=[];#k={};constructor(e){this.#E=e}#x(){this.#E.heading?this.#L.push("heading"):this.#C.push("Heading")}#M(){this.#L.push("bold","italic")}#I(){const e=[];this.#E.underline?e.push("underline"):this.#C.push("Underline"),this.#E.strikethrough?e.push("strikethrough"):this.#C.push("Strikethrough"),this.#E.code?e.push("code"):this.#C.push("Code"),e.push(this.#S),this.#E.mark?e.push("highlight"):this.#C.push("Highlight"),this.#E.fontColor?e.push("fontColor"):this.#C.push("FontColor"),this.#E.fontFamily?e.push("fontFamily"):this.#C.push("FontFamily"),this.#E.fontSize?e.push("fontSize"):this.#C.push("FontSize"),e.push(this.#S),this.#E.subscript?e.push("subscript"):this.#C.push("Subscript"),this.#E.superscript?e.push("superscript"):this.#C.push("Superscript"),0!==e.length&&e.push(this.#S,"removeFormat"),e.length>0&&(this.#L.push({label:"woltlabToolbarGroup_format",items:e}),this.#k.format={icon:"ellipsis;false",label:(0,n.getPhrase)("wcf.editor.button.group.format")})}#T(){this.#E.list?(this.#L.push({label:"woltlabToolbarGroup_list",items:["bulletedList","numberedList","outdent","indent"]}),this.#k.list={icon:"list;false",label:(0,n.getPhrase)("wcf.editor.button.group.list")}):this.#C.push("List")}#D(){this.#E.alignment?this.#L.push("alignment"):this.#C.push("Alignment")}#A(){this.#E.link?this.#L.push("link"):this.#C.push("Link","LinkImage")}#P(){this.#E.image?(this.#L.push("insertImage"),this.#E.attachment||this.#C.push("ImageUpload","ImageUploadUI","WoltlabAttachment")):(this.#C.push("ImageInsertUI"),this.#E.link&&this.#C.push("LinkImage"))}#j(){const e=[];this.#E.table?e.push("insertTable"):this.#C.push("Table","TableToolbar"),e.push(this.#S),this.#E.quoteBlock?e.push("blockQuote"):this.#C.push("BlockQuote","WoltlabBlockQuote"),this.#E.codeBlock?e.push("codeBlock"):this.#C.push("CodeBlock","WoltlabCodeBlock"),this.#E.spoiler?e.push("spoiler"):this.#C.push("WoltlabSpoiler"),this.#E.html?e.push("htmlEmbed"):this.#C.push("HtmlEmbed"),e.length>0&&this.#L.push({label:(0,n.getPhrase)("wcf.editor.button.group.block"),icon:"plus",items:e})}#O(){this.#L.push(this.#S)}#q(){this.#E.media||this.#C.push("WoltlabMedia")}#N(){this.#E.mention||this.#C.push("Mention","WoltlabMention")}#B(){let e=!1;return this.#L.filter((t=>"string"==typeof t&&t===this.#S?!!e&&(e=!1,!0):(e=!0,!0)))}build(){if(this.#C.length>0||this.#L.length>0)throw new Error("Cannot build the configuration twice.");this.#x(),this.#O(),this.#O(),this.#M(),this.#I(),this.#O(),this.#A(),this.#O(),this.#T(),this.#D(),this.#O(),this.#P(),this.#j(),this.#O(),this.#q(),this.#N()}toConfig(){const e=Object.keys(window.CKEDITOR_TRANSLATIONS).find((e=>"en"!==e)),t=e||"en",{dictionary:i}=window.CKEDITOR_TRANSLATIONS[t];return i.Author=(0,n.getPhrase)("wcf.ckeditor.quote.author"),i.Filename=(0,n.getPhrase)("wcf.ckeditor.code.fileName"),i["Line number"]=(0,n.getPhrase)("wcf.ckeditor.code.lineNumber"),i.Quote=(0,n.getPhrase)("wcf.ckeditor.quote"),i["Quote from %0"]=(0,n.getPhrase)("wcf.ckeditor.quoteFrom"),i.Spoiler=(0,n.getPhrase)("wcf.editor.button.spoiler"),{alignment:{options:[{name:"center",className:"text-center"},{name:"left",className:"text-left"},{name:"justify",className:"text-justify"},{name:"right",className:"text-right"}]},highlight:{options:[{model:"markerWarning",class:"marker-warning",title:(0,n.getPhrase)("wcf.ckeditor.marker.warning"),color:"var(--marker-warning)",type:"marker"},{model:"markerError",class:"marker-error",title:(0,n.getPhrase)("wcf.ckeditor.marker.error"),color:"var(--marker-error)",type:"marker"},{model:"markerInfo",class:"marker-info",title:(0,n.getPhrase)("wcf.ckeditor.marker.info"),color:"var(--marker-info)",type:"marker"},{model:"markerSuccess",class:"marker-success",title:(0,n.getPhrase)("wcf.ckeditor.marker.success"),color:"var(--marker-success)",type:"marker"}]},language:e,removePlugins:this.#C,fontFamily:{options:["default","Arial, Helvetica, sans-serif","Comic Sans MS, Marker Felt, cursive","Consolas, Courier New, Courier, monospace","Georgia, serif","Lucida Sans Unicode, Lucida Grande, sans-serif","Tahoma, Geneva, sans-serif","Times New Roman, Times, serif",'Trebuchet MS", Helvetica, sans-serif',"Verdana, Geneva, sans-serif"]},fontSize:{options:[8,10,12,"default",18,24,36]},toolbar:this.#B(),ui:{viewportOffset:{top:50}},woltlabToolbarGroup:this.#k}}}t.createConfigurationFor=function(e){const t=new i(e);return t.build(),t.toConfig()}})),define("WoltLabSuite/Core/Component/Ckeditor/SubmitOnEnter",["require","exports","./Event"],(function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,t.setup=function(e,t){e.editing.view.document.on("enter",((e,i)=>{if(i.isSoft)return;i.preventDefault(),e.stop();const o=t.getHtml();""!==o&&(0,n.dispatchToCkeditor)(t.sourceElement).submitOnEnter({ckeditor:t,html:o})}),{priority:"high"})}})),define("WoltLabSuite/Core/Component/Ckeditor/Normalizer",["require","exports","tslib","../../Dom/Util"],(function(e,t,n,i){"use strict";function o(e,t){const n=e.closest("p");if(null===n)return;const i=document.createElement("figure");i.classList.add("image",t),i.append(e),n.insertAdjacentElement("beforebegin",i),""===n.innerHTML&&n.remove()}Object.defineProperty(t,"__esModule",{value:!0}),t.normalizeLegacyMessage=void 0,i=n.__importDefault(i),t.normalizeLegacyMessage=function(e){if(!(e instanceof HTMLTextAreaElement))throw new TypeError("Expected the element to be a \n `;const c=l.querySelector("textarea");return n.content.append(l),n.show(e),new Promise((e=>{n.addEventListener("primary",(()=>{e({result:!0,reason:c.value.trim()})})),n.addEventListener("cancel",(()=>{e({result:!1,reason:""})}))}))}}t.confirmationFactory=function(){return new s}})),define("WoltLabSuite/Core/Controller/Captcha",["require","exports"],(function(e,t){"use strict";const n=new Map,i={add(e,t){if(n.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'.");n.set(e,t)},delete(e){if(!n.has(e))throw new Error(`Unknown captcha with id '${e}'.`);n.delete(e)},has:e=>n.has(e),getData(e){if(!n.has(e))throw new Error(`Unknown captcha with id '${e}'.`);return n.get(e)()},setupDialog(e,t){let n;return e.addEventListener("validate",(e=>{i.has(t)&&(n=i.getData(t),i.delete(t),n instanceof Promise&&(e.detail.push(new Promise((e=>{n.then((()=>{e(!0)})).catch((()=>{e(!1)}))}))),e.preventDefault()))})),new Promise((t=>{e.addEventListener("primary",(()=>{void 0!==n?n instanceof Promise?n.then((e=>{t(e)})):t(n):t({})}))}))}};return i})),define("WoltLabSuite/Core/Event/Key",["require","exports"],(function(e,t){"use strict";function n(e,t,n){if(!(e instanceof Event))throw new TypeError("Expected a valid event when testing for key '"+t+"'.");return e.key===t||e.which===n}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 n(e,"ArrowDown",40)},t.ArrowLeft=function(e){return n(e,"ArrowLeft",37)},t.ArrowRight=function(e){return n(e,"ArrowRight",39)},t.ArrowUp=function(e){return n(e,"ArrowUp",38)},t.Comma=function(e){return n(e,",",44)},t.End=function(e){return n(e,"End",35)},t.Enter=function(e){return n(e,"Enter",13)},t.Escape=function(e){return n(e,"Escape",27)},t.Home=function(e){return n(e,"Home",36)},t.Space=function(e){return n(e,"Space",32)},t.Tab=function(e){return n(e,"Tab",9)}})),define("WoltLabSuite/Core/Image/ExifUtil",["require","exports"],(function(e,t){"use strict";function n(e){return e===s||e===l||e===c}function i(...e){let t=0;const n=e.reduce(((e,t)=>e+t.length),0),i=new Uint8Array(n);return e.forEach((e=>{i.set(e,t),t+=e.length})),i}async function o(e){return new Promise(((t,n)=>{const i=new FileReader;i.addEventListener("error",(()=>{i.abort(),n(i.error)})),i.addEventListener("load",(()=>{t(new Uint8Array(i.result))})),i.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{const i=new FileReader,o=new Image;i.addEventListener("load",(()=>{o.src=i.result})),i.addEventListener("error",(()=>{i.abort(),t(i.error)})),o.addEventListener("error",t),o.addEventListener("load",(()=>{e(o)})),i.readAsDataURL(n)})),[r,a]=await Promise.all([t,i]);return{exif:r,image:a}}async resize(e,t=this.maxWidth,n=this.maxHeight,i=this.quality,o=!1,r){const s=document.createElement("canvas");if(window.createImageBitmap&&(await createImageBitmap(e)).height!=e.height)throw new Error("Chrome Bug #1069965");const l=Math.min(t,e.width),c=Math.min(n,e.height);if(e.width<=l&&e.height<=c&&!o)return;const d=Math.min(l/e.width,c/e.height);s.width=Math.floor(e.width*d),s.height=Math.floor(e.height*d);let u=1;i>=.8?u=3:i>=.4&&(u=2);const p={quality:u,cancelToken:r,alpha:!0};return a.resize(e,s,p)}}})),define("WoltLabSuite/Core/Language/Chooser",["require","exports","tslib","../Core","../Language","../Dom/Util","../Ui/Dropdown/Simple"],(function(e,t,n,i,o,r,a){"use strict";function s(e,t,n){const o=u.get(e);if(void 0===n&&void 0===(n=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(),i.triggerEvent(o.element,"change"),o.dropdownToggle.innerHTML=n.children[0].innerHTML;const r=document.createElement("fa-icon");r.setIcon("caret-down",!0),o.dropdownToggle.append(r),u.set(e,o),"function"==typeof o.callback&&o.callback(n)}function l(e){const t=e.currentTarget;p.get(t).forEach((e=>{const n=document.createElement("input");n.type="hidden",n.name=e,n.value=d(e).toString(),t.appendChild(n)}))}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,i=n.__importStar(i),o=n.__importStar(o),r=n.__importDefault(r),a=n.__importDefault(a);const u=new Map,p=new WeakMap;t.init=function(e,t,n,i,c,d){if(u.has(t))return;const m=document.getElementById(e);if(null===m)throw new Error(`Expected a valid container id, cannot find '${t}'.`);let h=document.getElementById(t);null===h&&(h=document.createElement("input"),h.type="hidden",h.id=t,h.name=t,h.value=n.toString(),m.appendChild(h)),function(e,t,n,i,c,d){function m(t){const n=t.currentTarget,i=~~n.dataset.languageId,o=b.querySelector(".active");null!==o&&o.classList.remove("active"),i&&n.classList.add("active"),s(e,i,n)}let h;const f=t.parentElement;"DD"===f.nodeName?(h=document.createElement("div"),h.className="dropdown",f.insertAdjacentElement("afterbegin",h)):(h=f,h.classList.add("dropdown")),r.default.hide(t);const g=document.createElement("a");g.className="dropdownToggle boxFlag box24 inputPrefix","DD"===f.nodeName&&g.classList.add("button"),h.appendChild(g);const b=document.createElement("ul");b.className="dropdownMenu",h.appendChild(b);const v=document.createElement("fa-icon");if(v.setIcon("caret-down",!0),Object.entries(i).forEach((([e,t])=>{const i=document.createElement("li");i.className="boxFlag",i.addEventListener("click",m),i.dataset.languageId=e,void 0!==t.languageCode&&(i.dataset.languageCode=t.languageCode),b.appendChild(i);const o=document.createElement("a");o.className="box24",o.href="#",o.addEventListener("click",(e=>e.preventDefault())),i.appendChild(o);const r=document.createElement("img");r.src=t.iconPath,r.alt="",r.className="iconFlag",r.height=15,r.width=24,r.loading="eager",o.appendChild(r);const a=document.createElement("span");a.textContent=t.languageName,o.appendChild(a),+e===n&&(g.innerHTML=o.innerHTML,g.append(v))})),d){const e=document.createElement("li");e.className="dropdownDivider",b.appendChild(e);const t=document.createElement("li");t.dataset.languageId="0",t.addEventListener("click",m),b.appendChild(t);const i=document.createElement("a");i.textContent=o.get("wcf.global.language.noSelection"),t.appendChild(i),0===n&&(g.innerHTML=i.innerHTML,g.append(v)),t.addEventListener("click",m)}else if(0===n){g.innerHTML="";const e=document.createElement("div");g.appendChild(e);const t=document.createElement("fa-icon");t.size=24,t.setIcon("question"),e.appendChild(t);const n=document.createElement("span");n.textContent=o.get("wcf.global.language.noSelection"),n.append(t),e.appendChild(n)}a.default.init(g),u.set(e,{callback:c,dropdownMenu:b,dropdownToggle:g,element:t});const y=t.closest("form");if(null!==y){y.addEventListener("submit",l);let t=p.get(y);void 0===t&&(t=[],p.set(y,t)),t.push(e)}}(t,h,n,i,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,n,i,o,r,a){"use strict";function s(e,t,n){const i=d.get(e),o=r.default.getDropdownMenu(i.element.closest(".inputAddon").id).querySelector(`[data-language-id="${t}"]`),a=o?o.textContent:"";if(i.languageId!==t){const o=p.get(e);if(i.languageId&&o.set(i.languageId,i.element.value),0===t?p.set(e,new Map):(i.buttonLabel.classList.contains("active")||n)&&(i.element.value=o.get(t)||""),i.buttonLabel.textContent=a,i.buttonLabel.querySelector("fa-icon")?.remove(),t){i.buttonLabel.classList.add("active");const e=document.createElement("fa-icon");e.setIcon("caret-down",!0),i.buttonLabel.append(e)}else i.buttonLabel.classList.remove("active");i.languageId=t}n||(i.element.blur(),i.element.focus()),i.callbacks.has("select")&&i.callbacks.get("select")(i.element)}function l(e,t){if("open"!==t)return;const n=r.default.getDropdownMenu(e),i=document.getElementById(e).dataset.inputId,o=d.get(i),a=p.get(i);Array.from(n.children).forEach((e=>{const t=~~(e.dataset.languageId||"");if(t){let n=!1;o.languageId&&(n=t===o.languageId?""===o.element.value.trim():!a.get(t));const i=e.querySelector("span");if(i.querySelector("fa-icon")?.remove(),n){e.classList.add("missingValue");const t=document.createElement("fa-icon");t.setIcon("triangle-exclamation"),i.append(t)}else e.classList.remove("missingValue")}}))}function c(e){const t=e.currentTarget;u.get(t).forEach((e=>{const n=d.get(e);if(!n.isEnabled)return;const i=p.get(e);n.callbacks.has("submit")&&n.callbacks.get("submit")(n.element),n.languageId&&i.set(n.languageId,n.element.value),i.size&&(i.forEach((function(n,i){const o=document.createElement("input");o.type="hidden",o.name=`${e}_i18n[${i}]`,o.value=n,t.appendChild(o)})),n.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,i=n.__importDefault(i),o=n.__importStar(o),r=n.__importDefault(r),a=n.__importStar(a);const d=new Map,u=new WeakMap,p=new Map;t.init=function(e,t,n,i){if(p.has(e))return;const m=document.getElementById(e);if(null===m)throw new Error(`Expected a valid element id, cannot find '${e}'.`);const h=new Map;Object.entries(t).forEach((([e,t])=>{h.set(+e,a.unescapeHTML(t))})),p.set(e,h),function(e,t,n,i,a){let p=t.parentElement;if(!p.classList.contains("inputAddon")){p=document.createElement("div"),p.className="inputAddon","TEXTAREA"===t.nodeName&&p.classList.add("inputAddonTextarea"),p.dataset.inputId=e;const n=document.activeElement===t;t.insertAdjacentElement("beforebegin",p),p.appendChild(t),n&&t.focus()}p.classList.add("dropdown");const m=document.createElement("span");m.className="button dropdownToggle inputPrefix";const h=document.createElement("span");h.textContent=o.get("wcf.global.button.disabledI18n"),m.appendChild(h),p.insertBefore(m,t);const f=document.createElement("ul");f.className="dropdownMenu",m.insertAdjacentElement("afterend",f);const g=t=>{let n;n=t instanceof HTMLElement?t:t.currentTarget;const i=~~n.dataset.languageId,o=f.querySelector(".active");null!==o&&o.classList.remove("active"),i&&n.classList.add("active");const r=t instanceof HTMLElement;s(e,i,r)};if(Object.entries(i).forEach((([e,t])=>{const n=document.createElement("li");n.dataset.languageId=e;const i=document.createElement("span");i.textContent=t,n.appendChild(i),n.addEventListener("click",g),f.appendChild(n)})),!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 n=document.createElement("span");n.textContent=o.get("wcf.global.button.disabledI18n"),t.appendChild(n),f.appendChild(t)}let b;(a||n.size)&&(b=Array.from(f.children).find((e=>+e.dataset.languageId===window.LANGUAGE_ID))),r.default.init(m),r.default.registerCallback(p.id,l),d.set(e,{buttonLabel:h,callbacks:new Map,element:t,languageId:0,isEnabled:!0,forceSelection:a});const v=t.closest("form");if(null!==v){v.addEventListener("submit",c);let t=u.get(v);void 0===t&&(t=[],u.set(v,t)),t.push(e)}b&&g(b)}(e,m,h,n,i)},t.registerCallback=function(e,t,n){if(!p.has(e))throw new Error(`Unknown element id '${e}'.`);d.get(e).callbacks.set(t,n)},t.unregister=function(e){if(!p.has(e))throw new Error(`Unknown element id '${e}'.`);p.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 n=p.get(e);return n.set(t.languageId,t.element.value),n},t.setValues=function(e,t){const n=d.get(e);if(void 0===n)throw new Error(`Expected a valid i18n input element, '${e}' is not i18n input field.`);n.element.value="";const i=new Map(Object.entries(t).map((([e,t])=>[+e,t])));if(i.has(0))return n.element.value=i.get(0),i.delete(0),p.set(e,i),void s(e,0,!0);p.set(e,i),n.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 n=t.buttonLabel.parentElement;i.default.hide(n),n.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 n=t.buttonLabel.parentElement;i.default.show(n),n.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 n=d.get(e);if(void 0===n)throw new Error(`Expected a valid i18n input element, '${e}' is not i18n input field.`);if(!n.isEnabled)return!0;const i=p.get(e),o=r.default.getDropdownMenu(n.element.parentElement.id);n.languageId&&i.set(n.languageId,n.element.value);let a=!1,s=!1;return Array.from(o.children).forEach((e=>{const t=~~e.dataset.languageId;if(t)if(i.has(t)&&0!==i.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","../Component/Ckeditor"],(function(e,t,n,i,o){"use strict";function r(e){(0,o.getCkeditor)(e).setHtml(e.value)}function a(e){e.value=(0,o.getCkeditor)(e).getHtml()}Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,i=n.__importStar(i),t.init=function(e,t,n,o){const s=document.getElementById(e);if(!s||"TEXTAREA"!==s.nodeName||!s.classList.contains("wysiwygTextarea"))throw new Error(`Expected \n `;const c=l.querySelector("textarea");return n.content.append(l),n.show(e),new Promise((e=>{n.addEventListener("primary",(()=>{e({result:!0,reason:c.value.trim()})})),n.addEventListener("cancel",(()=>{e({result:!1,reason:""})}))}))}}t.confirmationFactory=function(){return new s}})),define("WoltLabSuite/Core/Controller/Captcha",["require","exports"],(function(e,t){"use strict";const n=new Map,i={add(e,t){if(n.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'.");n.set(e,t)},delete(e){if(!n.has(e))throw new Error(`Unknown captcha with id '${e}'.`);n.delete(e)},has:e=>n.has(e),getData(e){if(!n.has(e))throw new Error(`Unknown captcha with id '${e}'.`);return n.get(e)()},setupDialog(e,t){let n;return e.addEventListener("validate",(e=>{i.has(t)&&(n=i.getData(t),i.delete(t),n instanceof Promise&&(e.detail.push(new Promise((e=>{n.then((()=>{e(!0)})).catch((()=>{e(!1)}))}))),e.preventDefault()))})),new Promise((t=>{e.addEventListener("primary",(()=>{void 0!==n?n instanceof Promise?n.then((e=>{t(e)})):t(n):t({})}))}))}};return i})),define("WoltLabSuite/Core/Event/Key",["require","exports"],(function(e,t){"use strict";function n(e,t,n){if(!(e instanceof Event))throw new TypeError("Expected a valid event when testing for key '"+t+"'.");return e.key===t||e.which===n}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 n(e,"ArrowDown",40)},t.ArrowLeft=function(e){return n(e,"ArrowLeft",37)},t.ArrowRight=function(e){return n(e,"ArrowRight",39)},t.ArrowUp=function(e){return n(e,"ArrowUp",38)},t.Comma=function(e){return n(e,",",44)},t.End=function(e){return n(e,"End",35)},t.Enter=function(e){return n(e,"Enter",13)},t.Escape=function(e){return n(e,"Escape",27)},t.Home=function(e){return n(e,"Home",36)},t.Space=function(e){return n(e,"Space",32)},t.Tab=function(e){return n(e,"Tab",9)}})),define("WoltLabSuite/Core/Image/ExifUtil",["require","exports"],(function(e,t){"use strict";function n(e){return e===s||e===l||e===c}function i(...e){let t=0;const n=e.reduce(((e,t)=>e+t.length),0),i=new Uint8Array(n);return e.forEach((e=>{i.set(e,t),t+=e.length})),i}async function o(e){return new Promise(((t,n)=>{const i=new FileReader;i.addEventListener("error",(()=>{i.abort(),n(i.error)})),i.addEventListener("load",(()=>{t(new Uint8Array(i.result))})),i.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{const i=new FileReader,o=new Image;i.addEventListener("load",(()=>{o.src=i.result})),i.addEventListener("error",(()=>{i.abort(),t(i.error)})),o.addEventListener("error",t),o.addEventListener("load",(()=>{e(o)})),i.readAsDataURL(n)})),[r,a]=await Promise.all([t,i]);return{exif:r,image:a}}async resize(e,t=this.maxWidth,n=this.maxHeight,i=this.quality,o=!1,r){const s=document.createElement("canvas");if(window.createImageBitmap&&(await createImageBitmap(e)).height!=e.height)throw new Error("Chrome Bug #1069965");const l=Math.min(t,e.width),c=Math.min(n,e.height);if(e.width<=l&&e.height<=c&&!o)return;const d=Math.min(l/e.width,c/e.height);s.width=Math.floor(e.width*d),s.height=Math.floor(e.height*d);let u=1;i>=.8?u=3:i>=.4&&(u=2);const p={quality:u,cancelToken:r,alpha:!0};return a.resize(e,s,p)}}})),define("WoltLabSuite/Core/Language/Chooser",["require","exports","tslib","../Core","../Language","../Dom/Util","../Ui/Dropdown/Simple"],(function(e,t,n,i,o,r,a){"use strict";function s(e,t,n){const o=u.get(e);if(void 0===n&&void 0===(n=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(),i.triggerEvent(o.element,"change"),o.dropdownToggle.innerHTML=n.children[0].innerHTML;const r=document.createElement("fa-icon");r.setIcon("caret-down",!0),o.dropdownToggle.append(r),u.set(e,o),"function"==typeof o.callback&&o.callback(n)}function l(e){const t=e.currentTarget;p.get(t).forEach((e=>{const n=document.createElement("input");n.type="hidden",n.name=e,n.value=d(e).toString(),t.appendChild(n)}))}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,i=n.__importStar(i),o=n.__importStar(o),r=n.__importDefault(r),a=n.__importDefault(a);const u=new Map,p=new WeakMap;t.init=function(e,t,n,i,c,d){if(u.has(t))return;const m=document.getElementById(e);if(null===m)throw new Error(`Expected a valid container id, cannot find '${t}'.`);let h=document.getElementById(t);null===h&&(h=document.createElement("input"),h.type="hidden",h.id=t,h.name=t,h.value=n.toString(),m.appendChild(h)),function(e,t,n,i,c,d){function m(t){const n=t.currentTarget,i=~~n.dataset.languageId,o=b.querySelector(".active");null!==o&&o.classList.remove("active"),i&&n.classList.add("active"),s(e,i,n)}let h;const f=t.parentElement;"DD"===f.nodeName?(h=document.createElement("div"),h.className="dropdown",f.insertAdjacentElement("afterbegin",h)):(h=f,h.classList.add("dropdown")),r.default.hide(t);const g=document.createElement("a");g.className="dropdownToggle boxFlag box24 inputPrefix","DD"===f.nodeName&&g.classList.add("button"),h.appendChild(g);const b=document.createElement("ul");b.className="dropdownMenu",h.appendChild(b);const v=document.createElement("fa-icon");if(v.setIcon("caret-down",!0),Object.entries(i).forEach((([e,t])=>{const i=document.createElement("li");i.className="boxFlag",i.addEventListener("click",m),i.dataset.languageId=e,void 0!==t.languageCode&&(i.dataset.languageCode=t.languageCode),b.appendChild(i);const o=document.createElement("a");o.className="box24",o.href="#",o.addEventListener("click",(e=>e.preventDefault())),i.appendChild(o);const r=document.createElement("img");r.src=t.iconPath,r.alt="",r.className="iconFlag",r.height=15,r.width=24,r.loading="eager",o.appendChild(r);const a=document.createElement("span");a.textContent=t.languageName,o.appendChild(a),+e===n&&(g.innerHTML=o.innerHTML,g.append(v))})),d){const e=document.createElement("li");e.className="dropdownDivider",b.appendChild(e);const t=document.createElement("li");t.dataset.languageId="0",t.addEventListener("click",m),b.appendChild(t);const i=document.createElement("a");i.textContent=o.get("wcf.global.language.noSelection"),t.appendChild(i),0===n&&(g.innerHTML=i.innerHTML,g.append(v)),t.addEventListener("click",m)}else if(0===n){g.innerHTML="";const e=document.createElement("div");g.appendChild(e);const t=document.createElement("fa-icon");t.size=24,t.setIcon("question"),e.appendChild(t);const n=document.createElement("span");n.textContent=o.get("wcf.global.language.noSelection"),n.append(t),e.appendChild(n)}a.default.init(g),u.set(e,{callback:c,dropdownMenu:b,dropdownToggle:g,element:t});const y=t.closest("form");if(null!==y){y.addEventListener("submit",l);let t=p.get(y);void 0===t&&(t=[],p.set(y,t)),t.push(e)}}(t,h,n,i,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,n,i,o,r,a){"use strict";function s(e,t,n){const i=d.get(e),o=r.default.getDropdownMenu(i.element.closest(".inputAddon").id).querySelector(`[data-language-id="${t}"]`),a=o?o.textContent:"";if(i.languageId!==t){const o=p.get(e);if(i.languageId&&o.set(i.languageId,i.element.value),0===t?p.set(e,new Map):(i.buttonLabel.classList.contains("active")||n)&&(i.element.value=o.get(t)||""),i.buttonLabel.textContent=a,i.buttonLabel.querySelector("fa-icon")?.remove(),t){i.buttonLabel.classList.add("active");const e=document.createElement("fa-icon");e.setIcon("caret-down",!0),i.buttonLabel.append(e)}else i.buttonLabel.classList.remove("active");i.languageId=t}n||(i.element.blur(),i.element.focus()),i.callbacks.has("select")&&i.callbacks.get("select")(i.element)}function l(e,t){if("open"!==t)return;const n=r.default.getDropdownMenu(e),i=document.getElementById(e).dataset.inputId,o=d.get(i),a=p.get(i);Array.from(n.children).forEach((e=>{const t=~~(e.dataset.languageId||"");if(t){let n=!1;o.languageId&&(n=t===o.languageId?""===o.element.value.trim():!a.get(t));const i=e.querySelector("span");if(i.querySelector("fa-icon")?.remove(),n){e.classList.add("missingValue");const t=document.createElement("fa-icon");t.setIcon("triangle-exclamation"),i.append(t)}else e.classList.remove("missingValue")}}))}function c(e){const t=e.currentTarget;u.get(t).forEach((e=>{const n=d.get(e);if(!n.isEnabled)return;const i=p.get(e);n.callbacks.has("submit")&&n.callbacks.get("submit")(n.element),n.languageId&&i.set(n.languageId,n.element.value),i.size&&(i.forEach((function(n,i){const o=document.createElement("input");o.type="hidden",o.name=`${e}_i18n[${i}]`,o.value=n,t.appendChild(o)})),n.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,i=n.__importDefault(i),o=n.__importStar(o),r=n.__importDefault(r),a=n.__importStar(a);const d=new Map,u=new WeakMap,p=new Map;t.init=function(e,t,n,i){if(p.has(e))return;const m=document.getElementById(e);if(null===m)throw new Error(`Expected a valid element id, cannot find '${e}'.`);const h=new Map;Object.entries(t).forEach((([e,t])=>{h.set(+e,a.unescapeHTML(t))})),p.set(e,h),function(e,t,n,i,a){let p=t.parentElement;if(!p.classList.contains("inputAddon")){p=document.createElement("div"),p.className="inputAddon","TEXTAREA"===t.nodeName&&p.classList.add("inputAddonTextarea"),p.dataset.inputId=e;const n=document.activeElement===t;t.insertAdjacentElement("beforebegin",p),p.appendChild(t),n&&t.focus()}p.classList.add("dropdown");const m=document.createElement("span");m.className="button dropdownToggle inputPrefix";const h=document.createElement("span");h.textContent=o.get("wcf.global.button.disabledI18n"),m.appendChild(h),p.insertBefore(m,t);const f=document.createElement("ul");f.className="dropdownMenu",m.insertAdjacentElement("afterend",f);const g=t=>{let n;n=t instanceof HTMLElement?t:t.currentTarget;const i=~~n.dataset.languageId,o=f.querySelector(".active");null!==o&&o.classList.remove("active"),i&&n.classList.add("active");const r=t instanceof HTMLElement;s(e,i,r)};if(Object.entries(i).forEach((([e,t])=>{const n=document.createElement("li");n.dataset.languageId=e;const i=document.createElement("span");i.textContent=t,n.appendChild(i),n.addEventListener("click",g),f.appendChild(n)})),!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 n=document.createElement("span");n.textContent=o.get("wcf.global.button.disabledI18n"),t.appendChild(n),f.appendChild(t)}let b;(a||n.size)&&(b=Array.from(f.children).find((e=>+e.dataset.languageId===window.LANGUAGE_ID))),r.default.init(m),r.default.registerCallback(p.id,l),d.set(e,{buttonLabel:h,callbacks:new Map,element:t,languageId:0,isEnabled:!0,forceSelection:a});const v=t.closest("form");if(null!==v){v.addEventListener("submit",c);let t=u.get(v);void 0===t&&(t=[],u.set(v,t)),t.push(e)}b&&g(b)}(e,m,h,n,i)},t.registerCallback=function(e,t,n){if(!p.has(e))throw new Error(`Unknown element id '${e}'.`);d.get(e).callbacks.set(t,n)},t.unregister=function(e){if(!p.has(e))throw new Error(`Unknown element id '${e}'.`);p.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 n=p.get(e);return n.set(t.languageId,t.element.value),n},t.setValues=function(e,t){const n=d.get(e);if(void 0===n)throw new Error(`Expected a valid i18n input element, '${e}' is not i18n input field.`);n.element.value="";const i=new Map(Object.entries(t).map((([e,t])=>[+e,t])));if(i.has(0))return n.element.value=i.get(0),i.delete(0),p.set(e,i),void s(e,0,!0);p.set(e,i),n.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 n=t.buttonLabel.parentElement;i.default.hide(n),n.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 n=t.buttonLabel.parentElement;i.default.show(n),n.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 n=d.get(e);if(void 0===n)throw new Error(`Expected a valid i18n input element, '${e}' is not i18n input field.`);if(!n.isEnabled)return!0;const i=p.get(e),o=r.default.getDropdownMenu(n.element.parentElement.id);n.languageId&&i.set(n.languageId,n.element.value);let a=!1,s=!1;return Array.from(o.children).forEach((e=>{const t=~~e.dataset.languageId;if(t)if(i.has(t)&&0!==i.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","../Component/Ckeditor"],(function(e,t,n,i,o){"use strict";function r(e){(0,o.getCkeditor)(e).setHtml(e.value)}function a(e){e.value=(0,o.getCkeditor)(e).getHtml()}Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,i=n.__importStar(i),t.init=function(e,t,n,o){const s=document.getElementById(e);if(!s||"TEXTAREA"!==s.nodeName||!s.classList.contains("wysiwygTextarea"))throw new Error(`Expected \n `;const c=l.querySelector("textarea");return n.content.append(l),n.show(e),new Promise((e=>{n.addEventListener("primary",(()=>{e({result:!0,reason:c.value.trim()})})),n.addEventListener("cancel",(()=>{e({result:!1,reason:""})}))}))}}t.confirmationFactory=function(){return new s}})),define("WoltLabSuite/Core/Controller/Captcha",["require","exports"],(function(e,t){"use strict";const n=new Map,o={add(e,t){if(n.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'.");n.set(e,t)},delete(e){if(!n.has(e))throw new Error(`Unknown captcha with id '${e}'.`);n.delete(e)},has:e=>n.has(e),getData(e){if(!n.has(e))throw new Error(`Unknown captcha with id '${e}'.`);return n.get(e)()},setupDialog(e,t){let n;return e.addEventListener("validate",(e=>{o.has(t)&&(n=o.getData(t),o.delete(t),n instanceof Promise&&(e.detail.push(new Promise((e=>{n.then((()=>{e(!0)})).catch((()=>{e(!1)}))}))),e.preventDefault()))})),new Promise((t=>{e.addEventListener("primary",(()=>{void 0!==n?n instanceof Promise?n.then((e=>{t(e)})):t(n):t({})}))}))}};return o})),define("WoltLabSuite/Core/Event/Key",["require","exports"],(function(e,t){"use strict";function n(e,t,n){if(!(e instanceof Event))throw new TypeError("Expected a valid event when testing for key '"+t+"'.");return e.key===t||e.which===n}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 n(e,"ArrowDown",40)},t.ArrowLeft=function(e){return n(e,"ArrowLeft",37)},t.ArrowRight=function(e){return n(e,"ArrowRight",39)},t.ArrowUp=function(e){return n(e,"ArrowUp",38)},t.Comma=function(e){return n(e,",",44)},t.End=function(e){return n(e,"End",35)},t.Enter=function(e){return n(e,"Enter",13)},t.Escape=function(e){return n(e,"Escape",27)},t.Home=function(e){return n(e,"Home",36)},t.Space=function(e){return n(e,"Space",32)},t.Tab=function(e){return n(e,"Tab",9)}})),define("WoltLabSuite/Core/Language/Chooser",["require","exports","tslib","../Core","../Language","../Dom/Util","../Ui/Dropdown/Simple"],(function(e,t,n,o,i,r,a){"use strict";function s(e,t,n){const i=u.get(e);if(void 0===n&&void 0===(n=Array.from(i.dropdownMenu.children).find((e=>~~e.dataset.languageId===t))))throw new Error(`The language id '${t}' is unknown`);i.element.value=t.toString(),o.triggerEvent(i.element,"change"),i.dropdownToggle.innerHTML=n.children[0].innerHTML;const r=document.createElement("fa-icon");r.setIcon("caret-down",!0),i.dropdownToggle.append(r),u.set(e,i),"function"==typeof i.callback&&i.callback(n)}function l(e){const t=e.currentTarget;p.get(t).forEach((e=>{const n=document.createElement("input");n.type="hidden",n.name=e,n.value=d(e).toString(),t.appendChild(n)}))}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,o=n.__importStar(o),i=n.__importStar(i),r=n.__importDefault(r),a=n.__importDefault(a);const u=new Map,p=new WeakMap;t.init=function(e,t,n,o,c,d){if(u.has(t))return;const h=document.getElementById(e);if(null===h)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=n.toString(),h.appendChild(m)),function(e,t,n,o,c,d){function h(t){const n=t.currentTarget,o=~~n.dataset.languageId,i=b.querySelector(".active");null!==i&&i.classList.remove("active"),o&&n.classList.add("active"),s(e,o,n)}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 boxFlag box24 inputPrefix","DD"===f.nodeName&&g.classList.add("button"),m.appendChild(g);const b=document.createElement("ul");b.className="dropdownMenu",m.appendChild(b);const v=document.createElement("fa-icon");if(v.setIcon("caret-down",!0),Object.entries(o).forEach((([e,t])=>{const o=document.createElement("li");o.className="boxFlag",o.addEventListener("click",h),o.dataset.languageId=e,void 0!==t.languageCode&&(o.dataset.languageCode=t.languageCode),b.appendChild(o);const i=document.createElement("a");i.className="box24",i.href="#",i.addEventListener("click",(e=>e.preventDefault())),o.appendChild(i);const r=document.createElement("img");r.src=t.iconPath,r.alt="",r.className="iconFlag",r.height=15,r.width=24,r.loading="eager",i.appendChild(r);const a=document.createElement("span");a.textContent=t.languageName,i.appendChild(a),+e===n&&(g.innerHTML=i.innerHTML,g.append(v))})),d){const e=document.createElement("li");e.className="dropdownDivider",b.appendChild(e);const t=document.createElement("li");t.dataset.languageId="0",t.addEventListener("click",h),b.appendChild(t);const o=document.createElement("a");o.textContent=i.get("wcf.global.language.noSelection"),t.appendChild(o),0===n&&(g.innerHTML=o.innerHTML,g.append(v)),t.addEventListener("click",h)}else if(0===n){g.innerHTML="";const e=document.createElement("div");g.appendChild(e);const t=document.createElement("fa-icon");t.size=24,t.setIcon("question"),e.appendChild(t);const n=document.createElement("span");n.textContent=i.get("wcf.global.language.noSelection"),n.append(t),e.appendChild(n)}a.default.init(g),u.set(e,{callback:c,dropdownMenu:b,dropdownToggle:g,element:t});const y=t.closest("form");if(null!==y){y.addEventListener("submit",l);let t=p.get(y);void 0===t&&(t=[],p.set(y,t)),t.push(e)}}(t,m,n,o,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,n,o,i,r,a){"use strict";function s(e,t,n){const o=d.get(e),i=r.default.getDropdownMenu(o.element.closest(".inputAddon").id).querySelector(`[data-language-id="${t}"]`),a=i?i.textContent:"";if(o.languageId!==t){const i=p.get(e);if(o.languageId&&i.set(o.languageId,o.element.value),0===t?p.set(e,new Map):(o.buttonLabel.classList.contains("active")||n)&&(o.element.value=i.get(t)||""),o.buttonLabel.textContent=a,o.buttonLabel.querySelector("fa-icon")?.remove(),t){o.buttonLabel.classList.add("active");const e=document.createElement("fa-icon");e.setIcon("caret-down",!0),o.buttonLabel.append(e)}else o.buttonLabel.classList.remove("active");o.languageId=t}n||(o.element.blur(),o.element.focus()),o.callbacks.has("select")&&o.callbacks.get("select")(o.element)}function l(e,t){if("open"!==t)return;const n=r.default.getDropdownMenu(e),o=document.getElementById(e).dataset.inputId,i=d.get(o),a=p.get(o);Array.from(n.children).forEach((e=>{const t=~~(e.dataset.languageId||"");if(t){let n=!1;i.languageId&&(n=t===i.languageId?""===i.element.value.trim():!a.get(t));const o=e.querySelector("span");if(o.querySelector("fa-icon")?.remove(),n){e.classList.add("missingValue");const t=document.createElement("fa-icon");t.setIcon("triangle-exclamation"),o.append(t)}else e.classList.remove("missingValue")}}))}function c(e){const t=e.currentTarget;u.get(t).forEach((e=>{const n=d.get(e);if(!n.isEnabled)return;const o=p.get(e);n.callbacks.has("submit")&&n.callbacks.get("submit")(n.element),n.languageId&&o.set(n.languageId,n.element.value),o.size&&(o.forEach((function(n,o){const i=document.createElement("input");i.type="hidden",i.name=`${e}_i18n[${o}]`,i.value=n,t.appendChild(i)})),n.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,o=n.__importDefault(o),i=n.__importStar(i),r=n.__importDefault(r),a=n.__importStar(a);const d=new Map,u=new WeakMap,p=new Map;t.init=function(e,t,n,o){if(p.has(e))return;const h=document.getElementById(e);if(null===h)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))})),p.set(e,m),function(e,t,n,o,a){let p=t.parentElement;if(!p.classList.contains("inputAddon")){p=document.createElement("div"),p.className="inputAddon","TEXTAREA"===t.nodeName&&p.classList.add("inputAddonTextarea"),p.dataset.inputId=e;const n=document.activeElement===t;t.insertAdjacentElement("beforebegin",p),p.appendChild(t),n&&t.focus()}p.classList.add("dropdown");const h=document.createElement("span");h.className="button dropdownToggle inputPrefix";const m=document.createElement("span");m.textContent=i.get("wcf.global.button.disabledI18n"),h.appendChild(m),p.insertBefore(h,t);const f=document.createElement("ul");f.className="dropdownMenu",h.insertAdjacentElement("afterend",f);const g=t=>{let n;n=t instanceof HTMLElement?t:t.currentTarget;const o=~~n.dataset.languageId,i=f.querySelector(".active");null!==i&&i.classList.remove("active"),o&&n.classList.add("active");const r=t instanceof HTMLElement;s(e,o,r)};if(Object.entries(o).forEach((([e,t])=>{const n=document.createElement("li");n.dataset.languageId=e;const o=document.createElement("span");o.textContent=t,n.appendChild(o),n.addEventListener("click",g),f.appendChild(n)})),!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 n=document.createElement("span");n.textContent=i.get("wcf.global.button.disabledI18n"),t.appendChild(n),f.appendChild(t)}let b;(a||n.size)&&(b=Array.from(f.children).find((e=>+e.dataset.languageId===window.LANGUAGE_ID))),r.default.init(h),r.default.registerCallback(p.id,l),d.set(e,{buttonLabel:m,callbacks:new Map,element:t,languageId:0,isEnabled:!0,forceSelection:a});const v=t.closest("form");if(null!==v){v.addEventListener("submit",c);let t=u.get(v);void 0===t&&(t=[],u.set(v,t)),t.push(e)}b&&g(b)}(e,h,m,n,o)},t.registerCallback=function(e,t,n){if(!p.has(e))throw new Error(`Unknown element id '${e}'.`);d.get(e).callbacks.set(t,n)},t.unregister=function(e){if(!p.has(e))throw new Error(`Unknown element id '${e}'.`);p.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 n=p.get(e);return n.set(t.languageId,t.element.value),n},t.setValues=function(e,t){const n=d.get(e);if(void 0===n)throw new Error(`Expected a valid i18n input element, '${e}' is not i18n input field.`);n.element.value="";const o=new Map(Object.entries(t).map((([e,t])=>[+e,t])));if(o.has(0))return n.element.value=o.get(0),o.delete(0),p.set(e,o),void s(e,0,!0);p.set(e,o),n.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 n=t.buttonLabel.parentElement;o.default.hide(n),n.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 n=t.buttonLabel.parentElement;o.default.show(n),n.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 n=d.get(e);if(void 0===n)throw new Error(`Expected a valid i18n input element, '${e}' is not i18n input field.`);if(!n.isEnabled)return!0;const o=p.get(e),i=r.default.getDropdownMenu(n.element.parentElement.id);n.languageId&&o.set(n.languageId,n.element.value);let a=!1,s=!1;return Array.from(i.children).forEach((e=>{const t=~~e.dataset.languageId;if(t)if(o.has(t)&&0!==o.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","../Component/Ckeditor"],(function(e,t,n,o,i){"use strict";function r(e){(0,i.getCkeditor)(e).setHtml(e.value)}function a(e){e.value=(0,i.getCkeditor)(e).getHtml()}Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,o=n.__importStar(o),t.init=function(e,t,n,i){const s=document.getElementById(e);if(!s||"TEXTAREA"!==s.nodeName||!s.classList.contains("wysiwygTextarea"))throw new Error(`Expected \n `;const c=l.querySelector("textarea");return n.content.append(l),n.show(e),new Promise((e=>{n.addEventListener("primary",(()=>{e({result:!0,reason:c.value.trim()})})),n.addEventListener("cancel",(()=>{e({result:!1,reason:""})}))}))}}t.confirmationFactory=function(){return new s}})),define("WoltLabSuite/Core/Controller/Captcha",["require","exports"],(function(e,t){"use strict";const n=new Map,o={add(e,t){if(n.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'.");n.set(e,t)},delete(e){if(!n.has(e))throw new Error(`Unknown captcha with id '${e}'.`);n.delete(e)},has:e=>n.has(e),getData(e){if(!n.has(e))throw new Error(`Unknown captcha with id '${e}'.`);return n.get(e)()},setupDialog(e,t){let n;return e.addEventListener("validate",(e=>{o.has(t)&&(n=o.getData(t),o.delete(t),n instanceof Promise&&(e.detail.push(new Promise((e=>{n.then((()=>{e(!0)})).catch((()=>{e(!1)}))}))),e.preventDefault()))})),new Promise((t=>{e.addEventListener("primary",(()=>{void 0!==n?n instanceof Promise?n.then((e=>{t(e)})):t(n):t({})}))}))}};return o})),define("WoltLabSuite/Core/Event/Key",["require","exports"],(function(e,t){"use strict";function n(e,t,n){if(!(e instanceof Event))throw new TypeError("Expected a valid event when testing for key '"+t+"'.");return e.key===t||e.which===n}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 n(e,"ArrowDown",40)},t.ArrowLeft=function(e){return n(e,"ArrowLeft",37)},t.ArrowRight=function(e){return n(e,"ArrowRight",39)},t.ArrowUp=function(e){return n(e,"ArrowUp",38)},t.Comma=function(e){return n(e,",",44)},t.End=function(e){return n(e,"End",35)},t.Enter=function(e){return n(e,"Enter",13)},t.Escape=function(e){return n(e,"Escape",27)},t.Home=function(e){return n(e,"Home",36)},t.Space=function(e){return n(e,"Space",32)},t.Tab=function(e){return n(e,"Tab",9)}})),define("WoltLabSuite/Core/Language/Chooser",["require","exports","tslib","../Core","../Language","../Dom/Util","../Ui/Dropdown/Simple"],(function(e,t,n,o,i,r,a){"use strict";function s(e,t,n){const i=u.get(e);if(void 0===n&&void 0===(n=Array.from(i.dropdownMenu.children).find((e=>~~e.dataset.languageId===t))))throw new Error(`The language id '${t}' is unknown`);i.element.value=t.toString(),o.triggerEvent(i.element,"change"),i.dropdownToggle.innerHTML=n.children[0].innerHTML;const r=document.createElement("fa-icon");r.setIcon("caret-down",!0),i.dropdownToggle.append(r),u.set(e,i),"function"==typeof i.callback&&i.callback(n)}function l(e){const t=e.currentTarget;p.get(t).forEach((e=>{const n=document.createElement("input");n.type="hidden",n.name=e,n.value=d(e).toString(),t.appendChild(n)}))}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,o=n.__importStar(o),i=n.__importStar(i),r=n.__importDefault(r),a=n.__importDefault(a);const u=new Map,p=new WeakMap;t.init=function(e,t,n,o,c,d){if(u.has(t))return;const h=document.getElementById(e);if(null===h)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=n.toString(),h.appendChild(m)),function(e,t,n,o,c,d){function h(t){const n=t.currentTarget,o=~~n.dataset.languageId,i=b.querySelector(".active");null!==i&&i.classList.remove("active"),o&&n.classList.add("active"),s(e,o,n)}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 boxFlag box24 inputPrefix","DD"===f.nodeName&&g.classList.add("button"),m.appendChild(g);const b=document.createElement("ul");b.className="dropdownMenu",m.appendChild(b);const v=document.createElement("fa-icon");if(v.setIcon("caret-down",!0),Object.entries(o).forEach((([e,t])=>{const o=document.createElement("li");o.className="boxFlag",o.addEventListener("click",h),o.dataset.languageId=e,void 0!==t.languageCode&&(o.dataset.languageCode=t.languageCode),b.appendChild(o);const i=document.createElement("a");i.className="box24",i.href="#",i.addEventListener("click",(e=>e.preventDefault())),o.appendChild(i);const r=document.createElement("img");r.src=t.iconPath,r.alt="",r.className="iconFlag",r.height=15,r.width=24,r.loading="eager",i.appendChild(r);const a=document.createElement("span");a.textContent=t.languageName,i.appendChild(a),+e===n&&(g.innerHTML=i.innerHTML,g.append(v))})),d){const e=document.createElement("li");e.className="dropdownDivider",b.appendChild(e);const t=document.createElement("li");t.dataset.languageId="0",t.addEventListener("click",h),b.appendChild(t);const o=document.createElement("a");o.textContent=i.get("wcf.global.language.noSelection"),t.appendChild(o),0===n&&(g.innerHTML=o.innerHTML,g.append(v)),t.addEventListener("click",h)}else if(0===n){g.innerHTML="";const e=document.createElement("div");g.appendChild(e);const t=document.createElement("fa-icon");t.size=24,t.setIcon("question"),e.appendChild(t);const n=document.createElement("span");n.textContent=i.get("wcf.global.language.noSelection"),n.append(t),e.appendChild(n)}a.default.init(g),u.set(e,{callback:c,dropdownMenu:b,dropdownToggle:g,element:t});const y=t.closest("form");if(null!==y){y.addEventListener("submit",l);let t=p.get(y);void 0===t&&(t=[],p.set(y,t)),t.push(e)}}(t,m,n,o,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,n,o,i,r,a){"use strict";function s(e,t,n){const o=d.get(e),i=r.default.getDropdownMenu(o.element.closest(".inputAddon").id).querySelector(`[data-language-id="${t}"]`),a=i?i.textContent:"";if(o.languageId!==t){const i=p.get(e);if(o.languageId&&i.set(o.languageId,o.element.value),0===t?p.set(e,new Map):(o.buttonLabel.classList.contains("active")||n)&&(o.element.value=i.get(t)||""),o.buttonLabel.textContent=a,o.buttonLabel.querySelector("fa-icon")?.remove(),t){o.buttonLabel.classList.add("active");const e=document.createElement("fa-icon");e.setIcon("caret-down",!0),o.buttonLabel.append(e)}else o.buttonLabel.classList.remove("active");o.languageId=t}n||(o.element.blur(),o.element.focus()),o.callbacks.has("select")&&o.callbacks.get("select")(o.element)}function l(e,t){if("open"!==t)return;const n=r.default.getDropdownMenu(e),o=document.getElementById(e).dataset.inputId,i=d.get(o),a=p.get(o);Array.from(n.children).forEach((e=>{const t=~~(e.dataset.languageId||"");if(t){let n=!1;i.languageId&&(n=t===i.languageId?""===i.element.value.trim():!a.get(t));const o=e.querySelector("span");if(o.querySelector("fa-icon")?.remove(),n){e.classList.add("missingValue");const t=document.createElement("fa-icon");t.setIcon("triangle-exclamation"),o.append(t)}else e.classList.remove("missingValue")}}))}function c(e){const t=e.currentTarget;u.get(t).forEach((e=>{const n=d.get(e);if(!n.isEnabled)return;const o=p.get(e);n.callbacks.has("submit")&&n.callbacks.get("submit")(n.element),n.languageId&&o.set(n.languageId,n.element.value),o.size&&(o.forEach((function(n,o){const i=document.createElement("input");i.type="hidden",i.name=`${e}_i18n[${o}]`,i.value=n,t.appendChild(i)})),n.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,o=n.__importDefault(o),i=n.__importStar(i),r=n.__importDefault(r),a=n.__importStar(a);const d=new Map,u=new WeakMap,p=new Map;t.init=function(e,t,n,o){if(p.has(e))return;const h=document.getElementById(e);if(null===h)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))})),p.set(e,m),function(e,t,n,o,a){let p=t.parentElement;if(!p.classList.contains("inputAddon")){p=document.createElement("div"),p.className="inputAddon","TEXTAREA"===t.nodeName&&p.classList.add("inputAddonTextarea"),p.dataset.inputId=e;const n=document.activeElement===t;t.insertAdjacentElement("beforebegin",p),p.appendChild(t),n&&t.focus()}p.classList.add("dropdown");const h=document.createElement("span");h.className="button dropdownToggle inputPrefix";const m=document.createElement("span");m.textContent=i.get("wcf.global.button.disabledI18n"),h.appendChild(m),p.insertBefore(h,t);const f=document.createElement("ul");f.className="dropdownMenu",h.insertAdjacentElement("afterend",f);const g=t=>{let n;n=t instanceof HTMLElement?t:t.currentTarget;const o=~~n.dataset.languageId,i=f.querySelector(".active");null!==i&&i.classList.remove("active"),o&&n.classList.add("active");const r=t instanceof HTMLElement;s(e,o,r)};if(Object.entries(o).forEach((([e,t])=>{const n=document.createElement("li");n.dataset.languageId=e;const o=document.createElement("span");o.textContent=t,n.appendChild(o),n.addEventListener("click",g),f.appendChild(n)})),!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 n=document.createElement("span");n.textContent=i.get("wcf.global.button.disabledI18n"),t.appendChild(n),f.appendChild(t)}let b;(a||n.size)&&(b=Array.from(f.children).find((e=>+e.dataset.languageId===window.LANGUAGE_ID))),r.default.init(h),r.default.registerCallback(p.id,l),d.set(e,{buttonLabel:m,callbacks:new Map,element:t,languageId:0,isEnabled:!0,forceSelection:a});const v=t.closest("form");if(null!==v){v.addEventListener("submit",c);let t=u.get(v);void 0===t&&(t=[],u.set(v,t)),t.push(e)}b&&g(b)}(e,h,m,n,o)},t.registerCallback=function(e,t,n){if(!p.has(e))throw new Error(`Unknown element id '${e}'.`);d.get(e).callbacks.set(t,n)},t.unregister=function(e){if(!p.has(e))throw new Error(`Unknown element id '${e}'.`);p.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 n=p.get(e);return n.set(t.languageId,t.element.value),n},t.setValues=function(e,t){const n=d.get(e);if(void 0===n)throw new Error(`Expected a valid i18n input element, '${e}' is not i18n input field.`);n.element.value="";const o=new Map(Object.entries(t).map((([e,t])=>[+e,t])));if(o.has(0))return n.element.value=o.get(0),o.delete(0),p.set(e,o),void s(e,0,!0);p.set(e,o),n.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 n=t.buttonLabel.parentElement;o.default.hide(n),n.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 n=t.buttonLabel.parentElement;o.default.show(n),n.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 n=d.get(e);if(void 0===n)throw new Error(`Expected a valid i18n input element, '${e}' is not i18n input field.`);if(!n.isEnabled)return!0;const o=p.get(e),i=r.default.getDropdownMenu(n.element.parentElement.id);n.languageId&&o.set(n.languageId,n.element.value);let a=!1,s=!1;return Array.from(i.children).forEach((e=>{const t=~~e.dataset.languageId;if(t)if(o.has(t)&&0!==o.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","../Component/Ckeditor"],(function(e,t,n,o,i){"use strict";function r(e){(0,i.getCkeditor)(e).setHtml(e.value)}function a(e){e.value=(0,i.getCkeditor)(e).getHtml()}Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,o=n.__importStar(o),t.init=function(e,t,n,i){const s=document.getElementById(e);if(!s||"TEXTAREA"!==s.nodeName||!s.classList.contains("wysiwygTextarea"))throw new Error(`Expected