1(self.webpackChunknodebb=self.webpackChunknodebb||[]).push([[33085,46379,69749,97650],{34405(m,E,d){"use strict";var v,h;v=[d(49897),d(29930),d(36e3),d(9787),d(35786)],h=(function(C,p,{Textcomplete:x},{TextareaEditor:u},{ContenteditableEditor:f}){const a={},o={delay:200,appendTo:null};a.init=i=>{const t={...o,...i},{input:n,onSelect:r}=t;app.loadJQueryUI(function(){n.autocomplete({position:c(),...t,open:function(){$(this).autocomplete("widget").css("z-index",100005)},select:function(s,l){e(n,r,s,l)}})})},a.user=function(i,t,n){typeof t=="function"&&(n=t,t={}),t=t||{},a.init({input:i,onSelect:n,source:(r,s)=>{t.query=r.term,C.get("/api/users",t,function(l,g){if(l)return p.error(l);if(g&&g.users){const b=g.users.map(function(y){return y&&{label:y.username,value:y.username,user:{uid:y.uid,name:y.username,slug:y.userslug,username:y.username,userslug:y.userslug,displayname:y.displayname,picture:y.picture,banned:y.banned,"icon:text":y["icon:text"],"icon:bgColor":y["icon:bgColor"]}}});s(b)}$(".ui-autocomplete a").attr("data-ajaxify","false")})}})},a.group=function(i,t){a.init({input:i,onSelect:t,source:(n,r)=>{C.get("/groups",{query:n.term},function(s,l){if(s)return p.error(s);if(l&&l.groups.length){const g=l.groups.map(function(b){return b&&{label:b.name,value:b.name,group:b}});r(g)}$(".ui-autocomplete a").attr("data-ajaxify","false")})}})},a.tag=function(i,t){a.init({input:i,onSelect:t,delay:100,source:(n,r)=>{socket.emit("topics.autocompleteTags",{query:n.term,cid:ajaxify.data.cid||0},function(s,l){if(s)return p.error(s);l&&r(l),$(".ui-autocomplete a").attr("data-ajaxify","false")})}})};function c(){const i=document.querySelector("html").getAttribute("data-dir")==="rtl"?"right":"left";return{my:`${i} top`,at:`${i} bottom`,collision:"none"}}function e(i,t,n,r){t=t||function(){};const s=jQuery.Event("keypress");s.which=13,s.keyCode=13,setTimeout(function(){i.trigger(s)},100),t(n,r)}return a.setup=function({element:i,strategies:t,options:n}){const r=i.get(0);if(!r)return;let s;if(r.nodeName==="TEXTAREA"||r.nodeName==="INPUT"?s=new u(r):r.nodeName==="DIV"&&r.getAttribute("contenteditable")==="true"&&(s=new f(r)),!s)throw new Error("unknown target element type");r.setAttribute("dir",document.querySelector("html").getAttribute("data-dir"));const l=new x(s,t,{dropdown:n});return l.on("rendered",function(){l.dropdown.items.length&&l.dropdown.items[0].activate()}),l},a}).apply(E,v),h!==void 0&&(m.exports=h)},96349(m,E,d){"use strict";var v,h;v=[d(29930),d(89336),d(49897)],h=(function(C,p,x){const u={};return u.init=function(f,a){let o=a.defaultCategories||null;a=a||{},a.privilege=a.privilege||"topics:read",a.states=a.states||["watching","tracking","notwatching","ignoring"],a.cacheList=a.hasOwnProperty("cacheList")?a.cacheList:!0;let c=[];Array.isArray(a.localCategories)&&(c=a.localCategories.map(r=>({...r})),o&&(o=[...c,...o])),a.selectedCids=a.selectedCids||ajaxify.data.selectedCids||[];const e=f.find('[component="category-selector-search"]');if(!e.length)return;const i=e.parents('[component="category/dropdown"]').length>0||e.parents('[component="category-selector"]').length>0;f.on("show.bs.dropdown",function(){i&&e.removeClass("hidden");function r(){const l=e.find("input").val();l.length>1||!l&&!o?t(l,function(g){o=a.cacheList&&(o||g),n(g)}):!l&&o&&n(o)}const s=e.find("input").val("");s.on("keydown",function(l){if(l.key==="ArrowDown"){const g=f.find('[component="category/list"] li[data-cid]:first a');g.length&&(g.focus(),l.stopPropagation(),l.preventDefault())}}),e.on("click",function(l){l.preventDefault(),l.stopPropagation()}),s.on("keyup",utils.debounce(r,300)),r()}),f.on("shown.bs.dropdown",function(){["xs","sm"].includes(utils.findBootstrapEnvironment())||e.find("input").focus()}),f.on("hide.bs.dropdown",function(){i&&e.addClass("hidden"),e.off("click"),e.find("input").off("keyup keydown")});function t(r,s){x.get("/search/categories",{search:r,query:utils.params(),parentCid:a.parentCid||0,selectedCids:a.selectedCids,privilege:a.privilege,states:a.states,showLinks:a.showLinks,localOnly:a.localOnly,hideUncategorized:a.hideUncategorized},function(l,{categories:g}){if(l)return C.error(l);s(c.concat(g))})}function n(r){const s=a.selectedCids.map(String),l=(a.disabledCids||[]).map(String);
1r.forEach(function(g){g.selected=s.includes(String(g.cid)),l.includes(String(g.cid))&&(g.disabledClass=!0)}),app.parseAndTranslate(a.template,{categoryItems:r.slice(0,200),selectedCategory:ajaxify.data.selectedCategory,allCategoriesUrl:ajaxify.data.allCategoriesUrl,hideAll:a.hideAll},function(g){f.find('[component="category/list"]').html(g.find('[component="category/list"]').html()),f.find('[component="category/list"] [component="category/no-matches"]').toggleClass("hidden",!!r.length);const b=p.Dropdown.getInstance(f.find(".dropdown-toggle").get(0));b&&b.update()})}},u}).apply(E,v),h!==void 0&&(m.exports=h)},65348(m,E,d){"use strict";var v,h;v=[d(96349),d(65303),d(91749),d(17459),d(81335)],h=(function(C,p,x,u,f){const a={};return a.init=function(o,c){if(!o||!o.length)return;c=c||{};const e=c.onSelect||function(){};c.states=c.states||["watching","tracking","notwatching","ignoring"],c.template=c.template||"partials/category/selector-dropdown-left",x.fire("action:category.selector.options",{el:o,options:c}),C.init(o,c);const i={el:o,selectedCategory:null};o.on("click","[data-cid]",function(){const n=$(this);return n.hasClass("disabled")?!1:(i.selectCategory(n.attr("data-cid")),e({...i.selectedCategory,categoryEl:n}))});let t=i.el.find('[component="category-selector-selected"]').html();return u.translate(t,n=>{t=n}),i.selectCategory=function(n,r=null){const s=r||i.el.find('[data-cid="'+n+'"]');i.selectedCategory={cid:n,name:s.attr("data-name")},s.length?i.el.find('[component="category-selector-selected"]').html(s.find('[component="category-markup"]').html()):i.el.find('[component="category-selector-selected"]').html(t)},i.getSelectedCategory=function(){return i.selectedCategory},i.getSelectedCid=function(){return i.selectedCategory?i.selectedCategory.cid:0},c.hasOwnProperty("selectedCategory")&&app.parseAndTranslate(c.template,{selectedCategory:c.selectedCategory},function(n){i.el.find('[component="category-selector-selected"]').html(n.find('[component="category-selector-selected"]').html())}),i},a.modal=async function(o){o=o||{},o.onSelect=o.onSelect||function(){},o.onSubmit=o.onSubmit||function(){};const c=await f.render("admin/partials/categories/select-category",{message:o.message}),e=await p.dialog({title:o.title||"[[modules:composer.select-category]]",message:c,buttons:{save:{label:"[[global:select]]",className:"btn-primary",callback:t}}}),i=a.init(e.find('[component="category-selector"]'),o);function t(n){return n.preventDefault(),i.selectedCategory&&(o.onSubmit(i.selectedCategory),e.modal("hide")),!1}o.openOnLoad&&e.on("shown.bs.modal",function(){e.find(".dropdown-toggle").dropdown("toggle")}),e.find("form").on("submit",t)},a}).apply(E,v),h!==void 0&&(m.exports=h)},71431(m,E,d){m.exports=d(49641)},88518(m,E,d){m.exports=d(54516)},13342(m,E,d){m.exports=d(41644)},74566(m,E,d){m.exports=d(12236)},92762(m,E,d){m.exports=d(94252)},72573(m,E,d){m.exports=d(59367)},52543(m,E,d){m.exports=d(28721)},31494(m,E,d){m.exports=d(36244)},10870(m,E,d){"use strict";var v,h;v=[d(65303),d(17459),d(68636),d(29930),d(91749)],h=(function(C,p,x,u,f){const a={};let o;a.show=function(){f.one("action:ajaxify.end",()=>{e(),c(),a.showEmailConfirmWarning()})},a.showEmailConfirmWarning=function(i){if(!config.emailPrompt||!app.user.uid||parseInt(x.getItem("email-confirm-dismiss"),10)===1)return;const t={alert_id:"email_confirm",type:"warning",timeout:0,closefn:()=>{x.setItem("email-confirm-dismiss",1)}};function n(){u.remove("email_confirm"),ajaxify.go("/me/edit/email")}!app.user.email&&!app.user.isEmailConfirmSent?(t.message="[[error:no-email-to-confirm]]",t.clickfn=n,u.alert(t)):!app.user["email:confirmed"]&&!app.user.isEmailConfirmSent?(t.message=i||"[[error:email-not-confirmed]]",t.clickfn=n,u.alert(t)):!app.user["email:confirmed"]&&app.user.isEmailConfirmSent&&(t.message="[[error:email-not-confirmed-email-sent]]",u.alert(t))};function c(){!config.cookies.enabled||!navigator.cookieEnabled||app.inAdmin||x.getItem("cookieconsent")==="1"||app.parseAndTranslate("partials/cookie-consent",config.cookies,function(i){$(document.body).append(i),$(document.body).addClass("cookie-consent-open");const t=$(".cookie-consent");
1t.find("button").on("click",function(){x.setItem("cookieconsent","1"),t.remove(),$(document.body).removeClass("cookie-consent-open")})})}function e(){const i=utils.params({full:!0}),t=i.toString();o=i.get("register"),o&&(C.alert({message:utils.escapeHTML(decodeURIComponent(o))}),i.delete("register")),i.has("lang")&&i.get("lang")===config.defaultLang&&(console.info(`The "lang" parameter was passed in to set the language to "${i.get("lang")}", but that is already the forum default language.`),i.delete("lang"));const n=i.toString();n!==t&&ajaxify.updateHistory(ajaxify.currentPage+(n?`?${n}`:"")+document.location.hash,!0)}return a.showInvalidSession=function(){C.alert({title:"[[error:invalid-session]]",message:"[[error:invalid-session-text]]",closeButton:!1,callback:function(){window.location.reload()}})},a.showSessionMismatch=function(){C.alert({title:"[[error:session-mismatch]]",message:"[[error:session-mismatch-text]]",closeButton:!1,callback:function(){window.location.reload()}})},a}).apply(E,v),h!==void 0&&(m.exports=h)},41088(m,E,d){"use strict";var v;v=(function(){const h={};return h.apply=function(C){$(C).on("mousewheel",function(p){const x=this.scrollTop,u=this.scrollHeight,f=Math.round(this.getBoundingClientRect().height);if(p.originalEvent.deltaY<0&&x===0||p.originalEvent.deltaY>0&&f+x>=u)return!1})},h}).call(E,d,E,m),v!==void 0&&(m.exports=v)},69749(m,E,d){"use strict";var v,h;v=[d(17459),d(68636),d(91749),d(29930),d(89336)],h=(function(C,p,x,u,f){const a={current:{}};a.init=function(e){if(!config.searchEnabled)return;e=e||{in:config.searchDefaultInQuick||"titles"},$('[component="search/form"]').each((t,n)=>{o($(n),e)})};function o(e,i){const t=e.find('[component="search/button"]'),n=e.find('[component="search/fields"]'),r=n.find('input[name="query"]'),s=n.find("#quick-search-container"),l=n.hasClass("hidden"),g=/^(@|acct:)?[\p{L}\p{N}\p{M}_.-]+@.+$/u;l&&n.off("focusout").on("focusout",function(){setTimeout(function(){n.find(":focus").length||(n.addClass("hidden"),t.removeClass("hidden"))},200)}),r.off("focus");const b={inputEl:r,resultEl:s};a.enableQuickSearch({searchOptions:i,searchElements:b}),t.off("click").on("click",function(y){return!config.loggedIn&&!app.user.privileges["search:content"]?(u.alert({message:"[[error:search-requires-login]]",timeout:3e3}),ajaxify.go("login"),!1):(y.stopPropagation(),a.showAndFocusInput(e),!1)}),e.off("submit").on("submit",function(){const y=$(this).find('input[name="query"]'),A=a.getSearchPreferences();return A.term=y.val(),A.in=i.in,g.test(A.term)&&(A.in="users"),x.fire("action:search.submit",{searchOptions:A,searchElements:b}),a.query(A,function(){y.val(""),r.trigger("blur")}),!1})}a.enableQuickSearch=function(e){if(!config.searchEnabled||!app.user.privileges["search:content"])return;const i=Object.assign({in:config.searchDefaultInQuick||"titles"},e.searchOptions),t=e.searchElements.resultEl,n=e.searchElements.inputEl;let r=n.val();const s=t.find(".filter-category");async function l(){if(ajaxify.data.template.category&&ajaxify.data.cid){const w=await C.translateKey("search:search-in-category",[ajaxify.data.name]),D=$("<div></div>").html(w).text();s.find(".name").text(D)}s.toggleClass("hidden",!(ajaxify.data.template.category&&ajaxify.data.cid))}function g(){e.searchOptions=Object.assign({},i),e.searchOptions.term=n.val(),l(),ajaxify.data.template.category&&ajaxify.data.cid&&s.find('input[type="checkbox"]').is(":checked")&&(e.searchOptions.categories=[ajaxify.data.cid],e.searchOptions.searchChildren=!0),e.hideDuringSearch||(t.removeClass("hidden").find(".quick-search-results-container").html(""),t.find(".loading-indicator").removeClass("hidden")),x.fire("action:search.quick.start",e),e.searchOptions.searchOnly=1,a.api(e.searchOptions,function(w){if(t.find(".loading-indicator").addClass("hidden"),e.searchOptions.in==="categories"){if(!w.categories||e.hideOnNoMatches&&!w.categories.length)return t.addClass("hidden").find(".quick-search-results-container").html("");w.dropdown={maxWidth:"400px",maxHeight:"500px",...e.dropdown},app.parseAndTranslate("partials/quick-category-search-results",w,D=>{D.length&&D.find(".timeago").timeago(),t.toggleClass("hidden",!D.length||!n.is(":focus")).find(".quick-search-results-container").html(D.length?D:""),x.fire("action:search.quick.complete",{data:w,options:e})})}else{if(!w.posts||e.hideOnNoMatches&&!w.posts.length)return t.addClass("hidden").find(".quick-search-results-container").html("");
1w.posts.forEach(function(D){const k=$("<div>"+D.content+"</div>").text(),_=n.val().toLowerCase().replace(/^in:topic-\d+/,""),S=Math.max(0,k.toLowerCase().indexOf(_)-40);D.snippet=utils.escapeHTML((S>0?"...":"")+k.slice(S,S+80)+(k.length-S>80?"...":""))}),w.dropdown={maxWidth:"400px",maxHeight:"500px",...e.dropdown},app.parseAndTranslate("partials/quick-search-results",w,function(D){D.length&&D.find(".timeago").timeago(),t.toggleClass("hidden",!D.length||!n.is(":focus")).find(".quick-search-results-container").html(D.length?D:"");const k=t.find(".quick-search-results .quick-search-title, .quick-search-results .snippet");a.highlightMatches(e.searchOptions.term,k),x.fire("action:search.quick.complete",{data:w,options:e})})}})}t.find('.filter-category input[type="checkbox"]').on("change",function(){n.focus(),g()}),n.off("keyup").on("keyup",utils.debounce(function(){if(n.val().length<3){t.addClass("hidden"),r=n.val();return}if(n.val()!==r){if(r=n.val(),!n.is(":focus"))return t.addClass("hidden");g()}},500)),t.on("mousedown",".quick-search-results > *",function(){$(window).one("mouseup",function(){t.addClass("hidden")})});const b=n.parent(),y=t.parent();b.on("focusout",A),y.on("focusout",A);function A(){setTimeout(function(){!b.find(":focus").length&&!y.find(":focus").length&&!t.hasClass("hidden")&&t.addClass("hidden")},200)}let I=!1;x.on("action:ajaxify.end",function(){ajaxify.isCold()||(I=!0),t.addClass("hidden")}),n.on("focus",function(){const w=n.val();r=w,w&&t.find("#quick-search-results").children().length&&(l(),I?(g(),I=!1):t.removeClass("hidden"),n[0].setSelectionRange(w.startsWith("in:topic")?w.indexOf(" ")+1:0,w.length))}),n.off("refresh").on("refresh",function(){g()})},a.showAndFocusInput=function(e){const i=e.parents(".dropdown-menu");if(i.length){const t=i.siblings("[data-bs-toggle]"),n=f.Dropdown.getOrCreateInstance(t[0]);n&&n.show()}else e.find('[component="search/fields"]').removeClass("hidden"),e.find('[component="search/button"]').addClass("hidden"),e.find('[component="search/fields"] input[name="query"]').trigger("focus")},a.query=function(e,i){i=i||function(){},ajaxify.go("search?"+c(e),i)},a.api=function(e,i){const t=config.relative_path+"/api/search?"+c(e);e.hasOwnProperty("searchOnly")&&delete e.searchOnly;const n=config.relative_path+"/search?"+c(e);$.get(t,function(r){r.url=n,i(r)})};function c(e){const i=e.in||"titles",t=e.term.replace(/^[ ?#]*/,""),n={...e,term:t,in:i};return x.fire("action:search.createQueryString",{query:n,data:e}),$.param(n)}return a.getSearchPreferences=function(){try{return JSON.parse(p.getItem("search-preferences")||"{}")}catch(e){return console.error(e),{}}},a.highlightMatches=function(e,i){if(!e||!i.length)return;e=utils.escapeHTML(e.replace(/^"/,"").replace(/"$/,"").trim());const t=e.split(" ").filter(r=>r.length>1).map(function(r){return utils.escapeRegexChars(r)}).join("|"),n=new RegExp("("+t+")","gi");i.each(function(){const r=$(this),s=[];r.find("*").each(function(){$(this).after("<!-- "+s.length+" -->"),s.push($("<div></div>").append($(this)))}),r.html(r.html().replace(n,function(l,g){return'<strong class="search-match fw-bold text-decoration-underline">'+g+"</strong>"})),s.forEach(function(l,g){r.html(r.html().replace("<!-- "+g+" -->",function(){return l.html()}))})}),$(".search-results .content").find("img:not(.not-responsive)").addClass("img-fluid")},a}).apply(E,v),h!==void 0&&(m.exports=h)},43103(m,E,d){"use strict";var v,h;v=[d(29930)],h=(function(C){const p={};p.init=function(u){const f=u.uploadFormEl;if(f.length&&(f.attr("action",config.relative_path+u.route),u.dragDropAreaEl&&p.handleDragDrop({container:u.dragDropAreaEl,callback:function(a){p.ajaxSubmit({uploadForm:f,upload:a,callback:u.callback})}}),u.pasteEl&&p.handlePaste({container:u.pasteEl,callback:function(a){p.ajaxSubmit({uploadForm:f,upload:a,callback:u.callback})}}),u.uploadBtnEl)){const a=f.find('input[name="files[]"]');u.uploadBtnEl.on("click",function(){return a.trigger("click"),!1}),a.on("change",function(o){const c=(o.target||{}).files||($(this).val()?[{name:$(this).val(),type:utils.fileMimeType($(this).val())}]:null);c&&p.ajaxSubmit({uploadForm:f,upload:{files:c,fileNames:Array.from(c).map(e=>e.name)}
1,callback:u.callback})})}},p.handleDragDrop=function(u){let f=!1;const a=u.container,o=u.container.find(".imagedrop");function c(t){t.originalEvent.relatedTarget||e()}function e(){o.hide(),o.off("dragleave",e),$(document).off("dragend drop",e).off("dragleave",c)}a.on("dragenter",function(){f||o.is(":visible")||(o.css("top","0px"),o.css("height",a.height()+"px"),o.css("line-height",a.height()+"px"),o.show(),o.on("dragleave",e),$(document).on("dragend drop",e).on("dragleave",c))}),o.on("drop",function(n){n.preventDefault();const r=n.originalEvent.dataTransfer.files;if(r.length){let s;if(window.FormData){s=new FormData;for(let l=0;l<r.length;++l)s.append("files[]",r[l],r[l].name)}u.callback({files:r,formData:s})}return e(),!1});function i(t){return t.preventDefault(),!1}$(document).off("dragstart").on("dragstart",function(){f=!0}).off("dragend mouseup").on("dragend mouseup",function(){f=!1}),o.on("dragover",i),o.on("dragenter",i)},p.handlePaste=function(u){u.container.on("paste",async function(a){const o=(a.clipboardData||a.originalEvent.clipboardData||{}).items,c=[],e=[],i=window.FormData?new FormData:null;function t(r,s){c.push(r),e.push(s),i&&i.append("files[]",r,s)}const{convertPastedImageTo:n}=config;for(const r of o){const s=r.getAsFile();if(s)try{if(n&&s.type.match(/image./)&&s.type!==n){const l=await x(s,n,.9),g=l.type.split("/")[1],b=`${utils.generateUUID()}-image.${g}`,y=(s.name||"image").replace(/\.[^.]+$/,""),A=new File([l],`${y}.${g}`,{type:l.type});t(A,b)}else{const l=utils.generateUUID()+"-"+s.name;t(s,l)}}catch(l){C.error(l),console.error(l)}}c.length&&u.callback({files:c,fileNames:e,formData:i})})},p.ajaxSubmit=function(u){const f=[...u.upload.files];for(let o=0;o<f.length;++o){const c=f[o].type.match(/image./);if(c&&!app.user.privileges["upload:post:image"]||!c&&!app.user.privileges["upload:post:file"])return C.error("[[error:no-privileges]]");if(!app.user.isAdmin&&f[o].size>parseInt(config.maximumFileSize,10)*1024)return u.uploadForm[0].reset(),C.error("[[error:file-too-big, "+config.maximumFileSize+"]]")}const a=Date.now();u.uploadForm.off("submit").on("submit",function(){return $(this).ajaxSubmit({headers:{"x-csrf-token":config.csrf_token},resetForm:!0,clearForm:!0,formData:u.upload.formData,error:function(o){let c=o.responseJSON&&(o.responseJSON.error||o.responseJSON.status&&o.responseJSON.status.message)||"[[error:parse-error]]";o&&o.status===413&&(c="[[error:api.413]]"),C.error(c),C.remove(a)},uploadProgress:function(o,c,e,i){C.alert({alert_id:a,message:"[[modules:composer.uploading, "+i+"%]]"})},success:function(o){const c=o.response.images;if(c&&c.length)for(let e=0;e<c.length;++e)c[e].filename=f[e].name,c[e].isImage=/image./.test(f[e].type);u.callback(c)},complete:function(){u.uploadForm[0].reset(),setTimeout(C.remove,100,a)}}),!1}),u.uploadForm.submit()};function x(u,f,a=.9){return new Promise((o,c)=>{const e=new Image,i=new FileReader;i.onload=t=>{e.onload=()=>{const n=document.createElement("canvas");n.width=e.width,n.height=e.height,n.getContext("2d").drawImage(e,0,0),n.toBlob(s=>{if(!s)return c(new Error("Conversion failed"));o(s)},f,a)},e.onerror=c,e.src=t.target.result},i.onerror=c,i.readAsDataURL(u)})}return p}).apply(E,v),h!==void 0&&(m.exports=h)}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.