From 710756fd02e78e2c77029d177ab4ab3f52627ee2 Mon Sep 17 00:00:00 2001 From: Thomas Durieux <5577568+tdurieux@users.noreply.github.com> Date: Fri, 13 Nov 2026 03:59:06 +0000 Subject: [PATCH] fix(ui): open the preview tree at the top, like the explorer Auto-scrolling to README hid the first folders and cut the top row in half. Co-Authored-By: Claude Opus 5.5 --- public/asset-manifest.json | 2 +- public/script/app.js | 12 ----- public/script/vendor.min.js | 88 ++++++++++++++++++------------------- 3 files changed, 45 insertions(+), 57 deletions(-) diff --git a/public/asset-manifest.json b/public/asset-manifest.json index 4ddd66d..781986a 100644 --- a/public/asset-manifest.json +++ b/public/asset-manifest.json @@ -1,6 +1,6 @@ { "core.min.js": "core.d23af1c652.min.js", - "vendor.min.js": "vendor.970654db10.min.js", + "vendor.min.js": "vendor.64141223b7.min.js", "mermaid.min.js": "mermaid.a7356d5ed1.min.js", "all.min.css": "all.53fcd1a96b.min.css", "markdown.min.js": "markdown.6c8dfb7b1d.min.js", diff --git a/public/script/app.js b/public/script/app.js index f55cd46..cce9f86 100644 --- a/public/script/app.js +++ b/public/script/app.js @@ -2014,17 +2014,6 @@ export const anonymizeController = function (state, http, html, params, location const root = state.preserve.commit && preserveIndex ? preserveIndex.dirs.get("") : null; return root ? root.dirs.length + root.files.length : 0; }; - // Like the explorer, the selected README is scrolled into the sidebar's - // view when the list loads (only the sidebar scrolls, not the page). - function revealPreviewReadme() { - nextTick(() => { - const nav = document.querySelector(".reviewer-preview .rp-side"); - const row = nav?.querySelector(".rp-files > li.active"); - if (!nav || !row || !nav.clientHeight) return; - const bottom = row.getBoundingClientRect().bottom - nav.getBoundingClientRect().top + nav.scrollTop; - if (bottom > nav.scrollTop + nav.clientHeight) nav.scrollTop = bottom - nav.clientHeight + row.offsetHeight * 2; - }); - } state.togglePreviewFolder = (path) => { state.previewTreeOpen[path] = !state.previewTreeOpen[path]; }; @@ -2554,7 +2543,6 @@ export const anonymizeController = function (state, http, html, params, location state.preserve.commit = commit; state.preserve.truncated = !!res.data.truncated; state.previewTreeOpen = {}; - revealPreviewReadme(); } catch (error) { state.preserve.error = "The file list could not be loaded from GitHub. You can still use patterns."; state.preserve.patternsOpen = true; diff --git a/public/script/vendor.min.js b/public/script/vendor.min.js index ebc0ca1..d81cf03 100644 --- a/public/script/vendor.min.js +++ b/public/script/vendor.min.js @@ -1,51 +1,51 @@ -"use strict";(()=>{var Ia=Object.defineProperty;var Ma=e=>{throw TypeError(e)};var Sp=(e,t,o)=>t in e?Ia(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o;var Np=(e,t)=>{for(var o in t)Ia(e,o,{get:t[o],enumerable:!0})};var Qe=(e,t,o)=>Sp(e,typeof t!="symbol"?t+"":t,o),Xi=(e,t,o)=>t.has(e)||Ma("Cannot "+o);var re=(e,t,o)=>(Xi(e,t,"read from private field"),o?o.call(e):t.get(e)),qe=(e,t,o)=>t.has(e)?Ma("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,o),Ue=(e,t,o,i)=>(Xi(e,t,"write to private field"),i?i.call(e,o):t.set(e,o),o),$e=(e,t,o)=>(Xi(e,t,"access private method"),o);var _a=(e,t,o,i)=>({set _(s){Ue(e,t,s,o)},get _(){return re(e,t,i)}});var ve=["abap","abc","actionscript","ada","alda","apache_conf","apex","applescript","aql","asciidoc","asl","assembly_x86","autohotkey","batchfile","c9search","c_cpp","cirru","clojure","cobol","coffee","coldfusion","crystal","csharp","csound_document","csound_orchestra","csound_score","csp","css","curly","d","dart","diff","django","dockerfile","dot","drools","edifact","eiffel","ejs","elixir","elm","erlang","forth","fortran","fsharp","fsl","ftl","gcode","gherkin","gitignore","glsl","gobstones","golang","graphqlschema","groovy","haml","handlebars","haskell","haskell_cabal","haxe","hjson","html","html_elixir","html_ruby","ini","io","jack","jade","java","javascript","json","json5","jsoniq","jsp","jssm","jsx","julia","kotlin","latex","less","liquid","lisp","livescript","logiql","logtalk","lsl","lua","luapage","lucene","makefile","markdown","mask","matlab","maze","mediawiki","mel","mixal","mushcode","mysql","nginx","nim","nix","nsis","nunjucks","objectivec","ocaml","pascal","perl","perl6","pgsql","php","php_laravel_blade","pig","plain_text","powershell","praat","prisma","prolog","properties","protobuf","puppet","python","qml","r","razor","rdoc","red","redshift","rhtml","rst","ruby","rust","sass","scad","scala","scheme","scss","sh","sjs","slim","smarty","snippets","soy_template","space","sparql","sql","sqlserver","stylus","svg","swift","tcl","terraform","tex","text","textile","toml","tsx","turtle","twig","typescript","vala","vbscript","velocity","verilog","vhdl","visualforce","wollok","xml","xquery","yaml","zeek"];var ye={markdown:"/script/markdown.6c8dfb7b1d.min.js",notebook:"/script/notebook.c3144c18ae.min.js",org:"/script/org.f61f262915.min.js",editor:"/script/editor.4f142d3adc.min.js",pdf:"/script/pdf.4d9cc6ff49.min.js"};function Va(e){let t=e.location.hash.slice(1);if(e.history.replaceState(null,"","/review-link"),t.length>2048)return null;let o=new URLSearchParams(t);if([...o.keys()].length!==3||[...o.keys()].some(a=>!["clientId","intentId","token"].includes(a)))return null;let i=o.get("clientId"),s=o.get("intentId"),r=o.get("token");return!/^[a-f0-9]{32}$/.test(i||"")||!/^[a-f0-9]{32}$/.test(s||"")||!/^[a-f0-9]{64}$/.test(r||"")?null:{contract:"4open.artifacts/1",clientId:i,intentId:s,token:r}}function qa(e,t){let{http:o,promises:i,window:s}=t,r=t.takeReviewHandoff(),a=r?{clientId:r.clientId,intentId:r.intentId}:null,u,p,y,h,b,m=!0,w,A=i.defer(),S=()=>[...s.crypto.getRandomValues(new Uint8Array(16))].map(V=>V.toString(16).padStart(2,"0")).join("");Object.assign(e,{repositoryId:"",handoffEnabled:!1,busy:!1,preview:null,acceptAccess:!1,acceptRetention:!1,uncertain:!1,saved:!1,expired:!1,error:r?"":"Open a new artifact link from your submission. This link is missing or invalid."});let R=()=>m&&e.user?.username===b;function g(){m=!1,r=u=p=void 0,A.resolve(),s.clearTimeout(w)}e.on("dispose",g),e.on("routeLeave",g),e.watch(()=>e.user?.username,V=>{!b&&V?b=V:b&&V!==b&&(g(),e.preview=null,e.repositoryId="",e.busy=!1,e.saved=!1,e.handoffEnabled=!1,e.error="Your account changed. Open a new artifact link from your submission.")});let C=()=>({timeout:A.promise,headers:{"Content-Type":"application/json","X-Review-CSRF":p}}),I=V=>V?.status===404?"Artifact linking is not available on this server.":V?.status===401?"Sign in, then open a new artifact link from your submission.":V?.status===403?"This account cannot approve this repository or this link.":"The request could not be completed. You can retry from this page.";e.loadPreview=async()=>{if(!m||!r||e.busy||e.uncertain||e.saved||!e.user?.username)return;b=e.user.username;let V=e.repositoryId.trim();if(!/^[A-Za-z0-9_-]{3,128}$/.test(V)){e.error="Enter the anonymous repository ID from its URL.";return}e.busy=!0,e.error="",e.preview=null,u=void 0,e.acceptAccess=e.acceptRetention=!1,e.expired=!1,s.clearTimeout(w),h||(h=S());try{let q=(await o.get("/api/review-consent/csrf",{timeout:A.promise})).data;if(!R())return;if(p=q.csrf,e.handoffEnabled=q.handoffEnabled===!0,!/^[a-f0-9]{64}$/.test(p||""))throw new Error("invalid_csrf");let j=(await o.post("/api/review-consent/preview",{repositoryId:V,intent:{...r,requestId:h}},C())).data;if(!R())return;if(!j||typeof j.ticket!="string"||!j.ticket||j.ticket.length>8192||typeof j.repositoryName!="string"||!["restricted-review","anonymous-link"].includes(j.policy?.access)||!Number.isSafeInteger(j.policy.version)||!Number.isFinite(Date.parse(j.policy.retainUntil))||!Number.isFinite(Date.parse(j.expiresAt))||Date.parse(j.expiresAt)<=Date.now()||Date.parse(j.expiresAt)>Date.now()+6e5)throw new Error("invalid_preview");u=j.ticket,y=S(),e.preview={repositoryName:j.repositoryName,policy:{...j.policy},expiresAt:j.expiresAt},w=s.setTimeout(()=>{m&&(e.expired=!0)},Math.max(0,Date.parse(j.expiresAt)-Date.now()))}catch(q){R()&&(e.error=I(q))}finally{R()&&(e.busy=!1)}},e.confirmConsent=async()=>{if(!(!R()||e.busy||e.saved||!u||!e.acceptAccess||!e.acceptRetention)){if(Date.parse(e.preview.expiresAt)<=Date.now()){e.expired=!0;return}e.busy=!0,e.error="";try{let V=(await o.post("/api/review-consent/confirm",{ticket:u,requestId:y,acceptAccess:!0,acceptRetention:!0},C())).data;if(!R())return;if(V?.requestId!==y||!Number.isFinite(Date.parse(V.confirmedAt)))throw new Error("invalid_receipt");e.saved=!0,e.uncertain=!1,r=void 0,e.handoffEnabled||(u=void 0)}catch{R()&&(e.uncertain=!0,e.error="The confirmation was not verified. Retry with the same approval, or return to your submission to check its status.")}finally{R()&&(e.busy=!1)}}},e.continueReview=async()=>{if(!R()||e.busy||!e.saved||!e.handoffEnabled||!u||!a)return;e.busy=!0,e.error="";let V,q=()=>{V?.remove(),s.removeEventListener("securitypolicyviolation",j)},j=te=>{te.violatedDirective?.startsWith("form-action")&&(q(),R()&&(e.busy=!1,e.error="The return address was blocked. Return to your submission to check the artifact status."))};try{let te=(await o.post("/api/review-consent/handoff",{ticket:u},C())).data;if(!R())return;let Y=te?.completion,oe=new URL(te?.callbackUrl);if(!Y||Object.keys(Y).sort().join(",")!=="clientId,code,contract,expiresAt,intentId"||Y.contract!=="4open.artifacts/1"||Y.clientId!==a.clientId||Y.intentId!==a.intentId||!/^[a-f0-9]{64}$/.test(Y.code||"")||!Number.isFinite(Date.parse(Y.expiresAt))||Date.parse(Y.expiresAt)<=Date.now()||Date.parse(Y.expiresAt)>Date.now()+3e5||oe.protocol!=="https:"||oe.href!==te.callbackUrl||oe.username||oe.password||te.callbackUrl.includes("?")||te.callbackUrl.includes("#"))throw new Error("invalid_handoff");V=s.document.createElement("form"),V.method="POST",V.action=oe.href;let Ce=s.document.createElement("input");Ce.type="hidden",Ce.name="completion",Ce.value=JSON.stringify(Y),V.appendChild(Ce),s.document.body.appendChild(V),s.addEventListener("securitypolicyviolation",j),e.on("dispose",q),V.submit()}catch{q(),R()&&(e.busy=!1,e.error="The return to review could not be prepared. Retry from this page, or return to your submission to check its status.")}}}var Us=new Map,Ap=ye;function zn(e){if(!Us.has(e)){let t=document.createElement("script");t.src=Ap[e];let o=new Promise((i,s)=>{t.onload=i,t.onerror=()=>{Us.delete(e),t.remove(),s(new Error(`Unable to load ${e}. Please retry.`))}});Us.set(e,o),document.head.appendChild(t)}return Us.get(e)}async function Fs(){await zn("editor"),ace.config.set("basePath","/script/external/ace/")}function mo(e){let t=Object.create(null);for(let o of e.split(","))t[o]=1;return o=>o in t}var Ke={},Dn=[],Ot=()=>{},Ji=()=>!1,go=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),vo=e=>e.startsWith("onUpdate:"),dt=Object.assign,Ho=(e,t)=>{let o=e.indexOf(t);o>-1&&e.splice(o,1)},Tp=Object.prototype.hasOwnProperty,ze=(e,t)=>Tp.call(e,t),Se=Array.isArray,mn=e=>jo(e)==="[object Map]",jt=e=>jo(e)==="[object Set]",$a=e=>jo(e)==="[object Date]";var Ie=e=>typeof e=="function",ot=e=>typeof e=="string",Vt=e=>typeof e=="symbol",je=e=>e!==null&&typeof e=="object",Zi=e=>(je(e)||Ie(e))&&Ie(e.then)&&Ie(e.catch),Ba=Object.prototype.toString,jo=e=>Ba.call(e),xi=e=>jo(e).slice(8,-1),Bs=e=>jo(e)==="[object Object]",zs=e=>ot(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,yo=mo(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted");var Hs=e=>{let t=Object.create(null);return(o=>t[o]||(t[o]=e(o)))},Pp=/-\w/g,mt=Hs(e=>e.replace(Pp,t=>t.slice(1).toUpperCase())),Op=/\B([A-Z])/g,en=Hs(e=>e.replace(Op,"-$1").toLowerCase()),Hn=Hs(e=>e.charAt(0).toUpperCase()+e.slice(1)),Go=Hs(e=>e?`on${Hn(e)}`:""),Ft=(e,t)=>!Object.is(e,t),bo=(e,...t)=>{for(let o=0;o{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:i,value:o})},wo=e=>{let t=parseFloat(e);return isNaN(t)?e:t};var La,Wo=()=>La||(La=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Ve(e){if(Se(e)){let t={};for(let o=0;oo.startsWith("/*")?"":o).split(Ip).forEach(o=>{if(o){let i=o.split(Mp);i.length>1&&(t[i[0].trim()]=i[1].trim())}}),t}function T(e){let t="";if(ot(e))t=e;else if(Se(e))for(let o=0;oGt(o,t))}var ja=e=>!!(e&&e.__v_isRef===!0),c=e=>ot(e)?e:e==null?"":Se(e)||je(e)&&(e.toString===Ba||!Ie(e.toString))?ja(e)?c(e.value):JSON.stringify(e,Ga,2):String(e),Ga=(e,t)=>ja(t)?Ga(e,t.value):mn(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((o,[i,s],r)=>(o[Qi(i,r)+" =>"]=s,o),{})}:jt(t)?{[`Set(${t.size})`]:[...t.values()].map(o=>Qi(o))}:Vt(t)?Qi(t):je(t)&&!Se(t)&&!Bs(t)?String(t):t,Qi=(e,t="")=>{var o;return Vt(e)?`Symbol(${(o=e.description)!=null?o:t})`:e};function Up(e,...t){console.warn(`[Vue warn] ${e}`,...t)}var gt,Qo=class{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&>&&(gt.active?(this.parent=gt,this.index=(gt.scopes||(gt.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,o;if(this.scopes){let i=this.scopes.slice();for(t=0,o=i.length;t0&&--this._on===0){if(gt===this)gt=this.prevScope;else{let t=gt;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let o,i;for(o=0,i=this.effects.length;o0)return;if(Xo){let t=Xo;for(Xo=void 0;t;){let o=t.next;t.next=void 0,t.flags&=-9,t=o}}let e;for(;Yo;){let t=Yo;for(Yo=void 0;t;){let o=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(i){e||(e=i)}t=o}}if(e)throw e}function Za(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function xa(e){let t,o=e.depsTail,i=o;for(;i;){let s=i.prevDep;i.version===-1?(i===o&&(o=s),fr(i),Fp(i)):t=i,i.dep.activeLink=i.prevActiveLink,i.prevActiveLink=void 0,i=s}e.deps=t,e.depsTail=o}function or(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(el(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function el(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Jo)||(e.globalVersion=Jo,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!or(e))))return;e.flags|=2;let t=e.dep,o=et,i=Wt;et=e,Wt=!0;try{Za(e);let s=e.fn(e._value);(t.version===0||Ft(s,e._value))&&(e.flags|=128,e._value=s,t.version++)}catch(s){throw t.version++,s}finally{et=o,Wt=i,xa(e),e.flags&=-3}}function fr(e,t=!1){let{dep:o,prevSub:i,nextSub:s}=e;if(i&&(i.nextSub=s,e.prevSub=void 0),s&&(s.prevSub=i,e.nextSub=void 0),o.subs===e&&(o.subs=i,!i&&o.computed)){o.computed.flags&=-5;for(let r=o.computed.deps;r;r=r.nextDep)fr(r,!0)}!t&&!--o.sc&&o.map&&o.map.delete(o.key)}function Fp(e){let{prevDep:t,nextDep:o}=e;t&&(t.nextDep=o,e.prevDep=void 0),o&&(o.prevDep=t,e.nextDep=void 0)}var Wt=!0,tl=[];function Kt(){tl.push(Wt),Wt=!1}function Yt(){let e=tl.pop();Wt=e===void 0?!0:e}function Wa(e){let{cleanup:t}=e;if(e.cleanup=void 0,t){let o=et;et=void 0;try{t()}finally{et=o}}}var Jo=0,sr=class{constructor(t,o){this.sub=t,this.dep=o,this.version=o.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}},Zo=class{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!et||!Wt||et===this.computed)return;let o=this.activeLink;if(o===void 0||o.sub!==et)o=this.activeLink=new sr(et,this),et.deps?(o.prevDep=et.depsTail,et.depsTail.nextDep=o,et.depsTail=o):et.deps=et.depsTail=o,nl(o);else if(o.version===-1&&(o.version=this.version,o.nextDep)){let i=o.nextDep;i.prevDep=o.prevDep,o.prevDep&&(o.prevDep.nextDep=i),o.prevDep=et.depsTail,o.nextDep=void 0,et.depsTail.nextDep=o,et.depsTail=o,et.deps===o&&(et.deps=i)}return o}trigger(t){this.version++,Jo++,this.notify(t)}notify(t){cr();try{for(let o=this.subs;o;o=o.prevSub)o.sub.notify()&&o.sub.dep.notify()}finally{pr()}}};function nl(e){if(e.dep.sc++,e.sub.flags&4){let t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let i=t.deps;i;i=i.nextDep)nl(i)}let o=e.dep.subs;o!==e&&(e.prevSub=o,o&&(o.nextSub=e)),e.dep.subs=e}}var ir=new WeakMap,Gn=Symbol(""),rr=Symbol(""),xo=Symbol("");function Ct(e,t,o){if(Wt&&et){let i=ir.get(e);i||ir.set(e,i=new Map);let s=i.get(o);s||(i.set(o,s=new Zo),s.map=i,s.key=o),s.track()}}function nn(e,t,o,i,s,r){let a=ir.get(e);if(!a){Jo++;return}let u=p=>{p&&p.trigger()};if(cr(),t==="clear")a.forEach(u);else{let p=Se(e),y=p&&zs(o);if(p&&o==="length"){let h=Number(i);a.forEach((b,m)=>{(m==="length"||m===xo||!Vt(m)&&m>=h)&&u(b)})}else switch((o!==void 0||a.has(void 0))&&u(a.get(o)),y&&u(a.get(xo)),t){case"add":p?y&&u(a.get("length")):(u(a.get(Gn)),mn(e)&&u(a.get(rr)));break;case"delete":p||(u(a.get(Gn)),mn(e)&&u(a.get(rr)));break;case"set":mn(e)&&u(a.get(Gn));break}}pr()}function ko(e){let t=He(e);return t===e||(Ct(t,"iterate",xo),It(e))?t:Bt(e)?sn(e)?t.map(o=>vn(qt(o))):t.map(vn):t.map(qt)}function es(e){return Ct(e=He(e),"iterate",xo),e}function tn(e,t){return Bt(e)?vn(sn(e)?qt(t):t):qt(t)}var Bp={__proto__:null,[Symbol.iterator](){return tr(this,Symbol.iterator,e=>tn(this,e))},concat(...e){return ko(this).concat(...e.map(t=>Se(t)?ko(t):t))},entries(){return tr(this,"entries",e=>(e[1]=tn(this,e[1]),e))},every(e,t){return gn(this,"every",e,t,void 0,arguments)},filter(e,t){return gn(this,"filter",e,t,o=>o.map(i=>tn(this,i)),arguments)},find(e,t){return gn(this,"find",e,t,o=>tn(this,o),arguments)},findIndex(e,t){return gn(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return gn(this,"findLast",e,t,o=>tn(this,o),arguments)},findLastIndex(e,t){return gn(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return gn(this,"forEach",e,t,void 0,arguments)},includes(...e){return nr(this,"includes",e)},indexOf(...e){return nr(this,"indexOf",e)},join(e){return ko(this).join(e)},lastIndexOf(...e){return nr(this,"lastIndexOf",e)},map(e,t){return gn(this,"map",e,t,void 0,arguments)},pop(){return Ko(this,"pop")},push(...e){return Ko(this,"push",e)},reduce(e,...t){return Ya(this,"reduce",e,t)},reduceRight(e,...t){return Ya(this,"reduceRight",e,t)},shift(){return Ko(this,"shift")},some(e,t){return gn(this,"some",e,t,void 0,arguments)},splice(...e){return Ko(this,"splice",e)},toReversed(){return ko(this).toReversed()},toSorted(e){return ko(this).toSorted(e)},toSpliced(...e){return ko(this).toSpliced(...e)},unshift(...e){return Ko(this,"unshift",e)},values(){return tr(this,"values",e=>tn(this,e))}};function tr(e,t,o){let i=es(e),s=i[t],r=s.call(i);if(i!==e&&!It(e)){if(r[Symbol.toStringTag]==="Array Iterator"){let a=Object.create(Object.getPrototypeOf(r));return a.next=()=>Ka(r.next(),o),s!==ol[t]&&Object.defineProperties(a,{return:{get(){let u=r.return;return typeof u=="function"?u.bind(r):u}},throw:{get(){let u=r.throw;return typeof u=="function"?u.bind(r):u}}}),a}r._next=r.next,r.next=()=>Ka(r._next(),o)}return r}function Ka(e,t){return e.done||(e.value=t(e.value)),e}var ol=Array.prototype;function gn(e,t,o,i,s,r){let a=es(e),u=a!==e&&!It(e),p=a[t];if(p!==ol[t]){let b=p.apply(e,r);return u?qt(b):b}let y=o;a!==e&&(u?y=function(b,m){return o.call(this,tn(e,b),m,e)}:o.length>2&&(y=function(b,m){return o.call(this,b,m,e)}));let h=p.call(a,y,i);return u&&s?s(h):h}function Ya(e,t,o,i){let s=es(e),r=s!==e&&!It(e),a=o,u=!1;s!==e&&(r?(u=i.length===0,a=function(y,h,b){return u&&(u=!1,y=tn(e,y)),o.call(this,y,tn(e,h),b,e)}):o.length>3&&(a=function(y,h,b){return o.call(this,y,h,b,e)}));let p=s[t](a,...i);return u?tn(e,p):p}function nr(e,t,o){let i=He(e);Ct(i,"iterate",xo);let s=i[t](...o);return(s===-1||s===!1)&&ns(o[0])?(o[0]=He(o[0]),i[t](...o)):s}function Ko(e,t,o=[]){Kt(),cr();let i=He(e)[t].apply(e,o);return pr(),Yt(),i}var zp=mo("__proto__,__v_isRef,__isVue"),sl=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Vt));function Hp(e){Vt(e)||(e=String(e));let t=He(this);return Ct(t,"has",e),t.hasOwnProperty(e)}var Qs=class{constructor(t=!1,o=!1){this._isReadonly=t,this._isShallow=o}get(t,o,i){if(o==="__v_skip")return t.__v_skip;let s=this._isReadonly,r=this._isShallow;if(o==="__v_isReactive")return!s;if(o==="__v_isReadonly")return s;if(o==="__v_isShallow")return r;if(o==="__v_raw")return i===(s?r?Zp:al:r?rl:il).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(i)?t:void 0;let a=Se(t);if(!s){let p;if(a&&(p=Bp[o]))return p;if(o==="hasOwnProperty")return Hp}let u=Reflect.get(t,o,wt(t)?t:i);if((Vt(o)?sl.has(o):zp(o))||(s||Ct(t,"get",o),r))return u;if(wt(u)){let p=a&&zs(o)?u:u.value;return s&&je(p)?Zs(p):p}return je(u)?s?Zs(u):st(u):u}},Js=class extends Qs{constructor(t=!1){super(!1,t)}set(t,o,i,s){let r=t[o],a=Se(t)&&zs(o);if(!this._isShallow){let y=Bt(r);if(!It(i)&&!Bt(i)&&(r=He(r),i=He(i)),!a&&wt(r)&&!wt(i))return y||(r.value=i),!0}let u=a?Number(o)e,Ks=e=>Reflect.getPrototypeOf(e);function Kp(e,t,o){return function(...i){let s=this.__v_raw,r=He(s),a=mn(r),u=e==="entries"||e===Symbol.iterator&&a,p=e==="keys"&&a,y=s[e](...i),h=o?lr:t?vn:qt;return!t&&Ct(r,"iterate",p?rr:Gn),dt(Object.create(y),{next(){let{value:b,done:m}=y.next();return m?{value:b,done:m}:{value:u?[h(b[0]),h(b[1])]:h(b),done:m}}})}}function Ys(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Yp(e,t){let o={get(s){let r=this.__v_raw,a=He(r),u=He(s);e||(Ft(s,u)&&Ct(a,"get",s),Ct(a,"get",u));let{has:p}=Ks(a),y=t?lr:e?vn:qt;if(p.call(a,s))return y(r.get(s));if(p.call(a,u))return y(r.get(u));r!==a&&r.get(s)},get size(){let s=this.__v_raw;return!e&&Ct(He(s),"iterate",Gn),s.size},has(s){let r=this.__v_raw,a=He(r),u=He(s);return e||(Ft(s,u)&&Ct(a,"has",s),Ct(a,"has",u)),s===u?r.has(s):r.has(s)||r.has(u)},forEach(s,r){let a=this,u=a.__v_raw,p=He(u),y=t?lr:e?vn:qt;return!e&&Ct(p,"iterate",Gn),u.forEach((h,b)=>s.call(r,y(h),y(b),a))}};return dt(o,e?{add:Ys("add"),set:Ys("set"),delete:Ys("delete"),clear:Ys("clear")}:{add(s){let r=He(this),a=Ks(r),u=He(s),p=!t&&!It(s)&&!Bt(s)?u:s;return a.has.call(r,p)||Ft(s,p)&&a.has.call(r,s)||Ft(u,p)&&a.has.call(r,u)||(r.add(p),nn(r,"add",p,p)),this},set(s,r){!t&&!It(r)&&!Bt(r)&&(r=He(r));let a=He(this),{has:u,get:p}=Ks(a),y=u.call(a,s);y||(s=He(s),y=u.call(a,s));let h=p.call(a,s);return a.set(s,r),y?Ft(r,h)&&nn(a,"set",s,r,h):nn(a,"add",s,r),this},delete(s){let r=He(this),{has:a,get:u}=Ks(r),p=a.call(r,s);p||(s=He(s),p=a.call(r,s));let y=u?u.call(r,s):void 0,h=r.delete(s);return p&&nn(r,"delete",s,void 0,y),h},clear(){let s=He(this),r=s.size!==0,a=void 0,u=s.clear();return r&&nn(s,"clear",void 0,void 0,a),u}}),["keys","values","entries",Symbol.iterator].forEach(s=>{o[s]=Kp(s,e,t)}),o}function hr(e,t){let o=Yp(e,t);return(i,s,r)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_isShallow"?t:s==="__v_raw"?i:Reflect.get(ze(o,s)&&s in i?o:i,s,r)}var Xp={get:hr(!1,!1)},Qp={get:hr(!1,!0)},Jp={get:hr(!0,!1)};var il=new WeakMap,rl=new WeakMap,al=new WeakMap,Zp=new WeakMap;function xp(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function st(e){return Bt(e)?e:mr(e,!1,jp,Xp,il)}function ts(e){return mr(e,!1,Wp,Qp,rl)}function Zs(e){return mr(e,!0,Gp,Jp,al)}function mr(e,t,o,i,s){if(!je(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;let r=s.get(e);if(r)return r;let a=xp(xi(e));if(a===0)return e;let u=new Proxy(e,a===2?i:o);return s.set(e,u),u}function sn(e){return Bt(e)?sn(e.__v_raw):!!(e&&e.__v_isReactive)}function Bt(e){return!!(e&&e.__v_isReadonly)}function It(e){return!!(e&&e.__v_isShallow)}function ns(e){return e?!!e.__v_raw:!1}function He(e){let t=e&&e.__v_raw;return t?He(t):e}function Eo(e){return!ze(e,"__v_skip")&&Object.isExtensible(e)&&js(e,"__v_skip",!0),e}var qt=e=>je(e)?st(e):e,vn=e=>je(e)?Zs(e):e;function wt(e){return e?e.__v_isRef===!0:!1}function Et(e){return ll(e,!1)}function ei(e){return ll(e,!0)}function ll(e,t){return wt(e)?e:new dr(e,t)}var dr=class{constructor(t,o){this.dep=new Zo,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=o?t:He(t),this._value=o?t:qt(t),this.__v_isShallow=o}get value(){return this.dep.track(),this._value}set value(t){let o=this._rawValue,i=this.__v_isShallow||It(t)||Bt(t);t=i?t:He(t),Ft(t,o)&&(this._rawValue=t,this._value=i?t:qt(t),this.dep.trigger())}};function yn(e){return wt(e)?e.value:e}var ef={get:(e,t,o)=>t==="__v_raw"?e:yn(Reflect.get(e,t,o)),set:(e,t,o,i)=>{let s=e[t];return wt(s)&&!wt(o)?(s.value=o,!0):Reflect.set(e,t,o,i)}};function ti(e){return sn(e)?e:new Proxy(e,ef)}var ur=class{constructor(t,o,i){this.fn=t,this.setter=o,this._value=void 0,this.dep=new Zo(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Jo-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!o,this.isSSR=i}notify(){if(this.flags|=16,!(this.flags&8)&&et!==this)return Ja(this,!0),!0}get value(){let t=this.dep.track();return el(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}};function dl(e,t,o=!1){let i,s;return Ie(e)?i=e:(i=e.get,s=e.set),new ur(i,s,o)}var Xs={},xs=new WeakMap,jn;function ul(e,t=!1,o=jn){if(o){let i=xs.get(o);i||xs.set(o,i=[]),i.push(e)}}function cl(e,t,o=Ke){let{immediate:i,deep:s,once:r,scheduler:a,augmentJob:u,call:p}=o,y=q=>{(o.onWarn||Up)("Invalid watch source: ",q,"A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.")},h=q=>s?q:It(q)||s===!1||s===0?on(q,1):on(q),b,m,w,A,S=!1,R=!1;if(wt(e)?(m=()=>e.value,S=It(e)):sn(e)?(m=()=>h(e),S=!0):Se(e)?(R=!0,S=e.some(q=>sn(q)||It(q)),m=()=>e.map(q=>{if(wt(q))return q.value;if(sn(q))return h(q);if(Ie(q))return p?p(q,2):q()})):Ie(e)?t?m=p?()=>p(e,2):e:m=()=>{if(w){Kt();try{w()}finally{Yt()}}let q=jn;jn=b;try{return p?p(e,3,[A]):e(A)}finally{jn=q}}:m=Ot,t&&s){let q=m,j=s===!0?1/0:s;m=()=>on(q(),j)}let g=Xa(),C=()=>{b.stop(),g&&g.active&&Ho(g.effects,b)};if(r&&t){let q=t;t=(...j)=>{try{return q(...j)}finally{C()}}}let I=R?new Array(e.length).fill(Xs):Xs,V=q=>{if(!(!(b.flags&1)||!b.dirty&&!q))if(t){let j=b.run();if(q||s||S||(R?j.some((te,Y)=>Ft(te,I[Y])):Ft(j,I))){let te=jn;Kt();try{w&&w(),jn=b;let Y=[j,I===Xs?void 0:R&&I[0]===Xs?[]:I,A];I=j,p?p(t,3,Y):t(...Y)}finally{jn=te,Yt()}}}else b.run()};return u&&u(V),b=new Co(m),b.scheduler=a?()=>a(V,!1):V,A=q=>ul(q,!1,b),w=b.onStop=()=>{let q=xs.get(b);if(q){if(p)p(q,4);else for(let j of q)j();xs.delete(b)}},t?i?V(!0):I=b.run():a?a(V.bind(null,!0),!0):b.run(),C.pause=b.pause.bind(b),C.resume=b.resume.bind(b),C.stop=C,C}function on(e,t=1/0,o){if(t<=0||!je(e)||e.__v_skip||(o=o||new Map,(o.get(e)||0)>=t))return e;if(o.set(e,t),t--,wt(e))on(e.value,t,o);else if(Se(e))for(let i=0;i{on(i,t,o)});else if(Bs(e)){for(let i in e)on(e[i],t,o);for(let i of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,i)&&on(e[i],t,o)}return e}function hs(e,t,o,i){try{return i?e(...i):e()}catch(s){ms(s,t,o)}}function zt(e,t,o,i){if(Ie(e)){let s=hs(e,t,o,i);return s&&Zi(s)&&s.catch(r=>{ms(r,t,o)}),s}if(Se(e)){let s=[];for(let r=0;r>>1,s=Dt[i],r=ds(s);r=ds(o)?Dt.push(e):Dt.splice(rf(t),0,e),e.flags|=1,Al()}}function Al(){si||(si=Dl.then(Il))}function Tl(e){if(!Se(e))An&&e.id===-1?An.splice(So+1,0,e):e.flags&1||(an.push(e),e.flags|=1);else for(let t=0;t=t))continue;Dt.splice(i,1),i=e?i-1:Xt,s.flags&4&&(s.flags&=-2),s(),s.flags&4||(s.flags&=-2)}}}function Ol(e,t,o=0){if(an.length){let i=an,s=0;if(t){i=[];for(let a=0;ads(a)-ds(u));if(an.length=s,An){for(let a=0;ae.id==null?e.flags&2?-1:1/0:e.id;function Il(e){let t=Ot;try{for(Xt=0;Xt{i._d&&li(-1);let r=ii(t),a=Xn.length,u;try{u=e(...s)}finally{for(let p=Xn.length;p>a;p--)ld();ii(r),i._d&&li(1)}return u};return i._n=!0,i._c=!0,i._d=!0,i}function P(e,t){if($t===null)return e;let o=gi($t),i=e.dirs||(e.dirs=[]);for(let s=0;s1)return o&&Ie(t)?t.call(i&&i.proxy):t}}var df=Symbol.for("v-scx"),uf=()=>{{let e=_t(df);return e}};function rt(e,t,o){return _l(e,t,o)}function _l(e,t,o=Ke){let{immediate:i,deep:s,flush:r,once:a}=o,u=dt({},o),p=t&&i||!t&&r!=="post",y;if(Do){if(r==="sync"){let w=uf();y=w.__watcherHandles||(w.__watcherHandles=[])}else if(!p){let w=()=>{};return w.stop=Ot,w.resume=Ot,w.pause=Ot,w}}let h=St;u.call=(w,A,S)=>zt(w,h,A,S);let b=!1;r==="post"?u.scheduler=w=>{w.i=h,Mt(w,h&&h.suspense)}:r!=="sync"&&(b=!0,u.scheduler=(w,A)=>{A?w():Dr(w)}),u.augmentJob=w=>{t&&(w.flags|=4),b&&(w.flags|=2,h&&(w.id=h.uid,w.i=h))};let m=cl(e,t,u);return Do&&(y?y.push(m):p&&m()),m}function cf(e,t,o){let i=this.proxy,s=ot(e)?e.includes(".")?Vl(i,e):()=>i[e]:e.bind(i,i),r;Ie(t)?r=t:(r=t.handler,o=t);let a=ys(this),u=_l(s,r.bind(i),o);return a(),u}function Vl(e,t){let o=t.split(".");return()=>{let i=e;for(let s=0;se.__isTeleport;var vr=Symbol("_leaveCb");function ff(e){let t=e[0];if(e.length>1){let o=!1;for(let i of e)if(i.type!==Qt){t=i,o=!0;break}}return t}function ql(e){if(!pi(e))return ci(e.type)&&e.children?ff(e.children):e;if(e.component)return e.component.subTree;let{shapeFlag:t,children:o}=e;if(o){if(t&16)return o[0];if(t&32&&Ie(o.default))return o.default()}}function us(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;let o=e.component.subTree;us(ci(o.type)&&ql(o)||o,t)}else if(e.shapeFlag&128)e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback);else if(e.transition=t,e.type===L&&Se(e.children)){let o=Yl(e.children,!1);o&&us(o,t)}}function kr(e){if(e.component)return kr(e.component.subTree);if(e.type===L){let t=Se(e.children)&&Yl(e.children,!1);return t?kr(t):void 0}if(e.type!==Qt)return e}function gs(e,t){return Ie(e)?dt({name:e.name},t,{setup:e}):e}function Ar(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function pl(e,t){let o;return!!((o=Object.getOwnPropertyDescriptor(e,t))&&!o.configurable)}var ri=new WeakMap;function is(e,t,o,i,s=!1){if(Se(e)){e.forEach((S,R)=>is(S,t&&(Se(t)?t[R]:t),o,i,s));return}if(rs(i)&&!s){i.shapeFlag&512&&i.type.__asyncResolved&&i.component.subTree.component&&is(e,t,o,i.component.subTree);return}let r=i.shapeFlag&4?gi(i.component):i.el,a=s?null:r,{i:u,r:p}=e,y=t&&t.r,h=u.refs===Ke?u.refs={}:u.refs,b=u.setupState,m=He(b),w=b===Ke?Ji:S=>pl(h,S)?!1:ze(m,S),A=(S,R)=>!(R&&pl(h,R));if(y!=null&&y!==p){if(fl(t),ot(y))h[y]=null,w(y)&&(b[y]=null);else if(wt(y)){let S=t;A(y,S.k)&&(y.value=null),S.k&&(h[S.k]=null)}}if(Ie(p))hs(p,u,12,[a,h]);else{let S=ot(p),R=wt(p);if(S||R){let g=()=>{if(e.f){let C=S?w(p)?b[p]:h[p]:A(p)||!e.k?p.value:h[e.k];if(s)Se(C)&&Ho(C,r);else if(Se(C))C.includes(r)||C.push(r);else if(S)h[p]=[r],w(p)&&(b[p]=h[p]);else{let I=[r];A(p,e.k)&&(p.value=I),e.k&&(h[e.k]=I)}}else S?(h[p]=a,w(p)&&(b[p]=a)):R&&(A(p,e.k)&&(p.value=a),e.k&&(h[e.k]=a))};if(a){let C=()=>{g(),ri.delete(e)};C.id=-1,ri.set(e,C),Mt(C,o)}else fl(e),g()}}}function fl(e){let t=ri.get(e);t&&(t.flags|=8,ri.delete(e))}var hl=e=>e.nodeType===8;var FY=Wo().requestIdleCallback||(e=>setTimeout(e,1)),BY=Wo().cancelIdleCallback||(e=>clearTimeout(e));function hf(e,t){if(hl(e)&&e.data==="["){let o=1,i=e.nextSibling;for(;i;){if(i.nodeType===1){if(t(i)===!1)break}else if(hl(i))if(i.data==="]"){if(--o===0)break}else i.data==="["&&o++;i=i.nextSibling}}else t(e)}var rs=e=>!!e.type.__asyncLoader;function $l(e){Ie(e)&&(e={loader:e});let{loader:t,loadingComponent:o,errorComponent:i,delay:s=200,hydrate:r,timeout:a,suspensible:u=!0,onError:p}=e,y=null,h,b=0,m=()=>(b++,y=null,w()),w=()=>{let A;return y||(A=y=t().catch(S=>{if(S=S instanceof Error?S:new Error(String(S)),p)return new Promise((R,g)=>{p(S,()=>R(m()),()=>g(S),b+1)});throw S}).then(S=>A!==y&&y?y:(S&&(S.__esModule||S[Symbol.toStringTag]==="Module")&&(S=S.default),h=S,S)))};return gs({name:"AsyncComponentWrapper",__asyncLoader:w,__asyncHydrate(A,S,R){let g=A.isConnected,C=!1;(S.bu||(S.bu=[])).push(()=>C=!0);let I=()=>{C||!A.parentNode||g&&!A.isConnected||R()},V=r?()=>{let q=r(I,j=>hf(A,j));q&&(S.bum||(S.bum=[])).push(q)}:I;h?V():w().then(()=>!S.isUnmounted&&V())},get __asyncResolved(){return h},setup(){let A=St;if(Ar(A),h)return()=>ni(h,A);let S=q=>{y=null,ms(q,A,13,!i)};if(u&&A.suspense||Do)return w().then(q=>()=>ni(q,A)).catch(q=>(S(q),()=>i?_e(i,{error:q}):null));let R=Et(!1),g=Et(),C=Et(!!s),I,V;return vs(()=>{I!=null&&clearTimeout(I),V!=null&&clearTimeout(V)}),s&&(V=setTimeout(()=>{A.isUnmounted||(C.value=!1)},s)),a!=null&&(I=setTimeout(()=>{if(!A.isUnmounted&&!R.value&&!g.value){let q=new Error(`Async component timed out after ${a}ms.`);S(q),g.value=q}},a)),w().then(()=>{A.isUnmounted||(R.value=!0,A.parent&&pi(A.parent.vnode)&&A.parent.update())}).catch(q=>{if(A.isUnmounted){y=null;return}S(q),g.value=q}),()=>{if(R.value&&h)return ni(h,A);if(g.value&&i)return _e(i,{error:g.value});if(o&&!C.value)return ni(o,A)}}})}function ni(e,t){let{ref:o,props:i,children:s,ce:r}=t.vnode,a=_e(e,i,s);return a.ref=o,a.ce=r,delete t.vnode.ce,a}var pi=e=>e.type.__isKeepAlive;function Ll(e,t){Fl(e,"a",t)}function Ul(e,t){Fl(e,"da",t)}function Fl(e,t,o=St){let i=e.__wdc||(e.__wdc=()=>{let s=o;for(;s;){if(s.isDeactivated)return;s=s.parent}return e()});if(fi(t,i,o),o){let s=o.parent;for(;s&&s.parent;)pi(s.parent.vnode)&&mf(i,t,o,s),s=s.parent}}function mf(e,t,o,i){let s=fi(t,e,i,!0);vs(()=>{Ho(i[t],s)},o)}function fi(e,t,o=St,i=!1){if(o){let s=o[e]||(o[e]=[]),r=t.__weh||(t.__weh=(...a)=>{Kt();let u=ys(o),p=zt(t,o,e,a);return u(),Yt(),p});return i?s.unshift(r):s.push(r),r}}var wn=e=>(t,o=St)=>{(!Do||e==="sp")&&fi(e,(...i)=>t(...i),o)},gf=wn("bm"),dn=wn("m"),Bl=wn("bu"),zl=wn("u"),Jn=wn("bum"),vs=wn("um"),vf=wn("sp"),yf=wn("rtg"),bf=wn("rtc");function wf(e,t=St){fi("ec",e,t)}var Hl="components",kf="directives";function Xe(e,t){return jl(Hl,e,!0,t)||e}var Cf=Symbol.for("v-ndc");function Te(e){return jl(kf,e)}function jl(e,t,o=!0,i=!1){let s=$t||St;if(s){let r=s.type;if(e===Hl){let u=ih(r,!1);if(u&&(u===t||u===mt(t)||u===Hn(mt(t))))return r}let a=ml(s[e]||r[e],t)||ml(s.appContext[e],t);return!a&&i?r:a}}function ml(e,t){return e&&(e[t]||e[mt(t)]||e[Hn(mt(t))])}function se(e,t,o,i){let s,r=o&&o[i],a=Se(e);if(a||ot(e)){let u=a&&sn(e),p=!1,y=!1;u&&(p=!It(e),y=Bt(e),e=es(e)),s=new Array(e.length);for(let h=0,b=e.length;ht(u,p,void 0,r&&r[p]));else{let u=Object.keys(e);s=new Array(u.length);for(let p=0,y=u.length;pe?pd(e)?gi(e):Cr(e.parent):null;var as=dt(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Cr(e.parent),$root:e=>Cr(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Tr(e),$forceUpdate:e=>e.f||(e.f=()=>{Dr(e.update)}),$nextTick:e=>e.n||(e.n=Je.bind(e.proxy)),$watch:e=>cf.bind(e)});var yr=(e,t)=>e!==Ke&&!e.__isScriptSetup&&ze(e,t),Ef={get({_:e},t){if(t==="__v_skip")return!0;let{ctx:o,setupState:i,data:s,props:r,accessCache:a,type:u,appContext:p}=e;if(t[0]!=="$"){let m=a[t];if(m!==void 0)switch(m){case 1:return i[t];case 2:return s[t];case 4:return o[t];case 3:return r[t]}else{if(yr(i,t))return a[t]=1,i[t];if(s!==Ke&&ze(s,t))return a[t]=2,s[t];if(ze(r,t))return a[t]=3,r[t];if(o!==Ke&&ze(o,t))return a[t]=4,o[t];Er&&(a[t]=0)}}let y=as[t],h,b;if(y)return t==="$attrs"&&Ct(e.attrs,"get",""),y(e);if((h=u.__cssModules)&&(h=h[t]))return h;if(o!==Ke&&ze(o,t))return a[t]=4,o[t];if(b=p.config.globalProperties,ze(b,t))return b[t]},set({_:e},t,o){let{data:i,setupState:s,ctx:r}=e;return yr(s,t)?(s[t]=o,!0):i!==Ke&&ze(i,t)?(i[t]=o,!0):ze(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(r[t]=o,!0)},has({_:{data:e,setupState:t,accessCache:o,ctx:i,appContext:s,props:r,type:a}},u){let p;return!!(o[u]||e!==Ke&&u[0]!=="$"&&ze(e,u)||yr(t,u)||ze(r,u)||ze(i,u)||ze(as,u)||ze(s.config.globalProperties,u)||(p=a.__cssModules)&&p[u])},defineProperty(e,t,o){return o.get!=null?e._.accessCache[t]=0:ze(o,"value")&&this.set(e,t,o.value,null),Reflect.defineProperty(e,t,o)}};function gl(e){return Se(e)?e.reduce((t,o)=>(t[o]=null,t),{}):e}var Er=!0;function Sf(e){let t=Tr(e),o=e.proxy,i=e.ctx;Er=!1,t.beforeCreate&&vl(t.beforeCreate,e,"bc");let{data:s,computed:r,methods:a,watch:u,provide:p,inject:y,created:h,beforeMount:b,mounted:m,beforeUpdate:w,updated:A,activated:S,deactivated:R,beforeDestroy:g,beforeUnmount:C,destroyed:I,unmounted:V,render:q,renderTracked:j,renderTriggered:te,errorCaptured:Y,serverPrefetch:oe,expose:Ce,inheritAttrs:D,components:ee,directives:ce,filters:Oe}=t;if(y&&Nf(y,i,null),a)for(let ie in a){let be=a[ie];Ie(be)&&(i[ie]=be.bind(o))}if(s){let ie=s.call(o,o);je(ie)&&(e.data=st(ie))}if(Er=!0,r)for(let ie in r){let be=r[ie],Ae=Ie(be)?be.bind(o,o):Ie(be.get)?be.get.bind(o,o):Ot,Ze=!Ie(be)&&Ie(be.set)?be.set.bind(o):Ot,nt=Nt({get:Ae,set:Ze});Object.defineProperty(i,ie,{enumerable:!0,configurable:!0,get:()=>nt.value,set:it=>nt.value=it})}if(u)for(let ie in u)Gl(u[ie],i,o,ie);if(p){let ie=Ie(p)?p.call(o):p;Reflect.ownKeys(ie).forEach(be=>{Qn(be,ie[be])})}h&&vl(h,e,"c");function de(ie,be){Se(be)?be.forEach(Ae=>ie(Ae.bind(o))):be&&ie(be.bind(o))}if(de(gf,b),de(dn,m),de(Bl,w),de(zl,A),de(Ll,S),de(Ul,R),de(wf,Y),de(bf,j),de(yf,te),de(Jn,C),de(vs,V),de(vf,oe),Se(Ce))if(Ce.length){let ie=e.exposed||(e.exposed={});Ce.forEach(be=>{Object.defineProperty(ie,be,{get:()=>o[be],set:Ae=>o[be]=Ae,enumerable:!0})})}else e.exposed||(e.exposed={});q&&e.render===Ot&&(e.render=q),D!=null&&(e.inheritAttrs=D),ee&&(e.components=ee),ce&&(e.directives=ce),oe&&Ar(e)}function Nf(e,t,o=Ot){Se(e)&&(e=Sr(e));for(let i in e){let s=e[i],r;je(s)?"default"in s?r=_t(s.from||i,s.default,!0):r=_t(s.from||i):r=_t(s),wt(r)?Object.defineProperty(t,i,{enumerable:!0,configurable:!0,get:()=>r.value,set:a=>r.value=a}):t[i]=r}}function vl(e,t,o){zt(Se(e)?e.map(i=>i.bind(t.proxy)):e.bind(t.proxy),t,o)}function Gl(e,t,o,i){let s=i.includes(".")?Vl(o,i):()=>o[i];if(ot(e)){let r=t[e];Ie(r)&&rt(s,r)}else if(Ie(e))rt(s,e.bind(o));else if(je(e))if(Se(e))e.forEach(r=>Gl(r,t,o,i));else{let r=Ie(e.handler)?e.handler.bind(o):t[e.handler];Ie(r)&&rt(s,r,e)}}function Tr(e){let t=e.type,{mixins:o,extends:i}=t,{mixins:s,optionsCache:r,config:{optionMergeStrategies:a}}=e.appContext,u=r.get(t),p;return u?p=u:!s.length&&!o&&!i?p=t:(p={},s.length&&s.forEach(y=>ai(p,y,a,!0)),ai(p,t,a)),je(t)&&r.set(t,p),p}function ai(e,t,o,i=!1){let{mixins:s,extends:r}=t;r&&ai(e,r,o,!0),s&&s.forEach(a=>ai(e,a,o,!0));for(let a in t)if(!(i&&a==="expose")){let u=Rf[a]||o&&o[a];e[a]=u?u(e[a],t[a]):t[a]}return e}var Rf={data:yl,props:bl,emits:bl,methods:ss,computed:ss,beforeCreate:Rt,created:Rt,beforeMount:Rt,mounted:Rt,beforeUpdate:Rt,updated:Rt,beforeDestroy:Rt,beforeUnmount:Rt,destroyed:Rt,unmounted:Rt,activated:Rt,deactivated:Rt,errorCaptured:Rt,serverPrefetch:Rt,components:ss,directives:ss,watch:Af,provide:yl,inject:Df};function yl(e,t){return t?e?function(){return dt(Ie(e)?e.call(this,this):e,Ie(t)?t.call(this,this):t)}:t:e}function Df(e,t){return ss(Sr(e),Sr(t))}function Sr(e){if(Se(e)){let t={};for(let o=0;ot==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${mt(t)}Modifiers`]||e[`${en(t)}Modifiers`];function If(e,t,...o){if(e.isUnmounted)return;let i=e.vnode.props||Ke,s=o,r=t.startsWith("update:"),a=r&&Of(i,t.slice(7));a&&(a.trim&&(s=o.map(h=>ot(h)?h.trim():h)),a.number&&(s=s.map(wo)));let u,p=i[u=Go(t)]||i[u=Go(mt(t))];!p&&r&&(p=i[u=Go(en(t))]),p&&zt(p,e,6,s);let y=i[u+"Once"];if(y){if(!e.emitted)e.emitted={};else if(e.emitted[u])return;e.emitted[u]=!0,zt(y,e,6,s)}}var Mf=new WeakMap;function Kl(e,t,o=!1){let i=o?Mf:t.emitsCache,s=i.get(e);if(s!==void 0)return s;let r=e.emits,a={},u=!1;if(!Ie(e)){let p=y=>{let h=Kl(y,t,!0);h&&(u=!0,dt(a,h))};!o&&t.mixins.length&&t.mixins.forEach(p),e.extends&&p(e.extends),e.mixins&&e.mixins.forEach(p)}return!r&&!u?(je(e)&&i.set(e,null),null):(Se(r)?r.forEach(p=>a[p]=null):dt(a,r),je(e)&&i.set(e,a),a)}function hi(e,t){return!e||!go(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),ze(e,t[0].toLowerCase()+t.slice(1))||ze(e,en(t))||ze(e,t))}function br(e){let{type:t,vnode:o,proxy:i,withProxy:s,propsOptions:[r],slots:a,attrs:u,emit:p,render:y,renderCache:h,props:b,data:m,setupState:w,ctx:A,inheritAttrs:S}=e,R=ii(e),g,C;try{if(o.shapeFlag&4){let q=s||i,j=q;g=ln(y.call(j,q,h,b,w,m,A)),C=u}else{let q=t;g=ln(q.length>1?q(b,{attrs:u,slots:a,emit:p}):q(b,null)),C=t.props?u:_f(u)}}catch(q){Xn.length=0,ms(q,e,1),g=_e(Qt)}let I=g,V;if(C&&S!==!1){let q=Object.keys(C),{shapeFlag:j}=I;q.length&&j&7&&(r&&q.some(vo)&&(C=Vf(C,r)),I=Ro(I,C,!1,!0))}if(o.dirs&&(I=Ro(I,null,!1,!0),I.dirs=I.dirs?I.dirs.concat(o.dirs):o.dirs),o.transition){let q=ci(I.type)&&ql(I)||I;us(q,o.transition)}return g=I,ii(R),g}function Yl(e,t=!0){let o;for(let i=0;i{let t;for(let o in e)(o==="class"||o==="style"||go(o))&&((t||(t={}))[o]=e[o]);return t},Vf=(e,t)=>{let o={};for(let i in e)(!vo(i)||!(i.slice(9)in t))&&(o[i]=e[i]);return o};function qf(e,t,o){let{props:i,children:s,component:r}=e,{props:a,children:u,patchFlag:p}=t,y=r.emitsOptions;if(t.dirs||t.transition)return!0;if(o&&p>=0){if(p&1024)return!0;if(p&16)return i?wl(i,a,y):!!a;if(p&8){let h=t.dynamicProps;for(let b=0;bObject.create(Ql),Zl=e=>Object.getPrototypeOf(e)===Ql;function Lf(e,t,o,i=!1){let s={},r=Jl();e.propsDefaults=Object.create(null),xl(e,t,s,r);for(let a in e.propsOptions[0])a in s||(s[a]=void 0);o?e.props=i?s:ts(s):e.type.props?e.props=s:e.props=r,e.attrs=r}function Uf(e,t,o,i){let{props:s,attrs:r,vnode:{patchFlag:a}}=e,u=He(s),[p]=e.propsOptions,y=!1;if((i||a>0)&&!(a&16)){if(a&8){let h=e.vnode.dynamicProps;for(let b=0;b{p=!0;let[m,w]=ed(b,t,!0);dt(a,m),w&&u.push(...w)};!o&&t.mixins.length&&t.mixins.forEach(h),e.extends&&h(e.extends),e.mixins&&e.mixins.forEach(h)}if(!r&&!p)return je(e)&&i.set(e,Dn),Dn;if(Se(r))for(let h=0;he==="_"||e==="_ctx"||e==="$stable",Or=e=>Se(e)?e.map(ln):[ln(e)],Bf=(e,t,o)=>{if(t._n)return t;let i=lf((...s)=>Or(t(...s)),o);return i._c=!1,i},td=(e,t,o)=>{let i=e._ctx;for(let s in e){if(Pr(s))continue;let r=e[s];if(Ie(r))t[s]=Bf(s,r,i);else if(r!=null){let a=Or(r);t[s]=()=>a}}},nd=(e,t)=>{let o=Or(t);e.slots.default=()=>o},od=(e,t,o)=>{for(let i in t)(o||!Pr(i))&&(e[i]=t[i])},zf=(e,t,o)=>{let i=e.slots=Jl();if(e.vnode.shapeFlag&32){let s=t._;s?(od(i,t,o),o&&js(i,"_",s,!0)):td(t,i)}else t&&nd(e,t)},Hf=(e,t,o)=>{let{vnode:i,slots:s}=e,r=!0,a=Ke;if(i.shapeFlag&32){let u=t._;u?o&&u===1?r=!1:od(s,t,o):(r=!t.$stable,td(t,s)),a=t}else t&&(nd(e,t),a={default:1});if(r)for(let u in s)!Pr(u)&&a[u]==null&&delete s[u]};function jf(){let e=[]}var Mt=Yf;function sd(e){return Gf(e)}function Gf(e,t){jf();let o=Wo();o.__VUE__=!0;let{insert:i,remove:s,patchProp:r,createElement:a,createText:u,createComment:p,setText:y,setElementText:h,parentNode:b,nextSibling:m,setScopeId:w=Ot,insertStaticContent:A}=e,S=(E,N,O,H=null,B=null,K=null,ne=void 0,Q=null,J=!!N.dynamicChildren)=>{if(E===N)return;E&&!os(E,N)&&(H=me(E),Ye(E,B,K,!0),E=null),N.patchFlag===-2&&(J=!1,N.dynamicChildren=null),N.dynamicChildren&&E&&E.dynamicChildren&&E.dynamicChildren.hasOnce&&(N.dynamicChildren===Dn&&(N.dynamicChildren=[]),N.dynamicChildren.hasOnce=!0);let{type:G,ref:ge,shapeFlag:ae}=N;switch(G){case mi:R(E,N,O,H);break;case Qt:g(E,N,O,H);break;case ls:E==null&&C(N,O,H,ne);break;case L:ce(E,N,O,H,B,K,ne,Q,J);break;default:ae&1?j(E,N,O,H,B,K,ne,Q,J):ae&6?Oe(E,N,O,H,B,K,ne,Q,J):(ae&64||ae&128)&&G.process(E,N,O,H,B,K,ne,Q,J,U)}ge!=null&&B?is(ge,E&&E.ref,K,N||E,!N):ge==null&&E&&E.ref!=null&&is(E.ref,null,K,E,!0)},R=(E,N,O,H)=>{if(E==null)i(N.el=u(N.children),O,H);else{let B=N.el=E.el;N.children!==E.children&&y(B,N.children)}},g=(E,N,O,H)=>{E==null?i(N.el=p(N.children||""),O,H):N.el=E.el},C=(E,N,O,H)=>{[E.el,E.anchor]=A(E.children,N,O,H,E.el,E.anchor)},I=(E,N,O,H)=>{if(N.children!==E.children){let B=m(E.anchor);q(E),[N.el,N.anchor]=A(N.children,O,B,H)}else N.el=E.el,N.anchor=E.anchor},V=({el:E,anchor:N},O,H)=>{let B;for(;E&&E!==N;)B=m(E),i(E,O,H),E=B;i(N,O,H)},q=({el:E,anchor:N})=>{let O;for(;E&&E!==N;)O=m(E),s(E),E=O;s(N)},j=(E,N,O,H,B,K,ne,Q,J)=>{if(N.type==="svg"?ne="svg":N.type==="math"&&(ne="mathml"),E==null)te(N,O,H,B,K,ne,Q,J);else{let G=E.el&&E.el._isVueCE?E.el:null;try{G&&G._beginPatch(),Ce(E,N,B,K,ne,Q,J)}finally{G&&G._endPatch()}}},te=(E,N,O,H,B,K,ne,Q)=>{let J,G,{props:ge,shapeFlag:ae,transition:le,dirs:fe}=E;if(J=E.el=a(E.type,K,ge&&ge.is,ge),ae&8?h(J,E.children):ae&16&&oe(E.children,J,null,H,B,wr(E,K),ne,Q),fe&&Kn(E,null,H,"created"),Y(J,E,E.scopeId,ne,H),ge){for(let Re in ge)Re!=="value"&&!yo(Re)&&r(J,Re,null,ge[Re],K,H);"value"in ge&&r(J,"value",null,ge.value,K),(G=ge.onVnodeBeforeMount)&&rn(G,H,E)}fe&&Kn(E,null,H,"beforeMount");let De=Wf(B,le);De&&le.beforeEnter(J),i(J,N,O),((G=ge&&ge.onVnodeMounted)||De||fe)&&Mt(()=>{let Me;G&&rn(G,H,E),De&&le.enter(J),fe&&Kn(E,null,H,"mounted")},B)},Y=(E,N,O,H,B)=>{if(O&&w(E,O),H)for(let K=0;K{for(let G=J;G{let Q=N.el=E.el,{patchFlag:J,dynamicChildren:G,dirs:ge}=N;J|=E.patchFlag&16;let ae=E.props||Ke,le=N.props||Ke,fe;if(O&&Yn(O,!1),(fe=le.onVnodeBeforeUpdate)&&rn(fe,O,N,E),ge&&Kn(N,E,O,"beforeUpdate"),O&&Yn(O,!0),G&&(!E.dynamicChildren||E.dynamicChildren.length!==G.length)&&(J=0,ne=!1,G=null),(ae.innerHTML&&le.innerHTML==null||ae.textContent&&le.textContent==null)&&h(Q,""),G?D(E.dynamicChildren,G,Q,O,H,wr(N,B),K):ne||Ae(E,N,Q,null,O,H,wr(N,B),K,!1),J>0){if(J&16)ee(Q,ae,le,O,B);else if(J&2&&ae.class!==le.class&&r(Q,"class",null,le.class,B),J&4&&r(Q,"style",ae.style,le.style,B),J&8){let De=N.dynamicProps;for(let Re=0;Re{fe&&rn(fe,O,N,E),ge&&Kn(N,E,O,"updated")},H)},D=(E,N,O,H,B,K,ne)=>{for(let Q=0;Q{if(N!==O){if(N!==Ke)for(let K in N)!yo(K)&&!(K in O)&&r(E,K,N[K],null,B,H);for(let K in O){if(yo(K))continue;let ne=O[K],Q=N[K];ne!==Q&&K!=="value"&&r(E,K,Q,ne,B,H)}"value"in O&&r(E,"value",N.value,O.value,B)}},ce=(E,N,O,H,B,K,ne,Q,J)=>{let G=N.el=E?E.el:u(""),ge=N.anchor=E?E.anchor:u(""),{patchFlag:ae,dynamicChildren:le,slotScopeIds:fe}=N;fe&&(Q=Q?Q.concat(fe):fe),E==null?(i(G,O,H),i(ge,O,H),oe(N.children||[],O,ge,B,K,ne,Q,J)):ae>0&&ae&64&&le&&E.dynamicChildren&&E.dynamicChildren.length===le.length?(D(E.dynamicChildren,le,O,B,K,ne,Q),(N.key!=null||B&&N===B.subTree)&&id(E,N,!0)):Ae(E,N,O,ge,B,K,ne,Q,J)},Oe=(E,N,O,H,B,K,ne,Q,J)=>{N.slotScopeIds=Q,E==null?N.shapeFlag&512?B.ctx.activate(N,O,H,ne,J):ke(N,O,H,B,K,ne,J):de(E,N,J)},ke=(E,N,O,H,B,K,ne)=>{let Q=E.component=eh(E,H,B);if(pi(E)&&(Q.ctx.renderer=U),th(Q,!1,ne),Q.asyncDep){if(B&&B.registerDep(Q,ie,ne,K),!E.el){let J=Q.subTree=_e(Qt);g(null,J,N,O),E.placeholder=J.el}}else ie(Q,E,N,O,B,K,ne)},de=(E,N,O)=>{let H=N.component=E.component;if(qf(E,N,O))if(H.asyncDep&&!H.asyncResolved){N.el=E.el,N.placeholder=E.placeholder,be(H,N,O);return}else H.next=N,H.update();else N.el=E.el,N.placeholder=E.placeholder,H.vnode=N},ie=(E,N,O,H,B,K,ne)=>{let Q=()=>{if(E.isMounted){let{next:ae,bu:le,u:fe,parent:De,vnode:Re}=E;{let Ge=rd(E);if(Ge){ae&&(ae.el=Re.el,be(E,ae,ne)),Ge.asyncDep.then(()=>{Mt(()=>{E.isUnmounted||G()},B)});return}}let Me=ae,he;Yn(E,!1),ae?(ae.el=Re.el,be(E,ae,ne)):ae=Re,le&&bo(le),(he=ae.props&&ae.props.onVnodeBeforeUpdate)&&rn(he,De,ae,Re),Yn(E,!0);let Ne=br(E),Fe=E.subTree;E.subTree=Ne,S(Fe,Ne,b(Fe.el),me(Fe),E,B,K),ae.el=Ne.el,Me===null&&$f(E,Ne.el),fe&&Mt(fe,B),(he=ae.props&&ae.props.onVnodeUpdated)&&Mt(()=>rn(he,De,ae,Re),B)}else{let ae,{el:le,props:fe}=N,{bm:De,m:Re,parent:Me,root:he,type:Ne}=E,Fe=rs(N);if(Yn(E,!1),De&&bo(De),!Fe&&(ae=fe&&fe.onVnodeBeforeMount)&&rn(ae,Me,N),Yn(E,!0),le&&W){let Ge=()=>{E.subTree=br(E),W(le,E.subTree,E,B,null)};Fe&&Ne.__asyncHydrate?Ne.__asyncHydrate(le,E,Ge):Ge()}else{he.ce&&he.ce._hasShadowRoot()&&he.ce._injectChildStyle(Ne,E.parent?E.parent.type:void 0);let Ge=E.subTree=br(E);S(null,Ge,O,H,E,B,K),N.el=Ge.el}if(Re&&Mt(Re,B),!Fe&&(ae=fe&&fe.onVnodeMounted)){let Ge=N;Mt(()=>rn(ae,Me,Ge),B)}(N.shapeFlag&256||Me&&rs(Me.vnode)&&Me.vnode.shapeFlag&256)&&E.a&&Mt(E.a,B),E.isMounted=!0,N=O=H=null}};E.scope.on();let J=E.effect=new Co(Q);E.scope.off();let G=E.update=J.run.bind(J),ge=E.job=J.runIfDirty.bind(J);ge.i=E,ge.id=E.uid,J.scheduler=()=>Dr(ge),Yn(E,!0),G()},be=(E,N,O)=>{N.component=E;let H=E.vnode.props;E.vnode=N,E.next=null,Uf(E,N.props,H,O),Hf(E,N.children,O),Kt(),Pl(E),Yt()},Ae=(E,N,O,H,B,K,ne,Q,J=!1)=>{let G=E&&E.children,ge=E?E.shapeFlag:0,ae=N.children,{patchFlag:le,shapeFlag:fe}=N;if(le>0){if(le&128){nt(G,ae,O,H,B,K,ne,Q,J);return}else if(le&256){Ze(G,ae,O,H,B,K,ne,Q,J);return}}fe&8?(ge&16&&X(G,B,K),ae!==G&&h(O,ae)):ge&16?fe&16?nt(G,ae,O,H,B,K,ne,Q,J):X(G,B,K,!0):(ge&8&&h(O,""),fe&16&&oe(ae,O,H,B,K,ne,Q,J))},Ze=(E,N,O,H,B,K,ne,Q,J)=>{E=E||Dn,N=N||Dn;let G=E.length,ge=N.length,ae=Math.min(G,ge),le;for(le=0;lege?X(E,B,K,!0,!1,ae):oe(N,O,H,B,K,ne,Q,J,ae)},nt=(E,N,O,H,B,K,ne,Q,J)=>{let G=0,ge=N.length,ae=E.length-1,le=ge-1;for(;G<=ae&&G<=le;){let fe=E[G],De=N[G]=J?bn(N[G]):ln(N[G]);if(os(fe,De))S(fe,De,O,null,B,K,ne,Q,J);else break;G++}for(;G<=ae&&G<=le;){let fe=E[ae],De=N[le]=J?bn(N[le]):ln(N[le]);if(os(fe,De))S(fe,De,O,null,B,K,ne,Q,J);else break;ae--,le--}if(G>ae){if(G<=le){let fe=le+1,De=fele)for(;G<=ae;)Ye(E[G],B,K,!0),G++;else{let fe=G,De=G,Re=new Map;for(G=De;G<=le;G++){let xe=N[G]=J?bn(N[G]):ln(N[G]);xe.key!=null&&Re.set(xe.key,G)}let Me,he=0,Ne=le-De+1,Fe=!1,Ge=0,Pt=new Array(Ne);for(G=0;G=Ne){Ye(xe,B,K,!0);continue}let tt;if(xe.key!=null)tt=Re.get(xe.key);else for(Me=De;Me<=le;Me++)if(Pt[Me-De]===0&&os(xe,N[Me])){tt=Me;break}tt===void 0?Ye(xe,B,K,!0):(Pt[tt-De]=G+1,tt>=Ge?Ge=tt:Fe=!0,S(xe,N[tt],O,null,B,K,ne,Q,J),he++)}let ft=Fe?Kf(Pt):Dn;for(Me=ft.length-1,G=Ne-1;G>=0;G--){let xe=De+G,tt=N[xe],k=N[xe+1],_=xe+1{let{el:K,type:ne,transition:Q,children:J,shapeFlag:G}=E;if(G&6){it(E.component.subTree,N,O,H);return}if(G&128){E.suspense.move(N,O,H);return}if(G&64){ne.move(E,N,O,U);return}if(ne===L){i(K,N,O);for(let ae=0;aeQ.enter(K),B));else{let{leave:ae,delayLeave:le,afterLeave:fe}=Q,De=()=>{E.ctx.isUnmounted?s(K):i(K,N,O)},Re=()=>{let Me=K._isLeaving||!!K[vr];K._isLeaving&&K[vr](!0),Q.persisted&&!Me?De():ae(K,()=>{De(),fe&&fe()})};le?le(K,De,Re):Re()}else i(K,N,O)},Ye=(E,N,O,H=!1,B=!1)=>{let{type:K,props:ne,ref:Q,children:J,dynamicChildren:G,shapeFlag:ge,patchFlag:ae,dirs:le,cacheIndex:fe,memo:De}=E;if((ae===-2||G&&G.hasOnce)&&(B=!1),Q!=null&&(Kt(),is(Q,null,O,E,!0),Yt()),fe!=null&&(!E.ctx||E.ctx===N)&&(N.renderCache[fe]=void 0),ge&256){N.ctx.deactivate(E);return}let Re=ge&1&&le,Me=!rs(E),he;if(Me&&(he=ne&&ne.onVnodeBeforeUnmount)&&rn(he,N,E),ge&6)bt(E.component,O,H);else{if(ge&128){E.suspense.unmount(O,H);return}Re&&Kn(E,null,N,"beforeUnmount"),ge&64?E.type.remove(E,N,O,U,H):G&&!G.hasOnce&&(K!==L||ae>0&&ae&64)?X(G,N,O,!1,!0):(K===L&&ae&384||!B&&ge&16)&&X(J,N,O),H&<(E)}let Ne=De!=null&&fe==null;(Me&&(he=ne&&ne.onVnodeUnmounted)||Re||Ne)&&Mt(()=>{he&&rn(he,N,E),Re&&Kn(E,null,N,"unmounted"),Ne&&(E.el=null)},O)},lt=E=>{let{type:N,el:O,anchor:H,transition:B}=E,K=N===L;if(K&&!B){ct(O,H);return}if(N===ls){q(E),B&&!B.persisted&&B.afterLeave&&B.afterLeave();return}let ne=K?kr(E):E,Q=()=>{K?b(O)&&ct(O,H):s(O),B&&!B.persisted&&B.afterLeave&&B.afterLeave()};if(ne&&ne.shapeFlag&1&&B&&!B.persisted){let{leave:J,delayLeave:G}=B,ge=ne.el,ae=()=>J(ge,Q);G?G(ge,Q,ae):ae()}else Q()},ct=(E,N)=>{let O;for(;E!==N;)O=m(E),s(E),E=O;s(N)},bt=(E,N,O)=>{let{bum:H,scope:B,job:K,subTree:ne,um:Q,m:J,a:G}=E;Cl(J),Cl(G),H&&bo(H),B.stop(),K?(K.flags|=8,Ye(ne,E,N,O)):E.vnode.el&&ne&&(ne.transition=E.vnode.transition,Ye(ne,E,N,O)),Q&&Mt(Q,N),Mt(()=>{E.isUnmounted=!0},N)},X=(E,N,O,H=!1,B=!1,K=0)=>{for(let ne=K;ne{if(E.shapeFlag&6)return me(E.component.subTree);if(E.shapeFlag&128)return E.suspense.next();let N=m(E.anchor||E.el),O=N&&N[pf];return O?m(O):N},M=(E,N,O)=>{let H=E&&N._vnode?void 0:E&&E.component?E.component.uid:xf();af(()=>{E==null?N._vnode&&Ye(N._vnode,null,null,!0):S(N._vnode||null,E,N,null,null,null,O),N._vnode=E},H)},U={p:S,um:Ye,m:it,r:lt,mt:ke,mc:oe,pc:Ae,pbc:D,n:me,o:e},F,W;return t&&([F,W]=t(U)),{render:M,hydrate:F,createApp:Pf(M,F)}}function wr({type:e,props:t},o){return o==="svg"&&e==="foreignObject"||o==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:o}function Yn({effect:e,job:t},o){o?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Wf(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function id(e,t,o=!1){let i=e.children,s=t.children;if(Se(i)&&Se(s))for(let r=0;r>1,e[o[u]]0&&(t[i]=o[r-1]),o[r]=i)}}for(r=o.length,a=o[r-1];r-- >0;)o[r]=a,a=t[a];return o}function rd(e){let t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:rd(t)}function Cl(e){if(e)for(let t=0;te.__isSuspense;function Yf(e,t){t&&t.pendingBranch?Se(e)?t.effects.push(...e):t.effects.push(e):Tl(e)}var L=Symbol.for("v-fgt"),mi=Symbol.for("v-txt"),Qt=Symbol.for("v-cmt"),ls=Symbol.for("v-stc"),Xn=[],Lt=null;function l(e=!1){Xn.push(Lt=e?null:[])}function ld(){Xn.pop(),Lt=Xn[Xn.length-1]||null}var cs=1;function li(e,t=!1){cs+=e,e<0&&Lt&&t&&(Lt.hasOnce=!0)}function dd(e){return e.dynamicChildren=cs>0?Lt||Dn:null,ld(),cs>0&&Lt&&Lt.push(e),e}function d(e,t,o,i,s,r){return dd(n(e,t,o,i,s,r,!0))}function un(e,t,o,i,s){return dd(_e(e,t,o,i,s,!0))}function ps(e){return e?e.__v_isVNode===!0:!1}function os(e,t){return e.type===t.type&&e.key===t.key}var ud=({key:e})=>e??null,oi=({ref:e,ref_key:t,ref_for:o})=>(typeof e=="number"&&(e=""+e),e!=null?ot(e)||wt(e)||Ie(e)?{i:$t,r:e,k:t,f:!!o}:e:null);function n(e,t=null,o=null,i=0,s=null,r=e===L?0:1,a=!1,u=!1){let p={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&ud(t),ref:t&&oi(t),scopeId:Ml,slotScopeIds:null,children:o,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:r,patchFlag:i,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:$t};return u?(di(p,o),r&128&&e.normalize(p)):o&&(p.shapeFlag|=ot(o)?8:16),cs>0&&!a&&Lt&&(p.patchFlag>0||r&6)&&p.patchFlag!==32&&Lt.push(p),p}var _e=Xf;function Xf(e,t=null,o=null,i=0,s=null,r=!1){if((!e||e===Cf)&&(e=Qt),ps(e)){let u=Ro(e,t,!0);return o&&di(u,o),cs>0&&!r&&Lt&&(u.shapeFlag&6?Lt[Lt.indexOf(e)]=u:Lt.push(u)),u.patchFlag=-2,u}if(rh(e)&&(e=e.__vccOpts),t){t=Qf(t);let{class:u,style:p}=t;u&&!ot(u)&&(t.class=T(u)),je(p)&&(ns(p)&&!Se(p)&&(p=dt({},p)),t.style=Ve(p))}let a=ot(e)?1:ad(e)?128:ci(e)?64:je(e)?4:Ie(e)?2:0;return n(e,t,o,i,s,a,r,!0)}function Qf(e){return e?ns(e)||Zl(e)?dt({},e):e:null}function Ro(e,t,o=!1,i=!1){let{props:s,ref:r,patchFlag:a,children:u,transition:p}=e,y=t?Jf(s||{},t):s,h={__v_isVNode:!0,__v_skip:!0,type:e.type,props:y,key:y&&ud(y),ref:t&&t.ref?o&&r?Se(r)?r.concat(oi(t)):[r,oi(t)]:oi(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:u,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==L?a===-1?16:a|16:a,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:p,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Ro(e.ssContent),ssFallback:e.ssFallback&&Ro(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce,cacheIndex:e.cacheIndex};return p&&i&&us(h,p.clone(h)),h}function v(e=" ",t=0){return _e(mi,null,e,t)}function Ee(e,t){let o=_e(ls,null,e);return o.staticCount=t,o}function f(e="",t=!1){return t?(l(),un(Qt,null,e)):_e(Qt,null,e)}function ln(e){return e==null||typeof e=="boolean"?_e(Qt):Se(e)?_e(L,null,e.slice()):ps(e)?bn(e):_e(mi,null,String(e))}function bn(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Ro(e)}function di(e,t){let o=0,{shapeFlag:i}=e;if(t==null)t=null;else if(Se(t))o=16;else if(typeof t=="object")if(i&65){let s=t.default;s&&(s._c&&(s._d=!1),di(e,s()),s._c&&(s._d=!0));return}else{o=32;let s=t._;!s&&!Zl(t)?t._ctx=$t:s===3&&$t&&($t.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(Ie(t)){if(i&65){di(e,{default:t});return}t={default:t,_ctx:$t},o=32}else t=String(t),i&64?(o=16,t=[v(t)]):o=8;e.children=t,e.shapeFlag|=o}function Jf(...e){let t={};for(let o=0;oSt||$t,ui,fs;{let e=Wo(),t=(o,i)=>{let s;return(s=e[o])||(s=e[o]=[]),s.push(i),r=>{s.length>1?s.forEach(a=>a(r)):s[0](r)}};ui=t("__VUE_INSTANCE_SETTERS__",o=>St=o),fs=t("__VUE_SSR_SETTERS__",o=>Do=o)}var ys=e=>{let t=St;return ui(e),e.scope.on(),()=>{e.scope.off(),ui(t)}},El=()=>{St&&St.scope.off(),ui(null)};function pd(e){return e.vnode.shapeFlag&4}var Do=!1;function th(e,t=!1,o=!1){t&&fs(t);let{props:i,children:s}=e.vnode,r=pd(e);Lf(e,i,r,t),zf(e,s,o||t);let a=r?nh(e,t):void 0;return t&&fs(!1),a}function nh(e,t){let o=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Ef);let{setup:i}=o;if(i){Kt();let s=e.setupContext=i.length>1?sh(e):null,r=ys(e),a=hs(i,e,0,[e.props,s]),u=Zi(a);if(Yt(),r(),(u||e.sp)&&!rs(e)&&Ar(e),u){if(a.then(El,El),t)return a.then(p=>{fs(!0);try{Sl(e,p,t)}finally{fs(!1)}}).catch(p=>{ms(p,e,0)});e.asyncDep=a}else Sl(e,a,t)}else fd(e,t)}function Sl(e,t,o){Ie(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:je(t)&&(e.setupState=ti(t)),fd(e,o)}var Nl,Rl;function fd(e,t,o){let i=e.type;if(!e.render){if(!t&&Nl&&!i.render){let s=i.template||Tr(e).template;if(s){let{isCustomElement:r,compilerOptions:a}=e.appContext.config,{delimiters:u,compilerOptions:p}=i,y=dt(dt({isCustomElement:r,delimiters:u},a),p);i.render=Nl(s,y)}}e.render=i.render||Ot,Rl&&Rl(e)}{let s=ys(e);Kt();try{Sf(e)}finally{Yt(),s()}}}var oh={get(e,t){return Ct(e,"get",""),e[t]}};function sh(e){let t=o=>{e.exposed=o||{}};return{attrs:new Proxy(e.attrs,oh),slots:e.slots,emit:e.emit,expose:t}}function gi(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(ti(Eo(e.exposed)),{get(t,o){if(o in t)return t[o];if(o in as)return as[o](e)},has(t,o){return o in t||o in as}})):e.proxy}function ih(e,t=!0){return Ie(e)?e.displayName||e.name:e.name||t&&e.__name}function rh(e){return Ie(e)&&"__vccOpts"in e}var Nt=(e,t)=>dl(e,t,Do);function Pe(e,t,o){try{li(-1);let i=arguments.length;return i===2?je(t)&&!Se(t)?ps(t)?_e(e,null,[t]):_e(e,t):_e(e,null,t):(i>3?o=Array.prototype.slice.call(arguments,2):i===3&&ps(o)&&(o=[o]),_e(e,t,o))}finally{li(1)}}var ah="3.5.44";var qr,hd=typeof window<"u"&&window.trustedTypes;if(hd)try{qr=hd.createPolicy("vue",{createHTML:e=>e})}catch{}var Rd=qr?e=>qr.createHTML(e):e=>e,lh="http://www.w3.org/2000/svg",dh="http://www.w3.org/1998/Math/MathML",kn=typeof document<"u"?document:null,md=kn&&kn.createElement("template"),uh={insert:(e,t,o)=>{t.insertBefore(e,o||null)},remove:e=>{let t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,o,i)=>{let s=t==="svg"?kn.createElementNS(lh,e):t==="mathml"?kn.createElementNS(dh,e):o?kn.createElement(e,{is:o}):kn.createElement(e);return e==="select"&&i&&i.multiple!=null&&s.setAttribute("multiple",i.multiple),s},createText:e=>kn.createTextNode(e),createComment:e=>kn.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>kn.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,o,i,s,r){let a=o?o.previousSibling:t.lastChild;if(s&&(s===r||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),o),!(s===r||!(s=s.nextSibling)););else{md.innerHTML=Rd(i==="svg"?`${e}`:i==="mathml"?`${e}`:e);let u=md.content;if(i==="svg"||i==="mathml"){let p=u.firstChild;for(;p.firstChild;)u.appendChild(p.firstChild);u.removeChild(p)}t.insertBefore(u,o)}return[a?a.nextSibling:t.firstChild,o?o.previousSibling:t.lastChild]}};var ch=Symbol("_vtc");function ph(e,t,o){let i=e[ch];i&&(t=(t?[t,...i]:[...i]).join(" ")),t==null?e.removeAttribute("class"):o?e.setAttribute("class",t):e.className=t}var bi=Symbol("_vod"),Dd=Symbol("_vsh"),x={name:"show",beforeMount(e,{value:t},{transition:o}){e[bi]=e.style.display==="none"?"":e.style.display,o&&t?o.beforeEnter(e):bs(e,t)},mounted(e,{value:t},{transition:o}){o&&t&&o.enter(e)},updated(e,{value:t,oldValue:o},{transition:i}){!t!=!o&&(i?t?(i.beforeEnter(e),bs(e,!0),i.enter(e)):i.leave(e,()=>{bs(e,!1)}):bs(e,t))},beforeUnmount(e,{value:t}){bs(e,t)}};function bs(e,t){e.style.display=t?e[bi]:"none",e[Dd]=!t}var fh=Symbol("");var hh=/(?:^|;)\s*display\s*:/;function mh(e,t,o){let i=e.style,s=ot(o),r=!1;if(o&&!s){if(t)if(ot(t))for(let a of t.split(";")){let u=a.slice(0,a.indexOf(":")).trim();o[u]==null&&ws(i,u,"")}else for(let a in t)o[a]==null&&ws(i,a,"");for(let a in o){a==="display"&&(r=!0);let u=o[a];u!=null?vh(e,a,!ot(t)&&t?t[a]:void 0,u)||ws(i,a,u):ws(i,a,"")}}else if(s){if(t!==o){let a=i[fh];a&&(o+=";"+a),i.cssText=o,r=hh.test(o)}}else t&&e.removeAttribute("style");bi in e&&((!s||t!==o)&&(e[bi]=r?i.display:""),e[Dd]&&(i.display="none"))}var vi=/\s*!important$/;function ws(e,t,o){if(Se(o))o.forEach(i=>ws(e,t,i));else if(o==null&&(o=""),t.startsWith("--"))vi.test(o)?e.setProperty(t,o.replace(vi,""),"important"):e.setProperty(t,o);else{let i=gh(e,t);vi.test(o)?e.setProperty(en(i),o.replace(vi,""),"important"):e[i]=o}}var gd=["Webkit","Moz","ms"],Mr={};function gh(e,t){let o=Mr[t];if(o)return o;let i=mt(t);if(i!=="filter"&&i in e)return Mr[t]=i;i=Hn(i);for(let s=0;s_r||(Eh.then(()=>_r=0),_r=Date.now());function Nh(e,t){let o=i=>{if(!i._vts)i._vts=Date.now();else if(i._vts<=o.attached)return;let s=o.value;if(Se(s)){let r=i.stopImmediatePropagation;i.stopImmediatePropagation=()=>{r.call(i),i._stopped=!0};let a=s.slice(),u=[i];for(let p=0;pe.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Rh=(e,t,o,i,s,r)=>{let a=s==="svg";t==="class"?ph(e,i,a):t==="style"?mh(e,o,i):go(t)?vo(t)||bh(e,t,o,i,r):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Dh(e,t,i,a))?(bd(e,t,i),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&yd(e,t,i,a,r,t!=="value")):e._isVueCE&&(Ah(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!ot(i)))?bd(e,mt(t),i,r,t):(t==="true-value"?e._trueValue=i:t==="false-value"&&(e._falseValue=i),yd(e,t,i,a))};function Dh(e,t,o,i){if(i)return!!(t==="innerHTML"||t==="textContent"||t in e&&kd(t)&&Ie(o));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){let s=e.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return!1}return kd(t)&&ot(o)?!1:t in e}function Ah(e,t){let o=e._def.props;if(!o)return!1;let i=mt(t);return Array.isArray(o)?o.some(s=>mt(s)===i):Object.keys(o).some(s=>mt(s)===i)}var Ao=e=>{let t=e.props["onUpdate:modelValue"]||!1;return Se(t)?o=>bo(t,o):t};function Th(e){e.target.composing=!0}function Cd(e){let t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}var cn=Symbol("_assign"),yi=Symbol("_initialValue");function Vr(e,t,o){return t&&(e=e.trim()),o&&(e=wo(e)),e}var ut={created(e,{modifiers:{lazy:t,trim:o,number:i}},s){e.parentNode&&(e.type==="text"?e[yi]=e.defaultValue.replace(/[\r\n]/g,""):e.type==="textarea"&&(e[yi]=e.defaultValue.replace(/\r\n?/g,` -`))),e[cn]=Ao(s);let r=i||s.props&&s.props.type==="number";Tn(e,t?"change":"input",a=>{a.target.composing||e[cn](Vr(e.value,o,r))}),(o||r)&&Tn(e,"change",()=>{e.value=Vr(e.value,o,r)}),t||(Tn(e,"compositionstart",Th),Tn(e,"compositionend",Cd),Tn(e,"change",Cd))},mounted(e,{value:t,modifiers:{trim:o,number:i}}){let s=t??"",r=e[yi];delete e[yi],r!==void 0&&(e.type==="text"||e.type==="textarea")&&e.value!==r?e[cn](Vr(e.value,o,i)):e.value=s},beforeUpdate(e,{value:t,oldValue:o,modifiers:{lazy:i,trim:s,number:r}},a){if(e[cn]=Ao(a),e.composing)return;let u=(r||e.type==="number")&&!/^0\d/.test(e.value)?wo(e.value):e.value,p=t??"";if(u===p)return;let y=e.getRootNode();(y instanceof Document||y instanceof ShadowRoot)&&y.activeElement===e&&e.type!=="range"&&(i&&t===o||s&&e.value.trim()===p)||(e.value=p)}},$r={deep:!0,created(e,t,o){e[cn]=Ao(o),Tn(e,"change",()=>{let i=e._modelValue,s=ks(e),r=e.checked,a=e[cn];if(Se(i)){let u=Ws(i,s),p=u!==-1;if(r&&!p)a(i.concat(s));else if(!r&&p){let y=[...i];y.splice(u,1),a(y)}}else if(jt(i)){let u=new Set(i);r?u.add(s):u.delete(s),a(u)}else a(Ad(e,r))})},mounted:Ed,beforeUpdate(e,t,o){e[cn]=Ao(o),Ed(e,t,o)}};function Ed(e,{value:t,oldValue:o},i){e._modelValue=t;let s;if(Se(t))s=Ws(t,i.props.value)>-1;else if(jt(t))s=t.has(i.props.value);else{if(t===o)return;s=Gt(t,Ad(e,!0))}e.checked!==s&&(e.checked=s)}var pn={deep:!0,created(e,{value:t,modifiers:{number:o}},i){e._modelValue=t,Tn(e,"change",()=>{let s=Array.prototype.filter.call(e.options,p=>p.selected).map(p=>o?wo(ks(p)):ks(p)),r=e.multiple,a=r?jt(e._modelValue)?new Set(s):s:s[0],u=e._pendingValue=[r,r?Se(a)?s.slice():s:a];try{e[cn](a)}finally{Je(()=>{e._pendingValue===u&&(e._pendingValue=void 0)})}}),e[cn]=Ao(i)},mounted(e,{value:t}){Sd(e,t)},beforeUpdate(e,{value:t},o){e._modelValue=t,e[cn]=Ao(o)},updated(e,{value:t}){let o=e._pendingValue;e._pendingValue=void 0,(!o||o[0]!==e.multiple||!Ph(t,o[1],o[0]))&&Sd(e,t)}};function Ph(e,t,o){if(!o)return Gt(e,t);if(Se(e))return Gt(e,t);if(jt(e)){if(e.size!==t.length)return!1;for(let i of t)if(!e.has(i))return!1;return!0}return!1}function Sd(e,t){let o=e.multiple,i=Se(t);if(!(o&&!i&&!jt(t))){for(let s=0,r=e.options.length;sString(y)===String(u)):a.selected=Ws(t,u)>-1}else a.selected=t.has(u);else if(Gt(ks(a),t)){e.selectedIndex!==s&&(e.selectedIndex=s);return}}!o&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function ks(e){return"_value"in e?e._value:e.value}function Ad(e,t){let o=t?"_trueValue":"_falseValue";return o in e?e[o]:t}var Oh=["ctrl","shift","alt","meta"],Ih={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>Oh.some(o=>e[`${o}Key`]&&!t.includes(o))},ue=(e,t)=>{if(!e)return e;let o=e._withMods||(e._withMods={}),i=t.join(".");return o[i]||(o[i]=((s,...r)=>{for(let a=0;a{let o=e._withKeys||(e._withKeys={}),i=t.join(".");return o[i]||(o[i]=(s=>{if(!("key"in s))return;let r=en(s.key);if(t.some(a=>a===r||Mh[a]===r))return e(s)}))},_h=dt({patchProp:Rh},uh),Nd;function Vh(){return Nd||(Nd=sd(_h))}var Td=((...e)=>{let t=Vh().createApp(...e),{mount:o}=t;return t.mount=i=>{let s=$h(i);if(!s)return;let r=t._component;!Ie(r)&&!r.render&&!r.template&&(r.template=s.innerHTML),s.nodeType===1&&(s.textContent="");let a=o(s,!1,qh(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),a},t});function qh(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function $h(e){return ot(e)?document.querySelector(e):e}var eo=typeof document<"u";function Od(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function Lh(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&Od(e.default)}var We=Object.assign;function wi(e,t){let o={};for(let i in t){let s=t[i];o[i]=Ht(s)?s.map(e):e(s)}return o}var Po=()=>{},Ht=Array.isArray;function Fr(e,t){let o={};for(let i in e)o[i]=i in t?t[i]:e[i];return o}var Id=/#/g,Uh=/&/g,Fh=/\//g,Bh=/=/g,zh=/\?/g,Md=/\+/g,Hh=/%5B/g,jh=/%5D/g,_d=/%5E/g,Gh=/%60/g,Vd=/%7B/g,Wh=/%7C/g,qd=/%7D/g,Kh=/%20/g;function Br(e){return e==null?"":encodeURI(""+e).replace(Wh,"|").replace(Hh,"[").replace(jh,"]")}function $d(e){return Br(e).replace(Vd,"{").replace(qd,"}").replace(_d,"^")}function Lr(e){return Br(e).replace(Md,"%2B").replace(Kh,"+").replace(Id,"%23").replace(Uh,"%26").replace(Gh,"`").replace(Vd,"{").replace(qd,"}").replace(_d,"^")}function Yh(e){return Lr(e).replace(Bh,"%3D")}function Xh(e){return Br(e).replace(Id,"%23").replace(zh,"%3F")}function Ld(e){return Xh(e).replace(Fh,"%2F")}function To(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}var Qh=/\/$/,Jh=e=>e.replace(Qh,"");function ki(e,t,o="/"){let i,s={},r="",a="",u=t.indexOf("#"),p=t.indexOf("?");return p=u>=0&&p>u?-1:p,p>=0&&(i=t.slice(0,p),r=t.slice(p,u>0?u:t.length),s=e(r.slice(1))),u>=0&&(i=i||t.slice(0,u),a=t.slice(u,t.length)),i=xh(i??t,o),{fullPath:i+r+a,path:i,query:s,hash:To(a)}}function Ud(e,t){let o=t.query?e(t.query):"";return t.path+(o&&"?")+o+(t.hash||"")}function zr(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function Fd(e,t,o){let i=t.matched.length-1,s=o.matched.length-1;return i>-1&&i===s&&Zn(t.matched[i],o.matched[s])&&Hr(t.params,o.params)&&e(t.query)===e(o.query)&&t.hash===o.hash}function Zn(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Hr(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var o in e)if(!Zh(e[o],t[o]))return!1;return!0}function Zh(e,t){return Ht(e)?Pd(e,t):Ht(t)?Pd(t,e):e?.valueOf()===t?.valueOf()}function Pd(e,t){return Ht(t)?e.length===t.length&&e.every((o,i)=>o===t[i]):e.length===1&&e[0]===t}function xh(e,t){if(e.startsWith("/"))return e;if(!e)return t;let o=t.split("/"),i=e.split("/"),s=i[i.length-1];(s===".."||s===".")&&i.push("");let r=o.length-1,a,u;for(a=0;a1&&r--;else break;return o.slice(0,r).join("/")+"/"+i.slice(a).join("/")}var En={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},Ci=(function(e){return e.pop="pop",e.push="push",e})({}),Ei=(function(e){return e.back="back",e.forward="forward",e.unknown="",e})({});function Bd(e){if(!e)if(eo){let t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),Jh(e)}var em=/^[^#]+#/;function zd(e,t){return e.replace(em,"#")+t}function tm(e,t){let o=document.documentElement.getBoundingClientRect(),i=e.getBoundingClientRect();return{behavior:t.behavior,left:i.left-o.left-(t.left||0),top:i.top-o.top-(t.top||0)}}var Cs=()=>({left:window.scrollX,top:window.scrollY});function Hd(e){let t;if("el"in e){let o=e.el,i=typeof o=="string"&&o.startsWith("#"),s=typeof o=="string"?i?document.getElementById(o.slice(1)):document.querySelector(o):o;if(!s)return;t=tm(s,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function jr(e,t){return(history.state?history.state.position-t:-1)+e}var Ur=new Map;function jd(e,t){Ur.set(e,t)}function Gd(e){let t=Ur.get(e);return Ur.delete(e),t}function nm(e){return typeof e=="string"||e&&typeof e=="object"}function Gr(e){return typeof e=="string"||typeof e=="symbol"}var at=(function(e){return e[e.MATCHER_NOT_FOUND=1]="MATCHER_NOT_FOUND",e[e.NAVIGATION_GUARD_REDIRECT=2]="NAVIGATION_GUARD_REDIRECT",e[e.NAVIGATION_ABORTED=4]="NAVIGATION_ABORTED",e[e.NAVIGATION_CANCELLED=8]="NAVIGATION_CANCELLED",e[e.NAVIGATION_DUPLICATED=16]="NAVIGATION_DUPLICATED",e})({}),Wd=Symbol("");var yX={[at.MATCHER_NOT_FOUND]({location:e,currentLocation:t}){return`No match for +"use strict";(()=>{var Oa=Object.defineProperty;var Ia=e=>{throw TypeError(e)};var Ep=(e,t,o)=>t in e?Oa(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o;var Sp=(e,t)=>{for(var o in t)Oa(e,o,{get:t[o],enumerable:!0})};var Je=(e,t,o)=>Ep(e,typeof t!="symbol"?t+"":t,o),Yi=(e,t,o)=>t.has(e)||Ia("Cannot "+o);var ae=(e,t,o)=>(Yi(e,t,"read from private field"),o?o.call(e):t.get(e)),qe=(e,t,o)=>t.has(e)?Ia("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,o),Ue=(e,t,o,i)=>(Yi(e,t,"write to private field"),i?i.call(e,o):t.set(e,o),o),$e=(e,t,o)=>(Yi(e,t,"access private method"),o);var Ma=(e,t,o,i)=>({set _(s){Ue(e,t,s,o)},get _(){return ae(e,t,i)}});var ve=["abap","abc","actionscript","ada","alda","apache_conf","apex","applescript","aql","asciidoc","asl","assembly_x86","autohotkey","batchfile","c9search","c_cpp","cirru","clojure","cobol","coffee","coldfusion","crystal","csharp","csound_document","csound_orchestra","csound_score","csp","css","curly","d","dart","diff","django","dockerfile","dot","drools","edifact","eiffel","ejs","elixir","elm","erlang","forth","fortran","fsharp","fsl","ftl","gcode","gherkin","gitignore","glsl","gobstones","golang","graphqlschema","groovy","haml","handlebars","haskell","haskell_cabal","haxe","hjson","html","html_elixir","html_ruby","ini","io","jack","jade","java","javascript","json","json5","jsoniq","jsp","jssm","jsx","julia","kotlin","latex","less","liquid","lisp","livescript","logiql","logtalk","lsl","lua","luapage","lucene","makefile","markdown","mask","matlab","maze","mediawiki","mel","mixal","mushcode","mysql","nginx","nim","nix","nsis","nunjucks","objectivec","ocaml","pascal","perl","perl6","pgsql","php","php_laravel_blade","pig","plain_text","powershell","praat","prisma","prolog","properties","protobuf","puppet","python","qml","r","razor","rdoc","red","redshift","rhtml","rst","ruby","rust","sass","scad","scala","scheme","scss","sh","sjs","slim","smarty","snippets","soy_template","space","sparql","sql","sqlserver","stylus","svg","swift","tcl","terraform","tex","text","textile","toml","tsx","turtle","twig","typescript","vala","vbscript","velocity","verilog","vhdl","visualforce","wollok","xml","xquery","yaml","zeek"];var ye={markdown:"/script/markdown.6c8dfb7b1d.min.js",notebook:"/script/notebook.c3144c18ae.min.js",org:"/script/org.f61f262915.min.js",pdf:"/script/pdf.4d9cc6ff49.min.js",editor:"/script/editor.4f142d3adc.min.js"};function _a(e){let t=e.location.hash.slice(1);if(e.history.replaceState(null,"","/review-link"),t.length>2048)return null;let o=new URLSearchParams(t);if([...o.keys()].length!==3||[...o.keys()].some(a=>!["clientId","intentId","token"].includes(a)))return null;let i=o.get("clientId"),s=o.get("intentId"),r=o.get("token");return!/^[a-f0-9]{32}$/.test(i||"")||!/^[a-f0-9]{32}$/.test(s||"")||!/^[a-f0-9]{64}$/.test(r||"")?null:{contract:"4open.artifacts/1",clientId:i,intentId:s,token:r}}function Va(e,t){let{http:o,promises:i,window:s}=t,r=t.takeReviewHandoff(),a=r?{clientId:r.clientId,intentId:r.intentId}:null,u,p,y,h,b,m=!0,w,A=i.defer(),S=()=>[...s.crypto.getRandomValues(new Uint8Array(16))].map(V=>V.toString(16).padStart(2,"0")).join("");Object.assign(e,{repositoryId:"",handoffEnabled:!1,busy:!1,preview:null,acceptAccess:!1,acceptRetention:!1,uncertain:!1,saved:!1,expired:!1,error:r?"":"Open a new artifact link from your submission. This link is missing or invalid."});let R=()=>m&&e.user?.username===b;function g(){m=!1,r=u=p=void 0,A.resolve(),s.clearTimeout(w)}e.on("dispose",g),e.on("routeLeave",g),e.watch(()=>e.user?.username,V=>{!b&&V?b=V:b&&V!==b&&(g(),e.preview=null,e.repositoryId="",e.busy=!1,e.saved=!1,e.handoffEnabled=!1,e.error="Your account changed. Open a new artifact link from your submission.")});let C=()=>({timeout:A.promise,headers:{"Content-Type":"application/json","X-Review-CSRF":p}}),M=V=>V?.status===404?"Artifact linking is not available on this server.":V?.status===401?"Sign in, then open a new artifact link from your submission.":V?.status===403?"This account cannot approve this repository or this link.":"The request could not be completed. You can retry from this page.";e.loadPreview=async()=>{if(!m||!r||e.busy||e.uncertain||e.saved||!e.user?.username)return;b=e.user.username;let V=e.repositoryId.trim();if(!/^[A-Za-z0-9_-]{3,128}$/.test(V)){e.error="Enter the anonymous repository ID from its URL.";return}e.busy=!0,e.error="",e.preview=null,u=void 0,e.acceptAccess=e.acceptRetention=!1,e.expired=!1,s.clearTimeout(w),h||(h=S());try{let q=(await o.get("/api/review-consent/csrf",{timeout:A.promise})).data;if(!R())return;if(p=q.csrf,e.handoffEnabled=q.handoffEnabled===!0,!/^[a-f0-9]{64}$/.test(p||""))throw new Error("invalid_csrf");let j=(await o.post("/api/review-consent/preview",{repositoryId:V,intent:{...r,requestId:h}},C())).data;if(!R())return;if(!j||typeof j.ticket!="string"||!j.ticket||j.ticket.length>8192||typeof j.repositoryName!="string"||!["restricted-review","anonymous-link"].includes(j.policy?.access)||!Number.isSafeInteger(j.policy.version)||!Number.isFinite(Date.parse(j.policy.retainUntil))||!Number.isFinite(Date.parse(j.expiresAt))||Date.parse(j.expiresAt)<=Date.now()||Date.parse(j.expiresAt)>Date.now()+6e5)throw new Error("invalid_preview");u=j.ticket,y=S(),e.preview={repositoryName:j.repositoryName,policy:{...j.policy},expiresAt:j.expiresAt},w=s.setTimeout(()=>{m&&(e.expired=!0)},Math.max(0,Date.parse(j.expiresAt)-Date.now()))}catch(q){R()&&(e.error=M(q))}finally{R()&&(e.busy=!1)}},e.confirmConsent=async()=>{if(!(!R()||e.busy||e.saved||!u||!e.acceptAccess||!e.acceptRetention)){if(Date.parse(e.preview.expiresAt)<=Date.now()){e.expired=!0;return}e.busy=!0,e.error="";try{let V=(await o.post("/api/review-consent/confirm",{ticket:u,requestId:y,acceptAccess:!0,acceptRetention:!0},C())).data;if(!R())return;if(V?.requestId!==y||!Number.isFinite(Date.parse(V.confirmedAt)))throw new Error("invalid_receipt");e.saved=!0,e.uncertain=!1,r=void 0,e.handoffEnabled||(u=void 0)}catch{R()&&(e.uncertain=!0,e.error="The confirmation was not verified. Retry with the same approval, or return to your submission to check its status.")}finally{R()&&(e.busy=!1)}}},e.continueReview=async()=>{if(!R()||e.busy||!e.saved||!e.handoffEnabled||!u||!a)return;e.busy=!0,e.error="";let V,q=()=>{V?.remove(),s.removeEventListener("securitypolicyviolation",j)},j=ne=>{ne.violatedDirective?.startsWith("form-action")&&(q(),R()&&(e.busy=!1,e.error="The return address was blocked. Return to your submission to check the artifact status."))};try{let ne=(await o.post("/api/review-consent/handoff",{ticket:u},C())).data;if(!R())return;let Y=ne?.completion,oe=new URL(ne?.callbackUrl);if(!Y||Object.keys(Y).sort().join(",")!=="clientId,code,contract,expiresAt,intentId"||Y.contract!=="4open.artifacts/1"||Y.clientId!==a.clientId||Y.intentId!==a.intentId||!/^[a-f0-9]{64}$/.test(Y.code||"")||!Number.isFinite(Date.parse(Y.expiresAt))||Date.parse(Y.expiresAt)<=Date.now()||Date.parse(Y.expiresAt)>Date.now()+3e5||oe.protocol!=="https:"||oe.href!==ne.callbackUrl||oe.username||oe.password||ne.callbackUrl.includes("?")||ne.callbackUrl.includes("#"))throw new Error("invalid_handoff");V=s.document.createElement("form"),V.method="POST",V.action=oe.href;let Ce=s.document.createElement("input");Ce.type="hidden",Ce.name="completion",Ce.value=JSON.stringify(Y),V.appendChild(Ce),s.document.body.appendChild(V),s.addEventListener("securitypolicyviolation",j),e.on("dispose",q),V.submit()}catch{q(),R()&&(e.busy=!1,e.error="The return to review could not be prepared. Retry from this page, or return to your submission to check its status.")}}}var Ls=new Map,Dp=ye;function Bn(e){if(!Ls.has(e)){let t=document.createElement("script");t.src=Dp[e];let o=new Promise((i,s)=>{t.onload=i,t.onerror=()=>{Ls.delete(e),t.remove(),s(new Error(`Unable to load ${e}. Please retry.`))}});Ls.set(e,o),document.head.appendChild(t)}return Ls.get(e)}async function Us(){await Bn("editor"),ace.config.set("basePath","/script/external/ace/")}function ho(e){let t=Object.create(null);for(let o of e.split(","))t[o]=1;return o=>o in t}var Ke={},Rn=[],Pt=()=>{},Qi=()=>!1,mo=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),go=e=>e.startsWith("onUpdate:"),at=Object.assign,zo=(e,t)=>{let o=e.indexOf(t);o>-1&&e.splice(o,1)},Ap=Object.prototype.hasOwnProperty,Be=(e,t)=>Ap.call(e,t),Re=Array.isArray,hn=e=>Ho(e)==="[object Map]",Ht=e=>Ho(e)==="[object Set]",qa=e=>Ho(e)==="[object Date]";var Ie=e=>typeof e=="function",nt=e=>typeof e=="string",_t=e=>typeof e=="symbol",Ge=e=>e!==null&&typeof e=="object",Ji=e=>(Ge(e)||Ie(e))&&Ie(e.then)&&Ie(e.catch),Fa=Object.prototype.toString,Ho=e=>Fa.call(e),Zi=e=>Ho(e).slice(8,-1),Fs=e=>Ho(e)==="[object Object]",Bs=e=>nt(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,vo=ho(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted");var zs=e=>{let t=Object.create(null);return(o=>t[o]||(t[o]=e(o)))},Tp=/-\w/g,ft=zs(e=>e.replace(Tp,t=>t.slice(1).toUpperCase())),Pp=/\B([A-Z])/g,xt=zs(e=>e.replace(Pp,"-$1").toLowerCase()),zn=zs(e=>e.charAt(0).toUpperCase()+e.slice(1)),jo=zs(e=>e?`on${zn(e)}`:""),Ut=(e,t)=>!Object.is(e,t),yo=(e,...t)=>{for(let o=0;o{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:i,value:o})},bo=e=>{let t=parseFloat(e);return isNaN(t)?e:t};var $a,Go=()=>$a||($a=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Ve(e){if(Re(e)){let t={};for(let o=0;oo.startsWith("/*")?"":o).split(Op).forEach(o=>{if(o){let i=o.split(Ip);i.length>1&&(t[i[0].trim()]=i[1].trim())}}),t}function T(e){let t="";if(nt(e))t=e;else if(Re(e))for(let o=0;ojt(o,t))}var Ha=e=>!!(e&&e.__v_isRef===!0),c=e=>nt(e)?e:e==null?"":Re(e)||Ge(e)&&(e.toString===Fa||!Ie(e.toString))?Ha(e)?c(e.value):JSON.stringify(e,ja,2):String(e),ja=(e,t)=>Ha(t)?ja(e,t.value):hn(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((o,[i,s],r)=>(o[Xi(i,r)+" =>"]=s,o),{})}:Ht(t)?{[`Set(${t.size})`]:[...t.values()].map(o=>Xi(o))}:_t(t)?Xi(t):Ge(t)&&!Re(t)&&!Fs(t)?String(t):t,Xi=(e,t="")=>{var o;return _t(e)?`Symbol(${(o=e.description)!=null?o:t})`:e};function Lp(e,...t){console.warn(`[Vue warn] ${e}`,...t)}var ht,Xo=class{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&ht&&(ht.active?(this.parent=ht,this.index=(ht.scopes||(ht.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,o;if(this.scopes){let i=this.scopes.slice();for(t=0,o=i.length;t0&&--this._on===0){if(ht===this)ht=this.prevScope;else{let t=ht;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let o,i;for(o=0,i=this.effects.length;o0)return;if(Yo){let t=Yo;for(Yo=void 0;t;){let o=t.next;t.next=void 0,t.flags&=-9,t=o}}let e;for(;Ko;){let t=Ko;for(Ko=void 0;t;){let o=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(i){e||(e=i)}t=o}}if(e)throw e}function Ja(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Za(e){let t,o=e.depsTail,i=o;for(;i;){let s=i.prevDep;i.version===-1?(i===o&&(o=s),pr(i),Up(i)):t=i,i.dep.activeLink=i.prevActiveLink,i.prevActiveLink=void 0,i=s}e.deps=t,e.depsTail=o}function nr(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(xa(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function xa(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Qo)||(e.globalVersion=Qo,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!nr(e))))return;e.flags|=2;let t=e.dep,o=Ze,i=Gt;Ze=e,Gt=!0;try{Ja(e);let s=e.fn(e._value);(t.version===0||Ut(s,e._value))&&(e.flags|=128,e._value=s,t.version++)}catch(s){throw t.version++,s}finally{Ze=o,Gt=i,Za(e),e.flags&=-3}}function pr(e,t=!1){let{dep:o,prevSub:i,nextSub:s}=e;if(i&&(i.nextSub=s,e.prevSub=void 0),s&&(s.prevSub=i,e.nextSub=void 0),o.subs===e&&(o.subs=i,!i&&o.computed)){o.computed.flags&=-5;for(let r=o.computed.deps;r;r=r.nextDep)pr(r,!0)}!t&&!--o.sc&&o.map&&o.map.delete(o.key)}function Up(e){let{prevDep:t,nextDep:o}=e;t&&(t.nextDep=o,e.prevDep=void 0),o&&(o.prevDep=t,e.nextDep=void 0)}var Gt=!0,el=[];function Wt(){el.push(Gt),Gt=!1}function Kt(){let e=el.pop();Gt=e===void 0?!0:e}function Ga(e){let{cleanup:t}=e;if(e.cleanup=void 0,t){let o=Ze;Ze=void 0;try{t()}finally{Ze=o}}}var Qo=0,or=class{constructor(t,o){this.sub=t,this.dep=o,this.version=o.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}},Jo=class{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!Ze||!Gt||Ze===this.computed)return;let o=this.activeLink;if(o===void 0||o.sub!==Ze)o=this.activeLink=new or(Ze,this),Ze.deps?(o.prevDep=Ze.depsTail,Ze.depsTail.nextDep=o,Ze.depsTail=o):Ze.deps=Ze.depsTail=o,tl(o);else if(o.version===-1&&(o.version=this.version,o.nextDep)){let i=o.nextDep;i.prevDep=o.prevDep,o.prevDep&&(o.prevDep.nextDep=i),o.prevDep=Ze.depsTail,o.nextDep=void 0,Ze.depsTail.nextDep=o,Ze.depsTail=o,Ze.deps===o&&(Ze.deps=i)}return o}trigger(t){this.version++,Qo++,this.notify(t)}notify(t){ur();try{for(let o=this.subs;o;o=o.prevSub)o.sub.notify()&&o.sub.dep.notify()}finally{cr()}}};function tl(e){if(e.dep.sc++,e.sub.flags&4){let t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let i=t.deps;i;i=i.nextDep)tl(i)}let o=e.dep.subs;o!==e&&(e.prevSub=o,o&&(o.nextSub=e)),e.dep.subs=e}}var sr=new WeakMap,jn=Symbol(""),ir=Symbol(""),Zo=Symbol("");function Ct(e,t,o){if(Gt&&Ze){let i=sr.get(e);i||sr.set(e,i=new Map);let s=i.get(o);s||(i.set(o,s=new Jo),s.map=i,s.key=o),s.track()}}function tn(e,t,o,i,s,r){let a=sr.get(e);if(!a){Qo++;return}let u=p=>{p&&p.trigger()};if(ur(),t==="clear")a.forEach(u);else{let p=Re(e),y=p&&Bs(o);if(p&&o==="length"){let h=Number(i);a.forEach((b,m)=>{(m==="length"||m===Zo||!_t(m)&&m>=h)&&u(b)})}else switch((o!==void 0||a.has(void 0))&&u(a.get(o)),y&&u(a.get(Zo)),t){case"add":p?y&&u(a.get("length")):(u(a.get(jn)),hn(e)&&u(a.get(ir)));break;case"delete":p||(u(a.get(jn)),hn(e)&&u(a.get(ir)));break;case"set":hn(e)&&u(a.get(jn));break}}cr()}function wo(e){let t=ze(e);return t===e||(Ct(t,"iterate",Zo),Ot(e))?t:Ft(e)?on(e)?t.map(o=>gn(Vt(o))):t.map(gn):t.map(Vt)}function xo(e){return Ct(e=ze(e),"iterate",Zo),e}function en(e,t){return Ft(e)?gn(on(e)?Vt(t):t):Vt(t)}var Fp={__proto__:null,[Symbol.iterator](){return er(this,Symbol.iterator,e=>en(this,e))},concat(...e){return wo(this).concat(...e.map(t=>Re(t)?wo(t):t))},entries(){return er(this,"entries",e=>(e[1]=en(this,e[1]),e))},every(e,t){return mn(this,"every",e,t,void 0,arguments)},filter(e,t){return mn(this,"filter",e,t,o=>o.map(i=>en(this,i)),arguments)},find(e,t){return mn(this,"find",e,t,o=>en(this,o),arguments)},findIndex(e,t){return mn(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return mn(this,"findLast",e,t,o=>en(this,o),arguments)},findLastIndex(e,t){return mn(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return mn(this,"forEach",e,t,void 0,arguments)},includes(...e){return tr(this,"includes",e)},indexOf(...e){return tr(this,"indexOf",e)},join(e){return wo(this).join(e)},lastIndexOf(...e){return tr(this,"lastIndexOf",e)},map(e,t){return mn(this,"map",e,t,void 0,arguments)},pop(){return Wo(this,"pop")},push(...e){return Wo(this,"push",e)},reduce(e,...t){return Ka(this,"reduce",e,t)},reduceRight(e,...t){return Ka(this,"reduceRight",e,t)},shift(){return Wo(this,"shift")},some(e,t){return mn(this,"some",e,t,void 0,arguments)},splice(...e){return Wo(this,"splice",e)},toReversed(){return wo(this).toReversed()},toSorted(e){return wo(this).toSorted(e)},toSpliced(...e){return wo(this).toSpliced(...e)},unshift(...e){return Wo(this,"unshift",e)},values(){return er(this,"values",e=>en(this,e))}};function er(e,t,o){let i=xo(e),s=i[t],r=s.call(i);if(i!==e&&!Ot(e)){if(r[Symbol.toStringTag]==="Array Iterator"){let a=Object.create(Object.getPrototypeOf(r));return a.next=()=>Wa(r.next(),o),s!==nl[t]&&Object.defineProperties(a,{return:{get(){let u=r.return;return typeof u=="function"?u.bind(r):u}},throw:{get(){let u=r.throw;return typeof u=="function"?u.bind(r):u}}}),a}r._next=r.next,r.next=()=>Wa(r._next(),o)}return r}function Wa(e,t){return e.done||(e.value=t(e.value)),e}var nl=Array.prototype;function mn(e,t,o,i,s,r){let a=xo(e),u=a!==e&&!Ot(e),p=a[t];if(p!==nl[t]){let b=p.apply(e,r);return u?Vt(b):b}let y=o;a!==e&&(u?y=function(b,m){return o.call(this,en(e,b),m,e)}:o.length>2&&(y=function(b,m){return o.call(this,b,m,e)}));let h=p.call(a,y,i);return u&&s?s(h):h}function Ka(e,t,o,i){let s=xo(e),r=s!==e&&!Ot(e),a=o,u=!1;s!==e&&(r?(u=i.length===0,a=function(y,h,b){return u&&(u=!1,y=en(e,y)),o.call(this,y,en(e,h),b,e)}):o.length>3&&(a=function(y,h,b){return o.call(this,y,h,b,e)}));let p=s[t](a,...i);return u?en(e,p):p}function tr(e,t,o){let i=ze(e);Ct(i,"iterate",Zo);let s=i[t](...o);return(s===-1||s===!1)&&ts(o[0])?(o[0]=ze(o[0]),i[t](...o)):s}function Wo(e,t,o=[]){Wt(),ur();let i=ze(e)[t].apply(e,o);return cr(),Kt(),i}var Bp=ho("__proto__,__v_isRef,__isVue"),ol=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(_t));function zp(e){_t(e)||(e=String(e));let t=ze(this);return Ct(t,"has",e),t.hasOwnProperty(e)}var Xs=class{constructor(t=!1,o=!1){this._isReadonly=t,this._isShallow=o}get(t,o,i){if(o==="__v_skip")return t.__v_skip;let s=this._isReadonly,r=this._isShallow;if(o==="__v_isReactive")return!s;if(o==="__v_isReadonly")return s;if(o==="__v_isShallow")return r;if(o==="__v_raw")return i===(s?r?Jp:rl:r?il:sl).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(i)?t:void 0;let a=Re(t);if(!s){let p;if(a&&(p=Fp[o]))return p;if(o==="hasOwnProperty")return zp}let u=Reflect.get(t,o,yt(t)?t:i);if((_t(o)?ol.has(o):Bp(o))||(s||Ct(t,"get",o),r))return u;if(yt(u)){let p=a&&Bs(o)?u:u.value;return s&&Ge(p)?Js(p):p}return Ge(u)?s?Js(u):ot(u):u}},Qs=class extends Xs{constructor(t=!1){super(!1,t)}set(t,o,i,s){let r=t[o],a=Re(t)&&Bs(o);if(!this._isShallow){let y=Ft(r);if(!Ot(i)&&!Ft(i)&&(r=ze(r),i=ze(i)),!a&&yt(r)&&!yt(i))return y||(r.value=i),!0}let u=a?Number(o)e,Ws=e=>Reflect.getPrototypeOf(e);function Wp(e,t,o){return function(...i){let s=this.__v_raw,r=ze(s),a=hn(r),u=e==="entries"||e===Symbol.iterator&&a,p=e==="keys"&&a,y=s[e](...i),h=o?ar:t?gn:Vt;return!t&&Ct(r,"iterate",p?ir:jn),at(Object.create(y),{next(){let{value:b,done:m}=y.next();return m?{value:b,done:m}:{value:u?[h(b[0]),h(b[1])]:h(b),done:m}}})}}function Ks(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Kp(e,t){let o={get(s){let r=this.__v_raw,a=ze(r),u=ze(s);e||(Ut(s,u)&&Ct(a,"get",s),Ct(a,"get",u));let{has:p}=Ws(a),y=t?ar:e?gn:Vt;if(p.call(a,s))return y(r.get(s));if(p.call(a,u))return y(r.get(u));r!==a&&r.get(s)},get size(){let s=this.__v_raw;return!e&&Ct(ze(s),"iterate",jn),s.size},has(s){let r=this.__v_raw,a=ze(r),u=ze(s);return e||(Ut(s,u)&&Ct(a,"has",s),Ct(a,"has",u)),s===u?r.has(s):r.has(s)||r.has(u)},forEach(s,r){let a=this,u=a.__v_raw,p=ze(u),y=t?ar:e?gn:Vt;return!e&&Ct(p,"iterate",jn),u.forEach((h,b)=>s.call(r,y(h),y(b),a))}};return at(o,e?{add:Ks("add"),set:Ks("set"),delete:Ks("delete"),clear:Ks("clear")}:{add(s){let r=ze(this),a=Ws(r),u=ze(s),p=!t&&!Ot(s)&&!Ft(s)?u:s;return a.has.call(r,p)||Ut(s,p)&&a.has.call(r,s)||Ut(u,p)&&a.has.call(r,u)||(r.add(p),tn(r,"add",p,p)),this},set(s,r){!t&&!Ot(r)&&!Ft(r)&&(r=ze(r));let a=ze(this),{has:u,get:p}=Ws(a),y=u.call(a,s);y||(s=ze(s),y=u.call(a,s));let h=p.call(a,s);return a.set(s,r),y?Ut(r,h)&&tn(a,"set",s,r,h):tn(a,"add",s,r),this},delete(s){let r=ze(this),{has:a,get:u}=Ws(r),p=a.call(r,s);p||(s=ze(s),p=a.call(r,s));let y=u?u.call(r,s):void 0,h=r.delete(s);return p&&tn(r,"delete",s,void 0,y),h},clear(){let s=ze(this),r=s.size!==0,a=void 0,u=s.clear();return r&&tn(s,"clear",void 0,void 0,a),u}}),["keys","values","entries",Symbol.iterator].forEach(s=>{o[s]=Wp(s,e,t)}),o}function fr(e,t){let o=Kp(e,t);return(i,s,r)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_isShallow"?t:s==="__v_raw"?i:Reflect.get(Be(o,s)&&s in i?o:i,s,r)}var Yp={get:fr(!1,!1)},Xp={get:fr(!1,!0)},Qp={get:fr(!0,!1)};var sl=new WeakMap,il=new WeakMap,rl=new WeakMap,Jp=new WeakMap;function Zp(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function ot(e){return Ft(e)?e:hr(e,!1,Hp,Yp,sl)}function es(e){return hr(e,!1,Gp,Xp,il)}function Js(e){return hr(e,!0,jp,Qp,rl)}function hr(e,t,o,i,s){if(!Ge(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;let r=s.get(e);if(r)return r;let a=Zp(Zi(e));if(a===0)return e;let u=new Proxy(e,a===2?i:o);return s.set(e,u),u}function on(e){return Ft(e)?on(e.__v_raw):!!(e&&e.__v_isReactive)}function Ft(e){return!!(e&&e.__v_isReadonly)}function Ot(e){return!!(e&&e.__v_isShallow)}function ts(e){return e?!!e.__v_raw:!1}function ze(e){let t=e&&e.__v_raw;return t?ze(t):e}function Co(e){return!Be(e,"__v_skip")&&Object.isExtensible(e)&&Hs(e,"__v_skip",!0),e}var Vt=e=>Ge(e)?ot(e):e,gn=e=>Ge(e)?Js(e):e;function yt(e){return e?e.__v_isRef===!0:!1}function Et(e){return al(e,!1)}function xs(e){return al(e,!0)}function al(e,t){return yt(e)?e:new lr(e,t)}var lr=class{constructor(t,o){this.dep=new Jo,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=o?t:ze(t),this._value=o?t:Vt(t),this.__v_isShallow=o}get value(){return this.dep.track(),this._value}set value(t){let o=this._rawValue,i=this.__v_isShallow||Ot(t)||Ft(t);t=i?t:ze(t),Ut(t,o)&&(this._rawValue=t,this._value=i?t:Vt(t),this.dep.trigger())}};function vn(e){return yt(e)?e.value:e}var xp={get:(e,t,o)=>t==="__v_raw"?e:vn(Reflect.get(e,t,o)),set:(e,t,o,i)=>{let s=e[t];return yt(s)&&!yt(o)?(s.value=o,!0):Reflect.set(e,t,o,i)}};function ei(e){return on(e)?e:new Proxy(e,xp)}var dr=class{constructor(t,o,i){this.fn=t,this.setter=o,this._value=void 0,this.dep=new Jo(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Qo-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!o,this.isSSR=i}notify(){if(this.flags|=16,!(this.flags&8)&&Ze!==this)return Qa(this,!0),!0}get value(){let t=this.dep.track();return xa(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}};function ll(e,t,o=!1){let i,s;return Ie(e)?i=e:(i=e.get,s=e.set),new dr(i,s,o)}var Ys={},Zs=new WeakMap,Hn;function dl(e,t=!1,o=Hn){if(o){let i=Zs.get(o);i||Zs.set(o,i=[]),i.push(e)}}function ul(e,t,o=Ke){let{immediate:i,deep:s,once:r,scheduler:a,augmentJob:u,call:p}=o,y=q=>{(o.onWarn||Lp)("Invalid watch source: ",q,"A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.")},h=q=>s?q:Ot(q)||s===!1||s===0?nn(q,1):nn(q),b,m,w,A,S=!1,R=!1;if(yt(e)?(m=()=>e.value,S=Ot(e)):on(e)?(m=()=>h(e),S=!0):Re(e)?(R=!0,S=e.some(q=>on(q)||Ot(q)),m=()=>e.map(q=>{if(yt(q))return q.value;if(on(q))return h(q);if(Ie(q))return p?p(q,2):q()})):Ie(e)?t?m=p?()=>p(e,2):e:m=()=>{if(w){Wt();try{w()}finally{Kt()}}let q=Hn;Hn=b;try{return p?p(e,3,[A]):e(A)}finally{Hn=q}}:m=Pt,t&&s){let q=m,j=s===!0?1/0:s;m=()=>nn(q(),j)}let g=Ya(),C=()=>{b.stop(),g&&g.active&&zo(g.effects,b)};if(r&&t){let q=t;t=(...j)=>{try{return q(...j)}finally{C()}}}let M=R?new Array(e.length).fill(Ys):Ys,V=q=>{if(!(!(b.flags&1)||!b.dirty&&!q))if(t){let j=b.run();if(q||s||S||(R?j.some((ne,Y)=>Ut(ne,M[Y])):Ut(j,M))){let ne=Hn;Wt();try{w&&w(),Hn=b;let Y=[j,M===Ys?void 0:R&&M[0]===Ys?[]:M,A];M=j,p?p(t,3,Y):t(...Y)}finally{Hn=ne,Kt()}}}else b.run()};return u&&u(V),b=new ko(m),b.scheduler=a?()=>a(V,!1):V,A=q=>dl(q,!1,b),w=b.onStop=()=>{let q=Zs.get(b);if(q){if(p)p(q,4);else for(let j of q)j();Zs.delete(b)}},t?i?V(!0):M=b.run():a?a(V.bind(null,!0),!0):b.run(),C.pause=b.pause.bind(b),C.resume=b.resume.bind(b),C.stop=C,C}function nn(e,t=1/0,o){if(t<=0||!Ge(e)||e.__v_skip||(o=o||new Map,(o.get(e)||0)>=t))return e;if(o.set(e,t),t--,yt(e))nn(e.value,t,o);else if(Re(e))for(let i=0;i{nn(i,t,o)});else if(Fs(e)){for(let i in e)nn(e[i],t,o);for(let i of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,i)&&nn(e[i],t,o)}return e}function fs(e,t,o,i){try{return i?e(...i):e()}catch(s){hs(s,t,o)}}function Bt(e,t,o,i){if(Ie(e)){let s=fs(e,t,o,i);return s&&Ji(s)&&s.catch(r=>{hs(r,t,o)}),s}if(Re(e)){let s=[];for(let r=0;r>>1,s=Dt[i],r=ls(s);r=ls(o)?Dt.push(e):Dt.splice(sf(t),0,e),e.flags|=1,Dl()}}function Dl(){oi||(oi=Rl.then(Ol))}function Al(e){if(!Re(e))Dn&&e.id===-1?Dn.splice(Eo+1,0,e):e.flags&1||(rn.push(e),e.flags|=1);else for(let t=0;t=t))continue;Dt.splice(i,1),i=e?i-1:Yt,s.flags&4&&(s.flags&=-2),s(),s.flags&4||(s.flags&=-2)}}}function Pl(e,t,o=0){if(rn.length){let i=rn,s=0;if(t){i=[];for(let a=0;als(a)-ls(u));if(rn.length=s,Dn){for(let a=0;ae.id==null?e.flags&2?-1:1/0:e.id;function Ol(e){let t=Pt;try{for(Yt=0;Yt{i._d&&ai(-1);let r=si(t),a=Yn.length,u;try{u=e(...s)}finally{for(let p=Yn.length;p>a;p--)ad();si(r),i._d&&ai(1)}return u};return i._n=!0,i._c=!0,i._d=!0,i}function O(e,t){if(qt===null)return e;let o=mi(qt),i=e.dirs||(e.dirs=[]);for(let s=0;s1)return o&&Ie(t)?t.call(i&&i.proxy):t}}var lf=Symbol.for("v-scx"),df=()=>{{let e=Mt(lf);return e}};function it(e,t,o){return Ml(e,t,o)}function Ml(e,t,o=Ke){let{immediate:i,deep:s,flush:r,once:a}=o,u=at({},o),p=t&&i||!t&&r!=="post",y;if(Ro){if(r==="sync"){let w=df();y=w.__watcherHandles||(w.__watcherHandles=[])}else if(!p){let w=()=>{};return w.stop=Pt,w.resume=Pt,w.pause=Pt,w}}let h=St;u.call=(w,A,S)=>Bt(w,h,A,S);let b=!1;r==="post"?u.scheduler=w=>{w.i=h,It(w,h&&h.suspense)}:r!=="sync"&&(b=!0,u.scheduler=(w,A)=>{A?w():Rr(w)}),u.augmentJob=w=>{t&&(w.flags|=4),b&&(w.flags|=2,h&&(w.id=h.uid,w.i=h))};let m=ul(e,t,u);return Ro&&(y?y.push(m):p&&m()),m}function uf(e,t,o){let i=this.proxy,s=nt(e)?e.includes(".")?_l(i,e):()=>i[e]:e.bind(i,i),r;Ie(t)?r=t:(r=t.handler,o=t);let a=vs(this),u=Ml(s,r.bind(i),o);return a(),u}function _l(e,t){let o=t.split(".");return()=>{let i=e;for(let s=0;se.__isTeleport;var gr=Symbol("_leaveCb");function pf(e){let t=e[0];if(e.length>1){let o=!1;for(let i of e)if(i.type!==Xt){t=i,o=!0;break}}return t}function Vl(e){if(!ci(e))return ui(e.type)&&e.children?pf(e.children):e;if(e.component)return e.component.subTree;let{shapeFlag:t,children:o}=e;if(o){if(t&16)return o[0];if(t&32&&Ie(o.default))return o.default()}}function ds(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;let o=e.component.subTree;ds(ui(o.type)&&Vl(o)||o,t)}else if(e.shapeFlag&128)e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback);else if(e.transition=t,e.type===L&&Re(e.children)){let o=Kl(e.children,!1);o&&ds(o,t)}}function wr(e){if(e.component)return wr(e.component.subTree);if(e.type===L){let t=Re(e.children)&&Kl(e.children,!1);return t?wr(t):void 0}if(e.type!==Xt)return e}function ms(e,t){return Ie(e)?at({name:e.name},t,{setup:e}):e}function Dr(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function cl(e,t){let o;return!!((o=Object.getOwnPropertyDescriptor(e,t))&&!o.configurable)}var ii=new WeakMap;function ss(e,t,o,i,s=!1){if(Re(e)){e.forEach((S,R)=>ss(S,t&&(Re(t)?t[R]:t),o,i,s));return}if(is(i)&&!s){i.shapeFlag&512&&i.type.__asyncResolved&&i.component.subTree.component&&ss(e,t,o,i.component.subTree);return}let r=i.shapeFlag&4?mi(i.component):i.el,a=s?null:r,{i:u,r:p}=e,y=t&&t.r,h=u.refs===Ke?u.refs={}:u.refs,b=u.setupState,m=ze(b),w=b===Ke?Qi:S=>cl(h,S)?!1:Be(m,S),A=(S,R)=>!(R&&cl(h,R));if(y!=null&&y!==p){if(pl(t),nt(y))h[y]=null,w(y)&&(b[y]=null);else if(yt(y)){let S=t;A(y,S.k)&&(y.value=null),S.k&&(h[S.k]=null)}}if(Ie(p))fs(p,u,12,[a,h]);else{let S=nt(p),R=yt(p);if(S||R){let g=()=>{if(e.f){let C=S?w(p)?b[p]:h[p]:A(p)||!e.k?p.value:h[e.k];if(s)Re(C)&&zo(C,r);else if(Re(C))C.includes(r)||C.push(r);else if(S)h[p]=[r],w(p)&&(b[p]=h[p]);else{let M=[r];A(p,e.k)&&(p.value=M),e.k&&(h[e.k]=M)}}else S?(h[p]=a,w(p)&&(b[p]=a)):R&&(A(p,e.k)&&(p.value=a),e.k&&(h[e.k]=a))};if(a){let C=()=>{g(),ii.delete(e)};C.id=-1,ii.set(e,C),It(C,o)}else pl(e),g()}}}function pl(e){let t=ii.get(e);t&&(t.flags|=8,ii.delete(e))}var fl=e=>e.nodeType===8;var UY=Go().requestIdleCallback||(e=>setTimeout(e,1)),FY=Go().cancelIdleCallback||(e=>clearTimeout(e));function ff(e,t){if(fl(e)&&e.data==="["){let o=1,i=e.nextSibling;for(;i;){if(i.nodeType===1){if(t(i)===!1)break}else if(fl(i))if(i.data==="]"){if(--o===0)break}else i.data==="["&&o++;i=i.nextSibling}}else t(e)}var is=e=>!!e.type.__asyncLoader;function ql(e){Ie(e)&&(e={loader:e});let{loader:t,loadingComponent:o,errorComponent:i,delay:s=200,hydrate:r,timeout:a,suspensible:u=!0,onError:p}=e,y=null,h,b=0,m=()=>(b++,y=null,w()),w=()=>{let A;return y||(A=y=t().catch(S=>{if(S=S instanceof Error?S:new Error(String(S)),p)return new Promise((R,g)=>{p(S,()=>R(m()),()=>g(S),b+1)});throw S}).then(S=>A!==y&&y?y:(S&&(S.__esModule||S[Symbol.toStringTag]==="Module")&&(S=S.default),h=S,S)))};return ms({name:"AsyncComponentWrapper",__asyncLoader:w,__asyncHydrate(A,S,R){let g=A.isConnected,C=!1;(S.bu||(S.bu=[])).push(()=>C=!0);let M=()=>{C||!A.parentNode||g&&!A.isConnected||R()},V=r?()=>{let q=r(M,j=>ff(A,j));q&&(S.bum||(S.bum=[])).push(q)}:M;h?V():w().then(()=>!S.isUnmounted&&V())},get __asyncResolved(){return h},setup(){let A=St;if(Dr(A),h)return()=>ti(h,A);let S=q=>{y=null,hs(q,A,13,!i)};if(u&&A.suspense||Ro)return w().then(q=>()=>ti(q,A)).catch(q=>(S(q),()=>i?_e(i,{error:q}):null));let R=Et(!1),g=Et(),C=Et(!!s),M,V;return gs(()=>{M!=null&&clearTimeout(M),V!=null&&clearTimeout(V)}),s&&(V=setTimeout(()=>{A.isUnmounted||(C.value=!1)},s)),a!=null&&(M=setTimeout(()=>{if(!A.isUnmounted&&!R.value&&!g.value){let q=new Error(`Async component timed out after ${a}ms.`);S(q),g.value=q}},a)),w().then(()=>{A.isUnmounted||(R.value=!0,A.parent&&ci(A.parent.vnode)&&A.parent.update())}).catch(q=>{if(A.isUnmounted){y=null;return}S(q),g.value=q}),()=>{if(R.value&&h)return ti(h,A);if(g.value&&i)return _e(i,{error:g.value});if(o&&!C.value)return ti(o,A)}}})}function ti(e,t){let{ref:o,props:i,children:s,ce:r}=t.vnode,a=_e(e,i,s);return a.ref=o,a.ce=r,delete t.vnode.ce,a}var ci=e=>e.type.__isKeepAlive;function $l(e,t){Ul(e,"a",t)}function Ll(e,t){Ul(e,"da",t)}function Ul(e,t,o=St){let i=e.__wdc||(e.__wdc=()=>{let s=o;for(;s;){if(s.isDeactivated)return;s=s.parent}return e()});if(pi(t,i,o),o){let s=o.parent;for(;s&&s.parent;)ci(s.parent.vnode)&&hf(i,t,o,s),s=s.parent}}function hf(e,t,o,i){let s=pi(t,e,i,!0);gs(()=>{zo(i[t],s)},o)}function pi(e,t,o=St,i=!1){if(o){let s=o[e]||(o[e]=[]),r=t.__weh||(t.__weh=(...a)=>{Wt();let u=vs(o),p=Bt(t,o,e,a);return u(),Kt(),p});return i?s.unshift(r):s.push(r),r}}var bn=e=>(t,o=St)=>{(!Ro||e==="sp")&&pi(e,(...i)=>t(...i),o)},mf=bn("bm"),ln=bn("m"),Fl=bn("bu"),Bl=bn("u"),Qn=bn("bum"),gs=bn("um"),gf=bn("sp"),vf=bn("rtg"),yf=bn("rtc");function bf(e,t=St){pi("ec",e,t)}var zl="components",wf="directives";function Xe(e,t){return Hl(zl,e,!0,t)||e}var kf=Symbol.for("v-ndc");function Ae(e){return Hl(wf,e)}function Hl(e,t,o=!0,i=!1){let s=qt||St;if(s){let r=s.type;if(e===zl){let u=sh(r,!1);if(u&&(u===t||u===ft(t)||u===zn(ft(t))))return r}let a=hl(s[e]||r[e],t)||hl(s.appContext[e],t);return!a&&i?r:a}}function hl(e,t){return e&&(e[t]||e[ft(t)]||e[zn(ft(t))])}function ie(e,t,o,i){let s,r=o&&o[i],a=Re(e);if(a||nt(e)){let u=a&&on(e),p=!1,y=!1;u&&(p=!Ot(e),y=Ft(e),e=xo(e)),s=new Array(e.length);for(let h=0,b=e.length;ht(u,p,void 0,r&&r[p]));else{let u=Object.keys(e);s=new Array(u.length);for(let p=0,y=u.length;pe?cd(e)?mi(e):kr(e.parent):null;var rs=at(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>kr(e.parent),$root:e=>kr(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Ar(e),$forceUpdate:e=>e.f||(e.f=()=>{Rr(e.update)}),$nextTick:e=>e.n||(e.n=xe.bind(e.proxy)),$watch:e=>uf.bind(e)});var vr=(e,t)=>e!==Ke&&!e.__isScriptSetup&&Be(e,t),Cf={get({_:e},t){if(t==="__v_skip")return!0;let{ctx:o,setupState:i,data:s,props:r,accessCache:a,type:u,appContext:p}=e;if(t[0]!=="$"){let m=a[t];if(m!==void 0)switch(m){case 1:return i[t];case 2:return s[t];case 4:return o[t];case 3:return r[t]}else{if(vr(i,t))return a[t]=1,i[t];if(s!==Ke&&Be(s,t))return a[t]=2,s[t];if(Be(r,t))return a[t]=3,r[t];if(o!==Ke&&Be(o,t))return a[t]=4,o[t];Cr&&(a[t]=0)}}let y=rs[t],h,b;if(y)return t==="$attrs"&&Ct(e.attrs,"get",""),y(e);if((h=u.__cssModules)&&(h=h[t]))return h;if(o!==Ke&&Be(o,t))return a[t]=4,o[t];if(b=p.config.globalProperties,Be(b,t))return b[t]},set({_:e},t,o){let{data:i,setupState:s,ctx:r}=e;return vr(s,t)?(s[t]=o,!0):i!==Ke&&Be(i,t)?(i[t]=o,!0):Be(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(r[t]=o,!0)},has({_:{data:e,setupState:t,accessCache:o,ctx:i,appContext:s,props:r,type:a}},u){let p;return!!(o[u]||e!==Ke&&u[0]!=="$"&&Be(e,u)||vr(t,u)||Be(r,u)||Be(i,u)||Be(rs,u)||Be(s.config.globalProperties,u)||(p=a.__cssModules)&&p[u])},defineProperty(e,t,o){return o.get!=null?e._.accessCache[t]=0:Be(o,"value")&&this.set(e,t,o.value,null),Reflect.defineProperty(e,t,o)}};function ml(e){return Re(e)?e.reduce((t,o)=>(t[o]=null,t),{}):e}var Cr=!0;function Ef(e){let t=Ar(e),o=e.proxy,i=e.ctx;Cr=!1,t.beforeCreate&&gl(t.beforeCreate,e,"bc");let{data:s,computed:r,methods:a,watch:u,provide:p,inject:y,created:h,beforeMount:b,mounted:m,beforeUpdate:w,updated:A,activated:S,deactivated:R,beforeDestroy:g,beforeUnmount:C,destroyed:M,unmounted:V,render:q,renderTracked:j,renderTriggered:ne,errorCaptured:Y,serverPrefetch:oe,expose:Ce,inheritAttrs:D,components:te,directives:ue,filters:Pe}=t;if(y&&Sf(y,i,null),a)for(let ce in a){let ke=a[ce];Ie(ke)&&(i[ce]=ke.bind(o))}if(s){let ce=s.call(o,o);Ge(ce)&&(e.data=ot(ce))}if(Cr=!0,r)for(let ce in r){let ke=r[ce],De=Ie(ke)?ke.bind(o,o):Ie(ke.get)?ke.get.bind(o,o):Pt,et=!Ie(ke)&&Ie(ke.set)?ke.set.bind(o):Pt,st=Nt({get:De,set:et});Object.defineProperty(i,ce,{enumerable:!0,configurable:!0,get:()=>st.value,set:tt=>st.value=tt})}if(u)for(let ce in u)jl(u[ce],i,o,ce);if(p){let ce=Ie(p)?p.call(o):p;Reflect.ownKeys(ce).forEach(ke=>{Xn(ke,ce[ke])})}h&&gl(h,e,"c");function J(ce,ke){Re(ke)?ke.forEach(De=>ce(De.bind(o))):ke&&ce(ke.bind(o))}if(J(mf,b),J(ln,m),J(Fl,w),J(Bl,A),J($l,S),J(Ll,R),J(bf,Y),J(yf,j),J(vf,ne),J(Qn,C),J(gs,V),J(gf,oe),Re(Ce))if(Ce.length){let ce=e.exposed||(e.exposed={});Ce.forEach(ke=>{Object.defineProperty(ce,ke,{get:()=>o[ke],set:De=>o[ke]=De,enumerable:!0})})}else e.exposed||(e.exposed={});q&&e.render===Pt&&(e.render=q),D!=null&&(e.inheritAttrs=D),te&&(e.components=te),ue&&(e.directives=ue),oe&&Dr(e)}function Sf(e,t,o=Pt){Re(e)&&(e=Er(e));for(let i in e){let s=e[i],r;Ge(s)?"default"in s?r=Mt(s.from||i,s.default,!0):r=Mt(s.from||i):r=Mt(s),yt(r)?Object.defineProperty(t,i,{enumerable:!0,configurable:!0,get:()=>r.value,set:a=>r.value=a}):t[i]=r}}function gl(e,t,o){Bt(Re(e)?e.map(i=>i.bind(t.proxy)):e.bind(t.proxy),t,o)}function jl(e,t,o,i){let s=i.includes(".")?_l(o,i):()=>o[i];if(nt(e)){let r=t[e];Ie(r)&&it(s,r)}else if(Ie(e))it(s,e.bind(o));else if(Ge(e))if(Re(e))e.forEach(r=>jl(r,t,o,i));else{let r=Ie(e.handler)?e.handler.bind(o):t[e.handler];Ie(r)&&it(s,r,e)}}function Ar(e){let t=e.type,{mixins:o,extends:i}=t,{mixins:s,optionsCache:r,config:{optionMergeStrategies:a}}=e.appContext,u=r.get(t),p;return u?p=u:!s.length&&!o&&!i?p=t:(p={},s.length&&s.forEach(y=>ri(p,y,a,!0)),ri(p,t,a)),Ge(t)&&r.set(t,p),p}function ri(e,t,o,i=!1){let{mixins:s,extends:r}=t;r&&ri(e,r,o,!0),s&&s.forEach(a=>ri(e,a,o,!0));for(let a in t)if(!(i&&a==="expose")){let u=Nf[a]||o&&o[a];e[a]=u?u(e[a],t[a]):t[a]}return e}var Nf={data:vl,props:yl,emits:yl,methods:os,computed:os,beforeCreate:Rt,created:Rt,beforeMount:Rt,mounted:Rt,beforeUpdate:Rt,updated:Rt,beforeDestroy:Rt,beforeUnmount:Rt,destroyed:Rt,unmounted:Rt,activated:Rt,deactivated:Rt,errorCaptured:Rt,serverPrefetch:Rt,components:os,directives:os,watch:Df,provide:vl,inject:Rf};function vl(e,t){return t?e?function(){return at(Ie(e)?e.call(this,this):e,Ie(t)?t.call(this,this):t)}:t:e}function Rf(e,t){return os(Er(e),Er(t))}function Er(e){if(Re(e)){let t={};for(let o=0;ot==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${ft(t)}Modifiers`]||e[`${xt(t)}Modifiers`];function Of(e,t,...o){if(e.isUnmounted)return;let i=e.vnode.props||Ke,s=o,r=t.startsWith("update:"),a=r&&Pf(i,t.slice(7));a&&(a.trim&&(s=o.map(h=>nt(h)?h.trim():h)),a.number&&(s=s.map(bo)));let u,p=i[u=jo(t)]||i[u=jo(ft(t))];!p&&r&&(p=i[u=jo(xt(t))]),p&&Bt(p,e,6,s);let y=i[u+"Once"];if(y){if(!e.emitted)e.emitted={};else if(e.emitted[u])return;e.emitted[u]=!0,Bt(y,e,6,s)}}var If=new WeakMap;function Wl(e,t,o=!1){let i=o?If:t.emitsCache,s=i.get(e);if(s!==void 0)return s;let r=e.emits,a={},u=!1;if(!Ie(e)){let p=y=>{let h=Wl(y,t,!0);h&&(u=!0,at(a,h))};!o&&t.mixins.length&&t.mixins.forEach(p),e.extends&&p(e.extends),e.mixins&&e.mixins.forEach(p)}return!r&&!u?(Ge(e)&&i.set(e,null),null):(Re(r)?r.forEach(p=>a[p]=null):at(a,r),Ge(e)&&i.set(e,a),a)}function fi(e,t){return!e||!mo(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),Be(e,t[0].toLowerCase()+t.slice(1))||Be(e,xt(t))||Be(e,t))}function yr(e){let{type:t,vnode:o,proxy:i,withProxy:s,propsOptions:[r],slots:a,attrs:u,emit:p,render:y,renderCache:h,props:b,data:m,setupState:w,ctx:A,inheritAttrs:S}=e,R=si(e),g,C;try{if(o.shapeFlag&4){let q=s||i,j=q;g=an(y.call(j,q,h,b,w,m,A)),C=u}else{let q=t;g=an(q.length>1?q(b,{attrs:u,slots:a,emit:p}):q(b,null)),C=t.props?u:Mf(u)}}catch(q){Yn.length=0,hs(q,e,1),g=_e(Xt)}let M=g,V;if(C&&S!==!1){let q=Object.keys(C),{shapeFlag:j}=M;q.length&&j&7&&(r&&q.some(go)&&(C=_f(C,r)),M=No(M,C,!1,!0))}if(o.dirs&&(M=No(M,null,!1,!0),M.dirs=M.dirs?M.dirs.concat(o.dirs):o.dirs),o.transition){let q=ui(M.type)&&Vl(M)||M;ds(q,o.transition)}return g=M,si(R),g}function Kl(e,t=!0){let o;for(let i=0;i{let t;for(let o in e)(o==="class"||o==="style"||mo(o))&&((t||(t={}))[o]=e[o]);return t},_f=(e,t)=>{let o={};for(let i in e)(!go(i)||!(i.slice(9)in t))&&(o[i]=e[i]);return o};function Vf(e,t,o){let{props:i,children:s,component:r}=e,{props:a,children:u,patchFlag:p}=t,y=r.emitsOptions;if(t.dirs||t.transition)return!0;if(o&&p>=0){if(p&1024)return!0;if(p&16)return i?bl(i,a,y):!!a;if(p&8){let h=t.dynamicProps;for(let b=0;bObject.create(Xl),Jl=e=>Object.getPrototypeOf(e)===Xl;function $f(e,t,o,i=!1){let s={},r=Ql();e.propsDefaults=Object.create(null),Zl(e,t,s,r);for(let a in e.propsOptions[0])a in s||(s[a]=void 0);o?e.props=i?s:es(s):e.type.props?e.props=s:e.props=r,e.attrs=r}function Lf(e,t,o,i){let{props:s,attrs:r,vnode:{patchFlag:a}}=e,u=ze(s),[p]=e.propsOptions,y=!1;if((i||a>0)&&!(a&16)){if(a&8){let h=e.vnode.dynamicProps;for(let b=0;b{p=!0;let[m,w]=xl(b,t,!0);at(a,m),w&&u.push(...w)};!o&&t.mixins.length&&t.mixins.forEach(h),e.extends&&h(e.extends),e.mixins&&e.mixins.forEach(h)}if(!r&&!p)return Ge(e)&&i.set(e,Rn),Rn;if(Re(r))for(let h=0;he==="_"||e==="_ctx"||e==="$stable",Pr=e=>Re(e)?e.map(an):[an(e)],Ff=(e,t,o)=>{if(t._n)return t;let i=af((...s)=>Pr(t(...s)),o);return i._c=!1,i},ed=(e,t,o)=>{let i=e._ctx;for(let s in e){if(Tr(s))continue;let r=e[s];if(Ie(r))t[s]=Ff(s,r,i);else if(r!=null){let a=Pr(r);t[s]=()=>a}}},td=(e,t)=>{let o=Pr(t);e.slots.default=()=>o},nd=(e,t,o)=>{for(let i in t)(o||!Tr(i))&&(e[i]=t[i])},Bf=(e,t,o)=>{let i=e.slots=Ql();if(e.vnode.shapeFlag&32){let s=t._;s?(nd(i,t,o),o&&Hs(i,"_",s,!0)):ed(t,i)}else t&&td(e,t)},zf=(e,t,o)=>{let{vnode:i,slots:s}=e,r=!0,a=Ke;if(i.shapeFlag&32){let u=t._;u?o&&u===1?r=!1:nd(s,t,o):(r=!t.$stable,ed(t,s)),a=t}else t&&(td(e,t),a={default:1});if(r)for(let u in s)!Tr(u)&&a[u]==null&&delete s[u]};function Hf(){let e=[]}var It=Kf;function od(e){return jf(e)}function jf(e,t){Hf();let o=Go();o.__VUE__=!0;let{insert:i,remove:s,patchProp:r,createElement:a,createText:u,createComment:p,setText:y,setElementText:h,parentNode:b,nextSibling:m,setScopeId:w=Pt,insertStaticContent:A}=e,S=(E,N,P,H=null,B=null,K=null,se=void 0,Q=null,Z=!!N.dynamicChildren)=>{if(E===N)return;E&&!ns(E,N)&&(H=fe(E),He(E,B,K,!0),E=null),N.patchFlag===-2&&(Z=!1,N.dynamicChildren=null),N.dynamicChildren&&E&&E.dynamicChildren&&E.dynamicChildren.hasOnce&&(N.dynamicChildren===Rn&&(N.dynamicChildren=[]),N.dynamicChildren.hasOnce=!0);let{type:G,ref:me,shapeFlag:le}=N;switch(G){case hi:R(E,N,P,H);break;case Xt:g(E,N,P,H);break;case as:E==null&&C(N,P,H,se);break;case L:ue(E,N,P,H,B,K,se,Q,Z);break;default:le&1?j(E,N,P,H,B,K,se,Q,Z):le&6?Pe(E,N,P,H,B,K,se,Q,Z):(le&64||le&128)&&G.process(E,N,P,H,B,K,se,Q,Z,U)}me!=null&&B?ss(me,E&&E.ref,K,N||E,!N):me==null&&E&&E.ref!=null&&ss(E.ref,null,K,E,!0)},R=(E,N,P,H)=>{if(E==null)i(N.el=u(N.children),P,H);else{let B=N.el=E.el;N.children!==E.children&&y(B,N.children)}},g=(E,N,P,H)=>{E==null?i(N.el=p(N.children||""),P,H):N.el=E.el},C=(E,N,P,H)=>{[E.el,E.anchor]=A(E.children,N,P,H,E.el,E.anchor)},M=(E,N,P,H)=>{if(N.children!==E.children){let B=m(E.anchor);q(E),[N.el,N.anchor]=A(N.children,P,B,H)}else N.el=E.el,N.anchor=E.anchor},V=({el:E,anchor:N},P,H)=>{let B;for(;E&&E!==N;)B=m(E),i(E,P,H),E=B;i(N,P,H)},q=({el:E,anchor:N})=>{let P;for(;E&&E!==N;)P=m(E),s(E),E=P;s(N)},j=(E,N,P,H,B,K,se,Q,Z)=>{if(N.type==="svg"?se="svg":N.type==="math"&&(se="mathml"),E==null)ne(N,P,H,B,K,se,Q,Z);else{let G=E.el&&E.el._isVueCE?E.el:null;try{G&&G._beginPatch(),Ce(E,N,B,K,se,Q,Z)}finally{G&&G._endPatch()}}},ne=(E,N,P,H,B,K,se,Q)=>{let Z,G,{props:me,shapeFlag:le,transition:re,dirs:he}=E;if(Z=E.el=a(E.type,K,me&&me.is,me),le&8?h(Z,E.children):le&16&&oe(E.children,Z,null,H,B,br(E,K),se,Q),he&&Wn(E,null,H,"created"),Y(Z,E,E.scopeId,se,H),me){for(let Me in me)Me!=="value"&&!vo(Me)&&r(Z,Me,null,me[Me],K,H);"value"in me&&r(Z,"value",null,me.value,K),(G=me.onVnodeBeforeMount)&&sn(G,H,E)}he&&Wn(E,null,H,"beforeMount");let Ne=Gf(B,re);Ne&&re.beforeEnter(Z),i(Z,N,P),((G=me&&me.onVnodeMounted)||Ne||he)&&It(()=>{let Oe;G&&sn(G,H,E),Ne&&re.enter(Z),he&&Wn(E,null,H,"mounted")},B)},Y=(E,N,P,H,B)=>{if(P&&w(E,P),H)for(let K=0;K{for(let G=Z;G{let Q=N.el=E.el,{patchFlag:Z,dynamicChildren:G,dirs:me}=N;Z|=E.patchFlag&16;let le=E.props||Ke,re=N.props||Ke,he;if(P&&Kn(P,!1),(he=re.onVnodeBeforeUpdate)&&sn(he,P,N,E),me&&Wn(N,E,P,"beforeUpdate"),P&&Kn(P,!0),G&&(!E.dynamicChildren||E.dynamicChildren.length!==G.length)&&(Z=0,se=!1,G=null),(le.innerHTML&&re.innerHTML==null||le.textContent&&re.textContent==null)&&h(Q,""),G?D(E.dynamicChildren,G,Q,P,H,br(N,B),K):se||De(E,N,Q,null,P,H,br(N,B),K,!1),Z>0){if(Z&16)te(Q,le,re,P,B);else if(Z&2&&le.class!==re.class&&r(Q,"class",null,re.class,B),Z&4&&r(Q,"style",le.style,re.style,B),Z&8){let Ne=N.dynamicProps;for(let Me=0;Me{he&&sn(he,P,N,E),me&&Wn(N,E,P,"updated")},H)},D=(E,N,P,H,B,K,se)=>{for(let Q=0;Q{if(N!==P){if(N!==Ke)for(let K in N)!vo(K)&&!(K in P)&&r(E,K,N[K],null,B,H);for(let K in P){if(vo(K))continue;let se=P[K],Q=N[K];se!==Q&&K!=="value"&&r(E,K,Q,se,B,H)}"value"in P&&r(E,"value",N.value,P.value,B)}},ue=(E,N,P,H,B,K,se,Q,Z)=>{let G=N.el=E?E.el:u(""),me=N.anchor=E?E.anchor:u(""),{patchFlag:le,dynamicChildren:re,slotScopeIds:he}=N;he&&(Q=Q?Q.concat(he):he),E==null?(i(G,P,H),i(me,P,H),oe(N.children||[],P,me,B,K,se,Q,Z)):le>0&&le&64&&re&&E.dynamicChildren&&E.dynamicChildren.length===re.length?(D(E.dynamicChildren,re,P,B,K,se,Q),(N.key!=null||B&&N===B.subTree)&&sd(E,N,!0)):De(E,N,P,me,B,K,se,Q,Z)},Pe=(E,N,P,H,B,K,se,Q,Z)=>{N.slotScopeIds=Q,E==null?N.shapeFlag&512?B.ctx.activate(N,P,H,se,Z):we(N,P,H,B,K,se,Z):J(E,N,Z)},we=(E,N,P,H,B,K,se)=>{let Q=E.component=xf(E,H,B);if(ci(E)&&(Q.ctx.renderer=U),eh(Q,!1,se),Q.asyncDep){if(B&&B.registerDep(Q,ce,se,K),!E.el){let Z=Q.subTree=_e(Xt);g(null,Z,N,P),E.placeholder=Z.el}}else ce(Q,E,N,P,B,K,se)},J=(E,N,P)=>{let H=N.component=E.component;if(Vf(E,N,P))if(H.asyncDep&&!H.asyncResolved){N.el=E.el,N.placeholder=E.placeholder,ke(H,N,P);return}else H.next=N,H.update();else N.el=E.el,N.placeholder=E.placeholder,H.vnode=N},ce=(E,N,P,H,B,K,se)=>{let Q=()=>{if(E.isMounted){let{next:le,bu:re,u:he,parent:Ne,vnode:Me}=E;{let Ye=id(E);if(Ye){le&&(le.el=Me.el,ke(E,le,se)),Ye.asyncDep.then(()=>{It(()=>{E.isUnmounted||G()},B)});return}}let Oe=le,ge;Kn(E,!1),le?(le.el=Me.el,ke(E,le,se)):le=Me,re&&yo(re),(ge=le.props&&le.props.onVnodeBeforeUpdate)&&sn(ge,Ne,le,Me),Kn(E,!0);let Ee=yr(E),je=E.subTree;E.subTree=Ee,S(je,Ee,b(je.el),fe(je),E,B,K),le.el=Ee.el,Oe===null&&qf(E,Ee.el),he&&It(he,B),(ge=le.props&&le.props.onVnodeUpdated)&&It(()=>sn(ge,Ne,le,Me),B)}else{let le,{el:re,props:he}=N,{bm:Ne,m:Me,parent:Oe,root:ge,type:Ee}=E,je=is(N);if(Kn(E,!1),Ne&&yo(Ne),!je&&(le=he&&he.onVnodeBeforeMount)&&sn(le,Oe,N),Kn(E,!0),re&&W){let Ye=()=>{E.subTree=yr(E),W(re,E.subTree,E,B,null)};je&&Ee.__asyncHydrate?Ee.__asyncHydrate(re,E,Ye):Ye()}else{ge.ce&&ge.ce._hasShadowRoot()&&ge.ce._injectChildStyle(Ee,E.parent?E.parent.type:void 0);let Ye=E.subTree=yr(E);S(null,Ye,P,H,E,B,K),N.el=Ye.el}if(Me&&It(Me,B),!je&&(le=he&&he.onVnodeMounted)){let Ye=N;It(()=>sn(le,Oe,Ye),B)}(N.shapeFlag&256||Oe&&is(Oe.vnode)&&Oe.vnode.shapeFlag&256)&&E.a&&It(E.a,B),E.isMounted=!0,N=P=H=null}};E.scope.on();let Z=E.effect=new ko(Q);E.scope.off();let G=E.update=Z.run.bind(Z),me=E.job=Z.runIfDirty.bind(Z);me.i=E,me.id=E.uid,Z.scheduler=()=>Rr(me),Kn(E,!0),G()},ke=(E,N,P)=>{N.component=E;let H=E.vnode.props;E.vnode=N,E.next=null,Lf(E,N.props,H,P),zf(E,N.children,P),Wt(),Tl(E),Kt()},De=(E,N,P,H,B,K,se,Q,Z=!1)=>{let G=E&&E.children,me=E?E.shapeFlag:0,le=N.children,{patchFlag:re,shapeFlag:he}=N;if(re>0){if(re&128){st(G,le,P,H,B,K,se,Q,Z);return}else if(re&256){et(G,le,P,H,B,K,se,Q,Z);return}}he&8?(me&16&&X(G,B,K),le!==G&&h(P,le)):me&16?he&16?st(G,le,P,H,B,K,se,Q,Z):X(G,B,K,!0):(me&8&&h(P,""),he&16&&oe(le,P,H,B,K,se,Q,Z))},et=(E,N,P,H,B,K,se,Q,Z)=>{E=E||Rn,N=N||Rn;let G=E.length,me=N.length,le=Math.min(G,me),re;for(re=0;reme?X(E,B,K,!0,!1,le):oe(N,P,H,B,K,se,Q,Z,le)},st=(E,N,P,H,B,K,se,Q,Z)=>{let G=0,me=N.length,le=E.length-1,re=me-1;for(;G<=le&&G<=re;){let he=E[G],Ne=N[G]=Z?yn(N[G]):an(N[G]);if(ns(he,Ne))S(he,Ne,P,null,B,K,se,Q,Z);else break;G++}for(;G<=le&&G<=re;){let he=E[le],Ne=N[re]=Z?yn(N[re]):an(N[re]);if(ns(he,Ne))S(he,Ne,P,null,B,K,se,Q,Z);else break;le--,re--}if(G>le){if(G<=re){let he=re+1,Ne=here)for(;G<=le;)He(E[G],B,K,!0),G++;else{let he=G,Ne=G,Me=new Map;for(G=Ne;G<=re;G++){let Qe=N[G]=Z?yn(N[G]):an(N[G]);Qe.key!=null&&Me.set(Qe.key,G)}let Oe,ge=0,Ee=re-Ne+1,je=!1,Ye=0,ct=new Array(Ee);for(G=0;G=Ee){He(Qe,B,K,!0);continue}let k;if(Qe.key!=null)k=Me.get(Qe.key);else for(Oe=Ne;Oe<=re;Oe++)if(ct[Oe-Ne]===0&&ns(Qe,N[Oe])){k=Oe;break}k===void 0?He(Qe,B,K,!0):(ct[k-Ne]=G+1,k>=Ye?Ye=k:je=!0,S(Qe,N[k],P,null,B,K,se,Q,Z),ge++)}let wt=je?Wf(ct):Rn;for(Oe=wt.length-1,G=Ee-1;G>=0;G--){let Qe=Ne+G,k=N[Qe],_=N[Qe+1],z=Qe+1{let{el:K,type:se,transition:Q,children:Z,shapeFlag:G}=E;if(G&6){tt(E.component.subTree,N,P,H);return}if(G&128){E.suspense.move(N,P,H);return}if(G&64){se.move(E,N,P,U);return}if(se===L){i(K,N,P);for(let le=0;leQ.enter(K),B));else{let{leave:le,delayLeave:re,afterLeave:he}=Q,Ne=()=>{E.ctx.isUnmounted?s(K):i(K,N,P)},Me=()=>{let Oe=K._isLeaving||!!K[gr];K._isLeaving&&K[gr](!0),Q.persisted&&!Oe?Ne():le(K,()=>{Ne(),he&&he()})};re?re(K,Ne,Me):Me()}else i(K,N,P)},He=(E,N,P,H=!1,B=!1)=>{let{type:K,props:se,ref:Q,children:Z,dynamicChildren:G,shapeFlag:me,patchFlag:le,dirs:re,cacheIndex:he,memo:Ne}=E;if((le===-2||G&&G.hasOnce)&&(B=!1),Q!=null&&(Wt(),ss(Q,null,P,E,!0),Kt()),he!=null&&(!E.ctx||E.ctx===N)&&(N.renderCache[he]=void 0),me&256){N.ctx.deactivate(E);return}let Me=me&1&&re,Oe=!is(E),ge;if(Oe&&(ge=se&&se.onVnodeBeforeUnmount)&&sn(ge,N,E),me&6)vt(E.component,P,H);else{if(me&128){E.suspense.unmount(P,H);return}Me&&Wn(E,null,N,"beforeUnmount"),me&64?E.type.remove(E,N,P,U,H):G&&!G.hasOnce&&(K!==L||le>0&&le&64)?X(G,N,P,!1,!0):(K===L&&le&384||!B&&me&16)&&X(Z,N,P),H&&bt(E)}let Ee=Ne!=null&&he==null;(Oe&&(ge=se&&se.onVnodeUnmounted)||Me||Ee)&&It(()=>{ge&&sn(ge,N,E),Me&&Wn(E,null,N,"unmounted"),Ee&&(E.el=null)},P)},bt=E=>{let{type:N,el:P,anchor:H,transition:B}=E,K=N===L;if(K&&!B){dt(P,H);return}if(N===as){q(E),B&&!B.persisted&&B.afterLeave&&B.afterLeave();return}let se=K?wr(E):E,Q=()=>{K?b(P)&&dt(P,H):s(P),B&&!B.persisted&&B.afterLeave&&B.afterLeave()};if(se&&se.shapeFlag&1&&B&&!B.persisted){let{leave:Z,delayLeave:G}=B,me=se.el,le=()=>Z(me,Q);G?G(me,Q,le):le()}else Q()},dt=(E,N)=>{let P;for(;E!==N;)P=m(E),s(E),E=P;s(N)},vt=(E,N,P)=>{let{bum:H,scope:B,job:K,subTree:se,um:Q,m:Z,a:G}=E;kl(Z),kl(G),H&&yo(H),B.stop(),K?(K.flags|=8,He(se,E,N,P)):E.vnode.el&&se&&(se.transition=E.vnode.transition,He(se,E,N,P)),Q&&It(Q,N),It(()=>{E.isUnmounted=!0},N)},X=(E,N,P,H=!1,B=!1,K=0)=>{for(let se=K;se{if(E.shapeFlag&6)return fe(E.component.subTree);if(E.shapeFlag&128)return E.suspense.next();let N=m(E.anchor||E.el),P=N&&N[cf];return P?m(P):N},I=(E,N,P)=>{let H=E&&N._vnode?void 0:E&&E.component?E.component.uid:Zf();rf(()=>{E==null?N._vnode&&He(N._vnode,null,null,!0):S(N._vnode||null,E,N,null,null,null,P),N._vnode=E},H)},U={p:S,um:He,m:tt,r:bt,mt:we,mc:oe,pc:De,pbc:D,n:fe,o:e},F,W;return t&&([F,W]=t(U)),{render:I,hydrate:F,createApp:Tf(I,F)}}function br({type:e,props:t},o){return o==="svg"&&e==="foreignObject"||o==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:o}function Kn({effect:e,job:t},o){o?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Gf(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function sd(e,t,o=!1){let i=e.children,s=t.children;if(Re(i)&&Re(s))for(let r=0;r>1,e[o[u]]0&&(t[i]=o[r-1]),o[r]=i)}}for(r=o.length,a=o[r-1];r-- >0;)o[r]=a,a=t[a];return o}function id(e){let t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:id(t)}function kl(e){if(e)for(let t=0;te.__isSuspense;function Kf(e,t){t&&t.pendingBranch?Re(e)?t.effects.push(...e):t.effects.push(e):Al(e)}var L=Symbol.for("v-fgt"),hi=Symbol.for("v-txt"),Xt=Symbol.for("v-cmt"),as=Symbol.for("v-stc"),Yn=[],$t=null;function l(e=!1){Yn.push($t=e?null:[])}function ad(){Yn.pop(),$t=Yn[Yn.length-1]||null}var us=1;function ai(e,t=!1){us+=e,e<0&&$t&&t&&($t.hasOnce=!0)}function ld(e){return e.dynamicChildren=us>0?$t||Rn:null,ad(),us>0&&$t&&$t.push(e),e}function d(e,t,o,i,s,r){return ld(n(e,t,o,i,s,r,!0))}function dn(e,t,o,i,s){return ld(_e(e,t,o,i,s,!0))}function cs(e){return e?e.__v_isVNode===!0:!1}function ns(e,t){return e.type===t.type&&e.key===t.key}var dd=({key:e})=>e??null,ni=({ref:e,ref_key:t,ref_for:o})=>(typeof e=="number"&&(e=""+e),e!=null?nt(e)||yt(e)||Ie(e)?{i:qt,r:e,k:t,f:!!o}:e:null);function n(e,t=null,o=null,i=0,s=null,r=e===L?0:1,a=!1,u=!1){let p={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&dd(t),ref:t&&ni(t),scopeId:Il,slotScopeIds:null,children:o,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:r,patchFlag:i,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:qt};return u?(li(p,o),r&128&&e.normalize(p)):o&&(p.shapeFlag|=nt(o)?8:16),us>0&&!a&&$t&&(p.patchFlag>0||r&6)&&p.patchFlag!==32&&$t.push(p),p}var _e=Yf;function Yf(e,t=null,o=null,i=0,s=null,r=!1){if((!e||e===kf)&&(e=Xt),cs(e)){let u=No(e,t,!0);return o&&li(u,o),us>0&&!r&&$t&&(u.shapeFlag&6?$t[$t.indexOf(e)]=u:$t.push(u)),u.patchFlag=-2,u}if(ih(e)&&(e=e.__vccOpts),t){t=Xf(t);let{class:u,style:p}=t;u&&!nt(u)&&(t.class=T(u)),Ge(p)&&(ts(p)&&!Re(p)&&(p=at({},p)),t.style=Ve(p))}let a=nt(e)?1:rd(e)?128:ui(e)?64:Ge(e)?4:Ie(e)?2:0;return n(e,t,o,i,s,a,r,!0)}function Xf(e){return e?ts(e)||Jl(e)?at({},e):e:null}function No(e,t,o=!1,i=!1){let{props:s,ref:r,patchFlag:a,children:u,transition:p}=e,y=t?Qf(s||{},t):s,h={__v_isVNode:!0,__v_skip:!0,type:e.type,props:y,key:y&&dd(y),ref:t&&t.ref?o&&r?Re(r)?r.concat(ni(t)):[r,ni(t)]:ni(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:u,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==L?a===-1?16:a|16:a,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:p,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&No(e.ssContent),ssFallback:e.ssFallback&&No(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce,cacheIndex:e.cacheIndex};return p&&i&&ds(h,p.clone(h)),h}function v(e=" ",t=0){return _e(hi,null,e,t)}function Se(e,t){let o=_e(as,null,e);return o.staticCount=t,o}function f(e="",t=!1){return t?(l(),dn(Xt,null,e)):_e(Xt,null,e)}function an(e){return e==null||typeof e=="boolean"?_e(Xt):Re(e)?_e(L,null,e.slice()):cs(e)?yn(e):_e(hi,null,String(e))}function yn(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:No(e)}function li(e,t){let o=0,{shapeFlag:i}=e;if(t==null)t=null;else if(Re(t))o=16;else if(typeof t=="object")if(i&65){let s=t.default;s&&(s._c&&(s._d=!1),li(e,s()),s._c&&(s._d=!0));return}else{o=32;let s=t._;!s&&!Jl(t)?t._ctx=qt:s===3&&qt&&(qt.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(Ie(t)){if(i&65){li(e,{default:t});return}t={default:t,_ctx:qt},o=32}else t=String(t),i&64?(o=16,t=[v(t)]):o=8;e.children=t,e.shapeFlag|=o}function Qf(...e){let t={};for(let o=0;oSt||qt,di,ps;{let e=Go(),t=(o,i)=>{let s;return(s=e[o])||(s=e[o]=[]),s.push(i),r=>{s.length>1?s.forEach(a=>a(r)):s[0](r)}};di=t("__VUE_INSTANCE_SETTERS__",o=>St=o),ps=t("__VUE_SSR_SETTERS__",o=>Ro=o)}var vs=e=>{let t=St;return di(e),e.scope.on(),()=>{e.scope.off(),di(t)}},Cl=()=>{St&&St.scope.off(),di(null)};function cd(e){return e.vnode.shapeFlag&4}var Ro=!1;function eh(e,t=!1,o=!1){t&&ps(t);let{props:i,children:s}=e.vnode,r=cd(e);$f(e,i,r,t),Bf(e,s,o||t);let a=r?th(e,t):void 0;return t&&ps(!1),a}function th(e,t){let o=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Cf);let{setup:i}=o;if(i){Wt();let s=e.setupContext=i.length>1?oh(e):null,r=vs(e),a=fs(i,e,0,[e.props,s]),u=Ji(a);if(Kt(),r(),(u||e.sp)&&!is(e)&&Dr(e),u){if(a.then(Cl,Cl),t)return a.then(p=>{ps(!0);try{El(e,p,t)}finally{ps(!1)}}).catch(p=>{hs(p,e,0)});e.asyncDep=a}else El(e,a,t)}else pd(e,t)}function El(e,t,o){Ie(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Ge(t)&&(e.setupState=ei(t)),pd(e,o)}var Sl,Nl;function pd(e,t,o){let i=e.type;if(!e.render){if(!t&&Sl&&!i.render){let s=i.template||Ar(e).template;if(s){let{isCustomElement:r,compilerOptions:a}=e.appContext.config,{delimiters:u,compilerOptions:p}=i,y=at(at({isCustomElement:r,delimiters:u},a),p);i.render=Sl(s,y)}}e.render=i.render||Pt,Nl&&Nl(e)}{let s=vs(e);Wt();try{Ef(e)}finally{Kt(),s()}}}var nh={get(e,t){return Ct(e,"get",""),e[t]}};function oh(e){let t=o=>{e.exposed=o||{}};return{attrs:new Proxy(e.attrs,nh),slots:e.slots,emit:e.emit,expose:t}}function mi(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(ei(Co(e.exposed)),{get(t,o){if(o in t)return t[o];if(o in rs)return rs[o](e)},has(t,o){return o in t||o in rs}})):e.proxy}function sh(e,t=!0){return Ie(e)?e.displayName||e.name:e.name||t&&e.__name}function ih(e){return Ie(e)&&"__vccOpts"in e}var Nt=(e,t)=>ll(e,t,Ro);function Te(e,t,o){try{ai(-1);let i=arguments.length;return i===2?Ge(t)&&!Re(t)?cs(t)?_e(e,null,[t]):_e(e,t):_e(e,null,t):(i>3?o=Array.prototype.slice.call(arguments,2):i===3&&cs(o)&&(o=[o]),_e(e,t,o))}finally{ai(1)}}var rh="3.5.44";var Vr,fd=typeof window<"u"&&window.trustedTypes;if(fd)try{Vr=fd.createPolicy("vue",{createHTML:e=>e})}catch{}var Nd=Vr?e=>Vr.createHTML(e):e=>e,ah="http://www.w3.org/2000/svg",lh="http://www.w3.org/1998/Math/MathML",wn=typeof document<"u"?document:null,hd=wn&&wn.createElement("template"),dh={insert:(e,t,o)=>{t.insertBefore(e,o||null)},remove:e=>{let t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,o,i)=>{let s=t==="svg"?wn.createElementNS(ah,e):t==="mathml"?wn.createElementNS(lh,e):o?wn.createElement(e,{is:o}):wn.createElement(e);return e==="select"&&i&&i.multiple!=null&&s.setAttribute("multiple",i.multiple),s},createText:e=>wn.createTextNode(e),createComment:e=>wn.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>wn.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,o,i,s,r){let a=o?o.previousSibling:t.lastChild;if(s&&(s===r||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),o),!(s===r||!(s=s.nextSibling)););else{hd.innerHTML=Nd(i==="svg"?`${e}`:i==="mathml"?`${e}`:e);let u=hd.content;if(i==="svg"||i==="mathml"){let p=u.firstChild;for(;p.firstChild;)u.appendChild(p.firstChild);u.removeChild(p)}t.insertBefore(u,o)}return[a?a.nextSibling:t.firstChild,o?o.previousSibling:t.lastChild]}};var uh=Symbol("_vtc");function ch(e,t,o){let i=e[uh];i&&(t=(t?[t,...i]:[...i]).join(" ")),t==null?e.removeAttribute("class"):o?e.setAttribute("class",t):e.className=t}var yi=Symbol("_vod"),Rd=Symbol("_vsh"),ee={name:"show",beforeMount(e,{value:t},{transition:o}){e[yi]=e.style.display==="none"?"":e.style.display,o&&t?o.beforeEnter(e):ys(e,t)},mounted(e,{value:t},{transition:o}){o&&t&&o.enter(e)},updated(e,{value:t,oldValue:o},{transition:i}){!t!=!o&&(i?t?(i.beforeEnter(e),ys(e,!0),i.enter(e)):i.leave(e,()=>{ys(e,!1)}):ys(e,t))},beforeUnmount(e,{value:t}){ys(e,t)}};function ys(e,t){e.style.display=t?e[yi]:"none",e[Rd]=!t}var ph=Symbol("");var fh=/(?:^|;)\s*display\s*:/;function hh(e,t,o){let i=e.style,s=nt(o),r=!1;if(o&&!s){if(t)if(nt(t))for(let a of t.split(";")){let u=a.slice(0,a.indexOf(":")).trim();o[u]==null&&bs(i,u,"")}else for(let a in t)o[a]==null&&bs(i,a,"");for(let a in o){a==="display"&&(r=!0);let u=o[a];u!=null?gh(e,a,!nt(t)&&t?t[a]:void 0,u)||bs(i,a,u):bs(i,a,"")}}else if(s){if(t!==o){let a=i[ph];a&&(o+=";"+a),i.cssText=o,r=fh.test(o)}}else t&&e.removeAttribute("style");yi in e&&((!s||t!==o)&&(e[yi]=r?i.display:""),e[Rd]&&(i.display="none"))}var gi=/\s*!important$/;function bs(e,t,o){if(Re(o))o.forEach(i=>bs(e,t,i));else if(o==null&&(o=""),t.startsWith("--"))gi.test(o)?e.setProperty(t,o.replace(gi,""),"important"):e.setProperty(t,o);else{let i=mh(e,t);gi.test(o)?e.setProperty(xt(i),o.replace(gi,""),"important"):e[i]=o}}var md=["Webkit","Moz","ms"],Ir={};function mh(e,t){let o=Ir[t];if(o)return o;let i=ft(t);if(i!=="filter"&&i in e)return Ir[t]=i;i=zn(i);for(let s=0;sMr||(Ch.then(()=>Mr=0),Mr=Date.now());function Sh(e,t){let o=i=>{if(!i._vts)i._vts=Date.now();else if(i._vts<=o.attached)return;let s=o.value;if(Re(s)){let r=i.stopImmediatePropagation;i.stopImmediatePropagation=()=>{r.call(i),i._stopped=!0};let a=s.slice(),u=[i];for(let p=0;pe.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Nh=(e,t,o,i,s,r)=>{let a=s==="svg";t==="class"?ch(e,i,a):t==="style"?hh(e,o,i):mo(t)?go(t)||yh(e,t,o,i,r):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Rh(e,t,i,a))?(yd(e,t,i),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&vd(e,t,i,a,r,t!=="value")):e._isVueCE&&(Dh(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!nt(i)))?yd(e,ft(t),i,r,t):(t==="true-value"?e._trueValue=i:t==="false-value"&&(e._falseValue=i),vd(e,t,i,a))};function Rh(e,t,o,i){if(i)return!!(t==="innerHTML"||t==="textContent"||t in e&&wd(t)&&Ie(o));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){let s=e.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return!1}return wd(t)&&nt(o)?!1:t in e}function Dh(e,t){let o=e._def.props;if(!o)return!1;let i=ft(t);return Array.isArray(o)?o.some(s=>ft(s)===i):Object.keys(o).some(s=>ft(s)===i)}var Do=e=>{let t=e.props["onUpdate:modelValue"]||!1;return Re(t)?o=>yo(t,o):t};function Ah(e){e.target.composing=!0}function kd(e){let t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}var un=Symbol("_assign"),vi=Symbol("_initialValue");function _r(e,t,o){return t&&(e=e.trim()),o&&(e=bo(e)),e}var lt={created(e,{modifiers:{lazy:t,trim:o,number:i}},s){e.parentNode&&(e.type==="text"?e[vi]=e.defaultValue.replace(/[\r\n]/g,""):e.type==="textarea"&&(e[vi]=e.defaultValue.replace(/\r\n?/g,` +`))),e[un]=Do(s);let r=i||s.props&&s.props.type==="number";An(e,t?"change":"input",a=>{a.target.composing||e[un](_r(e.value,o,r))}),(o||r)&&An(e,"change",()=>{e.value=_r(e.value,o,r)}),t||(An(e,"compositionstart",Ah),An(e,"compositionend",kd),An(e,"change",kd))},mounted(e,{value:t,modifiers:{trim:o,number:i}}){let s=t??"",r=e[vi];delete e[vi],r!==void 0&&(e.type==="text"||e.type==="textarea")&&e.value!==r?e[un](_r(e.value,o,i)):e.value=s},beforeUpdate(e,{value:t,oldValue:o,modifiers:{lazy:i,trim:s,number:r}},a){if(e[un]=Do(a),e.composing)return;let u=(r||e.type==="number")&&!/^0\d/.test(e.value)?bo(e.value):e.value,p=t??"";if(u===p)return;let y=e.getRootNode();(y instanceof Document||y instanceof ShadowRoot)&&y.activeElement===e&&e.type!=="range"&&(i&&t===o||s&&e.value.trim()===p)||(e.value=p)}},qr={deep:!0,created(e,t,o){e[un]=Do(o),An(e,"change",()=>{let i=e._modelValue,s=ws(e),r=e.checked,a=e[un];if(Re(i)){let u=Gs(i,s),p=u!==-1;if(r&&!p)a(i.concat(s));else if(!r&&p){let y=[...i];y.splice(u,1),a(y)}}else if(Ht(i)){let u=new Set(i);r?u.add(s):u.delete(s),a(u)}else a(Dd(e,r))})},mounted:Cd,beforeUpdate(e,t,o){e[un]=Do(o),Cd(e,t,o)}};function Cd(e,{value:t,oldValue:o},i){e._modelValue=t;let s;if(Re(t))s=Gs(t,i.props.value)>-1;else if(Ht(t))s=t.has(i.props.value);else{if(t===o)return;s=jt(t,Dd(e,!0))}e.checked!==s&&(e.checked=s)}var cn={deep:!0,created(e,{value:t,modifiers:{number:o}},i){e._modelValue=t,An(e,"change",()=>{let s=Array.prototype.filter.call(e.options,p=>p.selected).map(p=>o?bo(ws(p)):ws(p)),r=e.multiple,a=r?Ht(e._modelValue)?new Set(s):s:s[0],u=e._pendingValue=[r,r?Re(a)?s.slice():s:a];try{e[un](a)}finally{xe(()=>{e._pendingValue===u&&(e._pendingValue=void 0)})}}),e[un]=Do(i)},mounted(e,{value:t}){Ed(e,t)},beforeUpdate(e,{value:t},o){e._modelValue=t,e[un]=Do(o)},updated(e,{value:t}){let o=e._pendingValue;e._pendingValue=void 0,(!o||o[0]!==e.multiple||!Th(t,o[1],o[0]))&&Ed(e,t)}};function Th(e,t,o){if(!o)return jt(e,t);if(Re(e))return jt(e,t);if(Ht(e)){if(e.size!==t.length)return!1;for(let i of t)if(!e.has(i))return!1;return!0}return!1}function Ed(e,t){let o=e.multiple,i=Re(t);if(!(o&&!i&&!Ht(t))){for(let s=0,r=e.options.length;sString(y)===String(u)):a.selected=Gs(t,u)>-1}else a.selected=t.has(u);else if(jt(ws(a),t)){e.selectedIndex!==s&&(e.selectedIndex=s);return}}!o&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function ws(e){return"_value"in e?e._value:e.value}function Dd(e,t){let o=t?"_trueValue":"_falseValue";return o in e?e[o]:t}var Ph=["ctrl","shift","alt","meta"],Oh={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>Ph.some(o=>e[`${o}Key`]&&!t.includes(o))},de=(e,t)=>{if(!e)return e;let o=e._withMods||(e._withMods={}),i=t.join(".");return o[i]||(o[i]=((s,...r)=>{for(let a=0;a{let o=e._withKeys||(e._withKeys={}),i=t.join(".");return o[i]||(o[i]=(s=>{if(!("key"in s))return;let r=xt(s.key);if(t.some(a=>a===r||Ih[a]===r))return e(s)}))},Mh=at({patchProp:Nh},dh),Sd;function _h(){return Sd||(Sd=od(Mh))}var Ad=((...e)=>{let t=_h().createApp(...e),{mount:o}=t;return t.mount=i=>{let s=qh(i);if(!s)return;let r=t._component;!Ie(r)&&!r.render&&!r.template&&(r.template=s.innerHTML),s.nodeType===1&&(s.textContent="");let a=o(s,!1,Vh(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),a},t});function Vh(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function qh(e){return nt(e)?document.querySelector(e):e}var xn=typeof document<"u";function Pd(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function $h(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&Pd(e.default)}var We=Object.assign;function bi(e,t){let o={};for(let i in t){let s=t[i];o[i]=zt(s)?s.map(e):e(s)}return o}var To=()=>{},zt=Array.isArray;function Ur(e,t){let o={};for(let i in e)o[i]=i in t?t[i]:e[i];return o}var Od=/#/g,Lh=/&/g,Uh=/\//g,Fh=/=/g,Bh=/\?/g,Id=/\+/g,zh=/%5B/g,Hh=/%5D/g,Md=/%5E/g,jh=/%60/g,_d=/%7B/g,Gh=/%7C/g,Vd=/%7D/g,Wh=/%20/g;function Fr(e){return e==null?"":encodeURI(""+e).replace(Gh,"|").replace(zh,"[").replace(Hh,"]")}function qd(e){return Fr(e).replace(_d,"{").replace(Vd,"}").replace(Md,"^")}function $r(e){return Fr(e).replace(Id,"%2B").replace(Wh,"+").replace(Od,"%23").replace(Lh,"%26").replace(jh,"`").replace(_d,"{").replace(Vd,"}").replace(Md,"^")}function Kh(e){return $r(e).replace(Fh,"%3D")}function Yh(e){return Fr(e).replace(Od,"%23").replace(Bh,"%3F")}function $d(e){return Yh(e).replace(Uh,"%2F")}function Ao(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}var Xh=/\/$/,Qh=e=>e.replace(Xh,"");function wi(e,t,o="/"){let i,s={},r="",a="",u=t.indexOf("#"),p=t.indexOf("?");return p=u>=0&&p>u?-1:p,p>=0&&(i=t.slice(0,p),r=t.slice(p,u>0?u:t.length),s=e(r.slice(1))),u>=0&&(i=i||t.slice(0,u),a=t.slice(u,t.length)),i=Zh(i??t,o),{fullPath:i+r+a,path:i,query:s,hash:Ao(a)}}function Ld(e,t){let o=t.query?e(t.query):"";return t.path+(o&&"?")+o+(t.hash||"")}function Br(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function Ud(e,t,o){let i=t.matched.length-1,s=o.matched.length-1;return i>-1&&i===s&&Jn(t.matched[i],o.matched[s])&&zr(t.params,o.params)&&e(t.query)===e(o.query)&&t.hash===o.hash}function Jn(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function zr(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var o in e)if(!Jh(e[o],t[o]))return!1;return!0}function Jh(e,t){return zt(e)?Td(e,t):zt(t)?Td(t,e):e?.valueOf()===t?.valueOf()}function Td(e,t){return zt(t)?e.length===t.length&&e.every((o,i)=>o===t[i]):e.length===1&&e[0]===t}function Zh(e,t){if(e.startsWith("/"))return e;if(!e)return t;let o=t.split("/"),i=e.split("/"),s=i[i.length-1];(s===".."||s===".")&&i.push("");let r=o.length-1,a,u;for(a=0;a1&&r--;else break;return o.slice(0,r).join("/")+"/"+i.slice(a).join("/")}var Cn={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},ki=(function(e){return e.pop="pop",e.push="push",e})({}),Ci=(function(e){return e.back="back",e.forward="forward",e.unknown="",e})({});function Fd(e){if(!e)if(xn){let t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),Qh(e)}var xh=/^[^#]+#/;function Bd(e,t){return e.replace(xh,"#")+t}function em(e,t){let o=document.documentElement.getBoundingClientRect(),i=e.getBoundingClientRect();return{behavior:t.behavior,left:i.left-o.left-(t.left||0),top:i.top-o.top-(t.top||0)}}var ks=()=>({left:window.scrollX,top:window.scrollY});function zd(e){let t;if("el"in e){let o=e.el,i=typeof o=="string"&&o.startsWith("#"),s=typeof o=="string"?i?document.getElementById(o.slice(1)):document.querySelector(o):o;if(!s)return;t=em(s,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function Hr(e,t){return(history.state?history.state.position-t:-1)+e}var Lr=new Map;function Hd(e,t){Lr.set(e,t)}function jd(e){let t=Lr.get(e);return Lr.delete(e),t}function tm(e){return typeof e=="string"||e&&typeof e=="object"}function jr(e){return typeof e=="string"||typeof e=="symbol"}var rt=(function(e){return e[e.MATCHER_NOT_FOUND=1]="MATCHER_NOT_FOUND",e[e.NAVIGATION_GUARD_REDIRECT=2]="NAVIGATION_GUARD_REDIRECT",e[e.NAVIGATION_ABORTED=4]="NAVIGATION_ABORTED",e[e.NAVIGATION_CANCELLED=8]="NAVIGATION_CANCELLED",e[e.NAVIGATION_DUPLICATED=16]="NAVIGATION_DUPLICATED",e})({}),Gd=Symbol("");var vX={[rt.MATCHER_NOT_FOUND]({location:e,currentLocation:t}){return`No match for ${JSON.stringify(e)}${t?` while being at -`+JSON.stringify(t):""}`},[at.NAVIGATION_GUARD_REDIRECT]({from:e,to:t}){return`Redirected from "${e.fullPath}" to "${sm(t)}" via a navigation guard.`},[at.NAVIGATION_ABORTED]({from:e,to:t}){return`Navigation aborted from "${e.fullPath}" to "${t.fullPath}" via a navigation guard.`},[at.NAVIGATION_CANCELLED]({from:e,to:t}){return`Navigation cancelled from "${e.fullPath}" to "${t.fullPath}" with a new navigation.`},[at.NAVIGATION_DUPLICATED]({from:e,to:t}){return`Avoided redundant navigation to current location: "${e.fullPath}".`}};function xn(e,t){return We(new Error,{type:e,[Wd]:!0},t)}function fn(e,t){return e instanceof Error&&Wd in e&&(t==null||!!(e.type&t))}var om=["params","query","hash"];function sm(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;let t={};for(let o of om)o in e&&(t[o]=e[o]);return JSON.stringify(t,null,2)}function Kd(e){let t={};if(e===""||e==="?")return t;let o=(e[0]==="?"?e.slice(1):e).split("&");for(let i=0;is&&Lr(s)):[i&&Lr(i)]).forEach(s=>{s!==void 0&&(t+=(t.length?"&":"")+o,s!=null&&(t+="="+s))})}return t}function Yd(e){let t={};for(let o in e){let i=e[o];i!==void 0&&(t[o]=Ht(i)?i.map(s=>s==null?null:""+s):i==null?i:""+i)}return t}var Xd=Symbol(""),Kr=Symbol(""),Si=Symbol(""),Ni=Symbol(""),Ri=Symbol("");function Oo(){let e=[];function t(i){return e.push(i),()=>{let s=e.indexOf(i);s>-1&&e.splice(s,1)}}function o(){e=[]}return{add:t,list:()=>e.slice(),reset:o}}function Cn(e,t,o,i,s,r=a=>a()){let a=i&&(i.enterCallbacks[s]=i.enterCallbacks[s]||[]);return()=>new Promise((u,p)=>{let y=m=>{m===!1?p(xn(at.NAVIGATION_ABORTED,{from:o,to:t})):m instanceof Error?p(m):nm(m)?p(xn(at.NAVIGATION_GUARD_REDIRECT,{from:t,to:m})):(a&&i.enterCallbacks[s]===a&&typeof m=="function"&&a.push(m),u())},h=r(()=>e.call(i&&i.instances[s],t,o,y)),b=Promise.resolve(h);e.length<3&&(b=b.then(y)),b.catch(m=>p(m))})}function Di(e,t,o,i,s=r=>r()){let r=[];for(let a of e)for(let u in a.components){let p=a.components[u];if(!(t!=="beforeRouteEnter"&&!a.instances[u]))if(Od(p)){let y=(p.__vccOpts||p)[t];y&&r.push(Cn(y,o,i,a,u,s))}else{let y=p();r.push(()=>y.then(h=>{if(!h)throw new Error(`Couldn't resolve component "${u}" at "${a.path}"`);let b=Lh(h)?h.default:h;a.mods[u]=h,a.components[u]=b;let m=(b.__vccOpts||b)[t];return m&&Cn(m,o,i,a,u,s)()}))}}return r}function Qd(e,t){let o=[],i=[],s=[],r=Math.max(t.matched.length,e.matched.length);for(let a=0;aZn(y,u))?i.push(u):o.push(u));let p=e.matched[a];p&&(t.matched.find(y=>Zn(y,p))||s.push(p))}return[o,i,s]}var im=()=>location.protocol+"//"+location.host;function au(e,t){let{pathname:o,search:i,hash:s}=t,r=e.indexOf("#");if(r>-1){let a=s.includes(e.slice(r))?e.slice(r).length:1,u=s.slice(a);return u[0]!=="/"&&(u="/"+u),zr(u,"")}return zr(o,e)+i+s}function rm(e,t,o,i){let s=[],r=[],a=null,u=({state:m})=>{let w=au(e,location),A=o.value,S=t.value,R=0;if(m){if(o.value=w,t.value=m,a&&a===A){a=null;return}R=S?m.position-S.position:0}else i(w);s.forEach(g=>{g(o.value,A,{delta:R,type:Ci.pop,direction:R?R>0?Ei.forward:Ei.back:Ei.unknown})})};function p(){a=o.value}function y(m){s.push(m);let w=()=>{let A=s.indexOf(m);A>-1&&s.splice(A,1)};return r.push(w),w}function h(){if(document.visibilityState==="hidden"){let{history:m}=window;if(!m.state)return;m.replaceState(We({},m.state,{scroll:Cs()}),"")}}function b(){for(let m of r)m();r=[],window.removeEventListener("popstate",u),window.removeEventListener("pagehide",h),document.removeEventListener("visibilitychange",h)}return window.addEventListener("popstate",u),window.addEventListener("pagehide",h),document.addEventListener("visibilitychange",h),{pauseListeners:p,listen:y,destroy:b}}function Jd(e,t,o,i=!1,s=!1){return{back:e,current:t,forward:o,replaced:i,position:window.history.length,scroll:s?Cs():null}}function am(e){let{history:t,location:o}=window,i={value:au(e,o)},s={value:t.state};s.value||r(i.value,{back:null,current:i.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function r(p,y,h){let b=e.indexOf("#"),m=b>-1?(o.host&&document.querySelector("base")?e:e.slice(b))+p:im()+e+p;try{t[h?"replaceState":"pushState"](y,"",m),s.value=y}catch(w){console.error(w),o[h?"replace":"assign"](m)}}function a(p,y){r(p,We({},t.state,Jd(s.value.back,p,s.value.forward,!0),y,{position:s.value.position}),!0),i.value=p}function u(p,y){let h=We({},s.value,t.state,{forward:p,scroll:Cs()});r(h.current,h,!0),r(p,We({},Jd(i.value,p,null),{position:h.position+1},y),!1),i.value=p}return{location:i,state:s,push:u,replace:a}}function lu(e){e=Bd(e);let t=am(e),o=rm(e,t.state,t.location,t.replace);function i(r,a=!0){a||o.pauseListeners(),history.go(r)}let s=We({location:"",base:e,go:i,createHref:zd.bind(null,e)},t,o);return Object.defineProperty(s,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(s,"state",{enumerable:!0,get:()=>t.state.value}),s}var to=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e})({}),vt=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.ParamRegExp=2]="ParamRegExp",e[e.ParamRegExpEnd=3]="ParamRegExpEnd",e[e.EscapeNext=4]="EscapeNext",e})(vt||{}),lm={type:to.Static,value:""},dm=/[a-zA-Z0-9_]/;function um(e){if(!e)return[[]];if(e==="/")return[[lm]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(w){throw new Error(`ERR (${o})/"${y}": ${w}`)}let o=vt.Static,i=o,s=[],r;function a(){r&&s.push(r),r=[]}let u=0,p,y="",h="";function b(){y&&(o===vt.Static?r.push({type:to.Static,value:y}):o===vt.Param||o===vt.ParamRegExp||o===vt.ParamRegExpEnd?(r.length>1&&(p==="*"||p==="+")&&t(`A repeatable param (${y}) must be alone in its segment. eg: '/:ids+.`),r.push({type:to.Param,value:y,regexp:h,repeatable:p==="*"||p==="+",optional:p==="*"||p==="?"})):t("Invalid state to consume buffer"),y="")}function m(){y+=p}for(;ut.length?t.length===1&&t[0]===At.Static+At.Segment?1:-1:0}function du(e,t){let o=0,i=e.score,s=t.score;for(;o0&&t[t.length-1]<0}var mm={strict:!1,end:!0,sensitive:!1};function gm(e,t,o){let i=fm(um(e.path),o),s=We(i,{record:e,parent:t,children:[],alias:[]});return t&&!s.record.aliasOf==!t.record.aliasOf&&t.children.push(s),s}function vm(e,t){let o=[],i=new Map;t=Fr(mm,t);function s(b){return i.get(b)}function r(b,m,w){let A=!w,S=tu(b);S.aliasOf=w&&w.record;let R=Fr(t,b),g=[S];if("alias"in b){let V=typeof b.alias=="string"?[b.alias]:b.alias;for(let q of V)g.push(tu(We({},S,{components:w?w.record.components:S.components,path:q,aliasOf:w?w.record:S})))}let C,I;for(let V of g){let{path:q}=V;if(m&&q[0]!=="/"){let j=m.record.path,te=j[j.length-1]==="/"?"":"/";V.path=m.record.path+(q&&te+q)}if(C=gm(V,m,R),w?w.alias.push(C):(I=I||C,I!==C&&I.alias.push(C),A&&b.name&&!nu(C)&&a(b.name)),uu(C)&&p(C),S.children){let j=S.children;for(let te=0;te{a(I)}:Po}function a(b){if(Gr(b)){let m=i.get(b);m&&(i.delete(b),o.splice(o.indexOf(m),1),m.children.forEach(a),m.alias.forEach(a))}else{let m=o.indexOf(b);m>-1&&(o.splice(m,1),b.record.name&&i.delete(b.record.name),b.children.forEach(a),b.alias.forEach(a))}}function u(){return o}function p(b){let m=wm(b,o);o.splice(m,0,b),b.record.name&&!nu(b)&&i.set(b.record.name,b)}function y(b,m){let w,A={},S,R;if("name"in b&&b.name){if(w=i.get(b.name),!w)throw xn(at.MATCHER_NOT_FOUND,{location:b});R=w.record.name,A=We(eu(m.params,w.keys.filter(I=>!I.optional).concat(w.parent?w.parent.keys.filter(I=>I.optional):[]).map(I=>I.name)),b.params&&eu(b.params,w.keys.map(I=>I.name))),S=w.stringify(A)}else if(b.path!=null)S=b.path,w=o.find(I=>I.re.test(S)),w&&(A=w.parse(S),R=w.record.name);else{if(w=m.name?i.get(m.name):o.find(I=>I.re.test(m.path)),!w)throw xn(at.MATCHER_NOT_FOUND,{location:b,currentLocation:m});R=w.record.name,A=We({},m.params,b.params),S=w.stringify(A)}let g=[],C=w;for(;C;)g.unshift(C.record),C=C.parent;return{name:R,path:S,params:A,matched:g,meta:bm(g)}}e.forEach(b=>r(b));function h(){o.length=0,i.clear()}return{addRoute:r,resolve:y,removeRoute:a,clearRoutes:h,getRoutes:u,getRecordMatcher:s}}function eu(e,t){let o={};for(let i of t)i in e&&(o[i]=e[i]);return o}function tu(e){let t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:ym(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function ym(e){let t={},o=e.props||!1;if("component"in e)t.default=o;else for(let i in e.components)t[i]=typeof o=="object"?o[i]:o;return t}function nu(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function bm(e){return e.reduce((t,o)=>We(t,o.meta),{})}function wm(e,t){let o=0,i=t.length;for(;o!==i;){let r=o+i>>1;du(e,t[r])<0?i=r:o=r+1}let s=km(e);return s&&(i=t.lastIndexOf(s,i-1)),i}function km(e){let t=e;for(;t=t.parent;)if(uu(t)&&du(e,t)===0)return t}function uu({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function ou(e){let t=_t(Si),o=_t(Ni),i=!1,s=null,r=Nt(()=>{let h=yn(e.to);return t.resolve(h)}),a=Nt(()=>{let{matched:h}=r.value,{length:b}=h,m=h[b-1],w=o.matched;if(!m||!w.length)return-1;let A=w.findIndex(Zn.bind(null,m));if(A>-1)return A;let S=su(h[b-2]);return b>1&&su(m)===S&&w[w.length-1].path!==S?w.findIndex(Zn.bind(null,h[b-2])):A}),u=Nt(()=>a.value>-1&&Rm(o.params,r.value.params)),p=Nt(()=>a.value>-1&&a.value===o.matched.length-1&&Hr(o.params,r.value.params));function y(h={}){if(Nm(h)){let b=t[yn(e.replace)?"replace":"push"](yn(e.to)).catch(Po);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>b),b}return Promise.resolve()}return{route:r,href:Nt(()=>r.value.href),isActive:u,isExactActive:p,navigate:y}}function Cm(e){return e.length===1?e[0]:e}var Em=gs({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:ou,setup(e,{slots:t}){let o=st(ou(e)),{options:i}=_t(Si),s=Nt(()=>({[iu(e.activeClass,i.linkActiveClass,"router-link-active")]:o.isActive,[iu(e.exactActiveClass,i.linkExactActiveClass,"router-link-exact-active")]:o.isExactActive}));return()=>{let r=t.default&&Cm(t.default(o));return e.custom?r:Pe("a",{"aria-current":o.isExactActive?e.ariaCurrentValue:null,href:o.href,onClick:o.navigate,class:s.value},r)}}}),Sm=Em;function Nm(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){let t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function Rm(e,t){for(let o in t){let i=t[o],s=e[o];if(typeof i=="string"){if(i!==s)return!1}else if(!Ht(s)||s.length!==i.length||i.some((r,a)=>r.valueOf()!==s[a].valueOf()))return!1}return!0}function su(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}var iu=(e,t,o)=>e??t??o,Dm=gs({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:o}){let i=_t(Ri),s=Nt(()=>e.route||i.value),r=_t(Kr,0),a=Nt(()=>{let y=yn(r),{matched:h}=s.value,b;for(;(b=h[y])&&!b.components;)y++;return y}),u=Nt(()=>s.value.matched[a.value]);Qn(Kr,Nt(()=>a.value+1)),Qn(Xd,u),Qn(Ri,s);let p=Et();return rt(()=>[p.value,u.value,e.name],([y,h,b],[m,w,A])=>{h&&(h.instances[b]=y,w&&w!==h&&y&&y===m&&(h.leaveGuards.size||(h.leaveGuards=w.leaveGuards),h.updateGuards.size||(h.updateGuards=w.updateGuards))),y&&h&&(!w||!Zn(h,w)||!m)&&(h.enterCallbacks[b]||[]).forEach(S=>S(y))},{flush:"post"}),()=>{let y=s.value,h=e.name,b=u.value,m=b&&b.components[h];if(!m)return ru(o.default,{Component:m,route:y});let w=b.props[h],A=w?w===!0?y.params:typeof w=="function"?w(y):w:null,R=Pe(m,We({},A,t,{onVnodeUnmounted:g=>{g.component.isUnmounted&&(b.instances[h]=null)},ref:p}));return ru(o.default,{Component:R,route:y})||R}}});function ru(e,t){if(!e)return null;let o=e(t);return o.length===1?o[0]:o}var Yr=Dm;function cu(e){let t=vm(e.routes,e),o=e.parseQuery||Kd,i=e.stringifyQuery||Wr,s=e.history,r=Oo(),a=Oo(),u=Oo(),p=ei(En),y=En;eo&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");let h=wi.bind(null,X=>""+X),b=wi.bind(null,Ld),m=wi.bind(null,To);function w(X,me){let M,U;return Gr(X)?(M=t.getRecordMatcher(X),U=me):U=X,t.addRoute(U,M)}function A(X){let me=t.getRecordMatcher(X);me&&t.removeRoute(me)}function S(){return t.getRoutes().map(X=>X.record)}function R(X){return!!t.getRecordMatcher(X)}function g(X,me){if(me=We({},me||p.value),typeof X=="string"){let N=ki(o,X,me.path),O=t.resolve({path:N.path},me),H=s.createHref(N.fullPath);return We(N,O,{params:m(O.params),hash:To(N.hash),redirectedFrom:void 0,href:H})}let M;if(X.path!=null)M=We({},X,{path:ki(o,X.path,me.path).path});else{let N=We({},X.params);for(let O in N)N[O]==null&&delete N[O];M=We({},X,{params:b(N)}),me.params=b(me.params)}let U=t.resolve(M,me),F=X.hash||"";U.params=h(m(U.params));let W=Ud(i,We({},X,{hash:$d(F),path:U.path})),E=s.createHref(W);return We({fullPath:W,hash:F,query:i===Wr?Yd(X.query):X.query||{}},U,{redirectedFrom:void 0,href:E})}function C(X){return typeof X=="string"?ki(o,X,p.value.path):We({},X)}function I(X,me){if(y!==X)return xn(at.NAVIGATION_CANCELLED,{from:me,to:X})}function V(X){return te(X)}function q(X){return V(We(C(X),{replace:!0}))}function j(X,me){let M=X.matched[X.matched.length-1];if(M&&M.redirect){let{redirect:U}=M,F=typeof U=="function"?U(X,me):U;return typeof F=="string"&&(F=F.includes("?")||F.includes("#")?F=C(F):{path:F},F.params={}),We({query:X.query,hash:X.hash,params:F.path!=null?{}:X.params},F)}}function te(X,me){let M=y=g(X),U=p.value,F=X.state,W=X.force,E=X.replace===!0,N=j(M,U);if(N)return te(We(C(N),{state:typeof N=="object"?We({},F,N.state):F,force:W,replace:E}),me||M);let O=M;O.redirectedFrom=me;let H;return!W&&Fd(i,U,M)&&(H=xn(at.NAVIGATION_DUPLICATED,{to:O,from:U}),nt(U,U,!0,!1)),(H?Promise.resolve(H):Ce(O,U)).catch(B=>fn(B)?fn(B,at.NAVIGATION_GUARD_REDIRECT)?B:Ze(B):be(B,O,U)).then(B=>{if(B){if(fn(B,at.NAVIGATION_GUARD_REDIRECT))return te(We({replace:E},C(B.to),{state:typeof B.to=="object"?We({},F,B.to.state):F,force:W}),me||O)}else B=ee(O,U,!0,E,F);return D(O,U,B),B})}function Y(X,me){let M=I(X,me);return M?Promise.reject(M):Promise.resolve()}function oe(X){let me=lt.values().next().value;return me&&typeof me.runWithContext=="function"?me.runWithContext(X):X()}function Ce(X,me){let M,[U,F,W]=Qd(X,me);M=Di(U.reverse(),"beforeRouteLeave",X,me);for(let N of U)N.leaveGuards.forEach(O=>{M.push(Cn(O,X,me))});let E=Y.bind(null,X,me);return M.push(E),bt(M).then(()=>{M=[];for(let N of r.list())M.push(Cn(N,X,me));return M.push(E),bt(M)}).then(()=>{M=Di(F,"beforeRouteUpdate",X,me);for(let N of F)N.updateGuards.forEach(O=>{M.push(Cn(O,X,me))});return M.push(E),bt(M)}).then(()=>{M=[];for(let N of W)if(N.beforeEnter)if(Ht(N.beforeEnter))for(let O of N.beforeEnter)M.push(Cn(O,X,me));else M.push(Cn(N.beforeEnter,X,me));return M.push(E),bt(M)}).then(()=>(X.matched.forEach(N=>N.enterCallbacks={}),M=Di(W,"beforeRouteEnter",X,me,oe),M.push(E),bt(M))).then(()=>{M=[];for(let N of a.list())M.push(Cn(N,X,me));return M.push(E),bt(M)}).catch(N=>fn(N,at.NAVIGATION_CANCELLED)?N:Promise.reject(N))}function D(X,me,M){u.list().forEach(U=>oe(()=>U(X,me,M)))}function ee(X,me,M,U,F){let W=I(X,me);if(W)return W;let E=me===En,N=eo?history.state:{};M&&(U||E?s.replace(X.fullPath,We({scroll:E&&N&&N.scroll},F)):s.push(X.fullPath,F)),p.value=X,nt(X,me,M,E),Ze()}let ce;function Oe(){ce||(ce=s.listen((X,me,M)=>{if(!ct.listening)return;let U=g(X),F=j(U,ct.currentRoute.value);if(F){te(We(F,{replace:!0,force:!0}),U).catch(Po);return}y=U;let W=p.value;eo&&jd(jr(W.fullPath,M.delta),Cs()),Ce(U,W).catch(E=>fn(E,at.NAVIGATION_ABORTED|at.NAVIGATION_CANCELLED)?E:fn(E,at.NAVIGATION_GUARD_REDIRECT)?(te(We(C(E.to),{force:!0}),U).then(N=>{fn(N,at.NAVIGATION_ABORTED|at.NAVIGATION_DUPLICATED)&&!M.delta&&M.type===Ci.pop&&s.go(-1,!1)}).catch(Po),Promise.reject()):(M.delta&&s.go(-M.delta,!1),be(E,U,W))).then(E=>{E=E||ee(U,W,!1),E&&(M.delta&&!fn(E,at.NAVIGATION_CANCELLED)?s.go(-M.delta,!1):M.type===Ci.pop&&fn(E,at.NAVIGATION_ABORTED|at.NAVIGATION_DUPLICATED)&&s.go(-1,!1)),D(U,W,E)}).catch(Po)}))}let ke=Oo(),de=Oo(),ie;function be(X,me,M){Ze(X);let U=de.list();return U.length?U.forEach(F=>F(X,me,M)):console.error(X),Promise.reject(X)}function Ae(){return ie&&p.value!==En?Promise.resolve():new Promise((X,me)=>{ke.add([X,me])})}function Ze(X){return ie||(ie=!X,Oe(),ke.list().forEach(([me,M])=>X?M(X):me()),ke.reset()),X}function nt(X,me,M,U){let{scrollBehavior:F}=e;if(!eo||!F)return Promise.resolve();let W=!M&&Gd(jr(X.fullPath,0))||(U||!M)&&history.state&&history.state.scroll||null;return Je().then(()=>F(X,me,W)).then(E=>E&&Hd(E)).catch(E=>be(E,X,me))}let it=X=>s.go(X),Ye,lt=new Set,ct={currentRoute:p,listening:!0,addRoute:w,removeRoute:A,clearRoutes:t.clearRoutes,hasRoute:R,getRoutes:S,resolve:g,options:e,push:V,replace:q,go:it,back:()=>it(-1),forward:()=>it(1),beforeEach:r.add,beforeResolve:a.add,afterEach:u.add,onError:de.add,isReady:Ae,install(X){X.component("RouterLink",Sm),X.component("RouterView",Yr),X.config.globalProperties.$router=ct,Object.defineProperty(X.config.globalProperties,"$route",{enumerable:!0,get:()=>yn(p)}),eo&&!Ye&&p.value===En&&(Ye=!0,V(s.location).catch(U=>{}));let me={};for(let U in En)Object.defineProperty(me,U,{get:()=>p.value[U],enumerable:!0});X.provide(Si,ct),X.provide(Ni,ts(me)),X.provide(Ri,p);let M=X.unmount;lt.add(X),X.unmount=function(){lt.delete(X),lt.size<1&&(y=En,ce&&ce(),ce=null,p.value=En,Ye=!1,ie=!1),M()}}};function bt(X){return X.reduce((me,M)=>me.then(()=>oe(M)),Promise.resolve())}return ct}function pu(e){return _t(Ni)}function Ti(e){return["author_pass","repo_extend","repo_never","repo_slot","repo_pack"].includes(e)}var Ai=new WeakMap;function Pi(e){if(!Ai.has(e)){let t=e.get("/api/billing/").finally(()=>Ai.delete(e));Ai.set(e,t)}return Ai.get(e)}function Oi(e,t,o=()=>{},i={}){let s=new URLSearchParams(window.location.search).get("billing");e.billing=null,e.billingLoading=!0,e.billingBusy=!1,e.billingError="",e.billingNotice="",e.billingPending=s==="success",e.billingRepository="";let r={billing_invalid_draft:"This draft could not be saved. Your form is unchanged. Try again.",billing_draft_not_found:"This checkout draft is unavailable or expired. Your local form is unchanged.",billing_recovery_required:"Your earlier payment needs verification. Please contact support before paying again.",billing_checkout_disabled:"New purchases are temporarily unavailable. You can still manage existing billing.",billing_unavailable:"Payments are not available yet. Please try again later.",billing_subscription_exists:"You already have a subscription. Use Manage billing to change or cancel it.",billing_checkout_in_progress:"You have another checkout open. Complete it, or wait up to 30 minutes for it to expire, before choosing a different option.",billing_busy:"Another billing request is processing. Please try again shortly.",billing_already_paid:"This repository or conference already has this paid option.",billing_invalid_review_window:"Conference packages cover up to 180 days. Check the review dates.",billing_invalid_conference:"Only a conference owner can pay for a conference awaiting payment.",repo_not_found:"Enter the ID of an existing repository that you own."};e.billingAmount=p=>p?.amount==null?"":new Intl.NumberFormat(void 0,{style:"currency",currency:p.currency,minimumFractionDigits:p.amount%100?2:0,maximumFractionDigits:2}).format(p.amount/100),e.billingPrice=p=>p.amount==null?"Price shown at checkout":e.billingAmount(p)+(p.interval?` / ${p.intervalCount>1?p.intervalCount+" ":""}${p.interval}`:" once"),e.billingPerMonth=p=>p?.amount==null?"":new Intl.NumberFormat(void 0,{style:"currency",currency:p.currency}).format(p.amount/1200),e.billingBytes=p=>{let y=Number(p)||0;if(y<1024)return`${y} B`;let h=Math.min(4,Math.floor(Math.log2(y)/10));return`${new Intl.NumberFormat(void 0,{maximumFractionDigits:1}).format(y/1024**h)} ${["B","KB","MB","GB","TB"][h]}`},e.billingDate=p=>p?new Date(p).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"}):"",e.loadBilling=()=>(e.billingError="",e.billingLoading=!0,Pi(t).then(p=>{e.billing=p.data,e.emit?.("billing:updated",p.data)}).catch(()=>{e.billingError="Billing could not be loaded. Try again."}).finally(()=>{e.billingLoading=!1}));async function a(p,y,h=!0){if(!(e.billingBusy||!e.billing?.csrf)){e.billingBusy=!0,e.billingError="";try{let b=await t.post(`/api/billing/${p}`,y,{headers:{"x-csrf-token":e.billing.csrf}});if(h)window.location.assign(b.data.url);else return await e.loadBilling(),await o(),e.billingPending=!!b.data.pending,e.emit?.("billing:pending",e.billingPending),e.billingNotice=b.data.pending?"Your payment is still pending. Please do not pay again.":i.confirmedMessage||"Billing status refreshed. Your confirmed access appears below.",b.data}catch(b){e.billingError=r[b.data?.error]||"The billing request failed. Please try again."}finally{e.billingBusy=!1}}}e.checkout=(p,y="",h={})=>a("checkout",{planId:p,target:y,...h}),e.billingPortal=()=>a("portal",{}),e.refreshBilling=()=>a("refresh",{},!1);async function u(){for(let p=0;p<5;p++){let y=await e.refreshBilling();if(!y||!y.pending)return;await new Promise(h=>window.setTimeout(h,3e3))}e.billingNotice="Confirmation is taking longer than usual. You can refresh payment status later. Please do not pay again."}e.loadBilling().then(()=>{s==="success"?(e.billingNotice="Checking your payment. Paid access starts after confirmation.",u()):s==="portal"?e.refreshBilling().then(()=>{e.billingPending=!1,e.emit?.("billing:pending",!1),e.billingNotice=i.portalMessage?.(e.billing)||"Your billing details are up to date."}):s==="cancelled"&&(e.billingNotice="Checkout was closed. No new paid access has been activated.")})}function fu(e,t){return t?.split(".").reduce((o,i)=>o?.[i],e)}function Xr(e=null,t=new Map){let o=st({}),i=[],s=!1,r=new Proxy(o,{get(a,u){return typeof u=="string"&&u.startsWith("__v_")||Reflect.has(a,u)?Reflect.get(a,u):e?.[u]}});return Object.defineProperty(o,"parent",{value:e,configurable:!0}),Object.defineProperty(o,"viewState",{get:()=>r}),r.watch=(a,u,p=!1,y=!0)=>{let h=typeof a=="function"?()=>a(r):()=>fu(r,a),b=rt(h,u,{deep:p,flush:"post"});return i.push(b),y&&Je(()=>{s||u(h(),h())}),b},r.watchGroup=(a,u,p=!0)=>r.watch(()=>a.map(y=>fu(r,y)),u,!0,p),r.on=(a,u)=>{if(a==="dispose")return i.push(u),()=>{};t.has(a)||t.set(a,new Set),t.get(a).add(u);let p=()=>t.get(a)?.delete(u);return i.push(p),p},r.emit=(a,...u)=>{for(let p of[...t.get(a)||[]])p({},...u)},r.dispose=()=>{s=!0,i.splice(0).reverse().forEach(a=>a())},Wn(r.dispose),r}function Tt(){let e=new Set,t=new Set,o=!1,i=(r,a=0)=>{if(o)return;let u=setTimeout(()=>{e.delete(u),r()},a);return e.add(u),u};i.cancel=r=>{clearTimeout(r),e.delete(r)};let s=(r,a)=>{if(o)return;let u=setInterval(r,a);return t.add(u),u};return s.cancel=r=>{clearInterval(r),t.delete(r)},Wn(()=>{o=!0,e.forEach(clearTimeout),t.forEach(clearInterval)}),{timeout:i,interval:s}}function Jt(){let e=new Set;return Wn(()=>{e.forEach(t=>t()),e.clear()}),(t,o,i,s)=>{t.addEventListener(o,i,s);let r=()=>{t.removeEventListener(o,i,s),e.delete(r)};return e.add(r),r}}function Qr(e,t,o){let i,s=!1,r="form-draft:"+o,a=()=>Object.fromEntries(t.map(m=>[m,e[m]])),u=()=>JSON.stringify(a()),p=m=>{for(let w of t)Object.prototype.hasOwnProperty.call(m,w)&&(e[w]=m[w]);e.options?.expirationDate&&(e.options.expirationDate=new Date(e.options.expirationDate))},y=()=>{try{window.sessionStorage.removeItem(r)}catch{}},h=(m=!1)=>{if(i!==void 0){if(m&&document.querySelectorAll("input, select, textarea").forEach(w=>{w._field?.binding.state===e&&w._field.timer&&w._field.commit()}),e.unsavedChanges=u()!==i,e.draftSaved=!1,!e.unsavedChanges){y();return}try{window.sessionStorage.setItem(r,JSON.stringify({account:e.user?.username||null,savedAt:Date.now(),values:a()})),e.draftSaved=!0}catch{}}},b=()=>h(!0);return e.on("routeLeave",b),window.addEventListener("beforeunload",b),e.on("dispose",()=>window.removeEventListener("beforeunload",b)),{restore(){i=u();let m;try{m=JSON.parse(window.sessionStorage.getItem(r)||"null")}catch{}let w=m&&m.account===(e.user?.username||null)&&Date.now()-m.savedAt<30*6e4&&m.values;return w&&(p(m.values),e.draftRestored=!0),s||(s=!0,e.watch(()=>a(),()=>h(),!0)),e.unsavedChanges=u()!==i,!!w},checkpoint(){return document.querySelectorAll("input, select, textarea").forEach(m=>{m._field?.binding.state===e&&m._field.timer&&m._field.commit()}),JSON.parse(u())},accept(m){i=JSON.stringify(m),e.draftRestored=!1,h()},discard(){document.querySelectorAll("input, select, textarea").forEach(m=>{m._field?.binding.state!==e||!m._field.timer||(clearTimeout(m._field.timer),m._field.timer=null,m.value=m._field.binding.value??"")}),i!==void 0&&p(JSON.parse(i)),e.draftRestored=!1,h()},clear(){i=u(),e.unsavedChanges=!1,e.draftRestored=!1,e.draftSaved=!1,y()}}}var ea={};Np(ea,{bigNum:()=>Tm,date:()=>Um,dateEcho:()=>Zr,diff:()=>Im,duration:()=>no,filter:()=>$m,humanFileSize:()=>Am,humanTime:()=>Jr,limitTo:()=>qm,money:()=>_m,number:()=>Mm,orderBy:()=>Lm,plural:()=>Fm,shortDate:()=>xr,statusLabel:()=>Om,statusMsg:()=>Ii,title:()=>Pm,uppercase:()=>Vm});var Am=e=>String(window.humanFileSize(e)).replace(/([KMGTPEZY])iB$/,"$1B").replace(/\.0 ([KMGTPEZY]?B)$/," $1"),Tm=(function(){return function(t){let o=Number(t)||0,i=Math.abs(o);return i<1e3?String(o):i<1e4?(o/1e3).toFixed(1).replace(/\.0$/,"")+"k":i<1e6?Math.round(o/1e3)+"k":i<1e7?(o/1e6).toFixed(1).replace(/\.0$/,"")+"M":Math.round(o/1e6)+"M"}})(),Jr=(function(){return function(t){if(!t)return"never";var o=null;t instanceof Date&&(o=t,t=Math.round((Date.now()-t)/1e3)),(typeof t=="string"||typeof t=="number")&&(o=new Date(t),t=Math.round((Date.now()-o)/1e3));var i=t<0?"from now":"ago";if(Math.abs(t)>7200*24)return(o&&!isNaN(o)?o:new Date(Date.now()-t*1e3)).toLocaleDateString(void 0,{day:"numeric",month:"short",year:"numeric"});t=Math.abs(t);for(var s=[t/60/60/24/365,t/60/60/24/30,t/60/60/24/7,t/60/60/24,t/60/60,t/60,t],r=["year","month","week","day","hour","minute","second"],a=0;a1&&(p+="s"),u>=1)return u+" "+p+" "+i}return"0 seconds "+i}})(),Pm=(function(){return function(e){if(!e)return e;e=e.toLowerCase();var t=e.split(" "),o=t.map(function(i){return i.charAt(0).toUpperCase()+i.substring(1,i.length)});return o.join(" ")}})(),Om=(function(){var e={ready:"Ready",error:"Error",expired:"Expired",expiring:"Expiring",removed:"Removed",removing:"Removing",queue:"Queued",download:"Downloading",downloaded:"Downloaded",preparing:"Preparing",anonymizing:"Anonymizing"};return function(t){if(!t)return"";if(e[t])return e[t];var o=String(t).replace(/[_-]+/g," ").toLowerCase();return o.charAt(0).toUpperCase()+o.slice(1)}})(),Ii=(function(){var e={branch_not_found:"Branch not found on GitHub",repo_not_found:"Repository not found on GitHub",repository_not_found:"Repository not found on GitHub",repo_not_accessible:"Repository is not accessible with your token",pr_not_found:"Pull request not found on GitHub",gist_not_found:"Gist not found on GitHub",commit_not_found:"Commit not found on GitHub",repo_too_big:"Repository exceeds the size limit",repository_too_big:"Repository exceeds the size limit",quota_exceeded:"Storage quota exceeded",incomplete_record:"Incomplete record: missing identifier"};return function(t){if(!t)return t;var o=t.match(/^rate_limited:(\d+)$/);if(o){var i=Math.max(0,Math.ceil((parseInt(o[1],10)-Date.now())/1e3));if(i<=0)return"Rate limited \u2014 resuming soon";var s=Math.floor(i/60),r=i%60;return"Rate limited \u2014 retrying in "+(s>0?s+"m "+r+"s":r+"s")}if(e[t])return e[t];var a=/^([a-z0-9]+(?:_[a-z0-9]+)+):\s*\S/.exec(t);if(a){if(e[a[1]])return e[a[1]];var u=a[1].replace(/_/g," ");return u.charAt(0).toUpperCase()+u.slice(1)}if(/^[a-z0-9]+(_[a-z0-9]+)+$/.test(t)){var p=t.replace(/_/g," ");return p.charAt(0).toUpperCase()+p.slice(1)}return t}})(),Im=(function(e){let t=i=>i.replace(/&/g,"&").replace(//g,">");function o(i,s){if(!s)return;let r=s.newPath&&s.newPath!=="/dev/null"?s.newPath:s.oldPath||"",a=s.oldPath==="/dev/null"?"added":s.newPath==="/dev/null"?"deleted":s.oldPath&&s.newPath&&s.oldPath!==s.newPath?"renamed":"modified";if(i.push('
'),i.push('
'+t(r)+''+a+"
"),s.lines.length){i.push('');for(let u of s.lines)i.push('");i.push("
'+(u.oldNo||"")+''+(u.newNo||"")+''+(u.kind==="add"?"+":u.kind==="remove"?"-":"")+''+t(u.text)+"
")}i.push("
")}return function(i){if(!i)return i;let s=[],r=null,a=0,u=0,p=()=>(r||(r={oldPath:"",newPath:"",lines:[]}),r),y=()=>{r&&(r.lines.length||r.oldPath||r.newPath)&&(o(s,r),r=null)},h=i.split(` -`);for(let b=0;be});function Mm(e,t){return e==null?"":Number(e).toLocaleString(void 0,t==null?{}:{minimumFractionDigits:t,maximumFractionDigits:t})}function _m(e,t="EUR"){let o=Number(e)||0;return new Intl.NumberFormat(void 0,{style:"currency",currency:t,minimumFractionDigits:o%1?2:0,maximumFractionDigits:2}).format(o)}function Vm(e){return String(e??"").toUpperCase()}function qm(e,t,o=0){return(e||[]).slice(o,o+t)}function $m(e,t){return Array.isArray(e)?typeof t=="function"?e.filter(t):e:[]}function Lm(e,t){if(!t)return e||[];let o=Array.isArray(t)?t:[t];return[...e||[]].sort((i,s)=>{for(let r of o){let a=r[0]==="-"?-1:1;r=r.replace(/^[+-]/,"");let u=r.split(".").reduce((y,h)=>y?.[h],i),p=r.split(".").reduce((y,h)=>y?.[h],s);if(typeof u=="string"&&(u=u.toLowerCase()),typeof p=="string"&&(p=p.toLowerCase()),u!==p)return(u==null?-1:p==null?1:ui[s])}function Fm(e,t){return(t?.[e]??t?.[e===1?"one":"other"]??"").replace(/\{\}/g,e??0)}function Zr(e){if(!e)return"";let t=/^(\d{4})-(\d{2})-(\d{2})$/.exec(String(e)),o=t?new Date(+t[1],+t[2]-1,+t[3]):new Date(e);if(isNaN(o))return"";let i=o.toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"}),s=new Date;s.setHours(0,0,0,0);let r=Math.round((o-s)/864e5),a;if(r===0)a="today";else if(r===1)a="tomorrow";else if(r===-1)a="yesterday";else{let u=Math.abs(r),p=Math.round(u/30.44),y=u<14?[u,"day"]:u<60?[Math.round(u/7),"week"]:p<18?[p,"month"]:[Math.round(u/365.25),"year"],h=y[0]+" "+y[1]+(y[0]===1?"":"s");a=r>0?"in "+h:h+" ago"}return i+" \xB7 "+a}function no(e){if(e==null||e===""||isNaN(e))return"";e=Number(e);let t="\u202F";if(e<1e3)return+(e<10?e.toFixed(2):e<100?e.toFixed(1):Math.round(e))+t+"ms";let o=e/1e3;if(o<60)return+(o<10?o.toFixed(2):o.toFixed(1))+t+"s";let i=r=>String(r).padStart(2,"0"),s=Math.round(o);return s<3600?Math.floor(s/60)+"m "+i(s%60)+"s":Math.floor(s/3600)+"h "+i(Math.floor(s%3600/60))+"m"}function xr(e){if(!e)return"";let t=new Date(e);if(isNaN(t))return"";let o={day:"numeric",month:"short"};return t.getFullYear()!==new Date().getFullYear()&&(o.year="numeric"),t.toLocaleDateString(void 0,o)}var Mi=e=>["preparing","download","downloading","downloaded","queue","anonymizing"].includes(e)?"preparing":e==="expiring"?"expired":e==="removing"?"removed":e;function _i(e,{flags:t,keys:o,count:i,onChange:s=()=>{}}){if(e.segView=()=>{let r=t()||{};if(o.every(u=>!!r[u]))return"all";let a=o.filter(u=>!!r[u]);return a.length===1?a[0]:"custom"},e.setSegView=r=>{let a=t();if(a){for(let u of o)a[u]=r==="all"?!0:u===r;s()}},e.segCount=r=>r==="all"?o.reduce((a,u)=>a+i(u),0):i(r),t()&&e.segView()==="custom")for(let r of o)t()[r]=!0}var hu=function(e,t,o){let i=Tt(),s=Jt();ku(i,s),e.Math=Math,e.watch("user.status",()=>{e.user==null&&o.url("/")}),e.user==null&&o.url("/"),e.repositories=[],e.total=-1,e.totalPage=0,e.statusCounts=[],e.totalSize=0,e.selected={},e.allSelected=!1;let r=S=>{if(S.key==="/"&&!["INPUT","TEXTAREA","SELECT"].includes(document.activeElement?.tagName)){S.preventDefault();let R=document.querySelector('.admin-filter-toolbar input[type="search"]');R&&R.focus()}};s(document,"keydown",r),e.on("dispose",()=>document.removeEventListener("keydown",r)),e.clearFilter=S=>{S==="dateRange"?(e.query.dateFrom="",e.query.dateTo=""):e.query[S]="",e.query.page=1},e.chips=[];let a=()=>{let S=[];e.query.owner&&S.push({key:"owner",label:"Owner",value:e.query.owner}),e.query.conference&&S.push({key:"conference",label:"Conference",value:e.query.conference}),e.chips=S};e.showStatusMessage=S=>{let R=S.statusMessage||"(no message)";window.prompt(`Status message for ${S.repoId} (${S.status}):`,R)},e.fetchGithubInfo=S=>{let R=window.open("","_blank");R&&R.document.write("
Loading GitHub info for "+S.repoId+"...
"),t.get("/api/admin/repos/"+S.repoId+"/github").then(g=>{R&&(R.document.open(),R.document.write('
'+JSON.stringify(g.data,null,2).replace(/[<>]/g,C=>C==="<"?"<":">")+"
"),R.document.close())},g=>{let C=g&&g.data?JSON.stringify(g.data,null,2):String(g);R&&(R.document.body.innerHTML='
'+C+"
")})},e.statusCountFor=S=>{let R=(e.statusCounts||[]).find(g=>g._id===S);return R?R.count:0},e.statusStorageFor=S=>{let R=(e.statusCounts||[]).find(g=>g._id===S);return R?R.storage:0},e.isErrorsOnly=()=>e.query&&e.query.error&&!e.query.ready&&!e.query.preparing&&!e.query.expired&&!e.query.removed,e.toggleErrorsOnly=()=>{e.isErrorsOnly()?Object.assign(e.query,{ready:!1,preparing:!0,expired:!1,removed:!1,error:!0}):Object.assign(e.query,{ready:!1,preparing:!1,expired:!1,removed:!1,error:!0}),e.query.page=1},e.toggleSortDirection=()=>{e.query.direction=e.query.direction==="asc"?"desc":"asc"},e.sortBy=S=>{e.query.sort===S?e.query.direction=e.query.direction==="asc"?"desc":"asc":(e.query.sort=S,e.query.direction="desc"),e.query.page=1},e.sortIcon=S=>e.query.sort===S?e.query.direction==="asc"?"fa-arrow-up":"fa-arrow-down":"";let u="admin.repos.filterPrefs",p={page:1,limit:25,sort:"lastView",direction:"desc",search:"",owner:"",conference:"",dateFrom:"",dateTo:"",ready:!0,expired:!0,removed:!0,error:!0,preparing:!0},y=loadFilterPrefs(u)||{};e.query=Object.assign({},p,y,{page:1,search:""});let h=o.search();h.owner&&(e.query.owner=h.owner),h.conference&&(e.query.conference=h.conference),h.search&&(e.query.search=h.search);let b="admin.repos.presets";e.presets=JSON.parse(localStorage.getItem(b)||"[]"),e.savePreset=()=>{let S=window.prompt("Preset name:");if(!S)return;let R=Object.assign({},e.query);delete R.page,e.presets=(e.presets||[]).filter(g=>g.name!==S),e.presets.push({name:S,query:R}),localStorage.setItem(b,JSON.stringify(e.presets))},e.applyPreset=S=>{Object.assign(e.query,S.query,{page:1})},e.deletePreset=S=>{e.presets=(e.presets||[]).filter(R=>R.name!==S.name),localStorage.setItem(b,JSON.stringify(e.presets))},e.selectAllOnPage=()=>{e.allSelected=!e.allSelected,e.repositories.forEach(S=>{e.selected[S.repoId]=e.allSelected})},e.selectedCount=()=>Object.values(e.selected||{}).filter(Boolean).length,e.selectedRepos=()=>e.repositories.filter(S=>e.selected[S.repoId]),e.bulkRefresh=()=>{let S=e.selectedRepos();S.length&&confirm(`Force refresh ${S.length} repositories?`)&&S.forEach(R=>e.updateRepository(R))},e.bulkRemoveCache=()=>{let S=e.selectedRepos();S.length&&confirm(`Purge cache for ${S.length} repositories?`)&&S.forEach(R=>e.removeCache(R))},e.clearSelection=()=>{e.selected={},e.allSelected=!1},e.exportCsv=()=>{let S=new URLSearchParams(Object.entries(e.query).filter(([,R])=>R!==""&&R!==!1&&R!=null));S.set("format","csv"),S.set("limit","10000"),window.open("/api/admin/repos?"+S.toString(),"_blank")},e.removeCache=S=>{confirm("Remove cached files for "+S.repoId+"?")&&t.delete("/api/admin/repos/"+S.repoId).then(()=>m(),R=>console.error(R))},e.removeRepository=S=>{confirm("Remove repository "+S.repoId+"?")&&t.delete("/api/repo/"+S.repoId+"/").then(()=>m(),R=>console.error(R))},e.updateRepository=S=>{let R=st({title:`Refreshing ${S.repoId}...`,date:new Date,body:`The repository ${S.repoId} is going to be refreshed.`});e.toasts.push(R),t.post(`/api/repo/${S.repoId}/refresh`).then(g=>{g.data.status=="ready"?R.title=`${S.repoId} is refreshed.`:R.title=`Refreshing of ${S.repoId}.`},g=>{R.title=`Error during the refresh of ${S.repoId}.`,R.body=g.body})},e.filtersOpen=!1,e.fetchError=null;function m(){e.fetchError=null,t.get("/api/admin/repos",{params:e.query}).then(S=>{e.total=S.data.total,e.totalPage=Math.ceil(S.data.total/e.query.limit),e.repositories=S.data.results,e.allSelected=!1},S=>{e.fetchError=S&&S.data&&S.data.error||"Failed to load repositories",console.error(S)})}function w(){let S=Object.assign({},e.query,{page:1,limit:1,ready:!0,expired:!0,removed:!0,error:!0,preparing:!0});t.get("/api/admin/repos",{params:S}).then(R=>{e.statusCounts=R.data.statusCounts||[],e.totalSize=R.data.totalSize||0},()=>{})}e.showAllStatuses=()=>Object.assign(e.query,{ready:!0,expired:!0,removed:!0,error:!0,preparing:!0,page:1}),_i(e,{flags:()=>e.query,keys:["ready","preparing","error","expired","removed"],count:S=>S==="preparing"?e.statusCountFor("preparing")+e.statusCountFor("download"):S==="expired"?e.statusCountFor("expired")+e.statusCountFor("expiring"):S==="removed"?e.statusCountFor("removed")+e.statusCountFor("removing"):e.statusCountFor(S),onChange:()=>{e.query.page=1}}),m(),w();let A=null;e.watch("query",()=>{i.timeout.cancel(A),A=i.timeout(()=>{m(),w()},500);let{page:S,search:R,...g}=e.query;saveFilterPrefs(u,g),a()},!0),a()},mu=function(e,t,o){let i=Tt(),s=Jt();e.Math=Math,e.watch("user.status",()=>{e.user==null&&o.url("/")}),e.user==null&&o.url("/"),e.users=[],e.total=-1,e.totalPage=0,e.statusCounts=[],e.selected={},e.allSelected=!1;let r=m=>{if(m.key==="/"&&!["INPUT","TEXTAREA","SELECT"].includes(document.activeElement?.tagName)){m.preventDefault();let w=document.querySelector('.admin-filter-toolbar input[type="search"]');w&&w.focus()}};s(document,"keydown",r),e.on("dispose",()=>document.removeEventListener("keydown",r)),e.clearFilter=m=>{m==="dateRange"?(e.query.dateFrom="",e.query.dateTo=""):e.query[m]="",e.query.page=1},e.chips=[];let a=()=>{let m=[];e.query.role&&m.push({key:"role",label:"Role",value:e.query.role}),e.chips=m};e.statusCountFor=m=>{let w=(e.statusCounts||[]).find(A=>A._id===m);return w?w.count:0},e.toggleSortDirection=()=>{e.query.direction=e.query.direction==="asc"?"desc":"asc"},e.sortBy=m=>{e.query.sort===m?e.query.direction=e.query.direction==="asc"?"desc":"asc":(e.query.sort=m,e.query.direction="desc"),e.query.page=1},e.sortIcon=m=>e.query.sort===m?e.query.direction==="asc"?"fa-arrow-up":"fa-arrow-down":"";let u="admin.users.filterPrefs",p={page:1,limit:25,sort:"username",direction:"asc",search:"",status:"",role:"",dateFrom:"",dateTo:""},y=loadFilterPrefs(u)||{};e.query=Object.assign({},p,y,{page:1,search:""}),e.selectAllOnPage=()=>{e.allSelected=!e.allSelected,e.users.forEach(m=>{e.selected[m.username]=e.allSelected})},e.selectedCount=()=>Object.values(e.selected||{}).filter(Boolean).length,e.selectedUsers=()=>e.users.filter(m=>e.selected[m.username]),e.banUser=m=>{confirm(`Ban user ${m.username}?`)&&t.post(`/api/admin/users/${m.username}/ban`).then(h,w=>console.error(w))},e.activateUser=m=>{t.post(`/api/admin/users/${m.username}/activate`).then(h,w=>console.error(w))},e.bulkBan=()=>{let m=e.selectedUsers();m.length&&confirm(`Ban ${m.length} users?`)&&m.forEach(w=>e.banUser(w))},e.exportCsv=()=>{let m=new URLSearchParams(Object.entries(e.query).filter(([,w])=>w!==""&&w!==!1&&w!=null));m.set("format","csv"),m.set("limit","10000"),window.open("/api/admin/users?"+m.toString(),"_blank")},e.fetchError=null;function h(){e.fetchError=null,t.get("/api/admin/users",{params:e.query}).then(m=>{e.total=m.data.total,e.totalPage=Math.ceil(m.data.total/e.query.limit),e.users=m.data.results,e.statusCounts=m.data.statusCounts||[],e.allSelected=!1},m=>{e.fetchError=m&&m.data&&m.data.error||"Failed to load users",console.error(m)})}h();let b=null;e.watch("query",()=>{i.timeout.cancel(b),b=i.timeout(h,500);let{page:m,search:w,...A}=e.query;saveFilterPrefs(u,A),a()},!0),a()},gu=function(e,t,o,i){let s=Tt();ku(s,Jt()),e.watch("user.status",()=>{e.user==null&&o.url("/")}),e.user==null&&o.url("/"),e.userInfo,e.repositories=[],e.search="",e.selected={},e.allSelected=!1;let r="admin.user.filterPrefs",a={filters:{status:{ready:!0,expired:!0,removed:!0,error:!0,preparing:!0}},sort:"anonymizeDate",direction:"desc"},u=loadFilterPrefs(r)||{};e.filters={status:Object.assign({},a.filters.status,u.filters&&u.filters.status||{})},e.query={sort:u.sort||a.sort,direction:u.direction||a.direction},e.orderBy=(e.query.direction==="asc"?"":"-")+e.query.sort,e.sortBy=m=>{e.query.sort===m?e.query.direction=e.query.direction==="asc"?"desc":"asc":(e.query.sort=m,e.query.direction="desc"),e.orderBy=(e.query.direction==="asc"?"":"-")+e.query.sort},e.sortIcon=m=>e.query.sort===m?e.query.direction==="asc"?"fa-arrow-up":"fa-arrow-down":"",e.watch("query",()=>{saveFilterPrefs(r,{filters:e.filters,sort:e.query.sort,direction:e.query.direction})},!0),e.watch("filters",()=>{saveFilterPrefs(r,{filters:e.filters,sort:e.query.sort,direction:e.query.direction})},!0),e.statusCountFor=m=>(e.repositories||[]).filter(w=>Mi(w.status)===m).length,_i(e,{flags:()=>e.filters.status,keys:["ready","preparing","error","expired","removed"],count:m=>e.statusCountFor(m)}),e.repoFiler=m=>e.filters.status[Mi(m.status)]==!1?!1:!!(e.search.trim().length==0||m.source.fullName.indexOf(e.search)>-1||m.repoId.indexOf(e.search)>-1||m.statusMessage&&m.statusMessage.indexOf(e.search)>-1||m.conference&&m.conference.indexOf(e.search)>-1),e.selectAllOnPage=()=>{e.allSelected=!e.allSelected,(e.filteredRepositories||e.repositories).forEach(m=>{e.selected[m.repoId]=e.allSelected})},e.selectedCount=()=>Object.values(e.selected||{}).filter(Boolean).length,e.selectedRepos=()=>e.repositories.filter(m=>e.selected[m.repoId]),e.bulkRefresh=()=>{let m=e.selectedRepos();m.length&&confirm(`Force refresh ${m.length} repositories?`)&&m.forEach(w=>e.updateRepository(w))},e.bulkRemoveCache=()=>{let m=e.selectedRepos();m.length&&confirm(`Purge cache for ${m.length} repositories?`)&&m.forEach(w=>e.removeCache(w))},e.clearSelection=()=>{e.selected={},e.allSelected=!1},e.exportCsv=()=>{let m=e.filteredRepositories||e.repositories,A=["repoId","status","statusMessage","pageView","anonymizeDate","source.fullName","conference","size.storage"].join(","),S=m.map(C=>[C.repoId,C.status,C.statusMessage||"",C.pageView||0,C.anonymizeDate||"",C.source&&C.source.fullName||"",C.conference||"",C.size&&C.size.storage||0].map(I=>{let V=String(I??"");return/[",\n\r]/.test(V)?'"'+V.replace(/"/g,'""')+'"':V}).join(",")),R=new Blob([A+` +`+JSON.stringify(t):""}`},[rt.NAVIGATION_GUARD_REDIRECT]({from:e,to:t}){return`Redirected from "${e.fullPath}" to "${om(t)}" via a navigation guard.`},[rt.NAVIGATION_ABORTED]({from:e,to:t}){return`Navigation aborted from "${e.fullPath}" to "${t.fullPath}" via a navigation guard.`},[rt.NAVIGATION_CANCELLED]({from:e,to:t}){return`Navigation cancelled from "${e.fullPath}" to "${t.fullPath}" with a new navigation.`},[rt.NAVIGATION_DUPLICATED]({from:e,to:t}){return`Avoided redundant navigation to current location: "${e.fullPath}".`}};function Zn(e,t){return We(new Error,{type:e,[Gd]:!0},t)}function pn(e,t){return e instanceof Error&&Gd in e&&(t==null||!!(e.type&t))}var nm=["params","query","hash"];function om(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;let t={};for(let o of nm)o in e&&(t[o]=e[o]);return JSON.stringify(t,null,2)}function Wd(e){let t={};if(e===""||e==="?")return t;let o=(e[0]==="?"?e.slice(1):e).split("&");for(let i=0;is&&$r(s)):[i&&$r(i)]).forEach(s=>{s!==void 0&&(t+=(t.length?"&":"")+o,s!=null&&(t+="="+s))})}return t}function Kd(e){let t={};for(let o in e){let i=e[o];i!==void 0&&(t[o]=zt(i)?i.map(s=>s==null?null:""+s):i==null?i:""+i)}return t}var Yd=Symbol(""),Wr=Symbol(""),Ei=Symbol(""),Si=Symbol(""),Ni=Symbol("");function Po(){let e=[];function t(i){return e.push(i),()=>{let s=e.indexOf(i);s>-1&&e.splice(s,1)}}function o(){e=[]}return{add:t,list:()=>e.slice(),reset:o}}function kn(e,t,o,i,s,r=a=>a()){let a=i&&(i.enterCallbacks[s]=i.enterCallbacks[s]||[]);return()=>new Promise((u,p)=>{let y=m=>{m===!1?p(Zn(rt.NAVIGATION_ABORTED,{from:o,to:t})):m instanceof Error?p(m):tm(m)?p(Zn(rt.NAVIGATION_GUARD_REDIRECT,{from:t,to:m})):(a&&i.enterCallbacks[s]===a&&typeof m=="function"&&a.push(m),u())},h=r(()=>e.call(i&&i.instances[s],t,o,y)),b=Promise.resolve(h);e.length<3&&(b=b.then(y)),b.catch(m=>p(m))})}function Ri(e,t,o,i,s=r=>r()){let r=[];for(let a of e)for(let u in a.components){let p=a.components[u];if(!(t!=="beforeRouteEnter"&&!a.instances[u]))if(Pd(p)){let y=(p.__vccOpts||p)[t];y&&r.push(kn(y,o,i,a,u,s))}else{let y=p();r.push(()=>y.then(h=>{if(!h)throw new Error(`Couldn't resolve component "${u}" at "${a.path}"`);let b=$h(h)?h.default:h;a.mods[u]=h,a.components[u]=b;let m=(b.__vccOpts||b)[t];return m&&kn(m,o,i,a,u,s)()}))}}return r}function Xd(e,t){let o=[],i=[],s=[],r=Math.max(t.matched.length,e.matched.length);for(let a=0;aJn(y,u))?i.push(u):o.push(u));let p=e.matched[a];p&&(t.matched.find(y=>Jn(y,p))||s.push(p))}return[o,i,s]}var sm=()=>location.protocol+"//"+location.host;function ru(e,t){let{pathname:o,search:i,hash:s}=t,r=e.indexOf("#");if(r>-1){let a=s.includes(e.slice(r))?e.slice(r).length:1,u=s.slice(a);return u[0]!=="/"&&(u="/"+u),Br(u,"")}return Br(o,e)+i+s}function im(e,t,o,i){let s=[],r=[],a=null,u=({state:m})=>{let w=ru(e,location),A=o.value,S=t.value,R=0;if(m){if(o.value=w,t.value=m,a&&a===A){a=null;return}R=S?m.position-S.position:0}else i(w);s.forEach(g=>{g(o.value,A,{delta:R,type:ki.pop,direction:R?R>0?Ci.forward:Ci.back:Ci.unknown})})};function p(){a=o.value}function y(m){s.push(m);let w=()=>{let A=s.indexOf(m);A>-1&&s.splice(A,1)};return r.push(w),w}function h(){if(document.visibilityState==="hidden"){let{history:m}=window;if(!m.state)return;m.replaceState(We({},m.state,{scroll:ks()}),"")}}function b(){for(let m of r)m();r=[],window.removeEventListener("popstate",u),window.removeEventListener("pagehide",h),document.removeEventListener("visibilitychange",h)}return window.addEventListener("popstate",u),window.addEventListener("pagehide",h),document.addEventListener("visibilitychange",h),{pauseListeners:p,listen:y,destroy:b}}function Qd(e,t,o,i=!1,s=!1){return{back:e,current:t,forward:o,replaced:i,position:window.history.length,scroll:s?ks():null}}function rm(e){let{history:t,location:o}=window,i={value:ru(e,o)},s={value:t.state};s.value||r(i.value,{back:null,current:i.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function r(p,y,h){let b=e.indexOf("#"),m=b>-1?(o.host&&document.querySelector("base")?e:e.slice(b))+p:sm()+e+p;try{t[h?"replaceState":"pushState"](y,"",m),s.value=y}catch(w){console.error(w),o[h?"replace":"assign"](m)}}function a(p,y){r(p,We({},t.state,Qd(s.value.back,p,s.value.forward,!0),y,{position:s.value.position}),!0),i.value=p}function u(p,y){let h=We({},s.value,t.state,{forward:p,scroll:ks()});r(h.current,h,!0),r(p,We({},Qd(i.value,p,null),{position:h.position+1},y),!1),i.value=p}return{location:i,state:s,push:u,replace:a}}function au(e){e=Fd(e);let t=rm(e),o=im(e,t.state,t.location,t.replace);function i(r,a=!0){a||o.pauseListeners(),history.go(r)}let s=We({location:"",base:e,go:i,createHref:Bd.bind(null,e)},t,o);return Object.defineProperty(s,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(s,"state",{enumerable:!0,get:()=>t.state.value}),s}var eo=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e})({}),mt=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.ParamRegExp=2]="ParamRegExp",e[e.ParamRegExpEnd=3]="ParamRegExpEnd",e[e.EscapeNext=4]="EscapeNext",e})(mt||{}),am={type:eo.Static,value:""},lm=/[a-zA-Z0-9_]/;function dm(e){if(!e)return[[]];if(e==="/")return[[am]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(w){throw new Error(`ERR (${o})/"${y}": ${w}`)}let o=mt.Static,i=o,s=[],r;function a(){r&&s.push(r),r=[]}let u=0,p,y="",h="";function b(){y&&(o===mt.Static?r.push({type:eo.Static,value:y}):o===mt.Param||o===mt.ParamRegExp||o===mt.ParamRegExpEnd?(r.length>1&&(p==="*"||p==="+")&&t(`A repeatable param (${y}) must be alone in its segment. eg: '/:ids+.`),r.push({type:eo.Param,value:y,regexp:h,repeatable:p==="*"||p==="+",optional:p==="*"||p==="?"})):t("Invalid state to consume buffer"),y="")}function m(){y+=p}for(;ut.length?t.length===1&&t[0]===At.Static+At.Segment?1:-1:0}function lu(e,t){let o=0,i=e.score,s=t.score;for(;o0&&t[t.length-1]<0}var hm={strict:!1,end:!0,sensitive:!1};function mm(e,t,o){let i=pm(dm(e.path),o),s=We(i,{record:e,parent:t,children:[],alias:[]});return t&&!s.record.aliasOf==!t.record.aliasOf&&t.children.push(s),s}function gm(e,t){let o=[],i=new Map;t=Ur(hm,t);function s(b){return i.get(b)}function r(b,m,w){let A=!w,S=eu(b);S.aliasOf=w&&w.record;let R=Ur(t,b),g=[S];if("alias"in b){let V=typeof b.alias=="string"?[b.alias]:b.alias;for(let q of V)g.push(eu(We({},S,{components:w?w.record.components:S.components,path:q,aliasOf:w?w.record:S})))}let C,M;for(let V of g){let{path:q}=V;if(m&&q[0]!=="/"){let j=m.record.path,ne=j[j.length-1]==="/"?"":"/";V.path=m.record.path+(q&&ne+q)}if(C=mm(V,m,R),w?w.alias.push(C):(M=M||C,M!==C&&M.alias.push(C),A&&b.name&&!tu(C)&&a(b.name)),du(C)&&p(C),S.children){let j=S.children;for(let ne=0;ne{a(M)}:To}function a(b){if(jr(b)){let m=i.get(b);m&&(i.delete(b),o.splice(o.indexOf(m),1),m.children.forEach(a),m.alias.forEach(a))}else{let m=o.indexOf(b);m>-1&&(o.splice(m,1),b.record.name&&i.delete(b.record.name),b.children.forEach(a),b.alias.forEach(a))}}function u(){return o}function p(b){let m=bm(b,o);o.splice(m,0,b),b.record.name&&!tu(b)&&i.set(b.record.name,b)}function y(b,m){let w,A={},S,R;if("name"in b&&b.name){if(w=i.get(b.name),!w)throw Zn(rt.MATCHER_NOT_FOUND,{location:b});R=w.record.name,A=We(xd(m.params,w.keys.filter(M=>!M.optional).concat(w.parent?w.parent.keys.filter(M=>M.optional):[]).map(M=>M.name)),b.params&&xd(b.params,w.keys.map(M=>M.name))),S=w.stringify(A)}else if(b.path!=null)S=b.path,w=o.find(M=>M.re.test(S)),w&&(A=w.parse(S),R=w.record.name);else{if(w=m.name?i.get(m.name):o.find(M=>M.re.test(m.path)),!w)throw Zn(rt.MATCHER_NOT_FOUND,{location:b,currentLocation:m});R=w.record.name,A=We({},m.params,b.params),S=w.stringify(A)}let g=[],C=w;for(;C;)g.unshift(C.record),C=C.parent;return{name:R,path:S,params:A,matched:g,meta:ym(g)}}e.forEach(b=>r(b));function h(){o.length=0,i.clear()}return{addRoute:r,resolve:y,removeRoute:a,clearRoutes:h,getRoutes:u,getRecordMatcher:s}}function xd(e,t){let o={};for(let i of t)i in e&&(o[i]=e[i]);return o}function eu(e){let t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:vm(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function vm(e){let t={},o=e.props||!1;if("component"in e)t.default=o;else for(let i in e.components)t[i]=typeof o=="object"?o[i]:o;return t}function tu(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function ym(e){return e.reduce((t,o)=>We(t,o.meta),{})}function bm(e,t){let o=0,i=t.length;for(;o!==i;){let r=o+i>>1;lu(e,t[r])<0?i=r:o=r+1}let s=wm(e);return s&&(i=t.lastIndexOf(s,i-1)),i}function wm(e){let t=e;for(;t=t.parent;)if(du(t)&&lu(e,t)===0)return t}function du({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function nu(e){let t=Mt(Ei),o=Mt(Si),i=!1,s=null,r=Nt(()=>{let h=vn(e.to);return t.resolve(h)}),a=Nt(()=>{let{matched:h}=r.value,{length:b}=h,m=h[b-1],w=o.matched;if(!m||!w.length)return-1;let A=w.findIndex(Jn.bind(null,m));if(A>-1)return A;let S=ou(h[b-2]);return b>1&&ou(m)===S&&w[w.length-1].path!==S?w.findIndex(Jn.bind(null,h[b-2])):A}),u=Nt(()=>a.value>-1&&Nm(o.params,r.value.params)),p=Nt(()=>a.value>-1&&a.value===o.matched.length-1&&zr(o.params,r.value.params));function y(h={}){if(Sm(h)){let b=t[vn(e.replace)?"replace":"push"](vn(e.to)).catch(To);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>b),b}return Promise.resolve()}return{route:r,href:Nt(()=>r.value.href),isActive:u,isExactActive:p,navigate:y}}function km(e){return e.length===1?e[0]:e}var Cm=ms({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:nu,setup(e,{slots:t}){let o=ot(nu(e)),{options:i}=Mt(Ei),s=Nt(()=>({[su(e.activeClass,i.linkActiveClass,"router-link-active")]:o.isActive,[su(e.exactActiveClass,i.linkExactActiveClass,"router-link-exact-active")]:o.isExactActive}));return()=>{let r=t.default&&km(t.default(o));return e.custom?r:Te("a",{"aria-current":o.isExactActive?e.ariaCurrentValue:null,href:o.href,onClick:o.navigate,class:s.value},r)}}}),Em=Cm;function Sm(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){let t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function Nm(e,t){for(let o in t){let i=t[o],s=e[o];if(typeof i=="string"){if(i!==s)return!1}else if(!zt(s)||s.length!==i.length||i.some((r,a)=>r.valueOf()!==s[a].valueOf()))return!1}return!0}function ou(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}var su=(e,t,o)=>e??t??o,Rm=ms({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:o}){let i=Mt(Ni),s=Nt(()=>e.route||i.value),r=Mt(Wr,0),a=Nt(()=>{let y=vn(r),{matched:h}=s.value,b;for(;(b=h[y])&&!b.components;)y++;return y}),u=Nt(()=>s.value.matched[a.value]);Xn(Wr,Nt(()=>a.value+1)),Xn(Yd,u),Xn(Ni,s);let p=Et();return it(()=>[p.value,u.value,e.name],([y,h,b],[m,w,A])=>{h&&(h.instances[b]=y,w&&w!==h&&y&&y===m&&(h.leaveGuards.size||(h.leaveGuards=w.leaveGuards),h.updateGuards.size||(h.updateGuards=w.updateGuards))),y&&h&&(!w||!Jn(h,w)||!m)&&(h.enterCallbacks[b]||[]).forEach(S=>S(y))},{flush:"post"}),()=>{let y=s.value,h=e.name,b=u.value,m=b&&b.components[h];if(!m)return iu(o.default,{Component:m,route:y});let w=b.props[h],A=w?w===!0?y.params:typeof w=="function"?w(y):w:null,R=Te(m,We({},A,t,{onVnodeUnmounted:g=>{g.component.isUnmounted&&(b.instances[h]=null)},ref:p}));return iu(o.default,{Component:R,route:y})||R}}});function iu(e,t){if(!e)return null;let o=e(t);return o.length===1?o[0]:o}var Kr=Rm;function uu(e){let t=gm(e.routes,e),o=e.parseQuery||Wd,i=e.stringifyQuery||Gr,s=e.history,r=Po(),a=Po(),u=Po(),p=xs(Cn),y=Cn;xn&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");let h=bi.bind(null,X=>""+X),b=bi.bind(null,$d),m=bi.bind(null,Ao);function w(X,fe){let I,U;return jr(X)?(I=t.getRecordMatcher(X),U=fe):U=X,t.addRoute(U,I)}function A(X){let fe=t.getRecordMatcher(X);fe&&t.removeRoute(fe)}function S(){return t.getRoutes().map(X=>X.record)}function R(X){return!!t.getRecordMatcher(X)}function g(X,fe){if(fe=We({},fe||p.value),typeof X=="string"){let N=wi(o,X,fe.path),P=t.resolve({path:N.path},fe),H=s.createHref(N.fullPath);return We(N,P,{params:m(P.params),hash:Ao(N.hash),redirectedFrom:void 0,href:H})}let I;if(X.path!=null)I=We({},X,{path:wi(o,X.path,fe.path).path});else{let N=We({},X.params);for(let P in N)N[P]==null&&delete N[P];I=We({},X,{params:b(N)}),fe.params=b(fe.params)}let U=t.resolve(I,fe),F=X.hash||"";U.params=h(m(U.params));let W=Ld(i,We({},X,{hash:qd(F),path:U.path})),E=s.createHref(W);return We({fullPath:W,hash:F,query:i===Gr?Kd(X.query):X.query||{}},U,{redirectedFrom:void 0,href:E})}function C(X){return typeof X=="string"?wi(o,X,p.value.path):We({},X)}function M(X,fe){if(y!==X)return Zn(rt.NAVIGATION_CANCELLED,{from:fe,to:X})}function V(X){return ne(X)}function q(X){return V(We(C(X),{replace:!0}))}function j(X,fe){let I=X.matched[X.matched.length-1];if(I&&I.redirect){let{redirect:U}=I,F=typeof U=="function"?U(X,fe):U;return typeof F=="string"&&(F=F.includes("?")||F.includes("#")?F=C(F):{path:F},F.params={}),We({query:X.query,hash:X.hash,params:F.path!=null?{}:X.params},F)}}function ne(X,fe){let I=y=g(X),U=p.value,F=X.state,W=X.force,E=X.replace===!0,N=j(I,U);if(N)return ne(We(C(N),{state:typeof N=="object"?We({},F,N.state):F,force:W,replace:E}),fe||I);let P=I;P.redirectedFrom=fe;let H;return!W&&Ud(i,U,I)&&(H=Zn(rt.NAVIGATION_DUPLICATED,{to:P,from:U}),st(U,U,!0,!1)),(H?Promise.resolve(H):Ce(P,U)).catch(B=>pn(B)?pn(B,rt.NAVIGATION_GUARD_REDIRECT)?B:et(B):ke(B,P,U)).then(B=>{if(B){if(pn(B,rt.NAVIGATION_GUARD_REDIRECT))return ne(We({replace:E},C(B.to),{state:typeof B.to=="object"?We({},F,B.to.state):F,force:W}),fe||P)}else B=te(P,U,!0,E,F);return D(P,U,B),B})}function Y(X,fe){let I=M(X,fe);return I?Promise.reject(I):Promise.resolve()}function oe(X){let fe=bt.values().next().value;return fe&&typeof fe.runWithContext=="function"?fe.runWithContext(X):X()}function Ce(X,fe){let I,[U,F,W]=Xd(X,fe);I=Ri(U.reverse(),"beforeRouteLeave",X,fe);for(let N of U)N.leaveGuards.forEach(P=>{I.push(kn(P,X,fe))});let E=Y.bind(null,X,fe);return I.push(E),vt(I).then(()=>{I=[];for(let N of r.list())I.push(kn(N,X,fe));return I.push(E),vt(I)}).then(()=>{I=Ri(F,"beforeRouteUpdate",X,fe);for(let N of F)N.updateGuards.forEach(P=>{I.push(kn(P,X,fe))});return I.push(E),vt(I)}).then(()=>{I=[];for(let N of W)if(N.beforeEnter)if(zt(N.beforeEnter))for(let P of N.beforeEnter)I.push(kn(P,X,fe));else I.push(kn(N.beforeEnter,X,fe));return I.push(E),vt(I)}).then(()=>(X.matched.forEach(N=>N.enterCallbacks={}),I=Ri(W,"beforeRouteEnter",X,fe,oe),I.push(E),vt(I))).then(()=>{I=[];for(let N of a.list())I.push(kn(N,X,fe));return I.push(E),vt(I)}).catch(N=>pn(N,rt.NAVIGATION_CANCELLED)?N:Promise.reject(N))}function D(X,fe,I){u.list().forEach(U=>oe(()=>U(X,fe,I)))}function te(X,fe,I,U,F){let W=M(X,fe);if(W)return W;let E=fe===Cn,N=xn?history.state:{};I&&(U||E?s.replace(X.fullPath,We({scroll:E&&N&&N.scroll},F)):s.push(X.fullPath,F)),p.value=X,st(X,fe,I,E),et()}let ue;function Pe(){ue||(ue=s.listen((X,fe,I)=>{if(!dt.listening)return;let U=g(X),F=j(U,dt.currentRoute.value);if(F){ne(We(F,{replace:!0,force:!0}),U).catch(To);return}y=U;let W=p.value;xn&&Hd(Hr(W.fullPath,I.delta),ks()),Ce(U,W).catch(E=>pn(E,rt.NAVIGATION_ABORTED|rt.NAVIGATION_CANCELLED)?E:pn(E,rt.NAVIGATION_GUARD_REDIRECT)?(ne(We(C(E.to),{force:!0}),U).then(N=>{pn(N,rt.NAVIGATION_ABORTED|rt.NAVIGATION_DUPLICATED)&&!I.delta&&I.type===ki.pop&&s.go(-1,!1)}).catch(To),Promise.reject()):(I.delta&&s.go(-I.delta,!1),ke(E,U,W))).then(E=>{E=E||te(U,W,!1),E&&(I.delta&&!pn(E,rt.NAVIGATION_CANCELLED)?s.go(-I.delta,!1):I.type===ki.pop&&pn(E,rt.NAVIGATION_ABORTED|rt.NAVIGATION_DUPLICATED)&&s.go(-1,!1)),D(U,W,E)}).catch(To)}))}let we=Po(),J=Po(),ce;function ke(X,fe,I){et(X);let U=J.list();return U.length?U.forEach(F=>F(X,fe,I)):console.error(X),Promise.reject(X)}function De(){return ce&&p.value!==Cn?Promise.resolve():new Promise((X,fe)=>{we.add([X,fe])})}function et(X){return ce||(ce=!X,Pe(),we.list().forEach(([fe,I])=>X?I(X):fe()),we.reset()),X}function st(X,fe,I,U){let{scrollBehavior:F}=e;if(!xn||!F)return Promise.resolve();let W=!I&&jd(Hr(X.fullPath,0))||(U||!I)&&history.state&&history.state.scroll||null;return xe().then(()=>F(X,fe,W)).then(E=>E&&zd(E)).catch(E=>ke(E,X,fe))}let tt=X=>s.go(X),He,bt=new Set,dt={currentRoute:p,listening:!0,addRoute:w,removeRoute:A,clearRoutes:t.clearRoutes,hasRoute:R,getRoutes:S,resolve:g,options:e,push:V,replace:q,go:tt,back:()=>tt(-1),forward:()=>tt(1),beforeEach:r.add,beforeResolve:a.add,afterEach:u.add,onError:J.add,isReady:De,install(X){X.component("RouterLink",Em),X.component("RouterView",Kr),X.config.globalProperties.$router=dt,Object.defineProperty(X.config.globalProperties,"$route",{enumerable:!0,get:()=>vn(p)}),xn&&!He&&p.value===Cn&&(He=!0,V(s.location).catch(U=>{}));let fe={};for(let U in Cn)Object.defineProperty(fe,U,{get:()=>p.value[U],enumerable:!0});X.provide(Ei,dt),X.provide(Si,es(fe)),X.provide(Ni,p);let I=X.unmount;bt.add(X),X.unmount=function(){bt.delete(X),bt.size<1&&(y=Cn,ue&&ue(),ue=null,p.value=Cn,He=!1,ce=!1),I()}}};function vt(X){return X.reduce((fe,I)=>fe.then(()=>oe(I)),Promise.resolve())}return dt}function cu(e){return Mt(Si)}function Ai(e){return["author_pass","repo_extend","repo_never","repo_slot","repo_pack"].includes(e)}var Di=new WeakMap;function Ti(e){if(!Di.has(e)){let t=e.get("/api/billing/").finally(()=>Di.delete(e));Di.set(e,t)}return Di.get(e)}function Pi(e,t,o=()=>{},i={}){let s=new URLSearchParams(window.location.search).get("billing");e.billing=null,e.billingLoading=!0,e.billingBusy=!1,e.billingError="",e.billingNotice="",e.billingPending=s==="success",e.billingRepository="";let r={billing_invalid_draft:"This draft could not be saved. Your form is unchanged. Try again.",billing_draft_not_found:"This checkout draft is unavailable or expired. Your local form is unchanged.",billing_recovery_required:"Your earlier payment needs verification. Please contact support before paying again.",billing_checkout_disabled:"New purchases are temporarily unavailable. You can still manage existing billing.",billing_unavailable:"Payments are not available yet. Please try again later.",billing_subscription_exists:"You already have a subscription. Use Manage billing to change or cancel it.",billing_checkout_in_progress:"You have another checkout open. Complete it, or wait up to 30 minutes for it to expire, before choosing a different option.",billing_busy:"Another billing request is processing. Please try again shortly.",billing_already_paid:"This repository or conference already has this paid option.",billing_invalid_review_window:"Conference packages cover up to 180 days. Check the review dates.",billing_invalid_conference:"Only a conference owner can pay for a conference awaiting payment.",repo_not_found:"Enter the ID of an existing repository that you own."};e.billingAmount=p=>p?.amount==null?"":new Intl.NumberFormat(void 0,{style:"currency",currency:p.currency,minimumFractionDigits:p.amount%100?2:0,maximumFractionDigits:2}).format(p.amount/100),e.billingPrice=p=>p.amount==null?"Price shown at checkout":e.billingAmount(p)+(p.interval?` / ${p.intervalCount>1?p.intervalCount+" ":""}${p.interval}`:" once"),e.billingPerMonth=p=>p?.amount==null?"":new Intl.NumberFormat(void 0,{style:"currency",currency:p.currency}).format(p.amount/1200),e.billingBytes=p=>{let y=Number(p)||0;if(y<1024)return`${y} B`;let h=Math.min(4,Math.floor(Math.log2(y)/10));return`${new Intl.NumberFormat(void 0,{maximumFractionDigits:1}).format(y/1024**h)} ${["B","KB","MB","GB","TB"][h]}`},e.billingDate=p=>p?new Date(p).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"}):"",e.loadBilling=()=>(e.billingError="",e.billingLoading=!0,Ti(t).then(p=>{e.billing=p.data,e.emit?.("billing:updated",p.data)}).catch(()=>{e.billingError="Billing could not be loaded. Try again."}).finally(()=>{e.billingLoading=!1}));async function a(p,y,h=!0){if(!(e.billingBusy||!e.billing?.csrf)){e.billingBusy=!0,e.billingError="";try{let b=await t.post(`/api/billing/${p}`,y,{headers:{"x-csrf-token":e.billing.csrf}});if(h)window.location.assign(b.data.url);else return await e.loadBilling(),await o(),e.billingPending=!!b.data.pending,e.emit?.("billing:pending",e.billingPending),e.billingNotice=b.data.pending?"Your payment is still pending. Please do not pay again.":i.confirmedMessage||"Billing status refreshed. Your confirmed access appears below.",b.data}catch(b){e.billingError=r[b.data?.error]||"The billing request failed. Please try again."}finally{e.billingBusy=!1}}}e.checkout=(p,y="",h={})=>a("checkout",{planId:p,target:y,...h}),e.billingPortal=()=>a("portal",{}),e.refreshBilling=()=>a("refresh",{},!1);async function u(){for(let p=0;p<5;p++){let y=await e.refreshBilling();if(!y||!y.pending)return;await new Promise(h=>window.setTimeout(h,3e3))}e.billingNotice="Confirmation is taking longer than usual. You can refresh payment status later. Please do not pay again."}e.loadBilling().then(()=>{s==="success"?(e.billingNotice="Checking your payment. Paid access starts after confirmation.",u()):s==="portal"?e.refreshBilling().then(()=>{e.billingPending=!1,e.emit?.("billing:pending",!1),e.billingNotice=i.portalMessage?.(e.billing)||"Your billing details are up to date."}):s==="cancelled"&&(e.billingNotice="Checkout was closed. No new paid access has been activated.")})}function pu(e,t){return t?.split(".").reduce((o,i)=>o?.[i],e)}function Yr(e=null,t=new Map){let o=ot({}),i=[],s=!1,r=new Proxy(o,{get(a,u){return typeof u=="string"&&u.startsWith("__v_")||Reflect.has(a,u)?Reflect.get(a,u):e?.[u]}});return Object.defineProperty(o,"parent",{value:e,configurable:!0}),Object.defineProperty(o,"viewState",{get:()=>r}),r.watch=(a,u,p=!1,y=!0)=>{let h=typeof a=="function"?()=>a(r):()=>pu(r,a),b=it(h,u,{deep:p,flush:"post"});return i.push(b),y&&xe(()=>{s||u(h(),h())}),b},r.watchGroup=(a,u,p=!0)=>r.watch(()=>a.map(y=>pu(r,y)),u,!0,p),r.on=(a,u)=>{if(a==="dispose")return i.push(u),()=>{};t.has(a)||t.set(a,new Set),t.get(a).add(u);let p=()=>t.get(a)?.delete(u);return i.push(p),p},r.emit=(a,...u)=>{for(let p of[...t.get(a)||[]])p({},...u)},r.dispose=()=>{s=!0,i.splice(0).reverse().forEach(a=>a())},Gn(r.dispose),r}function Tt(){let e=new Set,t=new Set,o=!1,i=(r,a=0)=>{if(o)return;let u=setTimeout(()=>{e.delete(u),r()},a);return e.add(u),u};i.cancel=r=>{clearTimeout(r),e.delete(r)};let s=(r,a)=>{if(o)return;let u=setInterval(r,a);return t.add(u),u};return s.cancel=r=>{clearInterval(r),t.delete(r)},Gn(()=>{o=!0,e.forEach(clearTimeout),t.forEach(clearInterval)}),{timeout:i,interval:s}}function Qt(){let e=new Set;return Gn(()=>{e.forEach(t=>t()),e.clear()}),(t,o,i,s)=>{t.addEventListener(o,i,s);let r=()=>{t.removeEventListener(o,i,s),e.delete(r)};return e.add(r),r}}function Xr(e,t,o){let i,s=!1,r="form-draft:"+o,a=()=>Object.fromEntries(t.map(m=>[m,e[m]])),u=()=>JSON.stringify(a()),p=m=>{for(let w of t)Object.prototype.hasOwnProperty.call(m,w)&&(e[w]=m[w]);e.options?.expirationDate&&(e.options.expirationDate=new Date(e.options.expirationDate))},y=()=>{try{window.sessionStorage.removeItem(r)}catch{}},h=(m=!1)=>{if(i!==void 0){if(m&&document.querySelectorAll("input, select, textarea").forEach(w=>{w._field?.binding.state===e&&w._field.timer&&w._field.commit()}),e.unsavedChanges=u()!==i,e.draftSaved=!1,!e.unsavedChanges){y();return}try{window.sessionStorage.setItem(r,JSON.stringify({account:e.user?.username||null,savedAt:Date.now(),values:a()})),e.draftSaved=!0}catch{}}},b=()=>h(!0);return e.on("routeLeave",b),window.addEventListener("beforeunload",b),e.on("dispose",()=>window.removeEventListener("beforeunload",b)),{restore(){i=u();let m;try{m=JSON.parse(window.sessionStorage.getItem(r)||"null")}catch{}let w=m&&m.account===(e.user?.username||null)&&Date.now()-m.savedAt<30*6e4&&m.values;return w&&(p(m.values),e.draftRestored=!0),s||(s=!0,e.watch(()=>a(),()=>h(),!0)),e.unsavedChanges=u()!==i,!!w},checkpoint(){return document.querySelectorAll("input, select, textarea").forEach(m=>{m._field?.binding.state===e&&m._field.timer&&m._field.commit()}),JSON.parse(u())},accept(m){i=JSON.stringify(m),e.draftRestored=!1,h()},discard(){document.querySelectorAll("input, select, textarea").forEach(m=>{m._field?.binding.state!==e||!m._field.timer||(clearTimeout(m._field.timer),m._field.timer=null,m.value=m._field.binding.value??"")}),i!==void 0&&p(JSON.parse(i)),e.draftRestored=!1,h()},clear(){i=u(),e.unsavedChanges=!1,e.draftRestored=!1,e.draftSaved=!1,y()}}}var xr={};Sp(xr,{bigNum:()=>Am,date:()=>Lm,dateEcho:()=>Jr,diff:()=>Om,duration:()=>to,filter:()=>qm,humanFileSize:()=>Dm,humanTime:()=>Qr,limitTo:()=>Vm,money:()=>Mm,number:()=>Im,orderBy:()=>$m,plural:()=>Um,shortDate:()=>Zr,statusLabel:()=>Pm,statusMsg:()=>Oi,title:()=>Tm,uppercase:()=>_m});var Dm=e=>String(window.humanFileSize(e)).replace(/([KMGTPEZY])iB$/,"$1B").replace(/\.0 ([KMGTPEZY]?B)$/," $1"),Am=(function(){return function(t){let o=Number(t)||0,i=Math.abs(o);return i<1e3?String(o):i<1e4?(o/1e3).toFixed(1).replace(/\.0$/,"")+"k":i<1e6?Math.round(o/1e3)+"k":i<1e7?(o/1e6).toFixed(1).replace(/\.0$/,"")+"M":Math.round(o/1e6)+"M"}})(),Qr=(function(){return function(t){if(!t)return"never";var o=null;t instanceof Date&&(o=t,t=Math.round((Date.now()-t)/1e3)),(typeof t=="string"||typeof t=="number")&&(o=new Date(t),t=Math.round((Date.now()-o)/1e3));var i=t<0?"from now":"ago";if(Math.abs(t)>7200*24)return(o&&!isNaN(o)?o:new Date(Date.now()-t*1e3)).toLocaleDateString(void 0,{day:"numeric",month:"short",year:"numeric"});t=Math.abs(t);for(var s=[t/60/60/24/365,t/60/60/24/30,t/60/60/24/7,t/60/60/24,t/60/60,t/60,t],r=["year","month","week","day","hour","minute","second"],a=0;a1&&(p+="s"),u>=1)return u+" "+p+" "+i}return"0 seconds "+i}})(),Tm=(function(){return function(e){if(!e)return e;e=e.toLowerCase();var t=e.split(" "),o=t.map(function(i){return i.charAt(0).toUpperCase()+i.substring(1,i.length)});return o.join(" ")}})(),Pm=(function(){var e={ready:"Ready",error:"Error",expired:"Expired",expiring:"Expiring",removed:"Removed",removing:"Removing",queue:"Queued",download:"Downloading",downloaded:"Downloaded",preparing:"Preparing",anonymizing:"Anonymizing"};return function(t){if(!t)return"";if(e[t])return e[t];var o=String(t).replace(/[_-]+/g," ").toLowerCase();return o.charAt(0).toUpperCase()+o.slice(1)}})(),Oi=(function(){var e={branch_not_found:"Branch not found on GitHub",repo_not_found:"Repository not found on GitHub",repository_not_found:"Repository not found on GitHub",repo_not_accessible:"Repository is not accessible with your token",pr_not_found:"Pull request not found on GitHub",gist_not_found:"Gist not found on GitHub",commit_not_found:"Commit not found on GitHub",repo_too_big:"Repository exceeds the size limit",repository_too_big:"Repository exceeds the size limit",quota_exceeded:"Storage quota exceeded",incomplete_record:"Incomplete record: missing identifier"};return function(t){if(!t)return t;var o=t.match(/^rate_limited:(\d+)$/);if(o){var i=Math.max(0,Math.ceil((parseInt(o[1],10)-Date.now())/1e3));if(i<=0)return"Rate limited \u2014 resuming soon";var s=Math.floor(i/60),r=i%60;return"Rate limited \u2014 retrying in "+(s>0?s+"m "+r+"s":r+"s")}if(e[t])return e[t];var a=/^([a-z0-9]+(?:_[a-z0-9]+)+):\s*\S/.exec(t);if(a){if(e[a[1]])return e[a[1]];var u=a[1].replace(/_/g," ");return u.charAt(0).toUpperCase()+u.slice(1)}if(/^[a-z0-9]+(_[a-z0-9]+)+$/.test(t)){var p=t.replace(/_/g," ");return p.charAt(0).toUpperCase()+p.slice(1)}return t}})(),Om=(function(e){let t=i=>i.replace(/&/g,"&").replace(//g,">");function o(i,s){if(!s)return;let r=s.newPath&&s.newPath!=="/dev/null"?s.newPath:s.oldPath||"",a=s.oldPath==="/dev/null"?"added":s.newPath==="/dev/null"?"deleted":s.oldPath&&s.newPath&&s.oldPath!==s.newPath?"renamed":"modified";if(i.push('
'),i.push('
'+t(r)+''+a+"
"),s.lines.length){i.push('');for(let u of s.lines)i.push('");i.push("
'+(u.oldNo||"")+''+(u.newNo||"")+''+(u.kind==="add"?"+":u.kind==="remove"?"-":"")+''+t(u.text)+"
")}i.push("
")}return function(i){if(!i)return i;let s=[],r=null,a=0,u=0,p=()=>(r||(r={oldPath:"",newPath:"",lines:[]}),r),y=()=>{r&&(r.lines.length||r.oldPath||r.newPath)&&(o(s,r),r=null)},h=i.split(` +`);for(let b=0;be});function Im(e,t){return e==null?"":Number(e).toLocaleString(void 0,t==null?{}:{minimumFractionDigits:t,maximumFractionDigits:t})}function Mm(e,t="EUR"){let o=Number(e)||0;return new Intl.NumberFormat(void 0,{style:"currency",currency:t,minimumFractionDigits:o%1?2:0,maximumFractionDigits:2}).format(o)}function _m(e){return String(e??"").toUpperCase()}function Vm(e,t,o=0){return(e||[]).slice(o,o+t)}function qm(e,t){return Array.isArray(e)?typeof t=="function"?e.filter(t):e:[]}function $m(e,t){if(!t)return e||[];let o=Array.isArray(t)?t:[t];return[...e||[]].sort((i,s)=>{for(let r of o){let a=r[0]==="-"?-1:1;r=r.replace(/^[+-]/,"");let u=r.split(".").reduce((y,h)=>y?.[h],i),p=r.split(".").reduce((y,h)=>y?.[h],s);if(typeof u=="string"&&(u=u.toLowerCase()),typeof p=="string"&&(p=p.toLowerCase()),u!==p)return(u==null?-1:p==null?1:ui[s])}function Um(e,t){return(t?.[e]??t?.[e===1?"one":"other"]??"").replace(/\{\}/g,e??0)}function Jr(e){if(!e)return"";let t=/^(\d{4})-(\d{2})-(\d{2})$/.exec(String(e)),o=t?new Date(+t[1],+t[2]-1,+t[3]):new Date(e);if(isNaN(o))return"";let i=o.toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"}),s=new Date;s.setHours(0,0,0,0);let r=Math.round((o-s)/864e5),a;if(r===0)a="today";else if(r===1)a="tomorrow";else if(r===-1)a="yesterday";else{let u=Math.abs(r),p=Math.round(u/30.44),y=u<14?[u,"day"]:u<60?[Math.round(u/7),"week"]:p<18?[p,"month"]:[Math.round(u/365.25),"year"],h=y[0]+" "+y[1]+(y[0]===1?"":"s");a=r>0?"in "+h:h+" ago"}return i+" \xB7 "+a}function to(e){if(e==null||e===""||isNaN(e))return"";e=Number(e);let t="\u202F";if(e<1e3)return+(e<10?e.toFixed(2):e<100?e.toFixed(1):Math.round(e))+t+"ms";let o=e/1e3;if(o<60)return+(o<10?o.toFixed(2):o.toFixed(1))+t+"s";let i=r=>String(r).padStart(2,"0"),s=Math.round(o);return s<3600?Math.floor(s/60)+"m "+i(s%60)+"s":Math.floor(s/3600)+"h "+i(Math.floor(s%3600/60))+"m"}function Zr(e){if(!e)return"";let t=new Date(e);if(isNaN(t))return"";let o={day:"numeric",month:"short"};return t.getFullYear()!==new Date().getFullYear()&&(o.year="numeric"),t.toLocaleDateString(void 0,o)}var Ii=e=>["preparing","download","downloading","downloaded","queue","anonymizing"].includes(e)?"preparing":e==="expiring"?"expired":e==="removing"?"removed":e;function Mi(e,{flags:t,keys:o,count:i,onChange:s=()=>{}}){if(e.segView=()=>{let r=t()||{};if(o.every(u=>!!r[u]))return"all";let a=o.filter(u=>!!r[u]);return a.length===1?a[0]:"custom"},e.setSegView=r=>{let a=t();if(a){for(let u of o)a[u]=r==="all"?!0:u===r;s()}},e.segCount=r=>r==="all"?o.reduce((a,u)=>a+i(u),0):i(r),t()&&e.segView()==="custom")for(let r of o)t()[r]=!0}var fu=function(e,t,o){let i=Tt(),s=Qt();wu(i,s),e.Math=Math,e.watch("user.status",()=>{e.user==null&&o.url("/")}),e.user==null&&o.url("/"),e.repositories=[],e.total=-1,e.totalPage=0,e.statusCounts=[],e.totalSize=0,e.selected={},e.allSelected=!1;let r=S=>{if(S.key==="/"&&!["INPUT","TEXTAREA","SELECT"].includes(document.activeElement?.tagName)){S.preventDefault();let R=document.querySelector('.admin-filter-toolbar input[type="search"]');R&&R.focus()}};s(document,"keydown",r),e.on("dispose",()=>document.removeEventListener("keydown",r)),e.clearFilter=S=>{S==="dateRange"?(e.query.dateFrom="",e.query.dateTo=""):e.query[S]="",e.query.page=1},e.chips=[];let a=()=>{let S=[];e.query.owner&&S.push({key:"owner",label:"Owner",value:e.query.owner}),e.query.conference&&S.push({key:"conference",label:"Conference",value:e.query.conference}),e.chips=S};e.showStatusMessage=S=>{let R=S.statusMessage||"(no message)";window.prompt(`Status message for ${S.repoId} (${S.status}):`,R)},e.fetchGithubInfo=S=>{let R=window.open("","_blank");R&&R.document.write("
Loading GitHub info for "+S.repoId+"...
"),t.get("/api/admin/repos/"+S.repoId+"/github").then(g=>{R&&(R.document.open(),R.document.write('
'+JSON.stringify(g.data,null,2).replace(/[<>]/g,C=>C==="<"?"<":">")+"
"),R.document.close())},g=>{let C=g&&g.data?JSON.stringify(g.data,null,2):String(g);R&&(R.document.body.innerHTML='
'+C+"
")})},e.statusCountFor=S=>{let R=(e.statusCounts||[]).find(g=>g._id===S);return R?R.count:0},e.statusStorageFor=S=>{let R=(e.statusCounts||[]).find(g=>g._id===S);return R?R.storage:0},e.isErrorsOnly=()=>e.query&&e.query.error&&!e.query.ready&&!e.query.preparing&&!e.query.expired&&!e.query.removed,e.toggleErrorsOnly=()=>{e.isErrorsOnly()?Object.assign(e.query,{ready:!1,preparing:!0,expired:!1,removed:!1,error:!0}):Object.assign(e.query,{ready:!1,preparing:!1,expired:!1,removed:!1,error:!0}),e.query.page=1},e.toggleSortDirection=()=>{e.query.direction=e.query.direction==="asc"?"desc":"asc"},e.sortBy=S=>{e.query.sort===S?e.query.direction=e.query.direction==="asc"?"desc":"asc":(e.query.sort=S,e.query.direction="desc"),e.query.page=1},e.sortIcon=S=>e.query.sort===S?e.query.direction==="asc"?"fa-arrow-up":"fa-arrow-down":"";let u="admin.repos.filterPrefs",p={page:1,limit:25,sort:"lastView",direction:"desc",search:"",owner:"",conference:"",dateFrom:"",dateTo:"",ready:!0,expired:!0,removed:!0,error:!0,preparing:!0},y=loadFilterPrefs(u)||{};e.query=Object.assign({},p,y,{page:1,search:""});let h=o.search();h.owner&&(e.query.owner=h.owner),h.conference&&(e.query.conference=h.conference),h.search&&(e.query.search=h.search);let b="admin.repos.presets";e.presets=JSON.parse(localStorage.getItem(b)||"[]"),e.savePreset=()=>{let S=window.prompt("Preset name:");if(!S)return;let R=Object.assign({},e.query);delete R.page,e.presets=(e.presets||[]).filter(g=>g.name!==S),e.presets.push({name:S,query:R}),localStorage.setItem(b,JSON.stringify(e.presets))},e.applyPreset=S=>{Object.assign(e.query,S.query,{page:1})},e.deletePreset=S=>{e.presets=(e.presets||[]).filter(R=>R.name!==S.name),localStorage.setItem(b,JSON.stringify(e.presets))},e.selectAllOnPage=()=>{e.allSelected=!e.allSelected,e.repositories.forEach(S=>{e.selected[S.repoId]=e.allSelected})},e.selectedCount=()=>Object.values(e.selected||{}).filter(Boolean).length,e.selectedRepos=()=>e.repositories.filter(S=>e.selected[S.repoId]),e.bulkRefresh=()=>{let S=e.selectedRepos();S.length&&confirm(`Force refresh ${S.length} repositories?`)&&S.forEach(R=>e.updateRepository(R))},e.bulkRemoveCache=()=>{let S=e.selectedRepos();S.length&&confirm(`Purge cache for ${S.length} repositories?`)&&S.forEach(R=>e.removeCache(R))},e.clearSelection=()=>{e.selected={},e.allSelected=!1},e.exportCsv=()=>{let S=new URLSearchParams(Object.entries(e.query).filter(([,R])=>R!==""&&R!==!1&&R!=null));S.set("format","csv"),S.set("limit","10000"),window.open("/api/admin/repos?"+S.toString(),"_blank")},e.removeCache=S=>{confirm("Remove cached files for "+S.repoId+"?")&&t.delete("/api/admin/repos/"+S.repoId).then(()=>m(),R=>console.error(R))},e.removeRepository=S=>{confirm("Remove repository "+S.repoId+"?")&&t.delete("/api/repo/"+S.repoId+"/").then(()=>m(),R=>console.error(R))},e.updateRepository=S=>{let R=ot({title:`Refreshing ${S.repoId}...`,date:new Date,body:`The repository ${S.repoId} is going to be refreshed.`});e.toasts.push(R),t.post(`/api/repo/${S.repoId}/refresh`).then(g=>{g.data.status=="ready"?R.title=`${S.repoId} is refreshed.`:R.title=`Refreshing of ${S.repoId}.`},g=>{R.title=`Error during the refresh of ${S.repoId}.`,R.body=g.body})},e.filtersOpen=!1,e.fetchError=null;function m(){e.fetchError=null,t.get("/api/admin/repos",{params:e.query}).then(S=>{e.total=S.data.total,e.totalPage=Math.ceil(S.data.total/e.query.limit),e.repositories=S.data.results,e.allSelected=!1},S=>{e.fetchError=S&&S.data&&S.data.error||"Failed to load repositories",console.error(S)})}function w(){let S=Object.assign({},e.query,{page:1,limit:1,ready:!0,expired:!0,removed:!0,error:!0,preparing:!0});t.get("/api/admin/repos",{params:S}).then(R=>{e.statusCounts=R.data.statusCounts||[],e.totalSize=R.data.totalSize||0},()=>{})}e.showAllStatuses=()=>Object.assign(e.query,{ready:!0,expired:!0,removed:!0,error:!0,preparing:!0,page:1}),Mi(e,{flags:()=>e.query,keys:["ready","preparing","error","expired","removed"],count:S=>S==="preparing"?e.statusCountFor("preparing")+e.statusCountFor("download"):S==="expired"?e.statusCountFor("expired")+e.statusCountFor("expiring"):S==="removed"?e.statusCountFor("removed")+e.statusCountFor("removing"):e.statusCountFor(S),onChange:()=>{e.query.page=1}}),m(),w();let A=null;e.watch("query",()=>{i.timeout.cancel(A),A=i.timeout(()=>{m(),w()},500);let{page:S,search:R,...g}=e.query;saveFilterPrefs(u,g),a()},!0),a()},hu=function(e,t,o){let i=Tt(),s=Qt();e.Math=Math,e.watch("user.status",()=>{e.user==null&&o.url("/")}),e.user==null&&o.url("/"),e.users=[],e.total=-1,e.totalPage=0,e.statusCounts=[],e.selected={},e.allSelected=!1;let r=m=>{if(m.key==="/"&&!["INPUT","TEXTAREA","SELECT"].includes(document.activeElement?.tagName)){m.preventDefault();let w=document.querySelector('.admin-filter-toolbar input[type="search"]');w&&w.focus()}};s(document,"keydown",r),e.on("dispose",()=>document.removeEventListener("keydown",r)),e.clearFilter=m=>{m==="dateRange"?(e.query.dateFrom="",e.query.dateTo=""):e.query[m]="",e.query.page=1},e.chips=[];let a=()=>{let m=[];e.query.role&&m.push({key:"role",label:"Role",value:e.query.role}),e.chips=m};e.statusCountFor=m=>{let w=(e.statusCounts||[]).find(A=>A._id===m);return w?w.count:0},e.toggleSortDirection=()=>{e.query.direction=e.query.direction==="asc"?"desc":"asc"},e.sortBy=m=>{e.query.sort===m?e.query.direction=e.query.direction==="asc"?"desc":"asc":(e.query.sort=m,e.query.direction="desc"),e.query.page=1},e.sortIcon=m=>e.query.sort===m?e.query.direction==="asc"?"fa-arrow-up":"fa-arrow-down":"";let u="admin.users.filterPrefs",p={page:1,limit:25,sort:"username",direction:"asc",search:"",status:"",role:"",dateFrom:"",dateTo:""},y=loadFilterPrefs(u)||{};e.query=Object.assign({},p,y,{page:1,search:""}),e.selectAllOnPage=()=>{e.allSelected=!e.allSelected,e.users.forEach(m=>{e.selected[m.username]=e.allSelected})},e.selectedCount=()=>Object.values(e.selected||{}).filter(Boolean).length,e.selectedUsers=()=>e.users.filter(m=>e.selected[m.username]),e.banUser=m=>{confirm(`Ban user ${m.username}?`)&&t.post(`/api/admin/users/${m.username}/ban`).then(h,w=>console.error(w))},e.activateUser=m=>{t.post(`/api/admin/users/${m.username}/activate`).then(h,w=>console.error(w))},e.bulkBan=()=>{let m=e.selectedUsers();m.length&&confirm(`Ban ${m.length} users?`)&&m.forEach(w=>e.banUser(w))},e.exportCsv=()=>{let m=new URLSearchParams(Object.entries(e.query).filter(([,w])=>w!==""&&w!==!1&&w!=null));m.set("format","csv"),m.set("limit","10000"),window.open("/api/admin/users?"+m.toString(),"_blank")},e.fetchError=null;function h(){e.fetchError=null,t.get("/api/admin/users",{params:e.query}).then(m=>{e.total=m.data.total,e.totalPage=Math.ceil(m.data.total/e.query.limit),e.users=m.data.results,e.statusCounts=m.data.statusCounts||[],e.allSelected=!1},m=>{e.fetchError=m&&m.data&&m.data.error||"Failed to load users",console.error(m)})}h();let b=null;e.watch("query",()=>{i.timeout.cancel(b),b=i.timeout(h,500);let{page:m,search:w,...A}=e.query;saveFilterPrefs(u,A),a()},!0),a()},mu=function(e,t,o,i){let s=Tt();wu(s,Qt()),e.watch("user.status",()=>{e.user==null&&o.url("/")}),e.user==null&&o.url("/"),e.userInfo,e.repositories=[],e.search="",e.selected={},e.allSelected=!1;let r="admin.user.filterPrefs",a={filters:{status:{ready:!0,expired:!0,removed:!0,error:!0,preparing:!0}},sort:"anonymizeDate",direction:"desc"},u=loadFilterPrefs(r)||{};e.filters={status:Object.assign({},a.filters.status,u.filters&&u.filters.status||{})},e.query={sort:u.sort||a.sort,direction:u.direction||a.direction},e.orderBy=(e.query.direction==="asc"?"":"-")+e.query.sort,e.sortBy=m=>{e.query.sort===m?e.query.direction=e.query.direction==="asc"?"desc":"asc":(e.query.sort=m,e.query.direction="desc"),e.orderBy=(e.query.direction==="asc"?"":"-")+e.query.sort},e.sortIcon=m=>e.query.sort===m?e.query.direction==="asc"?"fa-arrow-up":"fa-arrow-down":"",e.watch("query",()=>{saveFilterPrefs(r,{filters:e.filters,sort:e.query.sort,direction:e.query.direction})},!0),e.watch("filters",()=>{saveFilterPrefs(r,{filters:e.filters,sort:e.query.sort,direction:e.query.direction})},!0),e.statusCountFor=m=>(e.repositories||[]).filter(w=>Ii(w.status)===m).length,Mi(e,{flags:()=>e.filters.status,keys:["ready","preparing","error","expired","removed"],count:m=>e.statusCountFor(m)}),e.repoFiler=m=>e.filters.status[Ii(m.status)]==!1?!1:!!(e.search.trim().length==0||m.source.fullName.indexOf(e.search)>-1||m.repoId.indexOf(e.search)>-1||m.statusMessage&&m.statusMessage.indexOf(e.search)>-1||m.conference&&m.conference.indexOf(e.search)>-1),e.selectAllOnPage=()=>{e.allSelected=!e.allSelected,(e.filteredRepositories||e.repositories).forEach(m=>{e.selected[m.repoId]=e.allSelected})},e.selectedCount=()=>Object.values(e.selected||{}).filter(Boolean).length,e.selectedRepos=()=>e.repositories.filter(m=>e.selected[m.repoId]),e.bulkRefresh=()=>{let m=e.selectedRepos();m.length&&confirm(`Force refresh ${m.length} repositories?`)&&m.forEach(w=>e.updateRepository(w))},e.bulkRemoveCache=()=>{let m=e.selectedRepos();m.length&&confirm(`Purge cache for ${m.length} repositories?`)&&m.forEach(w=>e.removeCache(w))},e.clearSelection=()=>{e.selected={},e.allSelected=!1},e.exportCsv=()=>{let m=e.filteredRepositories||e.repositories,A=["repoId","status","statusMessage","pageView","anonymizeDate","source.fullName","conference","size.storage"].join(","),S=m.map(C=>[C.repoId,C.status,C.statusMessage||"",C.pageView||0,C.anonymizeDate||"",C.source&&C.source.fullName||"",C.conference||"",C.size&&C.size.storage||0].map(M=>{let V=String(M??"");return/[",\n\r]/.test(V)?'"'+V.replace(/"/g,'""')+'"':V}).join(",")),R=new Blob([A+` `+S.join(` -`)],{type:"text/csv"}),g=document.createElement("a");g.href=URL.createObjectURL(R),g.download=i.username+"-repositories.csv",g.click()},e.showStatusMessage=m=>{let w=m.statusMessage||"(no message)";window.prompt(`Status message for ${m.repoId} (${m.status}):`,w)},e.fetchGithubInfo=m=>{let w=window.open("","_blank");w&&w.document.write("
Loading GitHub info for "+m.repoId+"...
"),t.get("/api/admin/repos/"+m.repoId+"/github").then(A=>{w&&(w.document.open(),w.document.write('
'+JSON.stringify(A.data,null,2).replace(/[<>]/g,S=>S==="<"?"<":">")+"
"),w.document.close())},A=>{let S=A&&A.data?JSON.stringify(A.data,null,2):String(A);w&&(w.document.body.innerHTML='
'+S+"
")})};function p(m){t.get("/api/admin/users/"+m+"/repos",{}).then(w=>{e.repositories=w.data},w=>{console.error(w)})}function y(m){t.get("/api/admin/users/"+m,{}).then(w=>{e.userInfo=w.data},w=>{console.error(w)})}y(i.username),p(i.username),e.banUser=()=>{confirm(`Ban user ${i.username}?`)&&t.post(`/api/admin/users/${i.username}/ban`).then(()=>y(i.username),m=>console.error(m))},e.activateUser=()=>{t.post(`/api/admin/users/${i.username}/activate`).then(()=>y(i.username),m=>console.error(m))},e.promoteUser=()=>{confirm(`Promote ${i.username} to admin?`)&&t.post(`/api/admin/users/${i.username}/promote`).then(()=>y(i.username),m=>console.error(m))},e.demoteUser=()=>{confirm(`Remove admin privileges from ${i.username}?`)&&t.post(`/api/admin/users/${i.username}/demote`).then(()=>y(i.username),m=>console.error(m))},e.tokens=[],e.tokenForm={name:"",plaintext:null};function h(){t.get("/api/admin/tokens").then(m=>{e.tokens=m.data||[]},m=>{m.status!==401&&m.status!==403&&console.error(m)})}h(),e.createToken=()=>{e.tokenForm.name&&t.post("/api/admin/tokens",{name:e.tokenForm.name}).then(m=>{e.tokenForm.plaintext=m.data.token,e.tokenForm.name="",h()},m=>console.error(m))},e.revokeToken=m=>{confirm(`Revoke token "${m.name}"?`)&&t.delete("/api/admin/tokens/"+m.id).then(()=>h(),w=>console.error(w))},e.removeCache=m=>{confirm("Remove cached files for "+m.repoId+"?")&&t.delete("/api/admin/repos/"+m.repoId).then(()=>p(i.username),w=>console.error(w))},e.removeRepository=m=>{confirm("Remove repository "+m.repoId+"?")&&t.delete("/api/repo/"+m.repoId+"/").then(()=>p(i.username),w=>console.error(w))},e.updateRepository=m=>{let w=st({title:`Refreshing ${m.repoId}...`,date:new Date,body:`The repository ${m.repoId} is going to be refreshed.`});e.toasts.push(w),t.post(`/api/repo/${m.repoId}/refresh`).then(A=>{A.data.status=="ready"?w.title=`${m.repoId} is refreshed.`:w.title=`Refreshing of ${m.repoId}.`},A=>{w.title=`Error during the refresh of ${m.repoId}.`,w.body=A.body})},e.getGitHubRepositories=m=>{t.get(`/api/user/${e.userInfo.username}/all_repositories`,{params:{force:"1"}}).then(w=>{e.userInfo.repositories=w.data})};let b=null;e.watch("query",()=>{s.timeout.cancel(b),b=s.timeout(()=>{p(i.username)},500)},!0)},vu=function(e,t,o){let i=Tt(),s=Jt();e.Math=Math,e.watch("user.status",()=>{e.user==null&&o.url("/")}),e.user==null&&o.url("/"),e.conferences=[],e.total=-1,e.totalPage=0,e.statusCounts=[];let r=A=>{if(A.key==="/"&&!["INPUT","TEXTAREA","SELECT"].includes(document.activeElement?.tagName)){A.preventDefault();let S=document.querySelector('.admin-filter-toolbar input[type="search"]');S&&S.focus()}};s(document,"keydown",r),e.on("dispose",()=>document.removeEventListener("keydown",r)),e.clearFilter=A=>{A==="dateRange"?(e.query.dateFrom="",e.query.dateTo=""):e.query[A]="",e.query.page=1},e.chips=[];let a=()=>{let A=[];(e.query.dateFrom||e.query.dateTo)&&A.push({key:"dateRange",label:"Date",value:(e.query.dateFrom||"\u2026")+" \u2013 "+(e.query.dateTo||"\u2026")}),e.chips=A};e.statusCountFor=A=>{let S=(e.statusCounts||[]).find(R=>R._id===A);return S?S.count:0},e.toggleSortDirection=()=>{e.query.direction=e.query.direction==="asc"?"desc":"asc"},e.sortBy=A=>{e.query.sort===A?e.query.direction=e.query.direction==="asc"?"desc":"asc":(e.query.sort=A,e.query.direction="desc"),e.query.page=1},e.sortIcon=A=>e.query.sort===A?e.query.direction==="asc"?"fa-arrow-up":"fa-arrow-down":"";let u="admin.conferences.filterPrefs",p={page:1,limit:25,sort:"name",direction:"asc",search:"",dateFrom:"",dateTo:"",ready:!0,expired:!0,removed:!0,error:!0,preparing:!0},y=loadFilterPrefs(u)||{};e.query=Object.assign({},p,y,{page:1,search:""});let h=o.search();h.search&&(e.query.search=h.search);let b="admin.conferences.presets";e.presets=JSON.parse(localStorage.getItem(b)||"[]"),e.savePreset=()=>{let A=window.prompt("Preset name:");if(!A)return;let S=Object.assign({},e.query);delete S.page,e.presets=(e.presets||[]).filter(R=>R.name!==A),e.presets.push({name:A,query:S}),localStorage.setItem(b,JSON.stringify(e.presets))},e.applyPreset=A=>{Object.assign(e.query,A.query,{page:1})},e.deletePreset=A=>{e.presets=(e.presets||[]).filter(S=>S.name!==A.name),localStorage.setItem(b,JSON.stringify(e.presets))},e.removeConference=A=>{confirm("Remove conference "+A.conferenceID+"?")&&t.delete("/api/admin/conferences/"+A.conferenceID).then(()=>m(),S=>console.error(S))},e.exportCsv=()=>{let A=new URLSearchParams(Object.entries(e.query).filter(([,S])=>S!==""&&S!==!1&&S!=null));A.set("format","csv"),A.set("limit","10000"),window.open("/api/admin/conferences?"+A.toString(),"_blank")},e.fetchError=null;function m(){e.fetchError=null,t.get("/api/admin/conferences",{params:e.query}).then(A=>{e.total=A.data.total,e.totalPage=Math.ceil(A.data.total/e.query.limit),e.conferences=A.data.results,e.statusCounts=A.data.statusCounts||[]},A=>{e.fetchError=A&&A.data&&A.data.error||"Failed to load conferences",console.error(A)})}_i(e,{flags:()=>e.query,keys:["ready","preparing","error","expired","removed"],count:A=>e.statusCountFor(A),onChange:()=>{e.query.page=1}}),m();let w=null;e.watch("query",()=>{i.timeout.cancel(w),w=i.timeout(m,500);let{page:A,search:S,...R}=e.query;saveFilterPrefs(u,R),a()},!0),a()},yu=function(e,t,o,i,s){let r=Tt();e.watch("user.status",()=>{e.user==null&&o.url("/")}),e.user==null&&o.url("/"),e.queueList=[],e.jobs=[],e.selectedQueue="download",e.selectedStats=null,e.range="1h",e.allStates=["active","waiting","delayed","failed","completed"],e.stateFilter={active:!0,waiting:!0,delayed:!0,failed:!0,completed:!0},_i(e,{flags:()=>e.stateFilter,keys:e.allStates,count:R=>(e.jobs||[]).filter(g=>g._state===R).length}),e.query={search:"",autoRefresh:!0},e.filteredJobs=()=>(e.jobs||[]).filter(R=>e.stateFilter[R._state]),e.jobProgressPct=R=>R?._state==="completed"?100:R&&R.progress&&typeof R.progress=="object"&&typeof R.progress.percent=="number"?Math.max(0,Math.min(100,Math.round(R.progress.percent))):typeof R.progress=="number"?Math.max(0,Math.min(100,Math.round(R.progress))):null;let a={get_files:"Fetching files",download:"Downloading",downloading:"Downloading",anonymize:"Anonymizing",anonymizing:"Anonymizing",ready:"Ready",removing:"Removing",preparing:"Preparing"};e.jobDetail=R=>{if(R?._state==="failed")return Ii(R.failedReason||"")||"Failed";let g=R?.progress&&typeof R.progress=="object"?R.progress.status:null;return R?._state==="active"&&g?a[g]||Ii(g):"\u2014"},e.jobDuration=R=>{if(!R.processedOn)return"\u2014";let g=R.finishedOn||Date.now();return no(g-R.processedOn)},e.metricsPoints=[],e.selectQueue=R=>{e.selectedQueue=R,u(),p()},e.setRange=R=>{e.range=R,p()};function u(){let R={queue:e.selectedQueue,search:e.query.search};t.get("/api/admin/queues",{params:R}).then(g=>{e.queueList=g.data.queues||[],e.jobs=g.data.jobs||[],e.selectedStats=e.queueList.find(C=>C.key===e.selectedQueue)||e.queueList[0]||null},g=>console.error(g))}function p(){t.get("/api/admin/queues/metrics",{params:{queue:e.selectedQueue,range:e.range}}).then(R=>{e.metricsPoints=R.data.points||[],s(w,0)},R=>console.error(R))}u(),p();let y=i(()=>{e.query.autoRefresh&&(u(),p())},15e3);e.on("dispose",()=>i.cancel(y)),e.refreshNow=function(){u(),p()};function h(R){let g=R&&R.data&&(R.data.message||R.data.error)||"Request failed";e.actionError=g,s(()=>{e.actionError=null},5e3),console.error(R)}e.actionError=null,e.removeJob=R=>{t.delete(`/api/admin/queue/${e.selectedQueue}/${R.id}`).then(u,h)},e.retryJob=R=>{t.post(`/api/admin/queue/${e.selectedQueue}/${R.id}`).then(u,h)},e.retryFailed=()=>{confirm(`Retry all failed jobs in ${e.selectedQueue}?`)&&t.post(`/api/admin/queue/${e.selectedQueue}/retry-failed`).then(u,R=>console.error(R))},e.drainSelected=()=>{confirm(`Drain the ${e.selectedQueue} queue?`)&&t.post(`/api/admin/queue/${e.selectedQueue}/drain`).then(u,R=>console.error(R))},e.togglePause=()=>{let R=e.selectedStats&&e.selectedStats.paused?"resume":"pause";t.post(`/api/admin/queue/${e.selectedQueue}/${R}`).then(u,g=>console.error(g))},e.emptyQueue=()=>{confirm(`Empty the ${e.selectedQueue} queue? This removes ALL jobs.`)&&t.post(`/api/admin/queue/${e.selectedQueue}/empty`).then(u,R=>console.error(R))},e.pauseAll=()=>{confirm("Pause all queues?")&&t.post("/api/admin/queues/pause-all").then(u,R=>console.error(R))};let b=null;e.watch("query.search",()=>{r.timeout.cancel(b),b=r.timeout(u,350)}),e.expanded={},e.toggleJob=R=>{e.expanded[R.id]=!e.expanded[R.id]},e.humanTime=R=>{if(!R)return"";let g=new Date(R);return g.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})+" "+g.toLocaleDateString([],{month:"short",day:"numeric"})},e.delayCountdown=R=>{if(!R)return"";var g=Math.max(0,Math.ceil((R-Date.now())/1e3));if(g<=0)return"resuming soon";var C=Math.floor(g/60),I=g%60;return"in "+(C>0?C+"m "+I+"s":I+"s")};function m(R){if(R<=0)return{ticks:[0],niceMax:1};let g=Math.pow(10,Math.floor(Math.log10(R))),C=g;R/C<2?C=g/2:R/C>5&&(C=g*2);let I=Math.ceil(R/C)*C,V=[];for(let q=0;q<=I;q+=C)V.push(q);return{ticks:V,niceMax:I}}function w(){var R=document.getElementById("q-throughput-chart");if(!R)return;var g=R.getContext("2d"),C=window.devicePixelRatio||1,I=R.parentElement.getBoundingClientRect(),V=44,q=44,j=22,te=Math.max(200,Math.round(I.width)),Y=Math.max(180,Math.min(420,Math.round(I.height)||180)),oe=te-V-q,Ce=Y-j;R.width=te*C,R.height=Y*C,R.style.width=te+"px",R.style.height=Y+"px",g.setTransform(C,0,0,C,0,0);var D=document.body.classList.contains("dark-mode"),ee="#8A857C",ce=D?"rgba(255,255,255,0.06)":"rgba(0,0,0,0.06)",Oe=D?"#6FBF8A":"#2F7D4F",ke=D?"rgba(111,191,138,0.12)":"rgba(47,125,79,0.08)",de=D?"#F08A82":"#B42318",ie=D?"rgba(240,138,130,0.08)":"rgba(180,35,24,0.06)",be=getComputedStyle(document.body).getPropertyValue("--q-time-series").trim()||(D?"#E0A94A":"#946512"),Ae=e.metricsPoints||[];if(Ae.length===0){g.fillStyle=ee,g.font="13px Inter, system-ui, sans-serif",g.textAlign="center",g.fillText("No metrics data yet",te/2,Y/2),A=null;return}var Ze=Ae.map(function(he){return he.completed}),nt=Ae.map(function(he){return he.failed}),it=Ae.map(function(he){return he.avgMs});if(!Ze.some(Boolean)&&!nt.some(Boolean)){g.strokeStyle=D?"rgba(255,255,255,0.14)":"rgba(0,0,0,0.12)",g.beginPath(),g.moveTo(0,Y-18.5),g.lineTo(te,Y-18.5),g.stroke(),g.fillStyle=D?"#CFC8BD":"#4F4A42",g.font="500 14px Inter, system-ui, sans-serif",g.textAlign="center",g.fillText("No jobs processed in this window",te/2,Y/2-6),g.fillStyle=ee,g.font="12.5px Inter, system-ui, sans-serif",g.fillText("Completed and failed jobs will chart here",te/2,Y/2+16),A=null;return}var Ye=Ae.length,lt=oe/(Ye-1||1),ct=Math.max(1,Math.max.apply(null,Ze),Math.max.apply(null,nt)),bt=m(ct),X=Math.max.apply(null,it),me=X>0?m(X):{ticks:[0],niceMax:1},M=function(he){return Ce-he/bt.niceMax*(Ce-10)},U=function(he){return Ce-he/me.niceMax*(Ce-10)},F=function(he){return V+he*lt};g.textAlign="right",g.textBaseline="middle",g.font="11px Inter, system-ui, sans-serif",bt.ticks.forEach(function(he){var Ne=M(he);g.strokeStyle=ce,g.lineWidth=1,g.beginPath(),g.moveTo(V,Ne),g.lineTo(te-q,Ne),g.stroke(),g.fillStyle=ee,he!==0&&g.fillText(he>=1e3?(he/1e3).toFixed(1)+"k":String(he),V-6,Ne)}),X>0&&(g.textAlign="left",me.ticks.forEach(function(he){var Ne=U(he);g.fillStyle=be,he!==0&&g.fillText(no(he),te-q+6,Ne)}));var W=Ae[Ye-1].ts,E=Ae[0].ts,N=Math.max(0,(W-E)/6e4),O=[1,2,5,10,15,30,60,120,180,360,720,1440,2880,10080],H=O.find(function(he){return N/he<=4})||O[O.length-1],B=function(he){return he<60?he+"m":he<1440?he/60+"h":he/1440+"d"},K=function(he){for(var Ne=0,Fe=1;Fe0&&Math.abs(Ae[ge].ts-(W-G*6e4))>ne+1)){var ae=F(ge),le=G===0?"now":B(G)+" ago",fe=g.measureText(le).width,De=J===0?"right":ge===0?"left":"center",Re=De==="right"?ae:De==="left"?ae+fe:ae+fe/2;Re>Q-12||(g.textAlign=De,g.fillText(le,ae,Ce+6),Q=De==="right"?ae-fe:De==="left"?ae:ae-fe/2)}}function Me(he,Ne,Fe,Ge){he.length!==0&&(g.beginPath(),g.moveTo(F(0),Ce),he.forEach(function(Pt,ft){var xe=F(ft),tt=Ne(Pt);if(ft===0)g.lineTo(xe,tt);else{var k=(F(ft-1)+xe)/2;g.bezierCurveTo(k,Ne(he[ft-1]),k,tt,xe,tt)}}),g.lineTo(F(he.length-1),Ce),g.closePath(),g.fillStyle=Fe,g.fill(),g.beginPath(),he.forEach(function(Pt,ft){var xe=F(ft),tt=Ne(Pt);if(ft===0)g.moveTo(xe,tt);else{var k=(F(ft-1)+xe)/2;g.bezierCurveTo(k,Ne(he[ft-1]),k,tt,xe,tt)}}),g.strokeStyle=Ge,g.lineWidth=1.5,g.stroke())}Me(Ze,M,ke,Oe),Me(nt,M,ie,de),X>0&&(g.beginPath(),it.forEach(function(he,Ne){var Fe=F(Ne),Ge=U(he);if(Ne===0)g.moveTo(Fe,Ge);else{var Pt=(F(Ne-1)+Fe)/2;g.bezierCurveTo(Pt,U(it[Ne-1]),Pt,Ge,Fe,Ge)}}),g.strokeStyle=be,g.lineWidth=1,g.setLineDash([4,3]),g.stroke(),g.setLineDash([])),A={pts:Ae,maxLen:Ye,marginLeft:V,step:lt,totalW:te,toX:F}}var A=null;function S(){var R=document.getElementById("q-throughput-chart");if(!(!R||R._tipBound)){R._tipBound=!0;var g=document.getElementById("q-chart-tooltip"),C=document.getElementById("q-chart-crosshair");R.addEventListener("mousemove",function(I){if(!(!A||!g||!C)){var V=A,q=R.getBoundingClientRect(),j=I.clientX-q.left,te=Math.round((j-V.marginLeft)/V.step);if(te<0||te>=V.maxLen){g.style.display="none",C.style.display="none";return}var Y=V.pts[te],oe=V.pts[V.pts.length-1].ts,Ce=Math.round((oe-Y.ts)/6e4),D;if(Ce<=0)D="now";else if(Ce<60)D=Ce+"m ago";else if(Ce<1440){var ee=Math.floor(Ce/60),ce=Ce%60;D=ee+"h"+(ce?" "+ce+"m":"")+" ago"}else D=Math.round(Ce/1440)+"d ago";var Oe='
'+D+'
● completed: '+Y.completed+'/min
● failed: '+Y.failed+"/min
";if(Y.avgMs>0){var ke=no(Y.avgMs);Oe+='
● avg time: '+ke+"
"}g.innerHTML=Oe;var de=V.toX(te),ie=g.offsetWidth,be=de+10;be+ie>V.totalW&&(be=de-ie-10),g.style.display="block",g.style.left=be+"px",g.style.top="8px",C.style.display="block",C.style.left=de+"px"}}),R.addEventListener("mouseleave",function(){g&&(g.style.display="none"),C&&(C.style.display="none")})}}e.watch("metricsPoints",function(){s(S,50)})},bu=function(e,t,o,i){let s=Tt();e.watch("user.status",()=>{e.user==null&&o.url("/")}),e.user==null&&o.url("/"),e.entries=[],e.visible=[],e.available=!0,e.cap=1e3,e.total=0,e.pageSize=250,e.expanded={},e.detailTab={},e.copyHint="",e.parsedFilterCount=0,e.stats={last24h:0,prev24h:0,delta:0,severity:{error:0,warn:0,info:0},unique:{error:0,warn:0,info:0},buckets:[],dropped:0},e.query={search:"",bucket:"",sort:"recent",group:"code",autoRefresh:!0},e.relTime=g=>{if(!g)return"";let C=new Date(g).getTime();if(isNaN(C))return g;let I=Math.max(0,Date.now()-C),V=Math.floor(I/1e3);if(V<5)return"just now";if(V<60)return`${V}s ago`;let q=Math.floor(V/60);if(q<60)return`${q}m ago`;let j=Math.floor(q/60);if(j<24)return`${j}h ago`;let te=Math.floor(j/24);return te<7?`${te}d ago`:new Date(g).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})},e.absTime=g=>{if(!g)return"";let C=new Date(g);return isNaN(C.getTime())?g:C.toLocaleString(void 0,{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})},e.absTimeShort=g=>{if(!g)return"";let C=new Date(g);return isNaN(C.getTime())?g:C.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})};let r=/^[a-zA-Z][a-zA-Z0-9]*(?:_[a-zA-Z0-9]+)+$/;function a(g,C){let I=g&&(g.httpStatus||g.status)||null;if(typeof I=="number"){if(I>=500)return"error";if(I===401||I===403||I===404)return"info";if(I>=400)return"warn"}return C==="error"?"error":C==="warn"?"warn":"info"}function u(g){let C=(g.raw||[]).find(j=>j&&typeof j=="object"&&!Array.isArray(j));if(C){C.message&&r.test(C.message)?(g.displayMessage=C.message,g.displayContext=g.message):C.code&&r.test(String(C.code))?(g.displayMessage=String(C.code),g.displayContext=g.message):C.name&&C.name!=="AnonymousError"&&C.name!=="Error"?(g.displayMessage=C.name,g.displayContext=C.message||g.message):g.displayMessage=g.message,g._status=C.httpStatus||C.status||null,g._url=C.url||null,g._method=C.method||null,g._repoId=C.repoId||C.detail||null,g._detail=C.detail&&C.detail!==g._repoId?C.detail:null;let j=typeof C.stack=="string"?C.stack:null;for(var I=[C.cause,C.err].filter(Boolean),V=0;!j&&V{oe==null||oe===""||I.push([Y,oe])};V("name",C&&C.name),V("code",g.displayMessage||C&&C.message),g._bucket&&V("kind",g._bucket),V("httpStatus",C&&C.httpStatus),C&&C.status&&!C.httpStatus&&V("status",C.status),V("module",g.module);let q=C&&C.detail;if(typeof q=="string"){let Y=q.trim();if(Y[0]==="{"||Y[0]==="[")try{q=JSON.parse(q)}catch{}}if(V("detail",q),V("repoId",C&&C.repoId),V("filePath",C&&C.filePath),V("upstreamStatus",C&&C.upstreamStatus),V("upstreamBody",C&&C.upstreamBody),V("url",g._url),V("err",C&&C.err),V("cause",C&&!C.err&&C.cause),V("ts",g.ts),!I.length)return JSON.stringify(g,null,2);let j=I.reduce((Y,oe)=>Math.max(Y,oe[0].length),0),te=["{"];return I.forEach(([Y,oe],Ce)=>{let ee=` ${`"${Y}":`.padEnd(j+3," ")} `,ce=Ceie===0?de:ke+de).join(` -`)}else typeof oe=="number"||typeof oe=="boolean"?Oe=String(oe):Oe=JSON.stringify(oe);te.push(`${ee}${Oe}${ce}`)}),te.push("}"),te.join(` -`)}function y(g){let C=[],I="",V=/(\w+):(>=|<=|!=|>|<|=)?([^\s]+)/g,q=0,j;for(;j=V.exec(g);)I+=g.slice(q,j.index),q=V.lastIndex,C.push({key:j[1],op:j[2]||"=",val:j[3]});return I+=g.slice(q),{filters:C,free:I.trim().toLowerCase()}}function h(g,C){for(let I of C.filters){let V=(j,te,Y)=>{let oe=parseFloat(j),Ce=parseFloat(te);return Y==="="?String(j)===String(te):Y==="!="?String(j)!==String(te):Y===">="?oe>=Ce:Y==="<="?oe<=Ce:Y===">"?oe>Ce:Y==="<"?oeC&&Y._bucket!==C?!1:h(Y,g)),V=e.query.group;if(V){let Y=D=>V==="module"?D.module:D.displayMessage||D.message||"_",oe=new Map;for(let D of I){let ee=Y(D);if(oe.has(ee)){let ce=oe.get(ee);ce.count++,ce._related.push(D),new Date(D.ts)>new Date(ce.ts)&&(ce.ts=D.ts,ce._url=D._url,ce._status=D._status),new Date(D.ts)new Date(ee.ts).getTime()>=Ce).length;I=Array.from(oe.values())}else I=I.map((Y,oe)=>(Y._key="row:"+oe+":"+Y.ts,Y._related=[Y],Y._firstSeen=Y.ts,Y._lastHourCount=0,Y.count=1,Y));let q=Y=>({error:0,warn:1,info:2})[Y._bucket]??1;e.query.sort==="count"?I.sort((Y,oe)=>q(Y)-q(oe)||oe.count-Y.count||new Date(oe.ts)-new Date(Y.ts)):I.sort((Y,oe)=>q(Y)-q(oe)||new Date(oe.ts)-new Date(Y.ts)),e.visible=I;let j=!!(e.query.bucket||(e.query.search||"").trim()),te=!j&&(e.stats?.severity?.error||0)>0&&!I.some(Y=>Y._bucket==="error")&&e.entries.length<1500;(j&&!I.length||te)&&e.canLoadMore?.()&&!e._autoLoading&&e.entries.length<2500&&(e._autoLoading=!0,m(!0))}function m(g){let C=g?e.entries.length:0,I=g?e.pageSize:Math.max(e.pageSize,e.entries.length||e.pageSize);t.get("/api/admin/errors",{params:{offset:C,limit:I}}).then(V=>{let q=(V.data.entries||[]).map(u);e.entries=g?e.entries.concat(q):q,e.available=!!V.data.available,e.cap=V.data.max||e.cap,e.total=V.data.total||e.entries.length,e._autoLoading=!1,b()},V=>{e._autoLoading=!1,console.error(V)})}e.loadMore=()=>m(!0),e.canLoadMore=()=>e.entries.length{let C=g.data||{},I=C.prev24h?Math.round((C.last24h-C.prev24h)/C.prev24h*100):0;e.stats={last24h:C.last24h||0,prev24h:C.prev24h||0,delta:I,severity:C.severity||{error:0,warn:0,info:0},unique:C.unique||{error:0,warn:0,info:0},buckets:C.buckets||[],dropped:C.dropped||0},b()},g=>console.error(g))}function A(){m(),w()}e.barPx=(g,C)=>{let I=e.stats.buckets||[],V=0,q=0;for(let oe of I)V=Math.max(V,(oe.error||0)+(oe.warn||0)),q=Math.max(q,oe.info||0);let j=g[C]||0;if(!j)return 0;if(C==="info")return q?Math.max(2,Math.round(j/q*(V?16:60))):0;let te=(g.error||0)+(g.warn||0),Y=Math.round(te/V*44);return Math.max(4,Math.round(j/te*Y))},e.bucketTitle=g=>`${new Date(g.hour).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})} \xB7 ${g.error||0} err \xB7 ${g.warn||0} warn \xB7 ${g.info||0} info`,e.toggle=g=>{e.expanded[g._key]=!e.expanded[g._key]},e.setBucket=g=>{e.query.bucket=g},e.refreshNow=A,e.clearAll=()=>{confirm("Clear all captured errors?")&&t.delete("/api/admin/errors").then(A,g=>console.error(g))},e.exportCsv=()=>{let g=["ts","level","module","displayMessage","_status","_url","_repoId"],C=[g.join(",")];for(let j of e.visible)C.push(g.map(te=>{let Y=j[te]==null?"":String(j[te]);return/[",\n]/.test(Y)?`"${Y.replace(/"/g,'""')}"`:Y}).join(","));let I=new Blob([C.join(` -`)],{type:"text/csv;charset=utf-8"}),V=URL.createObjectURL(I),q=document.createElement("a");q.href=V,q.download=`errors-${new Date().toISOString().slice(0,19)}.csv`,document.body.appendChild(q),q.click(),document.body.removeChild(q),URL.revokeObjectURL(V)};function S(g){e.copyHint=`${g} copied`,s.timeout(()=>{e.copyHint=""},1500)}e.copyJson=g=>{navigator.clipboard.writeText(g._detailJson).then(()=>S("JSON"))},e.copyCurl=g=>{if(!g._url)return;let I=`curl -X ${g._method||"GET"} '${window.location.origin}${g._url}'`;navigator.clipboard.writeText(I).then(()=>S("curl"))},A();let R=i(()=>{e.query.autoRefresh&&A()},15e3);e.on("dispose",()=>i.cancel(R)),e.watch("query.search",b),e.watch("query.bucket",b),e.watch("query.sort",b),e.watch("query.group",b)},wu=function(e,t,o,i){if(e.Math=Math,e.watch("user.status",()=>{e.user==null&&o.url("/")}),e.user==null){o.url("/");return}e.data=null,e.loading=!0,e.error=null,e.performance=null,e.performanceMinutes=15,e.performanceTab="routes",e.cacheReport=null,e.cacheError=null,e.cacheMinutes=60,e.cacheTraffic="all",e.ovView=["performance","cache"].includes((window.location.hash||"").slice(1))?window.location.hash.slice(1):"summary",e.setOvView=function(g){e.ovView=g;try{window.history.replaceState(null,"",g==="summary"?window.location.pathname:"#"+g)}catch{}};var s=!1;e.loadCache=function(){if(!s){s=!0;var g=e.cacheMinutes;t.get("/api/admin/cache",{params:{minutes:g}}).then(function(C){g===e.cacheMinutes&&(e.cacheReport=C.data,e.cacheError=C.data.available?null:C.data.reason||"Cache monitoring is unavailable.")},function(){e.cacheError="Could not refresh cache monitoring. Displayed values may be stale."}).finally(function(){s=!1,g!==e.cacheMinutes&&e.loadCache()})}},e.cacheRows=function(){return(e.cacheReport?.rows||[]).filter(function(g){return e.cacheTraffic==="all"||g.traffic===e.cacheTraffic})},e.cacheRate=function(g,C){var I=e.cacheRows(),V=function(te){return I.filter(function(Y){return Y.name===te}).reduce(function(Y,oe){return Y+oe[C]},0)},q=V(g+"_hit"),j=V(g+"_miss");return q+j?(100*q/(q+j)).toFixed(1)+"%":"No samples"},e.cacheEventName=function(g){return g.replaceAll("_"," ")},e.cacheP95=function(g){var C=0,I=e.cacheReport?.latencyBucketsMs||[];if(!g.count)return"No samples";if(!g.ms)return"Not timed";for(var V=0;V<=I.length;V++)if(C+=g["b"+V]||0,C>=Math.ceil(g.count*.95))return V 10\u202Fs";return"No samples"},e.healthAlert=function(){let g=e.data&&e.data.system||{},C=[["Memory",g.memPercent],["Disk",g.diskPercent]].filter(([,V])=>V>90);return C.length?C.map(([V,q])=>V+" is at "+q+"%").join(" and ")+". New anonymizations may fail until "+(C.length>1?"they drop.":"it drops."):""},e.performanceError=null,e.formatMs=function(g){return g==null?"":no(g)},e.latencyBound=function(g,C){return g.count?g[C]==null?"> 60\u202Fs":"\u2264 "+e.formatMs(g[C]):"No samples"},e.firstByteBound=function(g){return e.latencyBound({count:g.firstByteCount,p95UpperMs:g.firstByteP95UpperMs},"p95UpperMs")},e.sampleAge=function(g){return Math.max(0,Math.round((Date.now()-g.sampledAt)/1e3))},e.peakRss=function(g){return(e.performance.runtimeSeries||[]).filter(function(C){return C.instance===g.instance}).reduce(function(C,I){return Math.max(C,I.rss)},g.memory.rss)},e.performanceWarning=function(g){return e.sampleAge(g)>45||g.droppedBatches||g.droppedMetrics||g.sockets?.closeWait>0||g.eventLoop?.p95Ms>100||g.memoryLimitBytes&&g.memory.rss>g.memoryLimitBytes*.8};var r=!1;e.loadPerformance=function(){var g=e.performanceMinutes;e.performance?.windowMinutes&&e.performance.windowMinutes!==g&&(e.performance=null),!r&&(r=!0,t.get("/api/admin/performance",{params:{minutes:g}}).then(function(C){g===e.performanceMinutes&&(e.performance=C.data,e.performanceError=C.data.available?null:"Performance monitoring is unavailable. Request history may be incomplete.")},function(){g===e.performanceMinutes&&(e.performanceError="Could not refresh performance monitoring. Displayed samples may be stale.")}).finally(function(){r=!1,g!==e.performanceMinutes&&e.loadPerformance()}))};function a(g){if(g==null)return"\u2014";for(var C=["B","KB","MB","GB","TB"],I=0,V=g;V>=1024&&I0?1:0).replace(/\.0$/,"")+" "+C[I]}e.humanBytes=a;function u(g){if(!g)return"\u2014";var C=Math.floor(g/86400),I=Math.floor(g%86400/3600),V=Math.floor(g%3600/60);return C>0?C+"d "+(I<10?"0":"")+I+"h":I>0?I+"h "+(V<10?"0":"")+V+"m":V+"m"}e.humanDuration=u;function p(g){return g==null?"\u2014":g>=1e6?(g/1e6).toFixed(1)+"M":g>=1e3?(g/1e3).toFixed(1)+"K":String(g)}e.humanNum=p,e.queueTotal=function(g){return g?(g.waiting||0)+(g.active||0)+(g.delayed||0)+(g.failed||0):0},e.statusCount=function(g){if(!e.data||!e.data.repos)return 0;for(var C=e.data.repos.statusBreakdown||[],I=0;I0,zero:!V,title:String(q.getHours()).padStart(2,"0")+":00 \xB7 "+(I.error||0)+" 5xx, "+(I.warn||0)+" 4xx"}})},e.errorHoursPeak=function(){var g=e.errorStats&&e.errorStats.buckets||[];return g.reduce(function(C,I){return Math.max(C,(I.error||0)+(I.warn||0))},0)};function y(g){var C=g||[];return C.map(function(I,V){var q=C[V-1]||{},j=Object.assign({},I);return j.dailyRepositories=V?Math.max(0,(I.nbRepositories||0)-(q.nbRepositories||0)):0,j.dailyUsers=V?Math.max(0,(I.nbUsers||0)-(q.nbUsers||0)):0,j.dailyPageViews=V?Math.max(0,(I.nbPageViews||0)-(q.nbPageViews||0)):0,j})}function h(g){var C=g&&g.length?g[g.length-1]:{};return{repositories:C.dailyRepositories||0,users:C.dailyUsers||0,pageViews:C.dailyPageViews||0}}function b(g,C){if(!g||!g.length)return g;var I=new Date(g[g.length-1].date);if(isNaN(I))return g;var V={};g.forEach(function(oe){V[new Date(oe.date).toISOString().slice(0,10)]=oe});for(var q=[],j=C-1;j>=0;j--){var te=new Date(I.getTime()-j*864e5),Y=te.toISOString().slice(0,10);q.push(V[Y]||{date:te.toISOString(),_empty:!0,dailyPageViews:0,dailyRepositories:0,dailyUsers:0,nbUsers:0})}return q}var m={};e.historyMax=function(g){return m[g]||0};var w={};e.axisMax=function(g){var C=m[g]||0;if(C<=2)return 2;if(C<=10)return Math.ceil(C/2)*2;var I=Math.pow(10,Math.floor(Math.log10(C)));return Math.ceil(C/I)*I},e.historyBarH=function(g,C){return!g||!m[C]||!g[C]?0:Math.max(1,Math.round(g[C]/e.axisMax(C)*140))},e.historyRange=function(g){return{min:w[g],max:m[g]}};var A=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];e.historyLabel=function(g){if(!g||!g.date)return"";var C=new Date(g.date);return A[C.getUTCMonth()]+" "+C.getUTCDate()},e.historyHasMissing=function(){return!!(e.data&&e.data.history||[]).some(function(g){return g&&g._empty})},e.firstDataIndex=function(){for(var g=e.data&&e.data.history||[],C=0;C=I)return{lo:Y,hi:Y+2*j[te]}}return{lo:0,hi:e.axisMax("nbUsers")}},e.userStepPath=function(g){var C=e.data&&e.data.history||[],I=e.userAxis(),V=m.nbUsers?I.hi-I.lo:0,q=e.firstDataIndex();if(!V||q>=C.length)return"";for(var j=function(Ce){return(140-((Ce||0)-I.lo)/V*140).toFixed(2)},te=g?"M"+q+" 140":"",Y=q;Ym[I])&&(m[I]=C[I]),(w[I]==null||C[I] .meta-more"),o=[...e.querySelectorAll(":scope > .meta-item")];if(o.forEach(s=>{s.removeAttribute("data-meta-hidden")}),t&&(t.hidden=!0,t.textContent="",t.removeAttribute("title"),t.removeAttribute("aria-label")),!e.clientWidth)return;if(e.classList.add("is-fitting"),e.scrollWidth<=e.clientWidth+1){e.classList.remove("is-fitting");return}let i=[];for(let s=o.length-1;s>=0&&e.scrollWidth>e.clientWidth+1;s--)if(o[s].setAttribute("data-meta-hidden",""),i.unshift(o[s]),t){let r=i.map(a=>a.dataset.metaLabel||a.textContent.trim().replace(/\s+/g," "));t.hidden=!1,t.textContent="+"+i.length,t.title=r.join(" \xB7 "),t.setAttribute("aria-label",i.length+" more: "+r.join(", "))}e.classList.remove("is-fitting")}function ku(e,t){if(typeof document>"u"||typeof MutationObserver>"u"||!document.body)return;let o=!1,i=null,s=()=>{o=!1,i&&(document.querySelectorAll("[data-meta-fit]").forEach(Bm),i.takeRecords())},r=()=>{!o&&i&&(o=!0,e.timeout(s,30))};i=new MutationObserver(a=>{a.some(u=>!(u.target.closest&&u.target.closest(".meta-more")))&&r()}),i.observe(document.body,{childList:!0,subtree:!0,characterData:!0}),Wn(()=>{i.disconnect(),i=null}),t(window,"resize",r),document.fonts?.ready&&document.fonts.ready.then(r),r()}var Cu={name:"htmlDoc",props:["content","baseUrl","allowScripts"],setup(e){let t=Et(null);return dn(()=>{let i=[t.value][0];i.classList.add("html-doc");function s(){i.innerHTML="";let r=e.content;if(typeof r!="string")return;let a=document.createElement("iframe");a.className="html-doc-frame",a.setAttribute("title","Rendered HTML document");let u=["allow-popups","allow-popups-to-escape-sandbox"];e.allowScripts&&u.push("allow-scripts","allow-forms","allow-modals"),a.setAttribute("sandbox",u.join(" ")),a.setAttribute("referrerpolicy","no-referrer"),i.appendChild(a);let p="";e.baseUrl&&(p=''),a.srcdoc=p+r}rt(()=>e.content,s,{immediate:!0}),rt(()=>e.baseUrl,s,{immediate:!0}),rt(()=>e.allowScripts,s,{immediate:!0})}),()=>Pe("html-doc",{ref:t})}};var Eu={name:"pdfviewer",props:["src"],setup(e){let t=Et(null);return dn(()=>{let o=[t.value],i=400,s=[.5,.75,1,1.25,1.5,2,3],r=1e3,a=o[0];a.classList.add("pdf-viewer");let u=null,p=[],y=!1,h=null,b=1,m=0,w=1,A=0,S=0,R=612/792,g=0,C=null,I=new Map,V=0;function q(N){let O=I.get(N);O&&(O.cancelled=!0,O.task?.cancel?.(),I.delete(N));let H=N.querySelector("canvas");H&&(H.width=0,H.height=0),N.innerHTML="",delete N.dataset.state}let j=document.createElement("div");j.className="pdf-toolbar";let te=document.createElement("div");te.className="pdf-pages",te.tabIndex=0,te.setAttribute("aria-label","PDF pages"),a.appendChild(j),a.appendChild(te);function Y(N,O,H){let B=document.createElement("button");return B.type="button",B.className="pdf-toolbar-btn",B.title=O,B.setAttribute("aria-label",O),B.innerHTML='',B.addEventListener("click",H),B}let oe=Y("fa-chevron-up","Previous page",function(){nt(w-1)}),Ce=Y("fa-chevron-down","Next page",function(){nt(w+1)}),D=document.createElement("input");D.type="text",D.className="pdf-toolbar-page",D.setAttribute("aria-label","Page number"),D.title="Page number \u2014 type a page and press Enter",D.addEventListener("keydown",function(N){N.key==="Enter"&&(nt(parseInt(D.value,10)),D.blur())}),D.addEventListener("blur",function(){D.value=String(w)});let ee=document.createElement("span");ee.className="pdf-toolbar-count";let ce=Y("fa-search-minus","Zoom out",function(){F(s[Math.max(0,be()-1)])}),Oe=Y("fa-search-plus","Zoom in",function(){F(s[Math.min(s.length-1,be()+1)])}),ke=document.createElement("button");ke.type="button",ke.className="pdf-toolbar-btn pdf-toolbar-zoom",ke.title="Reset zoom to fit the width",ke.setAttribute("aria-label","Reset zoom to fit the width"),ke.addEventListener("click",function(){F(1)}),j.appendChild(oe),j.appendChild(Ce);let de=document.createElement("span");de.className="pdf-toolbar-group",de.appendChild(D),de.appendChild(ee),j.appendChild(de);let ie=document.createElement("span");ie.className="pdf-toolbar-group pdf-toolbar-right",ie.appendChild(ce),ie.appendChild(ke),ie.appendChild(Oe),j.appendChild(ie);function be(){let N=0;for(let O=0;O=N,ke.textContent=b===1||!m?"Fit":Math.round(ct()/(m*96/72)*100)+"%",ce.disabled=be()===0,Oe.disabled=be()===s.length-1}function Ze(N){let O=p[N-1];O&&(te.scrollTop+=O.getBoundingClientRect().top-te.getBoundingClientRect().top)}function nt(N){if(!u||isNaN(N))return;let O=Math.min(Math.max(1,N),u.numPages);p[O-1]&&(Ze(O),w=O,A=O,S=Date.now()+800,Ae(),X())}function it(){if(!p.length||Date.now(){}),C=null),h&&(clearTimeout(h),h=null),u&&(u.destroy(),u=null),p=[],w=1,te.innerHTML="",Ae()}function lt(){te.innerHTML="";let N=document.createElement("div");N.className="pdf-viewer-error",N.textContent="This PDF could not be displayed.",te.appendChild(N)}function ct(){let N=Math.max(120,te.clientWidth-24);return Math.round(Math.min(N,r)*b)}function bt(N,O,H){let B=window.devicePixelRatio||1,K=N.getViewport({scale:1}),ne=parseFloat(O.style.width);if(!ne)return;let Q=N.getViewport({scale:ne/K.width*B}),J=document.createElement("canvas");return J.width=Math.floor(Q.width),J.height=Math.floor(Q.height),J.style.width=ne+"px",J.style.height=Math.floor(Q.height/B)+"px",O.innerHTML="",O.appendChild(J),O.style.height=J.style.height,H.task=N.render({canvasContext:J.getContext("2d"),viewport:Q}),H.task.promise}function X(){if(!u)return;let N=g,O=te.getBoundingClientRect(),H=O.top-i,B=O.top+te.clientHeight+i,K=p.map((Q,J)=>({slot:Q,i:J,rect:Q.getBoundingClientRect()})).filter(Q=>Q.rect.top<=B&&Q.rect.bottom>=H).sort((Q,J)=>Math.abs(Q.rect.top-O.top)-Math.abs(J.rect.top-O.top)).slice(0,6),ne=new Set(K.map(Q=>Q.slot));for(let Q of I.keys())ne.has(Q)||q(Q);for(let{slot:Q,i:J}of K){if(Q.dataset.state||V>=2)continue;let G={cancelled:!1,task:null};I.set(Q,G),V++,Q.dataset.state="rendering";let ge;u.getPage(J+1).then(ae=>{if(ge=ae,!(G.cancelled||N!==g))return bt(ge,Q,G)}).then(()=>{G.cancelled||N!==g||(Q.dataset.state="done",A&&Date.now(){!G.cancelled&&N===g&&(Q.dataset.state="failed")}).finally(()=>{V--,ge?.cleanup?.(),u&&X()})}}function me(){y||(y=!0,window.requestAnimationFrame(function(){y=!1,it(),X()}))}function M(){let N=!1;function O(){N||(N=!0,X())}window.requestAnimationFrame(O),window.setTimeout(O,50)}function U(){g++,p.forEach(q);let N=ct();p.forEach(function(O){delete O.dataset.state,O.innerHTML="",O.style.width=N+"px",O.style.height=Math.round(N/R)+"px"}),X()}function F(N){if(!u||!p.length||N===b)return;let O=w;b=N,Ae(),U(),nt(O)}function W(){u&&(h&&clearTimeout(h),h=setTimeout(function(){h=null,u&&p.length&&U()},250))}function E(N){if(Ye(),!N)return;let O=g;C=pdfjsLib.getDocument({url:N,isEvalSupported:!1,standardFontDataUrl:"/script/external/pdf-standard-fonts/",cMapUrl:"/script/external/pdf-cmaps/",cMapPacked:!0}),C.promise.then(function(H){if(O!==g){H.destroy();return}return u=H,u.getPage(1).then(function(B){if(O!==g)return;let K=B.getViewport({scale:1});K.width&&K.height&&(R=K.width/K.height),m=K.width||0;let ne=ct();for(let Q=1;Q<=u.numPages;Q++){let J=document.createElement("div");J.className="pdf-viewer-page",J.style.width=ne+"px",J.style.height=Math.round(ne/R)+"px",te.appendChild(J),p.push(J)}Ae(),M()})}).catch(function(){O===g&<()})}te.addEventListener("scroll",me,{passive:!0}),$(window).on("resize",W),Ae(),rt(()=>e.src,E,{immediate:!0}),Jn(function(){te.removeEventListener("scroll",me),$(window).off("resize",W),Ye()})}),()=>Pe("pdfviewer",{ref:t})}};var Hm={key:0,class:"quota-row quota-usage"},jm={class:"quota-header"},Gm={class:"quota-label"},Wm={class:"project-type-svg","aria-hidden":"true"},Km=["href"],Ym={key:0,class:"quota-percent"},Xm={key:1,class:"quota-unlimited-tag"},Qm={class:"quota-value"},Jm={key:0},Zm=["aria-label","aria-valuenow","aria-valuemax","aria-valuetext"],xm={key:1,class:"quota-remaining"},eg={key:2,class:"quota-remaining quota-limit"};function Su(e,t){return e.quota?(l(),d("div",Hm,[(l(),d(L,null,se([{key:"repository",label:"Repositories",kind:"count",icon:"project-type-repo"},{key:"storage",label:"Storage",kind:"bytes",icon:"project-icon-storage"},{key:"file",label:"Files",kind:"count",icon:"project-icon-file"}],o=>n("div",{class:T(["quota-item","quota-"+e.quota[o.key].level]),key:o.key},[n("div",jm,[n("span",Gm,[(l(),d("svg",Wm,[n("use",{href:"#"+o.icon},null,8,Km)])),v(c(o.label),1)]),e.quota[o.key].unlimited?f("v-if",!0):(l(),d("span",Ym,c(e.quota[o.key].percent>0&&e.quota[o.key].percent<1?"<1":e.fmt.number(e.quota[o.key].percent,0))+"% used",1)),e.quota[o.key].unlimited?(l(),d("span",Xm,"Unlimited")):f("v-if",!0)]),n("div",Qm,[n("strong",null,c(e.formatAmount(e.quota[o.key].used,o.kind)),1),e.quota[o.key].unlimited?f("v-if",!0):(l(),d("span",Jm," / "+c(e.formatAmount(e.quota[o.key].total,o.kind)),1))]),e.quota[o.key].unlimited?f("v-if",!0):(l(),d("div",{key:0,class:T(["quota-track","quota-"+e.quota[o.key].level]),role:"progressbar","aria-valuemin":"0","aria-label":o.label+" quota","aria-valuenow":Math.min(e.quota[o.key].used,e.quota[o.key].total),"aria-valuemax":e.quota[o.key].total,"aria-valuetext":e.fmt.number(e.quota[o.key].percent,0)+"% used"},[e.quota[o?.key].unlimited?f("v-if",!0):(l(),d("div",{key:0,class:"quota-fill",style:Ve({width:e.quota[o.key].percent+"%"})},null,4))],10,Zm)),!e.quota[o.key].unlimited&&e.quota[o.key].used=e.quota[o.key].total?(l(),d("p",eg,c(e.quota[o.key].used>e.quota[o.key].total?"Limit exceeded":"Limit reached"),1)):f("v-if",!0)],2)),64))])):f("v-if",!0)}var tg={props:["quota","fmt"],setup(e){return{formatAmount:(t,o)=>o==="bytes"?e.fmt.humanFileSize(e.quota?.storage?.unit==="bytes"?t*8:t).replace(/([a-zA-Z]+)$/," $1"):e.fmt.number(t)}},render:Su},ng=new Set(ve),Du=e=>e?.querySelectorAll("pre code.language-diff, pre code.lang-diff").forEach(t=>{if(t.querySelector(".md-diff-line"))return;let o=t.innerHTML.replace(/\n$/,"").split(` +`)],{type:"text/csv"}),g=document.createElement("a");g.href=URL.createObjectURL(R),g.download=i.username+"-repositories.csv",g.click()},e.showStatusMessage=m=>{let w=m.statusMessage||"(no message)";window.prompt(`Status message for ${m.repoId} (${m.status}):`,w)},e.fetchGithubInfo=m=>{let w=window.open("","_blank");w&&w.document.write("
Loading GitHub info for "+m.repoId+"...
"),t.get("/api/admin/repos/"+m.repoId+"/github").then(A=>{w&&(w.document.open(),w.document.write('
'+JSON.stringify(A.data,null,2).replace(/[<>]/g,S=>S==="<"?"<":">")+"
"),w.document.close())},A=>{let S=A&&A.data?JSON.stringify(A.data,null,2):String(A);w&&(w.document.body.innerHTML='
'+S+"
")})};function p(m){t.get("/api/admin/users/"+m+"/repos",{}).then(w=>{e.repositories=w.data},w=>{console.error(w)})}function y(m){t.get("/api/admin/users/"+m,{}).then(w=>{e.userInfo=w.data},w=>{console.error(w)})}y(i.username),p(i.username),e.banUser=()=>{confirm(`Ban user ${i.username}?`)&&t.post(`/api/admin/users/${i.username}/ban`).then(()=>y(i.username),m=>console.error(m))},e.activateUser=()=>{t.post(`/api/admin/users/${i.username}/activate`).then(()=>y(i.username),m=>console.error(m))},e.promoteUser=()=>{confirm(`Promote ${i.username} to admin?`)&&t.post(`/api/admin/users/${i.username}/promote`).then(()=>y(i.username),m=>console.error(m))},e.demoteUser=()=>{confirm(`Remove admin privileges from ${i.username}?`)&&t.post(`/api/admin/users/${i.username}/demote`).then(()=>y(i.username),m=>console.error(m))},e.tokens=[],e.tokenForm={name:"",plaintext:null};function h(){t.get("/api/admin/tokens").then(m=>{e.tokens=m.data||[]},m=>{m.status!==401&&m.status!==403&&console.error(m)})}h(),e.createToken=()=>{e.tokenForm.name&&t.post("/api/admin/tokens",{name:e.tokenForm.name}).then(m=>{e.tokenForm.plaintext=m.data.token,e.tokenForm.name="",h()},m=>console.error(m))},e.revokeToken=m=>{confirm(`Revoke token "${m.name}"?`)&&t.delete("/api/admin/tokens/"+m.id).then(()=>h(),w=>console.error(w))},e.removeCache=m=>{confirm("Remove cached files for "+m.repoId+"?")&&t.delete("/api/admin/repos/"+m.repoId).then(()=>p(i.username),w=>console.error(w))},e.removeRepository=m=>{confirm("Remove repository "+m.repoId+"?")&&t.delete("/api/repo/"+m.repoId+"/").then(()=>p(i.username),w=>console.error(w))},e.updateRepository=m=>{let w=ot({title:`Refreshing ${m.repoId}...`,date:new Date,body:`The repository ${m.repoId} is going to be refreshed.`});e.toasts.push(w),t.post(`/api/repo/${m.repoId}/refresh`).then(A=>{A.data.status=="ready"?w.title=`${m.repoId} is refreshed.`:w.title=`Refreshing of ${m.repoId}.`},A=>{w.title=`Error during the refresh of ${m.repoId}.`,w.body=A.body})},e.getGitHubRepositories=m=>{t.get(`/api/user/${e.userInfo.username}/all_repositories`,{params:{force:"1"}}).then(w=>{e.userInfo.repositories=w.data})};let b=null;e.watch("query",()=>{s.timeout.cancel(b),b=s.timeout(()=>{p(i.username)},500)},!0)},gu=function(e,t,o){let i=Tt(),s=Qt();e.Math=Math,e.watch("user.status",()=>{e.user==null&&o.url("/")}),e.user==null&&o.url("/"),e.conferences=[],e.total=-1,e.totalPage=0,e.statusCounts=[];let r=A=>{if(A.key==="/"&&!["INPUT","TEXTAREA","SELECT"].includes(document.activeElement?.tagName)){A.preventDefault();let S=document.querySelector('.admin-filter-toolbar input[type="search"]');S&&S.focus()}};s(document,"keydown",r),e.on("dispose",()=>document.removeEventListener("keydown",r)),e.clearFilter=A=>{A==="dateRange"?(e.query.dateFrom="",e.query.dateTo=""):e.query[A]="",e.query.page=1},e.chips=[];let a=()=>{let A=[];(e.query.dateFrom||e.query.dateTo)&&A.push({key:"dateRange",label:"Date",value:(e.query.dateFrom||"\u2026")+" \u2013 "+(e.query.dateTo||"\u2026")}),e.chips=A};e.statusCountFor=A=>{let S=(e.statusCounts||[]).find(R=>R._id===A);return S?S.count:0},e.toggleSortDirection=()=>{e.query.direction=e.query.direction==="asc"?"desc":"asc"},e.sortBy=A=>{e.query.sort===A?e.query.direction=e.query.direction==="asc"?"desc":"asc":(e.query.sort=A,e.query.direction="desc"),e.query.page=1},e.sortIcon=A=>e.query.sort===A?e.query.direction==="asc"?"fa-arrow-up":"fa-arrow-down":"";let u="admin.conferences.filterPrefs",p={page:1,limit:25,sort:"name",direction:"asc",search:"",dateFrom:"",dateTo:"",ready:!0,expired:!0,removed:!0,error:!0,preparing:!0},y=loadFilterPrefs(u)||{};e.query=Object.assign({},p,y,{page:1,search:""});let h=o.search();h.search&&(e.query.search=h.search);let b="admin.conferences.presets";e.presets=JSON.parse(localStorage.getItem(b)||"[]"),e.savePreset=()=>{let A=window.prompt("Preset name:");if(!A)return;let S=Object.assign({},e.query);delete S.page,e.presets=(e.presets||[]).filter(R=>R.name!==A),e.presets.push({name:A,query:S}),localStorage.setItem(b,JSON.stringify(e.presets))},e.applyPreset=A=>{Object.assign(e.query,A.query,{page:1})},e.deletePreset=A=>{e.presets=(e.presets||[]).filter(S=>S.name!==A.name),localStorage.setItem(b,JSON.stringify(e.presets))},e.removeConference=A=>{confirm("Remove conference "+A.conferenceID+"?")&&t.delete("/api/admin/conferences/"+A.conferenceID).then(()=>m(),S=>console.error(S))},e.exportCsv=()=>{let A=new URLSearchParams(Object.entries(e.query).filter(([,S])=>S!==""&&S!==!1&&S!=null));A.set("format","csv"),A.set("limit","10000"),window.open("/api/admin/conferences?"+A.toString(),"_blank")},e.fetchError=null;function m(){e.fetchError=null,t.get("/api/admin/conferences",{params:e.query}).then(A=>{e.total=A.data.total,e.totalPage=Math.ceil(A.data.total/e.query.limit),e.conferences=A.data.results,e.statusCounts=A.data.statusCounts||[]},A=>{e.fetchError=A&&A.data&&A.data.error||"Failed to load conferences",console.error(A)})}Mi(e,{flags:()=>e.query,keys:["ready","preparing","error","expired","removed"],count:A=>e.statusCountFor(A),onChange:()=>{e.query.page=1}}),m();let w=null;e.watch("query",()=>{i.timeout.cancel(w),w=i.timeout(m,500);let{page:A,search:S,...R}=e.query;saveFilterPrefs(u,R),a()},!0),a()},vu=function(e,t,o,i,s){let r=Tt();e.watch("user.status",()=>{e.user==null&&o.url("/")}),e.user==null&&o.url("/"),e.queueList=[],e.jobs=[],e.selectedQueue="download",e.selectedStats=null,e.range="1h",e.allStates=["active","waiting","delayed","failed","completed"],e.stateFilter={active:!0,waiting:!0,delayed:!0,failed:!0,completed:!0},Mi(e,{flags:()=>e.stateFilter,keys:e.allStates,count:R=>(e.jobs||[]).filter(g=>g._state===R).length}),e.query={search:"",autoRefresh:!0},e.filteredJobs=()=>(e.jobs||[]).filter(R=>e.stateFilter[R._state]),e.jobProgressPct=R=>R?._state==="completed"?100:R&&R.progress&&typeof R.progress=="object"&&typeof R.progress.percent=="number"?Math.max(0,Math.min(100,Math.round(R.progress.percent))):typeof R.progress=="number"?Math.max(0,Math.min(100,Math.round(R.progress))):null;let a={get_files:"Fetching files",download:"Downloading",downloading:"Downloading",anonymize:"Anonymizing",anonymizing:"Anonymizing",ready:"Ready",removing:"Removing",preparing:"Preparing"};e.jobDetail=R=>{if(R?._state==="failed")return Oi(R.failedReason||"")||"Failed";let g=R?.progress&&typeof R.progress=="object"?R.progress.status:null;return R?._state==="active"&&g?a[g]||Oi(g):"\u2014"},e.jobDuration=R=>{if(!R.processedOn)return"\u2014";let g=R.finishedOn||Date.now();return to(g-R.processedOn)},e.metricsPoints=[],e.selectQueue=R=>{e.selectedQueue=R,u(),p()},e.setRange=R=>{e.range=R,p()};function u(){let R={queue:e.selectedQueue,search:e.query.search};t.get("/api/admin/queues",{params:R}).then(g=>{e.queueList=g.data.queues||[],e.jobs=g.data.jobs||[],e.selectedStats=e.queueList.find(C=>C.key===e.selectedQueue)||e.queueList[0]||null},g=>console.error(g))}function p(){t.get("/api/admin/queues/metrics",{params:{queue:e.selectedQueue,range:e.range}}).then(R=>{e.metricsPoints=R.data.points||[],s(w,0)},R=>console.error(R))}u(),p();let y=i(()=>{e.query.autoRefresh&&(u(),p())},15e3);e.on("dispose",()=>i.cancel(y)),e.refreshNow=function(){u(),p()};function h(R){let g=R&&R.data&&(R.data.message||R.data.error)||"Request failed";e.actionError=g,s(()=>{e.actionError=null},5e3),console.error(R)}e.actionError=null,e.removeJob=R=>{t.delete(`/api/admin/queue/${e.selectedQueue}/${R.id}`).then(u,h)},e.retryJob=R=>{t.post(`/api/admin/queue/${e.selectedQueue}/${R.id}`).then(u,h)},e.retryFailed=()=>{confirm(`Retry all failed jobs in ${e.selectedQueue}?`)&&t.post(`/api/admin/queue/${e.selectedQueue}/retry-failed`).then(u,R=>console.error(R))},e.drainSelected=()=>{confirm(`Drain the ${e.selectedQueue} queue?`)&&t.post(`/api/admin/queue/${e.selectedQueue}/drain`).then(u,R=>console.error(R))},e.togglePause=()=>{let R=e.selectedStats&&e.selectedStats.paused?"resume":"pause";t.post(`/api/admin/queue/${e.selectedQueue}/${R}`).then(u,g=>console.error(g))},e.emptyQueue=()=>{confirm(`Empty the ${e.selectedQueue} queue? This removes ALL jobs.`)&&t.post(`/api/admin/queue/${e.selectedQueue}/empty`).then(u,R=>console.error(R))},e.pauseAll=()=>{confirm("Pause all queues?")&&t.post("/api/admin/queues/pause-all").then(u,R=>console.error(R))};let b=null;e.watch("query.search",()=>{r.timeout.cancel(b),b=r.timeout(u,350)}),e.expanded={},e.toggleJob=R=>{e.expanded[R.id]=!e.expanded[R.id]},e.humanTime=R=>{if(!R)return"";let g=new Date(R);return g.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})+" "+g.toLocaleDateString([],{month:"short",day:"numeric"})},e.delayCountdown=R=>{if(!R)return"";var g=Math.max(0,Math.ceil((R-Date.now())/1e3));if(g<=0)return"resuming soon";var C=Math.floor(g/60),M=g%60;return"in "+(C>0?C+"m "+M+"s":M+"s")};function m(R){if(R<=0)return{ticks:[0],niceMax:1};let g=Math.pow(10,Math.floor(Math.log10(R))),C=g;R/C<2?C=g/2:R/C>5&&(C=g*2);let M=Math.ceil(R/C)*C,V=[];for(let q=0;q<=M;q+=C)V.push(q);return{ticks:V,niceMax:M}}function w(){var R=document.getElementById("q-throughput-chart");if(!R)return;var g=R.getContext("2d"),C=window.devicePixelRatio||1,M=R.parentElement.getBoundingClientRect(),V=44,q=44,j=22,ne=Math.max(200,Math.round(M.width)),Y=Math.max(180,Math.min(420,Math.round(M.height)||180)),oe=ne-V-q,Ce=Y-j;R.width=ne*C,R.height=Y*C,R.style.width=ne+"px",R.style.height=Y+"px",g.setTransform(C,0,0,C,0,0);var D=document.body.classList.contains("dark-mode"),te="#8A857C",ue=D?"rgba(255,255,255,0.06)":"rgba(0,0,0,0.06)",Pe=D?"#6FBF8A":"#2F7D4F",we=D?"rgba(111,191,138,0.12)":"rgba(47,125,79,0.08)",J=D?"#F08A82":"#B42318",ce=D?"rgba(240,138,130,0.08)":"rgba(180,35,24,0.06)",ke=getComputedStyle(document.body).getPropertyValue("--q-time-series").trim()||(D?"#E0A94A":"#946512"),De=e.metricsPoints||[];if(De.length===0){g.fillStyle=te,g.font="13px Inter, system-ui, sans-serif",g.textAlign="center",g.fillText("No metrics data yet",ne/2,Y/2),A=null;return}var et=De.map(function(ge){return ge.completed}),st=De.map(function(ge){return ge.failed}),tt=De.map(function(ge){return ge.avgMs});if(!et.some(Boolean)&&!st.some(Boolean)){g.strokeStyle=D?"rgba(255,255,255,0.14)":"rgba(0,0,0,0.12)",g.beginPath(),g.moveTo(0,Y-18.5),g.lineTo(ne,Y-18.5),g.stroke(),g.fillStyle=D?"#CFC8BD":"#4F4A42",g.font="500 14px Inter, system-ui, sans-serif",g.textAlign="center",g.fillText("No jobs processed in this window",ne/2,Y/2-6),g.fillStyle=te,g.font="12.5px Inter, system-ui, sans-serif",g.fillText("Completed and failed jobs will chart here",ne/2,Y/2+16),A=null;return}var He=De.length,bt=oe/(He-1||1),dt=Math.max(1,Math.max.apply(null,et),Math.max.apply(null,st)),vt=m(dt),X=Math.max.apply(null,tt),fe=X>0?m(X):{ticks:[0],niceMax:1},I=function(ge){return Ce-ge/vt.niceMax*(Ce-10)},U=function(ge){return Ce-ge/fe.niceMax*(Ce-10)},F=function(ge){return V+ge*bt};g.textAlign="right",g.textBaseline="middle",g.font="11px Inter, system-ui, sans-serif",vt.ticks.forEach(function(ge){var Ee=I(ge);g.strokeStyle=ue,g.lineWidth=1,g.beginPath(),g.moveTo(V,Ee),g.lineTo(ne-q,Ee),g.stroke(),g.fillStyle=te,ge!==0&&g.fillText(ge>=1e3?(ge/1e3).toFixed(1)+"k":String(ge),V-6,Ee)}),X>0&&(g.textAlign="left",fe.ticks.forEach(function(ge){var Ee=U(ge);g.fillStyle=ke,ge!==0&&g.fillText(to(ge),ne-q+6,Ee)}));var W=De[He-1].ts,E=De[0].ts,N=Math.max(0,(W-E)/6e4),P=[1,2,5,10,15,30,60,120,180,360,720,1440,2880,10080],H=P.find(function(ge){return N/ge<=4})||P[P.length-1],B=function(ge){return ge<60?ge+"m":ge<1440?ge/60+"h":ge/1440+"d"},K=function(ge){for(var Ee=0,je=1;je0&&Math.abs(De[me].ts-(W-G*6e4))>se+1)){var le=F(me),re=G===0?"now":B(G)+" ago",he=g.measureText(re).width,Ne=Z===0?"right":me===0?"left":"center",Me=Ne==="right"?le:Ne==="left"?le+he:le+he/2;Me>Q-12||(g.textAlign=Ne,g.fillText(re,le,Ce+6),Q=Ne==="right"?le-he:Ne==="left"?le:le-he/2)}}function Oe(ge,Ee,je,Ye){ge.length!==0&&(g.beginPath(),g.moveTo(F(0),Ce),ge.forEach(function(ct,wt){var Qe=F(wt),k=Ee(ct);if(wt===0)g.lineTo(Qe,k);else{var _=(F(wt-1)+Qe)/2;g.bezierCurveTo(_,Ee(ge[wt-1]),_,k,Qe,k)}}),g.lineTo(F(ge.length-1),Ce),g.closePath(),g.fillStyle=je,g.fill(),g.beginPath(),ge.forEach(function(ct,wt){var Qe=F(wt),k=Ee(ct);if(wt===0)g.moveTo(Qe,k);else{var _=(F(wt-1)+Qe)/2;g.bezierCurveTo(_,Ee(ge[wt-1]),_,k,Qe,k)}}),g.strokeStyle=Ye,g.lineWidth=1.5,g.stroke())}Oe(et,I,we,Pe),Oe(st,I,ce,J),X>0&&(g.beginPath(),tt.forEach(function(ge,Ee){var je=F(Ee),Ye=U(ge);if(Ee===0)g.moveTo(je,Ye);else{var ct=(F(Ee-1)+je)/2;g.bezierCurveTo(ct,U(tt[Ee-1]),ct,Ye,je,Ye)}}),g.strokeStyle=ke,g.lineWidth=1,g.setLineDash([4,3]),g.stroke(),g.setLineDash([])),A={pts:De,maxLen:He,marginLeft:V,step:bt,totalW:ne,toX:F}}var A=null;function S(){var R=document.getElementById("q-throughput-chart");if(!(!R||R._tipBound)){R._tipBound=!0;var g=document.getElementById("q-chart-tooltip"),C=document.getElementById("q-chart-crosshair");R.addEventListener("mousemove",function(M){if(!(!A||!g||!C)){var V=A,q=R.getBoundingClientRect(),j=M.clientX-q.left,ne=Math.round((j-V.marginLeft)/V.step);if(ne<0||ne>=V.maxLen){g.style.display="none",C.style.display="none";return}var Y=V.pts[ne],oe=V.pts[V.pts.length-1].ts,Ce=Math.round((oe-Y.ts)/6e4),D;if(Ce<=0)D="now";else if(Ce<60)D=Ce+"m ago";else if(Ce<1440){var te=Math.floor(Ce/60),ue=Ce%60;D=te+"h"+(ue?" "+ue+"m":"")+" ago"}else D=Math.round(Ce/1440)+"d ago";var Pe='
'+D+'
● completed: '+Y.completed+'/min
● failed: '+Y.failed+"/min
";if(Y.avgMs>0){var we=to(Y.avgMs);Pe+='
● avg time: '+we+"
"}g.innerHTML=Pe;var J=V.toX(ne),ce=g.offsetWidth,ke=J+10;ke+ce>V.totalW&&(ke=J-ce-10),g.style.display="block",g.style.left=ke+"px",g.style.top="8px",C.style.display="block",C.style.left=J+"px"}}),R.addEventListener("mouseleave",function(){g&&(g.style.display="none"),C&&(C.style.display="none")})}}e.watch("metricsPoints",function(){s(S,50)})},yu=function(e,t,o,i){let s=Tt();e.watch("user.status",()=>{e.user==null&&o.url("/")}),e.user==null&&o.url("/"),e.entries=[],e.visible=[],e.available=!0,e.cap=1e3,e.total=0,e.pageSize=250,e.expanded={},e.detailTab={},e.copyHint="",e.parsedFilterCount=0,e.stats={last24h:0,prev24h:0,delta:0,severity:{error:0,warn:0,info:0},unique:{error:0,warn:0,info:0},buckets:[],dropped:0},e.query={search:"",bucket:"",sort:"recent",group:"code",autoRefresh:!0},e.relTime=g=>{if(!g)return"";let C=new Date(g).getTime();if(isNaN(C))return g;let M=Math.max(0,Date.now()-C),V=Math.floor(M/1e3);if(V<5)return"just now";if(V<60)return`${V}s ago`;let q=Math.floor(V/60);if(q<60)return`${q}m ago`;let j=Math.floor(q/60);if(j<24)return`${j}h ago`;let ne=Math.floor(j/24);return ne<7?`${ne}d ago`:new Date(g).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})},e.absTime=g=>{if(!g)return"";let C=new Date(g);return isNaN(C.getTime())?g:C.toLocaleString(void 0,{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})},e.absTimeShort=g=>{if(!g)return"";let C=new Date(g);return isNaN(C.getTime())?g:C.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})};let r=/^[a-zA-Z][a-zA-Z0-9]*(?:_[a-zA-Z0-9]+)+$/;function a(g,C){let M=g&&(g.httpStatus||g.status)||null;if(typeof M=="number"){if(M>=500)return"error";if(M===401||M===403||M===404)return"info";if(M>=400)return"warn"}return C==="error"?"error":C==="warn"?"warn":"info"}function u(g){let C=(g.raw||[]).find(j=>j&&typeof j=="object"&&!Array.isArray(j));if(C){C.message&&r.test(C.message)?(g.displayMessage=C.message,g.displayContext=g.message):C.code&&r.test(String(C.code))?(g.displayMessage=String(C.code),g.displayContext=g.message):C.name&&C.name!=="AnonymousError"&&C.name!=="Error"?(g.displayMessage=C.name,g.displayContext=C.message||g.message):g.displayMessage=g.message,g._status=C.httpStatus||C.status||null,g._url=C.url||null,g._method=C.method||null,g._repoId=C.repoId||C.detail||null,g._detail=C.detail&&C.detail!==g._repoId?C.detail:null;let j=typeof C.stack=="string"?C.stack:null;for(var M=[C.cause,C.err].filter(Boolean),V=0;!j&&V{oe==null||oe===""||M.push([Y,oe])};V("name",C&&C.name),V("code",g.displayMessage||C&&C.message),g._bucket&&V("kind",g._bucket),V("httpStatus",C&&C.httpStatus),C&&C.status&&!C.httpStatus&&V("status",C.status),V("module",g.module);let q=C&&C.detail;if(typeof q=="string"){let Y=q.trim();if(Y[0]==="{"||Y[0]==="[")try{q=JSON.parse(q)}catch{}}if(V("detail",q),V("repoId",C&&C.repoId),V("filePath",C&&C.filePath),V("upstreamStatus",C&&C.upstreamStatus),V("upstreamBody",C&&C.upstreamBody),V("url",g._url),V("err",C&&C.err),V("cause",C&&!C.err&&C.cause),V("ts",g.ts),!M.length)return JSON.stringify(g,null,2);let j=M.reduce((Y,oe)=>Math.max(Y,oe[0].length),0),ne=["{"];return M.forEach(([Y,oe],Ce)=>{let te=` ${`"${Y}":`.padEnd(j+3," ")} `,ue=Cece===0?J:we+J).join(` +`)}else typeof oe=="number"||typeof oe=="boolean"?Pe=String(oe):Pe=JSON.stringify(oe);ne.push(`${te}${Pe}${ue}`)}),ne.push("}"),ne.join(` +`)}function y(g){let C=[],M="",V=/(\w+):(>=|<=|!=|>|<|=)?([^\s]+)/g,q=0,j;for(;j=V.exec(g);)M+=g.slice(q,j.index),q=V.lastIndex,C.push({key:j[1],op:j[2]||"=",val:j[3]});return M+=g.slice(q),{filters:C,free:M.trim().toLowerCase()}}function h(g,C){for(let M of C.filters){let V=(j,ne,Y)=>{let oe=parseFloat(j),Ce=parseFloat(ne);return Y==="="?String(j)===String(ne):Y==="!="?String(j)!==String(ne):Y===">="?oe>=Ce:Y==="<="?oe<=Ce:Y===">"?oe>Ce:Y==="<"?oeC&&Y._bucket!==C?!1:h(Y,g)),V=e.query.group;if(V){let Y=D=>V==="module"?D.module:D.displayMessage||D.message||"_",oe=new Map;for(let D of M){let te=Y(D);if(oe.has(te)){let ue=oe.get(te);ue.count++,ue._related.push(D),new Date(D.ts)>new Date(ue.ts)&&(ue.ts=D.ts,ue._url=D._url,ue._status=D._status),new Date(D.ts)new Date(te.ts).getTime()>=Ce).length;M=Array.from(oe.values())}else M=M.map((Y,oe)=>(Y._key="row:"+oe+":"+Y.ts,Y._related=[Y],Y._firstSeen=Y.ts,Y._lastHourCount=0,Y.count=1,Y));let q=Y=>({error:0,warn:1,info:2})[Y._bucket]??1;e.query.sort==="count"?M.sort((Y,oe)=>q(Y)-q(oe)||oe.count-Y.count||new Date(oe.ts)-new Date(Y.ts)):M.sort((Y,oe)=>q(Y)-q(oe)||new Date(oe.ts)-new Date(Y.ts)),e.visible=M;let j=!!(e.query.bucket||(e.query.search||"").trim()),ne=!j&&(e.stats?.severity?.error||0)>0&&!M.some(Y=>Y._bucket==="error")&&e.entries.length<1500;(j&&!M.length||ne)&&e.canLoadMore?.()&&!e._autoLoading&&e.entries.length<2500&&(e._autoLoading=!0,m(!0))}function m(g){let C=g?e.entries.length:0,M=g?e.pageSize:Math.max(e.pageSize,e.entries.length||e.pageSize);t.get("/api/admin/errors",{params:{offset:C,limit:M}}).then(V=>{let q=(V.data.entries||[]).map(u);e.entries=g?e.entries.concat(q):q,e.available=!!V.data.available,e.cap=V.data.max||e.cap,e.total=V.data.total||e.entries.length,e._autoLoading=!1,b()},V=>{e._autoLoading=!1,console.error(V)})}e.loadMore=()=>m(!0),e.canLoadMore=()=>e.entries.length{let C=g.data||{},M=C.prev24h?Math.round((C.last24h-C.prev24h)/C.prev24h*100):0;e.stats={last24h:C.last24h||0,prev24h:C.prev24h||0,delta:M,severity:C.severity||{error:0,warn:0,info:0},unique:C.unique||{error:0,warn:0,info:0},buckets:C.buckets||[],dropped:C.dropped||0},b()},g=>console.error(g))}function A(){m(),w()}e.barPx=(g,C)=>{let M=e.stats.buckets||[],V=0,q=0;for(let oe of M)V=Math.max(V,(oe.error||0)+(oe.warn||0)),q=Math.max(q,oe.info||0);let j=g[C]||0;if(!j)return 0;if(C==="info")return q?Math.max(2,Math.round(j/q*(V?16:60))):0;let ne=(g.error||0)+(g.warn||0),Y=Math.round(ne/V*44);return Math.max(4,Math.round(j/ne*Y))},e.bucketTitle=g=>`${new Date(g.hour).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})} \xB7 ${g.error||0} err \xB7 ${g.warn||0} warn \xB7 ${g.info||0} info`,e.toggle=g=>{e.expanded[g._key]=!e.expanded[g._key]},e.setBucket=g=>{e.query.bucket=g},e.refreshNow=A,e.clearAll=()=>{confirm("Clear all captured errors?")&&t.delete("/api/admin/errors").then(A,g=>console.error(g))},e.exportCsv=()=>{let g=["ts","level","module","displayMessage","_status","_url","_repoId"],C=[g.join(",")];for(let j of e.visible)C.push(g.map(ne=>{let Y=j[ne]==null?"":String(j[ne]);return/[",\n]/.test(Y)?`"${Y.replace(/"/g,'""')}"`:Y}).join(","));let M=new Blob([C.join(` +`)],{type:"text/csv;charset=utf-8"}),V=URL.createObjectURL(M),q=document.createElement("a");q.href=V,q.download=`errors-${new Date().toISOString().slice(0,19)}.csv`,document.body.appendChild(q),q.click(),document.body.removeChild(q),URL.revokeObjectURL(V)};function S(g){e.copyHint=`${g} copied`,s.timeout(()=>{e.copyHint=""},1500)}e.copyJson=g=>{navigator.clipboard.writeText(g._detailJson).then(()=>S("JSON"))},e.copyCurl=g=>{if(!g._url)return;let M=`curl -X ${g._method||"GET"} '${window.location.origin}${g._url}'`;navigator.clipboard.writeText(M).then(()=>S("curl"))},A();let R=i(()=>{e.query.autoRefresh&&A()},15e3);e.on("dispose",()=>i.cancel(R)),e.watch("query.search",b),e.watch("query.bucket",b),e.watch("query.sort",b),e.watch("query.group",b)},bu=function(e,t,o,i){if(e.Math=Math,e.watch("user.status",()=>{e.user==null&&o.url("/")}),e.user==null){o.url("/");return}e.data=null,e.loading=!0,e.error=null,e.performance=null,e.performanceMinutes=15,e.performanceTab="routes",e.cacheReport=null,e.cacheError=null,e.cacheMinutes=60,e.cacheTraffic="all",e.ovView=["performance","cache"].includes((window.location.hash||"").slice(1))?window.location.hash.slice(1):"summary",e.setOvView=function(g){e.ovView=g;try{window.history.replaceState(null,"",g==="summary"?window.location.pathname:"#"+g)}catch{}};var s=!1;e.loadCache=function(){if(!s){s=!0;var g=e.cacheMinutes;t.get("/api/admin/cache",{params:{minutes:g}}).then(function(C){g===e.cacheMinutes&&(e.cacheReport=C.data,e.cacheError=C.data.available?null:C.data.reason||"Cache monitoring is unavailable.")},function(){e.cacheError="Could not refresh cache monitoring. Displayed values may be stale."}).finally(function(){s=!1,g!==e.cacheMinutes&&e.loadCache()})}},e.cacheRows=function(){return(e.cacheReport?.rows||[]).filter(function(g){return e.cacheTraffic==="all"||g.traffic===e.cacheTraffic})},e.cacheRate=function(g,C){var M=e.cacheRows(),V=function(ne){return M.filter(function(Y){return Y.name===ne}).reduce(function(Y,oe){return Y+oe[C]},0)},q=V(g+"_hit"),j=V(g+"_miss");return q+j?(100*q/(q+j)).toFixed(1)+"%":"No samples"},e.cacheEventName=function(g){return g.replaceAll("_"," ")},e.cacheP95=function(g){var C=0,M=e.cacheReport?.latencyBucketsMs||[];if(!g.count)return"No samples";if(!g.ms)return"Not timed";for(var V=0;V<=M.length;V++)if(C+=g["b"+V]||0,C>=Math.ceil(g.count*.95))return V 10\u202Fs";return"No samples"},e.healthAlert=function(){let g=e.data&&e.data.system||{},C=[["Memory",g.memPercent],["Disk",g.diskPercent]].filter(([,V])=>V>90);return C.length?C.map(([V,q])=>V+" is at "+q+"%").join(" and ")+". New anonymizations may fail until "+(C.length>1?"they drop.":"it drops."):""},e.performanceError=null,e.formatMs=function(g){return g==null?"":to(g)},e.latencyBound=function(g,C){return g.count?g[C]==null?"> 60\u202Fs":"\u2264 "+e.formatMs(g[C]):"No samples"},e.firstByteBound=function(g){return e.latencyBound({count:g.firstByteCount,p95UpperMs:g.firstByteP95UpperMs},"p95UpperMs")},e.sampleAge=function(g){return Math.max(0,Math.round((Date.now()-g.sampledAt)/1e3))},e.peakRss=function(g){return(e.performance.runtimeSeries||[]).filter(function(C){return C.instance===g.instance}).reduce(function(C,M){return Math.max(C,M.rss)},g.memory.rss)},e.performanceWarning=function(g){return e.sampleAge(g)>45||g.droppedBatches||g.droppedMetrics||g.sockets?.closeWait>0||g.eventLoop?.p95Ms>100||g.memoryLimitBytes&&g.memory.rss>g.memoryLimitBytes*.8};var r=!1;e.loadPerformance=function(){var g=e.performanceMinutes;e.performance?.windowMinutes&&e.performance.windowMinutes!==g&&(e.performance=null),!r&&(r=!0,t.get("/api/admin/performance",{params:{minutes:g}}).then(function(C){g===e.performanceMinutes&&(e.performance=C.data,e.performanceError=C.data.available?null:"Performance monitoring is unavailable. Request history may be incomplete.")},function(){g===e.performanceMinutes&&(e.performanceError="Could not refresh performance monitoring. Displayed samples may be stale.")}).finally(function(){r=!1,g!==e.performanceMinutes&&e.loadPerformance()}))};function a(g){if(g==null)return"\u2014";for(var C=["B","KB","MB","GB","TB"],M=0,V=g;V>=1024&&M0?1:0).replace(/\.0$/,"")+" "+C[M]}e.humanBytes=a;function u(g){if(!g)return"\u2014";var C=Math.floor(g/86400),M=Math.floor(g%86400/3600),V=Math.floor(g%3600/60);return C>0?C+"d "+(M<10?"0":"")+M+"h":M>0?M+"h "+(V<10?"0":"")+V+"m":V+"m"}e.humanDuration=u;function p(g){return g==null?"\u2014":g>=1e6?(g/1e6).toFixed(1)+"M":g>=1e3?(g/1e3).toFixed(1)+"K":String(g)}e.humanNum=p,e.queueTotal=function(g){return g?(g.waiting||0)+(g.active||0)+(g.delayed||0)+(g.failed||0):0},e.statusCount=function(g){if(!e.data||!e.data.repos)return 0;for(var C=e.data.repos.statusBreakdown||[],M=0;M0,zero:!V,title:String(q.getHours()).padStart(2,"0")+":00 \xB7 "+(M.error||0)+" 5xx, "+(M.warn||0)+" 4xx"}})},e.errorHoursPeak=function(){var g=e.errorStats&&e.errorStats.buckets||[];return g.reduce(function(C,M){return Math.max(C,(M.error||0)+(M.warn||0))},0)};function y(g){var C=g||[];return C.map(function(M,V){var q=C[V-1]||{},j=Object.assign({},M);return j.dailyRepositories=V?Math.max(0,(M.nbRepositories||0)-(q.nbRepositories||0)):0,j.dailyUsers=V?Math.max(0,(M.nbUsers||0)-(q.nbUsers||0)):0,j.dailyPageViews=V?Math.max(0,(M.nbPageViews||0)-(q.nbPageViews||0)):0,j})}function h(g){var C=g&&g.length?g[g.length-1]:{};return{repositories:C.dailyRepositories||0,users:C.dailyUsers||0,pageViews:C.dailyPageViews||0}}function b(g,C){if(!g||!g.length)return g;var M=new Date(g[g.length-1].date);if(isNaN(M))return g;var V={};g.forEach(function(oe){V[new Date(oe.date).toISOString().slice(0,10)]=oe});for(var q=[],j=C-1;j>=0;j--){var ne=new Date(M.getTime()-j*864e5),Y=ne.toISOString().slice(0,10);q.push(V[Y]||{date:ne.toISOString(),_empty:!0,dailyPageViews:0,dailyRepositories:0,dailyUsers:0,nbUsers:0})}return q}var m={};e.historyMax=function(g){return m[g]||0};var w={};e.axisMax=function(g){var C=m[g]||0;if(C<=2)return 2;if(C<=10)return Math.ceil(C/2)*2;var M=Math.pow(10,Math.floor(Math.log10(C)));return Math.ceil(C/M)*M},e.historyBarH=function(g,C){return!g||!m[C]||!g[C]?0:Math.max(1,Math.round(g[C]/e.axisMax(C)*140))},e.historyRange=function(g){return{min:w[g],max:m[g]}};var A=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];e.historyLabel=function(g){if(!g||!g.date)return"";var C=new Date(g.date);return A[C.getUTCMonth()]+" "+C.getUTCDate()},e.historyHasMissing=function(){return!!(e.data&&e.data.history||[]).some(function(g){return g&&g._empty})},e.firstDataIndex=function(){for(var g=e.data&&e.data.history||[],C=0;C=M)return{lo:Y,hi:Y+2*j[ne]}}return{lo:0,hi:e.axisMax("nbUsers")}},e.userStepPath=function(g){var C=e.data&&e.data.history||[],M=e.userAxis(),V=m.nbUsers?M.hi-M.lo:0,q=e.firstDataIndex();if(!V||q>=C.length)return"";for(var j=function(Ce){return(140-((Ce||0)-M.lo)/V*140).toFixed(2)},ne=g?"M"+q+" 140":"",Y=q;Ym[M])&&(m[M]=C[M]),(w[M]==null||C[M] .meta-more"),o=[...e.querySelectorAll(":scope > .meta-item")];if(o.forEach(s=>{s.removeAttribute("data-meta-hidden")}),t&&(t.hidden=!0,t.textContent="",t.removeAttribute("title"),t.removeAttribute("aria-label")),!e.clientWidth)return;if(e.classList.add("is-fitting"),e.scrollWidth<=e.clientWidth+1){e.classList.remove("is-fitting");return}let i=[];for(let s=o.length-1;s>=0&&e.scrollWidth>e.clientWidth+1;s--)if(o[s].setAttribute("data-meta-hidden",""),i.unshift(o[s]),t){let r=i.map(a=>a.dataset.metaLabel||a.textContent.trim().replace(/\s+/g," "));t.hidden=!1,t.textContent="+"+i.length,t.title=r.join(" \xB7 "),t.setAttribute("aria-label",i.length+" more: "+r.join(", "))}e.classList.remove("is-fitting")}function wu(e,t){if(typeof document>"u"||typeof MutationObserver>"u"||!document.body)return;let o=!1,i=null,s=()=>{o=!1,i&&(document.querySelectorAll("[data-meta-fit]").forEach(Fm),i.takeRecords())},r=()=>{!o&&i&&(o=!0,e.timeout(s,30))};i=new MutationObserver(a=>{a.some(u=>!(u.target.closest&&u.target.closest(".meta-more")))&&r()}),i.observe(document.body,{childList:!0,subtree:!0,characterData:!0}),Gn(()=>{i.disconnect(),i=null}),t(window,"resize",r),document.fonts?.ready&&document.fonts.ready.then(r),r()}var ku={name:"htmlDoc",props:["content","baseUrl","allowScripts"],setup(e){let t=Et(null);return ln(()=>{let i=[t.value][0];i.classList.add("html-doc");function s(){i.innerHTML="";let r=e.content;if(typeof r!="string")return;let a=document.createElement("iframe");a.className="html-doc-frame",a.setAttribute("title","Rendered HTML document");let u=["allow-popups","allow-popups-to-escape-sandbox"];e.allowScripts&&u.push("allow-scripts","allow-forms","allow-modals"),a.setAttribute("sandbox",u.join(" ")),a.setAttribute("referrerpolicy","no-referrer"),i.appendChild(a);let p="";e.baseUrl&&(p=''),a.srcdoc=p+r}it(()=>e.content,s,{immediate:!0}),it(()=>e.baseUrl,s,{immediate:!0}),it(()=>e.allowScripts,s,{immediate:!0})}),()=>Te("html-doc",{ref:t})}};var Cu={name:"pdfviewer",props:["src"],setup(e){let t=Et(null);return ln(()=>{let o=[t.value],i=400,s=[.5,.75,1,1.25,1.5,2,3],r=1e3,a=o[0];a.classList.add("pdf-viewer");let u=null,p=[],y=!1,h=null,b=1,m=0,w=1,A=0,S=0,R=612/792,g=0,C=null,M=new Map,V=0;function q(N){let P=M.get(N);P&&(P.cancelled=!0,P.task?.cancel?.(),M.delete(N));let H=N.querySelector("canvas");H&&(H.width=0,H.height=0),N.innerHTML="",delete N.dataset.state}let j=document.createElement("div");j.className="pdf-toolbar";let ne=document.createElement("div");ne.className="pdf-pages",ne.tabIndex=0,ne.setAttribute("aria-label","PDF pages"),a.appendChild(j),a.appendChild(ne);function Y(N,P,H){let B=document.createElement("button");return B.type="button",B.className="pdf-toolbar-btn",B.title=P,B.setAttribute("aria-label",P),B.innerHTML='',B.addEventListener("click",H),B}let oe=Y("fa-chevron-up","Previous page",function(){st(w-1)}),Ce=Y("fa-chevron-down","Next page",function(){st(w+1)}),D=document.createElement("input");D.type="text",D.className="pdf-toolbar-page",D.setAttribute("aria-label","Page number"),D.title="Page number \u2014 type a page and press Enter",D.addEventListener("keydown",function(N){N.key==="Enter"&&(st(parseInt(D.value,10)),D.blur())}),D.addEventListener("blur",function(){D.value=String(w)});let te=document.createElement("span");te.className="pdf-toolbar-count";let ue=Y("fa-search-minus","Zoom out",function(){F(s[Math.max(0,ke()-1)])}),Pe=Y("fa-search-plus","Zoom in",function(){F(s[Math.min(s.length-1,ke()+1)])}),we=document.createElement("button");we.type="button",we.className="pdf-toolbar-btn pdf-toolbar-zoom",we.title="Reset zoom to fit the width",we.setAttribute("aria-label","Reset zoom to fit the width"),we.addEventListener("click",function(){F(1)}),j.appendChild(oe),j.appendChild(Ce);let J=document.createElement("span");J.className="pdf-toolbar-group",J.appendChild(D),J.appendChild(te),j.appendChild(J);let ce=document.createElement("span");ce.className="pdf-toolbar-group pdf-toolbar-right",ce.appendChild(ue),ce.appendChild(we),ce.appendChild(Pe),j.appendChild(ce);function ke(){let N=0;for(let P=0;P=N,we.textContent=b===1||!m?"Fit":Math.round(dt()/(m*96/72)*100)+"%",ue.disabled=ke()===0,Pe.disabled=ke()===s.length-1}function et(N){let P=p[N-1];P&&(ne.scrollTop+=P.getBoundingClientRect().top-ne.getBoundingClientRect().top)}function st(N){if(!u||isNaN(N))return;let P=Math.min(Math.max(1,N),u.numPages);p[P-1]&&(et(P),w=P,A=P,S=Date.now()+800,De(),X())}function tt(){if(!p.length||Date.now(){}),C=null),h&&(clearTimeout(h),h=null),u&&(u.destroy(),u=null),p=[],w=1,ne.innerHTML="",De()}function bt(){ne.innerHTML="";let N=document.createElement("div");N.className="pdf-viewer-error",N.textContent="This PDF could not be displayed.",ne.appendChild(N)}function dt(){let N=Math.max(120,ne.clientWidth-24);return Math.round(Math.min(N,r)*b)}function vt(N,P,H){let B=window.devicePixelRatio||1,K=N.getViewport({scale:1}),se=parseFloat(P.style.width);if(!se)return;let Q=N.getViewport({scale:se/K.width*B}),Z=document.createElement("canvas");return Z.width=Math.floor(Q.width),Z.height=Math.floor(Q.height),Z.style.width=se+"px",Z.style.height=Math.floor(Q.height/B)+"px",P.innerHTML="",P.appendChild(Z),P.style.height=Z.style.height,H.task=N.render({canvasContext:Z.getContext("2d"),viewport:Q}),H.task.promise}function X(){if(!u)return;let N=g,P=ne.getBoundingClientRect(),H=P.top-i,B=P.top+ne.clientHeight+i,K=p.map((Q,Z)=>({slot:Q,i:Z,rect:Q.getBoundingClientRect()})).filter(Q=>Q.rect.top<=B&&Q.rect.bottom>=H).sort((Q,Z)=>Math.abs(Q.rect.top-P.top)-Math.abs(Z.rect.top-P.top)).slice(0,6),se=new Set(K.map(Q=>Q.slot));for(let Q of M.keys())se.has(Q)||q(Q);for(let{slot:Q,i:Z}of K){if(Q.dataset.state||V>=2)continue;let G={cancelled:!1,task:null};M.set(Q,G),V++,Q.dataset.state="rendering";let me;u.getPage(Z+1).then(le=>{if(me=le,!(G.cancelled||N!==g))return vt(me,Q,G)}).then(()=>{G.cancelled||N!==g||(Q.dataset.state="done",A&&Date.now(){!G.cancelled&&N===g&&(Q.dataset.state="failed")}).finally(()=>{V--,me?.cleanup?.(),u&&X()})}}function fe(){y||(y=!0,window.requestAnimationFrame(function(){y=!1,tt(),X()}))}function I(){let N=!1;function P(){N||(N=!0,X())}window.requestAnimationFrame(P),window.setTimeout(P,50)}function U(){g++,p.forEach(q);let N=dt();p.forEach(function(P){delete P.dataset.state,P.innerHTML="",P.style.width=N+"px",P.style.height=Math.round(N/R)+"px"}),X()}function F(N){if(!u||!p.length||N===b)return;let P=w;b=N,De(),U(),st(P)}function W(){u&&(h&&clearTimeout(h),h=setTimeout(function(){h=null,u&&p.length&&U()},250))}function E(N){if(He(),!N)return;let P=g;C=pdfjsLib.getDocument({url:N,isEvalSupported:!1,standardFontDataUrl:"/script/external/pdf-standard-fonts/",cMapUrl:"/script/external/pdf-cmaps/",cMapPacked:!0}),C.promise.then(function(H){if(P!==g){H.destroy();return}return u=H,u.getPage(1).then(function(B){if(P!==g)return;let K=B.getViewport({scale:1});K.width&&K.height&&(R=K.width/K.height),m=K.width||0;let se=dt();for(let Q=1;Q<=u.numPages;Q++){let Z=document.createElement("div");Z.className="pdf-viewer-page",Z.style.width=se+"px",Z.style.height=Math.round(se/R)+"px",ne.appendChild(Z),p.push(Z)}De(),I()})}).catch(function(){P===g&&bt()})}ne.addEventListener("scroll",fe,{passive:!0}),$(window).on("resize",W),De(),it(()=>e.src,E,{immediate:!0}),Qn(function(){ne.removeEventListener("scroll",fe),$(window).off("resize",W),He()})}),()=>Te("pdfviewer",{ref:t})}};var zm={key:0,class:"quota-row quota-usage"},Hm={class:"quota-header"},jm={class:"quota-label"},Gm={class:"project-type-svg","aria-hidden":"true"},Wm=["href"],Km={key:0,class:"quota-percent"},Ym={key:1,class:"quota-unlimited-tag"},Xm={class:"quota-value"},Qm={key:0},Jm=["aria-label","aria-valuenow","aria-valuemax","aria-valuetext"],Zm={key:1,class:"quota-remaining"},xm={key:2,class:"quota-remaining quota-limit"};function Eu(e,t){return e.quota?(l(),d("div",zm,[(l(),d(L,null,ie([{key:"repository",label:"Repositories",kind:"count",icon:"project-type-repo"},{key:"storage",label:"Storage",kind:"bytes",icon:"project-icon-storage"},{key:"file",label:"Files",kind:"count",icon:"project-icon-file"}],o=>n("div",{class:T(["quota-item","quota-"+e.quota[o.key].level]),key:o.key},[n("div",Hm,[n("span",jm,[(l(),d("svg",Gm,[n("use",{href:"#"+o.icon},null,8,Wm)])),v(c(o.label),1)]),e.quota[o.key].unlimited?f("v-if",!0):(l(),d("span",Km,c(e.quota[o.key].percent>0&&e.quota[o.key].percent<1?"<1":e.fmt.number(e.quota[o.key].percent,0))+"% used",1)),e.quota[o.key].unlimited?(l(),d("span",Ym,"Unlimited")):f("v-if",!0)]),n("div",Xm,[n("strong",null,c(e.formatAmount(e.quota[o.key].used,o.kind)),1),e.quota[o.key].unlimited?f("v-if",!0):(l(),d("span",Qm," / "+c(e.formatAmount(e.quota[o.key].total,o.kind)),1))]),e.quota[o.key].unlimited?f("v-if",!0):(l(),d("div",{key:0,class:T(["quota-track","quota-"+e.quota[o.key].level]),role:"progressbar","aria-valuemin":"0","aria-label":o.label+" quota","aria-valuenow":Math.min(e.quota[o.key].used,e.quota[o.key].total),"aria-valuemax":e.quota[o.key].total,"aria-valuetext":e.fmt.number(e.quota[o.key].percent,0)+"% used"},[e.quota[o?.key].unlimited?f("v-if",!0):(l(),d("div",{key:0,class:"quota-fill",style:Ve({width:e.quota[o.key].percent+"%"})},null,4))],10,Jm)),!e.quota[o.key].unlimited&&e.quota[o.key].used=e.quota[o.key].total?(l(),d("p",xm,c(e.quota[o.key].used>e.quota[o.key].total?"Limit exceeded":"Limit reached"),1)):f("v-if",!0)],2)),64))])):f("v-if",!0)}var eg={props:["quota","fmt"],setup(e){return{formatAmount:(t,o)=>o==="bytes"?e.fmt.humanFileSize(e.quota?.storage?.unit==="bytes"?t*8:t).replace(/([a-zA-Z]+)$/," $1"):e.fmt.number(t)}},render:Eu},tg=new Set(ve),Ru=e=>e?.querySelectorAll("pre code.language-diff, pre code.lang-diff").forEach(t=>{if(t.querySelector(".md-diff-line"))return;let o=t.innerHTML.replace(/\n$/,"").split(` `);t.innerHTML=o.map(i=>{let s=i.replace(/^(<[^>]+>)+/,"").charAt(0),r=i.startsWith("@@")?"hunk":s==="+"?"add":s==="-"?"remove":"";return`${i||" "}`}).join(` -`)}),Nu=(e,t=0)=>{let o=(String(e).slice(t).match(/^[ \t]*/)[0]||"").replace(/\t/g," ").length;return Math.min(t+o+4,24)},Es=e=>{e?.closest?.(".reviewer-preview")&&e.querySelectorAll("pre code").forEach(t=>{let o=t.querySelectorAll(".md-diff-line");if(o.length){o.forEach(s=>{s.classList.contains("is-hunk")||s.style.setProperty("--hang",Nu(s.textContent,1)+"ch")});return}if(t.querySelector(".code-line"))return;let i=[];t.innerHTML=t.innerHTML.replace(/\n$/,"").split(` -`).map(s=>{let r=i.join("");s.replace(/<\/?span\b[^>]*>/g,u=>(u.startsWith("]+>/g,"");return`${r}${s||" "}${"".repeat(i.length)}`}).join(` -`)})},Au={props:["content","terms","options"],setup(e){let t=Et(null),o=()=>{t.value.innerHTML=renderMD(e.content||"",window.location.pathname+"/../"),Du(t.value),Es(t.value)};return dn(()=>{o(),rt(()=>[e.content,e.terms,e.options],o,{deep:!0})}),()=>Pe("markdown",{ref:t})}},og={props:["file","terms","options"],setup(e){let t=Et(null),o=()=>Je(()=>{t.value?.querySelectorAll("pre code").forEach(i=>window.Prism?.highlightElement(i)),Du(t.value),Es(t.value)});return dn(o),rt(()=>[e.file?.content,e.terms,e.options],o,{deep:!0}),()=>{let i=e.file||{},s=(i.filename||"").split(".").pop().toLowerCase();if(["md","markdown"].includes(s)||i.language==="Markdown")return Pe("gist-file",{ref:t},Pe(Au,{content:i.content,terms:e.terms,options:e.options}));let r={js:"javascript",jsx:"javascript",ts:"javascript",typescript:"javascript",py:"python",html:"markup",xml:"markup",svg:"markup",sh:"bash"},a=(i.language||s||"none").toLowerCase();return Pe("gist-file",{ref:t},Pe("pre",{class:"line-numbers"},Pe("code",{class:"language-"+(r[a]||a),key:i.content},i.content||"")))}}},sg=e=>e?.querySelectorAll(".nb-input pre").forEach(t=>{if(t.parentElement?.classList.contains("nb-code-scroll"))return;let o=document.createElement("div");o.className="nb-code-scroll",t.replaceWith(o),o.appendChild(t);let i=()=>{let s=t.scrollWidth-t.clientWidth>1;if(o.classList.toggle("is-overflowing",s),o.classList.toggle("is-at-end",s&&t.scrollLeft+t.clientWidth>=t.scrollWidth-2),!s)return;let r=t.clientWidth-16,a=Math.max(24,r*t.clientWidth/t.scrollWidth);o.style.setProperty("--thumb-w",a+"px"),o.style.setProperty("--thumb-x",(r-a)*t.scrollLeft/(t.scrollWidth-t.clientWidth)+"px")};t.addEventListener("scroll",i,{passive:!0}),window.ResizeObserver?new ResizeObserver(i).observe(t):i(),i()}),ig={props:["file","content"],setup(e){let t=Et(null),o=0,i,s=async()=>{let r=++o;i?.abort(),i=new AbortController;try{let a=e.content?JSON.parse(e.content):await fetch(e.file?.download_url||e.file,{signal:i.signal}).then(u=>{if(!u.ok)throw Error("Notebook request failed");return u.json()});if(await zn("notebook"),r!==o)return;t.value.innerHTML=Vi(DOMPurify.sanitize(nb.parse(a).render())),t.value.querySelectorAll("pre code").forEach(u=>window.Prism?.highlightElement(u)),sg(t.value)}catch(a){r===o&&a.name!=="AbortError"&&(t.value.textContent="Unable to render the notebook.")}};return dn(()=>{s(),rt(()=>[e.file,e.content],s)}),Jn(()=>{o++,i?.abort()}),()=>Pe("notebook",{ref:t})}},rg={props:["stats"],setup(e){return()=>{let t=Object.entries(e.stats||{}).filter(([,i])=>i.code),o=t.reduce((i,[,s])=>i+s.code,0);return Pe("loc",t.map(([i,s])=>Pe("div",{class:"lang",title:`${i}: ${s.code.toLocaleString()} lines`,style:{width:s.code*100/o+"%",background:langColors[i]}})))}}},Tu={Markdown:Au,GistFile:og,Notebook:ig,Loc:rg,HtmlDoc:Cu,QuotaUsage:tg,Pdfviewer:$l(async()=>(await zn("pdf"),pdfjsLib.GlobalWorkerOptions.workerSrc="/script/external/pdf.worker.js",Eu))},Pu={async mounted(e,{value:t}){e._editorValue=t;try{if(await Fs(),e._editorDisposed)return;let o=e._editorValue,i=ace.edit(e);e._editor=i,i.setValue(String(o.content??""),-1),Ru(e,o.options),e._editorCleanup=o.options?.onLoad?.(i)}catch(o){e._editorDisposed||(e.textContent=o.message)}},updated(e,{value:t}){e._editorValue=t,e._editor&&(e._editor.getValue()!==String(t.content??"")&&e._editor.setValue(String(t.content??""),-1),Ru(e,t.options))},beforeUnmount(e){e._editorDisposed=!0,e._editorCleanup?.(),e._editor?.destroy()}};function Ru(e,t={}){let o=ng.has(t.mode)?t.mode:"text";e._editor.session.setMode("ace/mode/"+o),t.theme&&e._editor.setTheme("ace/theme/"+t.theme),e._editor.setReadOnly(t.readOnly!==!1)}var Ou={mounted(e){if(!window.IntersectionObserver)return;let t=[...e.querySelectorAll('a[href^="#"]')],o=new Set,i=new IntersectionObserver(s=>{s.forEach(a=>a.isIntersecting?o.add(a.target.id):o.delete(a.target.id));let r=t.find(a=>o.has(a.hash.slice(1)));r&&t.forEach(a=>a.classList.toggle("active",a===r))},{rootMargin:"-20% 0px -60% 0px",threshold:0});Je(()=>{t.forEach(s=>{let r=document.getElementById(s.hash.slice(1));r&&i.observe(r)}),t[0]&&!t.some(s=>s.classList.contains("active"))&&t[0].classList.add("active")}),e._observer=i},beforeUnmount(e){e._observer?.disconnect()}};var ta=(e,t,o)=>{let i=e instanceof RegExp?Iu(e,o):e,s=t instanceof RegExp?Iu(t,o):t,r=i!==null&&s!=null&&ag(i,s,o);return r&&{start:r[0],end:r[1],pre:o.slice(0,r[0]),body:o.slice(r[0]+i.length,r[1]),post:o.slice(r[1]+s.length)}},Iu=(e,t)=>{let o=t.match(e);return o?o[0]:null},ag=(e,t,o)=>{let i,s,r,a,u,p=o.indexOf(e),y=o.indexOf(t,p+1),h=p;if(p>=0&&y>0){if(e===t)return[p,y];for(i=[],r=o.length;h>=0&&!u;){if(h===p)i.push(h),p=o.indexOf(e,h+1);else if(i.length===1){let b=i.pop();b!==void 0&&(u=[b,y])}else s=i.pop(),s!==void 0&&s=0?p:y}i.length&&a!==void 0&&(u=[r,a])}return u};var Mu="\0SLASH"+Math.random()+"\0",_u="\0OPEN"+Math.random()+"\0",ia="\0CLOSE"+Math.random()+"\0",Vu="\0COMMA"+Math.random()+"\0",qu="\0PERIOD"+Math.random()+"\0",lg=new RegExp(Mu,"g"),dg=new RegExp(_u,"g"),ug=new RegExp(ia,"g"),cg=new RegExp(Vu,"g"),pg=new RegExp(qu,"g"),fg=/\\\\/g,hg=/\\{/g,mg=/\\}/g,gg=/\\,/g,vg=/\\\./g,yg=1e5,bg=4e6,wg=1e3,kg=1e3;function na(e){return isNaN(e)?e.charCodeAt(0):parseInt(e,10)}function Cg(e){return e.replace(fg,Mu).replace(hg,_u).replace(mg,ia).replace(gg,Vu).replace(vg,qu)}function Eg(e){return e.replace(lg,"\\").replace(dg,"{").replace(ug,"}").replace(cg,",").replace(pg,".")}function oa(e,t){for(let o=0;o=t}function Ss(e,t,o,i,s,r){let a=[],u=0;for(let p=0;p=i)return a;let h=e[p]+t+o[y];if(!(r&&!h)){if(u+h.length>s)return a;a.push(h),u+=h.length}}return a}function Tg(e,t,o,i){let s=e.split(/\.\./),r=[];if(s[0]===void 0||s[1]===void 0)return r;let a=na(s[0]),u=na(s[1]),p=Math.max(s[0].length,s[1].length),y=s.length===3&&s[2]!==void 0?Math.max(Math.abs(na(s[2])),1):1,h=Dg;u0){let g=new Array(R+1).join("0");A<0?S="-"+g+S.slice(1):S=g+S}}if(w+S.length>i)break;r.push(S),w+=S.length}return r}function sa(e,t,o,i,s,r,a){if(s>i)return[e];let u=[""],p=0,y=!1,h=!0;for(;;){let b=ta("{","}",e);if(!b)return Ss(u,e,[""],t,o,y);let m=b.pre;if(/\$$/.test(m)){if(u=Ss(u,m+"{"+b.body+"}",[""],t,o,y&&!b.post.length),h=!1,!b.post.length)break;e=b.post;continue}let w=/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(b.body),A=/^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(b.body),S=w||A,R=b.body.indexOf(",")>=0;if(!S&&!R){if(p=t||V+Y.length>o)break e;g.push(Y),V+=Y.length}}}}if(u=Ss(u,m,g,t,o,y&&!b.post.length),!b.post.length)break;e=b.post}return u}var Pg={"[:alnum:]":["\\p{L}\\p{Nl}\\p{Nd}"],"[:alpha:]":["\\p{L}\\p{Nl}"],"[:ascii:]":["\\x00-\\x7f"],"[:blank:]":["\\p{Zs}\\t"],"[:cntrl:]":["\\p{Cc}"],"[:digit:]":["\\p{Nd}"],"[:graph:]":["\\p{Z}\\p{C}",!0],"[:lower:]":["\\p{Ll}"],"[:print:]":["\\p{C}",!0],"[:punct:]":["\\p{P}\\p{S}"],"[:space:]":["\\p{Z}\\t\\r\\n\\v\\f"],"[:upper:]":["\\p{Lu}"],"[:word:]":["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}"],"[:xdigit:]":["A-Fa-f0-9"]},Ns=e=>e.replace(/[[\]\\-]/g,"\\$&"),ra=/$./,Lu=(e,t,o=!1,i)=>{let s=g=>{let C=i?g.normalize(i):g;return[...C].length===1?C:g},r=t;if(e.charAt(r)!=="[")throw new Error("not in a brace expression");let a=[],u=[],p=r+1,y=!1,h=!1,b=!1,m=r,w="";e:for(;pw.codePointAt(0)?a.push(Ns(w)+"-"+Ns(C)):C===w&&a.push(Ns(C)),w="",p+=g.length;continue}if(e.startsWith("-]",p+g.length)){a.push(Ns(C+"-")),p+=g.length+1;continue}if(e.startsWith("-",p+g.length)){w=C,p+=g.length+1;continue}a.push(Ns(C)),p+=g.length}if(m({t:"lit",ch:e}),Ig=e=>e.replace(/[\\^$.*+?()[\]{}|/]/g,"\\$&"),zu=e=>new RegExp(`^${Ig(e)}$`,"iu"),qi=new Map,Hu=e=>{let t=qi.get(e);return t||(t=zu(e),qi.size>=1e3&&qi.clear(),qi.set(e,t)),t},fa=(e,t)=>{if(t===e.ch)return!0;if(!e.re)return!1;let o=t.charCodeAt(0);if(o>=128)return e.re.test(t);let i=e.ascii??(e.ascii=new Uint8Array(128));return i[o]||(i[o]=e.re.test(t)?1:2),i[o]===1},Mg=(e,t,o,i)=>{let s=[];for(let r=0;r{let t=new Map,o=[];return e.forEach((i,s)=>{i.t==="open"?o.push(s):i.t==="close"&&o.length&&t.set(o.pop(),s)}),t},ju=(e,t,o,i,s)=>{let r=[],a=[r];for(let u=o;u{let o=[],i="",s=()=>{for(let r of i.normalize(t))o.push(oo(r));i=""};for(let r of e){if(r.t==="lit"){i+=r.ch;continue}s(),o.push(r.t==="ext"?{...r,alts:r.alts.map(a=>Gu(a,t))}:r)}return s(),o},Vg=(e,t)=>{let o=1,i=u=>({t:"split",id:o++,out:u}),s=(u,p)=>u.reduceRight((y,h)=>r(h,y),p),r=(u,p)=>{switch(u.t){case"lit":let m=t?Hu(u.ch):void 0;return{t:"lit",id:o++,ch:u.ch,re:m,next:p};case"any":case"star":return{t:u.t,id:o++,next:p};case"class":return{t:"class",id:o++,re:u.re,next:p}}let y=m=>u.alts.map(w=>s(w,m));switch(u.type){case"@":return i(y(p));case"?":return i([p,...y(p)]);case"!":return{t:"neg",id:o++,sub:i(y(aa)),next:p}}let h=i([]),b=i(y(h));return h.out.push(p,b),u.type==="*"?h:b};return[s(e,aa),o]},qg=e=>{let t=[],o=new Set,i=r=>r.t==="match"?"match":String(r.id),s=(r,a)=>{if(r.t==="match"||o.has(r))return;o.add(r);let u=p=>t.push(`${a}${r.id}: ${p}`);switch(r.t){case"split":u(`split -> ${r.out.map(i).join(", ")}`);for(let p of r.out)s(p,a);return;case"neg":return u(`!(${i(r.sub)}) -> ${i(r.next)}`),s(r.sub,a+" "),s(r.next,a);case"lit":u(`${JSON.stringify(r.ch)} -> ${i(r.next)}`);break;case"class":u(`${r.re} -> ${i(r.next)}`);break;default:u(`${r.t==="any"?"?":"*"} -> ${i(r.next)}`)}s(r.next,a)};return s(e,""),[`start -> ${i(e)}`,...t].join(` -`)},la=class{constructor(t){Qe(this,"gen");Qe(this,"threads",[]);Qe(this,"match",!1);Qe(this,"runs",[]);Qe(this,"ids",[]);this.gen=t}get dead(){return!this.threads.length&&!this.match&&!this.runs.length}},Wu=(e,t)=>e.ids.length!==t.ids.length||e.runs.length!==t.runs.length||e.ids.some((o,i)=>o!==t.ids[i])?!1:e.runs.every(o=>t.runs.some(i=>i.neg===o.neg&&Wu(i.state,o.state))),Uu=e=>({has:new Float64Array(e),seen:new Float64Array(e),gen:0}),so,Vn,da,ua,Ds=class{constructor(t,o,i){qe(this,Vn);Qe(this,"dots");Qe(this,"dotStart");qe(this,so);this.dots=t,this.dotStart=o,Ue(this,so,i)}state(){return new la(++re(this,so).gen)}done(t){return t.ids=t.threads.map(o=>o.id).sort((o,i)=>o-i),t.match&&t.ids.unshift(aa.id),t}restricted(t,o){return o&&(this.dots||this.dotStart&&t===0)}add(t,o,i,s){switch(o.t){case"split":if(!$e(this,Vn,da).call(this,t,o))return;for(let a of o.out)this.add(t,a,i,s);return;case"neg":if(!$e(this,Vn,da).call(this,t,o))return;let r=this.state();return this.add(r,o.sub,i,!1),this.done(r),this.addRun(t,{t:"run",neg:o,state:r},i,s);case"star":if(this.restricted(i,s))return;$e(this,Vn,ua).call(this,t,o)&&this.add(t,o.next,i,s);return;case"match":t.match=!0;return;default:$e(this,Vn,ua).call(this,t,o)}}addRun(t,o,i,s){for(let r of t.runs)if(r.neg===o.neg&&Wu(r.state,o.state))return;t.runs.push(o),o.state.match||this.add(t,o.neg.next,i,s)}step(t,o,i,s){let r=this.state();for(let a of t.threads)switch(a.t){case"lit":fa(a,o)&&this.add(r,a.next,i+1,s);break;case"any":this.restricted(i,s)||this.add(r,a.next,i+1,s);break;case"class":!this.restricted(i,s)&&a.re.test(o)&&this.add(r,a.next,i+1,s);break;case"star":this.restricted(i,s)||this.add(r,a,i+1,s)}if(!this.restricted(i,s))for(let a of t.runs){if(a.state.dead){this.addRun(r,a,i+1,s);continue}let u=this.step(a.state,o,i,!1);this.addRun(r,{t:"run",neg:a.neg,state:u},i+1,s)}return this.done(r)}};so=new WeakMap,Vn=new WeakSet,da=function(t,o){let{seen:i}=re(this,so);return i[o.id]===t.gen?!1:(i[o.id]=t.gen,!0)},ua=function(t,o){let{has:i}=re(this,so);return i[o.id]===t.gen?!1:(i[o.id]=t.gen,t.threads.push(o),!0)};var Ku=e=>{let t=e.ids.join();if(!e.runs.length)return t;let o=e.runs.map(i=>`${i.neg.id}(${Ku(i.state)})`);return`${t}|${o.sort().join("|")}`},$g=1<<18,Io,Mo,Pn,io,On,In,Mn,xt,pa,Li,Yu,ca=class{constructor(t,o){qe(this,xt);qe(this,Io);qe(this,Mo,new Map);qe(this,Pn,0);qe(this,io);qe(this,On);qe(this,In);qe(this,Mn);Ue(this,Io,t),Ue(this,In,new Ds(!1,!1,o)),Ue(this,Mn,new Ds(!1,!0,o))}start(t){if(t){if(re(this,On))return re(this,On);let i=re(this,Mn).state();return re(this,Mn).add(i,re(this,Io),0,!0),Ue(this,On,$e(this,xt,pa).call(this,re(this,Mn).done(i)))}if(re(this,io))return re(this,io);let o=re(this,In).state();return re(this,In).add(o,re(this,Io),0,!0),Ue(this,io,$e(this,xt,Li).call(this,re(this,In).done(o)))}next(t,o){let i=o.charCodeAt(0),s=i<128?void 0:t.next.get(o);if(s)return s;let r=t===re(this,On)?$e(this,xt,Li).call(this,re(this,Mn).step(t.state,o,0,!0)):$e(this,xt,Li).call(this,re(this,In).step(t.state,o,1,!0));return i<128?(t.ascii||(t.ascii=new Array(128),Ue(this,Pn,re(this,Pn)+128)),t.ascii[i]=r):t.next.set(o,r),_a(this,Pn)._++,r}};Io=new WeakMap,Mo=new WeakMap,Pn=new WeakMap,io=new WeakMap,On=new WeakMap,In=new WeakMap,Mn=new WeakMap,xt=new WeakSet,pa=function(t){return{state:t,match:t.match,dead:t.dead,next:new Map}},Li=function(t){let o=Ku(t),i=re(this,Mo).get(o);if(i)return i;re(this,Pn)>$g&&$e(this,xt,Yu).call(this);let s=$e(this,xt,pa).call(this,t);return re(this,Mo).set(o,s),Ue(this,Pn,re(this,Pn)+(o.length+1)),s},Yu=function(){re(this,Mo).clear(),Ue(this,Pn,0),Ue(this,io,void 0),Ue(this,On,void 0)};var Lg=e=>{let t=[];for(let o=e;o.t!=="match";o=o.next){if(o.t==="split"||o.t==="neg")return;t.push(o)}return t},Ug=(e,t,o,i)=>{let s=0,r=o,a=-1,u=0;for(;r{let t=0,o=0;for(let i of e){let[s,r]=Fg(i);t+=s,o+=r}return[t,o]},Fg=e=>{if(e.t==="star")return[0,1/0];if(e.t!=="ext")return[1,1];if(e.type==="!")return[0,1/0];let t=e.alts.map(Xu),o=Math.min(...t.map(r=>r[0])),i=Math.max(...t.map(r=>r[1])),s=i===0?0:1/0;return e.type==="@"?[o,i]:e.type==="?"?[0,i]:e.type==="*"?[0,s]:[o,s]},Fu=(e,t,o)=>{for(let i=0;izg.test(e)?[...e]:e,Bu=e=>{if(e.includes("/"))throw new Error("can only match a single path portion, got: "+e)},_n,_o,ro,Ui,ao,Ts,Fi,lo,Ps,Os,Is,Sn,hn,Vo,qo,Ms,Bi,Zt,uo,Rs,As=class{constructor(t,o={}){qe(this,uo);Qe(this,"pattern");Qe(this,"options");qe(this,_n);qe(this,_o);qe(this,ro);qe(this,Ui);qe(this,ao);qe(this,Ts,!1);qe(this,Fi);qe(this,lo);qe(this,Ps,!1);qe(this,Os,0);qe(this,Is,1/0);qe(this,Sn,[]);qe(this,hn,[]);qe(this,Vo);qe(this,qo);qe(this,Ms,!1);qe(this,Bi);qe(this,Zt);if(t.includes("/"))throw new Error("can only match a single path portion, got pattern: "+t);this.pattern=t,this.options=o;let{nocase:i=!1,noext:s=!1,normalize:r}=o;Ue(this,Zt,r===!0?"NFC":r||void 0);let a=/^[?*+@]\(\)$/.test(t),u=Mg(t,i,s||a,re(this,Zt)),[p]=ju(u,_g(u),0,u.length,!0);re(this,Zt)&&(p=Gu(p,re(this,Zt)));let[y,h]=Vg(p,i);if(Ue(this,_n,y),Ue(this,_o,h),p.every(b=>b.t==="lit"))Ue(this,ao,p.map(b=>b.ch).join("")),Ue(this,Ts,i);else{let b=A=>A.t!=="lit"?void 0:i?{ch:A.ch,re:Hu(A.ch)}:{ch:A.ch};for(let A of p){let S=b(A);if(!S)break;re(this,Sn).push(S)}for(let A=p.length-1;A>=0;A--){let S=b(p[A]);if(!S)break;re(this,hn).unshift(S)}Ue(this,Ms,!!(re(this,Sn).length||re(this,hn).length)),i||(Ue(this,Vo,re(this,Sn).map(A=>A.ch).join("")),Ue(this,qo,re(this,hn).map(A=>A.ch).join(""))),Ue(this,lo,Lg(re(this,_n))?.slice(re(this,Sn).length,-re(this,hn).length||void 0)),Ue(this,Ps,!!re(this,lo)?.every(A=>A.t==="star"||A.t==="any"));let[m,w]=Xu(p);Ue(this,Os,m),Ue(this,Is,w)}}test(t){return re(this,Zt)?(Bu(t),$e(this,uo,Rs).call(this,t.normalize(re(this,Zt)))):Bg.test(t)?(Bu(t),$e(this,uo,Rs).call(this,t,[...t])):$e(this,uo,Rs).call(this,t,t)}testUnchecked(t){return $e(this,uo,Rs).call(this,re(this,Zt)?t.normalize(re(this,Zt)):t)}toString(){return qg(re(this,_n))}};_n=new WeakMap,_o=new WeakMap,ro=new WeakMap,Ui=new WeakMap,ao=new WeakMap,Ts=new WeakMap,Fi=new WeakMap,lo=new WeakMap,Ps=new WeakMap,Os=new WeakMap,Is=new WeakMap,Sn=new WeakMap,hn=new WeakMap,Vo=new WeakMap,qo=new WeakMap,Ms=new WeakMap,Bi=new WeakMap,Zt=new WeakMap,uo=new WeakSet,Rs=function(t,o){if(re(this,ao)!==void 0)return re(this,Ts)?(re(this,Fi)??Ue(this,Fi,zu(re(this,ao)))).test(t):t===re(this,ao);let i=re(this,Os),s=re(this,Is);if(o===void 0){let h=t.length,b=h+1>>1;if(hs)return!1;(bs)&&(o=$i(t))}if(o!==void 0&&(o.lengths))return!1;let r=re(this,Sn).length;if(re(this,Ms))if(re(this,Vo)!==void 0&&re(this,qo)!==void 0){if(!t.startsWith(re(this,Vo))||!t.endsWith(re(this,qo)))return!1}else{o??(o=$i(t));let h=o.length-re(this,hn).length;if(!Fu(re(this,Sn),o,0)||!Fu(re(this,hn),o,h))return!1}let a=!this.options.dot&&t.startsWith(".");if(re(this,lo)){if(t==="."||t===".."||a&&!r)return!1;if(re(this,Ps))return!0;o??(o=$i(t));let h=o.length-re(this,hn).length;return Ug(re(this,lo),o,r,h)}if(o??(o=$i(t)),t==="."||t===".."){re(this,ro)??Ue(this,ro,Uu(re(this,_o)));let h=re(this,Ui)??Ue(this,Ui,new Ds(!0,!1,re(this,ro))),b=h.state();h.add(b,re(this,_n),0,!0);let m=h.done(b);for(let w=0;w{if(typeof e!="string")throw new TypeError("invalid pattern");if(e.length>65536)throw new TypeError("pattern is too long")};var qn=(e,{windowsPathsNoEscape:t=!1,magicalBraces:o=!1}={})=>o?t?e.replace(/[?*()[\]{}]/g,"[$&]"):e.replace(/[?*()[\]\\{}]/g,"\\$&"):t?e.replace(/[?*()[\]]/g,"[$&]"):e.replace(/[?*()[\]\\]/g,"\\$&");var co=(e,{windowsPathsNoEscape:t=!1,magicalBraces:o=!0}={})=>o?t?e.replace(/\[([^/\\])\]/g,"$1"):e.replace(/((?!\\).|^)\[([^/\\])\]/g,"$1$2").replace(/\\([^/])/g,"$1"):t?e.replace(/\[([^/\\{}])\]/g,"$1"):e.replace(/((?!\\).|^)\[([^/\\{}])\]/g,"$1$2").replace(/\\([^/{}])/g,"$1");var Ut=(e,t,o={})=>(_s(t),!o.nocomment&&t.charAt(0)==="#"?!1:jg(t,o).match(e)),$o=new Map,Hg=256,jg=(e,t)=>{let o=e+"\0"+JSON.stringify(t),i=$o.get(o);return i?$o.delete(o):(i=new po(e,{...t}),$o.size>=Hg&&$o.delete($o.keys().next().value)),$o.set(o,i),i},tc=typeof process=="object"&&process?process.env?.__MINIMATCH_TESTING_PLATFORM__||process.platform:"posix",Qu={win32:{sep:"\\"},posix:{sep:"/"}},Gg=tc==="win32"?Qu.win32.sep:Qu.posix.sep;Ut.sep=Gg;var yt=Symbol("globstar **");Ut.GLOBSTAR=yt;var Wg=(e,t={})=>o=>Ut(o,e,t);Ut.filter=Wg;var Nn=(e,t={})=>Object.assign({},e,t),Kg=e=>{if(!e||typeof e!="object"||!Object.keys(e).length)return Ut;let t=Ut;return Object.assign((i,s,r={})=>t(i,s,Nn(e,r)),{Minimatch:class extends t.Minimatch{constructor(s,r={}){super(s,Nn(e,r))}static defaults(s){return t.defaults(Nn(e,s)).Minimatch}},unescape:(i,s={})=>t.unescape(i,Nn(e,s)),escape:(i,s={})=>t.escape(i,Nn(e,s)),filter:(i,s={})=>t.filter(i,Nn(e,s)),defaults:i=>t.defaults(Nn(e,i)),braceExpand:(i,s={})=>t.braceExpand(i,Nn(e,s)),match:(i,s,r={})=>t.match(i,s,Nn(e,r)),sep:t.sep,GLOBSTAR:yt})};Ut.defaults=Kg;var nc=(e,t={})=>(_s(e),t.nobrace||!/\{(?:(?!\{).)*\}/.test(e)?[e]:$u(e,{max:t.braceExpandMax}));Ut.braceExpand=nc;var Yg=(e,t,o={})=>{let i=new po(t,o);return e=e.filter(s=>i.match(s)),i.options.nonull&&!e.length&&e.push(t),e};Ut.match=Yg;var Ju=/[?*]|[+@!]\(.*?\)|\[|\]/,oc=(e,t)=>{let o=t+1;(e.charAt(o)==="!"||e.charAt(o)==="^")&&o++;let i=!1;for(;o{if(!t&&(e==="+()"||e==="@()"))return e;let o="";for(let i=0;i{if(/^[?*+@]\(\)$/.test(e)||e.includes("[:"))return!1;let t=0;for(let o=0;otypeof e=="string"?t===e:t!==""&&e.testUnchecked(t),xu=(e,t,o,i,s)=>$n(e,t)?o:i!==void 0&&$n(e,i)?s:-1,ya=e=>e==="."||e==="..",ma=e=>typeof e=="string"&&/^[a-z]:$/i.test(e),Hi=e=>typeof e=="string"&&/^unc$/i.test(e),ga=e=>{if(e[0]!==""||e[1]!=="")return-1;let t=e[2]!=="?"?2:Hi(e[3])?4:-1,o=e[t],i=e[t+1];return t!==-1&&o!==void 0&&o!==""&&o!==yt&&i!==void 0&&i!==""&&i!==yt?t:-1},zi=(e,t)=>!ya(e)&&(t||!e.startsWith(".")),Vs=(e,t,o,i,s)=>{for(let r=t;r=o||Gi(e.charCodeAt(u),s))return!0}let a=ba(e,r,s);if(a===-1)return!1;for(r=a+1;rt==="/"?e===47:t==="\\"?e===92:e===47||e===92,ba=(e,t,o)=>{if(o!=="both")return e.indexOf(o,t);let i=e.indexOf("/",t),s=e.indexOf("\\",t);return i===-1?s:s===-1?i:Math.min(i,s)},ec=(e,t,o)=>o!=="both"?e.lastIndexOf(o,t):Math.max(e.lastIndexOf("/",t),e.lastIndexOf("\\",t)),va={},Ln,Uo,Un,Rn,Fo,Bo,Fn,$s,zo,Ls,Le,ji,qs,sc,ic,rc,ac,lc,dc,wa,uc,cc,ka,Lo,Ca,po=class{constructor(t,o={}){qe(this,Le);Qe(this,"options");Qe(this,"set");Qe(this,"pattern");Qe(this,"windowsPathsNoEscape");Qe(this,"nonegate");Qe(this,"negate");Qe(this,"comment");Qe(this,"empty");Qe(this,"preserveMultipleSlashes");Qe(this,"partial");Qe(this,"globSet");Qe(this,"globParts");Qe(this,"nocase");Qe(this,"isWindows");Qe(this,"platform");Qe(this,"windowsNoMagicRoot");Qe(this,"maxGlobstarRecursion");qe(this,Ln);qe(this,Uo);qe(this,Un);qe(this,Rn);qe(this,Fo,[]);qe(this,Bo,[]);qe(this,Fn,[]);qe(this,$s,new Map);qe(this,zo,!1);qe(this,Ls,new WeakMap);_s(t),o=o||{},this.options=o,this.maxGlobstarRecursion=o.maxGlobstarRecursion??200,this.pattern=t,this.platform=o.platform||tc,this.isWindows=this.platform==="win32";let i="allowWindowsEscape";this.windowsPathsNoEscape=!!o.windowsPathsNoEscape||o[i]===!1,this.windowsPathsNoEscape&&(this.pattern=this.pattern.replace(/\\/g,"/")),this.preserveMultipleSlashes=!!o.preserveMultipleSlashes,this.negate=!1,this.nonegate=!!o.nonegate,this.comment=!1,this.empty=!1,this.partial=!!o.partial,this.nocase=!!this.options.nocase,this.windowsNoMagicRoot=o.windowsNoMagicRoot!==void 0?o.windowsNoMagicRoot:!!(this.isWindows&&this.nocase),this.globSet=[],this.globParts=[],this.set=[],Ue(this,Ln,!this.preserveMultipleSlashes),Ue(this,Un,(o.optimizationLevel??1)>=2);let s=o.normalize;Ue(this,Rn,s===!0?"NFC":s||void 0),this.make();let r=this.set.map(a=>$e(this,Le,qs).call(this,a));Ue(this,Fn,this.set.map((a,u)=>re(this,Ln)&&a.length-1>r[u])),Ue(this,Fo,this.set.map((a,u)=>{let p=re(this,Fn)[u]?a.length-1:a.length,y=a.slice(r[u]+1,p).filter(h=>typeof h=="string"&&!!h);return[...new Set(y)]})),Ue(this,Uo,re(this,Fo).some(a=>a.length)),Ue(this,Bo,this.set.map((a,u)=>{let[p,y,h]=a;if(re(this,Fn)[u]&&a.length===2&&p===yt&&y!==yt)return"tail";if(re(this,Fn)[u]&&o.matchBase&&a.length===1&&p!==yt&&p!=="")return"base";if(!(!re(this,Ln)||r[u]!==-1)){if(a.length===3&&p===yt&&h===yt&&y!==yt&&y!==""&&this.maxGlobstarRecursion>0)return"mid";if(a.length===2&&y===yt&&p!==yt&&p!=="")return"head"}}))}hasMagic(){if(this.options.magicalBraces&&this.set.length>1)return!0;for(let t of this.set)for(let o of t)if(typeof o!="string")return!0;return!1}make(){let t=this.pattern,o=this.options;if(!o.nocomment&&t.charAt(0)==="#"){this.comment=!0;return}if(!t){this.empty=!0;return}this.parseNegate(),this.globSet=[...new Set(this.braceExpand())];let i=this.globSet.map(r=>$e(this,Le,Ca).call(this,r));this.globParts=this.preprocess(i),Ue(this,zo,!0);let s=this.globParts.map((r,a,u)=>{if(this.isWindows&&this.windowsNoMagicRoot){let p=r[2]==="?"&&Hi(r[3])?6:4,y=r[0]===""&&r[1]===""&&(r[2]==="?"||!Ju.test(r[2]))&&r.slice(3,p).every(b=>!Ju.test(b)),h=/^[a-z]:/i.test(r[0]);if(y)return[...r.slice(0,p).map(b=>$e(this,Le,ji).call(this,b)),...r.slice(p).map(b=>this.parse(b))];if(h)return[$e(this,Le,ji).call(this,r[0]),...r.slice(1).map(b=>this.parse(b))]}return r.map(p=>this.parse(p))});if(this.set=s.filter(r=>r.indexOf(!1)===-1),this.isWindows)for(let r=0;r{for(let u=0;ui.length));for(let i=0;i{if(!(a[i]instanceof As||a[i]===va)||!Qg(this.globParts[u][i]))return;let p=[...this.globParts[u]];p[i]="";let y=`${a.length}/${p.join("/")}`,h=s.get(y);h?h.push(u):s.set(y,[u])});let r=new Set;for(let a of s.values()){if(a.length<2)continue;let[u,...p]=a,h=`@(${a.map(b=>this.globParts[b][i]).join("|")})`;this.globParts[u][i]=h,this.set[u][i]=this.parse(h);for(let b of p)r.add(b)}r.size&&(t=!0,this.set=this.set.filter((a,u)=>!r.has(u)),this.globParts=this.globParts.filter((a,u)=>!r.has(u)))}}}preprocess(t){if(this.options.noglobstar)for(let i of t)for(let s=0;s=2?(t=this.firstPhasePreProcess(t),t=this.secondPhasePreProcess(t)):o>=1?t=this.levelOneOptimize(t):t=this.adjascentGlobstarOptimize(t),t}adjascentGlobstarOptimize(t){return t.map(o=>{let i=-1;for(;(i=o.indexOf("**",i+1))!==-1;){let s=i;for(;o[s+1]==="**";)s++;s!==i&&o.splice(i,s-i)}return o})}levelOneOptimize(t){return t.map(o=>{let i=$e(this,Le,qs).call(this,o)+1;return o=o.reduce((s,r)=>{let a=s[s.length-1];return r==="**"&&a==="**"?s:r===".."&&s.length>i&&a&&a!==".."&&a!=="."&&a!=="**"?(s.pop(),s):(s.push(r),s)},[]),o.length===0?[""]:o})}firstPhasePreProcess(t){let{braceExpandMax:o=1e5}=this.options,i=!1;do{i=!1;for(let s of t){let r=-1;for(;(r=s.indexOf("**",r+1))!==-1;){let p=r;for(;s[p+1]==="**";)p++;p>r&&s.splice(r+1,p-r);let y=s[r+1],h=s[r+2],b=s[r+3];if(y!==".."||!h||h==="."||h===".."||!b||b==="."||b===".."||t.length>=o)continue;i=!0,s.splice(r,1);let m=s.slice(0);m[r]="**",t.push(m),r--}if(!this.preserveMultipleSlashes){for(let p=1;p1e3)return t;for(let o=0;oo.length)}partsMatch(t,o,i=!1){let s=0,r=0,a=[],u="";for(;s=0;y--)p=r[y];for(let y=0;y=0){let g=S;for(;g>0&&Gi(t.charCodeAt(g-1),o);)g--;u=g===0?0:ec(t,g-1,o)+1,a=t.slice(u,g)}let R=re(this,Un)&&(ya(s)||s===""&&a!==void 0&&ya(a));i=R?-1:1,m=!R}let w=-1;if(m&&typeof b=="string"&&(w=xu(b,s,r,a,u),w===-1))continue;if(re(this,Uo)){for(let S of re(this,Fo)[y])if(!t.includes(S))continue e}if(m&&typeof b=="object"&&(w=xu(b,s,r,a,u),w===-1))continue;let A=re(this,Bo)[y];if(A==="base"&&m)return"yes";if(A==="tail"&&m){if(re(this,Un)&&Vs(t,0,w,!0,o))return"maybe";if(!Vs(t,0,w,p,o))return"yes";continue}if(A==="mid"||A==="head"){let S=$e(this,Le,rc).call(this,t,h,A==="head",p,o);if(S!=="no")return S;continue}return"maybe"}return"no"},ic=function(t,o,i){let s=!!this.options.dot,r=t.length;if(i==="head"){if(r<2||!$n(o[0],t[0]))return!1;for(let u=1;uu&&a.testUnchecked(t.slice(u,p)))&&!Vs(t,y,t.length,s,r))return"yes";if(i||Vs(t,u,y,s,r))return"no";u=y}return"no"},ac=function(t){let o=ha;return o?.f===t&&o.isWindows===this.isWindows&&o.preserveMultipleSlashes===this.preserveMultipleSlashes&&o.normalize===re(this,Rn)?o:void 0},lc=function(t){let{isWindows:o,preserveMultipleSlashes:i}=this,s=$e(this,Le,Ca).call(this,o?t.split("\\").join("/"):t),r=re(this,Rn);return r&&(s=s.map(a=>a.normalize(r))),ha={f:t,isWindows:o,preserveMultipleSlashes:i,normalize:r,parts:s},ha},dc=function(t){let o=[...t],i=!1;do{if(i=!1,!this.preserveMultipleSlashes){for(let a=1;at.length)return!1;let b=t.length-p.length;if($e(this,Le,Lo).call(this,t,p,i,b,0))h=p.length;else{if(t[t.length-1]!==""||s+p.length===t.length||(b--,!$e(this,Le,Lo).call(this,t,p,i,b,0)))return!1;h=p.length+1}}if(!u.length){let b=!!h;for(let m=s;m{g[1]=A-S[C]});let R={head:y,body:h,tail:b,segments:m};return s[r]=R,R},ka=function(t,o,i,s,r,a,u,p,y){let h=o[r];if(!h){if(a)return s>=i||s===i-1&&t[s]==="";for(let A=s;Ae.lastIndexOf(t)===o)}function Sa(e){let t=(e||[]).filter(o=>typeof o=="string"&&o.length>0).map(o=>{let{negated:i,anchored:s,directoryOnly:r,body:a}=Jg(o);return{negated:i,directoryOnly:r,matcher:new po(a,{dot:!0,nonegate:!0,nocomment:!0,matchBase:!s&&!a.includes("/")})}});return(o,i=!1)=>{let s=(o||"").replace(/^\/+/,"");if(!s)return!1;let r=s.split("/"),a=r.slice(0,-1).map((p,y)=>r.slice(0,y+1).join("/")),u=i;for(let p of t){if(p.negated?!u:u)continue;(p.directoryOnly?a:[...a,s]).some(h=>p.matcher.match(h))&&(u=!p.negated)}return u}}var rJ=new Set("^$\\.*+?()[]{}|/dDsSwWbBnrtvf0cxupP".split(""));function Na(e){let t=e.indexOf("=>");if(t<0)return{term:e,replacement:null};let o=e.slice(0,t).replace(/\s+$/,""),i=e.slice(t+2).replace(/^\s+/,"");return o?{term:o,replacement:i}:{term:e,replacement:null}}var pc=new Set(["*","+","?","(",")","[","]","{","}","|","^","$"]);function fc(e){let t=[];return String(e||"").split(` -`).forEach((o,i)=>{let{term:s}=Na(o.trim());if(!s)return;let r=[];for(let a=0;a{let t=e.target;if(!t||t.tagName!=="IMG"||t.dataset.failed||!t.closest?.(".markdown-body, .anonymize-preview-body"))return;t.dataset.failed="1";let o=window.document.createElement("span"),i=parseInt(t.getAttribute("width"),10)||0,s=parseInt(t.getAttribute("height"),10)||0;o.className=i>=200||s>=120?"img-unavailable is-large":"img-unavailable",o.textContent="Image unavailable",o.title=t.alt?"Image unavailable: "+t.alt.replace(/\bXXXX-(\d+)\b/g,"[redacted term $1]"):"Image unavailable",o.setAttribute("role","img"),o.setAttribute("aria-label",o.title),t.replaceWith(o)},!0);function Ra(e){let t=e?.data;if(typeof t=="string")try{t=JSON.parse(t)}catch{t=null}return typeof t?.error=="string"&&Object.prototype.hasOwnProperty.call(fo.ERRORS,t.error)?t.error:e?.status===-1||e?.status===0?"request_error":[502,503,504].includes(e?.status)?"unreachable":"unknown_error"}var Wi="XXXX",xg=e=>{Wi=e||"XXXX"},ev=(e=Wi)=>{if(!e)return null;let t=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return new RegExp(t+"(?:-\\d+)?","g")},mc=(e,t=Wi)=>{let o=ev(t);if(!o||!e||!e.textContent.includes(t))return;let i=e.ownerDocument,s=i.createTreeWalker(e,NodeFilter.SHOW_TEXT),r=[];for(;s.nextNode();)r.push(s.currentNode);for(let a of r){let u=a.nodeValue,p=a.parentElement;if(!u.includes(t)||!p||p.closest("script, style, mark.redaction, .mermaid"))continue;let y=p.closest('code[class*="language-"]');if(y&&!y.contains(e))continue;let h=i.createDocumentFragment(),b=0;for(let m of u.matchAll(o)){h.append(u.slice(b,m.index));let w=i.createElement("mark");w.className="redaction",w.title="Redacted by Anonymous GitHub",w.textContent=m[0],h.append(w),b=m.index+m[0].length}h.append(u.slice(b)),a.replaceWith(h)}},ho=/\bXXXX-\d+\b/g,Vi=function(e){if(!e||e.indexOf("XXXX-")===-1||typeof window.DOMParser!="function")return e;let t=new window.DOMParser().parseFromString("
"+e+"
","text/html"),o=t.createTreeWalker(t.body,4),i=[];for(;o.nextNode();)ho.lastIndex=0,!o.currentNode.parentElement?.closest("pre code")&&ho.test(o.currentNode.nodeValue)&&i.push(o.currentNode);for(let s of i){ho.lastIndex=0;let r=t.createDocumentFragment(),a=0,u,p=s.nodeValue;for(;u=ho.exec(p);){r.appendChild(t.createTextNode(p.slice(a,u.index)));let y=t.createElement("mark");y.className="redact-chip",y.setAttribute("title","Redacted term "+u[0].slice(5)+" \u2014 the same term everywhere in this snapshot");let h=u[0].slice(5);y.textContent="";let b=t.createElement("i");b.textContent=h,y.appendChild(b),y.dataset.term=u[0],y.setAttribute("aria-label","Redacted term "+h);let m=/^[.,;:!?)\]]+/.exec(p.slice(u.index+u[0].length));if(m){let w=t.createElement("span");w.className="redact-glue",w.appendChild(y),w.appendChild(t.createTextNode(m[0])),r.appendChild(w),a=u.index+u[0].length+m[0].length}else r.appendChild(y),a=u.index+u[0].length}r.appendChild(t.createTextNode(p.slice(a))),s.parentNode.replaceChild(r,s)}return t.body.firstChild.innerHTML},gc=()=>{window.Prism?.hooks&&!window.Prism.redactionHook&&(window.Prism.hooks.add("complete",e=>{mc(e.element),e.element.querySelectorAll?.("mark.redaction").forEach(t=>{let o=/^XXXX-(\d+)$/.exec(t.textContent);if(!o)return;t.className="redact-chip",t.setAttribute("title","Redacted term "+o[1]+" \u2014 the same term everywhere in this snapshot"),t.setAttribute("aria-label","Redacted term "+o[1]),t.dataset.term=o[0],t.style.setProperty("--slot-ch",o[0].length+"ch"),t.textContent="";let i=t.ownerDocument.createElement("span");i.className="redact-src",i.textContent=o[0].slice(0,o[0].length-o[1].length),t.appendChild(i);let s=t.ownerDocument.createElement("i");s.textContent=o[1],t.appendChild(s)})}),window.Prism.redactionHook=!0)},vc=(e,t=Wi)=>{if(!e||!t||!e.includes(t))return e;let o=new DOMParser().parseFromString(""+e+"","text/html");return mc(o.body,t),o.body.innerHTML};async function Da(e){if(window.navigator.clipboard?.writeText){await window.navigator.clipboard.writeText(e);return}let t=document.createElement("textarea");t.value=e,t.setAttribute("readonly",""),t.style.position="fixed",t.style.opacity="0";let o=document.activeElement;document.body.appendChild(t);try{if(t.select(),!document.execCommand?.("copy"))throw Error("Copy unavailable")}finally{t.remove(),o?.focus()}}function tv(e){if(!["ArrowLeft","ArrowRight","Home","End"].includes(e.key))return;let t=[...e.currentTarget.closest('[role="tablist"]').querySelectorAll('[role="tab"]')],o=t.indexOf(e.currentTarget),i=e.key==="Home"?0:e.key==="End"?t.length-1:(o+(e.key==="ArrowRight"?1:-1)+t.length)%t.length;e.preventDefault(),t[i]?.focus(),t[i]?.click()}var yc=function(e,t,o,i){e.previewTabKeydown=tv,e.headerCanUpgrade=!1,e.headerShowSupport=!1,e.headerBillingPending=new URLSearchParams(window.location.search).get("billing")==="success";let s=R=>{e.headerShowSupport=!(R?.grants||[]).some(C=>["active","paid","past_due"].includes(C.status)&&new Date(C.until).getTime()>Date.now());let g=(R?.grants||[]).some(C=>["author_monthly","author_annual"].includes(C.planId)&&["active","paid","past_due"].includes(C.status)&&new Date(C.until).getTime()>Date.now());e.headerCanUpgrade=!!R?.enabled&&R.checkoutEnabled!==!1&&!g&&(R.plans||[]).some(C=>["author_monthly","author_annual"].includes(C.id))};e.on("billing:updated",(R,g)=>s(g)),e.on("billing:pending",(R,g)=>{e.headerBillingPending=g}),e.openHeaderUpgrade=()=>{o.path()==="/profile"?e.emit("settings:upgrade"):o.url("/profile?upgrade=1")};let r=Jt(),a=Tt(),u=!1,p=()=>{u=!1;let R=document.querySelector("nav.navbar.navbar-expand-lg");if(!R||(R.classList.remove("nav-fit-1","nav-fit-2"),window.innerWidth<992))return;let g=R.querySelector(".navbar-collapse"),C=()=>R.scrollWidth>R.clientWidth+1||!!g&&g.scrollWidth>g.clientWidth+1;C()&&R.classList.add("nav-fit-1"),C()&&R.classList.add("nav-fit-2")},y=()=>{u||(u=!0,Je(()=>a.timeout(p,0)))};r(window,"resize",y),e.on("routeChange",y),e.on("billing:updated",y),document.fonts?.ready&&document.fonts.ready.then(y).catch(()=>{}),e.title="Main",e.user={status:"connection"},e.site_options,e.toasts=[],e.removeToast=function(R){let g=e.toasts.indexOf(R);g!==-1&&e.toasts.splice(g,1)},e.addToast=function(R){return e.toasts.push(R),i(function(){e.removeToast(R)},8e3),R};let h=/^\/(r|repository|pr|gist)\//;e.path=o.url(),e.paths=o.path().substring(1).split("/"),e.isReviewerRoute=h.test(o.path()),e.darkMode=function(R){localStorage.setItem("darkMode",R),e.isDarkMode=R;let g="/css/prism.css";if($("link[href='/css/prism-okaidia.css']").remove(),R)$("body").addClass("dark-mode"),$(`link[href='${g}']`).remove();else if($("body").removeClass("dark-mode"),!document.querySelector(`link[href='${g}']`)){let C=document.createElement("link");C.href=g,C.rel="stylesheet",document.head.append(C)}e.emit("dark-mode",R)},e.darkMode(localStorage.getItem("darkMode")=="true"),e.emailPromptOpen=!1,e.emailPromptAddress="",e.emailPromptBusy=!1,e.emailPromptError="";let b;e.respondToEmailPrompt=async R=>{if(!e.emailPromptBusy){e.emailPromptBusy=!0,e.emailPromptError="";try{let g=await t.post("/github/connections/email",{action:R,email:e.emailPromptAddress},{headers:{"X-CSRF-Token":e.user.emailPromptCSRF}});R==="save"&&(e.user.notificationEmail=g.data.notificationEmail),e.emailPromptOpen=!1,e.user.showEmailPrompt=!1,b?.focus()}catch(g){e.emailPromptError=g.data?.error||"Unable to save your preference. Please try again."}finally{e.emailPromptBusy=!1}}};function m(){t.get("/api/user").then(R=>{R&&(e.user=R.data),y(),e.user?.username?Pi(t).then(g=>s(g.data)).catch(()=>{}):e.headerShowSupport=!0,e.user?.emailNotificationsEnabled&&e.user.showEmailPrompt&&!e.user.notificationEmail&&(b=document.activeElement,e.emailPromptOpen=!0,i(()=>{let g=document.getElementById("email-prompt");g?.showModal?g.showModal():g?.setAttribute("open",""),document.getElementById("email-prompt-address")?.focus()},0))},()=>{e.user=null,e.headerShowSupport=!0})}m();function w(){t.get("/api/options").then(R=>{R&&(e.site_options=R.data),xg(R?.data?.ANONYMIZATION_MASK),e.emit("site-options")},()=>{e.site_options=null})}w();function A(){t.get("/api/message").then(R=>{R&&(e.generalMessage=R.data)},()=>{e.generalMessage=null})}A();function S(R,g){g&&(e.title=g.title),e.path=o.url(),e.paths=o.path().substring(1).split("/"),e.isReviewerRoute=h.test(o.path())}e.on("routeChange",S),e.on("routeUpdate",S)},bc=function(e,t){let o=Jt(),i=Tt();e.faqQuery="",e.faqResults=0;let s=a=>(a||"").toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/\s+/g," ");e.filterFaq=()=>{let a=s(e.faqQuery).trim().split(" ").filter(Boolean),u=0;document.querySelectorAll(".faq-section .panel-group").forEach(p=>{let y=0;p.querySelectorAll(":scope > .panel").forEach(m=>{let w=m.dataset.faqText||(m.dataset.faqText=s(m.textContent)),A=a.every(S=>w.includes(S));m.classList.toggle("faq-hit",a.length>0&&A),m.hidden=a.length>0&&!A,A&&y++});let h=a.length>0&&y===0;p.hidden=h;let b=p.previousElementSibling;b?.classList.contains("faq-cat")&&(b.hidden=h),u+=y}),e.faqResults=a.length?u:0},e.clearFaqSearch=()=>{e.faqQuery="",e.filterFaq(),document.getElementById("faq-search-input")?.focus()};let r=()=>{let a=window.location.hash.slice(1),u=document.getElementById(a);if(!u?.classList.contains("panel-collapse"))return;$(u).collapse("show");let p=document.getElementById(u.getAttribute("aria-labelledby"));p?.setAttribute("tabindex","-1"),p?.focus({preventScroll:!0}),p?.scrollIntoView?.({block:"start"})};e.on("routeUpdate",()=>i.timeout(r,0)),o(window,"hashchange",r),i.timeout(r,0)},wc=function(e,t,o,i,s){e.settingsTab=/(?:billing|upgrade)=/.test(window.location.search)?"billing":"defaults",e.confirmDeleteAccount=!1,e.deleteUsername="",e.profilePastSubscription=()=>!e.profileAuthorGrant()&&(e.billing?.grants||[]).some(h=>["author_monthly","author_annual"].includes(h.planId)),e.showAuthorPlans=new URLSearchParams(window.location.search).get("upgrade")==="1",e.showRepositoryPass=!1,e.profilePlan="author_annual",e.openProfileUpgrade=()=>{e.settingsTab="billing",e.showAuthorPlans=!0,Je(()=>document.getElementById("settings-plan-comparison")?.focus())},e.on("settings:upgrade",()=>e.openProfileUpgrade()),e.profileAuthorPlans=()=>(e.billing?.plans||[]).filter(h=>["author_monthly","author_annual"].includes(h.id)),e.profileSelectedPlan=()=>e.profileAuthorPlans().find(h=>h.id===e.profilePlan)||e.profileAuthorPlans()[0],e.profilePassPlan=()=>(e.billing?.plans||[]).find(h=>h.id==="author_pass"),e.profileAddonPlans=()=>(e.billing?.plans||[]).filter(h=>Ti(h.id)).sort((h,b)=>+(b.id==="repo_pack")-+(h.id==="repo_pack")),e.profileAddonId="repo_pack",e.profilePackPlan=()=>(e.billing?.plans||[]).find(h=>h.id==="repo_pack"),e.profileSlotPlan=()=>(e.billing?.plans||[]).find(h=>h.id==="repo_slot"),e.profileRepositories=()=>(e.billing?.repositories||[]).filter(h=>h.status!=="removed"),e.openProfileAddon=h=>{h&&(e.profileAddonId=h),e.showRepositoryPass=!0,e.billingRepository="",Je(()=>{let b=document.getElementById("settings-addons-title");b?.scrollIntoView?.({block:"nearest",behavior:"smooth"}),b?.focus?.({preventScroll:!0})})};let r=["repo_slot","author_pass","repo_extend","repo_never"];e.profileSingleAddons=()=>e.profileAddonPlans().filter(h=>h.id!=="repo_pack").sort((h,b)=>r.indexOf(h.id)-r.indexOf(b.id)),e.profileSingleId="repo_slot",e.profileSingleAddon=()=>e.profileSingleAddons().find(h=>h.id===e.profileSingleId)||e.profileSingleAddons()[0],e.profileCheapestAddon=()=>[...e.profileSingleAddons()].sort((h,b)=>(h.amount??1/0)-(b.amount??1/0))[0],e.profileAuthorPlansByValue=()=>[...e.profileAuthorPlans()].sort((h,b)=>+(h.interval==="year")-+(b.interval==="year")),e.profilePackSummary=h=>h.parts.map(b=>b.planId==="repo_slot"?"Extra repository":`${e.profileGrantName(b)} until ${e.billingDate(b.until)}`).join(" \xB7 "),e.profileAddonFeatures=h=>({repo_pack:["One more repository, outside your free ones",`Its own ${e.billingBytes(e.profileSlotPlan()?.storage||e.profilePassPlan()?.storage)} of storage`,"Automatic updates for 180 days","Online for up to a year","No subscription"],repo_slot:["One more repository, outside your free ones",`Its own ${e.billingBytes(e.profileSlotPlan()?.storage)} of storage`,"Valid while the repository exists","Refresh it by hand"],author_pass:["Automatic updates for 180 days",`Its own ${e.billingBytes(e.profilePassPlan()?.storage)} of storage`,"No subscription"],repo_extend:["Online for up to one more year","Buy again to add another year","No subscription"],repo_never:["The link never expires","No subscription","Ends only if the payment is refunded"]})[h]||[],e.profileAddonBlurb=h=>({repo_slot:"One more repository",author_pass:"Auto-updates for 180 days",repo_extend:"Online one more year",repo_never:"The link never expires"})[h]||"",e.profileAuthorPurchase=()=>(e.billing?.purchases||[]).find(h=>h.recurring&&["active","overdue"].includes(h.status)),e.profileRepositoryExpiry=h=>h.status==="expired"?"expired":h.expirationMode==="never"?"never expires":h.expirationDate?"expires "+e.billingDate(h.expirationDate):"no date",e.profileAnnualSavings=()=>{let h=e.profileAuthorPlans().find(m=>m.interval==="month")?.amount,b=e.profileAuthorPlans().find(m=>m.interval==="year")?.amount;return h&&b&&b(e.billing?.purchases||[]).filter(b=>["active","overdue"].includes(b.status)===h),e.profilePurchaseStatus=h=>({active:"Active",overdue:"Payment overdue",ended:"Ended",refunded:"Refunded",disputed:"Disputed"})[h.status]||h.status,e.profilePurchaseTerm=h=>{let b=h.status&&!["active","overdue"].includes(h.status);if(h.recurring)return b?h.until?"Ended "+e.billingDate(h.until):"":(h.cancelAtPeriodEnd?"Ends ":"Renews ")+e.billingDate(h.until);if(h.planId==="repo_pack"){let m=h.parts.map(w=>w.until).filter(Boolean).map(w=>new Date(w).getTime());return b||!m.length?"":"Until "+e.billingDate(new Date(Math.max(...m)))}return h.until?(b||new Date(h.until).getTime()e.profileAddonPlans().find(h=>h.id===e.profileAddonId)||e.profileAddonPlans()[0],e.profileAuthorGrant=()=>(e.billing?.grants||[]).find(h=>["author_monthly","author_annual"].includes(h.planId)&&["active","paid","past_due"].includes(h.status)&&new Date(h.until).getTime()>Date.now()),e.profileConferencePlan=()=>(e.billing?.plans||[]).filter(h=>["conference_workshop","conference","conference_large"].includes(h.id)&&h.amount!=null).sort((h,b)=>h.amount-b.amount)[0],e.profileGrantName=h=>({author_monthly:"Author monthly",author_annual:"Author annual",author_pass:"Live updates",repo_extend:"Extended expiration",repo_never:"Never expire",repo_slot:"Extra repository",repo_pack:"Paper pack",conference:"Conference package",conference_workshop:"Workshop package",conference_large:"Large conference package"})[h.planId]||h.planId,Oi(e,t,()=>s.load().then(h=>{e.quota=h},console.error),{portalMessage:()=>{let h=e.profileAuthorGrant();return h?h.cancelAtPeriodEnd?`Renewal cancelled. Your access continues until ${e.billingDate(h.until)}.`:`Your subscription renews on ${e.billingDate(h.until)}.`:"Your billing details are up to date."}}),e.terms="",e.options={expirationMode:"remove",update:!1,image:!0,pdf:!0,notebook:!0,loc:!0,link:!0},e.saving=!1,e.message=null,e.error=null,e.accountEmail="",e.emailLoading=!0,e.emailCSRFReady=!1,e.emailSaving=!1,e.emailSaved=!1,e.emailError="";let a="";e.loadAccountEmail=async()=>{e.emailLoading=!0,e.emailError="";try{let h=await t.get("/github/connections/email");e.accountEmail=h.data.notificationEmail||"",a=h.data.csrf,e.emailCSRFReady=!!a}catch{e.emailError="Unable to load your email address. Please try again."}finally{e.emailLoading=!1}},e.saveAccountEmail=async()=>{if(!(e.emailSaving||e.emailLoading||!a)){e.emailSaving=!0,e.emailSaved=!1,e.emailError="";try{let h=await t.post("/github/connections/email",{email:e.accountEmail},{headers:{"X-CSRF-Token":a}});e.accountEmail=h.data.notificationEmail,e.user&&(e.user.notificationEmail=h.data.notificationEmail),e.emailSaved=!0}catch{e.emailError="Unable to save your email address. Check the address and try again."}finally{e.emailSaving=!1}}},e.loadAccountEmail(),s.load().then(h=>{e.quota=h},console.error);let u=Qr(e,["terms","options"],"profile");e.discardDraft=()=>u.discard();function p(){t.get("/api/user/default").then(h=>{let b=h.data||{};b.terms&&(e.terms=b.terms.join(` +`)}),Su=(e,t=0)=>{let o=(String(e).slice(t).match(/^[ \t]*/)[0]||"").replace(/\t/g," ").length;return Math.min(t+o+4,24)},Cs=e=>{e?.closest?.(".reviewer-preview")&&e.querySelectorAll("pre code").forEach(t=>{let o=t.querySelectorAll(".md-diff-line");if(o.length){o.forEach(s=>{s.classList.contains("is-hunk")||s.style.setProperty("--hang",Su(s.textContent,1)+"ch")});return}if(t.querySelector(".code-line"))return;let i=[];t.innerHTML=t.innerHTML.replace(/\n$/,"").split(` +`).map(s=>{let r=i.join("");s.replace(/<\/?span\b[^>]*>/g,u=>(u.startsWith("]+>/g,"");return`${r}${s||" "}${"".repeat(i.length)}`}).join(` +`)})},Du={props:["content","terms","options"],setup(e){let t=Et(null),o=()=>{t.value.innerHTML=renderMD(e.content||"",window.location.pathname+"/../"),Ru(t.value),Cs(t.value)};return ln(()=>{o(),it(()=>[e.content,e.terms,e.options],o,{deep:!0})}),()=>Te("markdown",{ref:t})}},ng={props:["file","terms","options"],setup(e){let t=Et(null),o=()=>xe(()=>{t.value?.querySelectorAll("pre code").forEach(i=>window.Prism?.highlightElement(i)),Ru(t.value),Cs(t.value)});return ln(o),it(()=>[e.file?.content,e.terms,e.options],o,{deep:!0}),()=>{let i=e.file||{},s=(i.filename||"").split(".").pop().toLowerCase();if(["md","markdown"].includes(s)||i.language==="Markdown")return Te("gist-file",{ref:t},Te(Du,{content:i.content,terms:e.terms,options:e.options}));let r={js:"javascript",jsx:"javascript",ts:"javascript",typescript:"javascript",py:"python",html:"markup",xml:"markup",svg:"markup",sh:"bash"},a=(i.language||s||"none").toLowerCase();return Te("gist-file",{ref:t},Te("pre",{class:"line-numbers"},Te("code",{class:"language-"+(r[a]||a),key:i.content},i.content||"")))}}},og=e=>e?.querySelectorAll(".nb-input pre").forEach(t=>{if(t.parentElement?.classList.contains("nb-code-scroll"))return;let o=document.createElement("div");o.className="nb-code-scroll",t.replaceWith(o),o.appendChild(t);let i=()=>{let s=t.scrollWidth-t.clientWidth>1;if(o.classList.toggle("is-overflowing",s),o.classList.toggle("is-at-end",s&&t.scrollLeft+t.clientWidth>=t.scrollWidth-2),!s)return;let r=t.clientWidth-16,a=Math.max(24,r*t.clientWidth/t.scrollWidth);o.style.setProperty("--thumb-w",a+"px"),o.style.setProperty("--thumb-x",(r-a)*t.scrollLeft/(t.scrollWidth-t.clientWidth)+"px")};t.addEventListener("scroll",i,{passive:!0}),window.ResizeObserver?new ResizeObserver(i).observe(t):i(),i()}),sg={props:["file","content"],setup(e){let t=Et(null),o=0,i,s=async()=>{let r=++o;i?.abort(),i=new AbortController;try{let a=e.content?JSON.parse(e.content):await fetch(e.file?.download_url||e.file,{signal:i.signal}).then(u=>{if(!u.ok)throw Error("Notebook request failed");return u.json()});if(await Bn("notebook"),r!==o)return;t.value.innerHTML=_i(DOMPurify.sanitize(nb.parse(a).render())),t.value.querySelectorAll("pre code").forEach(u=>window.Prism?.highlightElement(u)),og(t.value)}catch(a){r===o&&a.name!=="AbortError"&&(t.value.textContent="Unable to render the notebook.")}};return ln(()=>{s(),it(()=>[e.file,e.content],s)}),Qn(()=>{o++,i?.abort()}),()=>Te("notebook",{ref:t})}},ig={props:["stats"],setup(e){return()=>{let t=Object.entries(e.stats||{}).filter(([,i])=>i.code),o=t.reduce((i,[,s])=>i+s.code,0);return Te("loc",t.map(([i,s])=>Te("div",{class:"lang",title:`${i}: ${s.code.toLocaleString()} lines`,style:{width:s.code*100/o+"%",background:langColors[i]}})))}}},Au={Markdown:Du,GistFile:ng,Notebook:sg,Loc:ig,HtmlDoc:ku,QuotaUsage:eg,Pdfviewer:ql(async()=>(await Bn("pdf"),pdfjsLib.GlobalWorkerOptions.workerSrc="/script/external/pdf.worker.js",Cu))},Tu={async mounted(e,{value:t}){e._editorValue=t;try{if(await Us(),e._editorDisposed)return;let o=e._editorValue,i=ace.edit(e);e._editor=i,i.setValue(String(o.content??""),-1),Nu(e,o.options),e._editorCleanup=o.options?.onLoad?.(i)}catch(o){e._editorDisposed||(e.textContent=o.message)}},updated(e,{value:t}){e._editorValue=t,e._editor&&(e._editor.getValue()!==String(t.content??"")&&e._editor.setValue(String(t.content??""),-1),Nu(e,t.options))},beforeUnmount(e){e._editorDisposed=!0,e._editorCleanup?.(),e._editor?.destroy()}};function Nu(e,t={}){let o=tg.has(t.mode)?t.mode:"text";e._editor.session.setMode("ace/mode/"+o),t.theme&&e._editor.setTheme("ace/theme/"+t.theme),e._editor.setReadOnly(t.readOnly!==!1)}var Pu={mounted(e){if(!window.IntersectionObserver)return;let t=[...e.querySelectorAll('a[href^="#"]')],o=new Set,i=new IntersectionObserver(s=>{s.forEach(a=>a.isIntersecting?o.add(a.target.id):o.delete(a.target.id));let r=t.find(a=>o.has(a.hash.slice(1)));r&&t.forEach(a=>a.classList.toggle("active",a===r))},{rootMargin:"-20% 0px -60% 0px",threshold:0});xe(()=>{t.forEach(s=>{let r=document.getElementById(s.hash.slice(1));r&&i.observe(r)}),t[0]&&!t.some(s=>s.classList.contains("active"))&&t[0].classList.add("active")}),e._observer=i},beforeUnmount(e){e._observer?.disconnect()}};var ea=(e,t,o)=>{let i=e instanceof RegExp?Ou(e,o):e,s=t instanceof RegExp?Ou(t,o):t,r=i!==null&&s!=null&&rg(i,s,o);return r&&{start:r[0],end:r[1],pre:o.slice(0,r[0]),body:o.slice(r[0]+i.length,r[1]),post:o.slice(r[1]+s.length)}},Ou=(e,t)=>{let o=t.match(e);return o?o[0]:null},rg=(e,t,o)=>{let i,s,r,a,u,p=o.indexOf(e),y=o.indexOf(t,p+1),h=p;if(p>=0&&y>0){if(e===t)return[p,y];for(i=[],r=o.length;h>=0&&!u;){if(h===p)i.push(h),p=o.indexOf(e,h+1);else if(i.length===1){let b=i.pop();b!==void 0&&(u=[b,y])}else s=i.pop(),s!==void 0&&s=0?p:y}i.length&&a!==void 0&&(u=[r,a])}return u};var Iu="\0SLASH"+Math.random()+"\0",Mu="\0OPEN"+Math.random()+"\0",sa="\0CLOSE"+Math.random()+"\0",_u="\0COMMA"+Math.random()+"\0",Vu="\0PERIOD"+Math.random()+"\0",ag=new RegExp(Iu,"g"),lg=new RegExp(Mu,"g"),dg=new RegExp(sa,"g"),ug=new RegExp(_u,"g"),cg=new RegExp(Vu,"g"),pg=/\\\\/g,fg=/\\{/g,hg=/\\}/g,mg=/\\,/g,gg=/\\\./g,vg=1e5,yg=4e6,bg=1e3,wg=1e3;function ta(e){return isNaN(e)?e.charCodeAt(0):parseInt(e,10)}function kg(e){return e.replace(pg,Iu).replace(fg,Mu).replace(hg,sa).replace(mg,_u).replace(gg,Vu)}function Cg(e){return e.replace(ag,"\\").replace(lg,"{").replace(dg,"}").replace(ug,",").replace(cg,".")}function na(e,t){for(let o=0;o=t}function Es(e,t,o,i,s,r){let a=[],u=0;for(let p=0;p=i)return a;let h=e[p]+t+o[y];if(!(r&&!h)){if(u+h.length>s)return a;a.push(h),u+=h.length}}return a}function Ag(e,t,o,i){let s=e.split(/\.\./),r=[];if(s[0]===void 0||s[1]===void 0)return r;let a=ta(s[0]),u=ta(s[1]),p=Math.max(s[0].length,s[1].length),y=s.length===3&&s[2]!==void 0?Math.max(Math.abs(ta(s[2])),1):1,h=Rg;u0){let g=new Array(R+1).join("0");A<0?S="-"+g+S.slice(1):S=g+S}}if(w+S.length>i)break;r.push(S),w+=S.length}return r}function oa(e,t,o,i,s,r,a){if(s>i)return[e];let u=[""],p=0,y=!1,h=!0;for(;;){let b=ea("{","}",e);if(!b)return Es(u,e,[""],t,o,y);let m=b.pre;if(/\$$/.test(m)){if(u=Es(u,m+"{"+b.body+"}",[""],t,o,y&&!b.post.length),h=!1,!b.post.length)break;e=b.post;continue}let w=/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(b.body),A=/^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(b.body),S=w||A,R=b.body.indexOf(",")>=0;if(!S&&!R){if(p=t||V+Y.length>o)break e;g.push(Y),V+=Y.length}}}}if(u=Es(u,m,g,t,o,y&&!b.post.length),!b.post.length)break;e=b.post}return u}var Tg={"[:alnum:]":["\\p{L}\\p{Nl}\\p{Nd}"],"[:alpha:]":["\\p{L}\\p{Nl}"],"[:ascii:]":["\\x00-\\x7f"],"[:blank:]":["\\p{Zs}\\t"],"[:cntrl:]":["\\p{Cc}"],"[:digit:]":["\\p{Nd}"],"[:graph:]":["\\p{Z}\\p{C}",!0],"[:lower:]":["\\p{Ll}"],"[:print:]":["\\p{C}",!0],"[:punct:]":["\\p{P}\\p{S}"],"[:space:]":["\\p{Z}\\t\\r\\n\\v\\f"],"[:upper:]":["\\p{Lu}"],"[:word:]":["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}"],"[:xdigit:]":["A-Fa-f0-9"]},Ss=e=>e.replace(/[[\]\\-]/g,"\\$&"),ia=/$./,$u=(e,t,o=!1,i)=>{let s=g=>{let C=i?g.normalize(i):g;return[...C].length===1?C:g},r=t;if(e.charAt(r)!=="[")throw new Error("not in a brace expression");let a=[],u=[],p=r+1,y=!1,h=!1,b=!1,m=r,w="";e:for(;pw.codePointAt(0)?a.push(Ss(w)+"-"+Ss(C)):C===w&&a.push(Ss(C)),w="",p+=g.length;continue}if(e.startsWith("-]",p+g.length)){a.push(Ss(C+"-")),p+=g.length+1;continue}if(e.startsWith("-",p+g.length)){w=C,p+=g.length+1;continue}a.push(Ss(C)),p+=g.length}if(m({t:"lit",ch:e}),Og=e=>e.replace(/[\\^$.*+?()[\]{}|/]/g,"\\$&"),Bu=e=>new RegExp(`^${Og(e)}$`,"iu"),Vi=new Map,zu=e=>{let t=Vi.get(e);return t||(t=Bu(e),Vi.size>=1e3&&Vi.clear(),Vi.set(e,t)),t},pa=(e,t)=>{if(t===e.ch)return!0;if(!e.re)return!1;let o=t.charCodeAt(0);if(o>=128)return e.re.test(t);let i=e.ascii??(e.ascii=new Uint8Array(128));return i[o]||(i[o]=e.re.test(t)?1:2),i[o]===1},Ig=(e,t,o,i)=>{let s=[];for(let r=0;r{let t=new Map,o=[];return e.forEach((i,s)=>{i.t==="open"?o.push(s):i.t==="close"&&o.length&&t.set(o.pop(),s)}),t},Hu=(e,t,o,i,s)=>{let r=[],a=[r];for(let u=o;u{let o=[],i="",s=()=>{for(let r of i.normalize(t))o.push(no(r));i=""};for(let r of e){if(r.t==="lit"){i+=r.ch;continue}s(),o.push(r.t==="ext"?{...r,alts:r.alts.map(a=>ju(a,t))}:r)}return s(),o},_g=(e,t)=>{let o=1,i=u=>({t:"split",id:o++,out:u}),s=(u,p)=>u.reduceRight((y,h)=>r(h,y),p),r=(u,p)=>{switch(u.t){case"lit":let m=t?zu(u.ch):void 0;return{t:"lit",id:o++,ch:u.ch,re:m,next:p};case"any":case"star":return{t:u.t,id:o++,next:p};case"class":return{t:"class",id:o++,re:u.re,next:p}}let y=m=>u.alts.map(w=>s(w,m));switch(u.type){case"@":return i(y(p));case"?":return i([p,...y(p)]);case"!":return{t:"neg",id:o++,sub:i(y(ra)),next:p}}let h=i([]),b=i(y(h));return h.out.push(p,b),u.type==="*"?h:b};return[s(e,ra),o]},Vg=e=>{let t=[],o=new Set,i=r=>r.t==="match"?"match":String(r.id),s=(r,a)=>{if(r.t==="match"||o.has(r))return;o.add(r);let u=p=>t.push(`${a}${r.id}: ${p}`);switch(r.t){case"split":u(`split -> ${r.out.map(i).join(", ")}`);for(let p of r.out)s(p,a);return;case"neg":return u(`!(${i(r.sub)}) -> ${i(r.next)}`),s(r.sub,a+" "),s(r.next,a);case"lit":u(`${JSON.stringify(r.ch)} -> ${i(r.next)}`);break;case"class":u(`${r.re} -> ${i(r.next)}`);break;default:u(`${r.t==="any"?"?":"*"} -> ${i(r.next)}`)}s(r.next,a)};return s(e,""),[`start -> ${i(e)}`,...t].join(` +`)},aa=class{constructor(t){Je(this,"gen");Je(this,"threads",[]);Je(this,"match",!1);Je(this,"runs",[]);Je(this,"ids",[]);this.gen=t}get dead(){return!this.threads.length&&!this.match&&!this.runs.length}},Gu=(e,t)=>e.ids.length!==t.ids.length||e.runs.length!==t.runs.length||e.ids.some((o,i)=>o!==t.ids[i])?!1:e.runs.every(o=>t.runs.some(i=>i.neg===o.neg&&Gu(i.state,o.state))),Lu=e=>({has:new Float64Array(e),seen:new Float64Array(e),gen:0}),oo,_n,la,da,Rs=class{constructor(t,o,i){qe(this,_n);Je(this,"dots");Je(this,"dotStart");qe(this,oo);this.dots=t,this.dotStart=o,Ue(this,oo,i)}state(){return new aa(++ae(this,oo).gen)}done(t){return t.ids=t.threads.map(o=>o.id).sort((o,i)=>o-i),t.match&&t.ids.unshift(ra.id),t}restricted(t,o){return o&&(this.dots||this.dotStart&&t===0)}add(t,o,i,s){switch(o.t){case"split":if(!$e(this,_n,la).call(this,t,o))return;for(let a of o.out)this.add(t,a,i,s);return;case"neg":if(!$e(this,_n,la).call(this,t,o))return;let r=this.state();return this.add(r,o.sub,i,!1),this.done(r),this.addRun(t,{t:"run",neg:o,state:r},i,s);case"star":if(this.restricted(i,s))return;$e(this,_n,da).call(this,t,o)&&this.add(t,o.next,i,s);return;case"match":t.match=!0;return;default:$e(this,_n,da).call(this,t,o)}}addRun(t,o,i,s){for(let r of t.runs)if(r.neg===o.neg&&Gu(r.state,o.state))return;t.runs.push(o),o.state.match||this.add(t,o.neg.next,i,s)}step(t,o,i,s){let r=this.state();for(let a of t.threads)switch(a.t){case"lit":pa(a,o)&&this.add(r,a.next,i+1,s);break;case"any":this.restricted(i,s)||this.add(r,a.next,i+1,s);break;case"class":!this.restricted(i,s)&&a.re.test(o)&&this.add(r,a.next,i+1,s);break;case"star":this.restricted(i,s)||this.add(r,a,i+1,s)}if(!this.restricted(i,s))for(let a of t.runs){if(a.state.dead){this.addRun(r,a,i+1,s);continue}let u=this.step(a.state,o,i,!1);this.addRun(r,{t:"run",neg:a.neg,state:u},i+1,s)}return this.done(r)}};oo=new WeakMap,_n=new WeakSet,la=function(t,o){let{seen:i}=ae(this,oo);return i[o.id]===t.gen?!1:(i[o.id]=t.gen,!0)},da=function(t,o){let{has:i}=ae(this,oo);return i[o.id]===t.gen?!1:(i[o.id]=t.gen,t.threads.push(o),!0)};var Wu=e=>{let t=e.ids.join();if(!e.runs.length)return t;let o=e.runs.map(i=>`${i.neg.id}(${Wu(i.state)})`);return`${t}|${o.sort().join("|")}`},qg=1<<18,Oo,Io,Tn,so,Pn,On,In,Zt,ca,$i,Ku,ua=class{constructor(t,o){qe(this,Zt);qe(this,Oo);qe(this,Io,new Map);qe(this,Tn,0);qe(this,so);qe(this,Pn);qe(this,On);qe(this,In);Ue(this,Oo,t),Ue(this,On,new Rs(!1,!1,o)),Ue(this,In,new Rs(!1,!0,o))}start(t){if(t){if(ae(this,Pn))return ae(this,Pn);let i=ae(this,In).state();return ae(this,In).add(i,ae(this,Oo),0,!0),Ue(this,Pn,$e(this,Zt,ca).call(this,ae(this,In).done(i)))}if(ae(this,so))return ae(this,so);let o=ae(this,On).state();return ae(this,On).add(o,ae(this,Oo),0,!0),Ue(this,so,$e(this,Zt,$i).call(this,ae(this,On).done(o)))}next(t,o){let i=o.charCodeAt(0),s=i<128?void 0:t.next.get(o);if(s)return s;let r=t===ae(this,Pn)?$e(this,Zt,$i).call(this,ae(this,In).step(t.state,o,0,!0)):$e(this,Zt,$i).call(this,ae(this,On).step(t.state,o,1,!0));return i<128?(t.ascii||(t.ascii=new Array(128),Ue(this,Tn,ae(this,Tn)+128)),t.ascii[i]=r):t.next.set(o,r),Ma(this,Tn)._++,r}};Oo=new WeakMap,Io=new WeakMap,Tn=new WeakMap,so=new WeakMap,Pn=new WeakMap,On=new WeakMap,In=new WeakMap,Zt=new WeakSet,ca=function(t){return{state:t,match:t.match,dead:t.dead,next:new Map}},$i=function(t){let o=Wu(t),i=ae(this,Io).get(o);if(i)return i;ae(this,Tn)>qg&&$e(this,Zt,Ku).call(this);let s=$e(this,Zt,ca).call(this,t);return ae(this,Io).set(o,s),Ue(this,Tn,ae(this,Tn)+(o.length+1)),s},Ku=function(){ae(this,Io).clear(),Ue(this,Tn,0),Ue(this,so,void 0),Ue(this,Pn,void 0)};var $g=e=>{let t=[];for(let o=e;o.t!=="match";o=o.next){if(o.t==="split"||o.t==="neg")return;t.push(o)}return t},Lg=(e,t,o,i)=>{let s=0,r=o,a=-1,u=0;for(;r{let t=0,o=0;for(let i of e){let[s,r]=Ug(i);t+=s,o+=r}return[t,o]},Ug=e=>{if(e.t==="star")return[0,1/0];if(e.t!=="ext")return[1,1];if(e.type==="!")return[0,1/0];let t=e.alts.map(Yu),o=Math.min(...t.map(r=>r[0])),i=Math.max(...t.map(r=>r[1])),s=i===0?0:1/0;return e.type==="@"?[o,i]:e.type==="?"?[0,i]:e.type==="*"?[0,s]:[o,s]},Uu=(e,t,o)=>{for(let i=0;iBg.test(e)?[...e]:e,Fu=e=>{if(e.includes("/"))throw new Error("can only match a single path portion, got: "+e)},Mn,Mo,io,Li,ro,As,Ui,ao,Ts,Ps,Os,En,fn,_o,Vo,Is,Fi,Jt,lo,Ns,Ds=class{constructor(t,o={}){qe(this,lo);Je(this,"pattern");Je(this,"options");qe(this,Mn);qe(this,Mo);qe(this,io);qe(this,Li);qe(this,ro);qe(this,As,!1);qe(this,Ui);qe(this,ao);qe(this,Ts,!1);qe(this,Ps,0);qe(this,Os,1/0);qe(this,En,[]);qe(this,fn,[]);qe(this,_o);qe(this,Vo);qe(this,Is,!1);qe(this,Fi);qe(this,Jt);if(t.includes("/"))throw new Error("can only match a single path portion, got pattern: "+t);this.pattern=t,this.options=o;let{nocase:i=!1,noext:s=!1,normalize:r}=o;Ue(this,Jt,r===!0?"NFC":r||void 0);let a=/^[?*+@]\(\)$/.test(t),u=Ig(t,i,s||a,ae(this,Jt)),[p]=Hu(u,Mg(u),0,u.length,!0);ae(this,Jt)&&(p=ju(p,ae(this,Jt)));let[y,h]=_g(p,i);if(Ue(this,Mn,y),Ue(this,Mo,h),p.every(b=>b.t==="lit"))Ue(this,ro,p.map(b=>b.ch).join("")),Ue(this,As,i);else{let b=A=>A.t!=="lit"?void 0:i?{ch:A.ch,re:zu(A.ch)}:{ch:A.ch};for(let A of p){let S=b(A);if(!S)break;ae(this,En).push(S)}for(let A=p.length-1;A>=0;A--){let S=b(p[A]);if(!S)break;ae(this,fn).unshift(S)}Ue(this,Is,!!(ae(this,En).length||ae(this,fn).length)),i||(Ue(this,_o,ae(this,En).map(A=>A.ch).join("")),Ue(this,Vo,ae(this,fn).map(A=>A.ch).join(""))),Ue(this,ao,$g(ae(this,Mn))?.slice(ae(this,En).length,-ae(this,fn).length||void 0)),Ue(this,Ts,!!ae(this,ao)?.every(A=>A.t==="star"||A.t==="any"));let[m,w]=Yu(p);Ue(this,Ps,m),Ue(this,Os,w)}}test(t){return ae(this,Jt)?(Fu(t),$e(this,lo,Ns).call(this,t.normalize(ae(this,Jt)))):Fg.test(t)?(Fu(t),$e(this,lo,Ns).call(this,t,[...t])):$e(this,lo,Ns).call(this,t,t)}testUnchecked(t){return $e(this,lo,Ns).call(this,ae(this,Jt)?t.normalize(ae(this,Jt)):t)}toString(){return Vg(ae(this,Mn))}};Mn=new WeakMap,Mo=new WeakMap,io=new WeakMap,Li=new WeakMap,ro=new WeakMap,As=new WeakMap,Ui=new WeakMap,ao=new WeakMap,Ts=new WeakMap,Ps=new WeakMap,Os=new WeakMap,En=new WeakMap,fn=new WeakMap,_o=new WeakMap,Vo=new WeakMap,Is=new WeakMap,Fi=new WeakMap,Jt=new WeakMap,lo=new WeakSet,Ns=function(t,o){if(ae(this,ro)!==void 0)return ae(this,As)?(ae(this,Ui)??Ue(this,Ui,Bu(ae(this,ro)))).test(t):t===ae(this,ro);let i=ae(this,Ps),s=ae(this,Os);if(o===void 0){let h=t.length,b=h+1>>1;if(hs)return!1;(bs)&&(o=qi(t))}if(o!==void 0&&(o.lengths))return!1;let r=ae(this,En).length;if(ae(this,Is))if(ae(this,_o)!==void 0&&ae(this,Vo)!==void 0){if(!t.startsWith(ae(this,_o))||!t.endsWith(ae(this,Vo)))return!1}else{o??(o=qi(t));let h=o.length-ae(this,fn).length;if(!Uu(ae(this,En),o,0)||!Uu(ae(this,fn),o,h))return!1}let a=!this.options.dot&&t.startsWith(".");if(ae(this,ao)){if(t==="."||t===".."||a&&!r)return!1;if(ae(this,Ts))return!0;o??(o=qi(t));let h=o.length-ae(this,fn).length;return Lg(ae(this,ao),o,r,h)}if(o??(o=qi(t)),t==="."||t===".."){ae(this,io)??Ue(this,io,Lu(ae(this,Mo)));let h=ae(this,Li)??Ue(this,Li,new Rs(!0,!1,ae(this,io))),b=h.state();h.add(b,ae(this,Mn),0,!0);let m=h.done(b);for(let w=0;w{if(typeof e!="string")throw new TypeError("invalid pattern");if(e.length>65536)throw new TypeError("pattern is too long")};var Vn=(e,{windowsPathsNoEscape:t=!1,magicalBraces:o=!1}={})=>o?t?e.replace(/[?*()[\]{}]/g,"[$&]"):e.replace(/[?*()[\]\\{}]/g,"\\$&"):t?e.replace(/[?*()[\]]/g,"[$&]"):e.replace(/[?*()[\]\\]/g,"\\$&");var uo=(e,{windowsPathsNoEscape:t=!1,magicalBraces:o=!0}={})=>o?t?e.replace(/\[([^/\\])\]/g,"$1"):e.replace(/((?!\\).|^)\[([^/\\])\]/g,"$1$2").replace(/\\([^/])/g,"$1"):t?e.replace(/\[([^/\\{}])\]/g,"$1"):e.replace(/((?!\\).|^)\[([^/\\{}])\]/g,"$1$2").replace(/\\([^/{}])/g,"$1");var Lt=(e,t,o={})=>(Ms(t),!o.nocomment&&t.charAt(0)==="#"?!1:Hg(t,o).match(e)),qo=new Map,zg=256,Hg=(e,t)=>{let o=e+"\0"+JSON.stringify(t),i=qo.get(o);return i?qo.delete(o):(i=new co(e,{...t}),qo.size>=zg&&qo.delete(qo.keys().next().value)),qo.set(o,i),i},ec=typeof process=="object"&&process?process.env?.__MINIMATCH_TESTING_PLATFORM__||process.platform:"posix",Xu={win32:{sep:"\\"},posix:{sep:"/"}},jg=ec==="win32"?Xu.win32.sep:Xu.posix.sep;Lt.sep=jg;var gt=Symbol("globstar **");Lt.GLOBSTAR=gt;var Gg=(e,t={})=>o=>Lt(o,e,t);Lt.filter=Gg;var Sn=(e,t={})=>Object.assign({},e,t),Wg=e=>{if(!e||typeof e!="object"||!Object.keys(e).length)return Lt;let t=Lt;return Object.assign((i,s,r={})=>t(i,s,Sn(e,r)),{Minimatch:class extends t.Minimatch{constructor(s,r={}){super(s,Sn(e,r))}static defaults(s){return t.defaults(Sn(e,s)).Minimatch}},unescape:(i,s={})=>t.unescape(i,Sn(e,s)),escape:(i,s={})=>t.escape(i,Sn(e,s)),filter:(i,s={})=>t.filter(i,Sn(e,s)),defaults:i=>t.defaults(Sn(e,i)),braceExpand:(i,s={})=>t.braceExpand(i,Sn(e,s)),match:(i,s,r={})=>t.match(i,s,Sn(e,r)),sep:t.sep,GLOBSTAR:gt})};Lt.defaults=Wg;var tc=(e,t={})=>(Ms(e),t.nobrace||!/\{(?:(?!\{).)*\}/.test(e)?[e]:qu(e,{max:t.braceExpandMax}));Lt.braceExpand=tc;var Kg=(e,t,o={})=>{let i=new co(t,o);return e=e.filter(s=>i.match(s)),i.options.nonull&&!e.length&&e.push(t),e};Lt.match=Kg;var Qu=/[?*]|[+@!]\(.*?\)|\[|\]/,nc=(e,t)=>{let o=t+1;(e.charAt(o)==="!"||e.charAt(o)==="^")&&o++;let i=!1;for(;o{if(!t&&(e==="+()"||e==="@()"))return e;let o="";for(let i=0;i{if(/^[?*+@]\(\)$/.test(e)||e.includes("[:"))return!1;let t=0;for(let o=0;otypeof e=="string"?t===e:t!==""&&e.testUnchecked(t),Zu=(e,t,o,i,s)=>qn(e,t)?o:i!==void 0&&qn(e,i)?s:-1,va=e=>e==="."||e==="..",ha=e=>typeof e=="string"&&/^[a-z]:$/i.test(e),zi=e=>typeof e=="string"&&/^unc$/i.test(e),ma=e=>{if(e[0]!==""||e[1]!=="")return-1;let t=e[2]!=="?"?2:zi(e[3])?4:-1,o=e[t],i=e[t+1];return t!==-1&&o!==void 0&&o!==""&&o!==gt&&i!==void 0&&i!==""&&i!==gt?t:-1},Bi=(e,t)=>!va(e)&&(t||!e.startsWith(".")),_s=(e,t,o,i,s)=>{for(let r=t;r=o||ji(e.charCodeAt(u),s))return!0}let a=ya(e,r,s);if(a===-1)return!1;for(r=a+1;rt==="/"?e===47:t==="\\"?e===92:e===47||e===92,ya=(e,t,o)=>{if(o!=="both")return e.indexOf(o,t);let i=e.indexOf("/",t),s=e.indexOf("\\",t);return i===-1?s:s===-1?i:Math.min(i,s)},xu=(e,t,o)=>o!=="both"?e.lastIndexOf(o,t):Math.max(e.lastIndexOf("/",t),e.lastIndexOf("\\",t)),ga={},$n,Lo,Ln,Nn,Uo,Fo,Un,qs,Bo,$s,Le,Hi,Vs,oc,sc,ic,rc,ac,lc,ba,dc,uc,wa,$o,ka,co=class{constructor(t,o={}){qe(this,Le);Je(this,"options");Je(this,"set");Je(this,"pattern");Je(this,"windowsPathsNoEscape");Je(this,"nonegate");Je(this,"negate");Je(this,"comment");Je(this,"empty");Je(this,"preserveMultipleSlashes");Je(this,"partial");Je(this,"globSet");Je(this,"globParts");Je(this,"nocase");Je(this,"isWindows");Je(this,"platform");Je(this,"windowsNoMagicRoot");Je(this,"maxGlobstarRecursion");qe(this,$n);qe(this,Lo);qe(this,Ln);qe(this,Nn);qe(this,Uo,[]);qe(this,Fo,[]);qe(this,Un,[]);qe(this,qs,new Map);qe(this,Bo,!1);qe(this,$s,new WeakMap);Ms(t),o=o||{},this.options=o,this.maxGlobstarRecursion=o.maxGlobstarRecursion??200,this.pattern=t,this.platform=o.platform||ec,this.isWindows=this.platform==="win32";let i="allowWindowsEscape";this.windowsPathsNoEscape=!!o.windowsPathsNoEscape||o[i]===!1,this.windowsPathsNoEscape&&(this.pattern=this.pattern.replace(/\\/g,"/")),this.preserveMultipleSlashes=!!o.preserveMultipleSlashes,this.negate=!1,this.nonegate=!!o.nonegate,this.comment=!1,this.empty=!1,this.partial=!!o.partial,this.nocase=!!this.options.nocase,this.windowsNoMagicRoot=o.windowsNoMagicRoot!==void 0?o.windowsNoMagicRoot:!!(this.isWindows&&this.nocase),this.globSet=[],this.globParts=[],this.set=[],Ue(this,$n,!this.preserveMultipleSlashes),Ue(this,Ln,(o.optimizationLevel??1)>=2);let s=o.normalize;Ue(this,Nn,s===!0?"NFC":s||void 0),this.make();let r=this.set.map(a=>$e(this,Le,Vs).call(this,a));Ue(this,Un,this.set.map((a,u)=>ae(this,$n)&&a.length-1>r[u])),Ue(this,Uo,this.set.map((a,u)=>{let p=ae(this,Un)[u]?a.length-1:a.length,y=a.slice(r[u]+1,p).filter(h=>typeof h=="string"&&!!h);return[...new Set(y)]})),Ue(this,Lo,ae(this,Uo).some(a=>a.length)),Ue(this,Fo,this.set.map((a,u)=>{let[p,y,h]=a;if(ae(this,Un)[u]&&a.length===2&&p===gt&&y!==gt)return"tail";if(ae(this,Un)[u]&&o.matchBase&&a.length===1&&p!==gt&&p!=="")return"base";if(!(!ae(this,$n)||r[u]!==-1)){if(a.length===3&&p===gt&&h===gt&&y!==gt&&y!==""&&this.maxGlobstarRecursion>0)return"mid";if(a.length===2&&y===gt&&p!==gt&&p!=="")return"head"}}))}hasMagic(){if(this.options.magicalBraces&&this.set.length>1)return!0;for(let t of this.set)for(let o of t)if(typeof o!="string")return!0;return!1}make(){let t=this.pattern,o=this.options;if(!o.nocomment&&t.charAt(0)==="#"){this.comment=!0;return}if(!t){this.empty=!0;return}this.parseNegate(),this.globSet=[...new Set(this.braceExpand())];let i=this.globSet.map(r=>$e(this,Le,ka).call(this,r));this.globParts=this.preprocess(i),Ue(this,Bo,!0);let s=this.globParts.map((r,a,u)=>{if(this.isWindows&&this.windowsNoMagicRoot){let p=r[2]==="?"&&zi(r[3])?6:4,y=r[0]===""&&r[1]===""&&(r[2]==="?"||!Qu.test(r[2]))&&r.slice(3,p).every(b=>!Qu.test(b)),h=/^[a-z]:/i.test(r[0]);if(y)return[...r.slice(0,p).map(b=>$e(this,Le,Hi).call(this,b)),...r.slice(p).map(b=>this.parse(b))];if(h)return[$e(this,Le,Hi).call(this,r[0]),...r.slice(1).map(b=>this.parse(b))]}return r.map(p=>this.parse(p))});if(this.set=s.filter(r=>r.indexOf(!1)===-1),this.isWindows)for(let r=0;r{for(let u=0;ui.length));for(let i=0;i{if(!(a[i]instanceof Ds||a[i]===ga)||!Xg(this.globParts[u][i]))return;let p=[...this.globParts[u]];p[i]="";let y=`${a.length}/${p.join("/")}`,h=s.get(y);h?h.push(u):s.set(y,[u])});let r=new Set;for(let a of s.values()){if(a.length<2)continue;let[u,...p]=a,h=`@(${a.map(b=>this.globParts[b][i]).join("|")})`;this.globParts[u][i]=h,this.set[u][i]=this.parse(h);for(let b of p)r.add(b)}r.size&&(t=!0,this.set=this.set.filter((a,u)=>!r.has(u)),this.globParts=this.globParts.filter((a,u)=>!r.has(u)))}}}preprocess(t){if(this.options.noglobstar)for(let i of t)for(let s=0;s=2?(t=this.firstPhasePreProcess(t),t=this.secondPhasePreProcess(t)):o>=1?t=this.levelOneOptimize(t):t=this.adjascentGlobstarOptimize(t),t}adjascentGlobstarOptimize(t){return t.map(o=>{let i=-1;for(;(i=o.indexOf("**",i+1))!==-1;){let s=i;for(;o[s+1]==="**";)s++;s!==i&&o.splice(i,s-i)}return o})}levelOneOptimize(t){return t.map(o=>{let i=$e(this,Le,Vs).call(this,o)+1;return o=o.reduce((s,r)=>{let a=s[s.length-1];return r==="**"&&a==="**"?s:r===".."&&s.length>i&&a&&a!==".."&&a!=="."&&a!=="**"?(s.pop(),s):(s.push(r),s)},[]),o.length===0?[""]:o})}firstPhasePreProcess(t){let{braceExpandMax:o=1e5}=this.options,i=!1;do{i=!1;for(let s of t){let r=-1;for(;(r=s.indexOf("**",r+1))!==-1;){let p=r;for(;s[p+1]==="**";)p++;p>r&&s.splice(r+1,p-r);let y=s[r+1],h=s[r+2],b=s[r+3];if(y!==".."||!h||h==="."||h===".."||!b||b==="."||b===".."||t.length>=o)continue;i=!0,s.splice(r,1);let m=s.slice(0);m[r]="**",t.push(m),r--}if(!this.preserveMultipleSlashes){for(let p=1;p1e3)return t;for(let o=0;oo.length)}partsMatch(t,o,i=!1){let s=0,r=0,a=[],u="";for(;s=0;y--)p=r[y];for(let y=0;y=0){let g=S;for(;g>0&&ji(t.charCodeAt(g-1),o);)g--;u=g===0?0:xu(t,g-1,o)+1,a=t.slice(u,g)}let R=ae(this,Ln)&&(va(s)||s===""&&a!==void 0&&va(a));i=R?-1:1,m=!R}let w=-1;if(m&&typeof b=="string"&&(w=Zu(b,s,r,a,u),w===-1))continue;if(ae(this,Lo)){for(let S of ae(this,Uo)[y])if(!t.includes(S))continue e}if(m&&typeof b=="object"&&(w=Zu(b,s,r,a,u),w===-1))continue;let A=ae(this,Fo)[y];if(A==="base"&&m)return"yes";if(A==="tail"&&m){if(ae(this,Ln)&&_s(t,0,w,!0,o))return"maybe";if(!_s(t,0,w,p,o))return"yes";continue}if(A==="mid"||A==="head"){let S=$e(this,Le,ic).call(this,t,h,A==="head",p,o);if(S!=="no")return S;continue}return"maybe"}return"no"},sc=function(t,o,i){let s=!!this.options.dot,r=t.length;if(i==="head"){if(r<2||!qn(o[0],t[0]))return!1;for(let u=1;uu&&a.testUnchecked(t.slice(u,p)))&&!_s(t,y,t.length,s,r))return"yes";if(i||_s(t,u,y,s,r))return"no";u=y}return"no"},rc=function(t){let o=fa;return o?.f===t&&o.isWindows===this.isWindows&&o.preserveMultipleSlashes===this.preserveMultipleSlashes&&o.normalize===ae(this,Nn)?o:void 0},ac=function(t){let{isWindows:o,preserveMultipleSlashes:i}=this,s=$e(this,Le,ka).call(this,o?t.split("\\").join("/"):t),r=ae(this,Nn);return r&&(s=s.map(a=>a.normalize(r))),fa={f:t,isWindows:o,preserveMultipleSlashes:i,normalize:r,parts:s},fa},lc=function(t){let o=[...t],i=!1;do{if(i=!1,!this.preserveMultipleSlashes){for(let a=1;at.length)return!1;let b=t.length-p.length;if($e(this,Le,$o).call(this,t,p,i,b,0))h=p.length;else{if(t[t.length-1]!==""||s+p.length===t.length||(b--,!$e(this,Le,$o).call(this,t,p,i,b,0)))return!1;h=p.length+1}}if(!u.length){let b=!!h;for(let m=s;m{g[1]=A-S[C]});let R={head:y,body:h,tail:b,segments:m};return s[r]=R,R},wa=function(t,o,i,s,r,a,u,p,y){let h=o[r];if(!h){if(a)return s>=i||s===i-1&&t[s]==="";for(let A=s;Ae.lastIndexOf(t)===o)}function Ea(e){let t=(e||[]).filter(o=>typeof o=="string"&&o.length>0).map(o=>{let{negated:i,anchored:s,directoryOnly:r,body:a}=Qg(o);return{negated:i,directoryOnly:r,matcher:new co(a,{dot:!0,nonegate:!0,nocomment:!0,matchBase:!s&&!a.includes("/")})}});return(o,i=!1)=>{let s=(o||"").replace(/^\/+/,"");if(!s)return!1;let r=s.split("/"),a=r.slice(0,-1).map((p,y)=>r.slice(0,y+1).join("/")),u=i;for(let p of t){if(p.negated?!u:u)continue;(p.directoryOnly?a:[...a,s]).some(h=>p.matcher.match(h))&&(u=!p.negated)}return u}}var iJ=new Set("^$\\.*+?()[]{}|/dDsSwWbBnrtvf0cxupP".split(""));function Sa(e){let t=e.indexOf("=>");if(t<0)return{term:e,replacement:null};let o=e.slice(0,t).replace(/\s+$/,""),i=e.slice(t+2).replace(/^\s+/,"");return o?{term:o,replacement:i}:{term:e,replacement:null}}var cc=new Set(["*","+","?","(",")","[","]","{","}","|","^","$"]);function pc(e){let t=[];return String(e||"").split(` +`).forEach((o,i)=>{let{term:s}=Sa(o.trim());if(!s)return;let r=[];for(let a=0;a{let t=e.target;if(!t||t.tagName!=="IMG"||t.dataset.failed||!t.closest?.(".markdown-body, .anonymize-preview-body"))return;t.dataset.failed="1";let o=window.document.createElement("span"),i=parseInt(t.getAttribute("width"),10)||0,s=parseInt(t.getAttribute("height"),10)||0;o.className=i>=200||s>=120?"img-unavailable is-large":"img-unavailable",o.textContent="Image unavailable",o.title=t.alt?"Image unavailable: "+t.alt.replace(/\bXXXX-(\d+)\b/g,"[redacted term $1]"):"Image unavailable",o.setAttribute("role","img"),o.setAttribute("aria-label",o.title),t.replaceWith(o)},!0);function Na(e){let t=e?.data;if(typeof t=="string")try{t=JSON.parse(t)}catch{t=null}return typeof t?.error=="string"&&Object.prototype.hasOwnProperty.call(po.ERRORS,t.error)?t.error:e?.status===-1||e?.status===0?"request_error":[502,503,504].includes(e?.status)?"unreachable":"unknown_error"}var Gi="XXXX",Zg=e=>{Gi=e||"XXXX"},xg=(e=Gi)=>{if(!e)return null;let t=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return new RegExp(t+"(?:-\\d+)?","g")},hc=(e,t=Gi)=>{let o=xg(t);if(!o||!e||!e.textContent.includes(t))return;let i=e.ownerDocument,s=i.createTreeWalker(e,NodeFilter.SHOW_TEXT),r=[];for(;s.nextNode();)r.push(s.currentNode);for(let a of r){let u=a.nodeValue,p=a.parentElement;if(!u.includes(t)||!p||p.closest("script, style, mark.redaction, .mermaid"))continue;let y=p.closest('code[class*="language-"]');if(y&&!y.contains(e))continue;let h=i.createDocumentFragment(),b=0;for(let m of u.matchAll(o)){h.append(u.slice(b,m.index));let w=i.createElement("mark");w.className="redaction",w.title="Redacted by Anonymous GitHub",w.textContent=m[0],h.append(w),b=m.index+m[0].length}h.append(u.slice(b)),a.replaceWith(h)}},fo=/\bXXXX-\d+\b/g,_i=function(e){if(!e||e.indexOf("XXXX-")===-1||typeof window.DOMParser!="function")return e;let t=new window.DOMParser().parseFromString("
"+e+"
","text/html"),o=t.createTreeWalker(t.body,4),i=[];for(;o.nextNode();)fo.lastIndex=0,!o.currentNode.parentElement?.closest("pre code")&&fo.test(o.currentNode.nodeValue)&&i.push(o.currentNode);for(let s of i){fo.lastIndex=0;let r=t.createDocumentFragment(),a=0,u,p=s.nodeValue;for(;u=fo.exec(p);){r.appendChild(t.createTextNode(p.slice(a,u.index)));let y=t.createElement("mark");y.className="redact-chip",y.setAttribute("title","Redacted term "+u[0].slice(5)+" \u2014 the same term everywhere in this snapshot");let h=u[0].slice(5);y.textContent="";let b=t.createElement("i");b.textContent=h,y.appendChild(b),y.dataset.term=u[0],y.setAttribute("aria-label","Redacted term "+h);let m=/^[.,;:!?)\]]+/.exec(p.slice(u.index+u[0].length));if(m){let w=t.createElement("span");w.className="redact-glue",w.appendChild(y),w.appendChild(t.createTextNode(m[0])),r.appendChild(w),a=u.index+u[0].length+m[0].length}else r.appendChild(y),a=u.index+u[0].length}r.appendChild(t.createTextNode(p.slice(a))),s.parentNode.replaceChild(r,s)}return t.body.firstChild.innerHTML},mc=()=>{window.Prism?.hooks&&!window.Prism.redactionHook&&(window.Prism.hooks.add("complete",e=>{hc(e.element),e.element.querySelectorAll?.("mark.redaction").forEach(t=>{let o=/^XXXX-(\d+)$/.exec(t.textContent);if(!o)return;t.className="redact-chip",t.setAttribute("title","Redacted term "+o[1]+" \u2014 the same term everywhere in this snapshot"),t.setAttribute("aria-label","Redacted term "+o[1]),t.dataset.term=o[0],t.style.setProperty("--slot-ch",o[0].length+"ch"),t.textContent="";let i=t.ownerDocument.createElement("span");i.className="redact-src",i.textContent=o[0].slice(0,o[0].length-o[1].length),t.appendChild(i);let s=t.ownerDocument.createElement("i");s.textContent=o[1],t.appendChild(s)})}),window.Prism.redactionHook=!0)},gc=(e,t=Gi)=>{if(!e||!t||!e.includes(t))return e;let o=new DOMParser().parseFromString(""+e+"","text/html");return hc(o.body,t),o.body.innerHTML};async function Ra(e){if(window.navigator.clipboard?.writeText){await window.navigator.clipboard.writeText(e);return}let t=document.createElement("textarea");t.value=e,t.setAttribute("readonly",""),t.style.position="fixed",t.style.opacity="0";let o=document.activeElement;document.body.appendChild(t);try{if(t.select(),!document.execCommand?.("copy"))throw Error("Copy unavailable")}finally{t.remove(),o?.focus()}}function ev(e){if(!["ArrowLeft","ArrowRight","Home","End"].includes(e.key))return;let t=[...e.currentTarget.closest('[role="tablist"]').querySelectorAll('[role="tab"]')],o=t.indexOf(e.currentTarget),i=e.key==="Home"?0:e.key==="End"?t.length-1:(o+(e.key==="ArrowRight"?1:-1)+t.length)%t.length;e.preventDefault(),t[i]?.focus(),t[i]?.click()}var vc=function(e,t,o,i){e.previewTabKeydown=ev,e.headerCanUpgrade=!1,e.headerShowSupport=!1,e.headerBillingPending=new URLSearchParams(window.location.search).get("billing")==="success";let s=R=>{e.headerShowSupport=!(R?.grants||[]).some(C=>["active","paid","past_due"].includes(C.status)&&new Date(C.until).getTime()>Date.now());let g=(R?.grants||[]).some(C=>["author_monthly","author_annual"].includes(C.planId)&&["active","paid","past_due"].includes(C.status)&&new Date(C.until).getTime()>Date.now());e.headerCanUpgrade=!!R?.enabled&&R.checkoutEnabled!==!1&&!g&&(R.plans||[]).some(C=>["author_monthly","author_annual"].includes(C.id))};e.on("billing:updated",(R,g)=>s(g)),e.on("billing:pending",(R,g)=>{e.headerBillingPending=g}),e.openHeaderUpgrade=()=>{o.path()==="/profile"?e.emit("settings:upgrade"):o.url("/profile?upgrade=1")};let r=Qt(),a=Tt(),u=!1,p=()=>{u=!1;let R=document.querySelector("nav.navbar.navbar-expand-lg");if(!R||(R.classList.remove("nav-fit-1","nav-fit-2"),window.innerWidth<992))return;let g=R.querySelector(".navbar-collapse"),C=()=>R.scrollWidth>R.clientWidth+1||!!g&&g.scrollWidth>g.clientWidth+1;C()&&R.classList.add("nav-fit-1"),C()&&R.classList.add("nav-fit-2")},y=()=>{u||(u=!0,xe(()=>a.timeout(p,0)))};r(window,"resize",y),e.on("routeChange",y),e.on("billing:updated",y),document.fonts?.ready&&document.fonts.ready.then(y).catch(()=>{}),e.title="Main",e.user={status:"connection"},e.site_options,e.toasts=[],e.removeToast=function(R){let g=e.toasts.indexOf(R);g!==-1&&e.toasts.splice(g,1)},e.addToast=function(R){return e.toasts.push(R),i(function(){e.removeToast(R)},8e3),R};let h=/^\/(r|repository|pr|gist)\//;e.path=o.url(),e.paths=o.path().substring(1).split("/"),e.isReviewerRoute=h.test(o.path()),e.darkMode=function(R){localStorage.setItem("darkMode",R),e.isDarkMode=R;let g="/css/prism.css";if($("link[href='/css/prism-okaidia.css']").remove(),R)$("body").addClass("dark-mode"),$(`link[href='${g}']`).remove();else if($("body").removeClass("dark-mode"),!document.querySelector(`link[href='${g}']`)){let C=document.createElement("link");C.href=g,C.rel="stylesheet",document.head.append(C)}e.emit("dark-mode",R)},e.darkMode(localStorage.getItem("darkMode")=="true"),e.emailPromptOpen=!1,e.emailPromptAddress="",e.emailPromptBusy=!1,e.emailPromptError="";let b;e.respondToEmailPrompt=async R=>{if(!e.emailPromptBusy){e.emailPromptBusy=!0,e.emailPromptError="";try{let g=await t.post("/github/connections/email",{action:R,email:e.emailPromptAddress},{headers:{"X-CSRF-Token":e.user.emailPromptCSRF}});R==="save"&&(e.user.notificationEmail=g.data.notificationEmail),e.emailPromptOpen=!1,e.user.showEmailPrompt=!1,b?.focus()}catch(g){e.emailPromptError=g.data?.error||"Unable to save your preference. Please try again."}finally{e.emailPromptBusy=!1}}};function m(){t.get("/api/user").then(R=>{R&&(e.user=R.data),y(),e.user?.username?Ti(t).then(g=>s(g.data)).catch(()=>{}):e.headerShowSupport=!0,e.user?.emailNotificationsEnabled&&e.user.showEmailPrompt&&!e.user.notificationEmail&&(b=document.activeElement,e.emailPromptOpen=!0,i(()=>{let g=document.getElementById("email-prompt");g?.showModal?g.showModal():g?.setAttribute("open",""),document.getElementById("email-prompt-address")?.focus()},0))},()=>{e.user=null,e.headerShowSupport=!0})}m();function w(){t.get("/api/options").then(R=>{R&&(e.site_options=R.data),Zg(R?.data?.ANONYMIZATION_MASK),e.emit("site-options")},()=>{e.site_options=null})}w();function A(){t.get("/api/message").then(R=>{R&&(e.generalMessage=R.data)},()=>{e.generalMessage=null})}A();function S(R,g){g&&(e.title=g.title),e.path=o.url(),e.paths=o.path().substring(1).split("/"),e.isReviewerRoute=h.test(o.path())}e.on("routeChange",S),e.on("routeUpdate",S)},yc=function(e,t){let o=Qt(),i=Tt();e.faqQuery="",e.faqResults=0;let s=a=>(a||"").toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/\s+/g," ");e.filterFaq=()=>{let a=s(e.faqQuery).trim().split(" ").filter(Boolean),u=0;document.querySelectorAll(".faq-section .panel-group").forEach(p=>{let y=0;p.querySelectorAll(":scope > .panel").forEach(m=>{let w=m.dataset.faqText||(m.dataset.faqText=s(m.textContent)),A=a.every(S=>w.includes(S));m.classList.toggle("faq-hit",a.length>0&&A),m.hidden=a.length>0&&!A,A&&y++});let h=a.length>0&&y===0;p.hidden=h;let b=p.previousElementSibling;b?.classList.contains("faq-cat")&&(b.hidden=h),u+=y}),e.faqResults=a.length?u:0},e.clearFaqSearch=()=>{e.faqQuery="",e.filterFaq(),document.getElementById("faq-search-input")?.focus()};let r=()=>{let a=window.location.hash.slice(1),u=document.getElementById(a);if(!u?.classList.contains("panel-collapse"))return;$(u).collapse("show");let p=document.getElementById(u.getAttribute("aria-labelledby"));p?.setAttribute("tabindex","-1"),p?.focus({preventScroll:!0}),p?.scrollIntoView?.({block:"start"})};e.on("routeUpdate",()=>i.timeout(r,0)),o(window,"hashchange",r),i.timeout(r,0)},bc=function(e,t,o,i,s){e.settingsTab=/(?:billing|upgrade)=/.test(window.location.search)?"billing":"defaults",e.confirmDeleteAccount=!1,e.deleteUsername="",e.profilePastSubscription=()=>!e.profileAuthorGrant()&&(e.billing?.grants||[]).some(h=>["author_monthly","author_annual"].includes(h.planId)),e.showAuthorPlans=new URLSearchParams(window.location.search).get("upgrade")==="1",e.showRepositoryPass=!1,e.profilePlan="author_annual",e.openProfileUpgrade=()=>{e.settingsTab="billing",e.showAuthorPlans=!0,xe(()=>document.getElementById("settings-plan-comparison")?.focus())},e.on("settings:upgrade",()=>e.openProfileUpgrade()),e.profileAuthorPlans=()=>(e.billing?.plans||[]).filter(h=>["author_monthly","author_annual"].includes(h.id)),e.profileSelectedPlan=()=>e.profileAuthorPlans().find(h=>h.id===e.profilePlan)||e.profileAuthorPlans()[0],e.profilePassPlan=()=>(e.billing?.plans||[]).find(h=>h.id==="author_pass"),e.profileAddonPlans=()=>(e.billing?.plans||[]).filter(h=>Ai(h.id)).sort((h,b)=>+(b.id==="repo_pack")-+(h.id==="repo_pack")),e.profileAddonId="repo_pack",e.profilePackPlan=()=>(e.billing?.plans||[]).find(h=>h.id==="repo_pack"),e.profileSlotPlan=()=>(e.billing?.plans||[]).find(h=>h.id==="repo_slot"),e.profileRepositories=()=>(e.billing?.repositories||[]).filter(h=>h.status!=="removed"),e.openProfileAddon=h=>{h&&(e.profileAddonId=h),e.showRepositoryPass=!0,e.billingRepository="",xe(()=>{let b=document.getElementById("settings-addons-title");b?.scrollIntoView?.({block:"nearest",behavior:"smooth"}),b?.focus?.({preventScroll:!0})})};let r=["repo_slot","author_pass","repo_extend","repo_never"];e.profileSingleAddons=()=>e.profileAddonPlans().filter(h=>h.id!=="repo_pack").sort((h,b)=>r.indexOf(h.id)-r.indexOf(b.id)),e.profileSingleId="repo_slot",e.profileSingleAddon=()=>e.profileSingleAddons().find(h=>h.id===e.profileSingleId)||e.profileSingleAddons()[0],e.profileCheapestAddon=()=>[...e.profileSingleAddons()].sort((h,b)=>(h.amount??1/0)-(b.amount??1/0))[0],e.profileAuthorPlansByValue=()=>[...e.profileAuthorPlans()].sort((h,b)=>+(h.interval==="year")-+(b.interval==="year")),e.profilePackSummary=h=>h.parts.map(b=>b.planId==="repo_slot"?"Extra repository":`${e.profileGrantName(b)} until ${e.billingDate(b.until)}`).join(" \xB7 "),e.profileAddonFeatures=h=>({repo_pack:["One more repository, outside your free ones",`Its own ${e.billingBytes(e.profileSlotPlan()?.storage||e.profilePassPlan()?.storage)} of storage`,"Automatic updates for 180 days","Online for up to a year","No subscription"],repo_slot:["One more repository, outside your free ones",`Its own ${e.billingBytes(e.profileSlotPlan()?.storage)} of storage`,"Valid while the repository exists","Refresh it by hand"],author_pass:["Automatic updates for 180 days",`Its own ${e.billingBytes(e.profilePassPlan()?.storage)} of storage`,"No subscription"],repo_extend:["Online for up to one more year","Buy again to add another year","No subscription"],repo_never:["The link never expires","No subscription","Ends only if the payment is refunded"]})[h]||[],e.profileAddonBlurb=h=>({repo_slot:"One more repository",author_pass:"Auto-updates for 180 days",repo_extend:"Online one more year",repo_never:"The link never expires"})[h]||"",e.profileAuthorPurchase=()=>(e.billing?.purchases||[]).find(h=>h.recurring&&["active","overdue"].includes(h.status)),e.profileRepositoryExpiry=h=>h.status==="expired"?"expired":h.expirationMode==="never"?"never expires":h.expirationDate?"expires "+e.billingDate(h.expirationDate):"no date",e.profileAnnualSavings=()=>{let h=e.profileAuthorPlans().find(m=>m.interval==="month")?.amount,b=e.profileAuthorPlans().find(m=>m.interval==="year")?.amount;return h&&b&&b(e.billing?.purchases||[]).filter(b=>["active","overdue"].includes(b.status)===h),e.profilePurchaseStatus=h=>({active:"Active",overdue:"Payment overdue",ended:"Ended",refunded:"Refunded",disputed:"Disputed"})[h.status]||h.status,e.profilePurchaseTerm=h=>{let b=h.status&&!["active","overdue"].includes(h.status);if(h.recurring)return b?h.until?"Ended "+e.billingDate(h.until):"":(h.cancelAtPeriodEnd?"Ends ":"Renews ")+e.billingDate(h.until);if(h.planId==="repo_pack"){let m=h.parts.map(w=>w.until).filter(Boolean).map(w=>new Date(w).getTime());return b||!m.length?"":"Until "+e.billingDate(new Date(Math.max(...m)))}return h.until?(b||new Date(h.until).getTime()e.profileAddonPlans().find(h=>h.id===e.profileAddonId)||e.profileAddonPlans()[0],e.profileAuthorGrant=()=>(e.billing?.grants||[]).find(h=>["author_monthly","author_annual"].includes(h.planId)&&["active","paid","past_due"].includes(h.status)&&new Date(h.until).getTime()>Date.now()),e.profileConferencePlan=()=>(e.billing?.plans||[]).filter(h=>["conference_workshop","conference","conference_large"].includes(h.id)&&h.amount!=null).sort((h,b)=>h.amount-b.amount)[0],e.profileGrantName=h=>({author_monthly:"Author monthly",author_annual:"Author annual",author_pass:"Live updates",repo_extend:"Extended expiration",repo_never:"Never expire",repo_slot:"Extra repository",repo_pack:"Paper pack",conference:"Conference package",conference_workshop:"Workshop package",conference_large:"Large conference package"})[h.planId]||h.planId,Pi(e,t,()=>s.load().then(h=>{e.quota=h},console.error),{portalMessage:()=>{let h=e.profileAuthorGrant();return h?h.cancelAtPeriodEnd?`Renewal cancelled. Your access continues until ${e.billingDate(h.until)}.`:`Your subscription renews on ${e.billingDate(h.until)}.`:"Your billing details are up to date."}}),e.terms="",e.options={expirationMode:"remove",update:!1,image:!0,pdf:!0,notebook:!0,loc:!0,link:!0},e.saving=!1,e.message=null,e.error=null,e.accountEmail="",e.emailLoading=!0,e.emailCSRFReady=!1,e.emailSaving=!1,e.emailSaved=!1,e.emailError="";let a="";e.loadAccountEmail=async()=>{e.emailLoading=!0,e.emailError="";try{let h=await t.get("/github/connections/email");e.accountEmail=h.data.notificationEmail||"",a=h.data.csrf,e.emailCSRFReady=!!a}catch{e.emailError="Unable to load your email address. Please try again."}finally{e.emailLoading=!1}},e.saveAccountEmail=async()=>{if(!(e.emailSaving||e.emailLoading||!a)){e.emailSaving=!0,e.emailSaved=!1,e.emailError="";try{let h=await t.post("/github/connections/email",{email:e.accountEmail},{headers:{"X-CSRF-Token":a}});e.accountEmail=h.data.notificationEmail,e.user&&(e.user.notificationEmail=h.data.notificationEmail),e.emailSaved=!0}catch{e.emailError="Unable to save your email address. Check the address and try again."}finally{e.emailSaving=!1}}},e.loadAccountEmail(),s.load().then(h=>{e.quota=h},console.error);let u=Xr(e,["terms","options"],"profile");e.discardDraft=()=>u.discard();function p(){t.get("/api/user/default").then(h=>{let b=h.data||{};b.terms&&(e.terms=b.terms.join(` `)),e.options=Object.assign({},e.options,b.options),u.restore()})}p();let y=null;e.saveDefault=h=>{if(h&&h.preventDefault&&h.preventDefault(),e.saving)return;let b=u.checkpoint(),m={terms:e.terms.split(` -`).map(w=>w.trim()).filter(w=>w.length>0),options:e.options};e.saving=!0,e.error=null,t.post("/api/user/default",m).then(()=>{u.accept(b),e.saving=!1,e.message=e.unsavedChanges?null:"Saved",y&&i.cancel(y),y=i(()=>{e.message=null},2500)},w=>{e.saving=!1;let A=w&&w.data&&w.data.error,S="Unable to save your defaults. Please try again.";Promise.all([o("ERRORS."+A),o("ERRORS.unknown_error")]).then(([R,g])=>{e.error=A&&R!==g?R:S},()=>{e.error=S})})},e.deleteAccount=()=>{e.deletingAccount||!e.confirmDeleteAccount||e.deleteUsername!==e.user?.username||(e.deletingAccount=!0,t.delete("/api/user").then(()=>{window.location.href="/"},()=>{e.deletingAccount=!1,e.deleteError="Unable to delete the account. Please try again."}))}},kc=function(e,t,o){e.repoId=null,e.repoUrl=null,e.claim=()=>{t.post("/api/repo/claim",{repoId:e.repoId,repoUrl:e.repoUrl}).then(i=>{o.url("/dashboard")},i=>{e.error=i.data,e.claimForm.repoUrl.setValidity("not_found",!1),e.claimForm.repoId.setValidity("not_found",!1)})}},Cc=function(e,t,o,i,s){e.user&&!e.user.status&&o.url("/dashboard"),e.watch("user.status",()=>{e.user&&!e.user.status&&o.url("/dashboard")}),e.features=[{key:"anonymize",num:"01",eyebrow:"Anonymize",title:"Double-anonymous,",accent:"your rules.",text:"Choose what reviewers may see: links, images, PDFs, notebooks, GitHub Pages. Add your own terms, with regex if you need it, and pick the expiration date.",cta:"Start an anonymization",href:"/anonymize",url:"anonymous.4open.science/anonymize",img:"/imgs/anonymize.png",alt:"The anonymize form: source repository, terms to redact, options and a live README preview"},{key:"review",num:"02",eyebrow:"Review",title:"Reviewers browse",accent:"the real thing.",text:"Highlighted source code, rendered PDFs, images, and notebooks, in a familiar file explorer. GitHub Pages is also supported.",cta:"Open the example",href:"https://anonymous.4open.science/r/840c8c57-3c32-451e-bf12-0e20be300389/",target:"_self",url:"anonymous.4open.science/r/840c8c57-\u2026",img:"/imgs/explorer.png",alt:"The repository explorer with a file tree and a rendered README"},{key:"manage",num:"03",eyebrow:"Manage",title:"One dashboard,",accent:"until the decision.",text:"Monitor views, edit configuration, remove or update your repository. Program chairs can group submissions under a conference with one shared expiry.",cta:"Open the dashboard",href:"/dashboard",needsUser:!0,url:"anonymous.4open.science/dashboard",img:"/imgs/dashboard.png",alt:"The dashboard listing anonymized repositories with status, views and expiry"}],e.feature=e.features[0].key,e.selectFeature=function(u){e.feature=u},e.featureHref=function(u){return u.needsUser&&!e.user?"/signin":u.href},e.featureTarget=function(u){return u.needsUser&&!e.user?"_self":u.target||void 0},e.featureKeydown=function(u,p){let y={ArrowDown:1,ArrowRight:1,ArrowUp:-1,ArrowLeft:-1,Home:"first",End:"last"}[u.key];if(y===void 0)return;u.preventDefault();let h=e.features.length,b=y==="first"?0:y==="last"?h-1:(p+y+h)%h;e.feature=e.features[b].key,s(()=>{let m=i.document.getElementById("feature-tab-"+e.feature);m&&m.focus()})},e.demoText=`# DeepLearnUtils +`).map(w=>w.trim()).filter(w=>w.length>0),options:e.options};e.saving=!0,e.error=null,t.post("/api/user/default",m).then(()=>{u.accept(b),e.saving=!1,e.message=e.unsavedChanges?null:"Saved",y&&i.cancel(y),y=i(()=>{e.message=null},2500)},w=>{e.saving=!1;let A=w&&w.data&&w.data.error,S="Unable to save your defaults. Please try again.";Promise.all([o("ERRORS."+A),o("ERRORS.unknown_error")]).then(([R,g])=>{e.error=A&&R!==g?R:S},()=>{e.error=S})})},e.deleteAccount=()=>{e.deletingAccount||!e.confirmDeleteAccount||e.deleteUsername!==e.user?.username||(e.deletingAccount=!0,t.delete("/api/user").then(()=>{window.location.href="/"},()=>{e.deletingAccount=!1,e.deleteError="Unable to delete the account. Please try again."}))}},wc=function(e,t,o){e.repoId=null,e.repoUrl=null,e.claim=()=>{t.post("/api/repo/claim",{repoId:e.repoId,repoUrl:e.repoUrl}).then(i=>{o.url("/dashboard")},i=>{e.error=i.data,e.claimForm.repoUrl.setValidity("not_found",!1),e.claimForm.repoId.setValidity("not_found",!1)})}},kc=function(e,t,o,i,s){e.user&&!e.user.status&&o.url("/dashboard"),e.watch("user.status",()=>{e.user&&!e.user.status&&o.url("/dashboard")}),e.features=[{key:"anonymize",num:"01",eyebrow:"Anonymize",title:"Double-anonymous,",accent:"your rules.",text:"Choose what reviewers may see: links, images, PDFs, notebooks, GitHub Pages. Add your own terms, with regex if you need it, and pick the expiration date.",cta:"Start an anonymization",href:"/anonymize",url:"anonymous.4open.science/anonymize",img:"/imgs/anonymize.png",alt:"The anonymize form: source repository, terms to redact, options and a live README preview"},{key:"review",num:"02",eyebrow:"Review",title:"Reviewers browse",accent:"the real thing.",text:"Highlighted source code, rendered PDFs, images, and notebooks, in a familiar file explorer. GitHub Pages is also supported.",cta:"Open the example",href:"https://anonymous.4open.science/r/840c8c57-3c32-451e-bf12-0e20be300389/",target:"_self",url:"anonymous.4open.science/r/840c8c57-\u2026",img:"/imgs/explorer.png",alt:"The repository explorer with a file tree and a rendered README"},{key:"manage",num:"03",eyebrow:"Manage",title:"One dashboard,",accent:"until the decision.",text:"Monitor views, edit configuration, remove or update your repository. Program chairs can group submissions under a conference with one shared expiry.",cta:"Open the dashboard",href:"/dashboard",needsUser:!0,url:"anonymous.4open.science/dashboard",img:"/imgs/dashboard.png",alt:"The dashboard listing anonymized repositories with status, views and expiry"}],e.feature=e.features[0].key,e.selectFeature=function(u){e.feature=u},e.featureHref=function(u){return u.needsUser&&!e.user?"/signin":u.href},e.featureTarget=function(u){return u.needsUser&&!e.user?"_self":u.target||void 0},e.featureKeydown=function(u,p){let y={ArrowDown:1,ArrowRight:1,ArrowUp:-1,ArrowLeft:-1,Home:"first",End:"last"}[u.key];if(y===void 0)return;u.preventDefault();let h=e.features.length,b=y==="first"?0:y==="last"?h-1:(p+y+h)%h;e.feature=e.features[b].key,s(()=>{let m=i.document.getElementById("feature-tab-"+e.feature);m&&m.focus()})},e.demoText=`# DeepLearnUtils Developed by Jane Smith at MIT CSAIL. See Smith et al., "Attention That Works," 2026. -Contact: jane.smith@mit.edu`,e.demoTerms="Jane Smith, Smith, MIT CSAIL, jane.smith@mit.edu",e.demoParts=function(){let u=(e.demoTerms||"").split(/[,\n]/).map(m=>m.trim()).filter(Boolean).sort((m,w)=>w.length-m.length),p=m=>m.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");if(!u.length)return[{text:e.demoText}];let y=new RegExp("("+u.map(p).join("|")+")","gi"),h={},b=0;return(e.demoText||"").split(y).filter(m=>m!=="").map(m=>{let w=u.find(A=>A.toLowerCase()===m.toLowerCase());return w?(h[w.toLowerCase()]||(h[w.toLowerCase()]=++b),{text:String(h[w.toLowerCase()]),redacted:!0,original:m}):{text:m}})},e.demoCount=()=>e.demoParts().filter(u=>u.redacted).length,e.cards=[{key:"repositories",total:0,label:"repositories anonymized"},{key:"users",total:0,label:"researchers"},{key:"pageViews",total:0,label:"page views"},{key:"pullRequests",total:0,label:"pull requests"}],e.statsEmpty=()=>!!e.stat&&e.cards.every(u=>!u.total);function r(){t.get("/api/stat/").then(u=>{e.stat=u.data,e.cards[0].total=u.data.nbRepositories,e.cards[1].total=u.data.nbUsers,e.cards[2].total=u.data.nbPageViews,e.cards[3].total=u.data.nbPullRequests}).catch(()=>{})}r();function a(u){let p={series:u,bars:[],viewW:100,deltaToday:0,pctChange:0,pctAbs:0,isUp:!0};if(!u||u.length<2)return p;let y=new Array(u.length-1);for(let S=1;S=2){let S=y[h-2];S&&(p.pctChange=(p.deltaToday-S)/S*100)}return p.pctAbs=Math.round(Math.abs(p.pctChange)),p.isUp=p.pctChange>=0,p}e.history={repositories:a([]),users:a([]),pageViews:a([]),pullRequests:a([])},t.get("/api/stat/history?days=60").then(u=>{let p=u.data||[];e.history={repositories:a(p.map(y=>y.nbRepositories||0)),users:a(p.map(y=>y.nbUsers||0)),pageViews:a(p.map(y=>y.nbPageViews||0)),pullRequests:a(p.map(y=>y.nbPullRequests||0))}}).catch(()=>{})},Ec=function(e,t,o,i,s,r){let a=Tt();e.on("routeLeave",function(){$('[data-toggle="tooltip"]').tooltip("dispose")}),e.watch("user.status",()=>{e.user==null&&o.url("/")}),e.user==null&&o.url("/"),a.timeout(()=>{$('[data-toggle="tooltip"]').tooltip()},250),e.quotaExpanded=!1,e.closeQuota=()=>{e.quotaExpanded=!1,Je(()=>document.querySelector(".dashboard-quota > summary")?.focus())},Jt()(document,"click",D=>{e.quotaExpanded&&!D.target.closest?.(".dashboard-quota")&&(e.quotaExpanded=!1)}),e.filtersExpanded=!1,e.projectView="all",e.selectedProject=null,e.projectName="",e.nameSaving=!1,e.nameError="",e.nameMessage="",e.needsAttention=D=>D.status==="error"||D._broken||p(D.status)==="progress"&&D._stale,e.attentionCount=()=>e.dashboardTotals?.attention??e.items.filter(e.needsAttention).length,e.hasProjects=()=>(e.dashboardTotals?.total??e.items.length)>0,e.setProjectView=D=>{e.projectView=D,D==="attention"&&(e.filters.status.error=!0,e.filters.status.progress=!0)},e.idleText=D=>{let ee=Jr(D?.anonymizeDate||D?.lastView)||"";return/ ago$/.test(ee)?"No activity for "+ee.replace(/ ago$/,""):"No activity since "+ee.replace(", "+new Date().getFullYear(),"")},e.projectDetailsId=D=>"project-details-"+encodeURIComponent(D._type+":"+(D._id||D._source||"unknown")),e.showProjectDetails=async D=>{e.selectedProject=D,e.projectName=D.projectName||"",e.nameError="",e.nameMessage="",await Je();let ee=document.getElementById(e.projectDetailsId(D));ee?.focus(),ee?.scrollIntoView?.({block:"nearest"})},e.closeProjectDetails=D=>{e.selectedProject=null,Je(()=>document.querySelector(`[data-project-actions="${encodeURIComponent(D._type+":"+D._id)}"]`)?.focus())},e.saveProjectName=async D=>{if(e.nameSaving||!D._id)return;let ee=e.projectName.trim();if(ee.length>100){e.nameError="Use 100 characters or fewer.";return}e.nameSaving=!0,e.nameError="",e.nameMessage="";try{let ce=await t.post("/api/user/project-name",{type:D._type,id:D._id,name:ee});D.projectName=ce.data.name,D._label=D.projectName||D._fallbackLabel,e.selectedProject===D&&(e.nameMessage=ee?"Project name saved.":"Default project name restored."),C||(e.dashboardCursor=null,await V(),e.selectedProject===D&&(e.selectedProject=e.items.find(Oe=>Oe._type===D._type&&Oe._id===D._id)||null))}catch{e.selectedProject===D&&(e.nameError="The project name could not be saved. Try again.")}finally{e.nameSaving=!1}},e.copyingId=null,e.copyLink=async D=>{if(!D._viewUrl||e.copyingId)return;let ee=new URL(D._viewUrl,s.location.origin).href;e.copyingId=D._type+":"+D._id;try{await Da(ee),e.addToast({title:"Link copied",body:"The anonymous link is ready to share."})}catch{e.addToast({title:"Copy this anonymous link",body:ee})}finally{e.copyingId=null}},e.items=[],e.search="",e.loading=!0,e.statusKeyLabels={ready:"Ready",progress:"Preparing",error:"Error",expired:"Expiring / expired",removed:"Removing / removed"};let u=["queue","download","downloaded","preparing","anonymizing"];function p(D){return D==="ready"||D==="error"?D:D==="expired"||D==="expiring"?"expired":D==="removed"||D==="removing"?"removed":(u.indexOf(D)>-1,"progress")}let y=7200*1e3,h="dashboard.filterPrefs",b={typeFilter:"all",filters:{status:{ready:!0,progress:!0,error:!0,expired:!0,removed:!1}},orderBy:"-anonymizeDate"},m=loadFilterPrefs(h)||{};e.typeFilter=m.typeFilter||b.typeFilter,e.filters={status:Object.assign({},b.filters.status,m.filters&&m.filters.status||{})},e.orderBy=m.orderBy||b.orderBy;let w={_name:{label:"Anonymous ID",defaultDesc:!1},_label:{label:"Project",defaultDesc:!1},anonymizeDate:{label:"Anonymize date",defaultDesc:!0},status:{label:"Status",defaultDesc:!1},lastView:{label:"Last view",defaultDesc:!0},pageView:{label:"Views",defaultDesc:!0},"options.expirationDate":{label:"Expiration",defaultDesc:!1}};e.sortFields=w,e.sortField=()=>e.orderBy.replace(/^-/,""),e.sortDesc=()=>e.orderBy.charAt(0)==="-",e.sortLabel=()=>{let D=w[e.sortField()];return D?D.label:"Custom"},e.isSortedBy=D=>e.sortField()===D,e.setSort=(D,ee)=>{typeof ee!="boolean"&&(ee=e.isSortedBy(D)?!e.sortDesc():!!(w[D]&&w[D].defaultDesc)),e.orderBy=(ee?"-":"")+D},e.toggleSortDirection=()=>{e.setSort(e.sortField(),!e.sortDesc())},e.watchGroup(["typeFilter","orderBy"],()=>{saveFilterPrefs(h,{typeFilter:e.typeFilter,filters:e.filters,orderBy:e.orderBy})}),e.watch("filters",()=>{saveFilterPrefs(h,{typeFilter:e.typeFilter,filters:e.filters,orderBy:e.orderBy})},!0),r.load().then(D=>{e.quota=D},console.error);function A(D,ee,ce,Oe,ke,de){D.pageView||(D.pageView=0),D.lastView||(D.lastView=""),D.options=D.options||{},D.options.terms=(D.options.terms||[]).filter(be=>be),D._id=ee||"",D._source=Oe,D._broken=!ee,D._name=ee||Oe||"(unnamed)",D._fallbackLabel=D._type==="gist"?"Gist "+(ee||Oe||"without an ID"):Oe||ce||D._name,D._label=D.projectName||D._fallbackLabel,D._editUrl=ee?ke:null,D._viewUrl=ee?de:null,D._broken&&(D.status="error",D.statusMessage="incomplete_record"),D._statusKey=p(D.status);let ie=D.anonymizeDate||D.lastView;if(D._stale=D._statusKey==="progress"&&!!ie&&Date.now()-new Date(ie).getTime()>y,D.status==="expired"||D.status==="expiring")D._expiry={kind:"expired",date:D.options.expirationDate},D._expiry.label=xr(D.options.expirationDate)||void 0;else if(D.status!=="ready")D._expiry={kind:"none"};else if(D.options.expirationMode==="never"||!D.options.expirationDate)D._expiry={kind:"never"};else{D._expiry={kind:"date",date:D.options.expirationDate};let be=new Date(D.options.expirationDate).getTime()-Date.now();if(be>0&&be<=168*3600*1e3){let Ae=Math.max(1,Math.round(be/36e5)),Ze=Math.round(be/864e5);D._expiry.soon=Ae<48?"in "+Ae+(Ae===1?" hour":" hours"):"in "+Ze+" days"}}return D}function S(D){return t.get(D).then(ee=>ee.data||[],ee=>(console.error(ee),[]))}function R(){return e.loading=!0,i.all([S("/api/user/anonymized_repositories"),S("/api/user/anonymized_pull_requests"),S("/api/user/anonymized_gists")]).then(D=>{let ee=D[0],ce=D[1],Oe=D[2],ke=[];ee.forEach(de=>{de._type="repo";let ie=de.source||{};ke.push(A(de,de.repoId,de.repoId,ie.fullName,"/anonymize/"+de.repoId,"/r/"+de.repoId+"/"))}),ce.forEach(de=>{de._type="pr";let ie=de.source||{};ke.push(A(de,de.pullRequestId,de.pullRequestId,ie.repositoryFullName?ie.repositoryFullName+"#"+ie.pullRequestId:void 0,"/pull-request-anonymize/"+de.pullRequestId,"/pr/"+de.pullRequestId+"/"))}),Oe.forEach(de=>{de._type="gist";let ie=de.source||{};ke.push(A(de,de.gistId,de.gistId,ie.gistId,"/gist-anonymize/"+de.gistId,"/gist/"+de.gistId+"/"))}),e.items=ke,e.removedCount=ke.filter(de=>de._statusKey==="removed").length,e.loading=!1})}let g=0,C=!1;e.dashboardCursor=null,e.dashboardError="";function I(D){let ee=D.source||{};return D._type==="repo"?A(D,D.repoId,D.repoId,ee.fullName,"/anonymize/"+D.repoId,"/r/"+D.repoId+"/"):D._type==="pr"?A(D,D.pullRequestId,D.pullRequestId,ee.repositoryFullName?ee.repositoryFullName+"#"+ee.pullRequestId:void 0,"/pull-request-anonymize/"+D.pullRequestId,"/pr/"+D.pullRequestId+"/"):A(D,D.gistId,D.gistId,ee.gistId,"/gist-anonymize/"+D.gistId,"/gist/"+D.gistId+"/")}function V(D=!1){if(C)return R();let ee=++g;return e.loading=!D,e.loadingMore=D,e.dashboardError="",t.get("/api/user/dashboard",{params:{q:e.search,type:e.typeFilter,sort:e.orderBy,statuses:Object.keys(e.filters.status).filter(ce=>e.filters.status[ce]!==!1).join(",")||"none",attention:String(e.projectView==="attention"),cursor:D?e.dashboardCursor:void 0}}).then(ce=>{if(ee===g){if(!Array.isArray(ce.data?.items))return C=!0,R();e.items=(D?e.items:[]).concat(ce.data.items.map(I)),e.dashboardCursor=ce.data.cursor,e.dashboardTotals=ce.data,D||te()}},ce=>{if(ee===g){if(ce.status===404)return C=!0,R();e.dashboardError="Projects could not be loaded. Please try again."}}).finally(()=>{ee===g&&(e.loading=!1,e.loadingMore=!1)})}e.loadMoreProjects=()=>V(!0);let q;e.watchGroup(["search","typeFilter","orderBy","projectView"],()=>{C||(q&&a.timeout.cancel(q),q=a.timeout(()=>V(),150))},!1),e.watch("filters",()=>{C||V()},!0,!1),e.on("dispose",()=>{g++}),V(),e.openItem=(D,ee)=>{if(!D._viewUrl)return;let ce=ee&&ee.target;ce&&ce.closest&&ce.closest("a, button, .dropdown, input")||(s.location.href=D._viewUrl)},e.hiddenStatusCount=()=>Object.keys(e.filters.status).filter(D=>e.filters.status[D]===!1).length,e.hasHiddenStatus=()=>e.hiddenStatusCount()>0;let j=()=>Object.keys(e.statusKeyLabels);e.onlyRemovedShown=()=>j().every(D=>D==="removed"==(e.filters.status[D]!==!1)),e.isActiveDefault=()=>j().every(D=>D==="removed"==(e.filters.status[D]===!1)),e.statusView=()=>e.projectView==="attention"?"attention":e.onlyRemovedShown()?"removed":e.filters.status.removed===!1?"active":"custom",e.setStatusView=D=>{if(D==="attention")return e.setProjectView("attention");e.projectView="all",j().forEach(ee=>{e.filters.status[ee]=D==="removed"?ee==="removed":ee!=="removed"})},e.statusChipKeys=()=>{let D=e.statusView();return D==="removed"?[]:j().filter(ee=>e.filters.status[ee]===!1&&!(ee==="removed"&&D!=="custom"))},e.removedCount=null;function te(){if(C){e.removedCount=e.items.filter(ee=>ee._statusKey==="removed").length;return}let D=e.dashboardTotals;!D||e.projectView!=="all"||e.search.trim()||e.typeFilter!=="all"||(e.isActiveDefault()?e.removedCount=Math.max(0,D.total-D.filtered):e.onlyRemovedShown()&&(e.removedCount=D.filtered))}e.showViewTabs=()=>e.statusView()!=="active"||e.attentionCount()>0||e.removedCount>0||e.removedCount==null&&!!e.dashboardTotals&&e.dashboardTotals.total>e.dashboardTotals.filtered,e.hasActiveFilters=()=>e.projectView!=="all"||e.typeFilter!=="all"||e.search.trim().length>0||Object.keys(e.filters.status).some(D=>e.filters.status[D]===!1),e.showClearFilters=()=>e.search.trim().length>0||e.typeFilter!=="all"||e.statusChipKeys().length>0,e.isPlainView=()=>!e.showClearFilters(),e.clearFilters=()=>{let D=e.statusView();e.typeFilter="all",e.search="",e.setStatusView(D==="removed"?"removed":"active")};function Y(D,ee,ce,Oe){t.get("/api/repo/"+D).then(async ke=>{let de=Oe!==void 0&&Oe!==ke.data.status;for(let ie of e.items)if(ie._type==="repo"&&ie.repoId==D){de=de||ie.status!==ke.data.status;let be=e.needsAttention(ie);ie.status=ke.data.status,ie.statusMessage=ke.data.statusMessage,ie._statusKey=p(ie.status),ie._statusKey!=="progress"&&(ie._stale=!1);let Ae=e.needsAttention(ie);e.dashboardTotals&&be!==Ae&&(e.dashboardTotals.attention=Math.max(0,e.dashboardTotals.attention+(Ae?1:-1)));break}if(de&&!C){e.dashboardCursor=null;let ie=e.selectedProject;await V(),ie&&e.selectedProject===ie&&(e.selectedProject=e.items.find(be=>be._type===ie._type&&be._id===ie._id)||null)}if(ke.data.status=="ready"||ke.data.status=="error"||ke.data.status=="removed"||ke.data.status=="expired"){ee(ke.data);return}a.timeout(()=>Y(D,ee,ce,ke.data.status),2500)},ce)}let oe=D=>D==="repo"?"repository":D==="gist"?"gist":"pull request",Ce=D=>D==="repo"?"/api/repo":D==="gist"?"/api/gist":"/api/pr";e.removeItem=D=>{let ee=oe(D._type);if(confirm(`Are you sure that you want to remove the ${ee} ${D._id}?`)){let ce=st({title:`Removing ${D._id}...`,date:new Date,body:`The ${ee} ${D._id} is going to be removed.`});e.addToast(ce);let Oe=`${Ce(D._type)}/${D._id}`;t.delete(Oe).then(()=>{D._type==="repo"?Y(D._id,()=>{ce.title=`${D._id} is removed.`,ce.body=`The ${ee} ${D._id} is removed.`},void 0,D.status):(ce.title=`${D._id} is removed.`,ce.body=`The ${ee} ${D._id} is removed.`,V())},ke=>{ce.title=`Error during the removal of ${D._id}.`,ce.body=ke.body,V()})}},e.refreshItem=D=>{let ee=oe(D._type),ce=st({title:`Refreshing ${D._id}...`,date:new Date,body:`The ${ee} ${D._id} is going to be refreshed.`});e.addToast(ce);let Oe=de=>{ce.title=`Error during the refresh of ${D._id}.`,ce.body=de.data?.error||de.body||"The refresh could not be completed. Please try again.",V()},ke=`${Ce(D._type)}/${D._id}/refresh`;t.post(ke).then(()=>{D._type==="repo"?Y(D._id,de=>{if(de.status!=="ready"){Oe({body:de.statusMessage||`The repository is ${de.status}.`});return}ce.title=`${D._id} is refreshed.`,ce.body=`The ${ee} ${D._id} is refreshed.`},Oe,D.status):(ce.title=`${D._id} is refreshed.`,ce.body=`The ${ee} ${D._id} is refreshed.`,V())},Oe)},e.extendItem=D=>{let ee=oe(D._type),ce=st({title:`Extending ${D._id}...`,date:new Date,body:`The expiration of ${ee} ${D._id} is being extended.`});e.addToast(ce);let Oe=`${Ce(D._type)}/${D._id}/extend`;t.post(Oe).then(ke=>{let de=ke?.data?.expirationDate?` until ${new Date(ke.data.expirationDate).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})}`:"";D._type==="repo"?Y(D._id,()=>{ce.title=`${D._id} is extended.`,ce.body=`${ee} ${D._id} is extended${de}.`},void 0,D.status):(ce.title=`${D._id} is extended.`,ce.body=`${ee} ${D._id} is extended${de}.`,V())},ke=>{ce.title=`Error during the extension of ${D._id}.`;let de=ke.data&&ke.data.error;ce.body=de||ke.body,de&&Object.prototype.hasOwnProperty.call(fo.ERRORS,de)&&(ce.body=fo.ERRORS[de]),V()})},e.itemFilter=D=>{if(e.projectView==="attention"&&!e.needsAttention(D)||e.typeFilter!=="all"&&D._type!==e.typeFilter||e.filters.status[D._statusKey]===!1)return!1;let ee=e.search.trim().toLowerCase();return!!(ee.length==0||D._label&&String(D._label).toLowerCase().indexOf(ee)>-1||D._source&&String(D._source).toLowerCase().indexOf(ee)>-1||D._id&&String(D._id).toLowerCase().indexOf(ee)>-1||D.conference&&String(D.conference).toLowerCase().indexOf(ee)>-1)}};var Sc=function(e,t,o){let i=Tt();e.repoId=o.repoId,e.reviewUrl=window.location.origin+"/r/"+encodeURIComponent(o.repoId)+"/",e.repo=null,e.progress=0,e.rateLimitResetAt=0,e.rateLimitCountdown="",e.shareUrl=(window.location?.origin||"")+"/r/"+encodeURIComponent(e.repoId)+"/",e.copied=!1;let s=null;e.copyShareUrl=async()=>{try{await Da(e.shareUrl),e.copied=!0,s&&i.timeout.cancel(s),s=i.timeout(()=>{e.copied=!1},2e3)}catch{e.addToast?.({title:"Copy this anonymous link",body:e.shareUrl})}},e.selectShareUrl=h=>{let b=window.getSelection?.();if(!b||!h?.target)return;let m=document.createRange();m.selectNodeContents(h.target),b.removeAllRanges(),b.addRange(m)};var r=null;let a=null,u=!1;function p(h){e.rateLimitResetAt=h,r&&i.interval.cancel(r);function b(){var m=Math.max(0,Math.ceil((h-Date.now())/1e3));if(m<=0)e.rateLimitCountdown="",e.rateLimitResetAt=0,i.interval.cancel(r),r=null;else{var w=Math.floor(m/60),A=m%60;e.rateLimitCountdown=w>0?w+"m "+A+"s":A+"s"}}b(),r=i.interval(b,1e3)}e.on("dispose",function(){u=!0,r&&i.interval.cancel(r),a&&i.timeout.cancel(a)});function y(h){if(!h)return h;var b=h.match(/^rate_limited:(\d+)$/);return b?(p(parseInt(b[1],10)),null):(e.rateLimitResetAt=0,h)}e.getStatus=()=>{u||t.get("/api/repo/"+e.repoId,{repoId:e.repoId,repoUrl:e.repoUrl}).then(h=>{if(!u){e.repo=h.data,h.data.rateLimitResetAt?p(h.data.rateLimitResetAt):e.repo.statusMessage=y(e.repo.statusMessage),e.repo.status=="ready"?e.progress=100:e.repo.status=="queue"?e.progress=10:e.repo.status=="downloaded"?e.progress=50:e.repo.status=="download"||e.repo.status=="preparing"?e.progress=25:e.repo.status=="anonymizing"&&(e.progress=75);var b=!["ready","removed","expired"].includes(e.repo.status);e.repo.status=="error"&&!e.rateLimitResetAt&&(b=!1),b&&(a=i.timeout(e.getStatus,2e3))}},h=>{e.error=h.data.error})},e.getStatus()},Ki=function(e,t,o,i,s,r,a){gc(),e.renderRedacted=Vi,e.sourceUrl="",e.workspaceOpen=!1,e.sourceUrlError="",e.previewStatus="idle",e.sourceLoading=!1,e.mobilePane="settings";let u=window.matchMedia?.("(max-width: 767px)");e.mobileWorkspace=!!u?.matches,u?.addEventListener&&Jt()(u,"change",k=>{e.mobileWorkspace=k.matches}),e.selectMobilePane=k=>{e.mobilePane=k};let p=0,y=!1,h=new Set,b=(k,_=!1)=>!y&&k.generation===p&&k.url===e.sourceUrl.trim()&&k.connection===e.githubConnection&&(!_||k.branch===e.source.branch),m=()=>{let k={generation:p,url:e.sourceUrl.trim(),connection:e.githubConnection,branch:e.source.branch};return h.add(k),e.sourceLoading=!0,k},w=k=>{h.delete(k),y||(e.sourceLoading=[...h].some(_=>b(_)))};e.on("dispose",()=>{y=!0,p++});let A=null,S=k=>k.gistId&&!k.repo?"gist:"+k.gistId.toLowerCase():(k.owner+"/"+k.repo).toLowerCase()+(k.pullRequestId?"/pull/"+k.pullRequestId:""),R=Qr(e,["sourceUrl","terms","repoId","pullRequestId","gistId","source","options","conference","githubConnection"],"anonymize:"+(s.path?.()||"")),g=null,C=null,I=null;e.hostingReview=!1,e.previewExpanded=!1,e.taskValidationError="",e.editRepository=()=>{e.mobilePane="settings",e.previewExpanded=!1,Je(()=>document.querySelector(".anonymize-fields .is-invalid")?.focus())},e.submitRepository=k=>{if(e.taskValidationError="",!(e.sourceLoading||e.billingBusy||e.hostingSaving||e.billingPending)){if(xe()||e.anonymize?.invalid||e.sourceUrlError){e.taskValidationError="Check the highlighted fields before continuing.",e.editRepository();return}return e.hostingNeedsPayment()?e.checkoutRepository(Ti(e.hostingChoice())?e.hostingChoice():""):e.anonymizeRepo(k)}},e.hostingPayment=!1,e.hostingAlternatives=!1,e.hostingPrice=k=>k.amount==null?"Price shown at checkout":new Intl.NumberFormat(void 0,{style:"currency",currency:k.currency,minimumFractionDigits:0,maximumFractionDigits:2}).format(k.amount/100)+(k.interval==="year"?" billed annually":" billed monthly"),e.hostingPlan="",e.hostingSaving=!1,e.selectedHostingPlan=()=>e.authorPlans().find(k=>k.id===e.hostingPlan)||e.hostingSubscriptionPlan?.();let V=()=>t.get("/api/user/quota").then(k=>{e.hostingQuota=k.data});Oi(e,t,async()=>{await V(),e.hostingQuotaBlocked=!1},{confirmedMessage:"Hosting status refreshed. Your draft is ready to continue."}),V().catch(()=>{}),e.authorPlans=()=>(e.billing?.plans||[]).filter(k=>["author_monthly","author_annual"].includes(k.id)),e.conferenceHosting=()=>!!(e.conference&&e.conference_data?.hosting),e.hasAuthorHosting=()=>["author_monthly","author_annual"].includes(e.billing?.allowance?.plan),e.hostingNeedsPayment=()=>!e.billing?.enabled||e.detectedType!=="repo"||e.hasAuthorHosting()||e.isUpdate&&e.role!=="owner"?!1:!!(e.options?.expirationMode==="never"&&!e._existingNever&&!e.repositoryGrants("repo_never").length||!e.conferenceHosting()&&e.hostingQuotaBlocked),e.repositoryGrants=k=>(e.billing?.grants||[]).filter(_=>_.planId===k&&_.scope===`repo:${e.repoId}`&&["active","paid","past_due"].includes(_.status)&&new Date(_.until).getTime()>Date.now()),e.repositoryAddonPlans=()=>(e.billing?.plans||[]).filter(k=>Ti(k.id)&&(["repo_extend","repo_pack"].includes(k.id)||!e.repositoryGrants(k.id).length)),e.hostingOneTimePlans=()=>{let k=_=>_.map(z=>(e.billing?.plans||[]).find(Z=>Z.id===z&&!e.repositoryGrants(z).length)).filter(Boolean);return e.options?.expirationMode==="never"&&!e._existingNever&&!e.repositoryGrants("repo_never").length?k(["repo_never"]):e.hostingQuotaBlocked&&!e.conferenceHosting()?k(["repo_slot","repo_pack"]):[]},e.hostingOneTime=()=>e.hostingOneTimePlans()[0];let q=["free","repo_slot"];e.liveUpdatesIncluded=()=>{if(!e.billing?.enabled||e.detectedType!=="repo"||e.isUpdate&&e.role!=="owner"||e.conferenceHosting()||e.hasAuthorHosting())return!0;let k=e.billing?.allowance?.plan;return k&&!q.includes(k)?!0:e.repositoryGrants("author_pass").length>0||e.repositoryGrants("repo_pack").length>0},e.liveUpdatesPrice=()=>{let k=(e.billing?.plans||[]).find(_=>_.id==="author_pass");return k?.amount!=null?e.billingAmount(k):""},e.showHostingOptions=()=>{e.mobilePane="settings",Je(()=>document.getElementById("repository-hosting")?.scrollIntoView({block:"start",behavior:"smooth"}))},e.neverExpireTag=()=>{if(e.hasAuthorHosting())return"Included in your subscription";if(e.repositoryGrants("repo_never").length)return"Paid for this repository";let k=(e.billing?.plans||[]).find(_=>_.id==="repo_never");return k?.amount!=null?`${e.billingAmount(k)} once, or with a subscription`:"Subscription or one-time add-on"},e.hostingCycle="author_annual",e.hostingSubscriptionPlan=()=>e.authorPlans().find(k=>k.id===e.hostingCycle)||e.authorPlans().find(k=>k.interval==="year")||e.authorPlans()[0],e.hostingAnnualSavings=()=>{let k=e.authorPlans().find(z=>z.interval==="month")?.amount,_=e.authorPlans().find(z=>z.interval==="year")?.amount;return k&&_&&_e.hostingOneTimePlans().concat(e.authorPlans().length?[e.hostingSubscriptionPlan()]:[]),e.hostingOptionName=k=>({repo_slot:"Add this repository",repo_pack:"Paper pack",repo_never:"Never expire",author_annual:"Author subscription",author_monthly:"Author subscription"})[k.id]||k.name,e.hostingOptionBlurb=k=>({repo_slot:"Hosted outside your free repositories. Refresh it by hand.",repo_pack:"Adds automatic updates for 180 days and keeps the link online for a year.",repo_never:"This link never expires. No subscription."})[k.id]||`${k.repositories} repositories, ${e.billingBytes(k.storage)}, automatic updates and links that never expire.`,e.hostingChoice=()=>{let k=e.hostingOneTimePlans();return k.some(_=>_.id===e.hostingPlan)||e.authorPlans().some(_=>_.id===e.hostingPlan)?e.hostingPlan:k[0]?.id||e.hostingSubscriptionPlan()?.id||""},e.checkoutRepository=async(k="")=>{if(!(e.hostingSaving||e.billingBusy||!e.billing?.csrf||e.sourceLoading)){e.hostingSaving=!0,e.billingError="";try{let _=R.checkpoint(),z=JSON.stringify(_);(!C||z!==I)&&(C=(await t.post("/api/billing/draft",{path:s.path(),values:_},{headers:{"x-csrf-token":e.billing.csrf}})).data.id,I=z);let Z=e.authorPlans().find(pe=>pe.id===e.hostingPlan)||e.hostingSubscriptionPlan();if(!k&&!Z)throw new Error("No author plan available");await e.checkout(k||Z.id,k?e.repoId:"",{draftId:C})}catch{e.billingError="Your draft could not be saved for checkout. Your form is unchanged. Please try again."}finally{e.hostingSaving=!1}}},e.useDatedHosting=()=>{e.options.expirationMode="remove"},e.discardDraft=async()=>{R.discard(),e.workspaceOpen=!!e.sourceUrl,e.error=null,e.sourceUrl?await e.urlSelected(!0):(p++,e.sourceLoading=!1,e.detectedType=null,e.details=null,e.sourceUrlError="",ge.cancel(),Re.cancel(),Fe.cancel(),e.previewStatus="idle")},e.githubConnection=void 0,e.githubConnections=null,e.gistOAuthRequired=!1,e.gistAppRequired=!1;let j=()=>{let k={};for(let _ of["sourceUrl","terms","repoId","pullRequestId","gistId","source","options","conference","githubConnection"])k[_]=e[_];sessionStorage.setItem("github-access-draft",JSON.stringify({path:s.path(),savedAt:Date.now(),draft:k}))};e.connectGistApp=()=>{j(),window.location.href="/github/app/login?returnTo="+encodeURIComponent(s.path())},e.connectGistOAuth=()=>{j(),window.location.href="/github/login?returnTo="+encodeURIComponent(s.path())},e.grantGitHubAccess=()=>{j();let k=s.path(),_=be(e.sourceUrl)||"",z=e.githubConnections?.appConnected?"/github/app/install":"/github/app/login";window.location.href=z+"?returnTo="+encodeURIComponent(k)+"&repository="+encodeURIComponent(_)+"&install=1"},e.chooseGitHubConnection=async k=>{e.githubConnection=k,e.readme="",e.sourceUrl&&await Ze()},e.detectedType=null,e.repoId="",e.pullRequestId="",e.gistId="",e.terms="",e.defaultTerms="",e.branches=[],e.source={branch:"",commit:""},e.options={expirationMode:"remove",expirationDate:new Date,update:!1,image:!0,pdf:!0,notebook:!0,link:!0,body:!0,title:!0,origin:!1,diff:!0,content:!0,comments:!0,username:!0,date:!0};function te(){let k=new Date;return k.setMonth(k.getMonth()+6),k}e.options.expirationDate=te();function Y(k){let _=k.getFullYear(),z=String(k.getMonth()+1).padStart(2,"0"),Z=String(k.getDate()).padStart(2,"0");return`${_}-${z}-${Z}`}e.minExpirationDate=Y(new Date);let oe=()=>{let k=new Date,_=new Date(k);if(_.setFullYear(_.getFullYear()+1),e.billing?.enabled&&e.detectedType==="repo"&&!e.hasAuthorHosting()){_=new Date(k),_.setMonth(_.getMonth()+(e.billing.freeExpirationMonths||5));for(let pe of e.repositoryGrants("repo_extend"))new Date(pe.until)>_&&(_=new Date(pe.until));e.conference_data?.endDate&&new Date(e.conference_data.endDate)>_&&(_=new Date(e.conference_data.endDate)),e._savedExpirationDate&&e._savedExpirationDate>_&&(_=new Date(e._savedExpirationDate));let z=e.options?.expirationDate,Z=e._savedExpirationDate&&z instanceof Date&&z.getTime()===e._savedExpirationDate.getTime();z instanceof Date&&z>_&&!Z&&(e.options.expirationDate=new Date(_))}e.maxExpirationDate=Y(_)};oe(),e.watch(()=>[e.billing,e.repoId,e.conference_data,e.isUpdate,e._savedExpirationDate,e.options?.expirationMode,e.detectedType],oe,!0,!1),e.anonymize_readme="",e.readme="",e.html_readme="",e.isUpdate=!1,e.userRepos=[],e.userReposStatus="idle",e.userRepoFilter="",e.loadUserRepos=(k=!1)=>{e.userReposStatus!=="loading"&&(e.userReposStatus="loading",t.get("/api/user/all_repositories",k?{params:{force:"1"}}:{}).then(_=>{if(y)return;let z=Array.isArray(_.data)?_.data.filter(Z=>Z&&Z.fullName):[];e.userRepos=z.sort((Z,pe)=>Z.fullName.localeCompare(pe.fullName,void 0,{sensitivity:"base"})),e.userReposStatus="ready"},()=>{y||(e.userReposStatus="error")}))},e.filteredUserRepos=()=>{let k=String(e.userRepoFilter||"").trim().toLowerCase(),_=e.userRepos||[];return k?_.filter(z=>z.fullName.toLowerCase().includes(k)):_},e.selectUserRepo=k=>{if(k?.fullName)return e.sourceUrl="https://github.com/"+k.fullName,e.urlSelected()},!i.repoId&&!i.pullRequestId&&!i.gistId&&Promise.resolve().then(()=>{y||e.loadUserRepos()}),e.previousConfigurations=[],e.previousConfigurationId="";let Ce,D=k=>String(k||"").replace(/\/$/,"").replace(/\.git$/i,"").toLowerCase();async function ee(){if(e.isUpdate||i.repoId||i.pullRequestId||i.gistId)return;let k={generation:p,url:e.sourceUrl.trim(),connection:e.githubConnection};try{Ce||(Ce=t.get("/api/user/anonymized_repositories").then(Z=>Z.data));let _=await Ce;if(!b(k))return;let z=D(be(k.url));e.previousConfigurations=_.filter(Z=>Z.repoId&&Z.options&&D(Z.source?.fullName)===z).sort((Z,pe)=>(Date.parse(pe.anonymizeDate)||0)-(Date.parse(Z.anonymizeDate)||0)),e.previousConfigurationId=e.previousConfigurations[0]?.repoId||""}catch{Ce=void 0}}e.sourceSummary=()=>{let k=String(e.sourceUrl||""),_=/github\.com\/([^/\s]+\/[^/\s]+)\/pull\/(\d+)/i.exec(k);return _?_[1]+" \xB7 PR #"+_[2]:(_=/gist\.github\.com\/([^/\s]+)\/([0-9a-f]{8,})/i.exec(k),_?_[1]+" \xB7 gist "+(_[2].length>12?_[2].slice(0,7)+"\u2026"+_[2].slice(-4):_[2]):"")},e.previewId=()=>e.detectedType==="pr"?e.pullRequestId:e.detectedType==="gist"?e.gistId:e.repoId,e.previewPath=()=>{let k=e.previewId();return k?(e.detectedType==="pr"?"/pr/":e.detectedType==="gist"?"/gist/":"/r/")+encodeURIComponent(k)+"/":""},e.previewUrl=()=>{let k=e.previewPath();return k?"anonymous.4open.science"+k.replace(/\/$/,""):""},e.previewRedactions=()=>{let k=Z=>typeof Z=="string"?(Z.match(ho)||[]).length:0;if(e.detectedType==="repo")return k(String(e.html_readme||"").replace(/<[^>]*>/g," "));let _=e.detectedType==="pr"?fe:he,z=0;return _.forEach(Z=>{z+=k(Z)}),z},e.previewTreeOpen={};let ce=(k,_)=>k.localeCompare(_,void 0,{sensitivity:"base"}),Oe=k=>k.slice(k.lastIndexOf("/")+1);e.previewTree=()=>{if(!e.preserve.commit||!U)return[];let k=(U.dirs.get("")?.files||[]).find(Z=>/^readme(\.|$)/i.test(Z)),_=[],z=(Z,pe)=>{let we=U.dirs.get(Z);if(we){for(let Be of[...we.dirs].sort((kt,ht)=>ce(Oe(kt),Oe(ht)))){let kt=!!e.previewTreeOpen[Be];_.push({path:Be,name:Oe(Be),dir:!0,open:kt,depth:pe}),kt&&z(Be,pe+1)}for(let Be of[...we.files].sort((kt,ht)=>ce(Oe(kt),Oe(ht))))_.push({path:Be,name:Oe(Be),dir:!1,readme:Be===k,depth:pe})}};return z("",0),_},e.previewTreeCount=()=>{let k=e.preserve.commit&&U?U.dirs.get(""):null;return k?k.dirs.length+k.files.length:0};function ke(){Je(()=>{let k=document.querySelector(".reviewer-preview .rp-side"),_=k?.querySelector(".rp-files > li.active");if(!k||!_||!k.clientHeight)return;let z=_.getBoundingClientRect().bottom-k.getBoundingClientRect().top+k.scrollTop;z>k.scrollTop+k.clientHeight&&(k.scrollTop=z-k.clientHeight+_.offsetHeight*2)})}e.togglePreviewFolder=k=>{e.previewTreeOpen[k]=!e.previewTreeOpen[k]},e.existingConfigurationUrl=()=>{let k=e.previousConfigurations.find(_=>_.repoId===e.previousConfigurationId);return k?"/anonymize/"+encodeURIComponent(k.repoId):null};function de(k){t.get("/api/user/default").then(_=>{let z=_.data;z.terms&&(e.defaultTerms=z.terms.join(` -`)),e.options=Object.assign({},e.options,z.options),e.options.expirationDate=z.options&&z.options.expirationDate?new Date(z.options.expirationDate):te(),!i.repoId&&!i.pullRequestId&&!i.gistId&&!e.anonymize?.terms?.dirty&&(e.terms=e.defaultTerms),k&&k()})}function ie(k,_,z){e.anonymize&&e.anonymize[k]&&e.anonymize[k].setValidity(_,z)}function be(k){try{let _=parseGithubUrl(k);if(_&&_.owner&&_.repo)return _.owner+"/"+_.repo}catch{}return null}e.accessRepairAllowed=!1,e.repairingGitHubAccess=!1,e.accessRepairMessage="",e.repairGitHubAccess=async()=>{if(!e.accessRepairAllowed||e.repairingGitHubAccess||!e.githubConnections?.appEnabled||!i.repoId||e.role!=="owner"||e.githubConnection!=="github-app"||be(e.sourceUrl)!==e._originalFullName)return;e.repairingGitHubAccess=!0,e.accessRepairMessage="";let k=m();try{let _=await t.get("/github/connections");if(e.githubConnections=_.data,!_.data.appEnabled)return;let z=await t.post("/github/connections/migrate",{type:"repository",id:i.repoId,connection:"github-app"},{headers:{"X-CSRF-Token":_.data.csrf}});if(!b(k))return;e.error=null,z.data.fullName&&(e._originalFullName=z.data.fullName,e.source.fullName=z.data.fullName,e.sourceUrl="https://github.com/"+z.data.fullName),e.accessRepairMessage="GitHub access repaired. Your anonymous URL and published commit are unchanged.",await e.urlSelected(!0)}catch{b(k)&&(e.accessRepairMessage="Unable to repair GitHub access. Check the App's repository permissions in Manage access, then retry. Your published snapshot has not been replaced.")}finally{e.repairingGitHubAccess=!1,w(k)}},e.reconnectingSource=!1,e.reconnectRepositoryId=void 0,e.reconnectSource=async()=>{if(confirm("Reconnect to the repository currently at this GitHub URL? Review its branch and commit before saving. Saving will replace the published snapshot.")){e.reconnectingSource=!0,e.reconnectRepositoryId=void 0,e.source.commit="",e.source.branch="",e.readme="",e.branches=[];try{await it()}catch{}}};function Ae(){return e.reconnectingSource||!e.isUpdate||!e._originalRepositoryID?void 0:be(e.sourceUrl)===e._originalFullName?e._originalRepositoryID:void 0}async function Ze(){e._preservingDraft=!0;try{await e.urlSelected(!0)}finally{e._preservingDraft=!1}}async function nt(){let k=new URLSearchParams(window.location.search).get("billingDraft");if(k){R.restore();try{let z=(await t.get("/api/billing/draft/"+encodeURIComponent(k))).data;if(z.path!==s.path())throw new Error("Wrong task");g=z.values.conference||null;for(let Z of["sourceUrl","terms","repoId","source","options","conference","githubConnection"])Object.prototype.hasOwnProperty.call(z.values,Z)&&(e[Z]=z.values[Z]);return e.options?.expirationDate&&(e.options.expirationDate=new Date(e.options.expirationDate)),C=z.id,I=JSON.stringify(R.checkpoint()),e.draftRestored=!0,e.hostingReview=!0,e.sourceUrl&&await Ze(),s.replace?.(s.path()),!0}catch{e.billingError="The checkout draft could not be restored. Retry by reloading this page; any local draft is still available."}}let _;try{_=JSON.parse(sessionStorage.getItem("github-access-draft")||"null")}catch{return!1}if(!_||_.path!==s.path()||Date.now()-_.savedAt>=30*6e4)return R.restore()?(e.sourceUrl&&await Ze(),!0):!1;R.restore();for(let z of["sourceUrl","terms","repoId","pullRequestId","gistId","source","options","conference","githubConnection"])Object.prototype.hasOwnProperty.call(_.draft,z)&&(e[z]=_.draft[z]);return e.options.expirationDate&&(e.options.expirationDate=new Date(e.options.expirationDate)),await Ze(),sessionStorage.removeItem("github-access-draft"),!0}de(()=>{!i.repoId&&!i.pullRequestId&&!i.gistId&&a(nt,0),i.repoId&&i.repoId!=""&&(e.isUpdate=!0,e.detectedType="repo",e.repoId=i.repoId,t.get("/api/repo/"+e.repoId).then(async k=>{e.accessRepairAllowed=!["removed","archived","preparing","queue","download","removing","expiring"].includes(k.data.status),e.githubConnection=k.data.connection||"oauth",e.sourceUrl="https://github.com/"+k.data.source.fullName,e._originalFullName=k.data.source.fullName,e.terms=k.data.options.terms.filter(_=>_).join(` -`),e.source=k.data.source,e.role=k.data.role||"owner",e._existingNever=k.data.options.expirationMode==="never",e._savedExpirationDate=k.data.options.expirationDate?new Date(k.data.options.expirationDate):null,e.coauthors=k.data.coauthors||[],e._originalBranch=k.data.source.branch,e.options=Object.assign({},e.options,k.data.options),e.conference=k.data.conference,e._originalConference=k.data.conference,e.repositoryID=k.data.source.repositoryID,e._originalRepositoryID=k.data.source.repositoryID,k.data.options.expirationDate&&(e.options.expirationDate=new Date(k.data.options.expirationDate)),A=S(parseGithubUrl(e.sourceUrl)),!await nt()&&(await Promise.all([it(),Ye()]),ae())},()=>{s.url("/404")})),i.pullRequestId&&i.pullRequestId!=""&&(e.isUpdate=!0,e.detectedType="pr",e.pullRequestId=i.pullRequestId,t.get("/api/pr/"+e.pullRequestId).then(async k=>{if(e.githubConnection=k.data.connection||"oauth",e.sourceUrl="https://github.com/"+k.data.source.repositoryFullName+"/pull/"+k.data.source.pullRequestId,e.terms=k.data.options.terms.filter(_=>_).join(` -`),e.source=k.data.source,e.options=Object.assign({},e.options,k.data.options),e.conference=k.data.conference,e._originalConference=k.data.conference,k.data.options.expirationDate&&(e.options.expirationDate=new Date(k.data.options.expirationDate)),A=S(parseGithubUrl(e.sourceUrl)),!await nt())try{await le()}catch{}},()=>{s.url("/404")})),i.gistId&&i.gistId!=""&&(e.isUpdate=!0,e.detectedType="gist",e.gistId=i.gistId,t.get("/api/gist/"+e.gistId).then(async k=>{e.sourceUrl="https://gist.github.com/"+k.data.source.gistId,e.terms=k.data.options.terms.filter(_=>_).join(` -`),e.source=k.data.source,e.options=Object.assign({},e.options,k.data.options),e.conference=k.data.conference,e._originalConference=k.data.conference,k.data.options.expirationDate&&(e.options.expirationDate=new Date(k.data.options.expirationDate)),A=S(parseGithubUrl(e.sourceUrl)),!await nt()&&await Me()},()=>{s.url("/404")}))}),t.get("/github/connections").then(k=>{e.githubConnections=k.data,!i.repoId&&!i.pullRequestId&&!i.gistId&&e.githubConnection===void 0&&k.data.appEnabled&&k.data.appConnected&&(e.githubConnection="github-app",e.sourceUrl&&e.workspaceOpen&&Ze())}).catch(()=>{}),e.urlSelected=async(k=!1)=>{let _=++p;e.previousConfigurations=[],e.previousConfigurationId="";let z;try{z=parseGithubUrl(e.sourceUrl.trim())}catch{e.sourceLoading=!1,ge.cancel(),Re.cancel(),Fe.cancel(),e.previewStatus="idle",e.sourceUrlError=e.sourceUrl?"Please provide a valid GitHub URL.":"",ie("sourceUrl","github",!1);return}let Z=S(z),pe=k||A===Z;A=Z,e.sourceUrlError="",ie("sourceUrl","github",!0);let we=document.activeElement?.id==="sourceUrl-landing";e.workspaceOpen=!0,setTimeout(()=>{let Be=window.document.getElementById("sourceUrl");if(Be){try{Be.setSelectionRange(0,0)}catch{}Be.scrollLeft=0}},50),we&&a(()=>document.getElementById("sourceUrl")?.focus(),0),e.reconnectingSource=!1,e.reconnectRepositoryId=void 0,!pe&&!e.isUpdate&&(e.repoId="",e.pullRequestId="",e.gistId=""),e.details=null,e.branches=[],pe||(e.source={type:"GitHubStream",branch:"",commit:""}),ge.cancel(),Re.cancel(),Fe.cancel(),fe.clear(),he.clear(),e.previewStatus="idle",e.anonymize_readme="",e.readme="",e.html_readme="",e.detectedType=null,e.gistOAuthRequired=!1,e.gistAppRequired=!1,e._preservingDraft=pe;try{z.gistId&&!z.repo?(e.detectedType="gist",e.source={gistId:z.gistId},await Me()):z.pullRequestId?(e.detectedType="pr",e.source={repositoryFullName:z.owner+"/"+z.repo,pullRequestId:z.pullRequestId},await le()):(e.detectedType="repo",ee(),await Promise.all([it(),Ye()]),ae())}catch{}finally{_===p&&(e._preservingDraft=!1)}$('[data-toggle="tooltip"]').tooltip()},$('[data-toggle="tooltip"]').tooltip(),e.watch("source.branch",async()=>{if(e.detectedType!=="repo")return;let k=e.branches.filter(z=>z.name==e.source.branch)[0];if(!k)return;!(!e.reconnectingSource&&e.isUpdate&&e._originalBranch===e.source.branch&&e.source.commit)&&!(e._preservingDraft&&e.source.commit)&&(e.source.commit=k.commit),e.readme=k.readme,await Ye(),ae()}),e.getBranches=async k=>{let _=parseGithubUrl(e.sourceUrl),z=m();try{let Z=await t.get(`/api/repo/${_.owner}/${_.repo}/branches`,{params:{reconnect:e.reconnectingSource?"1":void 0,anonymizedRepoId:e.isUpdate&&i.repoId&&be(e.sourceUrl)===e._originalFullName?i.repoId:void 0,connection:e.githubConnection,force:k===!0||e.reconnectingSource?"1":"0",repositoryID:Ae()}});if(!b(z))return;e.branches=Z.data,e.sourceUnreachable=!1,e.source.branch||(e.source.branch=e.details.defaultBranch);let pe=e.branches.filter(we=>we.name==e.source.branch);pe.length>0&&(!(!e.reconnectingSource&&!k&&e.isUpdate&&!e.options.update&&e._originalBranch===e.source.branch&&e.source.commit)&&!(e._preservingDraft&&e.source.commit)&&(e.source.commit=pe[0].commit),e.readme=pe[0].readme,await Ye(k))}catch(Z){if(!b(z))return;e.branches=[],e.sourceUnreachable=Z&&(Z.status===404||Z.data&&Z.data.error==="repo_not_found");let pe=Z&&Z.data&&Z.data.error||(Z&&Z.status===404?"repo_not_found":"unknown_error");r("ERRORS."+pe).then(we=>{e.toasts=e.toasts||[],e.addToast({title:"Error",date:new Date,body:we}),e.error=we},console.error),typeof ie=="function"&&ie("sourceUrl","missing",!1)}finally{w(z)}};async function it(){let k=parseGithubUrl(e.sourceUrl),_=m();try{ft();let z=await t.get(`/api/repo/${k.owner}/${k.repo}/`,{params:{reconnect:e.reconnectingSource?"1":void 0,anonymizedRepoId:e.isUpdate&&i.repoId&&be(e.sourceUrl)===e._originalFullName?i.repoId:void 0,connection:e.githubConnection,repositoryID:Ae(),force:"1"}});if(!b(_))return;e.details=z.data,e.reconnectingSource&&(e.reconnectRepositoryId=e.details.externalId),e.details&&e.details.id&&(e.repositoryID=e.details.id),e.repoId||(e.repoId=e.details.repo+"-"+generateRandomId(4)),await e.getBranches(e.reconnectingSource)}catch(z){if(!b(_))return;throw z.data&&(r("ERRORS."+z.data.error).then(Z=>{e.addToast({title:"Error",date:new Date,body:Z}),e.error=Z},console.error),tt(z.data.error)),ie("sourceUrl","missing",!1),z}finally{w(_)}}async function Ye(k){if(e.readme&&!k)return e.readme;let _=parseGithubUrl(e.sourceUrl),z=m();try{let Z=await t.get(`/api/repo/${_.owner}/${_.repo}/readme`,{params:{reconnect:e.reconnectingSource?"1":void 0,anonymizedRepoId:e.isUpdate&&i.repoId&&be(e.sourceUrl)===e._originalFullName?i.repoId:void 0,connection:e.githubConnection,force:k===!0?"1":"0",branch:e.source.branch,repositoryID:Ae()}});b(z,!0)&&(e.readme=Z.data)}catch{b(z,!0)&&(e.readme="")}finally{w(z)}}let lt={magicalBraces:!0},ct=k=>k.startsWith("/")&&!k.endsWith("/")&&qn(co(k.slice(1),lt),lt)===k.slice(1),bt=()=>Object.keys(e.preserve.picked).filter(k=>e.preserve.picked[k]).sort().map(k=>"/"+qn(k,lt)),X=k=>"/"+qn(k,lt)+"/**",me=k=>"!/"+qn(k,lt)+"/",M=()=>String(e.preserve.patterns||"").split(` -`).map(k=>k.trim()).filter(Boolean),U=null,F=0,W=null,E=()=>!1;function N(){let k=F+"\0"+e.preserve.patterns;if(k!==W){W=k;try{E=Sa(Ea([...bt(),...M()]))}catch{E=()=>!1}}return E}function O(k){let _=new Map([["",{dirs:[],files:[]}]]);for(let z of k){let Z=z.split("/"),pe="";for(let we=0;we_.startsWith(k+"/"))),U.descendants.get(k)}let B=k=>N()(k);function K(k){let _=H(k),z=0;for(let Z of _)B(Z)&&z++;return z===0?"none":z===_.length?"all":"some"}e.preserve={open:!1,loading:!1,error:"",truncated:!1,commit:"",search:"",expanded:{},picked:{},patterns:"",patternsOpen:!1},e.preserveSummary=()=>{let k=(e.options?.preserveFiles||[]).map(_=>String(_).trim()).filter(Boolean).map(_=>ct(_)?co(_.slice(1),lt):_);return k.length?k.slice(0,2).join(", ")+(k.length>2?` and ${k.length-2} more`:""):"None. Every file is redacted."};async function ne(){let k=e.source?.commit;if(!(U&&e.preserve.commit===k)){e.preserve.loading=!0,e.preserve.error="",U=null;try{let _=parseGithubUrl(e.sourceUrl),z=await t.get(`/api/repo/${_.owner}/${_.repo}/tree`,{params:{commit:k,connection:e.githubConnection,anonymizedRepoId:e.isUpdate&&i.repoId&&be(e.sourceUrl)===e._originalFullName?i.repoId:void 0,repositoryID:Ae()}});if(e.source?.commit!==k)return;U=Eo(O(z.data.files||[])),e.preserve.commit=k,e.preserve.truncated=!!z.data.truncated,e.previewTreeOpen={},ke()}catch{e.preserve.error="The file list could not be loaded from GitHub. You can still use patterns.",e.preserve.patternsOpen=!0}finally{e.preserve.loading=!1}}}e.watch("source.commit",k=>{e.detectedType==="repo"&&k&&e.sourceUrl&&ne().catch(()=>{})}),e.openPreserveFiles=()=>{let k={},_=[];for(let Z of e.options?.preserveFiles||[]){let pe=String(Z).trim();pe&&(!_.length&&ct(pe)?k[co(pe.slice(1),lt)]=!0:_.push(pe))}let z={};for(let Z of Object.keys(k)){let pe=Z.split("/");for(let we=1;we0}),F++,a(()=>{let Z=document.getElementById("preserve-files-dialog");Z?.showModal&&!Z.open&&Z.showModal(),document.getElementById("preserve-files-search")?.focus()},0),ne()},e.closePreserveFiles=()=>{document.getElementById("preserve-files-dialog")?.close?.(),e.preserve.open=!1},e.savePreserveFiles=()=>{e.options.preserveFiles=Ea([...bt(),...M()]),e.closePreserveFiles()},e.preserveRows=()=>{if(!U)return[];let k=N(),_=(we,Be,kt)=>{let ht=!!e.preserve.picked[we],Bn=k(we);return{kind:"file",path:we,label:kt,depth:Be,state:Bn?"all":"none",locked:!ht&&Bn,note:!ht&&Bn?"matched by a pattern":ht&&!Bn?"excluded by a pattern":""}},z=String(e.preserve.search||"").trim().toLowerCase();if(z)return U.files.filter(we=>we.toLowerCase().includes(z)).slice(0,300).map(we=>_(we,0,we));let Z=[],pe=(we,Be)=>{let kt=U.dirs.get(we);for(let ht of kt.dirs){let Bn=!!e.preserve.expanded[ht],Oa=M().includes(X(ht));Z.push({kind:"dir",path:ht,label:ht.slice(we?we.length+1:0)+"/",depth:Be,open:Bn,state:K(ht),locked:!1,note:Oa?"whole folder":""}),Bn&&pe(ht,Be+1)}for(let ht of kt.files)Z.push(_(ht,Be,ht.slice(we?we.length+1:0)))};return pe("",0),Z},e.preserveCount=()=>U?U.files.filter(B).length:0,e.togglePreserveDir=k=>{e.preserve.expanded[k]=!e.preserve.expanded[k]},e.togglePreserveFile=k=>{e.preserve.picked[k]=!e.preserve.picked[k],F++},e.togglePreserveFolder=k=>{let _=X(k),z=me(k),Z=M().filter(we=>we!==_&&we!==z),pe=K(k)==="all"||M().includes(_);for(let we of H(k))e.preserve.picked[we]=!1;F++,e.preserve.patterns=(pe?Z:[...Z,_]).join(` -`),pe&&H(k).some(B)&&(e.preserve.patterns=[...Z,z].join(` -`))};let Q=[".github","","docs"].flatMap(k=>["README.md","README","README.markdown","README.rst","README.txt","readme.md"].map(_=>(k?k+"/":"")+_));e.readmePreserved=()=>{if(e.detectedType!=="repo")return!1;let k=(e.options?.preserveFiles||[]).map(_=>String(_).trim()).filter(Boolean);if(!k.length)return!1;try{let _=Sa(k);return Q.some(z=>_(z))}catch{return!1}};function J(){let k={terms:e.terms&&!e.readmePreserved()?e.terms.split(` -`):[],image:!!e.options.image,link:!!e.options.link,repoId:e.repoId};e.source&&e.source.branch&&(k.branchName=e.source.branch);try{let _=parseGithubUrl(e.sourceUrl);k.repoName=`${_.owner}/${_.repo}`}catch{}return k}function G(k,_,z){let Z=null,pe=0,we=()=>{if(e.detectedType!==k)return;Z&&a.cancel(Z);let Be=++pe;e.previewStatus="loading",Z=a(()=>{Z=null;let kt=_();if(!kt){e.previewStatus="idle";return}t.post("/api/anonymize-preview",kt).then(ht=>{Be===pe&&(z(ht.data,kt),e.previewStatus="ready")}).catch(()=>{Be===pe&&(e.previewStatus="error")})},200)};return we.cancel=()=>{pe++,Z&&a.cancel(Z),Z=null},e.on("dispose",we.cancel),we}e.retryPreview=()=>{e.detectedType==="repo"&&ge(),e.detectedType==="pr"&&Re(),e.detectedType==="gist"&&Fe()};let ge=G("repo",()=>e.readme?{content:e.readme,options:J()}:null,k=>{if(typeof k?.content!="string")throw Error("Invalid preview response");e.anonymize_readme=k.content;let _="";try{let Z=parseGithubUrl(e.sourceUrl),pe=e.source.branch||e.details&&e.details.defaultBranch||"main";_=`https://github.com/${Z.owner}/${Z.repo}/raw/${pe}/`}catch{}let z=renderMD(e.anonymize_readme,_);e.html_readme=z,a(()=>{Prism.highlightAll(),typeof Es=="function"&&document.querySelectorAll(".reviewer-preview .anonymize-preview-body").forEach(Es)},150)});function ae(){!e.anonymize||!e.anonymize.terms||ge()}async function le(){let k=parseGithubUrl(e.sourceUrl),_=m();try{ft();let z=await t.get(`/api/pr/${k.owner}/${k.repo}/${k.pullRequestId}`,{params:{connection:e.githubConnection}});if(!b(_))return;e.details=z.data,e.pullRequestId||(e.pullRequestId=k.repo+"-PR"+k.pullRequestId+"-"+generateRandomId(4))}catch(z){if(!b(_))return;throw z.data&&(r("ERRORS."+z.data.error).then(Z=>{e.addToast({title:"Error",date:new Date,body:Z}),e.error=Z},console.error),tt(z.data.error)),ie("sourceUrl","missing",!1),z}finally{w(_)}}let fe=st(new Map);function De(){let k=new Set,_=e.details&&e.details.pullRequest;if(!_)return k;typeof _.title=="string"&&k.add(_.title),typeof _.body=="string"&&k.add(_.body),typeof _.diff=="string"&&k.add(_.diff);let z=_.comments||[];for(let Z of z)typeof Z.author=="string"&&k.add(Z.author),typeof Z.body=="string"&&k.add(Z.body);return k}let Re=G("pr",()=>{let k=De(),_=Array.from(k);return _.length===0?null:{contents:_,options:J()}},(k,_)=>{if(!Array.isArray(k?.contents)||k.contents.length!==_.contents.length||k.contents.some(pe=>typeof pe!="string"))throw Error("Invalid preview response");let z=_.contents,Z=new Map;for(let pe=0;pefe.set(we,pe))});e.anonymizePrContent=function(k){return k&&(fe.has(k)?fe.get(k):"")};async function Me(){let k=parseGithubUrl(e.sourceUrl),_=m();try{ft(),e.gistOAuthRequired=!1,e.gistAppRequired=!1;let z=await t.get(`/api/gist/source/${k.gistId}`);if(!b(_))return;e.details=z.data,e.gistId||(e.gistId="gist-"+k.gistId.substring(0,6)+"-"+generateRandomId(4))}catch(z){if(!b(_))return;if(z.data?.error==="github_app_reconnect_required"){e.gistAppRequired=!0,ie("sourceUrl","missing",!1);return}if(z.data?.error==="github_oauth_required"){e.gistOAuthRequired=!0,ie("sourceUrl","missing",!1);return}throw z.data&&(r("ERRORS."+z.data.error).then(Z=>{e.addToast({title:"Error",date:new Date,body:Z}),e.error=Z},console.error),tt(z.data.error)),ie("sourceUrl","missing",!1),z}finally{w(_)}}let he=st(new Map);function Ne(){let k=new Set,_=e.details&&e.details.gist;if(!_)return k;typeof _.description=="string"&&k.add(_.description),typeof _.ownerLogin=="string"&&k.add(_.ownerLogin);let z=_.files||[];for(let pe of z)typeof pe.filename=="string"&&k.add(pe.filename),typeof pe.content=="string"&&k.add(pe.content);let Z=_.comments||[];for(let pe of Z)typeof pe.author=="string"&&k.add(pe.author),typeof pe.body=="string"&&k.add(pe.body);return k}let Fe=G("gist",()=>{let k=Ne(),_=Array.from(k);return _.length===0?null:{contents:_,options:J()}},(k,_)=>{if(!Array.isArray(k?.contents)||k.contents.length!==_.contents.length||k.contents.some(pe=>typeof pe!="string"))throw Error("Invalid preview response");let z=_.contents,Z=new Map;for(let pe=0;pehe.set(we,pe)),Ge()});e.anonymizeGistContent=function(k){return k&&(he.has(k)?he.get(k):"")},e.previewGistFiles=[];function Ge(){let k=e.details&&e.details.gist&&e.details.gist.files||[];e.previewGistFiles=k.map(_=>({filename:e.anonymizeGistContent(_.filename),content:e.anonymizeGistContent(_.content),language:_.language}))}e.watch("details.gist.files",Ge,!0),e.watch("terms",Ge);function Pt(){let k=e.conference;if(e.conference_data=null,!k)return;let _=k===g||e.isUpdate&&k===e._originalConference;k!==g&&(g=null),t.get("/api/conferences/"+k).then(z=>{e.conference===k&&(e.conference_data=z.data,e.conference_data.startDate=new Date(e.conference_data.startDate),e.conference_data.endDate=new Date(e.conference_data.endDate),!_&&(e.options.expirationDate=new Date(e.conference_data.endDate),e.options.expirationMode="remove",e.options.update=e.conference_data.options.update,e.options.image=e.conference_data.options.image,e.options.pdf=e.conference_data.options.pdf,e.options.notebook=e.conference_data.options.notebook,e.options.link=e.conference_data.options.link))},()=>{e.conference===k&&(e.conference_data=null)})}function ft(){ie("repoId","used",!0),ie("repoId","format",!0),ie("pullRequestId","used",!0),ie("pullRequestId","format",!0),ie("gistId","used",!0),ie("gistId","format",!0),ie("sourceUrl","used",!0),ie("sourceUrl","missing",!0),ie("sourceUrl","access",!0),ie("sourceUrl","github",!0),ie("commit","exists",!0),ie("conference","activated",!0),ie("terms","format",!0),e.termHints=[]}function xe(){if(e.detectedType==="repo"&&e.options.expirationMode==="never")return!1;let k=e.anonymize&&e.anonymize.expirationDate;return!e.options.expirationDate||k&&k.invalid?(k&&k.setDirty&&k.setDirty(),e.error="Please choose a valid expiration date.",!0):!1}function tt(k){let _=e.detectedType==="pr"?"pullRequestId":e.detectedType==="gist"?"gistId":"repoId";switch(k){case"repoId_already_used":ie(_,"used",!1);break;case"invalid_repoId":ie(_,"format",!1);break;case"options_not_provided":ie(_,"format",!1);break;case"repo_already_anonymized":ie("sourceUrl","used",!1);break;case"invalid_terms_format":ie("terms","format",!1);break;case"repo_not_found":ie("sourceUrl","missing",!1);break;case"repo_not_accessible":ie("sourceUrl","access",!1);break;case"commit_not_found":ie("commit","exists",!1);break;case"conf_not_activated":ie("conference","activated",!1);break}}e.coauthors=e.coauthors||[],e.coauthorResults=[],e.coauthorError="",e.searchCoauthors=()=>{let k=(e.coauthorSearch||"").trim();if(e.coauthorError="",k.length<2){e.coauthorResults=[];return}t.get("/api/user/search/github-users",{params:{q:k}}).then(_=>{let z=new Set((e.coauthors||[]).map(Z=>(Z.username||"").toLowerCase()));e.coauthorResults=(_.data||[]).filter(Z=>!z.has((Z.username||"").toLowerCase()))},()=>{e.coauthorResults=[]})},e.addCoauthor=(k,_)=>{_&&_.preventDefault(),!(!k||!k.username)&&t.post("/api/repo/"+e.repoId+"/coauthors",{username:k.username}).then(z=>{e.coauthors=z.data||[],e.coauthorResults=[],e.coauthorSearch="",e.coauthorError=""},z=>{let Z=z&&z.data&&z.data.error||"unknown_error";e.coauthorError=Z})},e.removeCoauthor=k=>{!k||!k.username||confirm("Remove co-author "+k.username+"?")&&t.delete("/api/repo/"+e.repoId+"/coauthors/"+encodeURIComponent(k.username)).then(_=>{e.coauthors=_.data||[]},_=>{let z=_&&_.data&&_.data.error||"unknown_error";e.coauthorError=z})},e.anonymizeRepo=k=>{if(e.sourceLoading){e.error="Wait for the source to finish loading before saving.";return}if(e.reconnectingSource&&!e.reconnectRepositoryId)return;if(xe()){e.editRepository();return}if(e.anonymize?.invalid||e.sourceUrlError){e.editRepository(),e.error="Please correct the highlighted fields before saving.";return}if(e.hostingNeedsPayment()&&e.options.expirationMode==="never"){e.hostingReview=!0,Je(()=>document.getElementById("repository-hosting")?.scrollIntoView({block:"center"}));return}let _=k.currentTarget||k.target.closest?.("button")||k.target;_.disabled=!0;let z=parseGithubUrl(e.sourceUrl),Z={repoId:e.repoId,terms:e.terms.trim().split(` -`).filter(we=>we),connection:e.githubConnection,fullName:`${z.owner}/${z.repo}`,repository:e.sourceUrl,reconnectRepositoryId:e.reconnectRepositoryId,options:e.options,source:e.source,conference:e.conference};e.details&&(Z.options.pageSource=e.details.pageSource),ft();let pe=e.isUpdate?"/api/repo/"+e.repoId:"/api/repo/";t.post(pe,Z,{headers:{"Content-Type":"application/json"}}).then(()=>{R.clear(),window.location.href="/status/"+e.repoId},we=>{if(we.data){let Be=["quota_exceeded","subscription_required_for_never_expiration"].includes(we.data.error);Be||r("ERRORS."+we.data.error).then(kt=>{e.error=kt},console.error),tt(we.data.error),Be&&(we.data.error==="subscription_required_for_never_expiration"&&(e._existingNever=!1),e.hostingQuotaBlocked=!0,e.hostingReview=!0,Je(()=>document.getElementById("repository-hosting")?.scrollIntoView({block:"center"})))}}).finally(()=>{_.disabled=!1})},e.anonymizeGist=k=>{if(e.sourceLoading){e.error="Wait for the source to finish loading before saving.";return}if(xe())return;if(e.anonymize?.invalid||e.sourceUrlError){e.error="Please correct the highlighted fields before saving.";return}let _=k.currentTarget||k.target.closest?.("button")||k.target;_.disabled=!0;let z=parseGithubUrl(e.sourceUrl),Z={gistId:e.gistId,terms:e.terms.trim().split(` -`).filter(we=>we),source:{gistId:z.gistId},options:e.options,conference:e.conference};ft();let pe=e.isUpdate?"/api/gist/"+e.gistId:"/api/gist/";t.post(pe,Z,{headers:{"Content-Type":"application/json"}}).then(()=>{R.clear(),window.location.href="/gist/"+e.gistId},we=>{we.data&&(r("ERRORS."+we.data.error).then(Be=>{e.error=Be},console.error),tt(we.data.error))}).finally(()=>{_.disabled=!1})},e.anonymizePullRequest=k=>{if(e.sourceLoading){e.error="Wait for the source to finish loading before saving.";return}if(xe())return;if(e.anonymize?.invalid||e.sourceUrlError){e.error="Please correct the highlighted fields before saving.";return}let _=k.currentTarget||k.target.closest?.("button")||k.target;_.disabled=!0;let z=parseGithubUrl(e.sourceUrl),Z={pullRequestId:e.pullRequestId,connection:e.githubConnection,terms:e.terms.trim().split(` -`).filter(we=>we),source:{repositoryFullName:`${z.owner}/${z.repo}`,pullRequestId:z.pullRequestId},options:e.options,conference:e.conference};ft();let pe=e.isUpdate?"/api/pr/"+e.pullRequestId:"/api/pr/";t.post(pe,Z,{headers:{"Content-Type":"application/json"}}).then(()=>{R.clear(),window.location.href="/pr/"+e.pullRequestId},we=>{we.data&&(r("ERRORS."+we.data.error).then(Be=>{e.error=Be},console.error),tt(we.data.error))}).finally(()=>{_.disabled=!1})},e.watch("conference",()=>{Pt()}),e.termHints=[],e.matchTermAsWritten=k=>{e.terms=hc(e.terms,k)},e.watch("options.preserveFiles",()=>{e.detectedType==="repo"&&ge()}),e.watch("terms",()=>{e.termHints=fc(e.terms),e.detectedType==="repo"&&ae(),e.detectedType==="pr"&&Re(),e.detectedType==="gist"&&Fe()}),e.watch("options.image",()=>{e.detectedType==="repo"&&ae(),e.detectedType==="pr"&&Re(),e.detectedType==="gist"&&Fe()}),e.watch("options.link",()=>{e.detectedType==="repo"&&ae(),e.detectedType==="pr"&&Re(),e.detectedType==="gist"&&Fe()}),e.watch("details",()=>{e.detectedType==="pr"&&Re(),e.detectedType==="gist"&&Fe()},!0)},Aa=function(e,t,o,i,s,r){let a=Tt();gc();let u=Jt();e.on("dark-mode",(M,U)=>{e.aceOption&&(U?e.aceOption.theme="nord_dark":e.aceOption.theme="chrome")});let p=0,y=null,h=null;e.fileLoadingSlow=!1,e.fileReceivedBytes=0;function b(){y&&(y.resolve(),y=null),h&&(a.timeout.cancel(h),h=null)}let m=!1;e.on("dispose",()=>{m=!0,p++,b(),w&&w.resolve()}),e.files=[],e.isMac=/Mac|iPhone|iPad|iPod/.test(navigator.platform||navigator.userAgent),e.fileSearchQuery="",e.fileSearchResults=null,e.fileSearchLoading=!1,u(document,"click",M=>{e.symbolsOpen&&!M.target.closest?.(".symbols")&&(e.symbolsOpen=!1),e.moreOpen&&!M.target.closest?.(".tb-more")&&(e.moreOpen=!1),e.tocOpen&&!M.target.closest?.(".tb-toc-m")&&(e.tocOpen=!1),e.gotoOpen&&M.target.isConnected&&!M.target.closest?.(".goto-pop, .btn-goto, .tb-more")&&(e.gotoOpen=!1),e.accountOpen&&!M.target.closest?.(".acct")&&(e.accountOpen=!1),e.helpOpen&&!M.target.closest?.(".vb-help")&&(e.helpOpen=!1)}),u(document,"keydown",M=>{M.key==="Escape"&&(e.symbolsOpen=!1,e.moreOpen=!1,e.tocOpen=!1,e.gotoOpen=!1,e.accountOpen=!1,e.helpOpen=!1),(M.ctrlKey||M.metaKey)&&!M.altKey&&M.key&&M.key.toLowerCase()==="f"&&e.type==="html"&&window.document.querySelector(".reading-layout")&&(M.preventDefault(),e.toggleMdFind(!0))}),u(document,"keydown",function(M){if((M.metaKey||M.ctrlKey)&&M.key==="k"){M.preventDefault();var U=document.querySelector(".tree-search-input");U&&(U.focus(),U.select())}});var w=null;e.onFileSearchChange=function(){w&&(w.resolve(),w=null);let M=e.fileSearchQuery;if(!M||M.length<2){e.fileSearchResults=null,e.fileSearchLoading=!1;return}e.fileSearchLoading=!0;let U=r.defer();w=U,t.get(`/api/repo/${e.repoId}/files/search?q=${encodeURIComponent(M)}`,{timeout:U.promise}).then(function(F){if(!(m||w!==U)){w=null,e.fileSearchLoading=!1;var W={};e.files.forEach(function(fe){W[(fe.path||"")+"/"+fe.name]=!0});for(var E=[],N={},O=0;O0&&e.files.push.apply(e.files,E);for(var G=[],ge=0;ge0&&e.files.push.apply(e.files,G),e.fileSearchResults=F.data}},function(){!m&&w===U&&(w=null,e.fileSearchLoading=!1,e.fileSearchResults=[])})};let A={yml:"yaml",txt:"text",py:"python",js:"javascript",ts:"typescript"},S=["license","txt"],R=["png","jpg","jpeg","gif","svg","ico","bmp","tiff","tif","webp","avif","heif","heic"],g=["wav","mp3","ogg","wma","flac","aac","m4a"],C=["mp4","avi","webm","mov","mpg","mpeg","mkv","flv","wmv","3gp","3g2","m4v","f4v","f4p","f4a","f4b"];e.on("routeUpdate",function(M,U){if(e.repoId!=i.repoId)return me();if((i.path||"")!=e.filePath){window.matchMedia?.("(max-width: 767px)").matches&&(e.sidebarCollapsed=!0),e.filePath=i.path||"",e.paths=e.filePath.split("/").filter(F=>F&&F.trim().length>0),ct();for(let F=0;F0?e.paths.slice(0,F).join("/"):"";e.files.some(N=>N.path===W)||e.getFiles(W)}}});function I(){if(e.paths[0]!="")return;let M=["readme.md","readme.txt","readme.org","readme.1st","readme"],U={};for(let W of e.files)W.name.toLowerCase().indexOf("readme")>-1&&(U[W.name.toLowerCase()]=W.name);let F=null;for(let W of M)if(U[W]){F=W;break}if(!F&&Object.keys(U).length>0&&(F=Object.keys(U)[0]),F){let W=o.url();W[W.length-1]!="/"&&(W+="/"),o.url(W+encodePathForUrl(U[F]))}}e.fileCounts=null;let V=0,q=new Set,j=!1;e.getFiles=function(M,U=!1){let F=e.repoId,W=V;return t.get(`/api/repo/${e.repoId}/files/?path=${encodeURIComponent(M)}&v=${e.options.lastUpdateDate}`).then(function(E){if(m||F!==e.repoId||W!==V)return[];let N=M||"";return e.files=e.files.filter(O=>O.path!==N),e.files.push(...E.data),e.loadedFolders={...e.loadedFolders,[N]:!0},te(N,W),E.data},function(E){if(m||F!==e.repoId||W!==V)return[];U||(e.type="error",e.content=Ra(E),e.files=[])})};function te(M,U){if(j||q.has(M))return;q.add(M);let F=e.repoId;t.get(`/api/repo/${e.repoId}/files/counts?path=${encodeURIComponent(M)}`).then(function(W){m||F!==e.repoId||U!==V||(e.fileCounts={...e.fileCounts,...W.data})},function(){m||F!==e.repoId||U!==V||(j=!0)})}function Y(){return e.files.filter(M=>M.name==e.paths[e.paths.length-1]&&M.path==e.paths.slice(0,e.paths.length-1).join("/"))[0]}var oe=null;e.on("dispose",function(){oe&&a.interval.cancel(oe)});function Ce(M){if(m)return;let U=e.repoId;t.get(`/api/repo/${e.repoId}/options`).then(F=>{if(!(m||U!==e.repoId)){if(e.options=F.data,e.options.url){window.location=e.options.url;return}M&&M(F.data)}},F=>{if(!(m||U!==e.repoId)){var W=F.data||{};if(W.error==="rate_limited"&&W.resetAt){let N=function(){var O=Math.max(0,Math.ceil((e.rateLimitResetAt-Date.now())/1e3));if(O<=0)e.rateLimitCountdown="",e.rateLimitResetAt=0,oe&&(a.interval.cancel(oe),oe=null),Ce(M);else{var H=Math.floor(O/60),B=O%60;e.rateLimitCountdown=H>0?H+"m "+B+"s":B+"s"}};var E=N;e.type="rate_limited",e.rateLimitResetAt=W.resetAt,oe&&a.interval.cancel(oe),N(),oe=a.interval(N,1e3)}else W.error==="repository_not_ready"?(e.type="loading",a.timeout(function(){Ce(M)},3e3)):(e.type="error",e.content=Ra(F))}})}e.toggleSource=function(){e.showSource=!e.showSource},e.toggleAllowScripts=function(){e.allowScripts=!e.allowScripts};let D=(()=>{try{return window.localStorage?.getItem("wrapLines")}catch{return null}})();e.wrapLines=(D??(window.matchMedia?.("(max-width: 767px)").matches?"false":"true"))!=="false",e.toggleWrap=function(){e.wrapLines=!e.wrapLines;try{window.localStorage?.setItem("wrapLines",String(e.wrapLines))}catch{}e.codeEditor?.session.setUseWrapMode(e.wrapLines)};function ee(){return window.document.querySelector(".reading-layout .markdown-body")}function ce(){let M=ee();M&&(M.querySelectorAll("mark.md-find").forEach(U=>{U.replaceWith(window.document.createTextNode(U.textContent))}),M.normalize())}e.runMdFind=function(){ce(),e.mdFindTotal=0,e.mdFindIndex=0;let M=(e.mdFindQuery||"").trim(),U=ee();if(!M||!U)return;let F=!!e.mdFindCase,W=F?M:M.toLowerCase(),E=window.document.createTreeWalker(U,4),N=[];for(;E.nextNode();)(F?E.currentNode.nodeValue:E.currentNode.nodeValue.toLowerCase()).includes(W)&&N.push(E.currentNode);let O=0;for(let H of N){let B=H.nodeValue,K=F?B:B.toLowerCase(),ne=window.document.createDocumentFragment(),Q=0,J;for(;(J=K.indexOf(W,Q))!==-1;){ne.appendChild(window.document.createTextNode(B.slice(Q,J)));let G=window.document.createElement("mark");G.className="md-find",G.textContent=B.slice(J,J+M.length),ne.appendChild(G),O++,Q=J+M.length}ne.appendChild(window.document.createTextNode(B.slice(Q))),H.parentNode.replaceChild(ne,H)}e.mdFindTotal=O,O&&e.stepMdFind(0)},e.stepMdFind=function(M){let U=ee();if(!U||!e.mdFindTotal)return;let F=U.querySelectorAll("mark.md-find");e.mdFindIndex=(e.mdFindIndex+M+F.length)%F.length,F.forEach((W,E)=>W.classList.toggle("is-current",E===e.mdFindIndex)),F[e.mdFindIndex]?.scrollIntoView({block:"center",behavior:"smooth"})},e.toggleMdFind=function(M){if(e.mdFindOpen=M===void 0?!e.mdFindOpen:M,!e.mdFindOpen){ce(),e.mdFindTotal=0;return}Je(()=>window.document.querySelector(".md-find-input")?.focus())},e.findInFile=function(){let M=e.codeEditor;if(!M)return;M.focus(),M.execCommand("find");let U=()=>{let F=M.searchBox?.element;F&&(M.renderer.setScrollMargin(52,12,0,0),!F._dockObserver&&(F._dockObserver=new MutationObserver(()=>{M.renderer.setScrollMargin(F.style.display!=="none"?52:12,12,0,0)}),F._dockObserver.observe(F,{attributes:!0,attributeFilter:["style"]})))};U(),setTimeout(U,150)};let Oe=[[/^\s*(?:export\s+)?(?:default\s+)?(?:abstract\s+)?class\s+([A-Za-z_$][\w$]*)/,"class"],[/^\s*(?:export\s+)?(?:default\s+)?(?:async\s+)?function\s*\*?\s*([A-Za-z_$][\w$]*)/,"function"],[/^\s*(?:export\s+)?(?:const|let|var)\s+([A-Za-z_$][\w$]*)\s*=\s*(?:async\s*)?(?:function|\([^)]*\)\s*=>|[A-Za-z_$][\w$]*\s*=>)/,"function"],[/^\s*(?:async\s+)?def\s+([A-Za-z_]\w*)/,"function"],[/^\s*class\s+([A-Za-z_]\w*)/,"class"],[/^\s*func\s+(?:\([^)]*\)\s*)?([A-Za-z_]\w*)/,"function"],[/^\s*(?:pub\s+)?fn\s+([A-Za-z_]\w*)/,"function"],[/^\s*(?:public|private|protected|static|\s)+[\w<>\[\],\s]+\s+([A-Za-z_]\w*)\s*\([^;]*\)\s*\{?\s*$/,"function"]],ke={content:null,list:[]};e.symbolsOpen=!1,e.symbols=function(){if(typeof e.content!="string"||e.content.length>2e6)return[];if(ke.content===e.content)return ke.list;let M=[];return e.content.split(` -`).forEach((U,F)=>{for(let[W,E]of Oe){let N=W.exec(U);if(N&&!/^(if|for|while|switch|return|catch)$/.test(N[1])){M.push({name:N[1],kind:E,line:F+1});break}}}),ke={content:e.content,list:M.slice(0,300)},ke.list},e.goToSymbol=function(M){e.symbolsOpen=!1;let U=e.codeEditor;U&&(U.scrollToLine(M-1,!0,!0,()=>{}),U.gotoLine(M,0,!0),window.history.replaceState(null,"",window.location.pathname+window.location.search+"#L"+M),window.dispatchEvent(new HashChangeEvent("hashchange")))},e.gotoLine=function(){e.codeEditor&&(e.moreOpen=!1,e.gotoError="",e.gotoValue=String(e.codeEditor.getCursorPosition().row+1),e.gotoOpen=!0,setTimeout(()=>{let M=window.document.getElementById("goto-input");M&&(M.focus(),M.select())},0))},e.closeGoto=function(){e.gotoOpen=!1,e.gotoError="",e.codeEditor?.focus()},e.submitGoto=function(){let M=e.codeEditor;if(!M)return;let U=/^\s*:?\s*(\d+)\s*(?:[:,]\s*(\d+))?\s*$/.exec(e.gotoValue||""),F=M.session.getLength();if(!U||+U[1]<1||+U[1]>F){e.gotoError="Enter a line from 1 to "+F;return}M.gotoLine(+U[1],U[2]?Math.max(0,+U[2]-1):0,!0),e.gotoOpen=!1,e.gotoError="",M.focus()},e.rootEntries=function(){return[...e.files||[]].sort((M,U)=>{let F=M.size==null,W=U.size==null;return F!==W?F?-1:1:M.name.localeCompare(U.name)})},e.formatSize=function(M){if(M==null)return"";if(M<1024)return M+" B";let U=M/1024,F=W=>W.toFixed(1).replace(/\.0$/,"");return U<1024?F(U)+" KB":U<1024*1024?F(U/1024)+" MB":F(U/1024/1024)+" GB"},e.fileSize=function(M){if(!M)return null;let U=M.replace(/^\/+/,""),F=(e.files||[]).find(W=>(W.path?W.path+"/":"")+W.name===U);return F&&F.size!=null?F.size:null},e.revealFolder=function(M){e.sidebarHidden=!1,e.sidebarCollapsed=!1,Je(()=>{let U=window.document.querySelector('.files a[data-path="/'+(window.CSS?.escape?window.CSS.escape(M):M)+'"]');U&&(U.closest("li")?.classList.contains("open")||U.click(),U.scrollIntoView({block:"nearest"}),U.focus())})};let de={content:null,n:0},ie=M=>{if(de.content===M)return de.n;let U=M;if(typeof U=="string")try{U=JSON.parse(U)}catch{U=null}let F=[],W=N=>{Array.isArray(N)?F.push(N.join("")):typeof N=="string"&&F.push(N)};(U&&(U.cells||(U.worksheets||[]).flatMap(N=>N.cells||[]))||[]).forEach(N=>{W(N?.source??N?.input),(N?.outputs||[]).forEach(O=>{W(O?.text),O?.data&&(W(O.data["text/plain"]),W(O.data["text/markdown"]),W(O.data["text/html"])),W(O?.traceback)})});let E=F.reduce((N,O)=>N+(O.match(ho)||[]).length,0);return de={content:M,n:E},E};e.redactionCount=function(){return e.type==="IPython"?ie(e.content):typeof e.content!="string"?0:((e.type==="html"?e.content.replace(/<[^>]*>/g," "):e.content).match(ho)||[]).length},e.renderRedacted=Vi;let be=M=>M.toLowerCase().trim().replace(/[^a-z0-9\s-]/g,"").replace(/\s+/g,"-").slice(0,60)||"section";e.renderReadme=function(M){let U=e.renderRedacted(M);if(!U||typeof window.DOMParser!="function")return U;let F=new window.DOMParser().parseFromString("
"+U+"
","text/html"),W={};return F.querySelectorAll("h1, h2, h3").forEach(E=>{let N=E.id||be(E.textContent);W[N]?N+="-"+ ++W[N]:W[N]=1,E.id=N}),F.body.firstChild.innerHTML};let Ae={content:null,list:[]};e.readmeToc=function(){if(e.type!=="html"||typeof e.content!="string")return[];if(Ae.content===e.content)return Ae.list;let U=[...new window.DOMParser().parseFromString("
"+e.renderReadme(e.sanitize?e.sanitize(e.content):e.content)+"
","text/html").querySelectorAll("h2, h3")].map(F=>({id:F.id,text:F.textContent.trim(),level:F.tagName==="H3"?3:2})).slice(0,40);return Ae={content:e.content,list:U},U},e.activeHeading=null,u(window,"scroll",()=>{let M=e.readmeToc?e.readmeToc():[];if(!M.length)return;let U=150,F="",W="";for(let E of M){let N=window.document.getElementById(E.id);if(!N)continue;let O=N.getBoundingClientRect().top;O{let F=[],W=[],E="",N=!1;for(let O=0;OO.length>1||O[0]!=="")};e.isCsv=()=>typeof e.content=="string"&&e.type!=="html"&&/\.(csv|tsv)$/i.test(e.filePath||"")&&e.content.length<=1024*1024,e.csvRows=()=>{if(Ze.content!==e.content){let M=/\.tsv$/i.test(e.filePath||"")?" ":",";Ze={content:e.content,rows:nt(e.content,M)}}return Ze.rows},e.csvNumCol=M=>{let U=e.csvRows().slice(1).map(F=>F[M]).filter(F=>F!=null&&String(F).trim()!=="");return U.length>0&&U.every(F=>e.csvNumeric(F))},e.csvNumeric=M=>/^\s*[-+]?(\d[\d,]*)?(\.\d+)?(e[-+]?\d+)?%?\s*$/i.test(M)&&/\d/.test(M),e.redactParts=function(M){let U=[],F=0,W,E=/\bXXXX-(\d+)\b/g;for(M=String(M||"");W=E.exec(M);)W.index>F&&U.push({t:M.slice(F,W.index)}),U.push({n:W[1]}),F=W.index+W[0].length;return F{e.pathCopied=!1},1600))},e.contentCopied=!1,e.copyContent=async function(){if(typeof e.content!="string"||!window.navigator.clipboard?.writeText)return;let M=e.content;if(e.type==="html"&&e.url)try{M=await(await window.fetch(e.url,{credentials:"same-origin"})).text()}catch{return}await window.navigator.clipboard.writeText(M),e.contentCopied=!0,setTimeout(()=>{e.contentCopied=!1},1600)};function it(M){return A[M]?A[M]:M}function Ye(M){return M=="pdf"?"pdf":M=="html"||M=="htm"?"html-doc":M=="md"?"md":M=="org"?"org":M=="ipynb"?"IPython":S.indexOf(M)>-1?"text":R.indexOf(M)>-1?"image":C.indexOf(M)>-1?"media":g.indexOf(M)>-1?"audio":"code"}function lt(M,U){let F=p;if(!M){e.type="error",e.content="no_file_selected";return}let W=e.type;(W==="code"||W==="text")&&Fs().catch(()=>{}),e.type="loading",e.content="loading",e.fileLoadingSlow=!1,e.fileReceivedBytes=0;let E=r.defer();y=E,h=a.timeout(()=>{!m&&F===p&&e.type==="loading"&&(e.fileLoadingSlow=!0)},1500);let N=U&&U.sha||"0";t.get(`/api/repo/${e.repoId}/file/${encodePathForUrl(M)}?v=`+N,{timeout:E.promise,onDownloadProgress:O=>{!m&&F===p&&(e.fileReceivedBytes=O)},transformResponse:O=>O}).then(O=>{if(!(m||F!==p)){if(b(),e.type=W,e.content=O.data,e.content==""&&(e.content=null),e.type=="md"&&(e.content=renderMD(O.data,o.url()+"/../"),e.type="html"),e.type=="org"){let B=contentAbs2Relative(O.data);var H=new Org.Parser().parse(B).convert(Org.ConverterHTML,{headerOffset:1,exportFromLineNumber:!1,suppressSubScriptHandling:!0,suppressAutoLink:!1});e.content=DOMPurify.sanitize(H.toString()),e.type="html"}e.type=="code"&&O.headers("content-type")=="application/octet-stream"&&(e.type="binary",e.content="binary"),a.timeout(()=>{Prism.highlightAll()},50)}},O=>{m||F!==p||(b(),e.type="error",e.content=Ra(O))})}function ct(){p++,b(),e.content="",e.file=Y();let M="0";e.file&&e.file.sha&&(M=e.file.sha),e.url=`/api/repo/${e.repoId}/file/${encodePathForUrl(e.filePath)}?v=${M}`;let U=e.filePath.substring(0,e.filePath.lastIndexOf("/")+1);e.fileBaseUrl=`/api/repo/${e.repoId}/file/${U?encodePathForUrl(U):""}`,e.showSource=!1,e.imageSize="",e.allowScripts=!1;let F=e.filePath.toLowerCase(),W=F.lastIndexOf(".");W>-1&&(F=F.substring(W+1));let E={javascript:"JavaScript",typescript:"TypeScript",tsx:"TSX",jsx:"JSX",python:"Python",java:"Java",c_cpp:"C/C++",csharp:"C#",golang:"Go",rust:"Rust",ruby:"Ruby",php:"PHP",html:"HTML",css:"CSS",scss:"SCSS",json:"JSON",yaml:"YAML",markdown:"Markdown",sh:"Shell",dockerfile:"Dockerfile",xml:"XML",sql:"SQL",kotlin:"Kotlin",swift:"Swift",scala:"Scala",r:"R",julia:"Julia",latex:"LaTeX",toml:"TOML",csv:"CSV",tsv:"TSV",text:""},N=it(F);if(e.languageName=E[N]??(N?N.charAt(0).toUpperCase()+N.slice(1):""),e.aceOption={readOnly:!0,useWrapMode:!0,showGutter:!0,theme:"chrome",useSoftTab:!0,tabSize:2,fontSize:window.matchMedia?.("(max-width: 767px)").matches?12:13,keyBinding:"vscode",fullLineSelection:!0,highlightActiveLine:!1,highlightGutterLine:!1,cursor:"hide",showInvisibles:!1,showIndentGuides:!1,showPrintMargin:!1,highlightSelectedWord:!1,enableBehaviours:!0,fadeFoldWidgets:!1,mode:it(F),onLoad:function(O){e.codeEditor=Eo(O);{let le=O.session,fe=le.getTokens.bind(le),De=/\bXXXX-\d+\b/g;if(le.getTokens=function(Re){let Me=fe(Re);if(!Me.some(Ne=>Ne.value.indexOf("XXXX-")!==-1))return Me;let he=[];for(let Ne of Me){if(Ne.value.indexOf("XXXX-")===-1){he.push(Ne);continue}let Fe=0;De.lastIndex=0;let Ge;for(;Ge=De.exec(Ne.value);)Ge.index>Fe&&he.push({type:Ne.type,value:Ne.value.slice(Fe,Ge.index)}),he.push({type:"redacted.n"+Ge[0].slice(5),value:Ge[0]}),Fe=Ge.index+Ge[0].length;Fe`.ace_redacted.ace_n${he+1}::after{content:"${he+1}"}`).join(""),window.document.head.appendChild(Re)}O.renderer.updateFull(!0)}O.session.setUseWrapMode(e.wrapLines!==!1);let H=O.container.closest?.(".file-card"),B=()=>{if(!H)return;let le=O.renderer,fe=(le.layerConfig?.width||0)-(le.$size?.scrollerWidth||0);H.classList.toggle("at-right-edge",fe<=2||le.getScrollLeft()>=fe-2)};O.session.on("changeScrollLeft",B),O.renderer.on("afterRender",B),window.matchMedia?.("(max-width: 767px)").matches&&O.setOption("hScrollBarAlwaysVisible",!0);let K=ace.require("ace/range").Range,ne=null;function Q(le,fe){ne!==null&&(O.session.removeMarker(ne),ne=null),le!=null&&(ne=O.session.addMarker(new K(le,0,fe,1),"highlighted-line","fullLine"))}function J(le){let fe=window.location.hash.match(/^#L(\d+)(?:-L(\d+))?/);if(!fe){Q(null);return}let De=parseInt(fe[1])-1,Re=fe[2]?parseInt(fe[2])-1:De;Q(De,Re),le&&a.timeout(()=>{O.scrollToLine(De,!0,!0,function(){})},100)}J(!0);let G=null;O.on("guttermousedown",function(le){let fe=le.getDocumentPosition().row,De=le.domEvent&&le.domEvent.shiftKey,Re=fe,Me=fe;De&&G!==null?(Re=Math.min(G,fe),Me=Math.max(G,fe)):G=fe;let he=Re===Me?`#L${Re+1}`:`#L${Re+1}-L${Me+1}`,Ne=window.location.pathname+window.location.search+he;window.history.replaceState(null,"",Ne),Q(Re,Me),le.stop()});let ge=u(window,"hashchange",()=>J(!1));O.setFontSize(e.aceOption.fontSize),O.setOptions({fontFamily:"'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace"}),O.container.style.lineHeight="20px",O.renderer.setPadding(16),O.renderer.setScrollMargin(12,12,0,0),O.renderer.updateFontSize(),O.setReadOnly(e.aceOption.readOnly),O.setKeyboardHandler(e.aceOption.keyBinding),O.setSelectionStyle(e.aceOption.fullLineSelection?"line":"text"),O.setOption("displayIndentGuides",!1),O.setHighlightActiveLine(e.aceOption.highlightActiveLine),e.aceOption.cursor=="hide"&&(O.renderer.$cursorLayer.element.style.display="none"),O.setHighlightGutterLine(e.aceOption.highlightGutterLine),O.setShowInvisibles(e.aceOption.showInvisibles),O.setDisplayIndentGuides(e.aceOption.showIndentGuides),O.renderer.setShowPrintMargin(e.aceOption.showPrintMargin),O.setHighlightSelectedWord(e.aceOption.highlightSelectedWord),O.session.setUseSoftTabs(e.aceOption.useSoftTab),O.session.setTabSize(e.aceOption.tabSize),O.setBehavioursEnabled(e.aceOption.enableBehaviours),O.setFadeFoldWidgets(e.aceOption.fadeFoldWidgets);let ae=u(window,"keydown",le=>{if((le.ctrlKey||le.metaKey)&&!le.altKey&&le.key.toLowerCase()==="g"&&document.body.contains(O.container)){le.preventDefault(),e.gotoLine();return}if(le.altKey&&!le.ctrlKey&&!le.metaKey&&le.key.toLowerCase()==="z"&&document.body.contains(O.container)){le.preventDefault(),e.toggleWrap();return}(le.ctrlKey||le.metaKey)&&!le.altKey&&le.key.toLowerCase()==="f"&&document.body.contains(O.container)&&(le.preventDefault(),e.findInFile())});return()=>{ge(),ae()}}},e.isDarkMode&&(e.aceOption.theme="nord_dark"),e.type=Ye(F),e.type=="pdf"){e.content="pdf";return}if(e.type=="media"||e.type=="audio"){e.content=e.type;return}lt(e.filePath,e.file)}let bt=["image","media","audio","pdf","IPython","binary"],X=["file_too_big","file_not_found","file_not_accessible","file_not_supported","folder_not_supported"];e.fileFrame=()=>e.filePath?bt.includes(e.type)?e.content!=null:e.type==="error"?X.includes(e.content):e.content==null&&["code","text"].includes(e.type):!1,e.fileKind=()=>{let M=(e.paths||[])[(e.paths||[]).length-1]||"",U=M.lastIndexOf("."),F=U>0?M.slice(U+1).toUpperCase():"";if(e.type==="image")return(F==="JPG"?"JPEG":F)+" image";let W={WEBM:"WebM",OGG:"Ogg",OGV:"Ogg",MOV:"QuickTime",M4V:"M4V",MKV:"Matroska"};return e.type==="media"?(W[F]||F)+" video":e.type==="audio"?F+" audio":e.type==="pdf"?"PDF":e.type==="IPython"?"Jupyter notebook":e.type==="binary"?"Binary file":e.languageName||(F?F+" file":"File")},e.imageSize="",e.onImageLoad=M=>{let U=M.target;U?.naturalWidth&&(e.imageSize=`${U.naturalWidth} \xD7 ${U.naturalHeight}`)},e.isSourceAccessError=()=>["repo_not_found","token_expired","github_app_access_required","github_app_reconnect_required","repo_saml_enforcement","repo_access_limited"].includes(e.content),e.retryContent=()=>me();function me(){p++,b(),e.files=[],e.loadedFolders={},e.content=null,e.fileCounts=null,V++,q=new Set,j=!1,e.fileSearchQuery="",e.onFileSearchChange(),e.repoId=i.repoId,e.type="loading",e.filePath=i.path||"",e.paths=e.filePath.split("/");let M=e.repoId;Ce(function(U){if(e.filePath){ct();let W=[...new Set(e.paths.map((E,N)=>e.paths.slice(0,N).join("/")))];r.all(W.map(E=>e.getFiles(E,!0)));return}var F=r.resolve();for(let W=0;W0?e.paths.slice(0,W).join("/"):"";F=F.then(function(){return e.getFiles(E)}).then(function(){if(e.type==="error")return r.reject("error")})}F.then(function(){m||M!==e.repoId||(e.files.length==1&&e.files[0].name==""?(e.files=[],e.type="empty"):(I(),ct()))})})}me()},Nc=function(e,t,o,i,s){async function r(p){t.get(`/api/pr/${e.pullRequestId}/options`).then(y=>{if(e.options=y.data,e.options.url){window.location=e.options.url;return}p&&p(y.data)},y=>{e.type="error",e.content=y.data.error})}async function a(p){t.get(`/api/pr/${e.pullRequestId}/content`).then(y=>{e.details=y.data,e.tabState={active:y.data.diff?"diff":"comments"},p&&p(y.data)},y=>{e.type="error",e.content=y.data.error})}function u(){e.pullRequestId=i.pullRequestId,e.type="loading",r(p=>{a()})}u()},Rc=function(e,t,o,i,s){async function r(p){t.get(`/api/gist/${e.gistId}/options`).then(y=>{if(e.options=y.data,e.options.url){window.location=e.options.url;return}p&&p(y.data)},y=>{e.type="error",e.content=y.data.error})}async function a(p){t.get(`/api/gist/${e.gistId}/content`).then(y=>{e.details=y.data;let h=y.data&&y.data.files&&y.data.files.length;e.tabState={active:h?"files":"comments"},p&&p(y.data)},y=>{e.type="error",e.content=y.data.error})}function u(){e.gistId=i.gistId,e.type="loading",r(()=>{a()})}u()},Dc=function(e,t,o){e.watch("user.status",()=>{e.user==null&&o.url("/")}),e.user==null&&o.url("/"),e.conferences=[],e.loading=!0,e.error="",e.search="";let i="conferences.filterPrefs",s={filters:{status:{ready:!0,expired:!1,removed:!1}},orderBy:"name"},r=loadFilterPrefs(i)||{};e.filters={status:Object.assign({},s.filters.status,r.filters&&r.filters.status||{})},e.orderBy=r.orderBy||s.orderBy,e.watch("orderBy",()=>{saveFilterPrefs(i,{filters:e.filters,orderBy:e.orderBy})}),e.watch("filters",()=>{saveFilterPrefs(i,{filters:e.filters,orderBy:e.orderBy})},!0),e.removeConference=function(a){if(!a.removing&&confirm(`Are you sure that you want to remove the conference ${a.name}? All the repositories linked to this conference will expire.`)){a.removing=!0;let u=st({title:`Removing ${a.name}...`,date:new Date,body:`The conference ${a.name} is going to be removed.`});e.addToast(u),t.delete(`/api/conferences/${a.conferenceID}`).then(()=>{u.title=`${a.name} is removed.`,u.body=`The conference ${a.name} is removed.`,e.loadConferences()}).catch(()=>{u.title="Unable to remove conference",u.body="Please try again. The conference has not been removed."}).finally(()=>{a.removing=!1})}},e.loadConferences=()=>(e.loading=!0,e.error="",t.get("/api/conferences/").then(a=>{e.conferences=a.data||[]},a=>{e.error="Unable to load your conferences. Please try again."}).finally(()=>{e.loading=!1})),e.loadConferences(),e.conferenceFilter=a=>{if(e.filters.status[a.status]==!1)return!1;let u=e.search.trim().toLowerCase();return!!(!u||(a.name||"").toLowerCase().includes(u)||(a.conferenceID||"").toLowerCase().includes(u))}},Ta=function(e,t,o,i){e.watch("user.status",()=>{e.user==null&&o.url("/")}),e.user==null&&o.url("/");let s=()=>{for(let[m,w,A]of[["startDate","Starts","startDate"],["endDate","Ends","endDate"]]){let S=document.getElementById(m);if(!S)continue;let R=S.parentElement.querySelector(":scope > .date-echo");R||(R=document.createElement("p"),R.className="date-echo",R.setAttribute("aria-live","polite"),S.insertAdjacentElement("afterend",R));let g=Zr(e.options?.[A]);R.textContent=g?w+" "+g:"",R.hidden=!g}};typeof e.watchGroup=="function"&&e.watchGroup(["options.startDate","options.endDate"],()=>Je(s));let r=(m=20)=>{let w=document.querySelector("input#name.form-control"),A=document.querySelector("input#conferenceID.form-control");A&&(A.placeholder="e.g. ICSE27"),w?w.placeholder="e.g. ICSE 2027":m>0&&setTimeout(()=>r(m-1),50)};setTimeout(()=>r(),0),e.plans=[],e.plansLoaded=!1,e.conferenceBilling=null,Pi(t).then(m=>{e.conferenceBilling=m.data}).catch(()=>{}),e.conferenceTiers=()=>e.plans.filter(m=>m.id!=="free_conference").map(m=>{let w=(e.conferenceBilling?.plans||[]).find(A=>A.id===m.id)||{};return{...m,storage:m.storagePerRepo,...w,id:m.id,name:m.name}}),e.conferenceAudience=m=>({conference_workshop:"Workshops and small venues",conference:"A typical conference",conference_large:"Large or multi-track venues"})[m]||"",e.conferencePlanName=m=>Ac(m),e.conferenceAmount=(m,w=m?.amount)=>new Intl.NumberFormat(void 0,{style:"currency",currency:m?.currency||"eur",minimumFractionDigits:w%100?2:0,maximumFractionDigits:2}).format(w/100),e.conferenceBytes=m=>{let w=Number(m)||0,A=Math.min(4,Math.floor(Math.log2(Math.max(w,1))/10));return`${new Intl.NumberFormat(void 0,{maximumFractionDigits:1}).format(w/1024**A)} ${["B","KB","MB","GB","TB"][A]}`},e.editionMode=!1,e.saving=!1,e.error="";function a(){return t.get("/api/conferences/"+i.conferenceId).then(m=>{e.options={...e.options,...m.data,billing:m.data.billing||{}},e.options.startDate=new Date(e.options.startDate),e.options.endDate=new Date(e.options.endDate)})}i.conferenceId&&(e.editionMode=!0,a());function u(){t.get("/api/conferences/plans").then(m=>{e.plans=m.data,e.plansLoaded=!0,!e.editionMode&&e.plans.length&&!e.plans.some(w=>w.id==e.options.plan.planID)&&(e.options.plan.planID=(e.plans.find(w=>w.id==="conference")||e.plans[0]).id),e.plan=e.plans.filter(w=>w.id==e.options.plan.planID)[0]})}u();let p=new Date;p.setDate(1),p.setMonth(p.getMonth()+1);let y=new Date(p);y.setTime(p.getTime()+179*864e5),e.options={billing:{},startDate:p,endDate:y,plan:{planID:"free_conference"},options:{link:!0,image:!0,pdf:!0,notebook:!0,update:!0,page:!0}},e.plan=null,e.watch("options.plan.planID",()=>{e.plan=e.plans.filter(m=>m.id==e.options.plan.planID)[0]});function h(){e.conference.name.setValidity("required",!0),e.conference.conferenceID.setValidity("pattern",!0),e.conference.conferenceID.setValidity("required",!0),e.conference.conferenceID.setValidity("used",!0),e.conference.startDate.setValidity("required",!0),e.conference.startDate.setValidity("invalid",!0),e.conference.endDate.setValidity("required",!0),e.conference.endDate.setValidity("invalid",!0),e.conference.setValidity("error",!0)}function b(m){switch(m){case"conf_name_missing":e.conference.name.setValidity("required",!1);break;case"conf_id_missing":e.conference.conferenceID.setValidity("required",!1);break;case"conf_id_format":e.conference.conferenceID.setValidity("pattern",!1);break;case"conf_id_used":e.conference.conferenceID.setValidity("used",!1);break;case"conf_start_date_missing":e.conference.startDate.setValidity("required",!1);break;case"conf_end_date_missing":e.conference.endDate.setValidity("required",!1);break;case"conf_start_date_invalid":e.conference.startDate.setValidity("invalid",!1);break;case"conf_end_date_invalid":e.conference.endDate.setValidity("invalid",!1);break;default:e.conference.setValidity("error",!1);break}}e.submit=function(){if(e.saving)return;e.saving=!0,e.error="";let m=JSON.parse(JSON.stringify(e.options)),w=st({title:`Creating ${m.name}...`,date:new Date,body:`The conference ${m.conferenceID} is in creation.`});e.editionMode&&(w.title=`Updating ${m.name}...`,w.body=`The conference '${m.conferenceID}' is updating.`),e.addToast(w),h(),t.post("/api/conferences/"+(e.editionMode?m.conferenceID:""),m).then(()=>{e.editionMode?(w.title=`${m.name} updated`,w.body=`The conference '${m.conferenceID}' is updated.`):(w.title=`${m.name} created`,w.body=`The conference '${m.conferenceID}' is created.`),o.url("/conference/"+m.conferenceID)},A=>{b(A.data?.error),e.error="Unable to save the conference. Please correct any highlighted fields and try again.",e.removeToast(w)}).finally(()=>{e.saving=!1})}};function Ac(e){return{free_conference:"Free (no longer offered to new conferences)",conference_workshop:"Workshop package",conference:"Conference package",conference_large:"Large conference package",premium_conference:"Premium (legacy)",unlimited_conference:"Unlimited (legacy)"}[e]||e||"Free"}var Tc=function(e,t,o,i){Oi(e,t,()=>u(),{confirmedMessage:"Payment status checked. Your conference is ready for submissions once payment is confirmed."}),e.conferencePlanName=p=>Ac(p),e.watch("user.status",()=>{e.user==null&&o.url("/")}),e.user==null&&o.url("/"),e.conference=null,e.search="",e.filters={status:{ready:!0,preparing:!0,error:!0,expired:!0,removed:!1}},e.orderBy="-anonymizeDate";let s=Mi,r=["ready","preparing","error","expired","removed"],a={current:p=>p!=="removed",attention:p=>p==="error",removed:p=>p==="removed"};e.confView=()=>Object.keys(a).find(p=>r.every(y=>a[p](y)===(e.filters.status[y]!==!1)))||"custom",e.setConfView=p=>{r.forEach(y=>{e.filters.status[y]=(a[p]||a.current)(y)})},e.confCount=p=>(e.conference?.repositories||[]).filter(y=>a[p](s(y.status))).length,e.copyingId=null,e.copyRepoLink=async p=>{if(!p?.repoId||e.copyingId)return;let y=new URL("/r/"+p.repoId+"/",window.location.origin).href;e.copyingId=p.repoId;try{await Da(y),e.addToast({title:"Link copied",body:"The anonymous link is ready to share."})}catch{e.addToast({title:"Copy this anonymous link",body:y})}finally{e.copyingId=null}},e.extendingId=null,e.extendRepo=p=>{!p?.repoId||e.extendingId||(e.extendingId=p.repoId,t.post("/api/repo/"+p.repoId+"/extend").then(y=>{let h=y?.data?.expirationDate?` until ${new Date(y.data.expirationDate).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})}`:"";e.addToast({title:`${p.repoId} is extended.`,body:`Reviewers can open it again${h}.`}),p.status="ready",y?.data?.expirationDate&&(p.options={...p.options||{},expirationDate:y.data.expirationDate}),e.extendingId=null},y=>{let h=y?.status||y?.data?.status;e.addToast({title:`Couldn't extend ${p.repoId}.`,body:h===401||h===403?"Only the repository's authors can extend this link. Ask them to extend it from My work.":"Try again in a moment."}),e.extendingId=null}))},e.repoFiler=p=>{if(e.filters.status[s(p.status)]==!1)return!1;let y=e.search.trim().toLowerCase();return!!(!y||(p.source?.fullName||"").toLowerCase().includes(y)||(p.repoId||"").toLowerCase().includes(y))};function u(){t.get("/api/conferences/"+i.conferenceId).then(p=>{e.conference=p.data})}u()},Pc=function(e,t){e.notificationEmail="",e.emailSaved=!1,e.saveNotificationEmail=async()=>{e.busy=!0,e.emailSaved=!1,e.connectionError="";try{let o=await t.post("/github/connections/email",{email:e.notificationEmail},{headers:{"X-CSRF-Token":e.connections.csrf}});e.notificationEmail=o.data.notificationEmail,e.user&&(e.user.notificationEmail=o.data.notificationEmail),e.emailSaved=!0}catch(o){e.connectionError=o.data?.error||"Unable to save email address."}finally{e.busy=!1}},e.connections=null,e.connectionError="",e.busy=!1,e.loadConnections=()=>t.get("/github/connections").then(o=>{e.connections=o.data,e.notificationEmail=o.data.notificationEmail||""}).catch(o=>{e.connectionError=o.data?.error||"Unable to load connections."}),e.changeConnection=async(o,i,s)=>{e.busy=!0,e.connectionError="";try{let r=await t.post("/github/connections/migrate",{type:o.type,id:o.id,connection:i,preview:s},{headers:{"X-CSRF-Token":e.connections.csrf}});s?o.eligible=r.data.eligible:await e.loadConnections()}catch(r){e.connectionError=r.data?.error||"Unable to change connection."}finally{e.busy=!1}},e.disconnectOAuth=async()=>{e.busy=!0;try{await t.post("/github/connections/disconnect-oauth",{},{headers:{"X-CSRF-Token":e.connections.csrf}}),await e.loadConnections()}catch(o){e.connectionError=o.data?.error||"Unable to disconnect OAuth."}finally{e.busy=!1}},e.loadConnections()},Oc=function(e,t){e.accountRecovery=!1,t.get("/github/account-recovery").then(o=>{e.accountRecovery=o.data.required}).catch(()=>{})};typeof document<"u"&&document.addEventListener("scroll",e=>{let t=e.target;!t||!t.classList||!t.classList.contains("repo-picker-list")||t.classList.toggle("is-end",t.scrollTop+t.clientHeight>=t.scrollHeight-2)},!0);var Ic=[{path:"/review-link",template:"partials/reviewConsent.htm",title:"Artifact consent \u2013 Anonymous GitHub",setup:(e,t)=>qa(e,t)},{path:"/connections",template:"partials/connections.htm",title:"GitHub connections \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Pc(e,t.http)},{path:"/signin",template:"partials/signin.htm",title:"Sign in \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Oc(e,t.http)},{path:"/",template:"partials/home.htm",title:"Anonymous GitHub \u2013 Share the code, not the author",preserveExplorer:!1,setup:(e,t)=>Cc(e,t.http,t.location,t.window,t.timeout)},{path:"/dashboard",template:"partials/dashboard.htm",title:"Your anonymizations \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Ec(e,t.http,t.location,t.promises,t.window,t.quotaService)},{path:"/pr-dashboard",redirect:"/dashboard"},{path:"/anonymize/:repoId?",template:"partials/anonymize.htm",title:"New anonymization \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Ki(e,t.http,t.html,t.params,t.location,t.translate,t.timeout)},{path:"/pull-request-anonymize/:pullRequestId?",template:"partials/anonymize.htm",title:"Anonymize a pull request \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Ki(e,t.http,t.html,t.params,t.location,t.translate,t.timeout)},{path:"/gist-anonymize/:gistId?",template:"partials/anonymize.htm",title:"Anonymize a gist \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Ki(e,t.http,t.html,t.params,t.location,t.translate,t.timeout)},{path:"/status/:repoId",template:"partials/status.htm",title:"Repository status \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Sc(e,t.http,t.params)},{path:"/conferences",template:"partials/conferences.htm",title:"Your conferences \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Dc(e,t.http,t.location)},{path:"/conference/new",template:"partials/newConference.htm",title:"New conference \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Ta(e,t.http,t.location,t.params)},{path:"/conference/:conferenceId/edit",template:"partials/newConference.htm",title:"Edit conference \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Ta(e,t.http,t.location,t.params)},{path:"/conference/:conferenceId",template:"partials/conference.htm",title:"Conference \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Tc(e,t.http,t.location,t.params)},{path:"/faq",template:"partials/faq.htm",title:"FAQ \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>bc(e,t.http)},{path:"/profile",template:"partials/profile.htm",title:"Your settings \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>wc(e,t.http,t.translate,t.timeout,t.quotaService)},{path:"/claim",template:"partials/claim.htm",title:"Claim an anonymization \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>kc(e,t.http,t.location)},{path:"/pr/:pullRequestId/:path(.*)*",template:"partials/pullRequest.htm",title:"Anonymous pull request \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Nc(e,t.http,t.location,t.params,t.html)},{path:"/gist/:gistId/:path(.*)*",template:"partials/gist.htm",title:"Anonymous gist \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Rc(e,t.http,t.location,t.params,t.html)},{path:"/r/:repoId/:path(.*)*",template:"partials/explorer.htm",title:"Anonymous repository \u2013 Anonymous GitHub",preserveExplorer:!0,setup:(e,t)=>Aa(e,t.http,t.location,t.params,t.html,t.promises)},{path:"/repository/:repoId/:path(.*)*",template:"partials/explorer.htm",title:"Anonymous repository \u2013 Anonymous GitHub",preserveExplorer:!0,setup:(e,t)=>Aa(e,t.http,t.location,t.params,t.html,t.promises)},{path:"/admin/",template:"partials/admin/overview.htm",title:"Admin \xB7 Overview \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>wu(e,t.http,t.location,t.interval)},{path:"/admin/repositories",template:"partials/admin/repositories.htm",title:"Admin \xB7 Repositories \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>hu(e,t.http,t.location)},{path:"/admin/users",template:"partials/admin/users.htm",title:"Admin \xB7 Users \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>mu(e,t.http,t.location)},{path:"/admin/users/:username",template:"partials/admin/user.htm",title:"Admin \xB7 User details \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>gu(e,t.http,t.location,t.params)},{path:"/admin/conferences",template:"partials/admin/conferences.htm",title:"Admin \xB7 Conferences \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>vu(e,t.http,t.location)},{path:"/admin/queues",template:"partials/admin/queues.htm",title:"Admin \xB7 Queues \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>yu(e,t.http,t.location,t.interval,t.timeout)},{path:"/admin/errors",template:"partials/admin/errors.htm",title:"Admin \xB7 Errors \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>bu(e,t.http,t.location,t.interval)},{path:"/404",template:"partials/404.htm",title:"Page not found \u2013 Anonymous GitHub",preserveExplorer:!1,setup:()=>{}},{path:"/:pathMatch(.*)*",template:"partials/404.htm",title:"Page not found \u2013 Anonymous GitHub",setup:()=>{}}];var ov={class:"container py-4",style:{"max-width":"48rem","overflow-wrap":"anywhere"}},sv={key:0},iv={key:1,role:"alert"},rv={key:2,role:"status"},av={key:0},lv={key:1},dv=["disabled"],uv=["disabled"],cv=["disabled"],pv={key:5,class:"mt-4","aria-labelledby":"review-policy-title"},fv={id:"review-policy-title"},hv={key:0,role:"alert"},mv=["disabled"],gv=["disabled"],vv=["disabled"],yv={key:6,role:"status"};function Mc(e,t){return l(),d("section",ov,[t[12]||(t[12]=n("a",{href:"/"},"Anonymous GitHub",-1)),t[13]||(t[13]=n("h1",{class:"mt-3"},"Approve artifact access",-1)),t[14]||(t[14]=n("p",null,"This records your approval as the repository owner or an authorized co-author.",-1)),e.user?.username?f("v-if",!0):(l(),d("p",sv,[...t[6]||(t[6]=[v("Sign in first, then reopen the artifact link from your submission. ",-1),n("a",{href:"/signin"},"Sign in",-1)])])),e.error?(l(),d("p",iv,c(e.error),1)):f("v-if",!0),e.saved?(l(),d("p",rv,[t[7]||(t[7]=v("Consent recorded. ",-1)),e.handoffEnabled?(l(),d("span",av,"Continue to review to finish linking.")):(l(),d("span",lv,"Artifact linking is not complete. Return to your submission to check its status."))])):f("v-if",!0),e.saved&&e.handoffEnabled?(l(),d("button",{key:3,class:"btn btn-primary",type:"button",onClick:t[0]||(t[0]=(...o)=>e.continueReview&&e.continueReview(...o)),disabled:e.busy},"Continue to review",8,dv)):f("v-if",!0),e.user?.username&&!e.saved?(l(),d("form",{key:4,onSubmit:t[2]||(t[2]=ue((...o)=>e.loadPreview&&e.loadPreview(...o),["prevent"]))},[t[8]||(t[8]=n("label",{for:"review-repository"},"Anonymous repository ID",-1)),P(n("input",{id:"review-repository",class:"form-control","onUpdate:modelValue":t[1]||(t[1]=o=>e.repositoryId=o),maxlength:"128",autocomplete:"off",disabled:e.busy||e.uncertain,"aria-describedby":"review-repository-help"},null,8,uv),[[ut,e.repositoryId]]),t[9]||(t[9]=n("p",{id:"review-repository-help"},"Use the ID after /r/ in the anonymous repository URL.",-1)),n("button",{type:"submit",class:"btn btn-primary",disabled:e.busy||e.uncertain},"Preview access and retention",8,cv)],32)):f("v-if",!0),e.preview&&!e.saved?(l(),d("section",pv,[n("h2",fv,c(e.preview.repositoryName),1),n("p",null,"Access: "+c(e.preview.policy.access==="anonymous-link"?"Anyone with the anonymous link":"Restricted review access")+".",1),n("p",null,"Retain until "+c(e.preview.policy.retainUntil)+". Policy version "+c(e.preview.policy.version)+".",1),e.expired?(l(),d("p",hv,"This preview expired. Open a new artifact link from your submission.")):f("v-if",!0),n("div",null,[n("label",null,[P(n("input",{type:"checkbox","onUpdate:modelValue":t[3]||(t[3]=o=>e.acceptAccess=o),disabled:e.busy||e.uncertain||e.expired},null,8,mv),[[$r,e.acceptAccess]]),t[10]||(t[10]=v(" I approve the access policy above.",-1))])]),n("div",null,[n("label",null,[P(n("input",{type:"checkbox","onUpdate:modelValue":t[4]||(t[4]=o=>e.acceptRetention=o),disabled:e.busy||e.uncertain||e.expired},null,8,gv),[[$r,e.acceptRetention]]),t[11]||(t[11]=v(" I approve retention until the date above.",-1))])]),n("button",{class:"btn btn-primary",type:"button",onClick:t[5]||(t[5]=(...o)=>e.confirmConsent&&e.confirmConsent(...o)),disabled:e.busy||e.expired||!e.acceptAccess||!e.acceptRetention},c(e.uncertain?"Retry confirmation":"Confirm consent"),9,vv)])):f("v-if",!0),e.busy?(l(),d("p",yv,"Waiting for the server\u2026")):f("v-if",!0)])}var bv={class:"container paper-page connections-page"},wv={key:0,class:"paper-inline-alert paper-inline-alert-error",role:"alert"},kv={key:1,role:"status"},Cv=["disabled"],Ev={key:3},Sv={key:0,class:"connection-resources"},Nv=["disabled"],Rv=["disabled"],Dv={key:0,role:"status"},Av={class:"connections-grid"},Tv={key:0},Pv={class:"connection-title"},Ov={key:0,class:"paper-inline-alert paper-inline-alert-error",role:"alert"},Iv={class:"connection-actions"},Mv={key:0,class:"btn btn-ink",target:"_self",href:"/github/app/install"},_v=["disabled"],Vv={key:1,class:"connection-installations"},qv={key:0},$v=["href"],Lv={class:"sr-only"},Uv={class:"connection-title"},Fv={key:0,target:"_self",href:"/github/login",class:"btn btn-outline-ink"},Bv={key:1,class:"connection-revoke"},zv={key:0},Hv=["disabled"],jv={class:"connection-resources"},Gv={class:"connection-title"},Wv={class:"connection-count"},Kv={key:0,class:"connection-empty"},Yv={class:"connection-resource-name"},Xv={key:0,class:"connection-resource-actions"},Qv=["disabled","onClick"],Jv=["disabled","onClick"],Zv={key:1,class:"connection-help",role:"status"},xv=["disabled","onClick"];function _c(e,t){return l(),d("div",bv,[t[27]||(t[27]=Ee('
My work \xA0/\xA0 GitHub connections

GitHub connections

Manage how GitHub shares your code. Your anonymizations and URLs stay the same.

',2)),e.connectionError?(l(),d("p",wv,c(e.connectionError),1)):f("v-if",!0),!e.connections&&!e.connectionError?(l(),d("p",kv,"Loading your connections\u2026")):f("v-if",!0),!e.connections&&e.connectionError?(l(),d("button",{key:2,class:"btn btn-outline-ink",disabled:e.busy,onClick:t[0]||(t[0]=o=>e.loadConnections())},"Try again",8,Cv)):f("v-if",!0),e.connections?(l(),d("div",Ev,[e.connections.emailNotificationsEnabled?(l(),d("section",Sv,[t[6]||(t[6]=n("h2",null,"Email alerts",-1)),t[7]||(t[7]=n("p",null,"We will email you if your GitHub connection stops working or a repository becomes inaccessible. Your address is never shown on anonymous pages.",-1)),n("form",{onSubmit:t[2]||(t[2]=ue(o=>e.saveNotificationEmail(),["prevent"]))},[t[5]||(t[5]=n("label",{for:"notification-email"},"Email address",-1)),P(n("input",{id:"notification-email",class:"form-control",type:"email",autocomplete:"email",maxlength:"254",required:"","onUpdate:modelValue":t[1]||(t[1]=o=>e.notificationEmail=o),disabled:e.busy},null,8,Nv),[[ut,e.notificationEmail]]),n("button",{class:"btn btn-ink mt-2",type:"submit",disabled:e.busy},"Save email address",8,Rv),e.emailSaved?(l(),d("p",Dv,"Email address saved.")):f("v-if",!0)],32)])):f("v-if",!0),n("div",Av,[e.connections.appEnabled?(l(),d("section",Tv,[t[15]||(t[15]=n("div",{class:"connection-top"},[n("i",{class:"fab fa-github","aria-hidden":"true"}),n("span",{class:"connection-badge"},"Recommended")],-1)),n("div",Pv,[t[8]||(t[8]=n("h2",null,"GitHub App",-1)),n("span",{class:T(["connection-status",{"is-connected":e.connections.appConnected&&!e.connections.appError}])},c(e.connections.appError?"Needs attention":e.connections.appConnected?"Connected":"Not connected"),3)]),t[16]||(t[16]=n("p",null,"Read-only access to gists and the repositories you choose.",-1)),e.connections.appError?(l(),d("p",Ov,c(e.connections.appError)+". Reconnect to restore access.",1)):f("v-if",!0),n("div",Iv,[e.connections.appConnected&&!e.connections.appError?(l(),d("a",Mv,[...t[9]||(t[9]=[v("Manage repository access ",-1),n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-external-link"})],-1)])])):f("v-if",!0),n("a",{class:T(e.connections.appConnected&&!e.connections.appError?"connection-link":"btn btn-ink"),target:"_self",href:"/github/app/login"},c(e.connections.appConnected?"Reconnect account":"Connect GitHub account"),3),e.connections.appConnected?(l(),d("button",{key:1,class:"connection-link connection-refresh",title:"Refresh access",disabled:e.busy,onClick:t[3]||(t[3]=o=>e.loadConnections())},[...t[10]||(t[10]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-refresh"})],-1),n("span",{class:"sr-only"},"Refresh access",-1)])],8,_v)):f("v-if",!0)]),t[17]||(t[17]=n("p",{class:"connection-help"},"Choose repositories on GitHub. Organization access may need an administrator's approval.",-1)),e.connections.installations?.length?(l(),d("ul",Vv,[(l(!0),d(L,null,se(e.connections.installations,o=>(l(),d("li",{key:o.id},[n("div",null,[t[11]||(t[11]=n("span",{class:"connection-label"},"Installed on",-1)),t[12]||(t[12]=v()),n("strong",null,c(o.account),1),o.suspended?(l(),d("span",qv," \xB7 Suspended")):f("v-if",!0)]),e.connections.installations.length>1?(l(),d("a",{key:0,target:"_self",href:"/github/app/install?installationId="+o.id},[t[13]||(t[13]=v("Manage access ",-1)),n("span",Lv,"for "+c(o.account),1),t[14]||(t[14]=v(" \u2192",-1))],8,$v)):f("v-if",!0)]))),128))])):f("v-if",!0)])):f("v-if",!0),n("section",null,[t[20]||(t[20]=n("div",{class:"connection-top"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-key"})]),n("span",{class:"connection-badge connection-badge-muted"},"Legacy")],-1)),n("div",Uv,[t[18]||(t[18]=n("h2",null,"GitHub OAuth",-1)),n("span",{class:T(["connection-status",{"is-connected":e.connections.oauthConnected}])},c(e.connections.oauthConnected?"Connected":"Not connected"),3)]),t[21]||(t[21]=n("p",null,"For existing OAuth anonymizations.",-1)),t[22]||(t[22]=n("p",{class:"connection-help"},"This connection uses GitHub's broader repository permissions. Existing work keeps using it until you switch below.",-1)),e.connections.oauthEnabled?(l(),d("a",Fv,c(e.connections.oauthConnected?"Reconnect OAuth":"Connect legacy OAuth"),1)):f("v-if",!0),e.connections.oauthConnected?(l(),d("div",Bv,[e.connections.gistCount?(l(),d("p",zv,c(e.connections.gistCount)+" gist(s) use your GitHub App connection when available.",1)):f("v-if",!0),t[19]||(t[19]=n("p",null,"Switch all dependent repositories before revoking access. Gists can use your GitHub App connection.",-1)),e.connections.appConnected?(l(),d("button",{key:1,class:"btn btn-sm btn-outline-danger connection-danger",disabled:e.busy||e.connections.resources.some(o=>o.connection==="oauth"),onClick:t[4]||(t[4]=o=>e.disconnectOAuth())},"Revoke OAuth access",8,Hv)):f("v-if",!0)])):f("v-if",!0)])]),n("section",jv,[n("div",Gv,[t[23]||(t[23]=n("h2",null,"Repository connections",-1)),n("span",Wv,c(e.connections.resources?.length||0)+" "+c((e.connections.resources?.length||0)===1?"resource":"resources"),1)]),t[25]||(t[25]=n("p",null,"Check access, then switch each resource to the GitHub App. After reinstalling the App, reconnect existing resources here to keep their anonymous URLs and published snapshots.",-1)),e.connections.resources?.length?f("v-if",!0):(l(),d("div",Kv,[...t[24]||(t[24]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-type-repo"})],-1),n("div",null,[n("h3",null,"No repository connections yet"),n("p",null,"Your repositories and pull requests will appear here once you anonymize them.")],-1),n("a",{class:"connection-link",href:"/anonymize"},"New anonymization \u2192",-1)])])),(l(!0),d(L,null,se(e.connections.resources,o=>(l(),d("div",{class:"connection-resource",key:o.type+o.id},[n("div",Yv,[n("strong",null,c(o.name||o.id),1),n("small",null,c(o.type)+" \xB7 "+c(o.id),1)]),n("span",{class:T(["connection-badge",{"connection-badge-muted":o.connection==="oauth"}])},c(o.connection==="github-app"?"Read-only App":"Legacy OAuth"),3),!["archived","removed","preparing","queue","removing","expiring"].includes(o.status)&&(o.status!=="download"||o.type==="pull-request"&&(!o.statusDate||new Date(o.statusDate).getTime()<=Date.now()-3e5))&&e.connections.appEnabled&&e.connections.appConnected?(l(),d("div",Xv,[n("button",{class:"btn btn-outline-ink",disabled:e.busy,onClick:i=>e.changeConnection(o,"github-app",!0)},"Check read-only access",8,Qv),o.eligible?(l(),d("button",{key:0,class:"btn btn-ink",disabled:e.busy,onClick:i=>e.changeConnection(o,"github-app",!1)},c(o.connection==="github-app"?"Reconnect read-only access":"Switch to read-only access"),9,Jv)):f("v-if",!0),o.eligible===!1?(l(),d("span",Zv,"Access unavailable. Allow this repository on GitHub, then check again.")):f("v-if",!0)])):f("v-if",!0),!["archived","removed","preparing","queue","removing","expiring"].includes(o.status)&&(o.status!=="download"||o.type==="pull-request"&&(!o.statusDate||new Date(o.statusDate).getTime()<=Date.now()-3e5))&&o.connection==="github-app"&&e.connections.oauthConnected?(l(),d("button",{key:1,class:"connection-link",disabled:e.busy,onClick:i=>e.changeConnection(o,"oauth",!1)},"Use OAuth",8,xv)):f("v-if",!0)]))),128)),t[26]||(t[26]=n("p",{class:"connection-footnote"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-info"})]),v(" Removing access stops new fetches from GitHub. Published content keeps its current expiration and removal settings.")],-1))])])):f("v-if",!0)])}var ey={class:"container paper-page auth-page"},ty={class:"auth-layout"},ny={class:"auth-options"},oy={key:0},sy={key:0,class:"btn btn-ink auth-continue",target:"_self",href:"/github/login?recover=1"},iy={key:1},ry={key:1,class:"auth-card"},ay={key:2,class:"auth-legacy"},ly={key:3,role:"status"};function Vc(e,t){let o=Xe("partial-view");return l(),d(L,null,[n("div",ey,[n("div",ty,[t[4]||(t[4]=Ee('
Your research, ready for review

Your code.
Your identity,
protected.
Sign in to GitHub

Sign in to create and manage your anonymizations.

',1)),n("div",ny,[e.accountRecovery?(l(),d("section",oy,[t[0]||(t[0]=n("h2",null,"Verify your existing account",-1)),t[1]||(t[1]=n("p",null,"We found an existing account. Verify it with your previous GitHub connection to keep your anonymizations. Future sign-ins will use the GitHub App.",-1)),e.site_options?.GITHUB_OAUTH_ENABLED?(l(),d("a",sy,"Verify with previous GitHub connection")):(l(),d("p",iy,"Account verification is currently unavailable. Please try again later."))])):f("v-if",!0),e.site_options?.GITHUB_APP_ENABLED&&!e.accountRecovery?(l(),d("section",ry,[...t[2]||(t[2]=[Ee('

Continue with GitHub

Connect through the GitHub App with read-only repository access.

  • You choose which repositories to share
  • No permission to write to your code
Sign in with GitHubYour existing anonymizations and connections stay with your account.',5)])])):f("v-if",!0),!e.site_options?.GITHUB_APP_ENABLED&&e.site_options?.GITHUB_OAUTH_ENABLED&&!e.accountRecovery?(l(),d("section",ay,[...t[3]||(t[3]=[n("div",{class:"connection-title"},[n("h2",null,"Continue with GitHub")],-1),n("p",null,"Sign in to access your account. GitHub OAuth includes write access to private repositories.",-1),n("a",{class:"connection-link",target:"_self",href:"/github/login"},[v("Sign in with GitHub "),n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-arrow-right"})])],-1)])])):f("v-if",!0),e.site_options&&!e.site_options.GITHUB_APP_ENABLED&&!e.site_options.GITHUB_OAUTH_ENABLED?(l(),d("p",ly,"GitHub sign-in is currently unavailable. Please try again later.")):f("v-if",!0)])])]),_e(o,{name:"partials/footer.htm",state:e.viewState},null,8,["state"])],64)}function qc(e,t){let o=Xe("partial-view");return l(),d(L,null,[t[0]||(t[0]=Ee('
Error \xB7 404

This link
isn\u2019t here.

The anonymous mirror you\u2019re looking for has expired, been removed by its owner, or never existed. If you received this URL from an author, ask them to re-issue it.

',1)),_e(o,{name:"partials/footer.htm",state:e.viewState},null,8,["state"])],64)}var dy={class:"container paper-page admin-page"},uy={class:"seg-bar"},cy={class:"seg-filter",role:"radiogroup","aria-label":"Filter by status"},py=["aria-checked"],fy={class:"count"},hy=["aria-checked"],my={class:"count"},gy=["aria-checked"],vy={class:"count"},yy=["aria-checked"],by={class:"count"},wy=["aria-checked"],ky={class:"count"},Cy=["aria-checked"],Ey={class:"count"},Sy={class:"seg-countline",role:"status"},Ny={key:0,class:"alert alert-danger",style:{margin:"8px 0"}},Ry={class:"w-100 admin-filter-toolbar","aria-label":"Conferences","accept-charset":"UTF-8"},Dy={class:"admin-filter-row"},Ay={class:"search-wrap"},Ty={type:"search",class:"form-control",placeholder:"Search conferences\u2026",autocomplete:"off"},Py={key:0,class:"admin-search-hint"},Oy={key:1,class:"admin-filter-inline","aria-label":"Pagination"},Iy=["disabled"],My={style:{"font-family":"var(--font-mono)","font-size":"12px",color:"var(--ink-muted)"}},_y=["disabled"],Vy={key:0,class:"admin-filter-row"},qy={class:"admin-active-chips"},$y={class:"key"},Ly=["onClick"],Uy={class:"paper-table paper-table-conferences w-100",role:"table","aria-label":"Conferences"},Fy={key:0,class:"paper-table-head",role:"row"},By={role:"columnheader"},zy={role:"columnheader"},Hy={role:"columnheader"},jy={class:"paper-table-row",role:"row"},Gy={class:"cell-anon",role:"cell"},Wy={class:"anon-text"},Ky=["textContent","href"],Yy={class:"anon-sub"},Xy={class:"cell-status",role:"cell"},Qy=["textContent"],Jy={class:"cell-views num",role:"cell"},Zy=["textContent","href"],xy={class:"cell-expires",role:"cell"},eb={class:"cell-actions",role:"cell"},tb={class:"dropdown"},ob={class:"dropdown-menu dropdown-menu-right"},sb=["href"],ib=["href"],rb=["href"],ab=["onClick"],lb={key:1,class:"paper-table-empty"},db={class:"admin-toolbar",style:{"justify-content":"space-between","border-bottom":"none"}},ub={key:0,class:"pagination-compact"},cb=["disabled"],pb=["max"],fb=["disabled"],hb={class:"admin-filter-inline"},mb={class:"form-control form-control-sm"};function $c(e,t){let o=Te("field"),i=Te("form");return l(),d("div",dy,[t[55]||(t[55]=Ee('
Admin \xA0/\xA0 Conferences

Conferences

',3)),n("div",uy,[n("div",cy,[n("button",{type:"button",role:"radio",class:T(["seg-chip",{active:e.segView()==="all"}]),"aria-checked":e.segView()==="all",onClick:t[0]||(t[0]=s=>e.setSegView("all"))},[t[14]||(t[14]=v("All ",-1)),n("span",fy,c(e.fmt?.number(e.segCount("all"))),1)],10,py),n("button",{type:"button",role:"radio",class:T(["seg-chip",{active:e.segView()==="ready","is-empty":!e.segCount("ready")}]),"aria-checked":e.segView()==="ready",onClick:t[1]||(t[1]=s=>e.setSegView("ready"))},[t[15]||(t[15]=n("span",{class:"seg-dot ok","aria-hidden":"true"},null,-1)),t[16]||(t[16]=v("Ready ",-1)),n("span",my,c(e.fmt?.number(e.segCount("ready"))),1)],10,hy),n("button",{type:"button",role:"radio",class:T(["seg-chip",{active:e.segView()==="preparing","is-empty":!e.segCount("preparing")}]),"aria-checked":e.segView()==="preparing",onClick:t[2]||(t[2]=s=>e.setSegView("preparing"))},[t[17]||(t[17]=n("span",{class:"seg-dot warn","aria-hidden":"true"},null,-1)),t[18]||(t[18]=v("Preparing ",-1)),n("span",vy,c(e.fmt?.number(e.segCount("preparing"))),1)],10,gy),n("button",{type:"button",role:"radio",class:T(["seg-chip",{active:e.segView()==="error","is-empty":!e.segCount("error")}]),"aria-checked":e.segView()==="error",onClick:t[3]||(t[3]=s=>e.setSegView("error"))},[t[19]||(t[19]=n("span",{class:"seg-dot bad","aria-hidden":"true"},null,-1)),t[20]||(t[20]=v("Error ",-1)),n("span",by,c(e.fmt?.number(e.segCount("error"))),1)],10,yy),n("button",{type:"button",role:"radio",class:T(["seg-chip",{active:e.segView()==="expired","is-empty":!e.segCount("expired")}]),"aria-checked":e.segView()==="expired",onClick:t[4]||(t[4]=s=>e.setSegView("expired"))},[t[21]||(t[21]=n("span",{class:"seg-dot off","aria-hidden":"true"},null,-1)),t[22]||(t[22]=v("Expired ",-1)),n("span",ky,c(e.fmt?.number(e.segCount("expired"))),1)],10,wy),n("button",{type:"button",role:"radio",class:T(["seg-chip",{active:e.segView()==="removed","is-empty":!e.segCount("removed")}]),"aria-checked":e.segView()==="removed",onClick:t[5]||(t[5]=s=>e.setSegView("removed"))},[t[23]||(t[23]=n("span",{class:"seg-dot off","aria-hidden":"true"},null,-1)),t[24]||(t[24]=v("Removed ",-1)),n("span",Ey,c(e.fmt?.number(e.segCount("removed"))),1)],10,Cy)]),n("p",Sy,[n("strong",null,c(e.total>=0?e.fmt.number(e.total):"\u2026"),1),t[25]||(t[25]=v(" shown",-1))])]),e.fetchError?(l(),d("div",Ny,[t[26]||(t[26]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-warning"})],-1)),v(" "+c(e.fetchError),1)])):f("v-if",!0),P((l(),d("form",Ry,[n("div",Dy,[n("div",Ay,[P(n("input",Ty,null,512),[[o,{state:e.viewState,set:s=>{e.query.search=s},value:e.query?.search,form:null,options:{}}]]),e.query?.search?f("v-if",!0):(l(),d("span",Py,"/"))]),t[30]||(t[30]=n("span",{class:"admin-filter-spacer"},null,-1)),e.total>0?(l(),d("button",{key:0,class:"btn btn-sm",type:"button",onClick:t[6]||(t[6]=s=>e.exportCsv())},[...t[27]||(t[27]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-export"})],-1),v(" Export",-1)])])):f("v-if",!0),e.totalPage>1?(l(),d("span",Oy,[n("button",{class:"btn btn-sm btn-icon",type:"button",onClick:t[7]||(t[7]=s=>e.query.page=Math.max(1,e.query.page-1)),disabled:e.query?.page<=1,"aria-label":"Previous page"},[...t[28]||(t[28]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-chevron-left"})],-1)])],8,Iy),n("span",My,c(e.query?.page)+"/"+c(e.totalPage||1),1),n("button",{class:"btn btn-sm btn-icon",type:"button",onClick:t[8]||(t[8]=s=>e.query.page=Math.min(e.totalPage,e.query.page+1)),disabled:e.query?.page>=e.totalPage,"aria-label":"Next page"},[...t[29]||(t[29]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-chevron-right"})],-1)])],8,_y)])):f("v-if",!0)]),e.chips?.length?(l(),d("div",Vy,[n("div",qy,[(l(!0),d(L,null,se(e.chips,(s,r)=>(l(),d("span",{class:"admin-active-chip",key:s?.key},[n("span",$y,c(s?.label),1),n("span",null,c(s?.value),1),n("button",{type:"button",onClick:a=>e.clearFilter(s.key),"aria-label":"Clear filter"},[...t[31]||(t[31]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-close"})],-1)])],8,Ly)]))),128))])])):f("v-if",!0)])),[[i,e.viewState]]),n("div",Uy,[e.total!==0?(l(),d("div",Fy,[n("div",By,[n("button",{type:"button",class:T(["sortable",{active:e.query?.sort=="name"}]),onClick:t[9]||(t[9]=s=>e.sortBy("name"))},[t[33]||(t[33]=v("Conference ",-1)),e.sortIcon("name")?(l(),d("svg",{key:0,class:T(["ui-icon sort-direction",{ascending:e.sortIcon("name")==="fa-arrow-up"}]),"aria-hidden":"true"},[...t[32]||(t[32]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)):f("v-if",!0)],2)]),n("div",zy,[n("button",{type:"button",class:T(["sortable",{active:e.query?.sort=="status"}]),onClick:t[10]||(t[10]=s=>e.sortBy("status"))},[t[35]||(t[35]=v("Status ",-1)),e.sortIcon("status")?(l(),d("svg",{key:0,class:T(["ui-icon sort-direction",{ascending:e.sortIcon("status")==="fa-arrow-up"}]),"aria-hidden":"true"},[...t[34]||(t[34]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)):f("v-if",!0)],2)]),t[38]||(t[38]=n("div",{role:"columnheader",class:"num"},"Repos",-1)),n("div",Hy,[n("button",{type:"button",class:T(["sortable",{active:e.query?.sort=="startDate"}]),onClick:t[11]||(t[11]=s=>e.sortBy("startDate"))},[t[37]||(t[37]=v("Window ",-1)),e.sortIcon("startDate")?(l(),d("svg",{key:0,class:T(["ui-icon sort-direction",{ascending:e.sortIcon("startDate")==="fa-arrow-up"}]),"aria-hidden":"true"},[...t[36]||(t[36]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)):f("v-if",!0)],2)]),t[39]||(t[39]=n("div",{role:"columnheader","aria-label":"Actions"},null,-1))])):f("v-if",!0),(l(!0),d(L,null,se(e.filteredConferences,(s,r)=>(l(),d("div",jy,[n("div",Gy,[t[40]||(t[40]=n("svg",{class:"ui-icon record-type-icon",role:"img","aria-label":"Conference"},[n("use",{href:"#project-icon-conference"})],-1)),n("div",Wy,[n("a",{class:"repo-name",textContent:c(s?.name),href:e.safeUrl("/conference/"+s?.conferenceID)},null,8,Ky),n("div",Yy,[n("span",null,c(s?.conferenceID),1),n("span",null,c(e.fmt?.money(s?.price||0)),1)])])]),n("div",Xy,[n("span",{class:T(["status-dot","st-"+(s?.status||"unknown")])},null,2),n("span",{textContent:c(e.fmt?.statusLabel(s?.status))},null,8,Qy)]),n("div",Jy,[t[41]||(t[41]=n("svg",{class:"ui-icon mobile-meta-icon","aria-hidden":"true"},[n("use",{href:"#project-type-repo"})],-1)),n("a",{title:"Show repositories in this conference",textContent:c(e.fmt?.number(s?.repositories?.length||0)),href:e.safeUrl("/admin/?conference="+s?.conferenceID)},null,8,Zy)]),n("div",xy,[t[42]||(t[42]=n("svg",{class:"ui-icon mobile-meta-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-clock"})],-1)),v(" "+c(e.fmt?.date(s?.startDate))+" \u2013 "+c(e.fmt?.date(s?.endDate)),1)]),n("div",eb,[n("div",tb,[t[48]||(t[48]=n("button",{class:"btn btn-icon-dots",type:"button","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false","aria-label":"Actions"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-more"})])],-1)),n("div",ob,[n("a",{class:"dropdown-item",href:e.safeUrl("/conference/"+s?.conferenceID+"/edit")},[...t[43]||(t[43]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-edit"})],-1),v(" Edit",-1)])],8,sb),n("a",{class:"dropdown-item",href:e.safeUrl("/conference/"+s?.conferenceID+"/")},[...t[44]||(t[44]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-eye"})],-1),v(" View",-1)])],8,ib),n("a",{class:"dropdown-item",href:e.safeUrl("/admin/?conference="+s?.conferenceID)},[...t[45]||(t[45]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-type-repo"})],-1),v(" View repositories",-1)])],8,rb),t[47]||(t[47]=n("div",{class:"dropdown-divider"},null,-1)),P(n("a",{class:"dropdown-item text-danger",href:"#",onClick:ue(a=>e.removeConference(s),["prevent"])},[...t[46]||(t[46]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-trash"})],-1),v(" Remove",-1)])],8,ab),[[x,s?.status!="removed"]])])])])]))),256)),e.filteredConferences?.length==0?(l(),d("div",lb,[t[49]||(t[49]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-inbox"})],-1)),n("span",null,c(e.total?"No conferences match the current filters.":"No conferences yet."),1)])):f("v-if",!0)]),n("div",db,[t[54]||(t[54]=n("span",{"aria-hidden":"true"},null,-1)),e.totalPage>1?(l(),d("div",ub,[n("button",{class:"btn btn-sm",onClick:t[12]||(t[12]=s=>e.query.page=Math.max(1,e.query.page-1)),disabled:e.query?.page<=1},[...t[50]||(t[50]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-chevron-left"})],-1),v(" Previous",-1)])],8,cb),P(n("input",{type:"number",class:"form-control form-control-sm",min:"1",style:{width:"56px"},max:e.totalPage},null,8,pb),[[o,{state:e.viewState,set:s=>{e.query.page=s},value:e.query?.page,form:null,options:{}}]]),n("span",null,"of "+c(e.totalPage),1),n("button",{class:"btn btn-sm",onClick:t[13]||(t[13]=s=>e.query.page=Math.min(e.totalPage,e.query.page+1)),disabled:e.query?.page>=e.totalPage},[...t[51]||(t[51]=[v("Next ",-1),n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-chevron-right"})],-1)])],8,fb)])):f("v-if",!0),n("span",hb,[t[53]||(t[53]=n("label",null,"Per page",-1)),P((l(),d("select",mb,[...t[52]||(t[52]=[Ee('',5)])])),[[o,{state:e.viewState,set:s=>{e.query.limit=s},value:e.query?.limit,form:null,options:{}}]])])])])}var gb={class:"container paper-page admin-page errors-page"},vb={class:"errors-header"},yb={class:"errors-actions"},bb={class:"kpi-grid"},wb={class:"kpi-card"},kb={class:"kpi-value"},Cb={key:0},Eb={key:1},Sb={key:2},Nb=["aria-pressed"],Rb={class:"kpi-value"},Db={class:"kpi-sub"},Ab=["aria-pressed"],Tb={class:"kpi-value"},Pb={class:"kpi-sub"},Ob=["aria-pressed"],Ib={class:"kpi-value"},Mb={class:"kpi-sub"},_b={class:"kpi-value"},Vb={class:"kpi-sub"},qb={key:0,class:"dropped-warn"},$b={class:"volume-chart"},Lb={class:"volume-head"},Ub={class:"volume-legend"},Fb={key:0},Bb={key:1},zb={key:2},Hb={class:"volume-bars"},jb=["title"],Gb={class:"errors-toolbar","aria-label":"Error filters"},Wb={class:"seg-filter",role:"radiogroup","aria-label":"Filter by severity"},Kb=["aria-checked"],Yb={class:"count"},Xb=["aria-checked"],Qb={class:"count"},Jb=["aria-checked"],Zb={class:"count"},xb=["aria-checked"],e1={class:"count"},t1={class:"search-wrap"},n1={type:"search",class:"form-control",placeholder:"Search errors\u2026",title:"Search messages, or filter with code:repo_not_found module:route status:>=400",autocomplete:"off"},o1={key:0,class:"filter-count"},s1={class:"select-wrap"},i1={class:"form-control form-control-sm"},r1={class:"select-wrap"},a1={class:"form-control form-control-sm"},l1={class:"autoref"},d1={type:"checkbox"},u1={key:0,class:"admin-empty"},c1={key:1,class:"errors-pager"},p1={key:2,class:"errors-list"},f1={key:0,class:"errors-group-head"},h1={class:"errors-group-count"},m1={key:0,class:"errors-group-note"},g1=["onClick"],v1={class:"col-when"},y1={class:"when-rel"},b1={class:"when-abs"},w1={class:"col-sev"},k1={class:"sev-label"},C1={class:"col-mod"},E1={class:"pill pill-module"},S1={class:"col-msg"},N1={class:"msg-code"},R1={key:0,class:"msg-context"},D1={key:1,class:"msg-detail"},A1=["title"],T1={class:"col-count"},P1={key:0,class:"count-pill"},O1={key:1,class:"count-pill count-pill-muted"},I1={class:"col-status"},M1=["title"],_1={key:1,class:"status-empty",title:"No HTTP status for this event"},V1={key:0,class:"errors-row-detail"},q1={class:"detail-tabs"},$1=["onClick"],L1=["onClick"],U1=["onClick"],F1={class:"detail-body"},B1={class:"detail-main"},z1={key:0},H1={key:1,class:"stack-pre"},j1={key:2,class:"related-list"},G1={class:"when-abs"},W1={class:"msg-url"},K1={class:"detail-actions"},Y1=["onClick"],X1=["onClick"],Q1={key:0,class:"copy-hint"},J1={class:"detail-aside"},Z1={class:"aside-block"},x1=["title"],ew={class:"aside-block"},tw=["title"],nw={class:"aside-block"},ow={class:"aside-value"},sw={key:0,class:"aside-sub"},iw={key:0,class:"aside-block"},rw=["href"],aw={key:1,class:"aside-block"},lw={class:"aside-value mono"};function Lc(e,t){let o=Te("field"),i=Te("form");return l(),d("div",gb,[t[49]||(t[49]=n("div",{class:"paper-crumbs"},[v("Admin \xA0/\xA0 "),n("span",{class:"here"},"Errors")],-1)),n("header",vb,[t[16]||(t[16]=n("h1",{class:"paper-page-title"},"Errors",-1)),n("div",yb,[n("button",{class:"btn btn-sm",type:"button",onClick:t[0]||(t[0]=s=>e.exportCsv())},[...t[14]||(t[14]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-export"})],-1),v(" Export CSV",-1)])]),n("button",{class:"btn btn-sm btn-outline-danger",type:"button",onClick:t[1]||(t[1]=s=>e.clearAll())},[...t[15]||(t[15]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-trash"})],-1),v(" Clear all",-1)])])])]),t[50]||(t[50]=Ee('',1)),n("section",bb,[n("div",wb,[t[17]||(t[17]=n("div",{class:"kpi-label"},"Occurrences \xB7 24h",-1)),n("div",kb,c(e.fmt?.number(e.stats?.last24h??0)),1),n("div",{class:T(["kpi-sub",{up:e.stats?.delta>0,down:e.stats?.delta<0}])},[e.stats?.prev24h>=20?(l(),d("span",Cb,c((e.stats?.last24h??0)-(e.stats?.prev24h??0)>=0?"+":"")+c(Math.round(((e.stats?.last24h??0)-(e.stats?.prev24h??0))/e.stats.prev24h*100))+"% vs yesterday",1)):e.stats?.prev24h!==void 0?(l(),d("span",Eb,c(e.fmt?.number(e.stats?.prev24h??0))+" in prior 24h",1)):f("v-if",!0),e.stats?.prev24h?f("v-if",!0):(l(),d("span",Sb,"no prior baseline"))],2)]),n("div",{class:T(["kpi-card kpi-error kpi-filter",{"is-selected":e.query?.bucket==="error"}]),role:"button",tabindex:"0","aria-pressed":e.query?.bucket==="error",title:"Show only errors (5xx)",onClick:t[2]||(t[2]=s=>e.setBucket(e.query?.bucket==="error"?"":"error")),onKeydown:t[3]||(t[3]=pt(ue(s=>e.setBucket(e.query?.bucket==="error"?"":"error"),["prevent"]),["enter"]))},[t[18]||(t[18]=n("div",{class:"kpi-label"},"Error",-1)),n("div",Rb,c(e.fmt?.number(e.stats?.severity?.error??0)),1),n("div",Db,"5xx \xB7 "+c(e.stats?.unique?.error)+" unique",1)],42,Nb),n("div",{class:T(["kpi-card kpi-warn kpi-filter",{"is-selected":e.query?.bucket==="warn"}]),role:"button",tabindex:"0","aria-pressed":e.query?.bucket==="warn",title:"Show only warnings (4xx, aborted requests)",onClick:t[4]||(t[4]=s=>e.setBucket(e.query?.bucket==="warn"?"":"warn")),onKeydown:t[5]||(t[5]=pt(ue(s=>e.setBucket(e.query?.bucket==="warn"?"":"warn"),["prevent"]),["enter"]))},[t[19]||(t[19]=n("div",{class:"kpi-label"},"Warning",-1)),n("div",Tb,c(e.fmt?.number(e.stats?.severity?.warn??0)),1),n("div",Pb,"4xx, aborted \xB7 "+c(e.stats?.unique?.warn)+" unique",1)],42,Ab),n("div",{class:T(["kpi-card kpi-info kpi-filter",{"is-selected":e.query?.bucket==="info"}]),role:"button",tabindex:"0","aria-pressed":e.query?.bucket==="info",title:"Show only info events",onClick:t[6]||(t[6]=s=>e.setBucket(e.query?.bucket==="info"?"":"info")),onKeydown:t[7]||(t[7]=pt(ue(s=>e.setBucket(e.query?.bucket==="info"?"":"info"),["prevent"]),["enter"]))},[t[20]||(t[20]=n("div",{class:"kpi-label"},"Info",-1)),n("div",Ib,c(e.fmt?.number(e.stats?.severity?.info??0)),1),n("div",Mb,"Auth, 404 \xB7 "+c(e.stats?.unique?.info)+" unique",1)],42,Ob),n("div",{class:T(["kpi-card",{"kpi-error":e.stats?.dropped>0}])},[t[21]||(t[21]=n("div",{class:"kpi-label"},"Distinct errors stored",-1)),n("div",_b,c(e.fmt?.number(e.total)),1),n("div",Vb,[v(" all time \xB7 cap "+c(e.fmt?.number(e.cap))+" \xB7 "+c(e.available?"live":"redis off")+" ",1),e.stats?.dropped>0?(l(),d("span",qb," \xB7 "+c(e.stats?.dropped)+" dropped",1)):f("v-if",!0)])],2)]),n("section",$b,[n("div",Lb,[t[25]||(t[25]=n("span",{class:"volume-title"},"Volume \xB7 24h \xB7 1h buckets",-1)),n("span",Ub,[e.stats?.severity?.error?(l(),d("span",Fb,[...t[22]||(t[22]=[n("span",{class:"dot dot-error"},null,-1),v("Error",-1)])])):f("v-if",!0),e.stats?.severity?.warn?(l(),d("span",Bb,[...t[23]||(t[23]=[n("span",{class:"dot dot-warn"},null,-1),v("Warning",-1)])])):f("v-if",!0),e.stats?.severity?.info?(l(),d("span",zb,[...t[24]||(t[24]=[n("span",{class:"dot dot-info"},null,-1),v("Info",-1)])])):f("v-if",!0)])]),n("div",Hb,[(l(!0),d(L,null,se(e.stats?.buckets,(s,r)=>(l(),d("div",{class:"volume-bar",key:r,title:e.bucketTitle(s)},[n("span",{class:"seg seg-error",style:Ve({height:e.barPx(s,"error")+"px"})},null,4),n("span",{class:"seg seg-warn",style:Ve({height:e.barPx(s,"warn")+"px"})},null,4),n("span",{class:"seg seg-info",style:Ve({height:e.barPx(s,"info")+"px"})},null,4)],8,jb))),128))]),t[26]||(t[26]=n("div",{class:"volume-axis","aria-hidden":"true"},[n("span",null,"24h ago"),n("span",null,"12h ago"),n("span",null,"now")],-1))]),P((l(),d("form",Gb,[n("div",Wb,[n("button",{type:"button",role:"radio",class:T(["seg-chip",{active:(e.query?.bucket||"")===""}]),"aria-checked":(e.query?.bucket||"")==="",onClick:t[8]||(t[8]=s=>e.setBucket(""))},[t[27]||(t[27]=v("All ",-1)),n("span",Yb,c(e.fmt?.number((e.stats?.severity?.error??0)+(e.stats?.severity?.warn??0)+(e.stats?.severity?.info??0))),1)],10,Kb),n("button",{type:"button",role:"radio",class:T(["seg-chip",{active:(e.query?.bucket||"")==="error","is-empty":!e.stats?.severity?.error}]),"aria-checked":(e.query?.bucket||"")==="error",onClick:t[9]||(t[9]=s=>e.setBucket("error"))},[t[28]||(t[28]=n("span",{class:"seg-dot bad","aria-hidden":"true"},null,-1)),t[29]||(t[29]=v("Error ",-1)),n("span",Qb,c(e.fmt?.number(e.stats?.severity?.error??0)),1)],10,Xb),n("button",{type:"button",role:"radio",class:T(["seg-chip",{active:(e.query?.bucket||"")==="warn","is-empty":!e.stats?.severity?.warn}]),"aria-checked":(e.query?.bucket||"")==="warn",onClick:t[10]||(t[10]=s=>e.setBucket("warn"))},[t[30]||(t[30]=n("span",{class:"seg-dot warn","aria-hidden":"true"},null,-1)),t[31]||(t[31]=v("Warning ",-1)),n("span",Zb,c(e.fmt?.number(e.stats?.severity?.warn??0)),1)],10,Jb),n("button",{type:"button",role:"radio",class:T(["seg-chip",{active:(e.query?.bucket||"")==="info","is-empty":!e.stats?.severity?.info}]),"aria-checked":(e.query?.bucket||"")==="info",onClick:t[11]||(t[11]=s=>e.setBucket("info"))},[t[32]||(t[32]=n("span",{class:"seg-dot off","aria-hidden":"true"},null,-1)),t[33]||(t[33]=v("Info ",-1)),n("span",e1,c(e.fmt?.number(e.stats?.severity?.info??0)),1)],10,xb)]),n("div",t1,[t[34]||(t[34]=n("svg",{class:"ui-icon search-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-search"})],-1)),P(n("input",n1,null,512),[[o,{state:e.viewState,set:s=>{e.query.search=s},value:e.query?.search,form:null,options:{}}]]),e.parsedFilterCount?(l(),d("span",o1,c(e.parsedFilterCount)+" filter"+c(e.parsedFilterCount>1?"s":""),1)):f("v-if",!0)]),n("div",s1,[t[36]||(t[36]=n("label",null,"Sort",-1)),P((l(),d("select",i1,[...t[35]||(t[35]=[n("option",{value:"recent"},"Most recent",-1),n("option",{value:"count"},"Most frequent",-1)])])),[[o,{state:e.viewState,set:s=>{e.query.sort=s},value:e.query?.sort,form:null,options:{}}]])]),n("div",r1,[t[38]||(t[38]=n("label",{title:"Rows are always sectioned by severity. This merges repeated events inside each section."},"Merge",-1)),P((l(),d("select",a1,[...t[37]||(t[37]=[n("option",{value:""},"Don't merge",-1),n("option",{value:"code"},"Same error",-1),n("option",{value:"module"},"Same module",-1)])])),[[o,{state:e.viewState,set:s=>{e.query.group=s},value:e.query?.group,form:null,options:{}}]])]),n("label",l1,[P(n("input",d1,null,512),[[o,{state:e.viewState,set:s=>{e.query.autoRefresh=s},value:e.query?.autoRefresh,form:null,options:{}}]]),t[39]||(t[39]=n("span",{class:"auto-refresh-label"},"Auto-refresh",-1))]),n("button",{class:"btn btn-sm btn-icon",type:"button",title:"Refresh now",onClick:t[12]||(t[12]=s=>e.refreshNow()),"aria-label":"Refresh"},[...t[40]||(t[40]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-refresh"})],-1)])])])),[[i,e.viewState]]),e.visible?.length?f("v-if",!0):(l(),d("div",u1,"No errors captured.")),e.canLoadMore()&&e.visible?.length?(l(),d("div",c1,[n("span",null,c(e.query?.group&&e.visible?.length!==e.entries?.length?e.fmt?.number(e.visible?.length)+(e.visible?.length===1?" group":" groups")+" from ":"")+c(e.fmt?.number(e.entries?.length))+" of "+c(e.fmt?.number(e.total))+" stored errors loaded",1),n("button",{class:"btn btn-sm",type:"button",onClick:t[13]||(t[13]=s=>e.loadMore())},"Load 250 older")])):f("v-if",!0),e.visible?.length?(l(),d("div",p1,[t[48]||(t[48]=Ee('
WhenSeverityModuleMessageTotalStatus
',1)),(l(!0),d(L,null,se(e.visible,(s,r)=>(l(),d(L,{key:s?._key},[r===0||e.visible[r-1]?._bucket!==s?._bucket?(l(),d("div",f1,[n("span",{class:T(["sev-dot","sev-"+s?._bucket])},null,2),v(c(s?._bucket==="error"?"Error":s?._bucket==="warn"?"Warning":"Info"),1),n("span",h1,c(e.fmt?.number(e.visible.filter(a=>a?._bucket===s?._bucket).length)),1),r===0?(l(),d("span",m1,"By severity \xB7 "+c(e.query?.group==="code"?"repeats merged by error \xB7 ":e.query?.group==="module"?"repeats merged by module \xB7 ":"")+c(e.query?.sort==="count"?"most frequent first":"most recent first"),1)):f("v-if",!0)])):f("v-if",!0),n("div",{class:T(["errors-row",{open:e.expanded[s?._key]}])},[n("div",{class:"errors-row-main",onClick:a=>e.toggle(s)},[n("div",v1,[n("div",y1,c(e.relTime(s?.ts)),1),n("div",b1,c(e.absTimeShort(s?.ts)),1)]),n("div",w1,[n("span",{class:T(["sev-dot","sev-"+s?._bucket])},null,2),n("span",k1,c(s?._bucket==="error"?"Error":s?._bucket==="warn"?"Warning":"Info"),1)]),n("div",C1,[n("span",E1,c(s?.module),1)]),n("div",S1,[n("strong",N1,c(s?.displayMessage),1),s?.displayContext&&s?.displayContext!==s?.displayMessage?(l(),d("span",R1,c(s?.displayContext),1)):f("v-if",!0),s?._detail?(l(),d("span",D1,c(s?._detail),1)):f("v-if",!0),s?._url?(l(),d("div",{key:2,class:"msg-url",title:s?._url},c(s?._url),9,A1)):f("v-if",!0)]),n("div",T1,[s?.count>1?(l(),d("span",P1,"\xD7"+c(s?.count),1)):f("v-if",!0),s?.count===1?(l(),d("span",O1,"\xD71")):f("v-if",!0)]),n("div",I1,[s?._status?(l(),d("span",{key:0,class:T(["status-pill",String(s?._status).match(/^[23]/)?"status-neutral":"status-"+s?._bucket]),title:String(s?._status).match(/^2/)&&s?._bucket==="warn"?"Client closed the connection":null},c(String(s?._status).match(/^2/)&&s?._bucket==="warn"?"\u2014":s?._status),11,M1)):f("v-if",!0),s?._status?f("v-if",!0):(l(),d("span",_1,"\u2014"))])],8,g1),e.expanded[s?._key]?(l(),d("div",V1,[n("div",q1,[n("button",{type:"button",class:T({active:e.detailTab[s?._key]==="raw"||!e.detailTab[s?._key]}),onClick:a=>e.detailTab[s._key]="raw"},"Raw",10,$1),s?._stack?(l(),d("button",{key:0,type:"button",class:T({active:e.detailTab[s?._key]==="stack"}),onClick:a=>e.detailTab[s._key]="stack"},"Stack",10,L1)):f("v-if",!0),s?.count>1?(l(),d("button",{key:1,type:"button",class:T({active:e.detailTab[s?._key]==="related"}),onClick:a=>e.detailTab[s._key]="related"},"Related ("+c(s?.count)+")",11,U1)):f("v-if",!0)]),n("div",F1,[n("div",B1,[(e.detailTab[s?._key]||"raw")==="raw"?(l(),d("pre",z1,c(s?._detailJson),1)):f("v-if",!0),e.detailTab[s?._key]==="stack"?(l(),d("pre",H1,c(s?._stack),1)):f("v-if",!0),e.detailTab[s?._key]==="related"?(l(),d("div",j1,[(l(!0),d(L,null,se(s?._related,(a,u)=>(l(),d("div",{class:"related-row",key:u},[n("span",G1,c(e.absTimeShort(a?.ts)),1),n("span",W1,c(a?._url),1),a?._status?(l(),d("span",{key:0,class:T(["status-pill","status-"+a?._bucket])},c(a?._status),3)):f("v-if",!0)]))),128))])):f("v-if",!0),n("div",K1,[n("button",{class:"btn btn-sm",type:"button",title:"Copy a curl that reproduces the request",onClick:a=>e.copyCurl(s)},[...t[41]||(t[41]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-code"})],-1),v(" Copy curl",-1)])],8,Y1),n("button",{class:"btn btn-sm",type:"button",onClick:a=>e.copyJson(s)},[...t[42]||(t[42]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-clipboard"})],-1),v(" Copy JSON",-1)])],8,X1),e.copyHint?(l(),d("span",Q1,c(e.copyHint),1)):f("v-if",!0)])]),n("aside",J1,[n("div",Z1,[t[43]||(t[43]=n("div",{class:"aside-label"},"First seen",-1)),n("div",{class:"aside-value",title:e.absTime(s?._firstSeen)},c(e.relTime(s?._firstSeen)),9,x1)]),n("div",ew,[t[44]||(t[44]=n("div",{class:"aside-label"},"Last seen",-1)),n("div",{class:"aside-value",title:e.absTime(s?.ts)},c(e.relTime(s?.ts)),9,tw)]),n("div",nw,[t[45]||(t[45]=n("div",{class:"aside-label"},"Occurrences",-1)),n("div",ow,[v(c(s?.count),1),s?._lastHourCount?(l(),d("span",sw," \xB7 "+c(s?._lastHourCount)+" this hour",1)):f("v-if",!0)])]),s?._repoId?(l(),d("div",iw,[t[46]||(t[46]=n("div",{class:"aside-label"},"Repository",-1)),n("a",{class:"aside-value",href:e.safeUrl("/r/"+s?._repoId)},c(s?._repoId),9,rw)])):f("v-if",!0),s?._url?(l(),d("div",aw,[t[47]||(t[47]=n("div",{class:"aside-label"},"URL",-1)),n("div",lw,c(s?._url),1)])):f("v-if",!0)])])])):f("v-if",!0)],2)],64))),128))])):f("v-if",!0)])}var dw={class:"container paper-page admin-page overview-page"},uw={key:0,class:"admin-empty"},cw={key:1,class:"alert alert-danger",style:{margin:"12px 0"}},pw={class:"ov-views",role:"tablist","aria-label":"Overview sections"},fw=["aria-selected","onClick"],hw={key:2},mw={key:0,class:"ov-health",role:"status"},gw={class:"ov-kpi-row"},vw={class:"ov-kpi-card"},yw={class:"ov-kpi-value"},bw={class:"ov-kpi-sub"},ww={class:"ov-kpi-card"},kw={class:"ov-kpi-sub"},Cw={class:"ov-kpi-card"},Ew={class:"ov-kpi-sub"},Sw={class:"ov-kpi-card"},Nw={class:"ov-kpi-sub"},Rw={class:"ov-kpi-card"},Dw={class:"ov-kpi-value"},Aw={class:"ov-kpi-sub"},Tw={class:"ov-daily-row"},Pw={class:"ov-daily-card"},Ow={class:"ov-daily-value"},Iw={class:"ov-daily-card"},Mw={class:"ov-daily-value"},_w={class:"ov-daily-sub"},Vw={class:"ov-daily-card"},qw={class:"ov-daily-value"},$w={class:"ov-chart-card"},Lw={class:"ov-chart-head"},Uw={class:"ov-chart-legends"},Fw={class:"ov-chart-legend"},Bw={key:0,class:"ov-legend-missing"},zw={key:0,class:"ov-spark-bars ov-has-axis"},Hw={class:"ov-yaxis","aria-hidden":"true"},jw=["data-tip","aria-label"],Gw={key:1,class:"ov-spark-x"},Ww={class:"ov-chart-card"},Kw={class:"ov-chart-head"},Yw={class:"ov-chart-legends"},Xw={class:"ov-chart-legend"},Qw={key:0,class:"ov-legend-missing"},Jw={key:0,class:"ov-spark-bars ov-has-axis"},Zw={class:"ov-yaxis","aria-hidden":"true"},xw=["data-tip","aria-label"],ek={key:1,class:"ov-spark-x"},tk={key:0,class:"ov-chart-card"},nk={class:"ov-chart-head"},ok={class:"ov-chart-legends"},sk={class:"ov-chart-legend"},ik={key:0,class:"ov-legend-missing"},rk={key:0,class:"ov-spark-bars ov-spark-step ov-has-axis"},ak={class:"ov-yaxis","aria-hidden":"true"},lk=["viewBox","aria-label"],dk=["d"],uk=["d"],ck={key:1,class:"ov-spark-x"},pk={class:"ov-chart-card"},fk={class:"ov-chart-head"},hk={class:"ov-chart-legends"},mk={class:"ov-chart-legend"},gk={key:0,class:"ov-legend-missing"},vk={key:0,class:"ov-spark-bars ov-has-axis"},yk={class:"ov-yaxis","aria-hidden":"true"},bk=["data-tip","aria-label"],wk={key:1,class:"ov-spark-x"},kk={class:"ov-triple-row"},Ck={class:"ov-panel-card"},Ek={class:"ov-panel-head"},Sk={class:"ov-panel-meta"},Nk={class:"ov-stacked-bar"},Rk={class:"ov-bar-legend"},Dk={href:"/admin/repositories",class:"ov-legend-item"},Ak={class:"ov-legend-n"},Tk={href:"/admin/repositories",class:"ov-legend-item"},Pk={class:"ov-legend-n"},Ok={href:"/admin/repositories",class:"ov-legend-item"},Ik={class:"ov-legend-n"},Mk={href:"/admin/repositories",class:"ov-legend-item"},_k={class:"ov-legend-n"},Vk={href:"/admin/repositories",class:"ov-legend-item"},qk={class:"ov-legend-n"},$k={class:"ov-panel-card"},Lk={class:"ov-panel-head"},Uk={class:"ov-panel-meta"},Fk={class:"ov-error-bars"},Bk={class:"ov-ebar-row"},zk={class:"ov-ebar-track"},Hk={class:"ov-ebar-n"},jk={class:"ov-ebar-row"},Gk={class:"ov-ebar-track"},Wk={class:"ov-ebar-n"},Kk={key:0,class:"ov-ehours",role:"img","aria-label":"Errors per hour over the last 24 hours"},Yk={class:"ov-ehours-legend"},Xk={class:"ov-ehours-note"},Qk={class:"ov-ehours-bars"},Jk=["title"],Zk={key:0,class:"ov-ehours-zero"},xk={class:"ov-ebar-note"},e0={key:0,class:"ov-panel-foot"},t0={href:"/admin/errors"},n0={class:"ov-panel-card"},o0={class:"ov-routes-table"},s0={class:"ov-route-row",href:"/admin/queues"},i0={class:"ov-route-n"},r0={class:"ov-route-n"},a0={class:"ov-route-row",href:"/admin/queues"},l0={class:"ov-route-n"},d0={class:"ov-route-n"},u0={class:"ov-route-row",href:"/admin/queues"},c0={class:"ov-route-n"},p0={class:"ov-route-n"},f0={class:"ov-services-card"},h0={class:"ov-services-head"},m0={class:"ov-panel-meta"},g0={class:"ov-services-grid"},v0={class:"ov-svc"},y0={class:"ov-svc-info"},b0={class:"ov-svc-meta"},w0={class:"ov-svc"},k0={class:"ov-svc-info"},C0={key:0,class:"ov-svc-meta"},E0={key:1,class:"ov-svc-meta"},S0={class:"ov-svc"},N0={class:"ov-svc-info"},R0={key:0,class:"ov-svc-meta"},D0={key:1,class:"ov-svc-meta"},A0={class:"ov-svc"},T0={class:"ov-svc-info"},P0={key:0,class:"ov-svc-meta"},O0={key:1,class:"ov-svc-meta"},I0={class:"ov-svc"},M0=["title"],_0={class:"ov-svc-info"},V0={class:"ov-svc-meta"},q0={class:"ov-panel-card ov-cache","aria-labelledby":"cache-heading"},$0={class:"ov-panel-head ov-performance-head"},L0={class:"ov-performance-window"},U0={key:0,class:"ov-performance-message ov-performance-warning",role:"alert"},F0={key:1,class:"ov-performance-empty",role:"status"},B0={key:0,class:"ov-performance-note"},z0={key:1,class:"ov-performance-note"},H0={key:2,class:"ov-performance-message ov-performance-warning",role:"status"},j0={key:3,class:"ov-metrics-scroll",tabindex:"0",role:"region","aria-label":"Cache storage budgets"},G0={class:"ov-metrics-table"},W0={scope:"row",class:"ov-event-name"},K0=["title"],Y0={key:0,class:"ov-metric-bad-text"},X0={key:1,class:"budget-bar","aria-hidden":"true"},Q0={class:"num"},J0={class:"num"},Z0={class:"num"},x0={class:"num"},e2={key:4,class:"ov-cache-rates"},t2={key:5,class:"ov-metrics-scroll",tabindex:"0",role:"region","aria-label":"Cache events and processing durations"},n2={class:"ov-metrics-table"},o2={scope:"row",class:"ov-event-name"},s2={class:"ov-event-traffic"},i2={class:"num"},r2={class:"num"},a2={key:6,class:"ov-performance-empty",role:"status"},l2={class:"ov-performance-note"},d2={class:"ov-panel-card ov-performance","aria-labelledby":"performance-heading"},u2={class:"ov-panel-head ov-performance-head"},c2={class:"ov-performance-window"},p2={key:0,class:"ov-performance-message ov-performance-warning",role:"alert"},f2={key:1,class:"ov-performance-empty",role:"status"},h2={key:2},m2={id:"performance-routes",role:"region","aria-label":"Routes"},g2={key:0,class:"ov-metrics-scroll",tabindex:"0",role:"region","aria-label":"Route latency metrics, scroll for more columns"},v2={class:"ov-metrics-table"},y2={scope:"row",class:"ov-metric-name"},b2={class:"num"},w2={class:"num"},k2={class:"num"},C2={class:"num"},E2={class:"num"},S2={key:1,class:"ov-performance-empty"},N2={id:"performance-processes",role:"region","aria-label":"Processes"},R2={key:0,class:"ov-performance-message ov-performance-warning",role:"status"},D2={key:1,class:"ov-metrics-scroll",tabindex:"0",role:"region","aria-label":"Process resource metrics, scroll for more columns"},A2={class:"ov-metrics-table"},T2={scope:"row",class:"ov-metric-name"},P2={key:0,class:"ov-metric-warn"},O2={class:"num"},I2={class:"num"},M2={class:"num"},_2={class:"num"},V2={class:"num"},q2={class:"num"},$2={class:"num"},L2={class:"num"},U2={id:"performance-stages",role:"region","aria-label":"Work stages"},F2={key:0,class:"ov-metrics-scroll",tabindex:"0",role:"region","aria-label":"Work stage metrics, scroll for more columns"},B2={class:"ov-metrics-table"},z2={scope:"row",class:"ov-metric-name"},H2={class:"num"},j2={class:"num"},G2={class:"num"},W2={key:1,class:"ov-performance-empty"};function Uc(e,t){return l(),d("div",dw,[t[95]||(t[95]=Ee('
Admin \xA0/\xA0 Overview

Overview

Live \xB7 refreshes every 30s
',2)),e.loading?(l(),d("div",uw,"Loading overview\u2026")):f("v-if",!0),e.error?(l(),d("div",cw,[t[8]||(t[8]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-warning"})],-1)),v(" "+c(e.error),1)])):f("v-if",!0),n("div",pw,[(l(),d(L,null,se([{id:"summary",label:"Summary"},{id:"performance",label:"Performance"},{id:"cache",label:"Cache"}],o=>n("button",{type:"button",role:"tab",key:o.id,"aria-selected":e.ovView===o.id?"true":"false",class:T({active:e.ovView===o.id}),onClick:i=>e.setOvView(o.id)},c(o.label),11,fw)),64))]),e.data?P((l(),d("div",hw,[e.data?.system?.memPercent>90||e.data?.system?.diskPercent>90?(l(),d("div",mw,[t[10]||(t[10]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-warning"})],-1)),n("span",null,[t[9]||(t[9]=n("b",null,"Server needs attention.",-1)),v(" "+c(e.healthAlert()),1)])])):f("v-if",!0),f(" \u2500\u2500 Top KPI row \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 "),n("section",gw,[n("div",vw,[t[11]||(t[11]=n("div",{class:"ov-kpi-label"},"Live repositories",-1)),n("div",yw,c(e.humanNum((e.data?.repos?.statusBreakdown||[]).filter(o=>o._id!=="removed"&&o._id!=="expired").reduce((o,i)=>o+(i.count||0),0))),1),n("div",bw,c(e.humanNum(((e.data?.repos?.statusBreakdown||[]).find(o=>o._id==="removed")||{}).count||0))+" removed \xB7 "+c(e.humanNum(e.data?.repos?.total))+" total",1)]),n("div",ww,[t[12]||(t[12]=n("div",{class:"ov-kpi-label"},"CPU",-1)),n("div",{class:T(["ov-kpi-value",{"ov-val-warn":e.data?.system?.cpuPercent>=75}])},c(e.data?.system?.cpuPercent)+"%",3),n("div",{class:T(["ov-meter",{warn:e.data?.system?.cpuPercent>=75,crit:e.data?.system?.cpuPercent>90}])},[n("span",{style:Ve({width:Math.min(100,e.data?.system?.cpuPercent||0)+"%"})},null,4)],2),n("div",kw,[e.data?.system?.cpuPercent>=75?(l(),d("b",{key:0,class:T(["ov-flag",{critical:e.data?.system?.cpuPercent>90}])},c(e.data?.system?.cpuPercent>90?"Critical":"High")+" \xB7 ",3)):f("v-if",!0),v(c(e.data?.system?.cpuCount)+" cores \xB7 load "+c(e.data?.system?.loadAvg?.[0]?.toFixed(1)),1)])]),n("div",Cw,[t[13]||(t[13]=n("div",{class:"ov-kpi-label"},"Memory",-1)),n("div",{class:T(["ov-kpi-value",{"ov-val-warn":e.data?.system?.memPercent>=75}])},c(e.data?.system?.memPercent)+"%",3),n("div",{class:T(["ov-meter",{warn:e.data?.system?.memPercent>=75,crit:e.data?.system?.memPercent>90}])},[n("span",{style:Ve({width:Math.min(100,e.data?.system?.memPercent||0)+"%"})},null,4)],2),n("div",Ew,[e.data?.system?.memPercent>=75?(l(),d("b",{key:0,class:T(["ov-flag",{critical:e.data?.system?.memPercent>90}])},c(e.data?.system?.memPercent>90?"Critical":"High")+" \xB7 ",3)):f("v-if",!0),v(c(e.humanBytes(e.data?.system?.memUsed).replace(/\s*GB$/,""))+" / "+c(e.humanBytes(e.data?.system?.memTotal)),1)])]),n("div",Sw,[t[14]||(t[14]=n("div",{class:"ov-kpi-label"},"Disk",-1)),n("div",{class:T(["ov-kpi-value",{"ov-val-warn":e.data?.system?.diskPercent>=75}])},c(e.data?.system?.diskPercent)+"%",3),n("div",{class:T(["ov-meter",{warn:e.data?.system?.diskPercent>=75,crit:e.data?.system?.diskPercent>90}])},[n("span",{style:Ve({width:Math.min(100,e.data?.system?.diskPercent||0)+"%"})},null,4)],2),n("div",Nw,[e.data?.system?.diskPercent>=75?(l(),d("b",{key:0,class:T(["ov-flag",{critical:e.data?.system?.diskPercent>90}])},c(e.data?.system?.diskPercent>90?"Critical":"High")+" \xB7 ",3)):f("v-if",!0),v(c(e.humanBytes(e.data?.system?.diskUsed).replace(/\s*GB$/,""))+" / "+c(e.humanBytes(e.data?.system?.diskTotal)),1),e.data?.system?.diskMount&&e.data.system.diskMount!=="/"?(l(),d(L,{key:1},[v(" \xB7 "+c(e.data?.system?.diskMount),1)],64)):f("v-if",!0)])]),n("div",Rw,[t[15]||(t[15]=n("div",{class:"ov-kpi-label"},"Uptime",-1)),n("div",Dw,c(e.humanDuration(e.data?.system?.uptime)),1),n("div",Aw,c(e.data?.system?.nodeVersion)+" \xB7 "+c(e.data?.system?.platform),1)])]),f(" \u2500\u2500 Daily activity highlights \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 "),n("section",Tw,[n("div",Pw,[t[16]||(t[16]=n("div",{class:"ov-daily-label"},"New repos today",-1)),n("div",Ow,c(e.fmt?.number(e.data?.daily?.today?.repositories||0)),1),t[17]||(t[17]=n("div",{class:"ov-daily-sub"},"so far today",-1))]),n("div",Iw,[t[18]||(t[18]=n("div",{class:"ov-daily-label"},"New users today",-1)),n("div",Mw,c(e.fmt?.number(e.data?.daily?.today?.users||0)),1),n("div",_w,c(e.fmt?.number(e.data?.users?.total))+" total \xB7 +"+c(e.fmt?.number(e.usersGained()))+" in 30 days",1)]),n("div",Vw,[t[19]||(t[19]=n("div",{class:"ov-daily-label"},"Page views today",-1)),n("div",qw,c(e.fmt?.number(e.data?.daily?.today?.pageViews||0)),1),t[20]||(t[20]=n("div",{class:"ov-daily-sub"},"so far today",-1))])]),f(" \u2500\u2500 Daily charts \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 "),n("section",{class:T(["ov-chart-row",{"is-three":e.usersTiny()}])},[n("div",$w,[n("div",Lw,[t[23]||(t[23]=n("span",{class:"ov-chart-title"},"Daily page views \xB7 30d",-1)),n("span",Uw,[n("span",Fw,[t[21]||(t[21]=n("span",{class:"ov-dot-legend ov-dot-accent"},null,-1)),v("views/day \xB7 peak "+c(e.fmt?.number(e.historyMax("dailyPageViews"))),1)]),e.historyHasMissing()?(l(),d("span",Bw,[...t[22]||(t[22]=[n("span",{class:"ov-swatch-missing","aria-hidden":"true"},null,-1),v("No data",-1)])])):f("v-if",!0)])]),e.data?.history?.length?(l(),d("div",zw,[n("div",Hw,[n("span",null,c(e.fmt?.number(e.axisMax("dailyPageViews"))),1),n("span",null,c(e.fmt?.number(e.axisMax("dailyPageViews")/2)),1),t[24]||(t[24]=n("span",null,"0",-1))]),(l(!0),d(L,null,se(e.data?.history,(o,i)=>(l(),d("div",{class:T(["ov-spark-col has-tip",{"is-missing":o?._empty}]),key:i,"data-tip":o?._empty?e.historyLabel(o)+": no data":e.historyLabel(o)+": +"+e.fmt?.number(o?.dailyPageViews)+(o?.dailyPageViews===1?" view":" views"),"aria-label":o?._empty?e.historyLabel(o)+": no data":e.historyLabel(o)+": +"+e.fmt?.number(o?.dailyPageViews)+(o?.dailyPageViews===1?" view":" views")},[n("span",{class:"ov-spark-fill",style:Ve({height:e.historyBarH(o,"dailyPageViews")+"px"})},null,4)],10,jw))),128))])):f("v-if",!0),e.data?.history?.length?(l(),d("div",Gw,[n("span",null,c(e.historyLabel(e.data?.history[0])),1),n("span",null,c(e.historyLabel(e.data?.history[Math?.floor(e.data?.history?.length/2)])),1),n("span",null,c(e.historyLabel(e.data?.history[e.data?.history?.length-1])),1)])):f("v-if",!0)]),n("div",Ww,[n("div",Kw,[t[27]||(t[27]=n("span",{class:"ov-chart-title"},"New repos \xB7 30d",-1)),n("span",Yw,[n("span",Xw,[t[25]||(t[25]=n("span",{class:"ov-dot-legend ov-dot-ok-fill"},null,-1)),v("repos/day \xB7 peak "+c(e.fmt?.number(e.historyMax("dailyRepositories"))),1)]),e.historyHasMissing()?(l(),d("span",Qw,[...t[26]||(t[26]=[n("span",{class:"ov-swatch-missing","aria-hidden":"true"},null,-1),v("No data",-1)])])):f("v-if",!0)])]),e.data?.history?.length?(l(),d("div",Jw,[n("div",Zw,[n("span",null,c(e.fmt?.number(e.axisMax("dailyRepositories"))),1),n("span",null,c(e.fmt?.number(e.axisMax("dailyRepositories")/2)),1),t[28]||(t[28]=n("span",null,"0",-1))]),(l(!0),d(L,null,se(e.data?.history,(o,i)=>(l(),d("div",{class:T(["ov-spark-col has-tip",{"is-missing":o?._empty}]),key:i,"data-tip":o?._empty?e.historyLabel(o)+": no data":e.historyLabel(o)+": +"+e.fmt?.number(o?.dailyRepositories)+(o?.dailyRepositories===1?" repo":" repos"),"aria-label":o?._empty?e.historyLabel(o)+": no data":e.historyLabel(o)+": +"+e.fmt?.number(o?.dailyRepositories)+(o?.dailyRepositories===1?" repo":" repos")},[n("span",{class:"ov-spark-fill ov-spark-fill-alt",style:Ve({height:e.historyBarH(o,"dailyRepositories")+"px"})},null,4)],10,xw))),128))])):f("v-if",!0),e.data?.history?.length?(l(),d("div",ek,[n("span",null,c(e.historyLabel(e.data?.history[0])),1),n("span",null,c(e.historyLabel(e.data?.history[Math?.floor(e.data?.history?.length/2)])),1),n("span",null,c(e.historyLabel(e.data?.history[e.data?.history?.length-1])),1)])):f("v-if",!0)]),e.usersTiny()?f("v-if",!0):(l(),d("div",tk,[n("div",nk,[t[31]||(t[31]=n("span",{class:"ov-chart-title"},"Users \xB7 30d",-1)),n("span",ok,[n("span",sk,[t[29]||(t[29]=n("span",{class:"ov-dot-legend ov-dot-user-fill"},null,-1)),v("total users \xB7 "+c(e.fmt?.number(e.historyRange("nbUsers").max))+" now \xB7 +"+c(e.fmt?.number(Math.max(0,e.historyRange("nbUsers").max-e.usersFirst())))+" in 30 days",1)]),e.historyHasMissing()?(l(),d("span",ik,[...t[30]||(t[30]=[n("span",{class:"ov-swatch-missing","aria-hidden":"true"},null,-1),v("No data",-1)])])):f("v-if",!0)])]),e.data?.history?.length?(l(),d("div",rk,[n("div",ak,[n("span",null,c(e.fmt?.number(e.userAxis().hi)),1),n("span",null,c(e.fmt?.number((e.userAxis().hi+e.userAxis().lo)/2)),1),n("span",null,c(e.fmt?.number(e.userAxis().lo)),1)]),(l(),d("svg",{class:"ov-step-svg",viewBox:"0 0 "+e.data.history.length+" 140",preserveAspectRatio:"none",role:"img","aria-label":"Total users over 30 days, from "+e.fmt?.number(e.usersFirst())+" to "+e.fmt?.number(e.historyRange("nbUsers").max)},[e.userAxis().lo===0?(l(),d("path",{key:0,class:"ov-step-area",d:e.userStepPath(!0)},null,8,dk)):f("v-if",!0),n("path",{class:"ov-step-line",d:e.userStepPath(!1),"vector-effect":"non-scaling-stroke"},null,8,uk)],8,lk)),e.firstDataIndex()>0?(l(),d("div",{key:0,class:"ov-step-missing",style:Ve({width:e.firstDataIndex()/e.data.history.length*100+"%"})},null,4)):f("v-if",!0)])):f("v-if",!0),e.data?.history?.length?(l(),d("div",ck,[n("span",null,c(e.historyLabel(e.data?.history[0])),1),n("span",null,c(e.historyLabel(e.data?.history[Math?.floor(e.data?.history?.length/2)])),1),n("span",null,c(e.historyLabel(e.data?.history[e.data?.history?.length-1])),1)])):f("v-if",!0)])),n("div",pk,[n("div",fk,[t[34]||(t[34]=n("span",{class:"ov-chart-title"},"New users \xB7 30d",-1)),n("span",hk,[n("span",mk,[t[32]||(t[32]=n("span",{class:"ov-dot-legend ov-dot-new-user-fill"},null,-1)),v("users/day \xB7 peak "+c(e.fmt?.number(e.historyMax("dailyUsers"))),1)]),e.historyHasMissing()?(l(),d("span",gk,[...t[33]||(t[33]=[n("span",{class:"ov-swatch-missing","aria-hidden":"true"},null,-1),v("No data",-1)])])):f("v-if",!0)])]),e.data?.history?.length?(l(),d("div",vk,[n("div",yk,[n("span",null,c(e.fmt?.number(e.axisMax("dailyUsers"))),1),n("span",null,c(e.fmt?.number(e.axisMax("dailyUsers")/2)),1),t[35]||(t[35]=n("span",null,"0",-1))]),(l(!0),d(L,null,se(e.data?.history,(o,i)=>(l(),d("div",{class:T(["ov-spark-col has-tip",{"is-missing":o?._empty}]),key:i,"data-tip":o?._empty?e.historyLabel(o)+": no data":e.historyLabel(o)+": +"+e.fmt?.number(o?.dailyUsers)+(o?.dailyUsers===1?" user":" users"),"aria-label":o?._empty?e.historyLabel(o)+": no data":e.historyLabel(o)+": +"+e.fmt?.number(o?.dailyUsers)+(o?.dailyUsers===1?" user":" users")},[n("span",{class:"ov-spark-fill ov-spark-fill-new-user",style:Ve({height:e.historyBarH(o,"dailyUsers")+"px"})},null,4)],10,bk))),128))])):f("v-if",!0),e.data?.history?.length?(l(),d("div",wk,[n("span",null,c(e.historyLabel(e.data?.history[0])),1),n("span",null,c(e.historyLabel(e.data?.history[Math?.floor(e.data?.history?.length/2)])),1),n("span",null,c(e.historyLabel(e.data?.history[e.data?.history?.length-1])),1)])):f("v-if",!0)])],2),f(" \u2500\u2500 Three-panel row: Status / Errors / Queues \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 "),n("section",kk,[f(" Repo status breakdown "),n("div",Ck,[n("div",Ek,[t[36]||(t[36]=n("span",{class:"ov-panel-title"},"Repo status",-1)),n("span",Sk,c(e.fmt?.number(e.data?.repos?.total))+" total",1)]),n("div",Nk,[e.barPct("ready")>0?(l(),d("span",{key:0,class:"ov-bar-seg ov-bar-ready",title:"Ready",style:Ve({width:e.barPct("ready")+"%"})},null,4)):f("v-if",!0),e.barPct("preparing")>0?(l(),d("span",{key:1,class:"ov-bar-seg ov-bar-preparing",title:"Preparing",style:Ve({width:e.barPct("preparing")+"%"})},null,4)):f("v-if",!0),e.barPct("error")>0?(l(),d("span",{key:2,class:"ov-bar-seg ov-bar-error",title:"Error",style:Ve({width:e.barPct("error")+"%"})},null,4)):f("v-if",!0),e.barPct("expired")>0?(l(),d("span",{key:3,class:"ov-bar-seg ov-bar-expired",title:"Expiring / expired",style:Ve({width:e.barPct("expired")+"%"})},null,4)):f("v-if",!0),e.barPct("removed")>0?(l(),d("span",{key:4,class:"ov-bar-seg ov-bar-removed",title:"Removing / removed",style:Ve({width:e.barPct("removed")+"%"})},null,4)):f("v-if",!0)]),n("div",Rk,[n("a",Dk,[t[37]||(t[37]=n("span",{class:"ov-swatch ov-bar-ready"},null,-1)),t[38]||(t[38]=v(" Ready ",-1)),n("span",Ak,c(e.fmt?.number(e.statusCount("ready"))),1)]),n("a",Tk,[t[39]||(t[39]=n("span",{class:"ov-swatch ov-bar-preparing"},null,-1)),t[40]||(t[40]=v(" Preparing ",-1)),n("span",Pk,c(e.fmt?.number(e.statusCount("preparing")+e.statusCount("download"))),1)]),n("a",Ok,[t[41]||(t[41]=n("span",{class:"ov-swatch ov-bar-error"},null,-1)),t[42]||(t[42]=v(" Error ",-1)),n("span",Ik,c(e.fmt?.number(e.statusCount("error"))),1)]),n("a",Mk,[t[43]||(t[43]=n("span",{class:"ov-swatch ov-bar-expired"},null,-1)),t[44]||(t[44]=v(" Expiring / expired ",-1)),n("span",_k,c(e.fmt?.number(e.statusCount("expired")+e.statusCount("expiring"))),1)]),n("a",Vk,[t[45]||(t[45]=n("span",{class:"ov-swatch ov-bar-removed"},null,-1)),t[46]||(t[46]=v(" Removing / removed ",-1)),n("span",qk,c(e.fmt?.number(e.statusCount("removed")+e.statusCount("removing"))),1)])])]),f(" Error breakdown "),n("div",$k,[n("div",Lk,[t[47]||(t[47]=n("span",{class:"ov-panel-title"},"Errors \xB7 24h",-1)),n("span",Uk,c(e.fmt?.number(e.realErrors()))+" "+c(e.realErrors()===1?"error":"errors"),1)]),n("div",Fk,[n("div",Bk,[t[48]||(t[48]=n("span",{class:"ov-ebar-label"},"Error",-1)),n("span",zk,[n("span",{class:"ov-ebar-fill ov-ebar-error",style:Ve({width:e.errPct("error")+"%"})},null,4)]),n("span",Hk,c(e.data?.errors?.severity?.error),1)]),n("div",jk,[t[49]||(t[49]=n("span",{class:"ov-ebar-label"},"Warning",-1)),n("span",Gk,[n("span",{class:"ov-ebar-fill ov-ebar-warn",style:Ve({width:e.errPct("warn")+"%"})},null,4)]),n("span",Wk,c(e.data?.errors?.severity?.warn),1)]),e.errorHours().length?(l(),d("div",Kk,[n("div",Yk,[t[52]||(t[52]=n("span",{class:"ov-ehours-key"},[n("span",{class:"ov-ehours-swatch is-error","aria-hidden":"true"}),v("Error")],-1)),t[53]||(t[53]=n("span",{class:"ov-ehours-key"},[n("span",{class:"ov-ehours-swatch is-warn","aria-hidden":"true"}),v("Warning")],-1)),n("span",Xk,[t[50]||(t[50]=v("Per hour",-1)),t[51]||(t[51]=n("span",{class:"seg-sep","aria-hidden":"true"},"\xB7",-1)),v("peak "+c(e.fmt?.number(e.errorHoursPeak())),1)])]),n("div",Qk,[(l(!0),d(L,null,se(e.errorHours(),o=>(l(),d("span",{key:o.key,class:T({"is-bad":o.bad,"is-zero":o.zero}),title:o.title},[o.zero?(l(),d("i",Zk)):(l(),d(L,{key:1},[o.errPct?(l(),d("i",{key:0,class:"ov-ehours-e",style:Ve({height:o.errPct+"%"})},null,4)):f("v-if",!0),o.warnPct?(l(),d("i",{key:1,class:"ov-ehours-w",style:Ve({height:o.warnPct+"%"})},null,4)):f("v-if",!0)],64))],10,Jk))),128))]),t[54]||(t[54]=n("div",{class:"ov-ehours-x"},[n("span",null,"24h ago"),n("span",null,"now")],-1))])):f("v-if",!0),n("p",xk,"Info "+c(e.fmt?.number(e.data?.errors?.severity?.info||0))+" \xB7 logged, not counted as errors",1)]),e.data?.repos?.recentErrors24h?(l(),d("div",e0,[n("a",t0,c(e.data?.repos?.recentErrors24h)+" repos in error state \u2192",1)])):f("v-if",!0)]),f(" Top routes / queues "),n("div",n0,[t[59]||(t[59]=n("div",{class:"ov-panel-head"},[n("span",{class:"ov-panel-title"},"Queues"),n("span",{class:"ov-panel-meta"},"by state")],-1)),n("div",o0,[t[58]||(t[58]=Ee('
QueueActiveWaitFailed
',1)),n("a",s0,[t[55]||(t[55]=n("span",{class:"ov-route-name"},"Download",-1)),n("span",i0,c(e.data?.queues?.download?.active),1),n("span",r0,c(e.data?.queues?.download?.waiting),1),n("span",{class:T(["ov-route-n ov-route-lat",{"ov-n-bad":e.data?.queues?.download?.failed>0}])},c(e.data?.queues?.download?.failed),3)]),n("a",a0,[t[56]||(t[56]=n("span",{class:"ov-route-name"},"Remove",-1)),n("span",l0,c(e.data?.queues?.remove?.active),1),n("span",d0,c(e.data?.queues?.remove?.waiting),1),n("span",{class:T(["ov-route-n ov-route-lat",{"ov-n-bad":e.data?.queues?.remove?.failed>0}])},c(e.data?.queues?.remove?.failed),3)]),n("a",u0,[t[57]||(t[57]=n("span",{class:"ov-route-name"},"Cache cleanup",-1)),n("span",c0,c(e.data?.queues?.cache?.active),1),n("span",p0,c(e.data?.queues?.cache?.waiting),1),n("span",{class:T(["ov-route-n ov-route-lat",{"ov-n-bad":e.data?.queues?.cache?.failed>0}])},c(e.data?.queues?.cache?.failed),3)])])])]),f(" \u2500\u2500 Services bar \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 "),n("section",f0,[n("div",h0,[t[60]||(t[60]=n("span",{class:"ov-panel-title"},"Services",-1)),n("span",m0,"5 services \xB7 "+c(e.realErrors()>0?"1 needs attention":"all healthy"),1)]),n("div",g0,[n("div",v0,[t[62]||(t[62]=n("span",{class:"ov-svc-dot ov-dot-ok"},null,-1)),n("div",y0,[t[61]||(t[61]=n("span",{class:"ov-svc-name"},"web",-1)),n("span",b0,c(e.data?.system?.nodeVersion)+" \xB7 up "+c(e.humanDuration(e.data?.system?.uptime)),1)])]),n("div",w0,[n("span",{class:T(["ov-svc-dot",e.queueTotal(e.data?.queues?.download)>0?"ov-dot-ok":"ov-dot-idle"])},null,2),n("div",k0,[t[63]||(t[63]=n("span",{class:"ov-svc-name"},"download",-1)),e.queueTotal(e.data?.queues?.download)?(l(),d("span",C0,c(e.queueTotal(e.data?.queues?.download))+" "+c(e.queueTotal(e.data?.queues?.download)===1?"job":"jobs"),1)):f("v-if",!0),e.queueTotal(e.data?.queues?.download)?f("v-if",!0):(l(),d("span",E0,"idle"))])]),n("div",S0,[n("span",{class:T(["ov-svc-dot",e.queueTotal(e.data?.queues?.cache)>0?"ov-dot-ok":"ov-dot-idle"])},null,2),n("div",N0,[t[64]||(t[64]=n("span",{class:"ov-svc-name"},"cache",-1)),e.queueTotal(e.data?.queues?.cache)?(l(),d("span",R0,c(e.queueTotal(e.data?.queues?.cache))+" "+c(e.queueTotal(e.data?.queues?.cache)===1?"job":"jobs"),1)):f("v-if",!0),e.queueTotal(e.data?.queues?.cache)?f("v-if",!0):(l(),d("span",D0,"idle"))])]),n("div",A0,[n("span",{class:T(["ov-svc-dot",e.queueTotal(e.data?.queues?.remove)>0?"ov-dot-ok":"ov-dot-idle"])},null,2),n("div",T0,[t[65]||(t[65]=n("span",{class:"ov-svc-name"},"remove",-1)),e.queueTotal(e.data?.queues?.remove)?(l(),d("span",P0,c(e.queueTotal(e.data?.queues?.remove))+" "+c(e.queueTotal(e.data?.queues?.remove)===1?"job":"jobs"),1)):f("v-if",!0),e.queueTotal(e.data?.queues?.remove)?f("v-if",!0):(l(),d("span",O0,"idle"))])]),n("div",I0,[n("span",{class:T(["ov-svc-dot",e.realErrors()>0?"ov-dot-warn":"ov-dot-ok"]),title:e.realErrors()>0?"Errors in the last 24 hours":"No errors in the last 24 hours"},null,10,M0),n("div",_0,[t[66]||(t[66]=n("span",{class:"ov-svc-name"},"errors",-1)),n("span",V0,c(e.fmt?.number(e.realErrors()))+" / 24h",1)])])])])],512)),[[x,e.ovView==="summary"]]):f("v-if",!0),P(n("section",q0,[n("div",$0,[t[71]||(t[71]=n("div",null,[n("h2",{class:"ov-panel-title",id:"cache-heading"},"Cache"),n("p",{class:"ov-performance-note"},"Shared storage, repeated reads and anonymization work")],-1)),n("div",L0,[t[69]||(t[69]=n("label",{for:"cache-window"},"Time range",-1)),P(n("select",{id:"cache-window",class:"form-control form-control-sm","onUpdate:modelValue":t[0]||(t[0]=o=>e.cacheMinutes=o),onChange:t[1]||(t[1]=o=>e.loadCache())},[...t[67]||(t[67]=[n("option",{value:15},"Last 15 minutes",-1),n("option",{value:60},"Last hour",-1),n("option",{value:1440},"Last 24 hours",-1),n("option",{value:10080},"Last 7 days",-1)])],544),[[pn,e.cacheMinutes,void 0,{number:!0}]]),t[70]||(t[70]=n("label",{for:"cache-traffic"},"Traffic",-1)),P(n("select",{id:"cache-traffic",class:"form-control form-control-sm","onUpdate:modelValue":t[2]||(t[2]=o=>e.cacheTraffic=o)},[...t[68]||(t[68]=[Ee('',6)])],512),[[pn,e.cacheTraffic]])])]),e.cacheError?(l(),d("div",U0,[n("span",null,c(e.cacheError),1),n("button",{type:"button",class:"btn btn-sm",onClick:t[3]||(t[3]=o=>e.loadCache())},"Retry")])):f("v-if",!0),!e.cacheReport&&!e.cacheError?(l(),d("p",F0,"Loading cache monitoring\u2026")):f("v-if",!0),e.cacheReport?.available?(l(),d(L,{key:2},[e.cacheReport.enabled?f("v-if",!0):(l(),d("p",B0,"Shared blob storage is disabled. Inspection and legacy-cache activity are still measured.")),e.cacheReport.filesystemSupported?f("v-if",!0):(l(),d("p",z0,"Shared blobs require a local filesystem. The configured storage continues to use its existing cache.")),e.cacheReport.dropped?(l(),d("p",H0,c(e.cacheReport.dropped)+" telemetry events were dropped. Totals may be incomplete.",1)):f("v-if",!0),e.cacheReport.source?(l(),d("div",j0,[n("table",G0,[t[72]||(t[72]=n("caption",{class:"sr-only"},"Current shared-cache storage and byte budgets",-1)),t[73]||(t[73]=n("thead",null,[n("tr",null,[n("th",{scope:"col"},"Pool"),n("th",{scope:"col",class:"num"},"Allocated / budget"),n("th",{scope:"col",class:"num"},"Reserved for fills"),n("th",{scope:"col",class:"num"},"Original bytes"),n("th",{scope:"col",class:"num"},"Blobs"),n("th",{scope:"col",class:"num"},"Active readers")])],-1)),n("tbody",null,[(l(!0),d(L,null,se([{name:"Source blobs",data:e.cacheReport.source},{name:"Transformed output",data:e.cacheReport.results}],o=>P((l(),d("tr",{key:o.name},[n("th",W0,c(o.name),1),n("td",{class:T(["num budget-cell",{"is-over":o.data?.budgetBytes&&o.data?.allocatedBytes>o.data?.budgetBytes}]),title:o.data?.budgetBytes?Math.round(100*(o.data?.allocatedBytes||0)/o.data.budgetBytes)+"% of budget":null},[o.data?.budgetBytes&&o.data?.allocatedBytes>o.data?.budgetBytes?(l(),d("span",Y0,"Over budget \xB7 ")):f("v-if",!0),v(c(e.humanBytes(o.data?.allocatedBytes))+" / "+c(e.humanBytes(o.data?.budgetBytes)),1),o.data?.budgetBytes?(l(),d("span",X0,[n("i",{style:Ve({width:Math.min(100,Math.round(100*(o.data?.allocatedBytes||0)/o.data.budgetBytes))+"%"})},null,4)])):f("v-if",!0)],10,K0),n("td",Q0,c(e.humanBytes(o.data?.reservedBytes)),1),n("td",J0,c(e.humanBytes(o.data?.originalBytes)),1),n("td",Z0,c(e.fmt?.number(o.data?.blobs)),1),n("td",x0,c(e.fmt?.number(o.data?.activeReaders)),1)])),[[x,o.data]])),128))])])])):f("v-if",!0),e.cacheReport.source?(l(),d("dl",e2,[n("div",null,[t[74]||(t[74]=n("dt",null,"Source request hit rate",-1)),n("dd",null,c(e.cacheRate("source","count")),1)]),n("div",null,[t[75]||(t[75]=n("dt",null,"Source byte hit rate",-1)),n("dd",null,c(e.cacheRate("source","bytes")),1)]),n("div",null,[t[76]||(t[76]=n("dt",null,"Decision hit rate",-1)),n("dd",null,c(e.cacheRate("decision","count")),1)])])):f("v-if",!0),t[79]||(t[79]=n("p",{class:"ov-performance-note"},"Reuse counts measure consecutive reads of the same blob within each interval. Codec timings are elapsed stream time, not CPU time; eviction times measure how long a blob was idle. Known monitors are identified by request metadata; other automation may remain in file reads.",-1)),e.cacheRows().length?(l(),d("div",t2,[n("table",n2,[t[77]||(t[77]=n("caption",{class:"sr-only"},"Cache events for the selected time range and traffic",-1)),t[78]||(t[78]=n("thead",null,[n("tr",null,[n("th",{scope:"col"},"Event"),n("th",{scope:"col"},"Traffic"),n("th",{scope:"col",class:"num"},"Count"),n("th",{scope:"col",class:"num"},"Bytes"),n("th",{scope:"col",class:"num"},"Mean measured time"),n("th",{scope:"col",class:"num"},"p95 bound")])],-1)),n("tbody",null,[(l(!0),d(L,null,se(e.cacheRows(),o=>(l(),d("tr",{key:o.name+":"+o.traffic},[n("th",o2,c(e.cacheEventName(o.name)),1),n("td",s2,c(o.traffic),1),n("td",i2,c(e.fmt?.number(o.count)),1),n("td",r2,c(e.humanBytes(o.bytes)),1),n("td",{class:T(["num",{"ov-muted":!o.ms}])},c(o.ms?e.fmt.duration(o.ms/o.count):"Not timed"),3),n("td",{class:T(["num",{"ov-muted":!o.ms}])},c(e.cacheP95(o)),3)]))),128))])])])):(l(),d("p",a2,"No cache events in this time range for the selected traffic.")),n("p",l2,"Updated "+c(e.sampleAge(e.cacheReport))+" seconds ago. Minute history is retained for 48 hours; hourly history for 30 days.",1)],64)):f("v-if",!0)],512),[[x,e.ovView==="cache"]]),P(n("section",d2,[n("div",u2,[t[84]||(t[84]=n("div",null,[n("h2",{class:"ov-panel-title",id:"performance-heading"},"Request performance"),n("p",{class:"ov-performance-note"},"Request latency and process health")],-1)),n("div",c2,[e.performance?.available?(l(),d(L,{key:0},[t[81]||(t[81]=n("label",{for:"performance-view"},"Show",-1)),P(n("select",{id:"performance-view",class:"form-control form-control-sm","onUpdate:modelValue":t[4]||(t[4]=o=>e.performanceTab=o),"aria-label":"Performance metrics"},[...t[80]||(t[80]=[n("option",{value:"routes"},"Routes",-1),n("option",{value:"processes"},"Processes",-1),n("option",{value:"stages"},"Work stages",-1)])],512),[[pn,e.performanceTab]])],64)):f("v-if",!0),t[83]||(t[83]=n("label",{for:"performance-window"},"Time range",-1)),P(n("select",{id:"performance-window",class:"form-control form-control-sm","onUpdate:modelValue":t[5]||(t[5]=o=>e.performanceMinutes=o),onChange:t[6]||(t[6]=o=>e.loadPerformance()),"aria-label":"Performance time range"},[...t[82]||(t[82]=[n("option",{value:15},"Last 15 minutes",-1),n("option",{value:60},"Last hour",-1)])],544),[[pn,e.performanceMinutes,void 0,{number:!0}]])])]),e.performanceError?(l(),d("div",p2,[t[85]||(t[85]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-warning"})],-1)),n("span",null,c(e.performanceError),1),n("button",{type:"button",class:"btn btn-sm",onClick:t[7]||(t[7]=o=>e.loadPerformance())},"Retry")])):f("v-if",!0),!e.performance&&!e.performanceError?(l(),d("p",f2,"Loading performance monitoring\u2026")):f("v-if",!0),e.performance?.available?(l(),d("div",h2,[P(n("div",m2,[e.performance.routes?.length?(l(),d("div",g2,[n("table",v2,[t[86]||(t[86]=n("caption",{class:"sr-only"},"Route latency for the selected time range",-1)),t[87]||(t[87]=n("thead",null,[n("tr",null,[n("th",{scope:"col"},"Route"),n("th",{scope:"col",class:"num"},"Requests"),n("th",{scope:"col",class:"num"},"Average"),n("th",{scope:"col",class:"num"},"First byte p95"),n("th",{scope:"col",class:"num"},"p95"),n("th",{scope:"col",class:"num"},"p99"),n("th",{scope:"col",class:"num"},"Interrupted"),n("th",{scope:"col",class:"num"},"5xx"),n("th",{scope:"col",class:"num"},"Slow")])],-1)),n("tbody",null,[(l(!0),d(L,null,se(e.performance.routes,o=>(l(),d("tr",{key:o.service+o.method+o.route},[n("th",y2,[n("span",null,c(o.route),1),n("small",null,c(o.service)+" \xB7 "+c(o.method),1)]),n("td",b2,c(e.fmt.number(o.count)),1),n("td",w2,c(e.formatMs(o.avgMs)),1),n("td",k2,c(e.firstByteBound(o)),1),n("td",C2,c(e.latencyBound(o,"p95UpperMs")),1),n("td",E2,c(e.latencyBound(o,"p99UpperMs")),1),n("td",{class:T(["num",{"ov-metric-warn":o.aborted>0}])},c(e.fmt.number(o.aborted)),3),n("td",{class:T(["num",{"ov-metric-bad":o.errors>0}])},c(e.fmt.number(o.errors)),3),n("td",{class:T(["num",{"ov-metric-warn":o.slow>0}])},c(e.fmt.number(o.slow)),3)]))),128))])])])):(l(),d("p",S2,"No recorded requests in this time range yet."))],512),[[x,e.performanceTab==="routes"]]),P(n("div",N2,[t[91]||(t[91]=n("p",{class:"ov-performance-note"},"API and streamer processes \xB7 latest sample per instance",-1)),e.performance.instances?.length?(l(),d("div",D2,[n("table",A2,[t[89]||(t[89]=n("caption",{class:"sr-only"},"API and streamer process resource usage",-1)),t[90]||(t[90]=n("thead",null,[n("tr",null,[n("th",{scope:"col"},"Process"),n("th",{scope:"col",class:"num"},"RSS / limit"),n("th",{scope:"col",class:"num"},"CPU"),n("th",{scope:"col",class:"num"},"Event loop p95"),n("th",{scope:"col",class:"num"},"Active requests"),n("th",{scope:"col",class:"num"},"Sockets / CLOSE_WAIT"),n("th",{scope:"col",class:"num"},"Workers / waiting"),n("th",{scope:"col",class:"num"},"Sample age"),n("th",{scope:"col",class:"num"},"Dropped batches / metrics")])],-1)),n("tbody",null,[(l(!0),d(L,null,se(e.performance.instances,o=>(l(),d("tr",{key:o.instance,class:T({"ov-metric-warning-row":e.performanceWarning(o)})},[n("th",T2,[n("span",null,c(o.instance),1),e.performanceWarning(o)?(l(),d("small",P2,[...t[88]||(t[88]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-warning"})],-1),v(" Needs attention",-1)])])):f("v-if",!0)]),n("td",O2,[v(c(e.humanBytes(o.memory.rss))+" / "+c(e.humanBytes(o.memoryLimitBytes)),1),n("small",null,"Peak "+c(e.humanBytes(e.peakRss(o))),1)]),n("td",I2,c(o.cpuPercent==null?"Unavailable":o.cpuPercent.toFixed(1)+"%"),1),n("td",M2,c(o.eventLoop?.p95Ms==null?"Not applicable":e.fmt.duration(o.eventLoop.p95Ms)),1),n("td",_2,c(o.activeRequests),1),n("td",V2,c(o.sockets?.descriptors??"Unavailable")+" / "+c(o.sockets?.closeWait??"Unavailable"),1),n("td",q2,c(o.workers?.running??0)+" / "+c(o.workers?.waiting??0),1),n("td",$2,c(e.sampleAge(o))+" s",1),n("td",L2,c(o.droppedBatches)+" / "+c(o.droppedMetrics),1)],2))),128))])])])):(l(),d("div",R2,"No recent process samples. Monitoring coverage is incomplete."))],512),[[x,e.performanceTab==="processes"]]),P(n("div",U2,[e.performance.stages?.some(o=>o.metric!=="first_byte")?(l(),d("div",F2,[n("table",B2,[t[92]||(t[92]=n("caption",{class:"sr-only"},"Work stages and cache results",-1)),t[93]||(t[93]=n("thead",null,[n("tr",null,[n("th",{scope:"col"},"Work stage"),n("th",{scope:"col",class:"num"},"Samples"),n("th",{scope:"col",class:"num"},"Average"),n("th",{scope:"col",class:"num"},"p95")])],-1)),n("tbody",null,[(l(!0),d(L,null,se(e.performance.stages.filter(o=>o.metric!=="first_byte"),o=>(l(),d("tr",{key:o.service+o.metric},[n("th",z2,[n("span",null,c(o.metric),1),n("small",null,c(o.service),1)]),n("td",H2,c(e.fmt.number(o.count)),1),n("td",j2,c(e.formatMs(o.avgMs)),1),n("td",G2,c(e.latencyBound(o,"p95UpperMs")),1)]))),128))])])])):(l(),d("p",W2,"No recorded work stages or cache results in this time range yet."))],512),[[x,e.performanceTab==="stages"]]),t[94]||(t[94]=n("details",{class:"ov-performance-help"},[n("summary",null,"How to read these metrics"),n("p",null,"Latency includes upstream waits and response transfer. Percentiles show histogram bucket upper bounds, not exact timings. Process rows marked \u201CNeeds attention\u201D have stale samples, dropped monitoring data, CLOSE_WAIT sockets, high event loop delay, or high memory usage.")],-1))])):f("v-if",!0)],512),[[x,e.ovView==="performance"]])])}var K2={class:"container paper-page admin-page"},Y2={class:"q-header"},X2={class:"q-header-actions"},Q2={class:"q-cards"},J2=["aria-pressed","onKeydown","onClick"],Z2={class:"q-card-head"},x2=["title"],eC=["textContent"],tC=["textContent"],nC={class:"q-card-sub"},oC={class:"q-card-failed"},sC={key:0,class:"q-card-bar"},iC={key:0,class:"q-detail"},rC={class:"q-throughput"},aC={class:"q-range-btns"},lC={class:"q-section-label"},dC={key:0,class:"q-section-right"},uC={class:"q-chart-wrap"},cC={key:0,class:"q-chart-empty"},pC={class:"q-stats-panel"},fC={class:"q-section-label"},hC={class:"q-stats-grid"},mC={class:"q-stat"},gC=["textContent"],vC={class:"q-stat"},yC=["textContent"],bC={class:"q-stat"},wC=["textContent"],kC={class:"q-stat"},CC=["textContent"],EC={class:"q-stat"},SC=["textContent"],NC={class:"q-stat"},RC=["textContent"],DC={class:"q-stats-actions"},AC=["disabled"],TC={class:"q-danger-group"},PC={class:"q-jobs"},OC={class:"q-jobs-header"},IC={class:"q-section-label"},MC={class:"seg-filter",role:"radiogroup","aria-label":"Filter jobs by state"},_C=["aria-checked"],VC={class:"count"},qC=["aria-checked"],$C={class:"count"},LC=["aria-checked"],UC={class:"count"},FC=["aria-checked"],BC={class:"count"},zC=["aria-checked"],HC={class:"count"},jC=["aria-checked"],GC={class:"count"},WC={class:"q-search-row"},KC={type:"search",class:"form-control",placeholder:"Search by job/repo id\u2026",autocomplete:"off"},YC={class:"q-auto-refresh"},XC={type:"checkbox"},QC={key:0,class:"q-table"},JC=["onClick"],ZC={class:"q-cell-state"},xC=["textContent"],eE=["textContent"],tE=["title"],nE=["textContent","href"],oE=["title","textContent"],sE=["textContent"],iE=["textContent"],rE={class:"q-cell-progress"},aE=["aria-label"],lE=["textContent"],dE={class:"q-cell-actions"},uE=["onClick"],cE=["onClick"],pE={key:0,class:"q-detail-row"},fE={colspan:"7"},hE={class:"q-job-detail"},mE={class:"q-job-detail-grid"},gE={class:"q-job-detail-item"},vE={class:"q-job-detail-value"},yE=["textContent","href"],bE={class:"q-job-detail-item"},wE={class:"q-job-detail-value"},kE=["textContent"],CE={key:0,class:"q-job-detail-item"},EE=["textContent"],SE={key:1,class:"q-job-detail-item"},NE=["textContent"],RE={key:2,class:"q-job-detail-item"},DE={class:"q-job-detail-value"},AE={key:3,class:"q-job-detail-item"},TE=["textContent"],PE={key:4,class:"q-job-detail-item"},OE=["textContent"],IE={key:5,class:"q-job-detail-item"},ME=["textContent"],_E={key:6,class:"q-job-detail-item"},VE=["textContent"],qE={key:7,class:"q-job-detail-item"},$E=["textContent"],LE={key:0,class:"q-job-detail-error"},UE=["textContent"],FE={key:1},BE=["textContent"],zE={class:"q-job-detail-actions"},HE=["onClick"],jE=["onClick"],GE=["href"],WE={key:1,class:"paper-table-empty",style:{border:"1px solid var(--border-color)","border-radius":"10px",background:"var(--paper-card)"}},KE={key:0},YE={key:1};function Fc(e,t){let o=Te("field");return l(),d("div",K2,[t[71]||(t[71]=n("div",{class:"paper-crumbs"},[v("Admin \xA0/\xA0 "),n("span",{class:"here"},"Queues")],-1)),n("div",Y2,[t[18]||(t[18]=n("h1",{class:"paper-page-title"},"Queues",-1)),n("div",X2,[n("button",{class:"btn btn-sm",onClick:t[0]||(t[0]=i=>e.pauseAll())},"Pause all queues")])]),t[72]||(t[72]=Ee('',1)),f(" Queue overview cards "),n("div",Q2,[(l(!0),d(L,null,se(e.queueList,(i,s)=>(l(),d("div",{class:T(["q-card",{selected:e.selectedQueue==i?.key,paused:i?.paused}]),role:"button",tabindex:"0","aria-pressed":e.selectedQueue===i.key,onKeydown:[pt(ue(r=>e.selectQueue(i.key),["prevent"]),["enter"]),pt(ue(r=>e.selectQueue(i.key),["prevent"]),["space"])],onClick:r=>e.selectQueue(i.key)},[n("div",Z2,[n("span",{class:T(["q-dot",{"q-dot-red":i?.paused||i?.counts?.failed>0,"q-dot-idle":!i?.counts?.active&&!i?.counts?.waiting}]),title:i?.paused?"Paused":i?.counts?.failed>0?i.counts.failed+" failed jobs":i?.counts?.active||i?.counts?.waiting?"Running":"Idle"},null,10,x2),n("span",{class:"q-card-name",textContent:c(i?.label)},null,8,eC)]),n("div",{class:"q-card-count",textContent:c((i?.counts?.waiting||0)+(i?.counts?.active||0)+(i?.counts?.delayed||0))},null,8,tC),n("div",nC,[n("span",null,[v("waiting \xB7 "+c(i?.counts?.active||0)+" active",1),i?.counts?.failed?(l(),d(L,{key:0},[t[19]||(t[19]=v(" \xB7 ",-1)),n("b",oC,c(i.counts.failed)+" failed",1)],64)):f("v-if",!0),i?.paused?(l(),d(L,{key:1},[t[20]||(t[20]=v(" \xB7 ",-1)),t[21]||(t[21]=n("b",{class:"q-card-failed"},"paused",-1))],64)):f("v-if",!0)]),i?.counts?.active?(l(),d("div",sC,[n("div",{class:"q-card-bar-fill",style:Ve({width:i?.counts?.active/((i?.counts?.waiting||0)+(i?.counts?.active||0)+(i?.counts?.delayed||0)||1)*100+"%"})},null,4)])):f("v-if",!0)])],42,J2))),256))]),f(" Detail: throughput chart + stats panel "),e.selectedStats?(l(),d("div",iC,[n("div",rC,[n("div",aC,[n("button",{class:T(["btn btn-sm",{active:e.range=="1h"}]),onClick:t[1]||(t[1]=i=>e.setRange("1h"))},"1h",2),n("button",{class:T(["btn btn-sm",{active:e.range=="6h"}]),onClick:t[2]||(t[2]=i=>e.setRange("6h"))},"6h",2),n("button",{class:T(["btn btn-sm",{active:e.range=="24h"}]),onClick:t[3]||(t[3]=i=>e.setRange("24h"))},"24h",2),n("button",{class:T(["btn btn-sm",{active:e.range=="7d"}]),onClick:t[4]||(t[4]=i=>e.setRange("7d"))},"7d",2)]),n("div",lC,[v("Throughput \xB7 "+c(e.selectedQueue)+" ",1),(e.selectedStats?.completed24h||0)+(e.selectedStats?.failed24h||0)>0?(l(),d("span",dC,[t[23]||(t[23]=n("span",{class:"q-legend-completed"},"\u25CF",-1)),t[24]||(t[24]=v(" Completed ",-1)),t[25]||(t[25]=n("span",{class:"q-legend-failed"},"\u25CF",-1)),t[26]||(t[26]=v(" Failed ",-1)),(e.selectedStats?.completed24h||0)+(e.selectedStats?.failed24h||0)>0?(l(),d(L,{key:0},[t[22]||(t[22]=n("span",{class:"q-legend-exec","aria-hidden":"true"},null,-1)),v(" Avg time \xB7 "+c(e.range),1)],64)):f("v-if",!0)])):f("v-if",!0)]),n("div",uC,[t[28]||(t[28]=n("canvas",{id:"q-throughput-chart",height:"180"},null,-1)),(e.selectedStats?.completed24h||0)+(e.selectedStats?.failed24h||0)===0?(l(),d("div",cC,[...t[27]||(t[27]=[n("strong",null,"No jobs processed in this window",-1),n("span",null,"Completed and failed jobs will chart here.",-1)])])):f("v-if",!0),t[29]||(t[29]=n("div",{id:"q-chart-tooltip",class:"q-chart-tooltip",style:{display:"none"}},null,-1)),t[30]||(t[30]=n("div",{id:"q-chart-crosshair",class:"q-chart-crosshair",style:{display:"none"}},null,-1))])]),n("div",pC,[n("div",fC,"Stats \xB7 "+c(e.selectedQueue),1),n("div",hC,[n("div",mC,[t[31]||(t[31]=n("div",{class:"q-stat-label"},"Waiting",-1)),n("div",{class:"q-stat-value",textContent:c(e.selectedStats?.counts?.waiting||0)},null,8,gC)]),n("div",vC,[t[32]||(t[32]=n("div",{class:"q-stat-label"},"Active",-1)),n("div",{class:"q-stat-value",textContent:c(e.selectedStats?.counts?.active||0)},null,8,yC)]),n("div",bC,[t[33]||(t[33]=n("div",{class:"q-stat-label"},"Completed (24h)",-1)),n("div",{class:"q-stat-value",textContent:c(e.fmt?.number(e.selectedStats?.completed24h))},null,8,wC)]),n("div",kC,[t[34]||(t[34]=n("div",{class:"q-stat-label"},"Failed (24h)",-1)),n("div",{class:"q-stat-value",textContent:c(e.selectedStats?.failed24h||0)},null,8,CC)]),n("div",EC,[t[35]||(t[35]=n("div",{class:"q-stat-label"},"Delayed",-1)),n("div",{class:"q-stat-value",textContent:c(e.selectedStats?.counts?.delayed||0)},null,8,SC)]),n("div",NC,[t[36]||(t[36]=n("div",{class:"q-stat-label"},"Workers",-1)),n("div",{class:"q-stat-value",textContent:c(e.selectedStats?.workers||0)},null,8,RC)])]),n("div",DC,[n("button",{class:"btn btn-sm",onClick:t[5]||(t[5]=i=>e.togglePause())},c(e.selectedStats?.paused?"Resume "+e.selectedQueue:"Pause "+e.selectedQueue),1),n("button",{class:"btn btn-sm",onClick:t[6]||(t[6]=i=>e.retryFailed()),disabled:!e.selectedStats?.counts?.failed},"Retry failed",8,AC),n("span",TC,[n("button",{class:"btn btn-sm btn-outline-danger",onClick:t[7]||(t[7]=i=>e.drainSelected())},"Drain"),n("button",{class:"btn btn-sm btn-outline-danger",onClick:t[8]||(t[8]=i=>e.emptyQueue())},"Empty")])])])])):f("v-if",!0),e.actionError?(l(),d("div",{key:1,class:"q-toast-error",onClick:t[9]||(t[9]=i=>e.actionError=null)},[t[37]||(t[37]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-info"})],-1)),v(" "+c(e.actionError),1)])):f("v-if",!0),f(" Jobs table "),n("div",PC,[n("div",OC,[n("div",IC,"All jobs \xB7 "+c(e.selectedQueue),1),n("div",MC,[n("button",{type:"button",role:"radio",class:T(["seg-chip",{active:e.segView()==="all"}]),"aria-checked":e.segView()==="all",onClick:t[10]||(t[10]=i=>e.setSegView("all"))},[t[38]||(t[38]=v("All ",-1)),n("span",VC,c(e.fmt?.number(e.segCount("all"))),1)],10,_C),n("button",{type:"button",role:"radio",class:T(["seg-chip",{active:e.segView()==="active","is-empty":!e.segCount("active")}]),"aria-checked":e.segView()==="active",onClick:t[11]||(t[11]=i=>e.setSegView("active"))},[t[39]||(t[39]=n("span",{class:"seg-dot ok","aria-hidden":"true"},null,-1)),t[40]||(t[40]=v("Active ",-1)),n("span",$C,c(e.fmt?.number(e.segCount("active"))),1)],10,qC),n("button",{type:"button",role:"radio",class:T(["seg-chip",{active:e.segView()==="waiting","is-empty":!e.segCount("waiting")}]),"aria-checked":e.segView()==="waiting",onClick:t[12]||(t[12]=i=>e.setSegView("waiting"))},[t[41]||(t[41]=n("span",{class:"seg-dot warn","aria-hidden":"true"},null,-1)),t[42]||(t[42]=v("Waiting ",-1)),n("span",UC,c(e.fmt?.number(e.segCount("waiting"))),1)],10,LC),n("button",{type:"button",role:"radio",class:T(["seg-chip",{active:e.segView()==="delayed","is-empty":!e.segCount("delayed")}]),"aria-checked":e.segView()==="delayed",onClick:t[13]||(t[13]=i=>e.setSegView("delayed"))},[t[43]||(t[43]=n("span",{class:"seg-dot warn","aria-hidden":"true"},null,-1)),t[44]||(t[44]=v("Delayed ",-1)),n("span",BC,c(e.fmt?.number(e.segCount("delayed"))),1)],10,FC),n("button",{type:"button",role:"radio",class:T(["seg-chip",{active:e.segView()==="failed","is-empty":!e.segCount("failed")}]),"aria-checked":e.segView()==="failed",onClick:t[14]||(t[14]=i=>e.setSegView("failed"))},[t[45]||(t[45]=n("span",{class:"seg-dot bad","aria-hidden":"true"},null,-1)),t[46]||(t[46]=v("Failed ",-1)),n("span",HC,c(e.fmt?.number(e.segCount("failed"))),1)],10,zC),n("button",{type:"button",role:"radio",class:T(["seg-chip",{active:e.segView()==="completed","is-empty":!e.segCount("completed")}]),"aria-checked":e.segView()==="completed",onClick:t[15]||(t[15]=i=>e.setSegView("completed"))},[t[47]||(t[47]=n("span",{class:"seg-dot done","aria-hidden":"true"},null,-1)),t[48]||(t[48]=v("Completed ",-1)),n("span",GC,c(e.fmt?.number(e.segCount("completed"))),1)],10,jC)])]),n("div",WC,[P(n("input",KC,null,512),[[o,{state:e.viewState,set:i=>{e.query.search=i},value:e.query?.search,form:null,options:{}}]]),n("label",YC,[P(n("input",XC,null,512),[[o,{state:e.viewState,set:i=>{e.query.autoRefresh=i},value:e.query?.autoRefresh,form:null,options:{}}]]),t[49]||(t[49]=n("span",{class:"auto-refresh-label"},"Auto-refresh",-1))]),n("button",{class:"btn btn-sm btn-icon",type:"button",title:"Refresh now",onClick:t[16]||(t[16]=i=>e.refreshNow()),"aria-label":"Refresh"},[...t[50]||(t[50]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-refresh"})],-1)])])]),e.filteredJobs().length>0?(l(),d("table",QC,[t[69]||(t[69]=n("thead",null,[n("tr",null,[n("th",null,"State"),n("th",null,"Job"),n("th",null,"Detail"),n("th",null,"Attempts"),n("th",{class:"q-th-num"},"Duration"),n("th",null,"Progress"),n("th")])],-1)),(l(!0),d(L,null,se(e.filteredJobs(),(i,s)=>(l(),d("tbody",null,[n("tr",{style:{cursor:"pointer"},class:T({"q-row-failed":i?._state=="failed","q-row-expanded":e.expanded[i?.id]}),onClick:r=>e.toggleJob(i)},[n("td",ZC,[n("span",{textContent:c(i?._state),class:T("q-state-badge q-state-"+i?._state)},null,10,xC),i?._state=="delayed"&&i?.delayUntil?(l(),d("span",{key:0,class:"q-delay-hint",textContent:c(e.delayCountdown(i?.delayUntil))},null,8,eE)):f("v-if",!0)]),n("td",{class:"q-cell-id",title:"job:"+i?.id+(i?.name&&i?.name!==i?.id?" \xB7 "+i.name:"")+(i?.data?.repoId&&i?.data?.repoId!==i?.id?" \xB7 "+i.data.repoId:"")},[(l(),d("svg",{class:T(["ui-icon q-chevron",{"q-chevron-open":e.expanded[i?.id]}]),"aria-hidden":"true"},[...t[51]||(t[51]=[n("use",{href:"#ui-icon-chevron-right"},null,-1)])],2)),n("a",{target:"_blank",class:"q-job-link",textContent:c(i?.data?.repoId||i?.id),onClick:t[17]||(t[17]=r=>r.stopPropagation()),href:e.safeUrl("/r/"+(i?.data?.repoId||i?.id))},null,8,nE)],8,tE),n("td",{class:T(["q-cell-detail",{"is-error":i?._state=="failed"}]),title:i?._state=="failed"?i?.failedReason:"",textContent:c(e.jobDetail(i))},null,10,oE),n("td",{class:"q-cell-num",textContent:c(i?.attemptsMade||1)},null,8,sE),n("td",{class:"q-cell-num q-cell-duration",textContent:c(e.jobDuration(i))},null,8,iE),n("td",rE,[n("div",{class:T(["q-progress-wrap",{"is-indeterminate":e.jobProgressPct(i)===null}]),"aria-label":e.jobProgressPct(i)===null?"Progress not reported":e.jobProgressPct(i)+"% done"},[n("div",{class:"q-progress-bar",style:Ve({"--pct":(e.jobProgressPct(i)||0)+"%"})},null,4),n("span",{class:"q-progress-label",textContent:c(e.jobProgressPct(i)===null?"\u2014":e.jobProgressPct(i)+"%")},null,8,lE)],10,aE)]),n("td",dE,[i?._state=="failed"?(l(),d("button",{key:0,class:"btn btn-sm btn-icon",title:"Retry",onClick:r=>{e.retryJob(i),r.stopPropagation()},"aria-label":"Retry job"},[...t[52]||(t[52]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-refresh"})],-1)])],8,uE)):f("v-if",!0),n("button",{class:"btn btn-sm btn-icon",title:"Remove","aria-label":"Remove job",onClick:r=>{e.removeJob(i),r.stopPropagation()}},[...t[53]||(t[53]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-trash"})],-1)])],8,cE)])],10,JC),e.expanded[i?.id]?(l(),d("tr",pE,[n("td",fE,[n("div",hE,[n("div",mE,[n("div",gE,[t[54]||(t[54]=n("span",{class:"q-job-detail-label"},"Job id",-1)),n("span",vE,[n("a",{target:"_blank",textContent:c(i?.id),href:e.safeUrl("/r/"+i?.id)},null,8,yE)])]),n("div",bE,[t[55]||(t[55]=n("span",{class:"q-job-detail-label"},"State",-1)),n("span",wE,[n("span",{textContent:c(i?._state),class:T("q-state-badge q-state-"+i?._state)},null,10,kE)])]),i?.data?.repoId?(l(),d("div",CE,[t[56]||(t[56]=n("span",{class:"q-job-detail-label"},"Repo ID",-1)),n("span",{class:"q-job-detail-value",textContent:c(i?.data?.repoId)},null,8,EE)])):f("v-if",!0),i?.timestamp?(l(),d("div",SE,[t[57]||(t[57]=n("span",{class:"q-job-detail-label"},"Created",-1)),n("span",{class:"q-job-detail-value",textContent:c(e.humanTime(i?.timestamp))},null,8,NE)])):f("v-if",!0),i?._state=="delayed"&&i?.delayUntil?(l(),d("div",RE,[t[58]||(t[58]=n("span",{class:"q-job-detail-label"},"Retry at",-1)),n("span",DE,c(e.humanTime(i?.delayUntil))+" ("+c(e.delayCountdown(i?.delayUntil))+")",1)])):f("v-if",!0),i?.processedOn?(l(),d("div",AE,[t[59]||(t[59]=n("span",{class:"q-job-detail-label"},"Processed",-1)),n("span",{class:"q-job-detail-value",textContent:c(e.humanTime(i?.processedOn))},null,8,TE)])):f("v-if",!0),i?.finishedOn?(l(),d("div",PE,[t[60]||(t[60]=n("span",{class:"q-job-detail-label"},"Finished",-1)),n("span",{class:"q-job-detail-value",textContent:c(e.humanTime(i?.finishedOn))},null,8,OE)])):f("v-if",!0),i?.attemptsMade?(l(),d("div",IE,[t[61]||(t[61]=n("span",{class:"q-job-detail-label"},"Attempts",-1)),n("span",{class:"q-job-detail-value",textContent:c(i?.attemptsMade)},null,8,ME)])):f("v-if",!0),i?.progress&&i?.progress?.status?(l(),d("div",_E,[t[62]||(t[62]=n("span",{class:"q-job-detail-label"},"Status",-1)),n("span",{class:"q-job-detail-value",textContent:c(i?.progress?.status)},null,8,VE)])):f("v-if",!0),e.jobProgressPct(i)!==null?(l(),d("div",qE,[t[63]||(t[63]=n("span",{class:"q-job-detail-label"},"Progress",-1)),n("span",{class:"q-job-detail-value",textContent:c(e.jobProgressPct(i)+"%")},null,8,$E)])):f("v-if",!0)]),i?.failedReason?(l(),d("div",LE,[t[64]||(t[64]=n("span",{class:"q-job-detail-label"},"Error",-1)),n("div",{class:"q-error-reason",textContent:c(i?.failedReason)},null,8,UE)])):f("v-if",!0),i?.stacktrace?.length?(l(),d("div",FE,[t[65]||(t[65]=n("span",{class:"q-job-detail-label"},"Stacktrace",-1)),(l(!0),d(L,null,se(i?.stacktrace,(r,a)=>(l(),d("pre",{class:"q-error-stack",key:a},[n("code",{textContent:c(r)},null,8,BE)]))),128))])):f("v-if",!0),n("div",zE,[i?._state=="failed"?(l(),d("button",{key:0,class:"btn btn-sm",onClick:r=>e.retryJob(i)},[...t[66]||(t[66]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-refresh"})],-1),v(" Retry",-1)])],8,HE)):f("v-if",!0),n("button",{class:"btn btn-sm",onClick:r=>e.removeJob(i)},[...t[67]||(t[67]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-trash"})],-1),v(" Remove",-1)])],8,jE),n("a",{class:"btn btn-sm",target:"_blank",href:e.safeUrl("/r/"+i?.id)},[...t[68]||(t[68]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-external-link"})],-1),v(" View repo",-1)])],8,GE)])])])])):f("v-if",!0)]))),256))])):f("v-if",!0),e.filteredJobs().length==0?(l(),d("div",WE,[t[70]||(t[70]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-check-circle"})],-1)),e.query?.search?f("v-if",!0):(l(),d("span",KE,"No jobs in the "+c(e.selectedQueue)+" queue.",1)),e.query?.search?(l(),d("span",YE,"No jobs match the current filters.")):f("v-if",!0)])):f("v-if",!0)])])}var XE={class:"container paper-page admin-page"},QE={class:"seg-bar"},JE={class:"seg-filter",role:"radiogroup","aria-label":"Filter by status"},ZE=["aria-checked"],xE={class:"count"},eS=["aria-checked"],tS={class:"count"},nS=["aria-checked"],oS={class:"count"},sS=["aria-checked"],iS={class:"count"},rS=["aria-checked"],aS={class:"count"},lS=["aria-checked"],dS={class:"count"},uS={class:"seg-countline",role:"status"},cS={class:"seg-meta"},pS={key:0,class:"alert alert-danger",style:{margin:"8px 0"}},fS={class:"w-100 admin-filter-toolbar","aria-label":"Repositories","accept-charset":"UTF-8"},hS=["aria-expanded"],mS={class:"search-wrap"},gS={type:"search",class:"form-control","aria-label":"Search repositories",placeholder:"Search repositories\u2026",autocomplete:"off"},vS={key:0,class:"admin-search-hint"},yS={class:"admin-filter-inline"},bS={type:"text",class:"form-control form-control-sm",placeholder:"username"},wS={class:"admin-filter-inline"},kS={type:"text",class:"form-control form-control-sm",placeholder:"ID"},CS={key:0,class:"admin-filter-inline","aria-label":"Pagination"},ES=["disabled"],SS={style:{"font-family":"var(--font-mono)","font-size":"12px",color:"var(--ink-muted)"}},NS=["disabled"],RS={key:0,class:"admin-filter-row"},DS={class:"admin-active-chips"},AS={class:"key"},TS=["onClick"],PS={key:1,class:"bulk-bar"},OS={class:"paper-table paper-table-repos has-bulk w-100",role:"table","aria-label":"Repositories"},IS={class:"paper-table-head",role:"row"},MS={role:"columnheader",style:{width:"28px"}},_S=["checked"],VS={role:"columnheader"},qS={role:"columnheader"},$S={role:"columnheader",class:"num"},LS={role:"columnheader"},US={role:"cell",style:{width:"28px"}},FS={type:"checkbox","aria-label":"Select repository"},BS={class:"cell-anon",role:"cell"},zS={class:"anon-text"},HS=["textContent","href"],jS=["title"],GS=["href"],WS=["textContent"],KS=["textContent"],YS=["data-meta-label"],XS=["title","textContent","href"],QS=["data-meta-label"],JS=["textContent","href"],ZS=["data-meta-label"],xS={key:3,class:"meta-item"},eN={class:"meta-item"},tN={class:"cell-status",role:"cell"},nN={class:"status-line"},oN=["textContent"],sN=["textContent","title"],iN=["data-unit"],rN=["textContent"],aN={class:"cell-expires",role:"cell"},lN=["textContent"],dN={class:"cell-actions",role:"cell"},uN={class:"dropdown"},cN={class:"dropdown-menu dropdown-menu-right"},pN=["href"],fN=["href"],hN=["href"],mN=["onClick"],gN=["onClick"],vN=["onClick"],yN=["onClick"],bN=["onClick"],wN=["onClick"],kN={key:0,class:"paper-table-empty"},CN={class:"admin-toolbar",style:{"justify-content":"space-between","border-bottom":"none"}},EN={key:0,class:"pagination-compact"},SN=["disabled"],NN=["max"],RN=["disabled"],DN={class:"admin-filter-inline"},AN={class:"form-control form-control-sm"};function Bc(e,t){let o=Te("field"),i=Te("form");return l(),d("div",XE,[t[80]||(t[80]=Ee('
Admin \xA0/\xA0 Repositories

Repositories

',3)),n("div",QE,[n("div",JE,[n("button",{type:"button",role:"radio",class:T(["seg-chip",{active:e.segView()==="all"}]),"aria-checked":e.segView()==="all",onClick:t[0]||(t[0]=s=>e.setSegView("all"))},[t[21]||(t[21]=v("All ",-1)),n("span",xE,c(e.fmt?.number(e.segCount("all"))),1)],10,ZE),n("button",{type:"button",role:"radio",class:T(["seg-chip",{active:e.segView()==="ready","is-empty":!e.segCount("ready")}]),"aria-checked":e.segView()==="ready",onClick:t[1]||(t[1]=s=>e.setSegView("ready"))},[t[22]||(t[22]=n("span",{class:"seg-dot ok","aria-hidden":"true"},null,-1)),t[23]||(t[23]=v("Ready ",-1)),n("span",tS,c(e.fmt?.number(e.segCount("ready"))),1)],10,eS),n("button",{type:"button",role:"radio",class:T(["seg-chip",{active:e.segView()==="preparing","is-empty":!e.segCount("preparing")}]),"aria-checked":e.segView()==="preparing",onClick:t[2]||(t[2]=s=>e.setSegView("preparing"))},[t[24]||(t[24]=n("span",{class:"seg-dot warn","aria-hidden":"true"},null,-1)),t[25]||(t[25]=v("Preparing ",-1)),n("span",oS,c(e.fmt?.number(e.segCount("preparing"))),1)],10,nS),n("button",{type:"button",role:"radio",class:T(["seg-chip",{active:e.segView()==="error","is-empty":!e.segCount("error")}]),"aria-checked":e.segView()==="error",onClick:t[3]||(t[3]=s=>e.setSegView("error"))},[t[26]||(t[26]=n("span",{class:"seg-dot bad","aria-hidden":"true"},null,-1)),t[27]||(t[27]=v("Error ",-1)),n("span",iS,c(e.fmt?.number(e.segCount("error"))),1)],10,sS),n("button",{type:"button",role:"radio",class:T(["seg-chip",{active:e.segView()==="expired","is-empty":!e.segCount("expired")}]),"aria-checked":e.segView()==="expired",onClick:t[4]||(t[4]=s=>e.setSegView("expired"))},[t[28]||(t[28]=n("span",{class:"seg-dot off","aria-hidden":"true"},null,-1)),t[29]||(t[29]=v("Expiring / expired ",-1)),n("span",aS,c(e.fmt?.number(e.segCount("expired"))),1)],10,rS),n("button",{type:"button",role:"radio",class:T(["seg-chip",{active:e.segView()==="removed","is-empty":!e.segCount("removed")}]),"aria-checked":e.segView()==="removed",onClick:t[5]||(t[5]=s=>e.setSegView("removed"))},[t[30]||(t[30]=n("span",{class:"seg-dot off","aria-hidden":"true"},null,-1)),t[31]||(t[31]=v("Removing / removed ",-1)),n("span",dS,c(e.fmt?.number(e.segCount("removed"))),1)],10,lS)]),n("p",uS,[n("strong",null,c(e.total>=0?e.fmt.number(e.total):"\u2026"),1),t[32]||(t[32]=v(" shown",-1)),t[33]||(t[33]=n("span",{class:"seg-sep"},"\xB7",-1)),n("span",cS,c(e.fmt?.humanFileSize(e.totalSize))+" on disk",1)])]),e.fetchError?(l(),d("div",pS,[t[34]||(t[34]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-warning"})],-1)),v(" "+c(e.fetchError),1)])):f("v-if",!0),P((l(),d("form",fS,[f(" Row 1: search + scoped inputs + headline actions "),n("button",{type:"button",class:"btn btn-sm admin-filters-toggle",onClick:t[6]||(t[6]=s=>e.filtersOpen=!e.filtersOpen),"aria-expanded":e.filtersOpen?"true":"false"},"Filters",8,hS),n("div",{class:T(["admin-filter-row",{"is-open":e.filtersOpen}])},[n("div",mS,[P(n("input",gS,null,512),[[o,{state:e.viewState,set:s=>{e.query.search=s},value:e.query?.search,form:null,options:{}}]]),e.query?.search?f("v-if",!0):(l(),d("span",vS,"/"))]),n("span",yS,[t[35]||(t[35]=n("label",null,"Owner",-1)),P(n("input",bS,null,512),[[o,{state:e.viewState,set:s=>{e.query.owner=s},value:e.query?.owner,form:null,options:{}}]])]),n("span",wS,[t[36]||(t[36]=n("label",null,"Conference",-1)),P(n("input",kS,null,512),[[o,{state:e.viewState,set:s=>{e.query.conference=s},value:e.query?.conference,form:null,options:{}}]])]),t[40]||(t[40]=n("span",{class:"admin-filter-spacer"},null,-1)),n("button",{class:"btn btn-sm",type:"button",title:"Export current view to CSV",onClick:t[7]||(t[7]=s=>e.exportCsv())},[...t[37]||(t[37]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-export"})],-1),v(" Export",-1)])]),e.totalPage>1?(l(),d("span",CS,[n("button",{class:"btn btn-sm btn-icon",type:"button",onClick:t[8]||(t[8]=s=>e.query.page=Math.max(1,e.query.page-1)),disabled:e.query?.page<=1,"aria-label":"Previous page"},[...t[38]||(t[38]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-chevron-left"})],-1)])],8,ES),n("span",SS,c(e.query?.page)+"/"+c(e.totalPage||1),1),n("button",{class:"btn btn-sm btn-icon",type:"button",onClick:t[9]||(t[9]=s=>e.query.page=Math.min(e.totalPage,e.query.page+1)),disabled:e.query?.page>=e.totalPage,"aria-label":"Next page"},[...t[39]||(t[39]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-chevron-right"})],-1)])],8,NS)])):f("v-if",!0)],2),f(" Row 2: appears only when there are active filter chips "),e.chips?.length?(l(),d("div",RS,[n("div",DS,[(l(!0),d(L,null,se(e.chips,(s,r)=>(l(),d("span",{class:"admin-active-chip",key:s?.key},[n("span",AS,c(s?.label),1),n("span",null,c(s?.value),1),n("button",{type:"button","aria-label":"Remove filter",onClick:a=>e.clearFilter(s.key)},[...t[41]||(t[41]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-close"})],-1)])],8,TS)]))),128))])])):f("v-if",!0)])),[[i,e.viewState]]),e.selectedCount()>0?(l(),d("div",PS,[n("span",null,[n("strong",null,c(e.selectedCount()),1),t[42]||(t[42]=v(" selected",-1))]),n("button",{class:"btn btn-sm",type:"button",onClick:t[10]||(t[10]=s=>e.bulkRefresh())},[...t[43]||(t[43]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-refresh"})],-1),v(" Force refresh",-1)])]),n("button",{class:"btn btn-sm text-danger",type:"button",onClick:t[11]||(t[11]=s=>e.bulkRemoveCache())},[...t[44]||(t[44]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-broom"})],-1),v(" Remove cache",-1)])]),n("button",{class:"btn btn-sm",type:"button",onClick:t[12]||(t[12]=s=>e.clearSelection())},"Clear")])):f("v-if",!0),n("div",OS,[n("div",IS,[n("div",MS,[n("input",{type:"checkbox","aria-label":"Select all on page",onClick:t[13]||(t[13]=s=>e.selectAllOnPage()),checked:e.allSelected},null,8,_S)]),n("div",VS,[n("button",{type:"button",class:T(["sortable",{active:e.query?.sort=="source.repositoryName"}]),onClick:t[14]||(t[14]=s=>e.sortBy("source.repositoryName"))},[t[46]||(t[46]=v("Repository ",-1)),e.sortIcon("source.repositoryName")?(l(),d("svg",{key:0,class:T(["ui-icon sort-direction",{ascending:e.sortIcon("source.repositoryName")==="fa-arrow-up"}]),"aria-hidden":"true"},[...t[45]||(t[45]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)):f("v-if",!0)],2)]),n("div",qS,[n("button",{type:"button",class:T(["sortable",{active:e.query?.sort=="status"}]),onClick:t[15]||(t[15]=s=>e.sortBy("status"))},[t[48]||(t[48]=v("Status ",-1)),e.sortIcon("status")?(l(),d("svg",{key:0,class:T(["ui-icon sort-direction",{ascending:e.sortIcon("status")==="fa-arrow-up"}]),"aria-hidden":"true"},[...t[47]||(t[47]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)):f("v-if",!0)],2)]),n("div",$S,[n("button",{type:"button",class:T(["sortable",{active:e.query?.sort=="pageView"}]),onClick:t[16]||(t[16]=s=>e.sortBy("pageView"))},[t[50]||(t[50]=v("Views ",-1)),e.sortIcon("pageView")?(l(),d("svg",{key:0,class:T(["ui-icon sort-direction",{ascending:e.sortIcon("pageView")==="fa-arrow-up"}]),"aria-hidden":"true"},[...t[49]||(t[49]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)):f("v-if",!0)],2)]),n("div",LS,[n("button",{type:"button",class:T(["sortable",{active:e.query?.sort=="anonymizeDate"}]),onClick:t[17]||(t[17]=s=>e.sortBy("anonymizeDate"))},[t[52]||(t[52]=v("Anonymized ",-1)),e.sortIcon("anonymizeDate")?(l(),d("svg",{key:0,class:T(["ui-icon sort-direction",{ascending:e.sortIcon("anonymizeDate")==="fa-arrow-up"}]),"aria-hidden":"true"},[...t[51]||(t[51]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)):f("v-if",!0)],2)]),t[53]||(t[53]=n("div",{role:"columnheader","aria-label":"Actions"},null,-1))]),(l(!0),d(L,null,se(e.filteredRepositories,(s,r)=>(l(),d("div",{class:T(["paper-table-row",{"repo-inactive":s?.status=="expired"||s?.status=="removed","repo-error":s?.status=="error","row-selected":e.selected[s?.repoId]}]),role:"row"},[n("div",US,[P(n("input",FS,null,512),[[o,{state:e.viewState,set:a=>{e.selected[s.repoId]=a},value:e.selected[s?.repoId],form:null,options:{}}]])]),n("div",BS,[t[56]||(t[56]=n("svg",{class:"ui-icon record-type-icon",role:"img","aria-label":"Repository"},[n("use",{href:"#project-type-repo"})],-1)),n("div",zS,[n("a",{class:"repo-name",target:"_blank",textContent:c(s?.repoId),href:e.safeUrl("/r/"+s?.repoId)},null,8,HS),n("div",{class:"anon-sub anon-meta","data-meta-fit":"",title:[s?.source?.fullName||s?.source?.repositoryName,s?.options?.update?"branch "+s?.source?.branch:"commit "+s?.source?.commit?.substring(0,7),s?.conference?"conference "+s?.conference:"",s?.size?.storage>0?e.fmt?.humanFileSize(s?.size?.storage):"",e.fmt?.number(s?.options?.terms?.length)+(s?.options?.terms?.length===1?" term":" terms")].filter(Boolean).join(" \xB7 ")},[n("a",{class:"src-path",href:e.safeUrl("https://github.com/"+s?.source?.repositoryName+"/")},[(s?.source?.repositoryName||"").includes("/")?(l(),d("span",{key:0,class:"src-owner",textContent:c((a=>a.length>16?a.slice(0,14)+"\u2026":a)((s?.source?.repositoryName||"").split("/")[0]))},null,8,WS)):f("v-if",!0),n("span",{class:"src-repo",textContent:c((s?.source?.repositoryName||"").includes("/")?"/"+(s?.source?.repositoryName||"").split("/").slice(1).join("/"):s?.source?.repositoryName)},null,8,KS)],8,GS),s?.options?.update?f("v-if",!0):(l(),d("span",{key:0,class:"meta-item","data-meta-label":"commit "+(s?.source?.commit||"").substring(0,7)},[n("a",{class:"mono-hash",title:s?.source?.commit,textContent:c(s?.source?.commit?.substring(0,7)),href:e.safeUrl("https://github.com/"+s?.source?.fullName+"/tree/"+s?.source?.commit)},null,8,XS)],8,YS)),s?.options?.update?(l(),d("span",{key:1,class:"meta-item","data-meta-label":"branch "+(s?.source?.branch||"")},[n("a",{textContent:c(s?.source?.branch),href:e.safeUrl("https://github.com/"+s?.source?.fullName+"/tree/"+s?.source?.branch)},null,8,JS)],8,QS)):f("v-if",!0),s?.conference?(l(),d("span",{key:2,class:"meta-item meta-conf","data-meta-label":"conference "+s?.conference},[t[54]||(t[54]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-conference"})],-1)),v(" "+c(s?.conference),1)],8,ZS)):f("v-if",!0),s?.size?.storage>0?(l(),d("span",xS,c(e.fmt?.humanFileSize(s?.size?.storage)),1)):f("v-if",!0),n("span",eN,c(e.fmt?.number(s?.options?.terms?.length))+" "+c(s?.options?.terms?.length===1?"term":"terms"),1),t[55]||(t[55]=n("span",{class:"meta-more",hidden:""},null,-1))],8,jS)])]),n("div",tN,[n("span",nN,[n("span",{class:T(["status-dot","st-"+(s?.status||"unknown")])},null,2),n("span",{textContent:c(e.fmt?.statusLabel(s?.status))},null,8,oN)]),s?.statusMessage?(l(),d("span",{key:0,class:"status-sub",textContent:c(e.fmt?.statusMsg(s?.statusMessage)),title:s?.statusMessage},null,8,sN)):f("v-if",!0)]),n("div",{class:"cell-views num",role:"cell","data-unit":(s?.pageView||0)===1?"view":"views"},[t[57]||(t[57]=n("svg",{class:"ui-icon mobile-meta-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-eye"})],-1)),t[58]||(t[58]=v()),n("span",{textContent:c(e.fmt?.number(s?.pageView||0))},null,8,rN)],8,iN),n("div",aN,[t[59]||(t[59]=n("svg",{class:"ui-icon mobile-meta-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-clock"})],-1)),t[60]||(t[60]=v()),n("span",{textContent:c((e.fmt?.humanTime(s?.anonymizeDate)||"").replace(/^on /,""))},null,8,lN)]),n("div",dN,[n("div",uN,[t[72]||(t[72]=n("button",{class:"btn btn-icon-dots",type:"button","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false","aria-label":"Actions"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-more"})])],-1)),n("div",cN,[n("a",{class:"dropdown-item",href:e.safeUrl("/anonymize/"+s?.repoId)},[...t[61]||(t[61]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-edit"})],-1),v(" Edit",-1)])],8,pN),n("a",{class:"dropdown-item",href:e.safeUrl("/r/"+s?.repoId+"/")},[...t[62]||(t[62]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-eye"})],-1),v(" View repo",-1)])],8,fN),s?.options?.page&&s?.status=="ready"?(l(),d("a",{key:0,class:"dropdown-item",target:"_self",href:e.safeUrl("/w/"+s?.repoId+"/")},[...t[63]||(t[63]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-globe"})],-1),v(" View page",-1)])],8,hN)):f("v-if",!0),n("a",{class:"dropdown-item",href:"#",onClick:ue(a=>e.fetchGithubInfo(s),["prevent"])},[...t[64]||(t[64]=[n("i",{class:"fab fa-github"},null,-1),v(" Live GitHub info",-1)])],8,mN),t[70]||(t[70]=n("div",{class:"dropdown-divider"},null,-1)),P(n("a",{class:"dropdown-item",href:"#",onClick:ue(a=>e.updateRepository(s),["prevent"])},[...t[65]||(t[65]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-refresh"})],-1),v(" Force update",-1)])],8,gN),[[x,s?.status=="ready"||s?.status=="error"]]),P(n("a",{class:"dropdown-item",href:"#",onClick:ue(a=>e.updateRepository(s),["prevent"])},[...t[66]||(t[66]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-check-circle"})],-1),v(" Enable",-1)])],8,vN),[[x,s?.status=="removed"]]),P(n("a",{class:"dropdown-item",href:"#",onClick:ue(a=>e.showStatusMessage(s),["prevent"])},[...t[67]||(t[67]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-warning"})],-1),v(" View status message",-1)])],8,yN),[[x,s?.statusMessage]]),t[71]||(t[71]=n("div",{class:"dropdown-divider"},null,-1)),n("a",{class:"dropdown-item",href:"#",onClick:ue(a=>e.removeCache(s),["prevent"])},[...t[68]||(t[68]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-broom"})],-1),v(" Remove cache",-1)])],8,bN),P(n("a",{class:"dropdown-item text-danger",href:"#",onClick:ue(a=>e.removeRepository(s),["prevent"])},[...t[69]||(t[69]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-trash"})],-1),v(" Remove",-1)])],8,wN),[[x,s?.status=="ready"]])])])])],2))),256)),e.filteredRepositories?.length==0?(l(),d("div",kN,[t[73]||(t[73]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-inbox"})],-1)),t[74]||(t[74]=n("span",null,"No repositories match the current filters.",-1)),e.query.ready&&e.query.expired&&e.query.removed&&e.query.error&&e.query.preparing?f("v-if",!0):(l(),d("button",{key:0,type:"button",class:"btn btn-sm btn-outline-ink",onClick:t[18]||(t[18]=s=>e.showAllStatuses())},"Show all statuses"))])):f("v-if",!0)]),n("div",CN,[t[79]||(t[79]=n("span",{"aria-hidden":"true"},null,-1)),e.totalPage>1?(l(),d("div",EN,[n("button",{class:"btn btn-sm",onClick:t[19]||(t[19]=s=>e.query.page=Math.max(1,e.query.page-1)),disabled:e.query?.page<=1},[...t[75]||(t[75]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-chevron-left"})],-1),v(" Previous ",-1)])],8,SN),P(n("input",{type:"number",class:"form-control form-control-sm",min:"1",style:{width:"56px"},"aria-label":"Page",max:e.totalPage},null,8,NN),[[o,{state:e.viewState,set:s=>{e.query.page=s},value:e.query?.page,form:null,options:{}}]]),n("span",null,"of "+c(e.totalPage),1),n("button",{class:"btn btn-sm",onClick:t[20]||(t[20]=s=>e.query.page=Math.min(e.totalPage,e.query.page+1)),disabled:e.query?.page>=e.totalPage},[...t[76]||(t[76]=[v(" Next ",-1),n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-chevron-right"})],-1)])],8,RN)])):f("v-if",!0),n("span",DN,[t[78]||(t[78]=n("label",null,"Per page",-1)),P((l(),d("select",AN,[...t[77]||(t[77]=[Ee('',5)])])),[[o,{state:e.viewState,set:s=>{e.query.limit=s},value:e.query?.limit,form:null,options:{}}]])])])])}var TN={class:"container paper-page admin-page"},PN={class:"paper-crumbs"},ON={class:"here"},IN={class:"paper-page-title"},MN={key:0,class:"user-detail-card"},_N={class:"user-header"},VN=["src"],qN={class:"user-header-status"},$N={class:"status-dot-wrap"},LN=["textContent"],UN={key:0,class:"type-badge type-repo"},FN={class:"user-actions",style:{"margin-top":"4px"}},BN={class:"user-detail-grid"},zN={class:"detail-value mono-id"},HN={class:"detail-value"},jN=["href"],GN={class:"detail-value"},WN={class:"detail-value"},KN={key:0},YN={key:1,class:"text-muted"},XN={class:"detail-value"},QN={key:0,style:{"margin-top":"20px"}},JN={class:"paper-table w-100",style:{"margin-top":"10px"}},ZN={class:"paper-table-row",style:{"grid-template-columns":"1fr 160px"}},xN={class:"cell-anon",role:"cell"},eR={class:"anon-text"},tR=["textContent"],nR={class:"cell-expires",role:"cell"},oR={key:1,class:"admin-section-header"},sR={class:"section-count"},iR={key:2,class:"user-detail-card"},rR={type:"text",class:"form-control",placeholder:"Token name (e.g. dev-laptop)",required:""},aR={key:0,class:"alert alert-warning",role:"alert"},lR={style:{"white-space":"pre-wrap","word-break":"break-all",margin:"8px 0 0","font-family":"var(--font-mono)","font-size":"0.85rem"}},dR={key:1,class:"paper-table w-100"},uR={class:"paper-table-row",role:"row",style:{"grid-template-columns":"1fr 200px 200px 80px"}},cR=["textContent"],pR=["textContent"],fR={role:"cell"},hR={key:0},mR={key:1,class:"text-muted"},gR={role:"cell"},vR=["onClick"],yR={key:2,class:"paper-table-empty"},bR={class:"admin-section-header"},wR={class:"section-count"},kR={class:"seg-bar"},CR={class:"seg-filter",role:"radiogroup","aria-label":"Filter by status"},ER=["aria-checked"],SR={class:"count"},NR=["aria-checked"],RR={class:"count"},DR=["aria-checked"],AR={class:"count"},TR=["aria-checked"],PR={class:"count"},OR=["aria-checked"],IR={class:"count"},MR=["aria-checked"],_R={class:"count"},VR={class:"seg-countline",role:"status"},qR={class:"w-100 admin-filter-toolbar","aria-label":"Repositories","accept-charset":"UTF-8"},$R={class:"admin-filter-row"},LR={class:"search-wrap"},UR={type:"search",class:"form-control","aria-label":"Search repositories",placeholder:"Search repositories or errors\u2026",autocomplete:"off"},FR={key:3,class:"bulk-bar"},BR={class:"paper-table paper-table-repos has-bulk w-100",role:"table","aria-label":"Repositories"},zR={class:"paper-table-head",role:"row"},HR={role:"columnheader",style:{width:"28px"}},jR=["checked"],GR={role:"columnheader"},WR={role:"columnheader"},KR={role:"columnheader",class:"num"},YR={role:"columnheader"},XR={role:"cell",style:{width:"28px"}},QR={type:"checkbox","aria-label":"Select repository"},JR={class:"cell-anon",role:"cell"},ZR={class:"anon-text"},xR=["textContent","href"],eD=["title"],tD=["href"],nD=["textContent"],oD=["textContent"],sD=["data-meta-label"],iD=["title","textContent","href"],rD=["data-meta-label"],aD=["textContent","href"],lD=["data-meta-label"],dD={key:3,class:"meta-item"},uD={class:"meta-item"},cD={class:"cell-status",role:"cell"},pD={class:"status-line"},fD=["textContent"],hD=["textContent","title"],mD=["data-unit","textContent"],gD=["textContent"],vD={class:"cell-actions",role:"cell"},yD={class:"dropdown"},bD={class:"dropdown-menu dropdown-menu-right"},wD=["href"],kD=["href"],CD=["href"],ED=["onClick"],SD=["onClick"],ND=["onClick"],RD=["onClick"],DD=["onClick"],AD=["onClick"],TD={key:0,class:"paper-table-empty"};function zc(e,t){let o=Te("field"),i=Te("form");return l(),d("div",TN,[n("div",PN,[t[23]||(t[23]=n("a",{href:"/admin/"},"Admin",-1)),t[24]||(t[24]=v(" \xA0/\xA0 ",-1)),t[25]||(t[25]=n("a",{href:"/admin/users"},"Users",-1)),t[26]||(t[26]=v(" \xA0/\xA0 ",-1)),n("span",ON,c(e.userInfo?.username||"Profile"),1)]),n("h1",IN,c(e.userInfo?.username||"User"),1),t[93]||(t[93]=Ee('',1)),e.userInfo?(l(),d("div",MN,[n("div",_N,[e.userInfo?.photo?(l(),d("img",{key:0,width:"56",height:"56",src:e.safeUrl(e.userInfo?.photo)},null,8,VN)):f("v-if",!0),n("div",null,[n("div",qN,[n("span",$N,[n("span",{class:T(["status-dot","st-"+(e.userInfo?.status||"unknown")])},null,2),n("span",{textContent:c(e.fmt?.title(e.userInfo?.status))},null,8,LN)]),e.userInfo?.isAdmin?(l(),d("span",UN,"Admin")):f("v-if",!0)]),n("div",FN,[e.userInfo?.status!=="banned"&&e.userInfo?.username!==e.user?.username?(l(),d("button",{key:0,class:"btn btn-sm btn-outline-danger",onClick:t[0]||(t[0]=s=>e.banUser())},[...t[27]||(t[27]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-ban"})],-1),v(" Ban",-1)])])):f("v-if",!0),e.userInfo?.status==="banned"||e.userInfo?.status==="removed"?(l(),d("button",{key:1,class:"btn btn-sm",onClick:t[1]||(t[1]=s=>e.activateUser())},[...t[28]||(t[28]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-check-circle"})],-1),v(" Activate",-1)])])):f("v-if",!0),e.userInfo?.isAdmin?f("v-if",!0):(l(),d("button",{key:2,class:"btn btn-sm",onClick:t[2]||(t[2]=s=>e.promoteUser())},[...t[29]||(t[29]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-user-shield"})],-1),v(" Promote to admin",-1)])])),e.userInfo?.isAdmin&&e.userInfo?.username!==e.user?.username?(l(),d("button",{key:3,class:"btn btn-sm btn-outline-ink",onClick:t[3]||(t[3]=s=>e.demoteUser())},[...t[30]||(t[30]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-user-minus"})],-1),v(" Remove admin",-1)])])):f("v-if",!0)])])]),n("div",BN,[t[33]||(t[33]=n("div",{class:"detail-label"},"ID",-1)),n("div",zN,c(e.userInfo?._id),1),t[34]||(t[34]=n("div",{class:"detail-label"},"Email",-1)),n("div",{class:T(["detail-value",{"is-empty":!e.userInfo?.emails?.[0]?.email}])},c(e.userInfo?.emails?.[0]?.email||"Not shared"),3),t[35]||(t[35]=n("div",{class:"detail-label"},"Access token",-1)),n("div",{class:T(["detail-value",{"is-empty":!e.userInfo?.accessTokens?.github}]),style:{"font-family":"var(--font-mono)","font-size":"0.85rem"}},c(e.userInfo?.accessTokens?.github||"Not stored"),3),t[36]||(t[36]=n("div",{class:"detail-label"},"GitHub",-1)),n("div",HN,[n("a",{target:"_blank",href:e.safeUrl("https://github.com/"+e.userInfo?.username)},[t[31]||(t[31]=n("i",{class:"fab fa-github"},null,-1)),v(" "+c(e.userInfo?.username),1)],8,jN)]),t[37]||(t[37]=n("div",{class:"detail-label"},"Created",-1)),n("div",GN,c(e.fmt?.humanTime(e.userInfo?.dateOfEntry)),1),t[38]||(t[38]=n("div",{class:"detail-label"},"Last connection",-1)),n("div",WN,[e.userInfo?.accessTokenDates?.github?(l(),d("span",KN,c(e.fmt?.humanTime(e.userInfo?.accessTokenDates?.github)),1)):f("v-if",!0),e.userInfo?.accessTokenDates?.github?f("v-if",!0):(l(),d("span",YN,"Not recorded (GitHub App sign-in)"))]),t[39]||(t[39]=n("div",{class:"detail-label"},"GitHub repos",-1)),n("div",XN,[v(c(e.userInfo?.repositories?.length?e.userInfo.repositories.length+" repositories":"Not synced")+" ",1),e.userInfo?.repositories?.length?(l(),d("button",{key:0,class:"btn btn-sm ml-2",onClick:t[4]||(t[4]=s=>e.showRepos=!e.showRepos)},c(e.showRepos?"Hide repos":"Show repos"),1)):f("v-if",!0),n("button",{class:"btn btn-sm ml-1",onClick:t[5]||(t[5]=s=>e.getGitHubRepositories())},[...t[32]||(t[32]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-refresh"})],-1),v(" Refresh ",-1)])])])]),e.showRepos?(l(),d("div",QN,[t[42]||(t[42]=n("div",{class:"paper-section-eyebrow"},"GitHub repositories",-1)),n("div",JN,[(l(!0),d(L,null,se(e.userInfo?.repositories,(s,r)=>(l(),d("div",ZN,[n("div",xN,[t[40]||(t[40]=n("svg",{class:"ui-icon record-type-icon",role:"img","aria-label":"Repository"},[n("use",{href:"#project-type-repo"})],-1)),n("div",eR,[n("span",{class:"repo-name",textContent:c(s?.name)},null,8,tR)])]),n("div",nR,[t[41]||(t[41]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-database"})],-1)),v(" "+c(e.fmt?.humanFileSize(s?.size)),1)])]))),256))])])):f("v-if",!0)])):f("v-if",!0),e.userInfo&&e.userInfo?.isAdmin&&e.user&&e.user?.username==e.userInfo?.username?(l(),d("div",oR,[t[43]||(t[43]=n("h2",null,[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-key"})]),v(" API tokens")],-1)),n("span",sR,c(e.tokens?.length),1)])):f("v-if",!0),e.userInfo&&e.userInfo?.isAdmin&&e.user&&e.user?.username==e.userInfo?.username?(l(),d("div",iR,[t[49]||(t[49]=n("p",{class:"paper-page-lede"},[v("Personal API tokens for this admin account. Send as "),n("code",null,"Authorization: Bearer "),v(" to authenticate without GitHub OAuth (useful for development).")],-1)),P((l(),d("form",{class:"d-flex",style:{gap:"8px","margin-bottom":"12px"},onSubmit:t[6]||(t[6]=ue(s=>e.submitForm(s,()=>{e.createToken()}),["prevent"]))},[P(n("input",rR,null,512),[[o,{state:e.viewState,set:s=>{e.tokenForm.name=s},value:e.tokenForm?.name,form:null,options:{}}]]),t[44]||(t[44]=n("button",{type:"submit",class:"btn btn-ink"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-plus"})]),v(" Generate")],-1))],32)),[[i,e.viewState]]),e.tokenForm?.plaintext?(l(),d("div",aR,[t[45]||(t[45]=n("strong",null,"Copy this token now \u2014 it will not be shown again:",-1)),n("pre",lR,c(e.tokenForm?.plaintext),1),n("button",{class:"btn btn-sm",onClick:t[7]||(t[7]=s=>e.tokenForm.plaintext=null)},"Dismiss")])):f("v-if",!0),e.tokens?.length?(l(),d("div",dR,[t[47]||(t[47]=n("div",{class:"paper-table-head",role:"row",style:{"grid-template-columns":"1fr 200px 200px 80px"}},[n("div",{role:"columnheader"},"Name"),n("div",{role:"columnheader"},"Created"),n("div",{role:"columnheader"},"Last used"),n("div",{role:"columnheader","aria-label":"Actions"})],-1)),(l(!0),d(L,null,se(e.tokens,(s,r)=>(l(),d("div",uR,[n("div",{role:"cell",textContent:c(s?.name)},null,8,cR),n("div",{role:"cell",textContent:c(e.fmt?.humanTime(s?.createdAt))},null,8,pR),n("div",fR,[s?.lastUsedAt?(l(),d("span",hR,c(e.fmt?.humanTime(s?.lastUsedAt)),1)):f("v-if",!0),s?.lastUsedAt?f("v-if",!0):(l(),d("span",mR,"never"))]),n("div",gR,[n("button",{class:"btn btn-sm text-danger btn-icon",title:"Revoke","aria-label":"Revoke token",onClick:a=>e.revokeToken(s)},[...t[46]||(t[46]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-trash"})],-1)])],8,vR)])]))),256))])):f("v-if",!0),e.tokens?.length?f("v-if",!0):(l(),d("div",yR,[...t[48]||(t[48]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-inbox"})],-1),n("span",null,"No tokens yet.",-1)])]))])):f("v-if",!0),n("div",bR,[t[50]||(t[50]=n("h2",null,[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-type-repo"})]),v(" Anonymized repositories")],-1)),n("span",wR,c(e.repositories?.length),1)]),n("div",kR,[n("div",CR,[n("button",{type:"button",role:"radio",class:T(["seg-chip",{active:e.segView()==="all"}]),"aria-checked":e.segView()==="all",onClick:t[8]||(t[8]=s=>e.setSegView("all"))},[t[51]||(t[51]=v("All ",-1)),n("span",SR,c(e.fmt?.number(e.segCount("all"))),1)],10,ER),n("button",{type:"button",role:"radio",class:T(["seg-chip",{active:e.segView()==="ready","is-empty":!e.segCount("ready")}]),"aria-checked":e.segView()==="ready",onClick:t[9]||(t[9]=s=>e.setSegView("ready"))},[t[52]||(t[52]=n("span",{class:"seg-dot ok","aria-hidden":"true"},null,-1)),t[53]||(t[53]=v("Ready ",-1)),n("span",RR,c(e.fmt?.number(e.segCount("ready"))),1)],10,NR),n("button",{type:"button",role:"radio",class:T(["seg-chip",{active:e.segView()==="preparing","is-empty":!e.segCount("preparing")}]),"aria-checked":e.segView()==="preparing",onClick:t[10]||(t[10]=s=>e.setSegView("preparing"))},[t[54]||(t[54]=n("span",{class:"seg-dot warn","aria-hidden":"true"},null,-1)),t[55]||(t[55]=v("Preparing ",-1)),n("span",AR,c(e.fmt?.number(e.segCount("preparing"))),1)],10,DR),n("button",{type:"button",role:"radio",class:T(["seg-chip",{active:e.segView()==="error","is-empty":!e.segCount("error")}]),"aria-checked":e.segView()==="error",onClick:t[11]||(t[11]=s=>e.setSegView("error"))},[t[56]||(t[56]=n("span",{class:"seg-dot bad","aria-hidden":"true"},null,-1)),t[57]||(t[57]=v("Error ",-1)),n("span",PR,c(e.fmt?.number(e.segCount("error"))),1)],10,TR),n("button",{type:"button",role:"radio",class:T(["seg-chip",{active:e.segView()==="expired","is-empty":!e.segCount("expired")}]),"aria-checked":e.segView()==="expired",onClick:t[12]||(t[12]=s=>e.setSegView("expired"))},[t[58]||(t[58]=n("span",{class:"seg-dot off","aria-hidden":"true"},null,-1)),t[59]||(t[59]=v("Expiring / expired ",-1)),n("span",IR,c(e.fmt?.number(e.segCount("expired"))),1)],10,OR),n("button",{type:"button",role:"radio",class:T(["seg-chip",{active:e.segView()==="removed","is-empty":!e.segCount("removed")}]),"aria-checked":e.segView()==="removed",onClick:t[13]||(t[13]=s=>e.setSegView("removed"))},[t[60]||(t[60]=n("span",{class:"seg-dot off","aria-hidden":"true"},null,-1)),t[61]||(t[61]=v("Removing / removed ",-1)),n("span",_R,c(e.fmt?.number(e.segCount("removed"))),1)],10,MR)]),n("p",VR,[n("strong",null,c(e.fmt.number(e.filteredRepositories?.length||0)),1),t[62]||(t[62]=v(" shown",-1))])]),P((l(),d("form",qR,[n("div",$R,[n("div",LR,[P(n("input",UR,null,512),[[o,{state:e.viewState,set:s=>{e.search=s},value:e.search,form:null,options:{}}]])]),t[64]||(t[64]=n("span",{class:"admin-filter-spacer"},null,-1)),n("button",{class:"btn btn-sm",type:"button",title:"Export current view to CSV",onClick:t[14]||(t[14]=s=>e.exportCsv())},[...t[63]||(t[63]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-export"})],-1),v(" Export",-1)])])])])),[[i,e.viewState]]),e.selectedCount()>0?(l(),d("div",FR,[n("span",null,[n("strong",null,c(e.selectedCount()),1),t[65]||(t[65]=v(" selected",-1))]),n("button",{class:"btn btn-sm",type:"button",onClick:t[15]||(t[15]=s=>e.bulkRefresh())},[...t[66]||(t[66]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-refresh"})],-1),v(" Force refresh",-1)])]),n("button",{class:"btn btn-sm text-danger",type:"button",onClick:t[16]||(t[16]=s=>e.bulkRemoveCache())},[...t[67]||(t[67]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-broom"})],-1),v(" Remove cache",-1)])]),n("button",{class:"btn btn-sm",type:"button",onClick:t[17]||(t[17]=s=>e.clearSelection())},"Clear")])):f("v-if",!0),n("div",BR,[n("div",zR,[n("div",HR,[n("input",{type:"checkbox","aria-label":"Select all on page",onClick:t[18]||(t[18]=s=>e.selectAllOnPage()),checked:e.allSelected},null,8,jR)]),n("div",GR,[n("button",{type:"button",class:T(["sortable",{active:e.query?.sort=="source.repositoryName"}]),onClick:t[19]||(t[19]=s=>e.sortBy("source.repositoryName"))},[t[69]||(t[69]=v("Repository ",-1)),e.sortIcon("source.repositoryName")?(l(),d("svg",{key:0,class:T(["ui-icon sort-direction",{ascending:e.sortIcon("source.repositoryName")==="fa-arrow-up"}]),"aria-hidden":"true"},[...t[68]||(t[68]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)):f("v-if",!0)],2)]),n("div",WR,[n("button",{type:"button",class:T(["sortable",{active:e.query?.sort=="status"}]),onClick:t[20]||(t[20]=s=>e.sortBy("status"))},[t[71]||(t[71]=v("Status ",-1)),e.sortIcon("status")?(l(),d("svg",{key:0,class:T(["ui-icon sort-direction",{ascending:e.sortIcon("status")==="fa-arrow-up"}]),"aria-hidden":"true"},[...t[70]||(t[70]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)):f("v-if",!0)],2)]),n("div",KR,[n("button",{type:"button",class:T(["sortable",{active:e.query?.sort=="pageView"}]),onClick:t[21]||(t[21]=s=>e.sortBy("pageView"))},[t[73]||(t[73]=v("Views ",-1)),e.sortIcon("pageView")?(l(),d("svg",{key:0,class:T(["ui-icon sort-direction",{ascending:e.sortIcon("pageView")==="fa-arrow-up"}]),"aria-hidden":"true"},[...t[72]||(t[72]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)):f("v-if",!0)],2)]),n("div",YR,[n("button",{type:"button",class:T(["sortable",{active:e.query?.sort=="anonymizeDate"}]),onClick:t[22]||(t[22]=s=>e.sortBy("anonymizeDate"))},[t[75]||(t[75]=v("Anonymized ",-1)),e.sortIcon("anonymizeDate")?(l(),d("svg",{key:0,class:T(["ui-icon sort-direction",{ascending:e.sortIcon("anonymizeDate")==="fa-arrow-up"}]),"aria-hidden":"true"},[...t[74]||(t[74]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)):f("v-if",!0)],2)]),t[76]||(t[76]=n("div",{role:"columnheader","aria-label":"Actions"},null,-1))]),(l(!0),d(L,null,se(e.filteredRepositories,(s,r)=>(l(),d("div",{class:T(["paper-table-row",{"repo-inactive":s?.status=="expired"||s?.status=="removed","repo-error":s?.status=="error","row-selected":e.selected[s?.repoId]}]),role:"row"},[n("div",XR,[P(n("input",QR,null,512),[[o,{state:e.viewState,set:a=>{e.selected[s.repoId]=a},value:e.selected[s?.repoId],form:null,options:{}}]])]),n("div",JR,[t[79]||(t[79]=n("svg",{class:"ui-icon record-type-icon",role:"img","aria-label":"Repository"},[n("use",{href:"#project-type-repo"})],-1)),n("div",ZR,[n("a",{class:"repo-name",target:"_blank",textContent:c(s?.repoId),href:e.safeUrl("/r/"+s?.repoId)},null,8,xR),n("div",{class:"anon-sub anon-meta","data-meta-fit":"",title:[s?.source?.fullName||s?.source?.repositoryName,s?.options?.update?"branch "+s?.source?.branch:"commit "+s?.source?.commit?.substring(0,7),s?.conference?"conference "+s?.conference:"",s?.size?.storage>0?e.fmt?.humanFileSize(s?.size?.storage):"",e.fmt?.number(s?.options?.terms?.length)+(s?.options?.terms?.length===1?" term":" terms")].filter(Boolean).join(" \xB7 ")},[n("a",{class:"src-path",href:e.safeUrl("https://github.com/"+s?.source?.fullName+"/")},[(s?.source?.fullName||"").includes("/")?(l(),d("span",{key:0,class:"src-owner",textContent:c((a=>a.length>16?a.slice(0,14)+"\u2026":a)((s?.source?.fullName||"").split("/")[0]))},null,8,nD)):f("v-if",!0),n("span",{class:"src-repo",textContent:c((s?.source?.fullName||"").includes("/")?"/"+(s?.source?.fullName||"").split("/").slice(1).join("/"):s?.source?.fullName)},null,8,oD)],8,tD),s?.options?.update?f("v-if",!0):(l(),d("span",{key:0,class:"meta-item","data-meta-label":"commit "+(s?.source?.commit||"").substring(0,7)},[n("a",{class:"mono-hash",title:s?.source?.commit,textContent:c(s?.source?.commit?.substring(0,7)),href:e.safeUrl("https://github.com/"+s?.source?.fullName+"/tree/"+s?.source?.commit)},null,8,iD)],8,sD)),s?.options?.update?(l(),d("span",{key:1,class:"meta-item","data-meta-label":"branch "+(s?.source?.branch||"")},[n("a",{textContent:c(s?.source?.branch),href:e.safeUrl("https://github.com/"+s?.source?.fullName+"/tree/"+s?.source?.branch)},null,8,aD)],8,rD)):f("v-if",!0),s?.conference?(l(),d("span",{key:2,class:"meta-item meta-conf","data-meta-label":"conference "+s?.conference},[t[77]||(t[77]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-conference"})],-1)),v(" "+c(s?.conference),1)],8,lD)):f("v-if",!0),s?.size?.storage>0?(l(),d("span",dD,c(e.fmt?.humanFileSize(s?.size?.storage)),1)):f("v-if",!0),n("span",uD,c(e.fmt?.number(s?.options?.terms?.length))+" "+c(s?.options?.terms?.length===1?"term":"terms"),1),t[78]||(t[78]=n("span",{class:"meta-more",hidden:""},null,-1))],8,eD)])]),n("div",cD,[n("span",pD,[n("span",{class:T(["status-dot","st-"+(s?.status||"unknown")])},null,2),n("span",{textContent:c(e.fmt?.statusLabel(s?.status))},null,8,fD)]),s?.statusMessage?(l(),d("span",{key:0,class:"status-sub",textContent:c(e.fmt?.statusMsg(s?.statusMessage)),title:s?.statusMessage},null,8,hD)):f("v-if",!0)]),n("div",{class:"cell-views num",role:"cell","data-unit":(s?.pageView||0)===1?"view":"views",textContent:c(e.fmt?.number(s?.pageView||0))},null,8,mD),n("div",{class:"cell-expires",role:"cell",textContent:c(e.fmt?.humanTime(s?.anonymizeDate))},null,8,gD),n("div",vD,[n("div",yD,[t[91]||(t[91]=n("button",{class:"btn btn-icon-dots",type:"button","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false","aria-label":"Actions"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-more"})])],-1)),n("div",bD,[n("a",{class:"dropdown-item",href:e.safeUrl("/anonymize/"+s?.repoId)},[...t[80]||(t[80]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-edit"})],-1),v(" Edit",-1)])],8,wD),n("a",{class:"dropdown-item",href:e.safeUrl("/r/"+s?.repoId+"/")},[...t[81]||(t[81]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-eye"})],-1),v(" View repo",-1)])],8,kD),s?.options?.page&&s?.status=="ready"?(l(),d("a",{key:0,class:"dropdown-item",target:"_self",href:e.safeUrl("/w/"+s?.repoId+"/")},[...t[82]||(t[82]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-globe"})],-1),v(" View page",-1)])],8,CD)):f("v-if",!0),n("a",{class:"dropdown-item",href:"#",onClick:ue(a=>e.fetchGithubInfo(s),["prevent"])},[...t[83]||(t[83]=[n("i",{class:"fab fa-github"},null,-1),v(" Live GitHub info",-1)])],8,ED),t[89]||(t[89]=n("div",{class:"dropdown-divider"},null,-1)),P(n("a",{class:"dropdown-item",href:"#",onClick:ue(a=>e.updateRepository(s),["prevent"])},[...t[84]||(t[84]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-refresh"})],-1),v(" Force update",-1)])],8,SD),[[x,s?.status=="ready"||s?.status=="error"]]),P(n("a",{class:"dropdown-item",href:"#",onClick:ue(a=>e.updateRepository(s),["prevent"])},[...t[85]||(t[85]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-check-circle"})],-1),v(" Enable",-1)])],8,ND),[[x,s?.status=="removed"]]),P(n("a",{class:"dropdown-item",href:"#",onClick:ue(a=>e.showStatusMessage(s),["prevent"])},[...t[86]||(t[86]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-warning"})],-1),v(" View status message",-1)])],8,RD),[[x,s?.statusMessage]]),t[90]||(t[90]=n("div",{class:"dropdown-divider"},null,-1)),n("a",{class:"dropdown-item",href:"#",onClick:ue(a=>e.removeCache(s),["prevent"])},[...t[87]||(t[87]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-broom"})],-1),v(" Remove cache",-1)])],8,DD),P(n("a",{class:"dropdown-item text-danger",href:"#",onClick:ue(a=>e.removeRepository(s),["prevent"])},[...t[88]||(t[88]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-trash"})],-1),v(" Remove",-1)])],8,AD),[[x,s?.status=="ready"]])])])])],2))),256)),e.filteredRepositories?.length==0?(l(),d("div",TD,[...t[92]||(t[92]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-inbox"})],-1),n("span",null,"No repositories match the current filters.",-1)])])):f("v-if",!0)])])}var PD={class:"container paper-page admin-page"},OD={class:"seg-bar"},ID={class:"seg-filter",role:"radiogroup","aria-label":"Filter by status"},MD=["aria-checked"],_D={class:"count"},VD=["aria-checked"],qD={class:"count"},$D=["aria-checked"],LD={class:"count"},UD=["aria-checked"],FD={class:"count"},BD={class:"seg-countline",role:"status"},zD={key:0,class:"alert alert-danger",style:{margin:"8px 0"}},HD={class:"w-100 admin-filter-toolbar","aria-label":"Users","accept-charset":"UTF-8"},jD={class:"admin-filter-row"},GD={class:"search-wrap"},WD={type:"search",class:"form-control","aria-label":"Search users",placeholder:"Search username or email\u2026",autocomplete:"off"},KD={key:0,class:"admin-search-hint"},YD={class:"admin-filter-inline"},XD={class:"form-control form-control-sm"},QD={key:0,class:"admin-filter-inline","aria-label":"Pagination"},JD=["disabled"],ZD={style:{"font-family":"var(--font-mono)","font-size":"12px",color:"var(--ink-muted)"}},xD=["disabled"],e4={key:0,class:"admin-filter-row"},t4={class:"admin-active-chips"},n4={class:"key"},o4=["onClick"],s4={key:1,class:"bulk-bar"},i4={class:"paper-table w-100",role:"table","aria-label":"Users",style:{"--cols":"28px minmax(280px, 2.4fr) 100px 140px 140px 52px"}},r4={class:"paper-table-head admin-users-row",role:"row"},a4={role:"columnheader",style:{width:"28px"}},l4=["checked"],d4={role:"columnheader"},u4={role:"columnheader"},c4={role:"cell",style:{width:"28px"}},p4={type:"checkbox","aria-label":"Select user"},f4={class:"cell-anon",role:"cell"},h4=["src"],m4={key:1,class:"avatar-fallback","aria-hidden":"true"},g4={class:"anon-text"},v4={class:"user-name-line"},y4=["textContent","href"],b4=["href","title","aria-label"],w4={class:"anon-sub meta-dots"},k4=["title"],C4={key:1},E4={class:"cell-views num",role:"cell"},S4=["title","textContent","href"],N4={class:"cell-status",role:"cell"},R4=["textContent"],D4={class:"cell-status",role:"cell"},A4={key:0,class:"role-pill"},T4={key:1,class:"empty-dash"},P4={class:"cell-actions",role:"cell"},O4={class:"dropdown"},I4={class:"dropdown-menu dropdown-menu-right"},M4=["href"],_4=["href"],V4=["onClick"],q4=["onClick"],$4={key:0,class:"paper-table-empty"},L4={class:"admin-toolbar",style:{"justify-content":"space-between","border-bottom":"none"}},U4={key:0,class:"pagination-compact"},F4=["disabled"],B4=["max"],z4=["disabled"],H4={class:"admin-filter-inline"},j4={class:"form-control form-control-sm"};function Hc(e,t){let o=Te("field"),i=Te("form");return l(),d("div",PD,[t[53]||(t[53]=Ee('
Admin \xA0/\xA0 Users

Users

',3)),n("div",OD,[n("div",ID,[n("button",{type:"button",role:"radio",class:T(["seg-chip",{active:!e.query?.status}]),"aria-checked":!e.query?.status,onClick:t[0]||(t[0]=s=>{e.query.status="",e.query.page=1})},[t[14]||(t[14]=v("All ",-1)),n("span",_D,c(e.fmt?.number(e.statusCountFor("active")+e.statusCountFor("banned")+e.statusCountFor("removed"))),1)],10,MD),n("button",{type:"button",role:"radio",class:T(["seg-chip",{active:e.query?.status==="active","is-empty":!e.statusCountFor("active")}]),"aria-checked":e.query?.status==="active",onClick:t[1]||(t[1]=s=>{e.query.status="active",e.query.page=1})},[t[15]||(t[15]=n("span",{class:"seg-dot ok","aria-hidden":"true"},null,-1)),t[16]||(t[16]=v("Active ",-1)),n("span",qD,c(e.fmt?.number(e.statusCountFor("active"))),1)],10,VD),n("button",{type:"button",role:"radio",class:T(["seg-chip",{active:e.query?.status==="banned","is-empty":!e.statusCountFor("banned")}]),"aria-checked":e.query?.status==="banned",onClick:t[2]||(t[2]=s=>{e.query.status="banned",e.query.page=1})},[t[17]||(t[17]=n("span",{class:"seg-dot bad","aria-hidden":"true"},null,-1)),t[18]||(t[18]=v("Banned ",-1)),n("span",LD,c(e.fmt?.number(e.statusCountFor("banned"))),1)],10,$D),n("button",{type:"button",role:"radio",class:T(["seg-chip",{active:e.query?.status==="removed","is-empty":!e.statusCountFor("removed")}]),"aria-checked":e.query?.status==="removed",onClick:t[3]||(t[3]=s=>{e.query.status="removed",e.query.page=1})},[t[19]||(t[19]=n("span",{class:"seg-dot off","aria-hidden":"true"},null,-1)),t[20]||(t[20]=v("Removed ",-1)),n("span",FD,c(e.fmt?.number(e.statusCountFor("removed"))),1)],10,UD)]),n("p",BD,[n("strong",null,c(e.total>=0?e.fmt.number(e.total):"\u2026"),1),t[21]||(t[21]=v(" shown",-1))])]),e.fetchError?(l(),d("div",zD,[t[22]||(t[22]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-warning"})],-1)),v(" "+c(e.fetchError),1)])):f("v-if",!0),P((l(),d("form",HD,[n("div",jD,[n("div",GD,[P(n("input",WD,null,512),[[o,{state:e.viewState,set:s=>{e.query.search=s},value:e.query?.search,form:null,options:{}}]]),e.query?.search?f("v-if",!0):(l(),d("span",KD,"/"))]),n("span",YD,[t[24]||(t[24]=n("label",null,"Role",-1)),P((l(),d("select",XD,[...t[23]||(t[23]=[n("option",{value:""},"Any",-1),n("option",{value:"admin"},"Admin",-1)])])),[[o,{state:e.viewState,set:s=>{e.query.role=s},value:e.query?.role,form:null,options:{}}]])]),t[28]||(t[28]=n("span",{class:"admin-filter-spacer"},null,-1)),n("button",{class:"btn btn-sm",type:"button",onClick:t[4]||(t[4]=s=>e.exportCsv())},[...t[25]||(t[25]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-export"})],-1),v(" Export",-1)])]),e.totalPage>1?(l(),d("span",QD,[n("button",{class:"btn btn-sm btn-icon",type:"button",onClick:t[5]||(t[5]=s=>e.query.page=Math.max(1,e.query.page-1)),disabled:e.query?.page<=1,"aria-label":"Previous page"},[...t[26]||(t[26]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-chevron-left"})],-1)])],8,JD),n("span",ZD,c(e.query?.page)+"/"+c(e.totalPage||1),1),n("button",{class:"btn btn-sm btn-icon",type:"button",onClick:t[6]||(t[6]=s=>e.query.page=Math.min(e.totalPage,e.query.page+1)),disabled:e.query?.page>=e.totalPage,"aria-label":"Next page"},[...t[27]||(t[27]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-chevron-right"})],-1)])],8,xD)])):f("v-if",!0)]),e.chips?.length?(l(),d("div",e4,[n("div",t4,[(l(!0),d(L,null,se(e.chips,(s,r)=>(l(),d("span",{class:"admin-active-chip",key:s?.key},[n("span",n4,c(s?.label),1),n("span",null,c(s?.value),1),n("button",{type:"button",onClick:a=>e.clearFilter(s.key),"aria-label":"Clear filter"},[...t[29]||(t[29]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-close"})],-1)])],8,o4)]))),128))])])):f("v-if",!0)])),[[i,e.viewState]]),e.selectedCount()>0?(l(),d("div",s4,[n("span",null,[n("strong",null,c(e.selectedCount()),1),t[30]||(t[30]=v(" selected",-1))]),n("button",{class:"btn btn-sm text-danger",type:"button",onClick:t[7]||(t[7]=s=>e.bulkBan())},[...t[31]||(t[31]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-ban"})],-1),v(" Ban",-1)])]),n("button",{class:"btn btn-sm",type:"button",onClick:t[8]||(t[8]=s=>{e.selected={},e.allSelected=!1})},"Clear")])):f("v-if",!0),n("div",i4,[n("div",r4,[n("div",a4,[n("input",{type:"checkbox","aria-label":"Select all on page",onClick:t[9]||(t[9]=s=>e.selectAllOnPage()),checked:e.allSelected},null,8,l4)]),n("div",d4,[n("button",{type:"button",class:T(["sortable",{active:e.query?.sort=="username"}]),onClick:t[10]||(t[10]=s=>e.sortBy("username"))},[t[33]||(t[33]=v("User ",-1)),e.sortIcon("username")?(l(),d("svg",{key:0,class:T(["ui-icon sort-direction",{ascending:e.sortIcon("username")==="fa-arrow-up"}]),"aria-hidden":"true"},[...t[32]||(t[32]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)):f("v-if",!0)],2)]),t[36]||(t[36]=n("div",{role:"columnheader",class:"num",title:"Repositories discovered on the user's GitHub account"},"GitHub repos",-1)),n("div",u4,[n("button",{type:"button",class:T(["sortable",{active:e.query?.sort=="status"}]),onClick:t[11]||(t[11]=s=>e.sortBy("status"))},[t[35]||(t[35]=v("Status ",-1)),e.sortIcon("status")?(l(),d("svg",{key:0,class:T(["ui-icon sort-direction",{ascending:e.sortIcon("status")==="fa-arrow-up"}]),"aria-hidden":"true"},[...t[34]||(t[34]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)):f("v-if",!0)],2)]),t[37]||(t[37]=n("div",{role:"columnheader"},"Role",-1)),t[38]||(t[38]=n("div",{role:"columnheader","aria-label":"Actions"},null,-1))]),(l(!0),d(L,null,se(e.filteredUsers,(s,r)=>(l(),d("div",{class:T(["paper-table-row admin-users-row",{"row-selected":e.selected[s?.username]}]),role:"row"},[n("div",c4,[P(n("input",p4,null,512),[[o,{state:e.viewState,set:a=>{e.selected[s.username]=a},value:e.selected[s?.username],form:null,options:{}}]])]),n("div",f4,[s?.photo?(l(),d("img",{key:0,width:"28",height:"28",class:"rounded-circle",style:{"flex-shrink":"0"},src:e.safeUrl(s?.photo)},null,8,h4)):(l(),d("span",m4,c((s?.username||"?").charAt(0).toUpperCase()),1)),n("div",g4,[n("span",v4,[n("a",{class:"repo-name",textContent:c(s?.username),href:e.safeUrl("/admin/users/"+s?.username)},null,8,y4),n("a",{class:"user-gh-link",target:"_blank",rel:"noopener",href:e.safeUrl("https://github.com/"+s?.username),title:s?.username+" on GitHub","aria-label":s?.username+" on GitHub"},[...t[39]||(t[39]=[n("i",{class:"fab fa-github","aria-hidden":"true"},null,-1)])],8,b4)]),n("div",w4,[s?.emails?.[0]?.email?(l(),d("span",{key:0,class:"meta-email meta-tail",title:s?.emails?.[0]?.email},c(s?.emails?.[0]?.email),9,k4)):f("v-if",!0),s?.dateOfEntry?(l(),d("span",C4,"Joined "+c(e.fmt?.humanTime(s?.dateOfEntry)),1)):f("v-if",!0)])])]),n("div",E4,[t[40]||(t[40]=n("svg",{class:"ui-icon mobile-meta-icon","aria-hidden":"true"},[n("use",{href:"#project-type-repo"})],-1)),n("a",{title:s?.repoCount?"Show this user\u2019s repositories":"Repositories not synced yet",textContent:c(s?.repoCount?e.fmt?.number(s.repoCount):"Not synced"),class:T({"is-unsynced":!s?.repoCount}),href:e.safeUrl("/admin/repositories?owner="+s?.username)},null,10,S4)]),n("div",N4,[n("span",{class:T(["status-dot","st-"+(s?.status||"unknown")])},null,2),n("span",{textContent:c(e.fmt?.title(s?.status))},null,8,R4)]),n("div",D4,[s?.isAdmin?(l(),d("span",A4,"Admin")):f("v-if",!0),s?.isAdmin?f("v-if",!0):(l(),d("span",T4,"\u2014"))]),n("div",P4,[n("div",O4,[t[46]||(t[46]=n("button",{class:"btn btn-icon-dots",type:"button","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false","aria-label":"Actions"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-more"})])],-1)),n("div",I4,[n("a",{class:"dropdown-item",href:e.safeUrl("/admin/users/"+s?.username)},[...t[41]||(t[41]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-eye"})],-1),v(" View details",-1)])],8,M4),n("a",{class:"dropdown-item",href:e.safeUrl("/admin/repositories?owner="+s?.username)},[...t[42]||(t[42]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-type-repo"})],-1),v(" View repositories",-1)])],8,_4),t[45]||(t[45]=n("div",{class:"dropdown-divider"},null,-1)),P(n("a",{class:"dropdown-item text-danger",href:"#",onClick:ue(a=>e.banUser(s),["prevent"])},[...t[43]||(t[43]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-ban"})],-1),v(" Ban",-1)])],8,V4),[[x,s?.status=="active"]]),P(n("a",{class:"dropdown-item",href:"#",onClick:ue(a=>e.activateUser(s),["prevent"])},[...t[44]||(t[44]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-check-circle"})],-1),v(" Activate",-1)])],8,q4),[[x,s?.status=="removed"||s?.status=="banned"]])])])])],2))),256)),e.filteredUsers?.length==0?(l(),d("div",$4,[...t[47]||(t[47]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-inbox"})],-1),n("span",null,"No users match the current filters.",-1)])])):f("v-if",!0)]),n("div",L4,[t[52]||(t[52]=n("span",{"aria-hidden":"true"},null,-1)),e.totalPage>1?(l(),d("div",U4,[n("button",{class:"btn btn-sm",onClick:t[12]||(t[12]=s=>e.query.page=Math.max(1,e.query.page-1)),disabled:e.query?.page<=1},[...t[48]||(t[48]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-chevron-left"})],-1),v(" Previous",-1)])],8,F4),P(n("input",{type:"number",class:"form-control form-control-sm",min:"1",style:{width:"56px"},max:e.totalPage},null,8,B4),[[o,{state:e.viewState,set:s=>{e.query.page=s},value:e.query?.page,form:null,options:{}}]]),n("span",null,"of "+c(e.totalPage),1),n("button",{class:"btn btn-sm",onClick:t[13]||(t[13]=s=>e.query.page=Math.min(e.totalPage,e.query.page+1)),disabled:e.query?.page>=e.totalPage},[...t[49]||(t[49]=[v("Next ",-1),n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-chevron-right"})],-1)])],8,z4)])):f("v-if",!0),n("span",H4,[t[51]||(t[51]=n("label",null,"Per page",-1)),P((l(),d("select",j4,[...t[50]||(t[50]=[n("option",{value:"10"},"10",-1),n("option",{value:"25"},"25",-1),n("option",{value:"50"},"50",-1),n("option",{value:"100"},"100",-1)])])),[[o,{state:e.viewState,set:s=>{e.query.limit=s},value:e.query?.limit,form:null,options:{}}]])])])])}var G4={class:"anonymize-landing"},W4={class:"anonymize-landing-inner"},K4={class:"form-group mt-4 mb-2"},Y4={class:"source-url-label-row"},X4={key:0,class:"repo-access","aria-label":"GitHub access"},Q4={key:0,class:"repo-access-switch",role:"group","aria-label":"Repository connection"},J4=["aria-pressed","disabled"],Z4=["aria-pressed","disabled"],x4={key:1,class:"connection-badge"},eA={class:"landing-url-row"},tA={id:"sourceUrl-landing",onblur:"this.scrollLeft=0",type:"text",class:"form-control form-control-lg",placeholder:"https://github.com/owner/repository"},nA=["aria-disabled"],oA={key:0,class:"text-danger",role:"alert"},sA={class:"repo-picker","aria-labelledby":"repo-picker-title"},iA={class:"repo-picker-head"},rA={class:"repo-picker-title"},aA={key:0,class:"repo-picker-count","aria-live":"polite"},lA={key:0,class:"repo-picker-list","aria-busy":"true","aria-label":"Loading your repositories"},dA={class:"repo-picker-row is-skeleton","aria-hidden":"true"},uA={key:1,class:"repo-picker-list"},cA=["title"],pA={class:"repo-picker-owner"},fA={class:"repo-picker-repo"},hA=["onClick","aria-label"],mA={key:2,class:"repo-picker-state"},gA={key:3,class:"repo-picker-state"},vA={key:4,class:"repo-picker-state",role:"alert"},yA={key:5,class:"repo-access-details","aria-label":"GitHub access"},bA={class:"repo-access-main"},wA={class:"repo-access-controls"},kA={key:0,class:"access-q"},CA={key:2,class:"connection-link",href:"/connections"},EA={class:"repo-access-note"},SA={key:0},NA={class:"anonymize-workspace"},RA={class:"anonymize-topbar"},DA={class:"anonymize-topbar-inner"},AA={class:"paper-crumbs"},TA={class:"here"},PA={class:"anonymize-topbar-head"},OA={class:"paper-page-title anonymize-topbar-title"},IA={key:0},MA={key:1},_A={class:"paper-page-lede anonymize-topbar-lede"},VA={key:0,class:"task-trail flow-trail","aria-label":"Anonymization steps"},qA={key:0,class:"alert alert-info",role:"status"},$A={key:1,class:"alert alert-info",role:"status"},LA={key:1},UA={class:"anonymize-mobile-tabs",role:"tablist","aria-label":"Anonymization workspace"},FA=["aria-selected","tabindex"],BA=["aria-selected","tabindex"],zA={class:"anonymize-split"},HA=["role","aria-labelledby"],jA={class:"form needs-validation paper-settings-main",name:"anonymize",novalidate:""},GA={class:"anonymize-fields"},WA={class:"paper-settings-section"},KA={class:"form-group"},YA={class:"source-url-label-row"},XA={key:0,class:"repo-access","aria-label":"GitHub access"},QA={key:0,class:"repo-access-switch",role:"group","aria-label":"Repository connection"},JA=["aria-pressed","disabled"],ZA=["aria-pressed","disabled"],xA={key:1,class:"connection-badge"},eT=["disabled"],tT={key:0,class:"source-summary"},nT={class:"invalid-feedback"},oT={class:"invalid-feedback"},sT={class:"invalid-feedback"},iT={class:"invalid-feedback"},rT={key:0,class:"repo-access-details","aria-label":"Previous repository configuration"},aT={key:0,class:"form-group"},lT=["value"],dT={key:1},uT={class:"repo-access-controls"},cT=["href"],pT={key:1,class:"repo-access-details","aria-label":"GitHub access"},fT={class:"repo-access-main"},hT={class:"repo-access-controls"},mT={key:0,class:"access-q"},gT={key:2,class:"connection-link",href:"/connections"},vT={class:"repo-access-note"},yT={key:0},bT={key:1},wT=["open"],kT={key:0,class:"repair-step"},CT=["disabled"],ET={key:0,role:"status"},ST={class:"repair-step"},NT={key:0,role:"status"},RT={key:3,class:"form-grid-2"},DT={class:"form-group"},AT={class:"input-group"},TT={class:"form-control",id:"branch",name:"branch"},PT=["textContent","value"],OT={class:"input-group-append"},IT={class:"form-group"},MT=["disabled"],_T={class:"invalid-feedback"},VT={class:"invalid-feedback"},qT={class:"form-check-input",type:"checkbox",id:"update",name:"update","aria-describedby":"update-help"},$T={class:"form-check-label",for:"update"},LT={key:0,class:"paid-tag"},UT={key:0,class:"form-text text-muted",id:"update-help"},FT={key:1,class:"form-text text-muted auto-update-paid",id:"update-help"},BT={class:"paper-settings-section"},zT={class:"form-group"},HT=["disabled"],jT={class:"form-text text-muted anon-url-echo"},GT={class:"anon-url-id"},WT={class:"invalid-feedback"},KT={class:"form-group"},YT=["disabled"],XT={class:"form-text text-muted anon-url-echo"},QT={class:"anon-url-id"},JT={class:"invalid-feedback"},ZT={class:"form-group"},xT=["disabled"],eP={class:"form-text text-muted anon-url-echo"},tP={class:"anon-url-id"},nP={class:"invalid-feedback"},oP={class:"form-group"},sP=["rows"],iP={class:"redaction-syntax"},rP={class:"form-text text-muted"},aP=["onClick"],lP={key:0,class:"term-hint-more"},dP={class:"invalid-feedback"},uP={class:"preserve-row"},cP={class:"preserve-row-text"},pP={class:"preserve-row-value"},fP=["disabled"],hP={class:"preserve-tree"},mP={key:0,class:"preserve-status"},gP={key:1,class:"paper-inline-alert paper-inline-alert-error",role:"alert"},vP=["aria-expanded","aria-label","onClick"],yP={key:1,class:"preserve-caret-space"},bP=["id","aria-label","checked",".indeterminate","disabled","onChange"],wP=["for","onClick"],kP={key:2,class:"preserve-note"},CP={key:0,class:"preserve-status"},EP={key:0,class:"preserve-status"},SP=["open"],NP={class:"preserve-foot"},RP={class:"preserve-count","aria-live":"polite"},DP={class:"preserve-actions"},AP={class:"paper-settings-section"},TP={class:"form-check"},PP={class:"form-check-input",type:"checkbox",id:"link",name:"link"},OP={class:"form-check"},IP={class:"form-check-input",type:"checkbox",id:"image",name:"image"},MP={class:"form-check"},_P={class:"form-check-input",type:"checkbox",id:"pdf",name:"pdf"},VP={class:"form-check"},qP={class:"form-check-input",type:"checkbox",id:"notebook",name:"notebook"},$P={class:"form-check"},LP=["disabled"],UP={key:0,class:"form-text text-muted"},FP={key:1,class:"form-text text-muted"},BP={key:0,class:"form-text text-muted"},zP={class:"form-check"},HP={class:"form-check-input",type:"checkbox",id:"title-gist",name:"title-gist"},jP={class:"form-check"},GP={class:"form-check-input",type:"checkbox",id:"content-gist",name:"content-gist"},WP={class:"form-check"},KP={class:"form-check-input",type:"checkbox",id:"comments-gist",name:"comments-gist"},YP={class:"form-check"},XP={class:"form-check-input",type:"checkbox",id:"username-gist",name:"username-gist"},QP={class:"form-check"},JP={class:"form-check-input",type:"checkbox",id:"date-gist",name:"date-gist"},ZP={class:"form-check"},xP={class:"form-check-input",type:"checkbox",id:"origin-gist",name:"origin-gist"},e3={class:"form-check"},t3={class:"form-check-input",type:"checkbox",id:"title",name:"title"},n3={class:"form-check"},o3={class:"form-check-input",type:"checkbox",id:"body",name:"body"},s3={class:"form-check"},i3={class:"form-check-input",type:"checkbox",id:"diff",name:"diff"},r3={class:"form-check"},a3={class:"form-check-input",type:"checkbox",id:"comments",name:"comments"},l3={class:"form-check"},d3={class:"form-check-input",type:"checkbox",id:"username",name:"username"},u3={class:"form-check"},c3={class:"form-check-input",type:"checkbox",id:"date",name:"date"},p3={class:"form-check"},f3={class:"form-check-input",type:"checkbox",id:"origin",name:"origin"},h3={class:"paper-settings-section hosting-settings",id:"repository-hosting","aria-labelledby":"hosting-heading"},m3={class:"form-group conference-field"},g3=["href"],v3={class:"invalid-feedback"},y3={class:"form-text text-muted"},b3={key:0,class:"hosting-usage"},w3={key:0},k3={key:1},C3={key:2},E3={key:1,class:"hosting-limit auto-update-note",role:"status"},S3={key:2,class:"hosting-payment"},N3={key:0,class:"hosting-limit",role:"status"},R3={key:1,class:"hosting-options"},D3={class:"hosting-options-title"},A3=["value","checked","onChange"],T3={class:"hosting-option-body"},P3={key:0,class:"hosting-cycle billing-toggle",role:"radiogroup","aria-label":"Billing frequency"},O3=["aria-checked","onClick"],I3={key:0,class:"billing-toggle-save"},M3={class:"hosting-option-price"},_3={key:2,role:"status"},V3={key:3,class:"hosting-terms"},q3={key:4,class:"hosting-terms"},$3={key:5,class:"capacity-options"},L3=["disabled"],U3={key:3,class:"hosting-subhead"},F3={class:"expiration-choices"},B3={class:"expiration-choice"},z3=["checked","disabled"],H3={key:0,class:"dated-options"},j3={key:0,class:"hosting-date"},G3=["min","max"],W3={key:0,class:"date-echo","aria-live":"polite"},K3={class:"invalid-feedback"},Y3={class:"invalid-feedback"},X3={class:"hosting-property"},Q3={key:1,class:"expiration-choice"},J3=["checked","disabled"],Z3={key:0},x3={key:4,class:"form-text text-muted"},eO={key:5,class:"inline-hosting"},tO={key:0,role:"alert",class:"text-danger"},nO={key:1,role:"alert",class:"text-danger"},oO=["disabled"],sO={key:2,role:"status"},iO={key:3,role:"status",class:"form-text text-muted"},rO={key:4,class:"hosting-terms"},aO={key:5,class:"hosting-terms"},lO={key:6,class:"repository-pass"},dO=["disabled","onClick"],uO={class:"paper-settings-section"},cO={class:"form-group"},pO={style:{position:"relative"}},fO={type:"text",id:"coauthorSearch",class:"form-control",placeholder:"Search GitHub username\u2026",autocomplete:"off"},hO={class:"dropdown-menu show",style:{display:"block","max-height":"220px","overflow-y":"auto",width:"100%"}},mO=["onClick"],gO=["src"],vO=["textContent"],yO=["textContent"],bO={class:"coauthor-list"},wO={class:"coauthor-row d-flex align-items-center",style:{padding:"6px 0",gap:"8px"}},kO=["src"],CO=["textContent","href"],EO=["onClick"],SO={class:"form-text text-muted"},NO=["textContent"],RO={class:"anonymize-submit-bar"},DO=["disabled"],AO=["disabled"],TO=["disabled"],PO=["disabled"],OO=["disabled"],IO=["disabled"],MO={key:5,class:"submit-reason",role:"status"},_O={key:6,class:"submit-reason",role:"status"},VO={key:7,class:"checkout-return-note"},qO={key:8,class:"draft-status",role:"status"},$O={key:9,class:"draft-status"},LO=["role","aria-labelledby"],UO={class:"rp-caption"},FO=["title"],BO={class:"redact-slot","aria-hidden":"true"},zO={key:1,class:"rp-count rp-count-none"},HO={key:2,class:"rp-count rp-count-none"},jO=["href"],GO=["aria-pressed"],WO={class:"rp-open-icon",viewBox:"0 0 16 16","aria-hidden":"true"},KO={key:0,d:"M9.5 2.5h4v4M13.5 2.5 9 7M6.5 13.5h-4v-4M2.5 13.5 7 9"},YO={key:1,d:"M13.5 6.5h-4v-4M9.5 6.5 14 2M2.5 9.5h4v4M6.5 9.5 2 14"},XO={class:"rp-window"},QO={class:"rp-chrome","aria-hidden":"true"},JO={class:"rp-url"},ZO={class:"rp-bar","aria-hidden":"true"},xO={key:0,class:"rp-bar-id"},eI={key:1,class:"rp-bar-kind"},tI={key:0,class:"rp-side","aria-label":"Files reviewers will see"},nI={key:0,class:"files rp-files"},oI=["aria-expanded","title","onClick","onKeydown"],sI={class:"tree-name"},iI=["title","aria-current"],rI={class:"tree-name"},aI={key:1,class:"rp-files-skel","aria-label":"Loading the file list"},lI={key:0,class:"files rp-files"},dI={class:"rp-doc"},uI={key:0,class:"rp-file-head"},cI={class:"rp-files-btn","aria-hidden":"true"},pI={key:0,class:"rp-files-count"},fI={key:1,class:"rp-state rp-loading",role:"status"},hI={class:"rp-state-text"},mI={class:"rp-state rp-error",role:"alert"},gI={class:"rp-state-actions"},vI={key:1,class:"btn btn-outline-ink btn-sm",href:"/connections"},yI={key:3,class:"rp-state rp-error",role:"alert"},bI={class:"rp-state-actions"},wI={class:"rp-state rp-error",role:"alert"},kI={class:"rp-state-actions"},CI={key:5,class:"rp-state rp-empty"},EI=["innerHTML"],SI={key:7,class:"anonymize-preview-body"},NI={class:"d-flex w-100 justify-content-between align-items-center flex-wrap"},RI={class:"pr-title mb-1"},DI={key:0},AI=["textContent"],TI={key:0},PI={key:1},OI={key:2},II={class:"pr-comments mt-3"},MI={class:"pr-comment"},_I={class:"pr-comment-head"},VI=["textContent"],qI={key:0,class:"pr-comment-date"},$I={key:3},LI={class:"pr-comments"},UI={class:"pr-comment"},FI={class:"pr-comment-head"},BI={key:0,class:"pr-comment-author"},zI=["textContent"],HI=["textContent"],jI={key:0,class:"pr-comment-body"},GI={key:8,class:"anonymize-preview-body"},WI={class:"d-flex w-100 justify-content-between align-items-center flex-wrap"},KI={class:"pr-title mb-1"},YI={key:0},XI=["textContent"],QI={key:0},JI={key:1,class:"pr-body"},ZI={key:2,class:"paper-tabs",role:"tablist"},xI=["aria-selected","tabindex"],e5=["aria-selected","tabindex"],t5=["textContent"],n5={key:3,class:"anonymize-preview-status"},o5={class:"paper-tab-content"},s5={key:0,role:"tabpanel",id:"preview-pr-diff-panel","aria-labelledby":"preview-pr-diff-tab"},i5=["innerHTML"],r5={key:1,role:"tabpanel",id:"preview-pr-comments-panel","aria-labelledby":"preview-pr-comments-tab"},a5={class:"pr-comments"},l5={class:"pr-comment"},d5={class:"pr-comment-head"},u5={key:0,class:"pr-comment-author"},c5=["textContent"],p5=["textContent"],f5={key:0,class:"pr-comment-body"},h5={key:9,class:"rp-more"},m5=["href"],g5={key:2,class:"rp-more-btn is-hint","aria-hidden":"true"};function jc(e,t){let o=Xe("gist-file"),i=Xe("markdown"),s=Te("field"),r=Te("form");return l(),d("div",{class:T(["anonymize-page h-100",{"mobile-preview-active":e.mobilePane==="preview","preview-expanded":e.previewExpanded}])},[f(" ===== STATE 1: No URL \u2014 centered input ===== "),P(n("div",G4,[n("div",W4,[t[63]||(t[63]=Ee('
My work \xA0/\xA0 New anonymization

New anonymization

Paste a repository, pull request, or gist URL, or pick one of your repositories. You\u2019ll choose the terms to redact next.

  1. 1. Repository
  2. 2. Review and hosting
  3. 3. Review link
',2)),n("div",K4,[n("div",Y4,[t[54]||(t[54]=n("label",{class:"paper-field-label",for:"sourceUrl-landing"},"Source URL",-1)),!e.sourceUrl&&e.githubConnections?.appEnabled&&e.githubConnections.appConnected&&e.githubConnections.oauthConnected?(l(),d("aside",X4,[!e.isUpdate&&e.detectedType!=="gist"?(l(),d("div",Q4,[n("button",{type:"button","aria-pressed":e.githubConnection==="github-app",disabled:e.githubConnection==="github-app",onClick:t[0]||(t[0]=a=>e.chooseGitHubConnection("github-app"))},[...t[53]||(t[53]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-shield"})],-1),v(),n("span",{class:"sr-only"},"Read-only ",-1),v("GitHub App",-1)])],8,J4),n("button",{type:"button","aria-pressed":e.githubConnection==="oauth",disabled:e.githubConnection==="oauth",onClick:t[1]||(t[1]=a=>e.chooseGitHubConnection("oauth"))},"Legacy OAuth",8,Z4)])):f("v-if",!0),e.isUpdate||e.detectedType==="gist"?(l(),d("span",x4,c((e.detectedType==="gist"?e.githubConnections?.gistConnection==="github-app":e.githubConnection==="github-app")?"Read-only GitHub App":"Legacy OAuth"),1)):f("v-if",!0)])):f("v-if",!0)]),n("div",eA,[P(n("input",tA,null,512),[[s,{state:e.viewState,set:a=>{e.sourceUrl=a},value:e.sourceUrl,form:null,options:{debounce:{default:1e3,blur:0,click:0},updateOn:"default blur click"},change:()=>{e.urlSelected()}}]]),n("button",{type:"button",class:"btn btn-primary landing-continue","aria-disabled":e.sourceUrl?.trim()?null:"true",onClick:t[2]||(t[2]=a=>e.sourceUrl?.trim()&&e.urlSelected())},"Continue",8,nA)])]),e.sourceUrlError?(l(),d("p",oA,c(e.sourceUrlError),1)):f("v-if",!0),t[64]||(t[64]=n("small",{class:"form-text landing-help",style:{color:"var(--ink-muted)"}}," Repository, pull request (\u2026/pull/42) and gist (gist.github.com/\u2026) URLs are all accepted. ",-1)),n("section",sA,[n("div",iA,[n("div",rA,[t[56]||(t[56]=n("h2",{id:"repo-picker-title"},"Your repositories",-1)),e.userReposStatus==="ready"&&e.userRepos.length>0?(l(),d("span",aA,[e.userRepoFilter&&e.filteredUserRepos().length!==e.userRepos.length?(l(),d(L,{key:0},[v(c(e.filteredUserRepos().length)+" of ",1)],64)):f("v-if",!0),v(c(e.userRepos.length)+" "+c(e.userRepos.length===1?"repository":"repositories"),1),t[55]||(t[55]=n("span",{class:"repo-picker-more"},[n("span",{class:"repo-picker-more-sep"}," \xB7 "),v("scroll for more")],-1))])):f("v-if",!0)]),e.userReposStatus==="ready"&&e.userRepos.length>0?P((l(),d("input",{key:0,type:"search",class:"form-control repo-picker-filter",placeholder:"Filter\u2026","aria-label":"Filter your repositories",autocomplete:"off","onUpdate:modelValue":t[3]||(t[3]=a=>e.userRepoFilter=a)},null,512)),[[ut,e.userRepoFilter]]):f("v-if",!0)]),e.userReposStatus==="loading"||e.userReposStatus==="idle"?(l(),d("ul",lA,[(l(),d(L,null,se([1,2,3,4],(a,u)=>n("li",dA,[n("span",{class:"skeleton skeleton-line",style:Ve({width:34+a*9+"%"})},null,4)])),64))])):f("v-if",!0),e.userReposStatus==="ready"&&e.filteredUserRepos().length>0?(l(),d("ul",uA,[(l(!0),d(L,null,se(e.filteredUserRepos(),(a,u)=>(l(),d("li",{key:a.id||a.fullName,class:"repo-picker-row"},[t[58]||(t[58]=n("svg",{class:"project-type-svg","aria-hidden":"true"},[n("use",{href:"#project-type-repo"})],-1)),n("span",{class:"repo-picker-name",title:a.fullName},[n("span",pA,[v(c(a.fullName.split("/")[0]),1),t[57]||(t[57]=n("span",{class:"repo-picker-slash"},"/",-1))]),n("span",fA,c(a.fullName.split("/").slice(1).join("/")),1)],8,cA),n("button",{type:"button",class:"btn btn-outline-ink btn-sm repo-picker-select",onClick:p=>e.selectUserRepo(a),"aria-label":"Select "+a.fullName},"Select",8,hA)]))),128))])):f("v-if",!0),e.userReposStatus==="ready"&&e.userRepos.length>0&&e.filteredUserRepos().length===0?(l(),d("p",mA,"No repository matches \u201C"+c(e.userRepoFilter)+"\u201D.",1)):f("v-if",!0),e.userReposStatus==="ready"&&e.userRepos.length===0?(l(),d("p",gA,"No repositories found for your GitHub account. Paste a URL above, or grant access below.")):f("v-if",!0),e.userReposStatus==="error"?(l(),d("p",vA,[t[59]||(t[59]=v("Your repositories could not be loaded. ",-1)),n("button",{type:"button",class:"task-text-button",onClick:t[4]||(t[4]=a=>e.loadUserRepos(!0))},"Try again")])):f("v-if",!0),!e.sourceUrl&&e.githubConnections?.appEnabled&&e.githubConnections.appConnected?(l(),d("aside",yA,[n("div",bA,[n("div",wA,[e.detectedType!=="gist"&&e.githubConnection!=="oauth"?(l(),d("span",kA,"Repository not listed?")):f("v-if",!0),e.detectedType!=="gist"&&e.githubConnection!=="oauth"?(l(),d("button",{key:1,type:"button",class:"btn btn-outline-ink",onClick:t[5]||(t[5]=a=>e.grantGitHubAccess())},[...t[60]||(t[60]=[v("Manage GitHub access ",-1),n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-external-link"})],-1)])])):f("v-if",!0),e.isUpdate||e.detectedType==="gist"||e.githubConnection==="oauth"?(l(),d("a",CA,[...t[61]||(t[61]=[v("Manage GitHub access ",-1),n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-external-link"})],-1)])])):f("v-if",!0)])]),n("div",EA,[e.error&&e.detectedType!=="gist"&&e.githubConnection==="github-app"?(l(),d("span",SA,"Signing in does not grant access to private repositories. Use Manage GitHub access to select this repository, then return here. Organization access may require administrator approval.")):f("v-if",!0),t[62]||(t[62]=n("span",null,[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-info"})]),v(" Anonymized content is public, even from private repositories.")],-1))])])):f("v-if",!0)])])],512),[[x,!e.workspaceOpen&&!e.isUpdate]]),f(" ===== STATE 2: URL provided \u2014 form (left) + preview (right) ===== "),P(n("div",NA,[n("header",RA,[n("div",DA,[n("div",AA,[t[65]||(t[65]=n("a",{href:"/dashboard"},"My work",-1)),t[66]||(t[66]=v(" \xA0/\xA0 ",-1)),n("span",TA,c(e.isUpdate?"Edit anonymization":"New anonymization"),1)]),n("div",PA,[n("h1",OA,[e.isUpdate?f("v-if",!0):(l(),d("span",IA,"New anonymization")),e.isUpdate?(l(),d("span",MA,"Edit anonymization")):f("v-if",!0)]),P(n("span",{class:T(["type-badge",{"type-repo":e.detectedType==="repo","type-pr":e.detectedType==="pr","type-gist":e.detectedType==="gist"}])},c(e.detectedType==="repo"?"Repository":e.detectedType==="pr"?"Pull request":"Gist"),3),[[x,e.detectedType]])]),n("p",_A,c(e.isUpdate?"Changes apply to the existing anonymous link; reviewers keep the same URL.":"Choose the terms to redact, what reviewers see, and when the link expires."),1),e.isUpdate?f("v-if",!0):(l(),d("ol",VA,[...t[67]||(t[67]=[n("li",null,"1. Repository",-1),n("li",{"aria-current":"step"},"2. Review and hosting",-1),n("li",null,"3. Review link",-1)])]))])]),e.detectedType==="gist"&&e.gistAppRequired?(l(),d("aside",qA,[t[68]||(t[68]=n("p",null,"Reconnect your GitHub account to read this gist. Your draft will be restored when you return.",-1)),n("button",{type:"button",class:"btn btn-ink",onClick:t[6]||(t[6]=a=>e.connectGistApp())},"Connect GitHub App to access gists")])):f("v-if",!0),e.detectedType==="gist"&&e.gistOAuthRequired?(l(),d("aside",$A,[t[69]||(t[69]=n("p",null,"Connect GitHub OAuth to access gists. Your account and existing anonymizations stay the same, and your draft will be restored when you return.",-1)),t[70]||(t[70]=n("p",null,"GitHub's legacy OAuth connection includes write access to private repositories.",-1)),e.githubConnections?.oauthEnabled?(l(),d("button",{key:0,type:"button",class:"btn btn-ink",onClick:t[7]||(t[7]=a=>e.connectGistOAuth())},"Connect GitHub OAuth to access gists")):(l(),d("p",LA,"GitHub OAuth is currently unavailable. Please try again later."))])):f("v-if",!0),n("nav",UA,[n("button",{id:"workspace-settings-tab",role:"tab",type:"button","aria-selected":e.mobilePane==="settings","aria-controls":"workspace-settings",tabindex:e.mobilePane==="settings"?0:-1,onKeydown:t[8]||(t[8]=a=>e.previewTabKeydown(a)),onClick:t[9]||(t[9]=a=>e.selectMobilePane("settings"))},[...t[71]||(t[71]=[n("span",{class:"tab-label"},"Settings",-1)])],40,FA),n("button",{id:"workspace-preview-tab",role:"tab",type:"button","aria-selected":e.mobilePane==="preview","aria-controls":"workspace-preview",tabindex:e.mobilePane==="preview"?0:-1,onKeydown:t[10]||(t[10]=a=>e.previewTabKeydown(a)),onClick:t[11]||(t[11]=a=>e.selectMobilePane("preview"))},[...t[72]||(t[72]=[n("span",{class:"tab-label"},"Reviewer preview",-1)])],40,BA)]),n("div",zA,[f(" Form column (left) "),n("div",{id:"workspace-settings",role:e.mobileWorkspace?"tabpanel":null,"aria-labelledby":e.mobileWorkspace?"workspace-settings-tab":null,class:"anonymize-form-col overflow-auto"},[P((l(),d("form",jA,[n("div",GA,[n("section",WA,[t[92]||(t[92]=n("h2",{class:"paper-section-eyebrow"},"Source & access",-1)),n("div",KA,[n("div",YA,[t[74]||(t[74]=n("label",{class:"paper-field-label",for:"sourceUrl"},"Source URL",-1)),e.sourceUrl&&e.githubConnections?.appEnabled&&e.githubConnections.appConnected&&e.githubConnections.oauthConnected?(l(),d("aside",XA,[!e.isUpdate&&e.detectedType!=="gist"?(l(),d("div",QA,[n("button",{type:"button","aria-pressed":e.githubConnection==="github-app",disabled:e.githubConnection==="github-app",onClick:t[12]||(t[12]=a=>e.chooseGitHubConnection("github-app"))},[...t[73]||(t[73]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-shield"})],-1),v(),n("span",{class:"sr-only"},"Read-only ",-1),v("GitHub App",-1)])],8,JA),n("button",{type:"button","aria-pressed":e.githubConnection==="oauth",disabled:e.githubConnection==="oauth",onClick:t[13]||(t[13]=a=>e.chooseGitHubConnection("oauth"))},"Legacy OAuth",8,ZA)])):f("v-if",!0),e.isUpdate||e.detectedType==="gist"?(l(),d("span",xA,c((e.detectedType==="gist"?e.githubConnections?.gistConnection==="github-app":e.githubConnection==="github-app")?"Read-only GitHub App":"Legacy OAuth"),1)):f("v-if",!0)])):f("v-if",!0)]),P(n("input",{type:"text",class:T(["form-control",{"is-invalid":e.anonymize?.sourceUrl?.invalid}]),name:"sourceUrl",id:"sourceUrl",onblur:"this.scrollLeft=0",disabled:e.isUpdate&&e.detectedType!=="repo",placeholder:"Paste a GitHub repo or pull request URL"},null,10,eT),[[s,{state:e.viewState,set:a=>{e.sourceUrl=a},value:e.sourceUrl,form:"anonymize",options:{debounce:{default:1e3,blur:0,click:0},updateOn:"default blur click"},change:()=>{e.urlSelected()}}]]),e.sourceSummary()&&!e.anonymize?.sourceUrl?.invalid?(l(),d("p",tT,[t[75]||(t[75]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-check"})],-1)),v(c(e.sourceSummary()),1)])):f("v-if",!0),P(n("div",nT," Please provide a valid GitHub URL. ",512),[[x,e.anonymize?.sourceUrl?.errors?.github]]),P(n("div",oT," Not accessible. The organization may restrict access. ",512),[[x,e.anonymize?.sourceUrl?.errors?.access]]),P(n("div",sT," Does not exist or is not accessible. ",512),[[x,e.anonymize?.sourceUrl?.errors?.missing]]),P(n("div",iT," Already anonymized. ",512),[[x,e.anonymize?.sourceUrl?.errors?.used]])]),!e.isUpdate&&e.previousConfigurations.length?(l(),d("aside",rT,[t[77]||(t[77]=n("p",{role:"status"},"You have already anonymized this repository. Use the existing configuration to keep its anonymous link and avoid creating another repository.",-1)),e.previousConfigurations.length>1?(l(),d("div",aT,[t[76]||(t[76]=n("label",{class:"paper-field-label",for:"previousConfiguration"},"Previous anonymization",-1)),P(n("select",{id:"previousConfiguration",class:"form-control","onUpdate:modelValue":t[14]||(t[14]=a=>e.previousConfigurationId=a)},[(l(!0),d(L,null,se(e.previousConfigurations,a=>(l(),d("option",{key:a.repoId,value:a.repoId},c(a.repoId),9,lT))),128))],512),[[pn,e.previousConfigurationId]])])):(l(),d("p",dT,c(e.previousConfigurationId),1)),t[78]||(t[78]=n("p",null,"You can review and update its settings before saving.",-1)),n("div",uT,[n("a",{class:"btn btn-ink",href:e.existingConfigurationUrl()},"Use existing configuration",8,cT),n("button",{type:"button",class:"btn btn-outline-ink",onClick:t[15]||(t[15]=a=>e.previousConfigurations=[])},"Create a separate one")])])):f("v-if",!0),e.sourceUrl&&e.githubConnections?.appEnabled&&e.githubConnections.appConnected?(l(),d("aside",pT,[n("div",fT,[n("div",hT,[e.detectedType!=="gist"&&e.githubConnection!=="oauth"&&!e.details?(l(),d("span",mT,"Repository not listed?")):f("v-if",!0),e.detectedType!=="gist"&&e.githubConnection!=="oauth"&&!e.details?(l(),d("button",{key:1,type:"button",class:"btn btn-outline-ink",onClick:t[16]||(t[16]=a=>e.grantGitHubAccess())},[...t[79]||(t[79]=[v("Manage GitHub access ",-1),n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-external-link"})],-1)])])):f("v-if",!0),e.isUpdate||e.detectedType==="gist"||e.githubConnection==="oauth"?(l(),d("a",gT,[...t[80]||(t[80]=[v("Manage GitHub access ",-1),n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-external-link"})],-1)])])):f("v-if",!0)])]),n("div",vT,[e.error&&e.detectedType!=="gist"&&e.githubConnection==="github-app"?(l(),d("span",yT,"Signing in does not grant access to private repositories. Use Manage GitHub access to select this repository, then return here. Organization access may require administrator approval.")):f("v-if",!0),e.detectedType!=="gist"&&e.githubConnection!=="oauth"&&!e.details?(l(),d("span",bT,"Select repositories on GitHub, then return here.")):f("v-if",!0),t[81]||(t[81]=n("span",null,[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-info"})]),v(" Selected content will be published, including content from private repositories.")],-1))])])):f("v-if",!0),e.isUpdate&&e.detectedType==="repo"&&e.role==="owner"&&e.sourceUrl==="https://github.com/"+e._originalFullName?(l(),d("details",{key:2,class:"repair-disclosure",open:!!(e.error||e.accessRepairMessage||e.reconnectRepositoryId)},[t[85]||(t[85]=n("summary",null,"Connection problems?",-1)),e.accessRepairAllowed&&e.githubConnections?.appEnabled&&e.githubConnection==="github-app"&&e.sourceUrl==="https://github.com/"+e._originalFullName?(l(),d("div",kT,[t[83]||(t[83]=n("p",null,"If this repository became private or its App installation changed, repair its access here. This keeps the same anonymous URL and published commit.",-1)),n("button",{type:"button",class:"btn btn-outline-ink",disabled:e.repairingGitHubAccess,onClick:t[17]||(t[17]=a=>e.repairGitHubAccess())},"Repair GitHub access",8,CT),n("button",{type:"button",class:"btn btn-outline-ink",onClick:t[18]||(t[18]=a=>e.grantGitHubAccess())},[...t[82]||(t[82]=[v("Manage GitHub access ",-1),n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-external-link"})],-1)])]),e.accessRepairMessage?(l(),d("p",ET,c(e.accessRepairMessage),1)):f("v-if",!0)])):f("v-if",!0),n("div",ST,[t[84]||(t[84]=n("p",null,"If you deleted and recreated this repository, reconnect it before choosing a branch.",-1)),n("button",{type:"button",class:"btn btn-outline-ink",onClick:t[19]||(t[19]=a=>e.reconnectSource())},"Reconnect source repository"),e.reconnectRepositoryId?(l(),d("p",NT,"Source reloaded. Review the branch, commit, and anonymization preview, then save to replace the published snapshot.")):f("v-if",!0)])],8,wT)):f("v-if",!0),e.detectedType==="repo"?(l(),d("div",RT,[n("div",DT,[t[87]||(t[87]=n("label",{class:"paper-field-label",for:"branch"},"Branch",-1)),n("div",AT,[P((l(),d("select",TT,[(l(!0),d(L,null,se(e.branches,(a,u)=>(l(),d("option",{textContent:c(a?.name),value:a?.name},null,8,PT))),256))])),[[s,{state:e.viewState,set:a=>{e.source.branch=a},value:e.source?.branch,form:"anonymize",options:{}}]]),n("div",OT,[n("button",{class:"btn btn-icon refresh-branches",type:"button",title:"Refresh branches",onClick:t[20]||(t[20]=a=>e.getBranches(!0)),"aria-label":"Refresh branches"},[...t[86]||(t[86]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-refresh"})],-1)])])])])]),n("div",IT,[t[88]||(t[88]=n("label",{class:"paper-field-label",for:"commit"},"Commit",-1)),P(n("input",{class:T(["form-control",{"is-invalid":e.anonymize?.commit?.invalid}]),id:"commit",disabled:e.options.update,name:"commit",pattern:"[a-fA-Z0-9]{6,}",required:""},null,10,MT),[[s,{state:e.viewState,set:a=>{e.source.commit=a},value:e.source?.commit,form:"anonymize",options:{}}]]),P(n("div",_T," The commit SHA is not valid. ",512),[[x,e.anonymize?.commit?.errors?.pattern||e.anonymize?.commit?.errors?.required]]),P(n("div",VT," This commit no longer exists in the repository. Click refresh to get the latest. ",512),[[x,e.anonymize?.commit?.errors?.exists]])])])):f("v-if",!0),P(n("div",{class:T(["form-check auto-update-check",{"is-paid":!e.liveUpdatesIncluded()}])},[P(n("input",qT,null,512),[[s,{state:e.viewState,set:a=>{e.options.update=a},value:e.options?.update,form:"anonymize",options:{}}]]),n("label",$T,[t[89]||(t[89]=v("Auto-update from GitHub",-1)),e.liveUpdatesIncluded()?f("v-if",!0):(l(),d("span",LT,"Paid"))]),e.liveUpdatesIncluded()?(l(),d("small",UT,"Follows the latest version, at most once an hour.")):(l(),d("small",FT,[t[90]||(t[90]=v("Needs Live updates",-1)),e.liveUpdatesPrice()?(l(),d(L,{key:0},[v(" \xB7 "+c(e.liveUpdatesPrice()),1)],64)):f("v-if",!0),t[91]||(t[91]=v(", a Paper pack or an author subscription. ",-1)),n("a",{href:"#repository-hosting",onClick:t[21]||(t[21]=ue(a=>e.showHostingOptions(),["prevent"]))},"Hosting options")]))],2),[[x,e.detectedType]])]),P(n("section",BT,[t[126]||(t[126]=n("h2",{class:"paper-section-eyebrow"},"Anonymization",-1)),P(n("div",zT,[t[97]||(t[97]=n("label",{class:"paper-field-label",for:"repoId"},"Anonymized repository ID",-1)),P(n("input",{type:"text",class:T(["form-control",{"is-invalid":e.anonymize?.repoId?.invalid}]),name:"repoId",id:"repoId",disabled:e.isUpdate},null,10,HT),[[s,{state:e.viewState,set:a=>{e.repoId=a},value:e.repoId,form:"anonymize",options:{debounce:{default:1e3,blur:0,click:0},updateOn:"default blur click"}}]]),n("small",jT,[t[93]||(t[93]=v("anonymous.4open.science/",-1)),t[94]||(t[94]=n("wbr",null,null,-1)),t[95]||(t[95]=v("r/",-1)),t[96]||(t[96]=n("wbr",null,null,-1)),n("span",GT,c(e.repoId),1)]),P(n("div",WT,"ID can only contain letters and numbers.",512),[[x,e.anonymize?.repoId?.errors?.format]]),P(n("div",{class:"invalid-feedback"},c(e.repoId)+" is already used.",513),[[x,e.anonymize?.repoId?.errors?.used]])],512),[[x,e.detectedType==="repo"]]),P(n("div",KT,[t[102]||(t[102]=n("label",{class:"paper-field-label",for:"pullRequestId"},"Anonymized pull request ID",-1)),P(n("input",{type:"text",class:T(["form-control",{"is-invalid":e.anonymize?.pullRequestId?.invalid}]),name:"pullRequestId",id:"pullRequestId",disabled:e.isUpdate},null,10,YT),[[s,{state:e.viewState,set:a=>{e.pullRequestId=a},value:e.pullRequestId,form:"anonymize",options:{debounce:{default:1e3,blur:0,click:0},updateOn:"default blur click"}}]]),n("small",XT,[t[98]||(t[98]=v("anonymous.4open.science/",-1)),t[99]||(t[99]=n("wbr",null,null,-1)),t[100]||(t[100]=v("pr/",-1)),t[101]||(t[101]=n("wbr",null,null,-1)),n("span",QT,c(e.pullRequestId),1)]),P(n("div",JT,"ID can only contain letters and numbers.",512),[[x,e.anonymize?.pullRequestId?.errors?.format]]),P(n("div",{class:"invalid-feedback"},c(e.pullRequestId)+" is already used.",513),[[x,e.anonymize?.pullRequestId?.errors?.used]])],512),[[x,e.detectedType==="pr"]]),P(n("div",ZT,[t[107]||(t[107]=n("label",{class:"paper-field-label",for:"gistId"},"Anonymized gist ID",-1)),P(n("input",{type:"text",class:T(["form-control",{"is-invalid":e.anonymize?.gistId?.invalid}]),name:"gistId",id:"gistId",disabled:e.isUpdate},null,10,xT),[[s,{state:e.viewState,set:a=>{e.gistId=a},value:e.gistId,form:"anonymize",options:{debounce:{default:1e3,blur:0,click:0},updateOn:"default blur click"}}]]),n("small",eP,[t[103]||(t[103]=v("anonymous.4open.science/",-1)),t[104]||(t[104]=n("wbr",null,null,-1)),t[105]||(t[105]=v("gist/",-1)),t[106]||(t[106]=n("wbr",null,null,-1)),n("span",tP,c(e.gistId),1)]),P(n("div",nP,"ID can only contain letters and numbers.",512),[[x,e.anonymize?.gistId?.errors?.format]]),P(n("div",{class:"invalid-feedback"},c(e.gistId)+" is already used.",513),[[x,e.anonymize?.gistId?.errors?.used]])],512),[[x,e.detectedType==="gist"]]),n("div",oP,[t[118]||(t[118]=n("label",{class:"paper-field-label",for:"terms"},"Terms to redact",-1)),P(n("textarea",{class:T(["form-control terms-input",{"is-invalid":e.anonymize?.terms?.invalid}]),id:"terms",name:"terms",rows:Math.min(14,Math.max(4,String(e.terms||"").split(` +Contact: jane.smith@mit.edu`,e.demoTerms="Jane Smith, Smith, MIT CSAIL, jane.smith@mit.edu",e.demoParts=function(){let u=(e.demoTerms||"").split(/[,\n]/).map(m=>m.trim()).filter(Boolean).sort((m,w)=>w.length-m.length),p=m=>m.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");if(!u.length)return[{text:e.demoText}];let y=new RegExp("("+u.map(p).join("|")+")","gi"),h={},b=0;return(e.demoText||"").split(y).filter(m=>m!=="").map(m=>{let w=u.find(A=>A.toLowerCase()===m.toLowerCase());return w?(h[w.toLowerCase()]||(h[w.toLowerCase()]=++b),{text:String(h[w.toLowerCase()]),redacted:!0,original:m}):{text:m}})},e.demoCount=()=>e.demoParts().filter(u=>u.redacted).length,e.cards=[{key:"repositories",total:0,label:"repositories anonymized"},{key:"users",total:0,label:"researchers"},{key:"pageViews",total:0,label:"page views"},{key:"pullRequests",total:0,label:"pull requests"}],e.statsEmpty=()=>!!e.stat&&e.cards.every(u=>!u.total);function r(){t.get("/api/stat/").then(u=>{e.stat=u.data,e.cards[0].total=u.data.nbRepositories,e.cards[1].total=u.data.nbUsers,e.cards[2].total=u.data.nbPageViews,e.cards[3].total=u.data.nbPullRequests}).catch(()=>{})}r();function a(u){let p={series:u,bars:[],viewW:100,deltaToday:0,pctChange:0,pctAbs:0,isUp:!0};if(!u||u.length<2)return p;let y=new Array(u.length-1);for(let S=1;S=2){let S=y[h-2];S&&(p.pctChange=(p.deltaToday-S)/S*100)}return p.pctAbs=Math.round(Math.abs(p.pctChange)),p.isUp=p.pctChange>=0,p}e.history={repositories:a([]),users:a([]),pageViews:a([]),pullRequests:a([])},t.get("/api/stat/history?days=60").then(u=>{let p=u.data||[];e.history={repositories:a(p.map(y=>y.nbRepositories||0)),users:a(p.map(y=>y.nbUsers||0)),pageViews:a(p.map(y=>y.nbPageViews||0)),pullRequests:a(p.map(y=>y.nbPullRequests||0))}}).catch(()=>{})},Cc=function(e,t,o,i,s,r){let a=Tt();e.on("routeLeave",function(){$('[data-toggle="tooltip"]').tooltip("dispose")}),e.watch("user.status",()=>{e.user==null&&o.url("/")}),e.user==null&&o.url("/"),a.timeout(()=>{$('[data-toggle="tooltip"]').tooltip()},250),e.quotaExpanded=!1,e.closeQuota=()=>{e.quotaExpanded=!1,xe(()=>document.querySelector(".dashboard-quota > summary")?.focus())},Qt()(document,"click",D=>{e.quotaExpanded&&!D.target.closest?.(".dashboard-quota")&&(e.quotaExpanded=!1)}),e.filtersExpanded=!1,e.projectView="all",e.selectedProject=null,e.projectName="",e.nameSaving=!1,e.nameError="",e.nameMessage="",e.needsAttention=D=>D.status==="error"||D._broken||p(D.status)==="progress"&&D._stale,e.attentionCount=()=>e.dashboardTotals?.attention??e.items.filter(e.needsAttention).length,e.hasProjects=()=>(e.dashboardTotals?.total??e.items.length)>0,e.setProjectView=D=>{e.projectView=D,D==="attention"&&(e.filters.status.error=!0,e.filters.status.progress=!0)},e.idleText=D=>{let te=Qr(D?.anonymizeDate||D?.lastView)||"";return/ ago$/.test(te)?"No activity for "+te.replace(/ ago$/,""):"No activity since "+te.replace(", "+new Date().getFullYear(),"")},e.projectDetailsId=D=>"project-details-"+encodeURIComponent(D._type+":"+(D._id||D._source||"unknown")),e.showProjectDetails=async D=>{e.selectedProject=D,e.projectName=D.projectName||"",e.nameError="",e.nameMessage="",await xe();let te=document.getElementById(e.projectDetailsId(D));te?.focus(),te?.scrollIntoView?.({block:"nearest"})},e.closeProjectDetails=D=>{e.selectedProject=null,xe(()=>document.querySelector(`[data-project-actions="${encodeURIComponent(D._type+":"+D._id)}"]`)?.focus())},e.saveProjectName=async D=>{if(e.nameSaving||!D._id)return;let te=e.projectName.trim();if(te.length>100){e.nameError="Use 100 characters or fewer.";return}e.nameSaving=!0,e.nameError="",e.nameMessage="";try{let ue=await t.post("/api/user/project-name",{type:D._type,id:D._id,name:te});D.projectName=ue.data.name,D._label=D.projectName||D._fallbackLabel,e.selectedProject===D&&(e.nameMessage=te?"Project name saved.":"Default project name restored."),C||(e.dashboardCursor=null,await V(),e.selectedProject===D&&(e.selectedProject=e.items.find(Pe=>Pe._type===D._type&&Pe._id===D._id)||null))}catch{e.selectedProject===D&&(e.nameError="The project name could not be saved. Try again.")}finally{e.nameSaving=!1}},e.copyingId=null,e.copyLink=async D=>{if(!D._viewUrl||e.copyingId)return;let te=new URL(D._viewUrl,s.location.origin).href;e.copyingId=D._type+":"+D._id;try{await Ra(te),e.addToast({title:"Link copied",body:"The anonymous link is ready to share."})}catch{e.addToast({title:"Copy this anonymous link",body:te})}finally{e.copyingId=null}},e.items=[],e.search="",e.loading=!0,e.statusKeyLabels={ready:"Ready",progress:"Preparing",error:"Error",expired:"Expiring / expired",removed:"Removing / removed"};let u=["queue","download","downloaded","preparing","anonymizing"];function p(D){return D==="ready"||D==="error"?D:D==="expired"||D==="expiring"?"expired":D==="removed"||D==="removing"?"removed":(u.indexOf(D)>-1,"progress")}let y=7200*1e3,h="dashboard.filterPrefs",b={typeFilter:"all",filters:{status:{ready:!0,progress:!0,error:!0,expired:!0,removed:!1}},orderBy:"-anonymizeDate"},m=loadFilterPrefs(h)||{};e.typeFilter=m.typeFilter||b.typeFilter,e.filters={status:Object.assign({},b.filters.status,m.filters&&m.filters.status||{})},e.orderBy=m.orderBy||b.orderBy;let w={_name:{label:"Anonymous ID",defaultDesc:!1},_label:{label:"Project",defaultDesc:!1},anonymizeDate:{label:"Anonymize date",defaultDesc:!0},status:{label:"Status",defaultDesc:!1},lastView:{label:"Last view",defaultDesc:!0},pageView:{label:"Views",defaultDesc:!0},"options.expirationDate":{label:"Expiration",defaultDesc:!1}};e.sortFields=w,e.sortField=()=>e.orderBy.replace(/^-/,""),e.sortDesc=()=>e.orderBy.charAt(0)==="-",e.sortLabel=()=>{let D=w[e.sortField()];return D?D.label:"Custom"},e.isSortedBy=D=>e.sortField()===D,e.setSort=(D,te)=>{typeof te!="boolean"&&(te=e.isSortedBy(D)?!e.sortDesc():!!(w[D]&&w[D].defaultDesc)),e.orderBy=(te?"-":"")+D},e.toggleSortDirection=()=>{e.setSort(e.sortField(),!e.sortDesc())},e.watchGroup(["typeFilter","orderBy"],()=>{saveFilterPrefs(h,{typeFilter:e.typeFilter,filters:e.filters,orderBy:e.orderBy})}),e.watch("filters",()=>{saveFilterPrefs(h,{typeFilter:e.typeFilter,filters:e.filters,orderBy:e.orderBy})},!0),r.load().then(D=>{e.quota=D},console.error);function A(D,te,ue,Pe,we,J){D.pageView||(D.pageView=0),D.lastView||(D.lastView=""),D.options=D.options||{},D.options.terms=(D.options.terms||[]).filter(ke=>ke),D._id=te||"",D._source=Pe,D._broken=!te,D._name=te||Pe||"(unnamed)",D._fallbackLabel=D._type==="gist"?"Gist "+(te||Pe||"without an ID"):Pe||ue||D._name,D._label=D.projectName||D._fallbackLabel,D._editUrl=te?we:null,D._viewUrl=te?J:null,D._broken&&(D.status="error",D.statusMessage="incomplete_record"),D._statusKey=p(D.status);let ce=D.anonymizeDate||D.lastView;if(D._stale=D._statusKey==="progress"&&!!ce&&Date.now()-new Date(ce).getTime()>y,D.status==="expired"||D.status==="expiring")D._expiry={kind:"expired",date:D.options.expirationDate},D._expiry.label=Zr(D.options.expirationDate)||void 0;else if(D.status!=="ready")D._expiry={kind:"none"};else if(D.options.expirationMode==="never"||!D.options.expirationDate)D._expiry={kind:"never"};else{D._expiry={kind:"date",date:D.options.expirationDate};let ke=new Date(D.options.expirationDate).getTime()-Date.now();if(ke>0&&ke<=168*3600*1e3){let De=Math.max(1,Math.round(ke/36e5)),et=Math.round(ke/864e5);D._expiry.soon=De<48?"in "+De+(De===1?" hour":" hours"):"in "+et+" days"}}return D}function S(D){return t.get(D).then(te=>te.data||[],te=>(console.error(te),[]))}function R(){return e.loading=!0,i.all([S("/api/user/anonymized_repositories"),S("/api/user/anonymized_pull_requests"),S("/api/user/anonymized_gists")]).then(D=>{let te=D[0],ue=D[1],Pe=D[2],we=[];te.forEach(J=>{J._type="repo";let ce=J.source||{};we.push(A(J,J.repoId,J.repoId,ce.fullName,"/anonymize/"+J.repoId,"/r/"+J.repoId+"/"))}),ue.forEach(J=>{J._type="pr";let ce=J.source||{};we.push(A(J,J.pullRequestId,J.pullRequestId,ce.repositoryFullName?ce.repositoryFullName+"#"+ce.pullRequestId:void 0,"/pull-request-anonymize/"+J.pullRequestId,"/pr/"+J.pullRequestId+"/"))}),Pe.forEach(J=>{J._type="gist";let ce=J.source||{};we.push(A(J,J.gistId,J.gistId,ce.gistId,"/gist-anonymize/"+J.gistId,"/gist/"+J.gistId+"/"))}),e.items=we,e.removedCount=we.filter(J=>J._statusKey==="removed").length,e.loading=!1})}let g=0,C=!1;e.dashboardCursor=null,e.dashboardError="";function M(D){let te=D.source||{};return D._type==="repo"?A(D,D.repoId,D.repoId,te.fullName,"/anonymize/"+D.repoId,"/r/"+D.repoId+"/"):D._type==="pr"?A(D,D.pullRequestId,D.pullRequestId,te.repositoryFullName?te.repositoryFullName+"#"+te.pullRequestId:void 0,"/pull-request-anonymize/"+D.pullRequestId,"/pr/"+D.pullRequestId+"/"):A(D,D.gistId,D.gistId,te.gistId,"/gist-anonymize/"+D.gistId,"/gist/"+D.gistId+"/")}function V(D=!1){if(C)return R();let te=++g;return e.loading=!D,e.loadingMore=D,e.dashboardError="",t.get("/api/user/dashboard",{params:{q:e.search,type:e.typeFilter,sort:e.orderBy,statuses:Object.keys(e.filters.status).filter(ue=>e.filters.status[ue]!==!1).join(",")||"none",attention:String(e.projectView==="attention"),cursor:D?e.dashboardCursor:void 0}}).then(ue=>{if(te===g){if(!Array.isArray(ue.data?.items))return C=!0,R();e.items=(D?e.items:[]).concat(ue.data.items.map(M)),e.dashboardCursor=ue.data.cursor,e.dashboardTotals=ue.data,D||ne()}},ue=>{if(te===g){if(ue.status===404)return C=!0,R();e.dashboardError="Projects could not be loaded. Please try again."}}).finally(()=>{te===g&&(e.loading=!1,e.loadingMore=!1)})}e.loadMoreProjects=()=>V(!0);let q;e.watchGroup(["search","typeFilter","orderBy","projectView"],()=>{C||(q&&a.timeout.cancel(q),q=a.timeout(()=>V(),150))},!1),e.watch("filters",()=>{C||V()},!0,!1),e.on("dispose",()=>{g++}),V(),e.openItem=(D,te)=>{if(!D._viewUrl)return;let ue=te&&te.target;ue&&ue.closest&&ue.closest("a, button, .dropdown, input")||(s.location.href=D._viewUrl)},e.hiddenStatusCount=()=>Object.keys(e.filters.status).filter(D=>e.filters.status[D]===!1).length,e.hasHiddenStatus=()=>e.hiddenStatusCount()>0;let j=()=>Object.keys(e.statusKeyLabels);e.onlyRemovedShown=()=>j().every(D=>D==="removed"==(e.filters.status[D]!==!1)),e.isActiveDefault=()=>j().every(D=>D==="removed"==(e.filters.status[D]===!1)),e.statusView=()=>e.projectView==="attention"?"attention":e.onlyRemovedShown()?"removed":e.filters.status.removed===!1?"active":"custom",e.setStatusView=D=>{if(D==="attention")return e.setProjectView("attention");e.projectView="all",j().forEach(te=>{e.filters.status[te]=D==="removed"?te==="removed":te!=="removed"})},e.statusChipKeys=()=>{let D=e.statusView();return D==="removed"?[]:j().filter(te=>e.filters.status[te]===!1&&!(te==="removed"&&D!=="custom"))},e.removedCount=null;function ne(){if(C){e.removedCount=e.items.filter(te=>te._statusKey==="removed").length;return}let D=e.dashboardTotals;!D||e.projectView!=="all"||e.search.trim()||e.typeFilter!=="all"||(e.isActiveDefault()?e.removedCount=Math.max(0,D.total-D.filtered):e.onlyRemovedShown()&&(e.removedCount=D.filtered))}e.showViewTabs=()=>e.statusView()!=="active"||e.attentionCount()>0||e.removedCount>0||e.removedCount==null&&!!e.dashboardTotals&&e.dashboardTotals.total>e.dashboardTotals.filtered,e.hasActiveFilters=()=>e.projectView!=="all"||e.typeFilter!=="all"||e.search.trim().length>0||Object.keys(e.filters.status).some(D=>e.filters.status[D]===!1),e.showClearFilters=()=>e.search.trim().length>0||e.typeFilter!=="all"||e.statusChipKeys().length>0,e.isPlainView=()=>!e.showClearFilters(),e.clearFilters=()=>{let D=e.statusView();e.typeFilter="all",e.search="",e.setStatusView(D==="removed"?"removed":"active")};function Y(D,te,ue,Pe){t.get("/api/repo/"+D).then(async we=>{let J=Pe!==void 0&&Pe!==we.data.status;for(let ce of e.items)if(ce._type==="repo"&&ce.repoId==D){J=J||ce.status!==we.data.status;let ke=e.needsAttention(ce);ce.status=we.data.status,ce.statusMessage=we.data.statusMessage,ce._statusKey=p(ce.status),ce._statusKey!=="progress"&&(ce._stale=!1);let De=e.needsAttention(ce);e.dashboardTotals&&ke!==De&&(e.dashboardTotals.attention=Math.max(0,e.dashboardTotals.attention+(De?1:-1)));break}if(J&&!C){e.dashboardCursor=null;let ce=e.selectedProject;await V(),ce&&e.selectedProject===ce&&(e.selectedProject=e.items.find(ke=>ke._type===ce._type&&ke._id===ce._id)||null)}if(we.data.status=="ready"||we.data.status=="error"||we.data.status=="removed"||we.data.status=="expired"){te(we.data);return}a.timeout(()=>Y(D,te,ue,we.data.status),2500)},ue)}let oe=D=>D==="repo"?"repository":D==="gist"?"gist":"pull request",Ce=D=>D==="repo"?"/api/repo":D==="gist"?"/api/gist":"/api/pr";e.removeItem=D=>{let te=oe(D._type);if(confirm(`Are you sure that you want to remove the ${te} ${D._id}?`)){let ue=ot({title:`Removing ${D._id}...`,date:new Date,body:`The ${te} ${D._id} is going to be removed.`});e.addToast(ue);let Pe=`${Ce(D._type)}/${D._id}`;t.delete(Pe).then(()=>{D._type==="repo"?Y(D._id,()=>{ue.title=`${D._id} is removed.`,ue.body=`The ${te} ${D._id} is removed.`},void 0,D.status):(ue.title=`${D._id} is removed.`,ue.body=`The ${te} ${D._id} is removed.`,V())},we=>{ue.title=`Error during the removal of ${D._id}.`,ue.body=we.body,V()})}},e.refreshItem=D=>{let te=oe(D._type),ue=ot({title:`Refreshing ${D._id}...`,date:new Date,body:`The ${te} ${D._id} is going to be refreshed.`});e.addToast(ue);let Pe=J=>{ue.title=`Error during the refresh of ${D._id}.`,ue.body=J.data?.error||J.body||"The refresh could not be completed. Please try again.",V()},we=`${Ce(D._type)}/${D._id}/refresh`;t.post(we).then(()=>{D._type==="repo"?Y(D._id,J=>{if(J.status!=="ready"){Pe({body:J.statusMessage||`The repository is ${J.status}.`});return}ue.title=`${D._id} is refreshed.`,ue.body=`The ${te} ${D._id} is refreshed.`},Pe,D.status):(ue.title=`${D._id} is refreshed.`,ue.body=`The ${te} ${D._id} is refreshed.`,V())},Pe)},e.extendItem=D=>{let te=oe(D._type),ue=ot({title:`Extending ${D._id}...`,date:new Date,body:`The expiration of ${te} ${D._id} is being extended.`});e.addToast(ue);let Pe=`${Ce(D._type)}/${D._id}/extend`;t.post(Pe).then(we=>{let J=we?.data?.expirationDate?` until ${new Date(we.data.expirationDate).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})}`:"";D._type==="repo"?Y(D._id,()=>{ue.title=`${D._id} is extended.`,ue.body=`${te} ${D._id} is extended${J}.`},void 0,D.status):(ue.title=`${D._id} is extended.`,ue.body=`${te} ${D._id} is extended${J}.`,V())},we=>{ue.title=`Error during the extension of ${D._id}.`;let J=we.data&&we.data.error;ue.body=J||we.body,J&&Object.prototype.hasOwnProperty.call(po.ERRORS,J)&&(ue.body=po.ERRORS[J]),V()})},e.itemFilter=D=>{if(e.projectView==="attention"&&!e.needsAttention(D)||e.typeFilter!=="all"&&D._type!==e.typeFilter||e.filters.status[D._statusKey]===!1)return!1;let te=e.search.trim().toLowerCase();return!!(te.length==0||D._label&&String(D._label).toLowerCase().indexOf(te)>-1||D._source&&String(D._source).toLowerCase().indexOf(te)>-1||D._id&&String(D._id).toLowerCase().indexOf(te)>-1||D.conference&&String(D.conference).toLowerCase().indexOf(te)>-1)}};var Ec=function(e,t,o){let i=Tt();e.repoId=o.repoId,e.reviewUrl=window.location.origin+"/r/"+encodeURIComponent(o.repoId)+"/",e.repo=null,e.progress=0,e.rateLimitResetAt=0,e.rateLimitCountdown="",e.shareUrl=(window.location?.origin||"")+"/r/"+encodeURIComponent(e.repoId)+"/",e.copied=!1;let s=null;e.copyShareUrl=async()=>{try{await Ra(e.shareUrl),e.copied=!0,s&&i.timeout.cancel(s),s=i.timeout(()=>{e.copied=!1},2e3)}catch{e.addToast?.({title:"Copy this anonymous link",body:e.shareUrl})}},e.selectShareUrl=h=>{let b=window.getSelection?.();if(!b||!h?.target)return;let m=document.createRange();m.selectNodeContents(h.target),b.removeAllRanges(),b.addRange(m)};var r=null;let a=null,u=!1;function p(h){e.rateLimitResetAt=h,r&&i.interval.cancel(r);function b(){var m=Math.max(0,Math.ceil((h-Date.now())/1e3));if(m<=0)e.rateLimitCountdown="",e.rateLimitResetAt=0,i.interval.cancel(r),r=null;else{var w=Math.floor(m/60),A=m%60;e.rateLimitCountdown=w>0?w+"m "+A+"s":A+"s"}}b(),r=i.interval(b,1e3)}e.on("dispose",function(){u=!0,r&&i.interval.cancel(r),a&&i.timeout.cancel(a)});function y(h){if(!h)return h;var b=h.match(/^rate_limited:(\d+)$/);return b?(p(parseInt(b[1],10)),null):(e.rateLimitResetAt=0,h)}e.getStatus=()=>{u||t.get("/api/repo/"+e.repoId,{repoId:e.repoId,repoUrl:e.repoUrl}).then(h=>{if(!u){e.repo=h.data,h.data.rateLimitResetAt?p(h.data.rateLimitResetAt):e.repo.statusMessage=y(e.repo.statusMessage),e.repo.status=="ready"?e.progress=100:e.repo.status=="queue"?e.progress=10:e.repo.status=="downloaded"?e.progress=50:e.repo.status=="download"||e.repo.status=="preparing"?e.progress=25:e.repo.status=="anonymizing"&&(e.progress=75);var b=!["ready","removed","expired"].includes(e.repo.status);e.repo.status=="error"&&!e.rateLimitResetAt&&(b=!1),b&&(a=i.timeout(e.getStatus,2e3))}},h=>{e.error=h.data.error})},e.getStatus()},Wi=function(e,t,o,i,s,r,a){mc(),e.renderRedacted=_i,e.sourceUrl="",e.workspaceOpen=!1,e.sourceUrlError="",e.previewStatus="idle",e.sourceLoading=!1,e.mobilePane="settings";let u=window.matchMedia?.("(max-width: 767px)");e.mobileWorkspace=!!u?.matches,u?.addEventListener&&Qt()(u,"change",k=>{e.mobileWorkspace=k.matches}),e.selectMobilePane=k=>{e.mobilePane=k};let p=0,y=!1,h=new Set,b=(k,_=!1)=>!y&&k.generation===p&&k.url===e.sourceUrl.trim()&&k.connection===e.githubConnection&&(!_||k.branch===e.source.branch),m=()=>{let k={generation:p,url:e.sourceUrl.trim(),connection:e.githubConnection,branch:e.source.branch};return h.add(k),e.sourceLoading=!0,k},w=k=>{h.delete(k),y||(e.sourceLoading=[...h].some(_=>b(_)))};e.on("dispose",()=>{y=!0,p++});let A=null,S=k=>k.gistId&&!k.repo?"gist:"+k.gistId.toLowerCase():(k.owner+"/"+k.repo).toLowerCase()+(k.pullRequestId?"/pull/"+k.pullRequestId:""),R=Xr(e,["sourceUrl","terms","repoId","pullRequestId","gistId","source","options","conference","githubConnection"],"anonymize:"+(s.path?.()||"")),g=null,C=null,M=null;e.hostingReview=!1,e.previewExpanded=!1,e.taskValidationError="",e.editRepository=()=>{e.mobilePane="settings",e.previewExpanded=!1,xe(()=>document.querySelector(".anonymize-fields .is-invalid")?.focus())},e.submitRepository=k=>{if(e.taskValidationError="",!(e.sourceLoading||e.billingBusy||e.hostingSaving||e.billingPending)){if(wt()||e.anonymize?.invalid||e.sourceUrlError){e.taskValidationError="Check the highlighted fields before continuing.",e.editRepository();return}return e.hostingNeedsPayment()?e.checkoutRepository(Ai(e.hostingChoice())?e.hostingChoice():""):e.anonymizeRepo(k)}},e.hostingPayment=!1,e.hostingAlternatives=!1,e.hostingPrice=k=>k.amount==null?"Price shown at checkout":new Intl.NumberFormat(void 0,{style:"currency",currency:k.currency,minimumFractionDigits:0,maximumFractionDigits:2}).format(k.amount/100)+(k.interval==="year"?" billed annually":" billed monthly"),e.hostingPlan="",e.hostingSaving=!1,e.selectedHostingPlan=()=>e.authorPlans().find(k=>k.id===e.hostingPlan)||e.hostingSubscriptionPlan?.();let V=()=>t.get("/api/user/quota").then(k=>{e.hostingQuota=k.data});Pi(e,t,async()=>{await V(),e.hostingQuotaBlocked=!1},{confirmedMessage:"Hosting status refreshed. Your draft is ready to continue."}),V().catch(()=>{}),e.authorPlans=()=>(e.billing?.plans||[]).filter(k=>["author_monthly","author_annual"].includes(k.id)),e.conferenceHosting=()=>!!(e.conference&&e.conference_data?.hosting),e.hasAuthorHosting=()=>["author_monthly","author_annual"].includes(e.billing?.allowance?.plan),e.hostingNeedsPayment=()=>!e.billing?.enabled||e.detectedType!=="repo"||e.hasAuthorHosting()||e.isUpdate&&e.role!=="owner"?!1:!!(e.options?.expirationMode==="never"&&!e._existingNever&&!e.repositoryGrants("repo_never").length||!e.conferenceHosting()&&e.hostingQuotaBlocked),e.repositoryGrants=k=>(e.billing?.grants||[]).filter(_=>_.planId===k&&_.scope===`repo:${e.repoId}`&&["active","paid","past_due"].includes(_.status)&&new Date(_.until).getTime()>Date.now()),e.repositoryAddonPlans=()=>(e.billing?.plans||[]).filter(k=>Ai(k.id)&&(["repo_extend","repo_pack"].includes(k.id)||!e.repositoryGrants(k.id).length)),e.hostingOneTimePlans=()=>{let k=_=>_.map(z=>(e.billing?.plans||[]).find(x=>x.id===z&&!e.repositoryGrants(z).length)).filter(Boolean);return e.options?.expirationMode==="never"&&!e._existingNever&&!e.repositoryGrants("repo_never").length?k(["repo_never"]):e.hostingQuotaBlocked&&!e.conferenceHosting()?k(["repo_slot","repo_pack"]):[]},e.hostingOneTime=()=>e.hostingOneTimePlans()[0];let q=["free","repo_slot"];e.liveUpdatesIncluded=()=>{if(!e.billing?.enabled||e.detectedType!=="repo"||e.isUpdate&&e.role!=="owner"||e.conferenceHosting()||e.hasAuthorHosting())return!0;let k=e.billing?.allowance?.plan;return k&&!q.includes(k)?!0:e.repositoryGrants("author_pass").length>0||e.repositoryGrants("repo_pack").length>0},e.liveUpdatesPrice=()=>{let k=(e.billing?.plans||[]).find(_=>_.id==="author_pass");return k?.amount!=null?e.billingAmount(k):""},e.showHostingOptions=()=>{e.mobilePane="settings",xe(()=>document.getElementById("repository-hosting")?.scrollIntoView({block:"start",behavior:"smooth"}))},e.neverExpireTag=()=>{if(e.hasAuthorHosting())return"Included in your subscription";if(e.repositoryGrants("repo_never").length)return"Paid for this repository";let k=(e.billing?.plans||[]).find(_=>_.id==="repo_never");return k?.amount!=null?`${e.billingAmount(k)} once, or with a subscription`:"Subscription or one-time add-on"},e.hostingCycle="author_annual",e.hostingSubscriptionPlan=()=>e.authorPlans().find(k=>k.id===e.hostingCycle)||e.authorPlans().find(k=>k.interval==="year")||e.authorPlans()[0],e.hostingAnnualSavings=()=>{let k=e.authorPlans().find(z=>z.interval==="month")?.amount,_=e.authorPlans().find(z=>z.interval==="year")?.amount;return k&&_&&_e.hostingOneTimePlans().concat(e.authorPlans().length?[e.hostingSubscriptionPlan()]:[]),e.hostingOptionName=k=>({repo_slot:"Add this repository",repo_pack:"Paper pack",repo_never:"Never expire",author_annual:"Author subscription",author_monthly:"Author subscription"})[k.id]||k.name,e.hostingOptionBlurb=k=>({repo_slot:"Hosted outside your free repositories. Refresh it by hand.",repo_pack:"Adds automatic updates for 180 days and keeps the link online for a year.",repo_never:"This link never expires. No subscription."})[k.id]||`${k.repositories} repositories, ${e.billingBytes(k.storage)}, automatic updates and links that never expire.`,e.hostingChoice=()=>{let k=e.hostingOneTimePlans();return k.some(_=>_.id===e.hostingPlan)||e.authorPlans().some(_=>_.id===e.hostingPlan)?e.hostingPlan:k[0]?.id||e.hostingSubscriptionPlan()?.id||""},e.checkoutRepository=async(k="")=>{if(!(e.hostingSaving||e.billingBusy||!e.billing?.csrf||e.sourceLoading)){e.hostingSaving=!0,e.billingError="";try{let _=R.checkpoint(),z=JSON.stringify(_);(!C||z!==M)&&(C=(await t.post("/api/billing/draft",{path:s.path(),values:_},{headers:{"x-csrf-token":e.billing.csrf}})).data.id,M=z);let x=e.authorPlans().find(pe=>pe.id===e.hostingPlan)||e.hostingSubscriptionPlan();if(!k&&!x)throw new Error("No author plan available");await e.checkout(k||x.id,k?e.repoId:"",{draftId:C})}catch{e.billingError="Your draft could not be saved for checkout. Your form is unchanged. Please try again."}finally{e.hostingSaving=!1}}},e.useDatedHosting=()=>{e.options.expirationMode="remove"},e.discardDraft=async()=>{R.discard(),e.workspaceOpen=!!e.sourceUrl,e.error=null,e.sourceUrl?await e.urlSelected(!0):(p++,e.sourceLoading=!1,e.detectedType=null,e.details=null,e.sourceUrlError="",G.cancel(),Ne.cancel(),Ee.cancel(),e.previewStatus="idle")},e.githubConnection=void 0,e.githubConnections=null,e.gistOAuthRequired=!1,e.gistAppRequired=!1;let j=()=>{let k={};for(let _ of["sourceUrl","terms","repoId","pullRequestId","gistId","source","options","conference","githubConnection"])k[_]=e[_];sessionStorage.setItem("github-access-draft",JSON.stringify({path:s.path(),savedAt:Date.now(),draft:k}))};e.connectGistApp=()=>{j(),window.location.href="/github/app/login?returnTo="+encodeURIComponent(s.path())},e.connectGistOAuth=()=>{j(),window.location.href="/github/login?returnTo="+encodeURIComponent(s.path())},e.grantGitHubAccess=()=>{j();let k=s.path(),_=ce(e.sourceUrl)||"",z=e.githubConnections?.appConnected?"/github/app/install":"/github/app/login";window.location.href=z+"?returnTo="+encodeURIComponent(k)+"&repository="+encodeURIComponent(_)+"&install=1"},e.chooseGitHubConnection=async k=>{e.githubConnection=k,e.readme="",e.sourceUrl&&await De()},e.detectedType=null,e.repoId="",e.pullRequestId="",e.gistId="",e.terms="",e.defaultTerms="",e.branches=[],e.source={branch:"",commit:""},e.options={expirationMode:"remove",expirationDate:new Date,update:!1,image:!0,pdf:!0,notebook:!0,link:!0,body:!0,title:!0,origin:!1,diff:!0,content:!0,comments:!0,username:!0,date:!0};function ne(){let k=new Date;return k.setMonth(k.getMonth()+6),k}e.options.expirationDate=ne();function Y(k){let _=k.getFullYear(),z=String(k.getMonth()+1).padStart(2,"0"),x=String(k.getDate()).padStart(2,"0");return`${_}-${z}-${x}`}e.minExpirationDate=Y(new Date);let oe=()=>{let k=new Date,_=new Date(k);if(_.setFullYear(_.getFullYear()+1),e.billing?.enabled&&e.detectedType==="repo"&&!e.hasAuthorHosting()){_=new Date(k),_.setMonth(_.getMonth()+(e.billing.freeExpirationMonths||5));for(let pe of e.repositoryGrants("repo_extend"))new Date(pe.until)>_&&(_=new Date(pe.until));e.conference_data?.endDate&&new Date(e.conference_data.endDate)>_&&(_=new Date(e.conference_data.endDate)),e._savedExpirationDate&&e._savedExpirationDate>_&&(_=new Date(e._savedExpirationDate));let z=e.options?.expirationDate,x=e._savedExpirationDate&&z instanceof Date&&z.getTime()===e._savedExpirationDate.getTime();z instanceof Date&&z>_&&!x&&(e.options.expirationDate=new Date(_))}e.maxExpirationDate=Y(_)};oe(),e.watch(()=>[e.billing,e.repoId,e.conference_data,e.isUpdate,e._savedExpirationDate,e.options?.expirationMode,e.detectedType],oe,!0,!1),e.anonymize_readme="",e.readme="",e.html_readme="",e.isUpdate=!1,e.userRepos=[],e.userReposStatus="idle",e.userRepoFilter="",e.loadUserRepos=(k=!1)=>{e.userReposStatus!=="loading"&&(e.userReposStatus="loading",t.get("/api/user/all_repositories",k?{params:{force:"1"}}:{}).then(_=>{if(y)return;let z=Array.isArray(_.data)?_.data.filter(x=>x&&x.fullName):[];e.userRepos=z.sort((x,pe)=>x.fullName.localeCompare(pe.fullName,void 0,{sensitivity:"base"})),e.userReposStatus="ready"},()=>{y||(e.userReposStatus="error")}))},e.filteredUserRepos=()=>{let k=String(e.userRepoFilter||"").trim().toLowerCase(),_=e.userRepos||[];return k?_.filter(z=>z.fullName.toLowerCase().includes(k)):_},e.selectUserRepo=k=>{if(k?.fullName)return e.sourceUrl="https://github.com/"+k.fullName,e.urlSelected()},!i.repoId&&!i.pullRequestId&&!i.gistId&&Promise.resolve().then(()=>{y||e.loadUserRepos()}),e.previousConfigurations=[],e.previousConfigurationId="";let Ce,D=k=>String(k||"").replace(/\/$/,"").replace(/\.git$/i,"").toLowerCase();async function te(){if(e.isUpdate||i.repoId||i.pullRequestId||i.gistId)return;let k={generation:p,url:e.sourceUrl.trim(),connection:e.githubConnection};try{Ce||(Ce=t.get("/api/user/anonymized_repositories").then(x=>x.data));let _=await Ce;if(!b(k))return;let z=D(ce(k.url));e.previousConfigurations=_.filter(x=>x.repoId&&x.options&&D(x.source?.fullName)===z).sort((x,pe)=>(Date.parse(pe.anonymizeDate)||0)-(Date.parse(x.anonymizeDate)||0)),e.previousConfigurationId=e.previousConfigurations[0]?.repoId||""}catch{Ce=void 0}}e.sourceSummary=()=>{let k=String(e.sourceUrl||""),_=/github\.com\/([^/\s]+\/[^/\s]+)\/pull\/(\d+)/i.exec(k);return _?_[1]+" \xB7 PR #"+_[2]:(_=/gist\.github\.com\/([^/\s]+)\/([0-9a-f]{8,})/i.exec(k),_?_[1]+" \xB7 gist "+(_[2].length>12?_[2].slice(0,7)+"\u2026"+_[2].slice(-4):_[2]):"")},e.previewId=()=>e.detectedType==="pr"?e.pullRequestId:e.detectedType==="gist"?e.gistId:e.repoId,e.previewPath=()=>{let k=e.previewId();return k?(e.detectedType==="pr"?"/pr/":e.detectedType==="gist"?"/gist/":"/r/")+encodeURIComponent(k)+"/":""},e.previewUrl=()=>{let k=e.previewPath();return k?"anonymous.4open.science"+k.replace(/\/$/,""):""},e.previewRedactions=()=>{let k=x=>typeof x=="string"?(x.match(fo)||[]).length:0;if(e.detectedType==="repo")return k(String(e.html_readme||"").replace(/<[^>]*>/g," "));let _=e.detectedType==="pr"?re:Oe,z=0;return _.forEach(x=>{z+=k(x)}),z},e.previewTreeOpen={};let ue=(k,_)=>k.localeCompare(_,void 0,{sensitivity:"base"}),Pe=k=>k.slice(k.lastIndexOf("/")+1);e.previewTree=()=>{if(!e.preserve.commit||!I)return[];let k=(I.dirs.get("")?.files||[]).find(x=>/^readme(\.|$)/i.test(x)),_=[],z=(x,pe)=>{let be=I.dirs.get(x);if(be){for(let Fe of[...be.dirs].sort((kt,pt)=>ue(Pe(kt),Pe(pt)))){let kt=!!e.previewTreeOpen[Fe];_.push({path:Fe,name:Pe(Fe),dir:!0,open:kt,depth:pe}),kt&&z(Fe,pe+1)}for(let Fe of[...be.files].sort((kt,pt)=>ue(Pe(kt),Pe(pt))))_.push({path:Fe,name:Pe(Fe),dir:!1,readme:Fe===k,depth:pe})}};return z("",0),_},e.previewTreeCount=()=>{let k=e.preserve.commit&&I?I.dirs.get(""):null;return k?k.dirs.length+k.files.length:0},e.togglePreviewFolder=k=>{e.previewTreeOpen[k]=!e.previewTreeOpen[k]},e.existingConfigurationUrl=()=>{let k=e.previousConfigurations.find(_=>_.repoId===e.previousConfigurationId);return k?"/anonymize/"+encodeURIComponent(k.repoId):null};function we(k){t.get("/api/user/default").then(_=>{let z=_.data;z.terms&&(e.defaultTerms=z.terms.join(` +`)),e.options=Object.assign({},e.options,z.options),e.options.expirationDate=z.options&&z.options.expirationDate?new Date(z.options.expirationDate):ne(),!i.repoId&&!i.pullRequestId&&!i.gistId&&!e.anonymize?.terms?.dirty&&(e.terms=e.defaultTerms),k&&k()})}function J(k,_,z){e.anonymize&&e.anonymize[k]&&e.anonymize[k].setValidity(_,z)}function ce(k){try{let _=parseGithubUrl(k);if(_&&_.owner&&_.repo)return _.owner+"/"+_.repo}catch{}return null}e.accessRepairAllowed=!1,e.repairingGitHubAccess=!1,e.accessRepairMessage="",e.repairGitHubAccess=async()=>{if(!e.accessRepairAllowed||e.repairingGitHubAccess||!e.githubConnections?.appEnabled||!i.repoId||e.role!=="owner"||e.githubConnection!=="github-app"||ce(e.sourceUrl)!==e._originalFullName)return;e.repairingGitHubAccess=!0,e.accessRepairMessage="";let k=m();try{let _=await t.get("/github/connections");if(e.githubConnections=_.data,!_.data.appEnabled)return;let z=await t.post("/github/connections/migrate",{type:"repository",id:i.repoId,connection:"github-app"},{headers:{"X-CSRF-Token":_.data.csrf}});if(!b(k))return;e.error=null,z.data.fullName&&(e._originalFullName=z.data.fullName,e.source.fullName=z.data.fullName,e.sourceUrl="https://github.com/"+z.data.fullName),e.accessRepairMessage="GitHub access repaired. Your anonymous URL and published commit are unchanged.",await e.urlSelected(!0)}catch{b(k)&&(e.accessRepairMessage="Unable to repair GitHub access. Check the App's repository permissions in Manage access, then retry. Your published snapshot has not been replaced.")}finally{e.repairingGitHubAccess=!1,w(k)}},e.reconnectingSource=!1,e.reconnectRepositoryId=void 0,e.reconnectSource=async()=>{if(confirm("Reconnect to the repository currently at this GitHub URL? Review its branch and commit before saving. Saving will replace the published snapshot.")){e.reconnectingSource=!0,e.reconnectRepositoryId=void 0,e.source.commit="",e.source.branch="",e.readme="",e.branches=[];try{await st()}catch{}}};function ke(){return e.reconnectingSource||!e.isUpdate||!e._originalRepositoryID?void 0:ce(e.sourceUrl)===e._originalFullName?e._originalRepositoryID:void 0}async function De(){e._preservingDraft=!0;try{await e.urlSelected(!0)}finally{e._preservingDraft=!1}}async function et(){let k=new URLSearchParams(window.location.search).get("billingDraft");if(k){R.restore();try{let z=(await t.get("/api/billing/draft/"+encodeURIComponent(k))).data;if(z.path!==s.path())throw new Error("Wrong task");g=z.values.conference||null;for(let x of["sourceUrl","terms","repoId","source","options","conference","githubConnection"])Object.prototype.hasOwnProperty.call(z.values,x)&&(e[x]=z.values[x]);return e.options?.expirationDate&&(e.options.expirationDate=new Date(e.options.expirationDate)),C=z.id,M=JSON.stringify(R.checkpoint()),e.draftRestored=!0,e.hostingReview=!0,e.sourceUrl&&await De(),s.replace?.(s.path()),!0}catch{e.billingError="The checkout draft could not be restored. Retry by reloading this page; any local draft is still available."}}let _;try{_=JSON.parse(sessionStorage.getItem("github-access-draft")||"null")}catch{return!1}if(!_||_.path!==s.path()||Date.now()-_.savedAt>=30*6e4)return R.restore()?(e.sourceUrl&&await De(),!0):!1;R.restore();for(let z of["sourceUrl","terms","repoId","pullRequestId","gistId","source","options","conference","githubConnection"])Object.prototype.hasOwnProperty.call(_.draft,z)&&(e[z]=_.draft[z]);return e.options.expirationDate&&(e.options.expirationDate=new Date(e.options.expirationDate)),await De(),sessionStorage.removeItem("github-access-draft"),!0}we(()=>{!i.repoId&&!i.pullRequestId&&!i.gistId&&a(et,0),i.repoId&&i.repoId!=""&&(e.isUpdate=!0,e.detectedType="repo",e.repoId=i.repoId,t.get("/api/repo/"+e.repoId).then(async k=>{e.accessRepairAllowed=!["removed","archived","preparing","queue","download","removing","expiring"].includes(k.data.status),e.githubConnection=k.data.connection||"oauth",e.sourceUrl="https://github.com/"+k.data.source.fullName,e._originalFullName=k.data.source.fullName,e.terms=k.data.options.terms.filter(_=>_).join(` +`),e.source=k.data.source,e.role=k.data.role||"owner",e._existingNever=k.data.options.expirationMode==="never",e._savedExpirationDate=k.data.options.expirationDate?new Date(k.data.options.expirationDate):null,e.coauthors=k.data.coauthors||[],e._originalBranch=k.data.source.branch,e.options=Object.assign({},e.options,k.data.options),e.conference=k.data.conference,e._originalConference=k.data.conference,e.repositoryID=k.data.source.repositoryID,e._originalRepositoryID=k.data.source.repositoryID,k.data.options.expirationDate&&(e.options.expirationDate=new Date(k.data.options.expirationDate)),A=S(parseGithubUrl(e.sourceUrl)),!await et()&&(await Promise.all([st(),tt()]),me())},()=>{s.url("/404")})),i.pullRequestId&&i.pullRequestId!=""&&(e.isUpdate=!0,e.detectedType="pr",e.pullRequestId=i.pullRequestId,t.get("/api/pr/"+e.pullRequestId).then(async k=>{if(e.githubConnection=k.data.connection||"oauth",e.sourceUrl="https://github.com/"+k.data.source.repositoryFullName+"/pull/"+k.data.source.pullRequestId,e.terms=k.data.options.terms.filter(_=>_).join(` +`),e.source=k.data.source,e.options=Object.assign({},e.options,k.data.options),e.conference=k.data.conference,e._originalConference=k.data.conference,k.data.options.expirationDate&&(e.options.expirationDate=new Date(k.data.options.expirationDate)),A=S(parseGithubUrl(e.sourceUrl)),!await et())try{await le()}catch{}},()=>{s.url("/404")})),i.gistId&&i.gistId!=""&&(e.isUpdate=!0,e.detectedType="gist",e.gistId=i.gistId,t.get("/api/gist/"+e.gistId).then(async k=>{e.sourceUrl="https://gist.github.com/"+k.data.source.gistId,e.terms=k.data.options.terms.filter(_=>_).join(` +`),e.source=k.data.source,e.options=Object.assign({},e.options,k.data.options),e.conference=k.data.conference,e._originalConference=k.data.conference,k.data.options.expirationDate&&(e.options.expirationDate=new Date(k.data.options.expirationDate)),A=S(parseGithubUrl(e.sourceUrl)),!await et()&&await Me()},()=>{s.url("/404")}))}),t.get("/github/connections").then(k=>{e.githubConnections=k.data,!i.repoId&&!i.pullRequestId&&!i.gistId&&e.githubConnection===void 0&&k.data.appEnabled&&k.data.appConnected&&(e.githubConnection="github-app",e.sourceUrl&&e.workspaceOpen&&De())}).catch(()=>{}),e.urlSelected=async(k=!1)=>{let _=++p;e.previousConfigurations=[],e.previousConfigurationId="";let z;try{z=parseGithubUrl(e.sourceUrl.trim())}catch{e.sourceLoading=!1,G.cancel(),Ne.cancel(),Ee.cancel(),e.previewStatus="idle",e.sourceUrlError=e.sourceUrl?"Please provide a valid GitHub URL.":"",J("sourceUrl","github",!1);return}let x=S(z),pe=k||A===x;A=x,e.sourceUrlError="",J("sourceUrl","github",!0);let be=document.activeElement?.id==="sourceUrl-landing";e.workspaceOpen=!0,setTimeout(()=>{let Fe=window.document.getElementById("sourceUrl");if(Fe){try{Fe.setSelectionRange(0,0)}catch{}Fe.scrollLeft=0}},50),be&&a(()=>document.getElementById("sourceUrl")?.focus(),0),e.reconnectingSource=!1,e.reconnectRepositoryId=void 0,!pe&&!e.isUpdate&&(e.repoId="",e.pullRequestId="",e.gistId=""),e.details=null,e.branches=[],pe||(e.source={type:"GitHubStream",branch:"",commit:""}),G.cancel(),Ne.cancel(),Ee.cancel(),re.clear(),Oe.clear(),e.previewStatus="idle",e.anonymize_readme="",e.readme="",e.html_readme="",e.detectedType=null,e.gistOAuthRequired=!1,e.gistAppRequired=!1,e._preservingDraft=pe;try{z.gistId&&!z.repo?(e.detectedType="gist",e.source={gistId:z.gistId},await Me()):z.pullRequestId?(e.detectedType="pr",e.source={repositoryFullName:z.owner+"/"+z.repo,pullRequestId:z.pullRequestId},await le()):(e.detectedType="repo",te(),await Promise.all([st(),tt()]),me())}catch{}finally{_===p&&(e._preservingDraft=!1)}$('[data-toggle="tooltip"]').tooltip()},$('[data-toggle="tooltip"]').tooltip(),e.watch("source.branch",async()=>{if(e.detectedType!=="repo")return;let k=e.branches.filter(z=>z.name==e.source.branch)[0];if(!k)return;!(!e.reconnectingSource&&e.isUpdate&&e._originalBranch===e.source.branch&&e.source.commit)&&!(e._preservingDraft&&e.source.commit)&&(e.source.commit=k.commit),e.readme=k.readme,await tt(),me()}),e.getBranches=async k=>{let _=parseGithubUrl(e.sourceUrl),z=m();try{let x=await t.get(`/api/repo/${_.owner}/${_.repo}/branches`,{params:{reconnect:e.reconnectingSource?"1":void 0,anonymizedRepoId:e.isUpdate&&i.repoId&&ce(e.sourceUrl)===e._originalFullName?i.repoId:void 0,connection:e.githubConnection,force:k===!0||e.reconnectingSource?"1":"0",repositoryID:ke()}});if(!b(z))return;e.branches=x.data,e.sourceUnreachable=!1,e.source.branch||(e.source.branch=e.details.defaultBranch);let pe=e.branches.filter(be=>be.name==e.source.branch);pe.length>0&&(!(!e.reconnectingSource&&!k&&e.isUpdate&&!e.options.update&&e._originalBranch===e.source.branch&&e.source.commit)&&!(e._preservingDraft&&e.source.commit)&&(e.source.commit=pe[0].commit),e.readme=pe[0].readme,await tt(k))}catch(x){if(!b(z))return;e.branches=[],e.sourceUnreachable=x&&(x.status===404||x.data&&x.data.error==="repo_not_found");let pe=x&&x.data&&x.data.error||(x&&x.status===404?"repo_not_found":"unknown_error");r("ERRORS."+pe).then(be=>{e.toasts=e.toasts||[],e.addToast({title:"Error",date:new Date,body:be}),e.error=be},console.error),typeof J=="function"&&J("sourceUrl","missing",!1)}finally{w(z)}};async function st(){let k=parseGithubUrl(e.sourceUrl),_=m();try{ct();let z=await t.get(`/api/repo/${k.owner}/${k.repo}/`,{params:{reconnect:e.reconnectingSource?"1":void 0,anonymizedRepoId:e.isUpdate&&i.repoId&&ce(e.sourceUrl)===e._originalFullName?i.repoId:void 0,connection:e.githubConnection,repositoryID:ke(),force:"1"}});if(!b(_))return;e.details=z.data,e.reconnectingSource&&(e.reconnectRepositoryId=e.details.externalId),e.details&&e.details.id&&(e.repositoryID=e.details.id),e.repoId||(e.repoId=e.details.repo+"-"+generateRandomId(4)),await e.getBranches(e.reconnectingSource)}catch(z){if(!b(_))return;throw z.data&&(r("ERRORS."+z.data.error).then(x=>{e.addToast({title:"Error",date:new Date,body:x}),e.error=x},console.error),Qe(z.data.error)),J("sourceUrl","missing",!1),z}finally{w(_)}}async function tt(k){if(e.readme&&!k)return e.readme;let _=parseGithubUrl(e.sourceUrl),z=m();try{let x=await t.get(`/api/repo/${_.owner}/${_.repo}/readme`,{params:{reconnect:e.reconnectingSource?"1":void 0,anonymizedRepoId:e.isUpdate&&i.repoId&&ce(e.sourceUrl)===e._originalFullName?i.repoId:void 0,connection:e.githubConnection,force:k===!0?"1":"0",branch:e.source.branch,repositoryID:ke()}});b(z,!0)&&(e.readme=x.data)}catch{b(z,!0)&&(e.readme="")}finally{w(z)}}let He={magicalBraces:!0},bt=k=>k.startsWith("/")&&!k.endsWith("/")&&Vn(uo(k.slice(1),He),He)===k.slice(1),dt=()=>Object.keys(e.preserve.picked).filter(k=>e.preserve.picked[k]).sort().map(k=>"/"+Vn(k,He)),vt=k=>"/"+Vn(k,He)+"/**",X=k=>"!/"+Vn(k,He)+"/",fe=()=>String(e.preserve.patterns||"").split(` +`).map(k=>k.trim()).filter(Boolean),I=null,U=0,F=null,W=()=>!1;function E(){let k=U+"\0"+e.preserve.patterns;if(k!==F){F=k;try{W=Ea(Ca([...dt(),...fe()]))}catch{W=()=>!1}}return W}function N(k){let _=new Map([["",{dirs:[],files:[]}]]);for(let z of k){let x=z.split("/"),pe="";for(let be=0;be_.startsWith(k+"/"))),I.descendants.get(k)}let H=k=>E()(k);function B(k){let _=P(k),z=0;for(let x of _)H(x)&&z++;return z===0?"none":z===_.length?"all":"some"}e.preserve={open:!1,loading:!1,error:"",truncated:!1,commit:"",search:"",expanded:{},picked:{},patterns:"",patternsOpen:!1},e.preserveSummary=()=>{let k=(e.options?.preserveFiles||[]).map(_=>String(_).trim()).filter(Boolean).map(_=>bt(_)?uo(_.slice(1),He):_);return k.length?k.slice(0,2).join(", ")+(k.length>2?` and ${k.length-2} more`:""):"None. Every file is redacted."};async function K(){let k=e.source?.commit;if(!(I&&e.preserve.commit===k)){e.preserve.loading=!0,e.preserve.error="",I=null;try{let _=parseGithubUrl(e.sourceUrl),z=await t.get(`/api/repo/${_.owner}/${_.repo}/tree`,{params:{commit:k,connection:e.githubConnection,anonymizedRepoId:e.isUpdate&&i.repoId&&ce(e.sourceUrl)===e._originalFullName?i.repoId:void 0,repositoryID:ke()}});if(e.source?.commit!==k)return;I=Co(N(z.data.files||[])),e.preserve.commit=k,e.preserve.truncated=!!z.data.truncated,e.previewTreeOpen={}}catch{e.preserve.error="The file list could not be loaded from GitHub. You can still use patterns.",e.preserve.patternsOpen=!0}finally{e.preserve.loading=!1}}}e.watch("source.commit",k=>{e.detectedType==="repo"&&k&&e.sourceUrl&&K().catch(()=>{})}),e.openPreserveFiles=()=>{let k={},_=[];for(let x of e.options?.preserveFiles||[]){let pe=String(x).trim();pe&&(!_.length&&bt(pe)?k[uo(pe.slice(1),He)]=!0:_.push(pe))}let z={};for(let x of Object.keys(k)){let pe=x.split("/");for(let be=1;be0}),U++,a(()=>{let x=document.getElementById("preserve-files-dialog");x?.showModal&&!x.open&&x.showModal(),document.getElementById("preserve-files-search")?.focus()},0),K()},e.closePreserveFiles=()=>{document.getElementById("preserve-files-dialog")?.close?.(),e.preserve.open=!1},e.savePreserveFiles=()=>{e.options.preserveFiles=Ca([...dt(),...fe()]),e.closePreserveFiles()},e.preserveRows=()=>{if(!I)return[];let k=E(),_=(be,Fe,kt)=>{let pt=!!e.preserve.picked[be],Fn=k(be);return{kind:"file",path:be,label:kt,depth:Fe,state:Fn?"all":"none",locked:!pt&&Fn,note:!pt&&Fn?"matched by a pattern":pt&&!Fn?"excluded by a pattern":""}},z=String(e.preserve.search||"").trim().toLowerCase();if(z)return I.files.filter(be=>be.toLowerCase().includes(z)).slice(0,300).map(be=>_(be,0,be));let x=[],pe=(be,Fe)=>{let kt=I.dirs.get(be);for(let pt of kt.dirs){let Fn=!!e.preserve.expanded[pt],Pa=fe().includes(vt(pt));x.push({kind:"dir",path:pt,label:pt.slice(be?be.length+1:0)+"/",depth:Fe,open:Fn,state:B(pt),locked:!1,note:Pa?"whole folder":""}),Fn&&pe(pt,Fe+1)}for(let pt of kt.files)x.push(_(pt,Fe,pt.slice(be?be.length+1:0)))};return pe("",0),x},e.preserveCount=()=>I?I.files.filter(H).length:0,e.togglePreserveDir=k=>{e.preserve.expanded[k]=!e.preserve.expanded[k]},e.togglePreserveFile=k=>{e.preserve.picked[k]=!e.preserve.picked[k],U++},e.togglePreserveFolder=k=>{let _=vt(k),z=X(k),x=fe().filter(be=>be!==_&&be!==z),pe=B(k)==="all"||fe().includes(_);for(let be of P(k))e.preserve.picked[be]=!1;U++,e.preserve.patterns=(pe?x:[...x,_]).join(` +`),pe&&P(k).some(H)&&(e.preserve.patterns=[...x,z].join(` +`))};let se=[".github","","docs"].flatMap(k=>["README.md","README","README.markdown","README.rst","README.txt","readme.md"].map(_=>(k?k+"/":"")+_));e.readmePreserved=()=>{if(e.detectedType!=="repo")return!1;let k=(e.options?.preserveFiles||[]).map(_=>String(_).trim()).filter(Boolean);if(!k.length)return!1;try{let _=Ea(k);return se.some(z=>_(z))}catch{return!1}};function Q(){let k={terms:e.terms&&!e.readmePreserved()?e.terms.split(` +`):[],image:!!e.options.image,link:!!e.options.link,repoId:e.repoId};e.source&&e.source.branch&&(k.branchName=e.source.branch);try{let _=parseGithubUrl(e.sourceUrl);k.repoName=`${_.owner}/${_.repo}`}catch{}return k}function Z(k,_,z){let x=null,pe=0,be=()=>{if(e.detectedType!==k)return;x&&a.cancel(x);let Fe=++pe;e.previewStatus="loading",x=a(()=>{x=null;let kt=_();if(!kt){e.previewStatus="idle";return}t.post("/api/anonymize-preview",kt).then(pt=>{Fe===pe&&(z(pt.data,kt),e.previewStatus="ready")}).catch(()=>{Fe===pe&&(e.previewStatus="error")})},200)};return be.cancel=()=>{pe++,x&&a.cancel(x),x=null},e.on("dispose",be.cancel),be}e.retryPreview=()=>{e.detectedType==="repo"&&G(),e.detectedType==="pr"&&Ne(),e.detectedType==="gist"&&Ee()};let G=Z("repo",()=>e.readme?{content:e.readme,options:Q()}:null,k=>{if(typeof k?.content!="string")throw Error("Invalid preview response");e.anonymize_readme=k.content;let _="";try{let x=parseGithubUrl(e.sourceUrl),pe=e.source.branch||e.details&&e.details.defaultBranch||"main";_=`https://github.com/${x.owner}/${x.repo}/raw/${pe}/`}catch{}let z=renderMD(e.anonymize_readme,_);e.html_readme=z,a(()=>{Prism.highlightAll(),typeof Cs=="function"&&document.querySelectorAll(".reviewer-preview .anonymize-preview-body").forEach(Cs)},150)});function me(){!e.anonymize||!e.anonymize.terms||G()}async function le(){let k=parseGithubUrl(e.sourceUrl),_=m();try{ct();let z=await t.get(`/api/pr/${k.owner}/${k.repo}/${k.pullRequestId}`,{params:{connection:e.githubConnection}});if(!b(_))return;e.details=z.data,e.pullRequestId||(e.pullRequestId=k.repo+"-PR"+k.pullRequestId+"-"+generateRandomId(4))}catch(z){if(!b(_))return;throw z.data&&(r("ERRORS."+z.data.error).then(x=>{e.addToast({title:"Error",date:new Date,body:x}),e.error=x},console.error),Qe(z.data.error)),J("sourceUrl","missing",!1),z}finally{w(_)}}let re=ot(new Map);function he(){let k=new Set,_=e.details&&e.details.pullRequest;if(!_)return k;typeof _.title=="string"&&k.add(_.title),typeof _.body=="string"&&k.add(_.body),typeof _.diff=="string"&&k.add(_.diff);let z=_.comments||[];for(let x of z)typeof x.author=="string"&&k.add(x.author),typeof x.body=="string"&&k.add(x.body);return k}let Ne=Z("pr",()=>{let k=he(),_=Array.from(k);return _.length===0?null:{contents:_,options:Q()}},(k,_)=>{if(!Array.isArray(k?.contents)||k.contents.length!==_.contents.length||k.contents.some(pe=>typeof pe!="string"))throw Error("Invalid preview response");let z=_.contents,x=new Map;for(let pe=0;pere.set(be,pe))});e.anonymizePrContent=function(k){return k&&(re.has(k)?re.get(k):"")};async function Me(){let k=parseGithubUrl(e.sourceUrl),_=m();try{ct(),e.gistOAuthRequired=!1,e.gistAppRequired=!1;let z=await t.get(`/api/gist/source/${k.gistId}`);if(!b(_))return;e.details=z.data,e.gistId||(e.gistId="gist-"+k.gistId.substring(0,6)+"-"+generateRandomId(4))}catch(z){if(!b(_))return;if(z.data?.error==="github_app_reconnect_required"){e.gistAppRequired=!0,J("sourceUrl","missing",!1);return}if(z.data?.error==="github_oauth_required"){e.gistOAuthRequired=!0,J("sourceUrl","missing",!1);return}throw z.data&&(r("ERRORS."+z.data.error).then(x=>{e.addToast({title:"Error",date:new Date,body:x}),e.error=x},console.error),Qe(z.data.error)),J("sourceUrl","missing",!1),z}finally{w(_)}}let Oe=ot(new Map);function ge(){let k=new Set,_=e.details&&e.details.gist;if(!_)return k;typeof _.description=="string"&&k.add(_.description),typeof _.ownerLogin=="string"&&k.add(_.ownerLogin);let z=_.files||[];for(let pe of z)typeof pe.filename=="string"&&k.add(pe.filename),typeof pe.content=="string"&&k.add(pe.content);let x=_.comments||[];for(let pe of x)typeof pe.author=="string"&&k.add(pe.author),typeof pe.body=="string"&&k.add(pe.body);return k}let Ee=Z("gist",()=>{let k=ge(),_=Array.from(k);return _.length===0?null:{contents:_,options:Q()}},(k,_)=>{if(!Array.isArray(k?.contents)||k.contents.length!==_.contents.length||k.contents.some(pe=>typeof pe!="string"))throw Error("Invalid preview response");let z=_.contents,x=new Map;for(let pe=0;peOe.set(be,pe)),je()});e.anonymizeGistContent=function(k){return k&&(Oe.has(k)?Oe.get(k):"")},e.previewGistFiles=[];function je(){let k=e.details&&e.details.gist&&e.details.gist.files||[];e.previewGistFiles=k.map(_=>({filename:e.anonymizeGistContent(_.filename),content:e.anonymizeGistContent(_.content),language:_.language}))}e.watch("details.gist.files",je,!0),e.watch("terms",je);function Ye(){let k=e.conference;if(e.conference_data=null,!k)return;let _=k===g||e.isUpdate&&k===e._originalConference;k!==g&&(g=null),t.get("/api/conferences/"+k).then(z=>{e.conference===k&&(e.conference_data=z.data,e.conference_data.startDate=new Date(e.conference_data.startDate),e.conference_data.endDate=new Date(e.conference_data.endDate),!_&&(e.options.expirationDate=new Date(e.conference_data.endDate),e.options.expirationMode="remove",e.options.update=e.conference_data.options.update,e.options.image=e.conference_data.options.image,e.options.pdf=e.conference_data.options.pdf,e.options.notebook=e.conference_data.options.notebook,e.options.link=e.conference_data.options.link))},()=>{e.conference===k&&(e.conference_data=null)})}function ct(){J("repoId","used",!0),J("repoId","format",!0),J("pullRequestId","used",!0),J("pullRequestId","format",!0),J("gistId","used",!0),J("gistId","format",!0),J("sourceUrl","used",!0),J("sourceUrl","missing",!0),J("sourceUrl","access",!0),J("sourceUrl","github",!0),J("commit","exists",!0),J("conference","activated",!0),J("terms","format",!0),e.termHints=[]}function wt(){if(e.detectedType==="repo"&&e.options.expirationMode==="never")return!1;let k=e.anonymize&&e.anonymize.expirationDate;return!e.options.expirationDate||k&&k.invalid?(k&&k.setDirty&&k.setDirty(),e.error="Please choose a valid expiration date.",!0):!1}function Qe(k){let _=e.detectedType==="pr"?"pullRequestId":e.detectedType==="gist"?"gistId":"repoId";switch(k){case"repoId_already_used":J(_,"used",!1);break;case"invalid_repoId":J(_,"format",!1);break;case"options_not_provided":J(_,"format",!1);break;case"repo_already_anonymized":J("sourceUrl","used",!1);break;case"invalid_terms_format":J("terms","format",!1);break;case"repo_not_found":J("sourceUrl","missing",!1);break;case"repo_not_accessible":J("sourceUrl","access",!1);break;case"commit_not_found":J("commit","exists",!1);break;case"conf_not_activated":J("conference","activated",!1);break}}e.coauthors=e.coauthors||[],e.coauthorResults=[],e.coauthorError="",e.searchCoauthors=()=>{let k=(e.coauthorSearch||"").trim();if(e.coauthorError="",k.length<2){e.coauthorResults=[];return}t.get("/api/user/search/github-users",{params:{q:k}}).then(_=>{let z=new Set((e.coauthors||[]).map(x=>(x.username||"").toLowerCase()));e.coauthorResults=(_.data||[]).filter(x=>!z.has((x.username||"").toLowerCase()))},()=>{e.coauthorResults=[]})},e.addCoauthor=(k,_)=>{_&&_.preventDefault(),!(!k||!k.username)&&t.post("/api/repo/"+e.repoId+"/coauthors",{username:k.username}).then(z=>{e.coauthors=z.data||[],e.coauthorResults=[],e.coauthorSearch="",e.coauthorError=""},z=>{let x=z&&z.data&&z.data.error||"unknown_error";e.coauthorError=x})},e.removeCoauthor=k=>{!k||!k.username||confirm("Remove co-author "+k.username+"?")&&t.delete("/api/repo/"+e.repoId+"/coauthors/"+encodeURIComponent(k.username)).then(_=>{e.coauthors=_.data||[]},_=>{let z=_&&_.data&&_.data.error||"unknown_error";e.coauthorError=z})},e.anonymizeRepo=k=>{if(e.sourceLoading){e.error="Wait for the source to finish loading before saving.";return}if(e.reconnectingSource&&!e.reconnectRepositoryId)return;if(wt()){e.editRepository();return}if(e.anonymize?.invalid||e.sourceUrlError){e.editRepository(),e.error="Please correct the highlighted fields before saving.";return}if(e.hostingNeedsPayment()&&e.options.expirationMode==="never"){e.hostingReview=!0,xe(()=>document.getElementById("repository-hosting")?.scrollIntoView({block:"center"}));return}let _=k.currentTarget||k.target.closest?.("button")||k.target;_.disabled=!0;let z=parseGithubUrl(e.sourceUrl),x={repoId:e.repoId,terms:e.terms.trim().split(` +`).filter(be=>be),connection:e.githubConnection,fullName:`${z.owner}/${z.repo}`,repository:e.sourceUrl,reconnectRepositoryId:e.reconnectRepositoryId,options:e.options,source:e.source,conference:e.conference};e.details&&(x.options.pageSource=e.details.pageSource),ct();let pe=e.isUpdate?"/api/repo/"+e.repoId:"/api/repo/";t.post(pe,x,{headers:{"Content-Type":"application/json"}}).then(()=>{R.clear(),window.location.href="/status/"+e.repoId},be=>{if(be.data){let Fe=["quota_exceeded","subscription_required_for_never_expiration"].includes(be.data.error);Fe||r("ERRORS."+be.data.error).then(kt=>{e.error=kt},console.error),Qe(be.data.error),Fe&&(be.data.error==="subscription_required_for_never_expiration"&&(e._existingNever=!1),e.hostingQuotaBlocked=!0,e.hostingReview=!0,xe(()=>document.getElementById("repository-hosting")?.scrollIntoView({block:"center"})))}}).finally(()=>{_.disabled=!1})},e.anonymizeGist=k=>{if(e.sourceLoading){e.error="Wait for the source to finish loading before saving.";return}if(wt())return;if(e.anonymize?.invalid||e.sourceUrlError){e.error="Please correct the highlighted fields before saving.";return}let _=k.currentTarget||k.target.closest?.("button")||k.target;_.disabled=!0;let z=parseGithubUrl(e.sourceUrl),x={gistId:e.gistId,terms:e.terms.trim().split(` +`).filter(be=>be),source:{gistId:z.gistId},options:e.options,conference:e.conference};ct();let pe=e.isUpdate?"/api/gist/"+e.gistId:"/api/gist/";t.post(pe,x,{headers:{"Content-Type":"application/json"}}).then(()=>{R.clear(),window.location.href="/gist/"+e.gistId},be=>{be.data&&(r("ERRORS."+be.data.error).then(Fe=>{e.error=Fe},console.error),Qe(be.data.error))}).finally(()=>{_.disabled=!1})},e.anonymizePullRequest=k=>{if(e.sourceLoading){e.error="Wait for the source to finish loading before saving.";return}if(wt())return;if(e.anonymize?.invalid||e.sourceUrlError){e.error="Please correct the highlighted fields before saving.";return}let _=k.currentTarget||k.target.closest?.("button")||k.target;_.disabled=!0;let z=parseGithubUrl(e.sourceUrl),x={pullRequestId:e.pullRequestId,connection:e.githubConnection,terms:e.terms.trim().split(` +`).filter(be=>be),source:{repositoryFullName:`${z.owner}/${z.repo}`,pullRequestId:z.pullRequestId},options:e.options,conference:e.conference};ct();let pe=e.isUpdate?"/api/pr/"+e.pullRequestId:"/api/pr/";t.post(pe,x,{headers:{"Content-Type":"application/json"}}).then(()=>{R.clear(),window.location.href="/pr/"+e.pullRequestId},be=>{be.data&&(r("ERRORS."+be.data.error).then(Fe=>{e.error=Fe},console.error),Qe(be.data.error))}).finally(()=>{_.disabled=!1})},e.watch("conference",()=>{Ye()}),e.termHints=[],e.matchTermAsWritten=k=>{e.terms=fc(e.terms,k)},e.watch("options.preserveFiles",()=>{e.detectedType==="repo"&&G()}),e.watch("terms",()=>{e.termHints=pc(e.terms),e.detectedType==="repo"&&me(),e.detectedType==="pr"&&Ne(),e.detectedType==="gist"&&Ee()}),e.watch("options.image",()=>{e.detectedType==="repo"&&me(),e.detectedType==="pr"&&Ne(),e.detectedType==="gist"&&Ee()}),e.watch("options.link",()=>{e.detectedType==="repo"&&me(),e.detectedType==="pr"&&Ne(),e.detectedType==="gist"&&Ee()}),e.watch("details",()=>{e.detectedType==="pr"&&Ne(),e.detectedType==="gist"&&Ee()},!0)},Da=function(e,t,o,i,s,r){let a=Tt();mc();let u=Qt();e.on("dark-mode",(I,U)=>{e.aceOption&&(U?e.aceOption.theme="nord_dark":e.aceOption.theme="chrome")});let p=0,y=null,h=null;e.fileLoadingSlow=!1,e.fileReceivedBytes=0;function b(){y&&(y.resolve(),y=null),h&&(a.timeout.cancel(h),h=null)}let m=!1;e.on("dispose",()=>{m=!0,p++,b(),w&&w.resolve()}),e.files=[],e.isMac=/Mac|iPhone|iPad|iPod/.test(navigator.platform||navigator.userAgent),e.fileSearchQuery="",e.fileSearchResults=null,e.fileSearchLoading=!1,u(document,"click",I=>{e.symbolsOpen&&!I.target.closest?.(".symbols")&&(e.symbolsOpen=!1),e.moreOpen&&!I.target.closest?.(".tb-more")&&(e.moreOpen=!1),e.tocOpen&&!I.target.closest?.(".tb-toc-m")&&(e.tocOpen=!1),e.gotoOpen&&I.target.isConnected&&!I.target.closest?.(".goto-pop, .btn-goto, .tb-more")&&(e.gotoOpen=!1),e.accountOpen&&!I.target.closest?.(".acct")&&(e.accountOpen=!1),e.helpOpen&&!I.target.closest?.(".vb-help")&&(e.helpOpen=!1)}),u(document,"keydown",I=>{I.key==="Escape"&&(e.symbolsOpen=!1,e.moreOpen=!1,e.tocOpen=!1,e.gotoOpen=!1,e.accountOpen=!1,e.helpOpen=!1),(I.ctrlKey||I.metaKey)&&!I.altKey&&I.key&&I.key.toLowerCase()==="f"&&e.type==="html"&&window.document.querySelector(".reading-layout")&&(I.preventDefault(),e.toggleMdFind(!0))}),u(document,"keydown",function(I){if((I.metaKey||I.ctrlKey)&&I.key==="k"){I.preventDefault();var U=document.querySelector(".tree-search-input");U&&(U.focus(),U.select())}});var w=null;e.onFileSearchChange=function(){w&&(w.resolve(),w=null);let I=e.fileSearchQuery;if(!I||I.length<2){e.fileSearchResults=null,e.fileSearchLoading=!1;return}e.fileSearchLoading=!0;let U=r.defer();w=U,t.get(`/api/repo/${e.repoId}/files/search?q=${encodeURIComponent(I)}`,{timeout:U.promise}).then(function(F){if(!(m||w!==U)){w=null,e.fileSearchLoading=!1;var W={};e.files.forEach(function(he){W[(he.path||"")+"/"+he.name]=!0});for(var E=[],N={},P=0;P0&&e.files.push.apply(e.files,E);for(var G=[],me=0;me0&&e.files.push.apply(e.files,G),e.fileSearchResults=F.data}},function(){!m&&w===U&&(w=null,e.fileSearchLoading=!1,e.fileSearchResults=[])})};let A={yml:"yaml",txt:"text",py:"python",js:"javascript",ts:"typescript"},S=["license","txt"],R=["png","jpg","jpeg","gif","svg","ico","bmp","tiff","tif","webp","avif","heif","heic"],g=["wav","mp3","ogg","wma","flac","aac","m4a"],C=["mp4","avi","webm","mov","mpg","mpeg","mkv","flv","wmv","3gp","3g2","m4v","f4v","f4p","f4a","f4b"];e.on("routeUpdate",function(I,U){if(e.repoId!=i.repoId)return fe();if((i.path||"")!=e.filePath){window.matchMedia?.("(max-width: 767px)").matches&&(e.sidebarCollapsed=!0),e.filePath=i.path||"",e.paths=e.filePath.split("/").filter(F=>F&&F.trim().length>0),dt();for(let F=0;F0?e.paths.slice(0,F).join("/"):"";e.files.some(N=>N.path===W)||e.getFiles(W)}}});function M(){if(e.paths[0]!="")return;let I=["readme.md","readme.txt","readme.org","readme.1st","readme"],U={};for(let W of e.files)W.name.toLowerCase().indexOf("readme")>-1&&(U[W.name.toLowerCase()]=W.name);let F=null;for(let W of I)if(U[W]){F=W;break}if(!F&&Object.keys(U).length>0&&(F=Object.keys(U)[0]),F){let W=o.url();W[W.length-1]!="/"&&(W+="/"),o.url(W+encodePathForUrl(U[F]))}}e.fileCounts=null;let V=0,q=new Set,j=!1;e.getFiles=function(I,U=!1){let F=e.repoId,W=V;return t.get(`/api/repo/${e.repoId}/files/?path=${encodeURIComponent(I)}&v=${e.options.lastUpdateDate}`).then(function(E){if(m||F!==e.repoId||W!==V)return[];let N=I||"";return e.files=e.files.filter(P=>P.path!==N),e.files.push(...E.data),e.loadedFolders={...e.loadedFolders,[N]:!0},ne(N,W),E.data},function(E){if(m||F!==e.repoId||W!==V)return[];U||(e.type="error",e.content=Na(E),e.files=[])})};function ne(I,U){if(j||q.has(I))return;q.add(I);let F=e.repoId;t.get(`/api/repo/${e.repoId}/files/counts?path=${encodeURIComponent(I)}`).then(function(W){m||F!==e.repoId||U!==V||(e.fileCounts={...e.fileCounts,...W.data})},function(){m||F!==e.repoId||U!==V||(j=!0)})}function Y(){return e.files.filter(I=>I.name==e.paths[e.paths.length-1]&&I.path==e.paths.slice(0,e.paths.length-1).join("/"))[0]}var oe=null;e.on("dispose",function(){oe&&a.interval.cancel(oe)});function Ce(I){if(m)return;let U=e.repoId;t.get(`/api/repo/${e.repoId}/options`).then(F=>{if(!(m||U!==e.repoId)){if(e.options=F.data,e.options.url){window.location=e.options.url;return}I&&I(F.data)}},F=>{if(!(m||U!==e.repoId)){var W=F.data||{};if(W.error==="rate_limited"&&W.resetAt){let N=function(){var P=Math.max(0,Math.ceil((e.rateLimitResetAt-Date.now())/1e3));if(P<=0)e.rateLimitCountdown="",e.rateLimitResetAt=0,oe&&(a.interval.cancel(oe),oe=null),Ce(I);else{var H=Math.floor(P/60),B=P%60;e.rateLimitCountdown=H>0?H+"m "+B+"s":B+"s"}};var E=N;e.type="rate_limited",e.rateLimitResetAt=W.resetAt,oe&&a.interval.cancel(oe),N(),oe=a.interval(N,1e3)}else W.error==="repository_not_ready"?(e.type="loading",a.timeout(function(){Ce(I)},3e3)):(e.type="error",e.content=Na(F))}})}e.toggleSource=function(){e.showSource=!e.showSource},e.toggleAllowScripts=function(){e.allowScripts=!e.allowScripts};let D=(()=>{try{return window.localStorage?.getItem("wrapLines")}catch{return null}})();e.wrapLines=(D??(window.matchMedia?.("(max-width: 767px)").matches?"false":"true"))!=="false",e.toggleWrap=function(){e.wrapLines=!e.wrapLines;try{window.localStorage?.setItem("wrapLines",String(e.wrapLines))}catch{}e.codeEditor?.session.setUseWrapMode(e.wrapLines)};function te(){return window.document.querySelector(".reading-layout .markdown-body")}function ue(){let I=te();I&&(I.querySelectorAll("mark.md-find").forEach(U=>{U.replaceWith(window.document.createTextNode(U.textContent))}),I.normalize())}e.runMdFind=function(){ue(),e.mdFindTotal=0,e.mdFindIndex=0;let I=(e.mdFindQuery||"").trim(),U=te();if(!I||!U)return;let F=!!e.mdFindCase,W=F?I:I.toLowerCase(),E=window.document.createTreeWalker(U,4),N=[];for(;E.nextNode();)(F?E.currentNode.nodeValue:E.currentNode.nodeValue.toLowerCase()).includes(W)&&N.push(E.currentNode);let P=0;for(let H of N){let B=H.nodeValue,K=F?B:B.toLowerCase(),se=window.document.createDocumentFragment(),Q=0,Z;for(;(Z=K.indexOf(W,Q))!==-1;){se.appendChild(window.document.createTextNode(B.slice(Q,Z)));let G=window.document.createElement("mark");G.className="md-find",G.textContent=B.slice(Z,Z+I.length),se.appendChild(G),P++,Q=Z+I.length}se.appendChild(window.document.createTextNode(B.slice(Q))),H.parentNode.replaceChild(se,H)}e.mdFindTotal=P,P&&e.stepMdFind(0)},e.stepMdFind=function(I){let U=te();if(!U||!e.mdFindTotal)return;let F=U.querySelectorAll("mark.md-find");e.mdFindIndex=(e.mdFindIndex+I+F.length)%F.length,F.forEach((W,E)=>W.classList.toggle("is-current",E===e.mdFindIndex)),F[e.mdFindIndex]?.scrollIntoView({block:"center",behavior:"smooth"})},e.toggleMdFind=function(I){if(e.mdFindOpen=I===void 0?!e.mdFindOpen:I,!e.mdFindOpen){ue(),e.mdFindTotal=0;return}xe(()=>window.document.querySelector(".md-find-input")?.focus())},e.findInFile=function(){let I=e.codeEditor;if(!I)return;I.focus(),I.execCommand("find");let U=()=>{let F=I.searchBox?.element;F&&(I.renderer.setScrollMargin(52,12,0,0),!F._dockObserver&&(F._dockObserver=new MutationObserver(()=>{I.renderer.setScrollMargin(F.style.display!=="none"?52:12,12,0,0)}),F._dockObserver.observe(F,{attributes:!0,attributeFilter:["style"]})))};U(),setTimeout(U,150)};let Pe=[[/^\s*(?:export\s+)?(?:default\s+)?(?:abstract\s+)?class\s+([A-Za-z_$][\w$]*)/,"class"],[/^\s*(?:export\s+)?(?:default\s+)?(?:async\s+)?function\s*\*?\s*([A-Za-z_$][\w$]*)/,"function"],[/^\s*(?:export\s+)?(?:const|let|var)\s+([A-Za-z_$][\w$]*)\s*=\s*(?:async\s*)?(?:function|\([^)]*\)\s*=>|[A-Za-z_$][\w$]*\s*=>)/,"function"],[/^\s*(?:async\s+)?def\s+([A-Za-z_]\w*)/,"function"],[/^\s*class\s+([A-Za-z_]\w*)/,"class"],[/^\s*func\s+(?:\([^)]*\)\s*)?([A-Za-z_]\w*)/,"function"],[/^\s*(?:pub\s+)?fn\s+([A-Za-z_]\w*)/,"function"],[/^\s*(?:public|private|protected|static|\s)+[\w<>\[\],\s]+\s+([A-Za-z_]\w*)\s*\([^;]*\)\s*\{?\s*$/,"function"]],we={content:null,list:[]};e.symbolsOpen=!1,e.symbols=function(){if(typeof e.content!="string"||e.content.length>2e6)return[];if(we.content===e.content)return we.list;let I=[];return e.content.split(` +`).forEach((U,F)=>{for(let[W,E]of Pe){let N=W.exec(U);if(N&&!/^(if|for|while|switch|return|catch)$/.test(N[1])){I.push({name:N[1],kind:E,line:F+1});break}}}),we={content:e.content,list:I.slice(0,300)},we.list},e.goToSymbol=function(I){e.symbolsOpen=!1;let U=e.codeEditor;U&&(U.scrollToLine(I-1,!0,!0,()=>{}),U.gotoLine(I,0,!0),window.history.replaceState(null,"",window.location.pathname+window.location.search+"#L"+I),window.dispatchEvent(new HashChangeEvent("hashchange")))},e.gotoLine=function(){e.codeEditor&&(e.moreOpen=!1,e.gotoError="",e.gotoValue=String(e.codeEditor.getCursorPosition().row+1),e.gotoOpen=!0,setTimeout(()=>{let I=window.document.getElementById("goto-input");I&&(I.focus(),I.select())},0))},e.closeGoto=function(){e.gotoOpen=!1,e.gotoError="",e.codeEditor?.focus()},e.submitGoto=function(){let I=e.codeEditor;if(!I)return;let U=/^\s*:?\s*(\d+)\s*(?:[:,]\s*(\d+))?\s*$/.exec(e.gotoValue||""),F=I.session.getLength();if(!U||+U[1]<1||+U[1]>F){e.gotoError="Enter a line from 1 to "+F;return}I.gotoLine(+U[1],U[2]?Math.max(0,+U[2]-1):0,!0),e.gotoOpen=!1,e.gotoError="",I.focus()},e.rootEntries=function(){return[...e.files||[]].sort((I,U)=>{let F=I.size==null,W=U.size==null;return F!==W?F?-1:1:I.name.localeCompare(U.name)})},e.formatSize=function(I){if(I==null)return"";if(I<1024)return I+" B";let U=I/1024,F=W=>W.toFixed(1).replace(/\.0$/,"");return U<1024?F(U)+" KB":U<1024*1024?F(U/1024)+" MB":F(U/1024/1024)+" GB"},e.fileSize=function(I){if(!I)return null;let U=I.replace(/^\/+/,""),F=(e.files||[]).find(W=>(W.path?W.path+"/":"")+W.name===U);return F&&F.size!=null?F.size:null},e.revealFolder=function(I){e.sidebarHidden=!1,e.sidebarCollapsed=!1,xe(()=>{let U=window.document.querySelector('.files a[data-path="/'+(window.CSS?.escape?window.CSS.escape(I):I)+'"]');U&&(U.closest("li")?.classList.contains("open")||U.click(),U.scrollIntoView({block:"nearest"}),U.focus())})};let J={content:null,n:0},ce=I=>{if(J.content===I)return J.n;let U=I;if(typeof U=="string")try{U=JSON.parse(U)}catch{U=null}let F=[],W=N=>{Array.isArray(N)?F.push(N.join("")):typeof N=="string"&&F.push(N)};(U&&(U.cells||(U.worksheets||[]).flatMap(N=>N.cells||[]))||[]).forEach(N=>{W(N?.source??N?.input),(N?.outputs||[]).forEach(P=>{W(P?.text),P?.data&&(W(P.data["text/plain"]),W(P.data["text/markdown"]),W(P.data["text/html"])),W(P?.traceback)})});let E=F.reduce((N,P)=>N+(P.match(fo)||[]).length,0);return J={content:I,n:E},E};e.redactionCount=function(){return e.type==="IPython"?ce(e.content):typeof e.content!="string"?0:((e.type==="html"?e.content.replace(/<[^>]*>/g," "):e.content).match(fo)||[]).length},e.renderRedacted=_i;let ke=I=>I.toLowerCase().trim().replace(/[^a-z0-9\s-]/g,"").replace(/\s+/g,"-").slice(0,60)||"section";e.renderReadme=function(I){let U=e.renderRedacted(I);if(!U||typeof window.DOMParser!="function")return U;let F=new window.DOMParser().parseFromString("
"+U+"
","text/html"),W={};return F.querySelectorAll("h1, h2, h3").forEach(E=>{let N=E.id||ke(E.textContent);W[N]?N+="-"+ ++W[N]:W[N]=1,E.id=N}),F.body.firstChild.innerHTML};let De={content:null,list:[]};e.readmeToc=function(){if(e.type!=="html"||typeof e.content!="string")return[];if(De.content===e.content)return De.list;let U=[...new window.DOMParser().parseFromString("
"+e.renderReadme(e.sanitize?e.sanitize(e.content):e.content)+"
","text/html").querySelectorAll("h2, h3")].map(F=>({id:F.id,text:F.textContent.trim(),level:F.tagName==="H3"?3:2})).slice(0,40);return De={content:e.content,list:U},U},e.activeHeading=null,u(window,"scroll",()=>{let I=e.readmeToc?e.readmeToc():[];if(!I.length)return;let U=150,F="",W="";for(let E of I){let N=window.document.getElementById(E.id);if(!N)continue;let P=N.getBoundingClientRect().top;P{let F=[],W=[],E="",N=!1;for(let P=0;PP.length>1||P[0]!=="")};e.isCsv=()=>typeof e.content=="string"&&e.type!=="html"&&/\.(csv|tsv)$/i.test(e.filePath||"")&&e.content.length<=1024*1024,e.csvRows=()=>{if(et.content!==e.content){let I=/\.tsv$/i.test(e.filePath||"")?" ":",";et={content:e.content,rows:st(e.content,I)}}return et.rows},e.csvNumCol=I=>{let U=e.csvRows().slice(1).map(F=>F[I]).filter(F=>F!=null&&String(F).trim()!=="");return U.length>0&&U.every(F=>e.csvNumeric(F))},e.csvNumeric=I=>/^\s*[-+]?(\d[\d,]*)?(\.\d+)?(e[-+]?\d+)?%?\s*$/i.test(I)&&/\d/.test(I),e.redactParts=function(I){let U=[],F=0,W,E=/\bXXXX-(\d+)\b/g;for(I=String(I||"");W=E.exec(I);)W.index>F&&U.push({t:I.slice(F,W.index)}),U.push({n:W[1]}),F=W.index+W[0].length;return F{e.pathCopied=!1},1600))},e.contentCopied=!1,e.copyContent=async function(){if(typeof e.content!="string"||!window.navigator.clipboard?.writeText)return;let I=e.content;if(e.type==="html"&&e.url)try{I=await(await window.fetch(e.url,{credentials:"same-origin"})).text()}catch{return}await window.navigator.clipboard.writeText(I),e.contentCopied=!0,setTimeout(()=>{e.contentCopied=!1},1600)};function tt(I){return A[I]?A[I]:I}function He(I){return I=="pdf"?"pdf":I=="html"||I=="htm"?"html-doc":I=="md"?"md":I=="org"?"org":I=="ipynb"?"IPython":S.indexOf(I)>-1?"text":R.indexOf(I)>-1?"image":C.indexOf(I)>-1?"media":g.indexOf(I)>-1?"audio":"code"}function bt(I,U){let F=p;if(!I){e.type="error",e.content="no_file_selected";return}let W=e.type;(W==="code"||W==="text")&&Us().catch(()=>{}),e.type="loading",e.content="loading",e.fileLoadingSlow=!1,e.fileReceivedBytes=0;let E=r.defer();y=E,h=a.timeout(()=>{!m&&F===p&&e.type==="loading"&&(e.fileLoadingSlow=!0)},1500);let N=U&&U.sha||"0";t.get(`/api/repo/${e.repoId}/file/${encodePathForUrl(I)}?v=`+N,{timeout:E.promise,onDownloadProgress:P=>{!m&&F===p&&(e.fileReceivedBytes=P)},transformResponse:P=>P}).then(P=>{if(!(m||F!==p)){if(b(),e.type=W,e.content=P.data,e.content==""&&(e.content=null),e.type=="md"&&(e.content=renderMD(P.data,o.url()+"/../"),e.type="html"),e.type=="org"){let B=contentAbs2Relative(P.data);var H=new Org.Parser().parse(B).convert(Org.ConverterHTML,{headerOffset:1,exportFromLineNumber:!1,suppressSubScriptHandling:!0,suppressAutoLink:!1});e.content=DOMPurify.sanitize(H.toString()),e.type="html"}e.type=="code"&&P.headers("content-type")=="application/octet-stream"&&(e.type="binary",e.content="binary"),a.timeout(()=>{Prism.highlightAll()},50)}},P=>{m||F!==p||(b(),e.type="error",e.content=Na(P))})}function dt(){p++,b(),e.content="",e.file=Y();let I="0";e.file&&e.file.sha&&(I=e.file.sha),e.url=`/api/repo/${e.repoId}/file/${encodePathForUrl(e.filePath)}?v=${I}`;let U=e.filePath.substring(0,e.filePath.lastIndexOf("/")+1);e.fileBaseUrl=`/api/repo/${e.repoId}/file/${U?encodePathForUrl(U):""}`,e.showSource=!1,e.imageSize="",e.allowScripts=!1;let F=e.filePath.toLowerCase(),W=F.lastIndexOf(".");W>-1&&(F=F.substring(W+1));let E={javascript:"JavaScript",typescript:"TypeScript",tsx:"TSX",jsx:"JSX",python:"Python",java:"Java",c_cpp:"C/C++",csharp:"C#",golang:"Go",rust:"Rust",ruby:"Ruby",php:"PHP",html:"HTML",css:"CSS",scss:"SCSS",json:"JSON",yaml:"YAML",markdown:"Markdown",sh:"Shell",dockerfile:"Dockerfile",xml:"XML",sql:"SQL",kotlin:"Kotlin",swift:"Swift",scala:"Scala",r:"R",julia:"Julia",latex:"LaTeX",toml:"TOML",csv:"CSV",tsv:"TSV",text:""},N=tt(F);if(e.languageName=E[N]??(N?N.charAt(0).toUpperCase()+N.slice(1):""),e.aceOption={readOnly:!0,useWrapMode:!0,showGutter:!0,theme:"chrome",useSoftTab:!0,tabSize:2,fontSize:window.matchMedia?.("(max-width: 767px)").matches?12:13,keyBinding:"vscode",fullLineSelection:!0,highlightActiveLine:!1,highlightGutterLine:!1,cursor:"hide",showInvisibles:!1,showIndentGuides:!1,showPrintMargin:!1,highlightSelectedWord:!1,enableBehaviours:!0,fadeFoldWidgets:!1,mode:tt(F),onLoad:function(P){e.codeEditor=Co(P);{let re=P.session,he=re.getTokens.bind(re),Ne=/\bXXXX-\d+\b/g;if(re.getTokens=function(Me){let Oe=he(Me);if(!Oe.some(Ee=>Ee.value.indexOf("XXXX-")!==-1))return Oe;let ge=[];for(let Ee of Oe){if(Ee.value.indexOf("XXXX-")===-1){ge.push(Ee);continue}let je=0;Ne.lastIndex=0;let Ye;for(;Ye=Ne.exec(Ee.value);)Ye.index>je&&ge.push({type:Ee.type,value:Ee.value.slice(je,Ye.index)}),ge.push({type:"redacted.n"+Ye[0].slice(5),value:Ye[0]}),je=Ye.index+Ye[0].length;je`.ace_redacted.ace_n${ge+1}::after{content:"${ge+1}"}`).join(""),window.document.head.appendChild(Me)}P.renderer.updateFull(!0)}P.session.setUseWrapMode(e.wrapLines!==!1);let H=P.container.closest?.(".file-card"),B=()=>{if(!H)return;let re=P.renderer,he=(re.layerConfig?.width||0)-(re.$size?.scrollerWidth||0);H.classList.toggle("at-right-edge",he<=2||re.getScrollLeft()>=he-2)};P.session.on("changeScrollLeft",B),P.renderer.on("afterRender",B),window.matchMedia?.("(max-width: 767px)").matches&&P.setOption("hScrollBarAlwaysVisible",!0);let K=ace.require("ace/range").Range,se=null;function Q(re,he){se!==null&&(P.session.removeMarker(se),se=null),re!=null&&(se=P.session.addMarker(new K(re,0,he,1),"highlighted-line","fullLine"))}function Z(re){let he=window.location.hash.match(/^#L(\d+)(?:-L(\d+))?/);if(!he){Q(null);return}let Ne=parseInt(he[1])-1,Me=he[2]?parseInt(he[2])-1:Ne;Q(Ne,Me),re&&a.timeout(()=>{P.scrollToLine(Ne,!0,!0,function(){})},100)}Z(!0);let G=null;P.on("guttermousedown",function(re){let he=re.getDocumentPosition().row,Ne=re.domEvent&&re.domEvent.shiftKey,Me=he,Oe=he;Ne&&G!==null?(Me=Math.min(G,he),Oe=Math.max(G,he)):G=he;let ge=Me===Oe?`#L${Me+1}`:`#L${Me+1}-L${Oe+1}`,Ee=window.location.pathname+window.location.search+ge;window.history.replaceState(null,"",Ee),Q(Me,Oe),re.stop()});let me=u(window,"hashchange",()=>Z(!1));P.setFontSize(e.aceOption.fontSize),P.setOptions({fontFamily:"'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace"}),P.container.style.lineHeight="20px",P.renderer.setPadding(16),P.renderer.setScrollMargin(12,12,0,0),P.renderer.updateFontSize(),P.setReadOnly(e.aceOption.readOnly),P.setKeyboardHandler(e.aceOption.keyBinding),P.setSelectionStyle(e.aceOption.fullLineSelection?"line":"text"),P.setOption("displayIndentGuides",!1),P.setHighlightActiveLine(e.aceOption.highlightActiveLine),e.aceOption.cursor=="hide"&&(P.renderer.$cursorLayer.element.style.display="none"),P.setHighlightGutterLine(e.aceOption.highlightGutterLine),P.setShowInvisibles(e.aceOption.showInvisibles),P.setDisplayIndentGuides(e.aceOption.showIndentGuides),P.renderer.setShowPrintMargin(e.aceOption.showPrintMargin),P.setHighlightSelectedWord(e.aceOption.highlightSelectedWord),P.session.setUseSoftTabs(e.aceOption.useSoftTab),P.session.setTabSize(e.aceOption.tabSize),P.setBehavioursEnabled(e.aceOption.enableBehaviours),P.setFadeFoldWidgets(e.aceOption.fadeFoldWidgets);let le=u(window,"keydown",re=>{if((re.ctrlKey||re.metaKey)&&!re.altKey&&re.key.toLowerCase()==="g"&&document.body.contains(P.container)){re.preventDefault(),e.gotoLine();return}if(re.altKey&&!re.ctrlKey&&!re.metaKey&&re.key.toLowerCase()==="z"&&document.body.contains(P.container)){re.preventDefault(),e.toggleWrap();return}(re.ctrlKey||re.metaKey)&&!re.altKey&&re.key.toLowerCase()==="f"&&document.body.contains(P.container)&&(re.preventDefault(),e.findInFile())});return()=>{me(),le()}}},e.isDarkMode&&(e.aceOption.theme="nord_dark"),e.type=He(F),e.type=="pdf"){e.content="pdf";return}if(e.type=="media"||e.type=="audio"){e.content=e.type;return}bt(e.filePath,e.file)}let vt=["image","media","audio","pdf","IPython","binary"],X=["file_too_big","file_not_found","file_not_accessible","file_not_supported","folder_not_supported"];e.fileFrame=()=>e.filePath?vt.includes(e.type)?e.content!=null:e.type==="error"?X.includes(e.content):e.content==null&&["code","text"].includes(e.type):!1,e.fileKind=()=>{let I=(e.paths||[])[(e.paths||[]).length-1]||"",U=I.lastIndexOf("."),F=U>0?I.slice(U+1).toUpperCase():"";if(e.type==="image")return(F==="JPG"?"JPEG":F)+" image";let W={WEBM:"WebM",OGG:"Ogg",OGV:"Ogg",MOV:"QuickTime",M4V:"M4V",MKV:"Matroska"};return e.type==="media"?(W[F]||F)+" video":e.type==="audio"?F+" audio":e.type==="pdf"?"PDF":e.type==="IPython"?"Jupyter notebook":e.type==="binary"?"Binary file":e.languageName||(F?F+" file":"File")},e.imageSize="",e.onImageLoad=I=>{let U=I.target;U?.naturalWidth&&(e.imageSize=`${U.naturalWidth} \xD7 ${U.naturalHeight}`)},e.isSourceAccessError=()=>["repo_not_found","token_expired","github_app_access_required","github_app_reconnect_required","repo_saml_enforcement","repo_access_limited"].includes(e.content),e.retryContent=()=>fe();function fe(){p++,b(),e.files=[],e.loadedFolders={},e.content=null,e.fileCounts=null,V++,q=new Set,j=!1,e.fileSearchQuery="",e.onFileSearchChange(),e.repoId=i.repoId,e.type="loading",e.filePath=i.path||"",e.paths=e.filePath.split("/");let I=e.repoId;Ce(function(U){if(e.filePath){dt();let W=[...new Set(e.paths.map((E,N)=>e.paths.slice(0,N).join("/")))];r.all(W.map(E=>e.getFiles(E,!0)));return}var F=r.resolve();for(let W=0;W0?e.paths.slice(0,W).join("/"):"";F=F.then(function(){return e.getFiles(E)}).then(function(){if(e.type==="error")return r.reject("error")})}F.then(function(){m||I!==e.repoId||(e.files.length==1&&e.files[0].name==""?(e.files=[],e.type="empty"):(M(),dt()))})})}fe()},Sc=function(e,t,o,i,s){async function r(p){t.get(`/api/pr/${e.pullRequestId}/options`).then(y=>{if(e.options=y.data,e.options.url){window.location=e.options.url;return}p&&p(y.data)},y=>{e.type="error",e.content=y.data.error})}async function a(p){t.get(`/api/pr/${e.pullRequestId}/content`).then(y=>{e.details=y.data,e.tabState={active:y.data.diff?"diff":"comments"},p&&p(y.data)},y=>{e.type="error",e.content=y.data.error})}function u(){e.pullRequestId=i.pullRequestId,e.type="loading",r(p=>{a()})}u()},Nc=function(e,t,o,i,s){async function r(p){t.get(`/api/gist/${e.gistId}/options`).then(y=>{if(e.options=y.data,e.options.url){window.location=e.options.url;return}p&&p(y.data)},y=>{e.type="error",e.content=y.data.error})}async function a(p){t.get(`/api/gist/${e.gistId}/content`).then(y=>{e.details=y.data;let h=y.data&&y.data.files&&y.data.files.length;e.tabState={active:h?"files":"comments"},p&&p(y.data)},y=>{e.type="error",e.content=y.data.error})}function u(){e.gistId=i.gistId,e.type="loading",r(()=>{a()})}u()},Rc=function(e,t,o){e.watch("user.status",()=>{e.user==null&&o.url("/")}),e.user==null&&o.url("/"),e.conferences=[],e.loading=!0,e.error="",e.search="";let i="conferences.filterPrefs",s={filters:{status:{ready:!0,expired:!1,removed:!1}},orderBy:"name"},r=loadFilterPrefs(i)||{};e.filters={status:Object.assign({},s.filters.status,r.filters&&r.filters.status||{})},e.orderBy=r.orderBy||s.orderBy,e.watch("orderBy",()=>{saveFilterPrefs(i,{filters:e.filters,orderBy:e.orderBy})}),e.watch("filters",()=>{saveFilterPrefs(i,{filters:e.filters,orderBy:e.orderBy})},!0),e.removeConference=function(a){if(!a.removing&&confirm(`Are you sure that you want to remove the conference ${a.name}? All the repositories linked to this conference will expire.`)){a.removing=!0;let u=ot({title:`Removing ${a.name}...`,date:new Date,body:`The conference ${a.name} is going to be removed.`});e.addToast(u),t.delete(`/api/conferences/${a.conferenceID}`).then(()=>{u.title=`${a.name} is removed.`,u.body=`The conference ${a.name} is removed.`,e.loadConferences()}).catch(()=>{u.title="Unable to remove conference",u.body="Please try again. The conference has not been removed."}).finally(()=>{a.removing=!1})}},e.loadConferences=()=>(e.loading=!0,e.error="",t.get("/api/conferences/").then(a=>{e.conferences=a.data||[]},a=>{e.error="Unable to load your conferences. Please try again."}).finally(()=>{e.loading=!1})),e.loadConferences(),e.conferenceFilter=a=>{if(e.filters.status[a.status]==!1)return!1;let u=e.search.trim().toLowerCase();return!!(!u||(a.name||"").toLowerCase().includes(u)||(a.conferenceID||"").toLowerCase().includes(u))}},Aa=function(e,t,o,i){e.watch("user.status",()=>{e.user==null&&o.url("/")}),e.user==null&&o.url("/");let s=()=>{for(let[m,w,A]of[["startDate","Starts","startDate"],["endDate","Ends","endDate"]]){let S=document.getElementById(m);if(!S)continue;let R=S.parentElement.querySelector(":scope > .date-echo");R||(R=document.createElement("p"),R.className="date-echo",R.setAttribute("aria-live","polite"),S.insertAdjacentElement("afterend",R));let g=Jr(e.options?.[A]);R.textContent=g?w+" "+g:"",R.hidden=!g}};typeof e.watchGroup=="function"&&e.watchGroup(["options.startDate","options.endDate"],()=>xe(s));let r=(m=20)=>{let w=document.querySelector("input#name.form-control"),A=document.querySelector("input#conferenceID.form-control");A&&(A.placeholder="e.g. ICSE27"),w?w.placeholder="e.g. ICSE 2027":m>0&&setTimeout(()=>r(m-1),50)};setTimeout(()=>r(),0),e.plans=[],e.plansLoaded=!1,e.conferenceBilling=null,Ti(t).then(m=>{e.conferenceBilling=m.data}).catch(()=>{}),e.conferenceTiers=()=>e.plans.filter(m=>m.id!=="free_conference").map(m=>{let w=(e.conferenceBilling?.plans||[]).find(A=>A.id===m.id)||{};return{...m,storage:m.storagePerRepo,...w,id:m.id,name:m.name}}),e.conferenceAudience=m=>({conference_workshop:"Workshops and small venues",conference:"A typical conference",conference_large:"Large or multi-track venues"})[m]||"",e.conferencePlanName=m=>Dc(m),e.conferenceAmount=(m,w=m?.amount)=>new Intl.NumberFormat(void 0,{style:"currency",currency:m?.currency||"eur",minimumFractionDigits:w%100?2:0,maximumFractionDigits:2}).format(w/100),e.conferenceBytes=m=>{let w=Number(m)||0,A=Math.min(4,Math.floor(Math.log2(Math.max(w,1))/10));return`${new Intl.NumberFormat(void 0,{maximumFractionDigits:1}).format(w/1024**A)} ${["B","KB","MB","GB","TB"][A]}`},e.editionMode=!1,e.saving=!1,e.error="";function a(){return t.get("/api/conferences/"+i.conferenceId).then(m=>{e.options={...e.options,...m.data,billing:m.data.billing||{}},e.options.startDate=new Date(e.options.startDate),e.options.endDate=new Date(e.options.endDate)})}i.conferenceId&&(e.editionMode=!0,a());function u(){t.get("/api/conferences/plans").then(m=>{e.plans=m.data,e.plansLoaded=!0,!e.editionMode&&e.plans.length&&!e.plans.some(w=>w.id==e.options.plan.planID)&&(e.options.plan.planID=(e.plans.find(w=>w.id==="conference")||e.plans[0]).id),e.plan=e.plans.filter(w=>w.id==e.options.plan.planID)[0]})}u();let p=new Date;p.setDate(1),p.setMonth(p.getMonth()+1);let y=new Date(p);y.setTime(p.getTime()+179*864e5),e.options={billing:{},startDate:p,endDate:y,plan:{planID:"free_conference"},options:{link:!0,image:!0,pdf:!0,notebook:!0,update:!0,page:!0}},e.plan=null,e.watch("options.plan.planID",()=>{e.plan=e.plans.filter(m=>m.id==e.options.plan.planID)[0]});function h(){e.conference.name.setValidity("required",!0),e.conference.conferenceID.setValidity("pattern",!0),e.conference.conferenceID.setValidity("required",!0),e.conference.conferenceID.setValidity("used",!0),e.conference.startDate.setValidity("required",!0),e.conference.startDate.setValidity("invalid",!0),e.conference.endDate.setValidity("required",!0),e.conference.endDate.setValidity("invalid",!0),e.conference.setValidity("error",!0)}function b(m){switch(m){case"conf_name_missing":e.conference.name.setValidity("required",!1);break;case"conf_id_missing":e.conference.conferenceID.setValidity("required",!1);break;case"conf_id_format":e.conference.conferenceID.setValidity("pattern",!1);break;case"conf_id_used":e.conference.conferenceID.setValidity("used",!1);break;case"conf_start_date_missing":e.conference.startDate.setValidity("required",!1);break;case"conf_end_date_missing":e.conference.endDate.setValidity("required",!1);break;case"conf_start_date_invalid":e.conference.startDate.setValidity("invalid",!1);break;case"conf_end_date_invalid":e.conference.endDate.setValidity("invalid",!1);break;default:e.conference.setValidity("error",!1);break}}e.submit=function(){if(e.saving)return;e.saving=!0,e.error="";let m=JSON.parse(JSON.stringify(e.options)),w=ot({title:`Creating ${m.name}...`,date:new Date,body:`The conference ${m.conferenceID} is in creation.`});e.editionMode&&(w.title=`Updating ${m.name}...`,w.body=`The conference '${m.conferenceID}' is updating.`),e.addToast(w),h(),t.post("/api/conferences/"+(e.editionMode?m.conferenceID:""),m).then(()=>{e.editionMode?(w.title=`${m.name} updated`,w.body=`The conference '${m.conferenceID}' is updated.`):(w.title=`${m.name} created`,w.body=`The conference '${m.conferenceID}' is created.`),o.url("/conference/"+m.conferenceID)},A=>{b(A.data?.error),e.error="Unable to save the conference. Please correct any highlighted fields and try again.",e.removeToast(w)}).finally(()=>{e.saving=!1})}};function Dc(e){return{free_conference:"Free (no longer offered to new conferences)",conference_workshop:"Workshop package",conference:"Conference package",conference_large:"Large conference package",premium_conference:"Premium (legacy)",unlimited_conference:"Unlimited (legacy)"}[e]||e||"Free"}var Ac=function(e,t,o,i){Pi(e,t,()=>u(),{confirmedMessage:"Payment status checked. Your conference is ready for submissions once payment is confirmed."}),e.conferencePlanName=p=>Dc(p),e.watch("user.status",()=>{e.user==null&&o.url("/")}),e.user==null&&o.url("/"),e.conference=null,e.search="",e.filters={status:{ready:!0,preparing:!0,error:!0,expired:!0,removed:!1}},e.orderBy="-anonymizeDate";let s=Ii,r=["ready","preparing","error","expired","removed"],a={current:p=>p!=="removed",attention:p=>p==="error",removed:p=>p==="removed"};e.confView=()=>Object.keys(a).find(p=>r.every(y=>a[p](y)===(e.filters.status[y]!==!1)))||"custom",e.setConfView=p=>{r.forEach(y=>{e.filters.status[y]=(a[p]||a.current)(y)})},e.confCount=p=>(e.conference?.repositories||[]).filter(y=>a[p](s(y.status))).length,e.copyingId=null,e.copyRepoLink=async p=>{if(!p?.repoId||e.copyingId)return;let y=new URL("/r/"+p.repoId+"/",window.location.origin).href;e.copyingId=p.repoId;try{await Ra(y),e.addToast({title:"Link copied",body:"The anonymous link is ready to share."})}catch{e.addToast({title:"Copy this anonymous link",body:y})}finally{e.copyingId=null}},e.extendingId=null,e.extendRepo=p=>{!p?.repoId||e.extendingId||(e.extendingId=p.repoId,t.post("/api/repo/"+p.repoId+"/extend").then(y=>{let h=y?.data?.expirationDate?` until ${new Date(y.data.expirationDate).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})}`:"";e.addToast({title:`${p.repoId} is extended.`,body:`Reviewers can open it again${h}.`}),p.status="ready",y?.data?.expirationDate&&(p.options={...p.options||{},expirationDate:y.data.expirationDate}),e.extendingId=null},y=>{let h=y?.status||y?.data?.status;e.addToast({title:`Couldn't extend ${p.repoId}.`,body:h===401||h===403?"Only the repository's authors can extend this link. Ask them to extend it from My work.":"Try again in a moment."}),e.extendingId=null}))},e.repoFiler=p=>{if(e.filters.status[s(p.status)]==!1)return!1;let y=e.search.trim().toLowerCase();return!!(!y||(p.source?.fullName||"").toLowerCase().includes(y)||(p.repoId||"").toLowerCase().includes(y))};function u(){t.get("/api/conferences/"+i.conferenceId).then(p=>{e.conference=p.data})}u()},Tc=function(e,t){e.notificationEmail="",e.emailSaved=!1,e.saveNotificationEmail=async()=>{e.busy=!0,e.emailSaved=!1,e.connectionError="";try{let o=await t.post("/github/connections/email",{email:e.notificationEmail},{headers:{"X-CSRF-Token":e.connections.csrf}});e.notificationEmail=o.data.notificationEmail,e.user&&(e.user.notificationEmail=o.data.notificationEmail),e.emailSaved=!0}catch(o){e.connectionError=o.data?.error||"Unable to save email address."}finally{e.busy=!1}},e.connections=null,e.connectionError="",e.busy=!1,e.loadConnections=()=>t.get("/github/connections").then(o=>{e.connections=o.data,e.notificationEmail=o.data.notificationEmail||""}).catch(o=>{e.connectionError=o.data?.error||"Unable to load connections."}),e.changeConnection=async(o,i,s)=>{e.busy=!0,e.connectionError="";try{let r=await t.post("/github/connections/migrate",{type:o.type,id:o.id,connection:i,preview:s},{headers:{"X-CSRF-Token":e.connections.csrf}});s?o.eligible=r.data.eligible:await e.loadConnections()}catch(r){e.connectionError=r.data?.error||"Unable to change connection."}finally{e.busy=!1}},e.disconnectOAuth=async()=>{e.busy=!0;try{await t.post("/github/connections/disconnect-oauth",{},{headers:{"X-CSRF-Token":e.connections.csrf}}),await e.loadConnections()}catch(o){e.connectionError=o.data?.error||"Unable to disconnect OAuth."}finally{e.busy=!1}},e.loadConnections()},Pc=function(e,t){e.accountRecovery=!1,t.get("/github/account-recovery").then(o=>{e.accountRecovery=o.data.required}).catch(()=>{})};typeof document<"u"&&document.addEventListener("scroll",e=>{let t=e.target;!t||!t.classList||!t.classList.contains("repo-picker-list")||t.classList.toggle("is-end",t.scrollTop+t.clientHeight>=t.scrollHeight-2)},!0);var Oc=[{path:"/review-link",template:"partials/reviewConsent.htm",title:"Artifact consent \u2013 Anonymous GitHub",setup:(e,t)=>Va(e,t)},{path:"/connections",template:"partials/connections.htm",title:"GitHub connections \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Tc(e,t.http)},{path:"/signin",template:"partials/signin.htm",title:"Sign in \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Pc(e,t.http)},{path:"/",template:"partials/home.htm",title:"Anonymous GitHub \u2013 Share the code, not the author",preserveExplorer:!1,setup:(e,t)=>kc(e,t.http,t.location,t.window,t.timeout)},{path:"/dashboard",template:"partials/dashboard.htm",title:"Your anonymizations \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Cc(e,t.http,t.location,t.promises,t.window,t.quotaService)},{path:"/pr-dashboard",redirect:"/dashboard"},{path:"/anonymize/:repoId?",template:"partials/anonymize.htm",title:"New anonymization \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Wi(e,t.http,t.html,t.params,t.location,t.translate,t.timeout)},{path:"/pull-request-anonymize/:pullRequestId?",template:"partials/anonymize.htm",title:"Anonymize a pull request \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Wi(e,t.http,t.html,t.params,t.location,t.translate,t.timeout)},{path:"/gist-anonymize/:gistId?",template:"partials/anonymize.htm",title:"Anonymize a gist \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Wi(e,t.http,t.html,t.params,t.location,t.translate,t.timeout)},{path:"/status/:repoId",template:"partials/status.htm",title:"Repository status \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Ec(e,t.http,t.params)},{path:"/conferences",template:"partials/conferences.htm",title:"Your conferences \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Rc(e,t.http,t.location)},{path:"/conference/new",template:"partials/newConference.htm",title:"New conference \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Aa(e,t.http,t.location,t.params)},{path:"/conference/:conferenceId/edit",template:"partials/newConference.htm",title:"Edit conference \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Aa(e,t.http,t.location,t.params)},{path:"/conference/:conferenceId",template:"partials/conference.htm",title:"Conference \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Ac(e,t.http,t.location,t.params)},{path:"/faq",template:"partials/faq.htm",title:"FAQ \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>yc(e,t.http)},{path:"/profile",template:"partials/profile.htm",title:"Your settings \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>bc(e,t.http,t.translate,t.timeout,t.quotaService)},{path:"/claim",template:"partials/claim.htm",title:"Claim an anonymization \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>wc(e,t.http,t.location)},{path:"/pr/:pullRequestId/:path(.*)*",template:"partials/pullRequest.htm",title:"Anonymous pull request \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Sc(e,t.http,t.location,t.params,t.html)},{path:"/gist/:gistId/:path(.*)*",template:"partials/gist.htm",title:"Anonymous gist \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>Nc(e,t.http,t.location,t.params,t.html)},{path:"/r/:repoId/:path(.*)*",template:"partials/explorer.htm",title:"Anonymous repository \u2013 Anonymous GitHub",preserveExplorer:!0,setup:(e,t)=>Da(e,t.http,t.location,t.params,t.html,t.promises)},{path:"/repository/:repoId/:path(.*)*",template:"partials/explorer.htm",title:"Anonymous repository \u2013 Anonymous GitHub",preserveExplorer:!0,setup:(e,t)=>Da(e,t.http,t.location,t.params,t.html,t.promises)},{path:"/admin/",template:"partials/admin/overview.htm",title:"Admin \xB7 Overview \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>bu(e,t.http,t.location,t.interval)},{path:"/admin/repositories",template:"partials/admin/repositories.htm",title:"Admin \xB7 Repositories \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>fu(e,t.http,t.location)},{path:"/admin/users",template:"partials/admin/users.htm",title:"Admin \xB7 Users \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>hu(e,t.http,t.location)},{path:"/admin/users/:username",template:"partials/admin/user.htm",title:"Admin \xB7 User details \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>mu(e,t.http,t.location,t.params)},{path:"/admin/conferences",template:"partials/admin/conferences.htm",title:"Admin \xB7 Conferences \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>gu(e,t.http,t.location)},{path:"/admin/queues",template:"partials/admin/queues.htm",title:"Admin \xB7 Queues \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>vu(e,t.http,t.location,t.interval,t.timeout)},{path:"/admin/errors",template:"partials/admin/errors.htm",title:"Admin \xB7 Errors \u2013 Anonymous GitHub",preserveExplorer:!1,setup:(e,t)=>yu(e,t.http,t.location,t.interval)},{path:"/404",template:"partials/404.htm",title:"Page not found \u2013 Anonymous GitHub",preserveExplorer:!1,setup:()=>{}},{path:"/:pathMatch(.*)*",template:"partials/404.htm",title:"Page not found \u2013 Anonymous GitHub",setup:()=>{}}];var nv={class:"container py-4",style:{"max-width":"48rem","overflow-wrap":"anywhere"}},ov={key:0},sv={key:1,role:"alert"},iv={key:2,role:"status"},rv={key:0},av={key:1},lv=["disabled"],dv=["disabled"],uv=["disabled"],cv={key:5,class:"mt-4","aria-labelledby":"review-policy-title"},pv={id:"review-policy-title"},fv={key:0,role:"alert"},hv=["disabled"],mv=["disabled"],gv=["disabled"],vv={key:6,role:"status"};function Ic(e,t){return l(),d("section",nv,[t[12]||(t[12]=n("a",{href:"/"},"Anonymous GitHub",-1)),t[13]||(t[13]=n("h1",{class:"mt-3"},"Approve artifact access",-1)),t[14]||(t[14]=n("p",null,"This records your approval as the repository owner or an authorized co-author.",-1)),e.user?.username?f("v-if",!0):(l(),d("p",ov,[...t[6]||(t[6]=[v("Sign in first, then reopen the artifact link from your submission. ",-1),n("a",{href:"/signin"},"Sign in",-1)])])),e.error?(l(),d("p",sv,c(e.error),1)):f("v-if",!0),e.saved?(l(),d("p",iv,[t[7]||(t[7]=v("Consent recorded. ",-1)),e.handoffEnabled?(l(),d("span",rv,"Continue to review to finish linking.")):(l(),d("span",av,"Artifact linking is not complete. Return to your submission to check its status."))])):f("v-if",!0),e.saved&&e.handoffEnabled?(l(),d("button",{key:3,class:"btn btn-primary",type:"button",onClick:t[0]||(t[0]=(...o)=>e.continueReview&&e.continueReview(...o)),disabled:e.busy},"Continue to review",8,lv)):f("v-if",!0),e.user?.username&&!e.saved?(l(),d("form",{key:4,onSubmit:t[2]||(t[2]=de((...o)=>e.loadPreview&&e.loadPreview(...o),["prevent"]))},[t[8]||(t[8]=n("label",{for:"review-repository"},"Anonymous repository ID",-1)),O(n("input",{id:"review-repository",class:"form-control","onUpdate:modelValue":t[1]||(t[1]=o=>e.repositoryId=o),maxlength:"128",autocomplete:"off",disabled:e.busy||e.uncertain,"aria-describedby":"review-repository-help"},null,8,dv),[[lt,e.repositoryId]]),t[9]||(t[9]=n("p",{id:"review-repository-help"},"Use the ID after /r/ in the anonymous repository URL.",-1)),n("button",{type:"submit",class:"btn btn-primary",disabled:e.busy||e.uncertain},"Preview access and retention",8,uv)],32)):f("v-if",!0),e.preview&&!e.saved?(l(),d("section",cv,[n("h2",pv,c(e.preview.repositoryName),1),n("p",null,"Access: "+c(e.preview.policy.access==="anonymous-link"?"Anyone with the anonymous link":"Restricted review access")+".",1),n("p",null,"Retain until "+c(e.preview.policy.retainUntil)+". Policy version "+c(e.preview.policy.version)+".",1),e.expired?(l(),d("p",fv,"This preview expired. Open a new artifact link from your submission.")):f("v-if",!0),n("div",null,[n("label",null,[O(n("input",{type:"checkbox","onUpdate:modelValue":t[3]||(t[3]=o=>e.acceptAccess=o),disabled:e.busy||e.uncertain||e.expired},null,8,hv),[[qr,e.acceptAccess]]),t[10]||(t[10]=v(" I approve the access policy above.",-1))])]),n("div",null,[n("label",null,[O(n("input",{type:"checkbox","onUpdate:modelValue":t[4]||(t[4]=o=>e.acceptRetention=o),disabled:e.busy||e.uncertain||e.expired},null,8,mv),[[qr,e.acceptRetention]]),t[11]||(t[11]=v(" I approve retention until the date above.",-1))])]),n("button",{class:"btn btn-primary",type:"button",onClick:t[5]||(t[5]=(...o)=>e.confirmConsent&&e.confirmConsent(...o)),disabled:e.busy||e.expired||!e.acceptAccess||!e.acceptRetention},c(e.uncertain?"Retry confirmation":"Confirm consent"),9,gv)])):f("v-if",!0),e.busy?(l(),d("p",vv,"Waiting for the server\u2026")):f("v-if",!0)])}var yv={class:"container paper-page connections-page"},bv={key:0,class:"paper-inline-alert paper-inline-alert-error",role:"alert"},wv={key:1,role:"status"},kv=["disabled"],Cv={key:3},Ev={key:0,class:"connection-resources"},Sv=["disabled"],Nv=["disabled"],Rv={key:0,role:"status"},Dv={class:"connections-grid"},Av={key:0},Tv={class:"connection-title"},Pv={key:0,class:"paper-inline-alert paper-inline-alert-error",role:"alert"},Ov={class:"connection-actions"},Iv={key:0,class:"btn btn-ink",target:"_self",href:"/github/app/install"},Mv=["disabled"],_v={key:1,class:"connection-installations"},Vv={key:0},qv=["href"],$v={class:"sr-only"},Lv={class:"connection-title"},Uv={key:0,target:"_self",href:"/github/login",class:"btn btn-outline-ink"},Fv={key:1,class:"connection-revoke"},Bv={key:0},zv=["disabled"],Hv={class:"connection-resources"},jv={class:"connection-title"},Gv={class:"connection-count"},Wv={key:0,class:"connection-empty"},Kv={class:"connection-resource-name"},Yv={key:0,class:"connection-resource-actions"},Xv=["disabled","onClick"],Qv=["disabled","onClick"],Jv={key:1,class:"connection-help",role:"status"},Zv=["disabled","onClick"];function Mc(e,t){return l(),d("div",yv,[t[27]||(t[27]=Se('
My work \xA0/\xA0 GitHub connections

GitHub connections

Manage how GitHub shares your code. Your anonymizations and URLs stay the same.

',2)),e.connectionError?(l(),d("p",bv,c(e.connectionError),1)):f("v-if",!0),!e.connections&&!e.connectionError?(l(),d("p",wv,"Loading your connections\u2026")):f("v-if",!0),!e.connections&&e.connectionError?(l(),d("button",{key:2,class:"btn btn-outline-ink",disabled:e.busy,onClick:t[0]||(t[0]=o=>e.loadConnections())},"Try again",8,kv)):f("v-if",!0),e.connections?(l(),d("div",Cv,[e.connections.emailNotificationsEnabled?(l(),d("section",Ev,[t[6]||(t[6]=n("h2",null,"Email alerts",-1)),t[7]||(t[7]=n("p",null,"We will email you if your GitHub connection stops working or a repository becomes inaccessible. Your address is never shown on anonymous pages.",-1)),n("form",{onSubmit:t[2]||(t[2]=de(o=>e.saveNotificationEmail(),["prevent"]))},[t[5]||(t[5]=n("label",{for:"notification-email"},"Email address",-1)),O(n("input",{id:"notification-email",class:"form-control",type:"email",autocomplete:"email",maxlength:"254",required:"","onUpdate:modelValue":t[1]||(t[1]=o=>e.notificationEmail=o),disabled:e.busy},null,8,Sv),[[lt,e.notificationEmail]]),n("button",{class:"btn btn-ink mt-2",type:"submit",disabled:e.busy},"Save email address",8,Nv),e.emailSaved?(l(),d("p",Rv,"Email address saved.")):f("v-if",!0)],32)])):f("v-if",!0),n("div",Dv,[e.connections.appEnabled?(l(),d("section",Av,[t[15]||(t[15]=n("div",{class:"connection-top"},[n("i",{class:"fab fa-github","aria-hidden":"true"}),n("span",{class:"connection-badge"},"Recommended")],-1)),n("div",Tv,[t[8]||(t[8]=n("h2",null,"GitHub App",-1)),n("span",{class:T(["connection-status",{"is-connected":e.connections.appConnected&&!e.connections.appError}])},c(e.connections.appError?"Needs attention":e.connections.appConnected?"Connected":"Not connected"),3)]),t[16]||(t[16]=n("p",null,"Read-only access to gists and the repositories you choose.",-1)),e.connections.appError?(l(),d("p",Pv,c(e.connections.appError)+". Reconnect to restore access.",1)):f("v-if",!0),n("div",Ov,[e.connections.appConnected&&!e.connections.appError?(l(),d("a",Iv,[...t[9]||(t[9]=[v("Manage repository access ",-1),n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-external-link"})],-1)])])):f("v-if",!0),n("a",{class:T(e.connections.appConnected&&!e.connections.appError?"connection-link":"btn btn-ink"),target:"_self",href:"/github/app/login"},c(e.connections.appConnected?"Reconnect account":"Connect GitHub account"),3),e.connections.appConnected?(l(),d("button",{key:1,class:"connection-link connection-refresh",title:"Refresh access",disabled:e.busy,onClick:t[3]||(t[3]=o=>e.loadConnections())},[...t[10]||(t[10]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-refresh"})],-1),n("span",{class:"sr-only"},"Refresh access",-1)])],8,Mv)):f("v-if",!0)]),t[17]||(t[17]=n("p",{class:"connection-help"},"Choose repositories on GitHub. Organization access may need an administrator's approval.",-1)),e.connections.installations?.length?(l(),d("ul",_v,[(l(!0),d(L,null,ie(e.connections.installations,o=>(l(),d("li",{key:o.id},[n("div",null,[t[11]||(t[11]=n("span",{class:"connection-label"},"Installed on",-1)),t[12]||(t[12]=v()),n("strong",null,c(o.account),1),o.suspended?(l(),d("span",Vv," \xB7 Suspended")):f("v-if",!0)]),e.connections.installations.length>1?(l(),d("a",{key:0,target:"_self",href:"/github/app/install?installationId="+o.id},[t[13]||(t[13]=v("Manage access ",-1)),n("span",$v,"for "+c(o.account),1),t[14]||(t[14]=v(" \u2192",-1))],8,qv)):f("v-if",!0)]))),128))])):f("v-if",!0)])):f("v-if",!0),n("section",null,[t[20]||(t[20]=n("div",{class:"connection-top"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-key"})]),n("span",{class:"connection-badge connection-badge-muted"},"Legacy")],-1)),n("div",Lv,[t[18]||(t[18]=n("h2",null,"GitHub OAuth",-1)),n("span",{class:T(["connection-status",{"is-connected":e.connections.oauthConnected}])},c(e.connections.oauthConnected?"Connected":"Not connected"),3)]),t[21]||(t[21]=n("p",null,"For existing OAuth anonymizations.",-1)),t[22]||(t[22]=n("p",{class:"connection-help"},"This connection uses GitHub's broader repository permissions. Existing work keeps using it until you switch below.",-1)),e.connections.oauthEnabled?(l(),d("a",Uv,c(e.connections.oauthConnected?"Reconnect OAuth":"Connect legacy OAuth"),1)):f("v-if",!0),e.connections.oauthConnected?(l(),d("div",Fv,[e.connections.gistCount?(l(),d("p",Bv,c(e.connections.gistCount)+" gist(s) use your GitHub App connection when available.",1)):f("v-if",!0),t[19]||(t[19]=n("p",null,"Switch all dependent repositories before revoking access. Gists can use your GitHub App connection.",-1)),e.connections.appConnected?(l(),d("button",{key:1,class:"btn btn-sm btn-outline-danger connection-danger",disabled:e.busy||e.connections.resources.some(o=>o.connection==="oauth"),onClick:t[4]||(t[4]=o=>e.disconnectOAuth())},"Revoke OAuth access",8,zv)):f("v-if",!0)])):f("v-if",!0)])]),n("section",Hv,[n("div",jv,[t[23]||(t[23]=n("h2",null,"Repository connections",-1)),n("span",Gv,c(e.connections.resources?.length||0)+" "+c((e.connections.resources?.length||0)===1?"resource":"resources"),1)]),t[25]||(t[25]=n("p",null,"Check access, then switch each resource to the GitHub App. After reinstalling the App, reconnect existing resources here to keep their anonymous URLs and published snapshots.",-1)),e.connections.resources?.length?f("v-if",!0):(l(),d("div",Wv,[...t[24]||(t[24]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-type-repo"})],-1),n("div",null,[n("h3",null,"No repository connections yet"),n("p",null,"Your repositories and pull requests will appear here once you anonymize them.")],-1),n("a",{class:"connection-link",href:"/anonymize"},"New anonymization \u2192",-1)])])),(l(!0),d(L,null,ie(e.connections.resources,o=>(l(),d("div",{class:"connection-resource",key:o.type+o.id},[n("div",Kv,[n("strong",null,c(o.name||o.id),1),n("small",null,c(o.type)+" \xB7 "+c(o.id),1)]),n("span",{class:T(["connection-badge",{"connection-badge-muted":o.connection==="oauth"}])},c(o.connection==="github-app"?"Read-only App":"Legacy OAuth"),3),!["archived","removed","preparing","queue","removing","expiring"].includes(o.status)&&(o.status!=="download"||o.type==="pull-request"&&(!o.statusDate||new Date(o.statusDate).getTime()<=Date.now()-3e5))&&e.connections.appEnabled&&e.connections.appConnected?(l(),d("div",Yv,[n("button",{class:"btn btn-outline-ink",disabled:e.busy,onClick:i=>e.changeConnection(o,"github-app",!0)},"Check read-only access",8,Xv),o.eligible?(l(),d("button",{key:0,class:"btn btn-ink",disabled:e.busy,onClick:i=>e.changeConnection(o,"github-app",!1)},c(o.connection==="github-app"?"Reconnect read-only access":"Switch to read-only access"),9,Qv)):f("v-if",!0),o.eligible===!1?(l(),d("span",Jv,"Access unavailable. Allow this repository on GitHub, then check again.")):f("v-if",!0)])):f("v-if",!0),!["archived","removed","preparing","queue","removing","expiring"].includes(o.status)&&(o.status!=="download"||o.type==="pull-request"&&(!o.statusDate||new Date(o.statusDate).getTime()<=Date.now()-3e5))&&o.connection==="github-app"&&e.connections.oauthConnected?(l(),d("button",{key:1,class:"connection-link",disabled:e.busy,onClick:i=>e.changeConnection(o,"oauth",!1)},"Use OAuth",8,Zv)):f("v-if",!0)]))),128)),t[26]||(t[26]=n("p",{class:"connection-footnote"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-info"})]),v(" Removing access stops new fetches from GitHub. Published content keeps its current expiration and removal settings.")],-1))])])):f("v-if",!0)])}var xv={class:"container paper-page auth-page"},ey={class:"auth-layout"},ty={class:"auth-options"},ny={key:0},oy={key:0,class:"btn btn-ink auth-continue",target:"_self",href:"/github/login?recover=1"},sy={key:1},iy={key:1,class:"auth-card"},ry={key:2,class:"auth-legacy"},ay={key:3,role:"status"};function _c(e,t){let o=Xe("partial-view");return l(),d(L,null,[n("div",xv,[n("div",ey,[t[4]||(t[4]=Se('
Your research, ready for review

Your code.
Your identity,
protected.
Sign in to GitHub

Sign in to create and manage your anonymizations.

',1)),n("div",ty,[e.accountRecovery?(l(),d("section",ny,[t[0]||(t[0]=n("h2",null,"Verify your existing account",-1)),t[1]||(t[1]=n("p",null,"We found an existing account. Verify it with your previous GitHub connection to keep your anonymizations. Future sign-ins will use the GitHub App.",-1)),e.site_options?.GITHUB_OAUTH_ENABLED?(l(),d("a",oy,"Verify with previous GitHub connection")):(l(),d("p",sy,"Account verification is currently unavailable. Please try again later."))])):f("v-if",!0),e.site_options?.GITHUB_APP_ENABLED&&!e.accountRecovery?(l(),d("section",iy,[...t[2]||(t[2]=[Se('

Continue with GitHub

Connect through the GitHub App with read-only repository access.

  • You choose which repositories to share
  • No permission to write to your code
Sign in with GitHubYour existing anonymizations and connections stay with your account.',5)])])):f("v-if",!0),!e.site_options?.GITHUB_APP_ENABLED&&e.site_options?.GITHUB_OAUTH_ENABLED&&!e.accountRecovery?(l(),d("section",ry,[...t[3]||(t[3]=[n("div",{class:"connection-title"},[n("h2",null,"Continue with GitHub")],-1),n("p",null,"Sign in to access your account. GitHub OAuth includes write access to private repositories.",-1),n("a",{class:"connection-link",target:"_self",href:"/github/login"},[v("Sign in with GitHub "),n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-arrow-right"})])],-1)])])):f("v-if",!0),e.site_options&&!e.site_options.GITHUB_APP_ENABLED&&!e.site_options.GITHUB_OAUTH_ENABLED?(l(),d("p",ay,"GitHub sign-in is currently unavailable. Please try again later.")):f("v-if",!0)])])]),_e(o,{name:"partials/footer.htm",state:e.viewState},null,8,["state"])],64)}function Vc(e,t){let o=Xe("partial-view");return l(),d(L,null,[t[0]||(t[0]=Se('
Error \xB7 404

This link
isn\u2019t here.

The anonymous mirror you\u2019re looking for has expired, been removed by its owner, or never existed. If you received this URL from an author, ask them to re-issue it.

',1)),_e(o,{name:"partials/footer.htm",state:e.viewState},null,8,["state"])],64)}var ly={class:"container paper-page admin-page"},dy={class:"seg-bar"},uy={class:"seg-filter",role:"radiogroup","aria-label":"Filter by status"},cy=["aria-checked"],py={class:"count"},fy=["aria-checked"],hy={class:"count"},my=["aria-checked"],gy={class:"count"},vy=["aria-checked"],yy={class:"count"},by=["aria-checked"],wy={class:"count"},ky=["aria-checked"],Cy={class:"count"},Ey={class:"seg-countline",role:"status"},Sy={key:0,class:"alert alert-danger",style:{margin:"8px 0"}},Ny={class:"w-100 admin-filter-toolbar","aria-label":"Conferences","accept-charset":"UTF-8"},Ry={class:"admin-filter-row"},Dy={class:"search-wrap"},Ay={type:"search",class:"form-control",placeholder:"Search conferences\u2026",autocomplete:"off"},Ty={key:0,class:"admin-search-hint"},Py={key:1,class:"admin-filter-inline","aria-label":"Pagination"},Oy=["disabled"],Iy={style:{"font-family":"var(--font-mono)","font-size":"12px",color:"var(--ink-muted)"}},My=["disabled"],_y={key:0,class:"admin-filter-row"},Vy={class:"admin-active-chips"},qy={class:"key"},$y=["onClick"],Ly={class:"paper-table paper-table-conferences w-100",role:"table","aria-label":"Conferences"},Uy={key:0,class:"paper-table-head",role:"row"},Fy={role:"columnheader"},By={role:"columnheader"},zy={role:"columnheader"},Hy={class:"paper-table-row",role:"row"},jy={class:"cell-anon",role:"cell"},Gy={class:"anon-text"},Wy=["textContent","href"],Ky={class:"anon-sub"},Yy={class:"cell-status",role:"cell"},Xy=["textContent"],Qy={class:"cell-views num",role:"cell"},Jy=["textContent","href"],Zy={class:"cell-expires",role:"cell"},xy={class:"cell-actions",role:"cell"},eb={class:"dropdown"},tb={class:"dropdown-menu dropdown-menu-right"},ob=["href"],sb=["href"],ib=["href"],rb=["onClick"],ab={key:1,class:"paper-table-empty"},lb={class:"admin-toolbar",style:{"justify-content":"space-between","border-bottom":"none"}},db={key:0,class:"pagination-compact"},ub=["disabled"],cb=["max"],pb=["disabled"],fb={class:"admin-filter-inline"},hb={class:"form-control form-control-sm"};function qc(e,t){let o=Ae("field"),i=Ae("form");return l(),d("div",ly,[t[55]||(t[55]=Se('
Admin \xA0/\xA0 Conferences

Conferences

',3)),n("div",dy,[n("div",uy,[n("button",{type:"button",role:"radio",class:T(["seg-chip",{active:e.segView()==="all"}]),"aria-checked":e.segView()==="all",onClick:t[0]||(t[0]=s=>e.setSegView("all"))},[t[14]||(t[14]=v("All ",-1)),n("span",py,c(e.fmt?.number(e.segCount("all"))),1)],10,cy),n("button",{type:"button",role:"radio",class:T(["seg-chip",{active:e.segView()==="ready","is-empty":!e.segCount("ready")}]),"aria-checked":e.segView()==="ready",onClick:t[1]||(t[1]=s=>e.setSegView("ready"))},[t[15]||(t[15]=n("span",{class:"seg-dot ok","aria-hidden":"true"},null,-1)),t[16]||(t[16]=v("Ready ",-1)),n("span",hy,c(e.fmt?.number(e.segCount("ready"))),1)],10,fy),n("button",{type:"button",role:"radio",class:T(["seg-chip",{active:e.segView()==="preparing","is-empty":!e.segCount("preparing")}]),"aria-checked":e.segView()==="preparing",onClick:t[2]||(t[2]=s=>e.setSegView("preparing"))},[t[17]||(t[17]=n("span",{class:"seg-dot warn","aria-hidden":"true"},null,-1)),t[18]||(t[18]=v("Preparing ",-1)),n("span",gy,c(e.fmt?.number(e.segCount("preparing"))),1)],10,my),n("button",{type:"button",role:"radio",class:T(["seg-chip",{active:e.segView()==="error","is-empty":!e.segCount("error")}]),"aria-checked":e.segView()==="error",onClick:t[3]||(t[3]=s=>e.setSegView("error"))},[t[19]||(t[19]=n("span",{class:"seg-dot bad","aria-hidden":"true"},null,-1)),t[20]||(t[20]=v("Error ",-1)),n("span",yy,c(e.fmt?.number(e.segCount("error"))),1)],10,vy),n("button",{type:"button",role:"radio",class:T(["seg-chip",{active:e.segView()==="expired","is-empty":!e.segCount("expired")}]),"aria-checked":e.segView()==="expired",onClick:t[4]||(t[4]=s=>e.setSegView("expired"))},[t[21]||(t[21]=n("span",{class:"seg-dot off","aria-hidden":"true"},null,-1)),t[22]||(t[22]=v("Expired ",-1)),n("span",wy,c(e.fmt?.number(e.segCount("expired"))),1)],10,by),n("button",{type:"button",role:"radio",class:T(["seg-chip",{active:e.segView()==="removed","is-empty":!e.segCount("removed")}]),"aria-checked":e.segView()==="removed",onClick:t[5]||(t[5]=s=>e.setSegView("removed"))},[t[23]||(t[23]=n("span",{class:"seg-dot off","aria-hidden":"true"},null,-1)),t[24]||(t[24]=v("Removed ",-1)),n("span",Cy,c(e.fmt?.number(e.segCount("removed"))),1)],10,ky)]),n("p",Ey,[n("strong",null,c(e.total>=0?e.fmt.number(e.total):"\u2026"),1),t[25]||(t[25]=v(" shown",-1))])]),e.fetchError?(l(),d("div",Sy,[t[26]||(t[26]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-warning"})],-1)),v(" "+c(e.fetchError),1)])):f("v-if",!0),O((l(),d("form",Ny,[n("div",Ry,[n("div",Dy,[O(n("input",Ay,null,512),[[o,{state:e.viewState,set:s=>{e.query.search=s},value:e.query?.search,form:null,options:{}}]]),e.query?.search?f("v-if",!0):(l(),d("span",Ty,"/"))]),t[30]||(t[30]=n("span",{class:"admin-filter-spacer"},null,-1)),e.total>0?(l(),d("button",{key:0,class:"btn btn-sm",type:"button",onClick:t[6]||(t[6]=s=>e.exportCsv())},[...t[27]||(t[27]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-export"})],-1),v(" Export",-1)])])):f("v-if",!0),e.totalPage>1?(l(),d("span",Py,[n("button",{class:"btn btn-sm btn-icon",type:"button",onClick:t[7]||(t[7]=s=>e.query.page=Math.max(1,e.query.page-1)),disabled:e.query?.page<=1,"aria-label":"Previous page"},[...t[28]||(t[28]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-chevron-left"})],-1)])],8,Oy),n("span",Iy,c(e.query?.page)+"/"+c(e.totalPage||1),1),n("button",{class:"btn btn-sm btn-icon",type:"button",onClick:t[8]||(t[8]=s=>e.query.page=Math.min(e.totalPage,e.query.page+1)),disabled:e.query?.page>=e.totalPage,"aria-label":"Next page"},[...t[29]||(t[29]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-chevron-right"})],-1)])],8,My)])):f("v-if",!0)]),e.chips?.length?(l(),d("div",_y,[n("div",Vy,[(l(!0),d(L,null,ie(e.chips,(s,r)=>(l(),d("span",{class:"admin-active-chip",key:s?.key},[n("span",qy,c(s?.label),1),n("span",null,c(s?.value),1),n("button",{type:"button",onClick:a=>e.clearFilter(s.key),"aria-label":"Clear filter"},[...t[31]||(t[31]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-close"})],-1)])],8,$y)]))),128))])])):f("v-if",!0)])),[[i,e.viewState]]),n("div",Ly,[e.total!==0?(l(),d("div",Uy,[n("div",Fy,[n("button",{type:"button",class:T(["sortable",{active:e.query?.sort=="name"}]),onClick:t[9]||(t[9]=s=>e.sortBy("name"))},[t[33]||(t[33]=v("Conference ",-1)),e.sortIcon("name")?(l(),d("svg",{key:0,class:T(["ui-icon sort-direction",{ascending:e.sortIcon("name")==="fa-arrow-up"}]),"aria-hidden":"true"},[...t[32]||(t[32]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)):f("v-if",!0)],2)]),n("div",By,[n("button",{type:"button",class:T(["sortable",{active:e.query?.sort=="status"}]),onClick:t[10]||(t[10]=s=>e.sortBy("status"))},[t[35]||(t[35]=v("Status ",-1)),e.sortIcon("status")?(l(),d("svg",{key:0,class:T(["ui-icon sort-direction",{ascending:e.sortIcon("status")==="fa-arrow-up"}]),"aria-hidden":"true"},[...t[34]||(t[34]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)):f("v-if",!0)],2)]),t[38]||(t[38]=n("div",{role:"columnheader",class:"num"},"Repos",-1)),n("div",zy,[n("button",{type:"button",class:T(["sortable",{active:e.query?.sort=="startDate"}]),onClick:t[11]||(t[11]=s=>e.sortBy("startDate"))},[t[37]||(t[37]=v("Window ",-1)),e.sortIcon("startDate")?(l(),d("svg",{key:0,class:T(["ui-icon sort-direction",{ascending:e.sortIcon("startDate")==="fa-arrow-up"}]),"aria-hidden":"true"},[...t[36]||(t[36]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)):f("v-if",!0)],2)]),t[39]||(t[39]=n("div",{role:"columnheader","aria-label":"Actions"},null,-1))])):f("v-if",!0),(l(!0),d(L,null,ie(e.filteredConferences,(s,r)=>(l(),d("div",Hy,[n("div",jy,[t[40]||(t[40]=n("svg",{class:"ui-icon record-type-icon",role:"img","aria-label":"Conference"},[n("use",{href:"#project-icon-conference"})],-1)),n("div",Gy,[n("a",{class:"repo-name",textContent:c(s?.name),href:e.safeUrl("/conference/"+s?.conferenceID)},null,8,Wy),n("div",Ky,[n("span",null,c(s?.conferenceID),1),n("span",null,c(e.fmt?.money(s?.price||0)),1)])])]),n("div",Yy,[n("span",{class:T(["status-dot","st-"+(s?.status||"unknown")])},null,2),n("span",{textContent:c(e.fmt?.statusLabel(s?.status))},null,8,Xy)]),n("div",Qy,[t[41]||(t[41]=n("svg",{class:"ui-icon mobile-meta-icon","aria-hidden":"true"},[n("use",{href:"#project-type-repo"})],-1)),n("a",{title:"Show repositories in this conference",textContent:c(e.fmt?.number(s?.repositories?.length||0)),href:e.safeUrl("/admin/?conference="+s?.conferenceID)},null,8,Jy)]),n("div",Zy,[t[42]||(t[42]=n("svg",{class:"ui-icon mobile-meta-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-clock"})],-1)),v(" "+c(e.fmt?.date(s?.startDate))+" \u2013 "+c(e.fmt?.date(s?.endDate)),1)]),n("div",xy,[n("div",eb,[t[48]||(t[48]=n("button",{class:"btn btn-icon-dots",type:"button","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false","aria-label":"Actions"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-more"})])],-1)),n("div",tb,[n("a",{class:"dropdown-item",href:e.safeUrl("/conference/"+s?.conferenceID+"/edit")},[...t[43]||(t[43]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-edit"})],-1),v(" Edit",-1)])],8,ob),n("a",{class:"dropdown-item",href:e.safeUrl("/conference/"+s?.conferenceID+"/")},[...t[44]||(t[44]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-eye"})],-1),v(" View",-1)])],8,sb),n("a",{class:"dropdown-item",href:e.safeUrl("/admin/?conference="+s?.conferenceID)},[...t[45]||(t[45]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-type-repo"})],-1),v(" View repositories",-1)])],8,ib),t[47]||(t[47]=n("div",{class:"dropdown-divider"},null,-1)),O(n("a",{class:"dropdown-item text-danger",href:"#",onClick:de(a=>e.removeConference(s),["prevent"])},[...t[46]||(t[46]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-trash"})],-1),v(" Remove",-1)])],8,rb),[[ee,s?.status!="removed"]])])])])]))),256)),e.filteredConferences?.length==0?(l(),d("div",ab,[t[49]||(t[49]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-inbox"})],-1)),n("span",null,c(e.total?"No conferences match the current filters.":"No conferences yet."),1)])):f("v-if",!0)]),n("div",lb,[t[54]||(t[54]=n("span",{"aria-hidden":"true"},null,-1)),e.totalPage>1?(l(),d("div",db,[n("button",{class:"btn btn-sm",onClick:t[12]||(t[12]=s=>e.query.page=Math.max(1,e.query.page-1)),disabled:e.query?.page<=1},[...t[50]||(t[50]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-chevron-left"})],-1),v(" Previous",-1)])],8,ub),O(n("input",{type:"number",class:"form-control form-control-sm",min:"1",style:{width:"56px"},max:e.totalPage},null,8,cb),[[o,{state:e.viewState,set:s=>{e.query.page=s},value:e.query?.page,form:null,options:{}}]]),n("span",null,"of "+c(e.totalPage),1),n("button",{class:"btn btn-sm",onClick:t[13]||(t[13]=s=>e.query.page=Math.min(e.totalPage,e.query.page+1)),disabled:e.query?.page>=e.totalPage},[...t[51]||(t[51]=[v("Next ",-1),n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-chevron-right"})],-1)])],8,pb)])):f("v-if",!0),n("span",fb,[t[53]||(t[53]=n("label",null,"Per page",-1)),O((l(),d("select",hb,[...t[52]||(t[52]=[Se('',5)])])),[[o,{state:e.viewState,set:s=>{e.query.limit=s},value:e.query?.limit,form:null,options:{}}]])])])])}var mb={class:"container paper-page admin-page errors-page"},gb={class:"errors-header"},vb={class:"errors-actions"},yb={class:"kpi-grid"},bb={class:"kpi-card"},wb={class:"kpi-value"},kb={key:0},Cb={key:1},Eb={key:2},Sb=["aria-pressed"],Nb={class:"kpi-value"},Rb={class:"kpi-sub"},Db=["aria-pressed"],Ab={class:"kpi-value"},Tb={class:"kpi-sub"},Pb=["aria-pressed"],Ob={class:"kpi-value"},Ib={class:"kpi-sub"},Mb={class:"kpi-value"},_b={class:"kpi-sub"},Vb={key:0,class:"dropped-warn"},qb={class:"volume-chart"},$b={class:"volume-head"},Lb={class:"volume-legend"},Ub={key:0},Fb={key:1},Bb={key:2},zb={class:"volume-bars"},Hb=["title"],jb={class:"errors-toolbar","aria-label":"Error filters"},Gb={class:"seg-filter",role:"radiogroup","aria-label":"Filter by severity"},Wb=["aria-checked"],Kb={class:"count"},Yb=["aria-checked"],Xb={class:"count"},Qb=["aria-checked"],Jb={class:"count"},Zb=["aria-checked"],xb={class:"count"},e1={class:"search-wrap"},t1={type:"search",class:"form-control",placeholder:"Search errors\u2026",title:"Search messages, or filter with code:repo_not_found module:route status:>=400",autocomplete:"off"},n1={key:0,class:"filter-count"},o1={class:"select-wrap"},s1={class:"form-control form-control-sm"},i1={class:"select-wrap"},r1={class:"form-control form-control-sm"},a1={class:"autoref"},l1={type:"checkbox"},d1={key:0,class:"admin-empty"},u1={key:1,class:"errors-pager"},c1={key:2,class:"errors-list"},p1={key:0,class:"errors-group-head"},f1={class:"errors-group-count"},h1={key:0,class:"errors-group-note"},m1=["onClick"],g1={class:"col-when"},v1={class:"when-rel"},y1={class:"when-abs"},b1={class:"col-sev"},w1={class:"sev-label"},k1={class:"col-mod"},C1={class:"pill pill-module"},E1={class:"col-msg"},S1={class:"msg-code"},N1={key:0,class:"msg-context"},R1={key:1,class:"msg-detail"},D1=["title"],A1={class:"col-count"},T1={key:0,class:"count-pill"},P1={key:1,class:"count-pill count-pill-muted"},O1={class:"col-status"},I1=["title"],M1={key:1,class:"status-empty",title:"No HTTP status for this event"},_1={key:0,class:"errors-row-detail"},V1={class:"detail-tabs"},q1=["onClick"],$1=["onClick"],L1=["onClick"],U1={class:"detail-body"},F1={class:"detail-main"},B1={key:0},z1={key:1,class:"stack-pre"},H1={key:2,class:"related-list"},j1={class:"when-abs"},G1={class:"msg-url"},W1={class:"detail-actions"},K1=["onClick"],Y1=["onClick"],X1={key:0,class:"copy-hint"},Q1={class:"detail-aside"},J1={class:"aside-block"},Z1=["title"],x1={class:"aside-block"},ew=["title"],tw={class:"aside-block"},nw={class:"aside-value"},ow={key:0,class:"aside-sub"},sw={key:0,class:"aside-block"},iw=["href"],rw={key:1,class:"aside-block"},aw={class:"aside-value mono"};function $c(e,t){let o=Ae("field"),i=Ae("form");return l(),d("div",mb,[t[49]||(t[49]=n("div",{class:"paper-crumbs"},[v("Admin \xA0/\xA0 "),n("span",{class:"here"},"Errors")],-1)),n("header",gb,[t[16]||(t[16]=n("h1",{class:"paper-page-title"},"Errors",-1)),n("div",vb,[n("button",{class:"btn btn-sm",type:"button",onClick:t[0]||(t[0]=s=>e.exportCsv())},[...t[14]||(t[14]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-export"})],-1),v(" Export CSV",-1)])]),n("button",{class:"btn btn-sm btn-outline-danger",type:"button",onClick:t[1]||(t[1]=s=>e.clearAll())},[...t[15]||(t[15]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-trash"})],-1),v(" Clear all",-1)])])])]),t[50]||(t[50]=Se('',1)),n("section",yb,[n("div",bb,[t[17]||(t[17]=n("div",{class:"kpi-label"},"Occurrences \xB7 24h",-1)),n("div",wb,c(e.fmt?.number(e.stats?.last24h??0)),1),n("div",{class:T(["kpi-sub",{up:e.stats?.delta>0,down:e.stats?.delta<0}])},[e.stats?.prev24h>=20?(l(),d("span",kb,c((e.stats?.last24h??0)-(e.stats?.prev24h??0)>=0?"+":"")+c(Math.round(((e.stats?.last24h??0)-(e.stats?.prev24h??0))/e.stats.prev24h*100))+"% vs yesterday",1)):e.stats?.prev24h!==void 0?(l(),d("span",Cb,c(e.fmt?.number(e.stats?.prev24h??0))+" in prior 24h",1)):f("v-if",!0),e.stats?.prev24h?f("v-if",!0):(l(),d("span",Eb,"no prior baseline"))],2)]),n("div",{class:T(["kpi-card kpi-error kpi-filter",{"is-selected":e.query?.bucket==="error"}]),role:"button",tabindex:"0","aria-pressed":e.query?.bucket==="error",title:"Show only errors (5xx)",onClick:t[2]||(t[2]=s=>e.setBucket(e.query?.bucket==="error"?"":"error")),onKeydown:t[3]||(t[3]=ut(de(s=>e.setBucket(e.query?.bucket==="error"?"":"error"),["prevent"]),["enter"]))},[t[18]||(t[18]=n("div",{class:"kpi-label"},"Error",-1)),n("div",Nb,c(e.fmt?.number(e.stats?.severity?.error??0)),1),n("div",Rb,"5xx \xB7 "+c(e.stats?.unique?.error)+" unique",1)],42,Sb),n("div",{class:T(["kpi-card kpi-warn kpi-filter",{"is-selected":e.query?.bucket==="warn"}]),role:"button",tabindex:"0","aria-pressed":e.query?.bucket==="warn",title:"Show only warnings (4xx, aborted requests)",onClick:t[4]||(t[4]=s=>e.setBucket(e.query?.bucket==="warn"?"":"warn")),onKeydown:t[5]||(t[5]=ut(de(s=>e.setBucket(e.query?.bucket==="warn"?"":"warn"),["prevent"]),["enter"]))},[t[19]||(t[19]=n("div",{class:"kpi-label"},"Warning",-1)),n("div",Ab,c(e.fmt?.number(e.stats?.severity?.warn??0)),1),n("div",Tb,"4xx, aborted \xB7 "+c(e.stats?.unique?.warn)+" unique",1)],42,Db),n("div",{class:T(["kpi-card kpi-info kpi-filter",{"is-selected":e.query?.bucket==="info"}]),role:"button",tabindex:"0","aria-pressed":e.query?.bucket==="info",title:"Show only info events",onClick:t[6]||(t[6]=s=>e.setBucket(e.query?.bucket==="info"?"":"info")),onKeydown:t[7]||(t[7]=ut(de(s=>e.setBucket(e.query?.bucket==="info"?"":"info"),["prevent"]),["enter"]))},[t[20]||(t[20]=n("div",{class:"kpi-label"},"Info",-1)),n("div",Ob,c(e.fmt?.number(e.stats?.severity?.info??0)),1),n("div",Ib,"Auth, 404 \xB7 "+c(e.stats?.unique?.info)+" unique",1)],42,Pb),n("div",{class:T(["kpi-card",{"kpi-error":e.stats?.dropped>0}])},[t[21]||(t[21]=n("div",{class:"kpi-label"},"Distinct errors stored",-1)),n("div",Mb,c(e.fmt?.number(e.total)),1),n("div",_b,[v(" all time \xB7 cap "+c(e.fmt?.number(e.cap))+" \xB7 "+c(e.available?"live":"redis off")+" ",1),e.stats?.dropped>0?(l(),d("span",Vb," \xB7 "+c(e.stats?.dropped)+" dropped",1)):f("v-if",!0)])],2)]),n("section",qb,[n("div",$b,[t[25]||(t[25]=n("span",{class:"volume-title"},"Volume \xB7 24h \xB7 1h buckets",-1)),n("span",Lb,[e.stats?.severity?.error?(l(),d("span",Ub,[...t[22]||(t[22]=[n("span",{class:"dot dot-error"},null,-1),v("Error",-1)])])):f("v-if",!0),e.stats?.severity?.warn?(l(),d("span",Fb,[...t[23]||(t[23]=[n("span",{class:"dot dot-warn"},null,-1),v("Warning",-1)])])):f("v-if",!0),e.stats?.severity?.info?(l(),d("span",Bb,[...t[24]||(t[24]=[n("span",{class:"dot dot-info"},null,-1),v("Info",-1)])])):f("v-if",!0)])]),n("div",zb,[(l(!0),d(L,null,ie(e.stats?.buckets,(s,r)=>(l(),d("div",{class:"volume-bar",key:r,title:e.bucketTitle(s)},[n("span",{class:"seg seg-error",style:Ve({height:e.barPx(s,"error")+"px"})},null,4),n("span",{class:"seg seg-warn",style:Ve({height:e.barPx(s,"warn")+"px"})},null,4),n("span",{class:"seg seg-info",style:Ve({height:e.barPx(s,"info")+"px"})},null,4)],8,Hb))),128))]),t[26]||(t[26]=n("div",{class:"volume-axis","aria-hidden":"true"},[n("span",null,"24h ago"),n("span",null,"12h ago"),n("span",null,"now")],-1))]),O((l(),d("form",jb,[n("div",Gb,[n("button",{type:"button",role:"radio",class:T(["seg-chip",{active:(e.query?.bucket||"")===""}]),"aria-checked":(e.query?.bucket||"")==="",onClick:t[8]||(t[8]=s=>e.setBucket(""))},[t[27]||(t[27]=v("All ",-1)),n("span",Kb,c(e.fmt?.number((e.stats?.severity?.error??0)+(e.stats?.severity?.warn??0)+(e.stats?.severity?.info??0))),1)],10,Wb),n("button",{type:"button",role:"radio",class:T(["seg-chip",{active:(e.query?.bucket||"")==="error","is-empty":!e.stats?.severity?.error}]),"aria-checked":(e.query?.bucket||"")==="error",onClick:t[9]||(t[9]=s=>e.setBucket("error"))},[t[28]||(t[28]=n("span",{class:"seg-dot bad","aria-hidden":"true"},null,-1)),t[29]||(t[29]=v("Error ",-1)),n("span",Xb,c(e.fmt?.number(e.stats?.severity?.error??0)),1)],10,Yb),n("button",{type:"button",role:"radio",class:T(["seg-chip",{active:(e.query?.bucket||"")==="warn","is-empty":!e.stats?.severity?.warn}]),"aria-checked":(e.query?.bucket||"")==="warn",onClick:t[10]||(t[10]=s=>e.setBucket("warn"))},[t[30]||(t[30]=n("span",{class:"seg-dot warn","aria-hidden":"true"},null,-1)),t[31]||(t[31]=v("Warning ",-1)),n("span",Jb,c(e.fmt?.number(e.stats?.severity?.warn??0)),1)],10,Qb),n("button",{type:"button",role:"radio",class:T(["seg-chip",{active:(e.query?.bucket||"")==="info","is-empty":!e.stats?.severity?.info}]),"aria-checked":(e.query?.bucket||"")==="info",onClick:t[11]||(t[11]=s=>e.setBucket("info"))},[t[32]||(t[32]=n("span",{class:"seg-dot off","aria-hidden":"true"},null,-1)),t[33]||(t[33]=v("Info ",-1)),n("span",xb,c(e.fmt?.number(e.stats?.severity?.info??0)),1)],10,Zb)]),n("div",e1,[t[34]||(t[34]=n("svg",{class:"ui-icon search-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-search"})],-1)),O(n("input",t1,null,512),[[o,{state:e.viewState,set:s=>{e.query.search=s},value:e.query?.search,form:null,options:{}}]]),e.parsedFilterCount?(l(),d("span",n1,c(e.parsedFilterCount)+" filter"+c(e.parsedFilterCount>1?"s":""),1)):f("v-if",!0)]),n("div",o1,[t[36]||(t[36]=n("label",null,"Sort",-1)),O((l(),d("select",s1,[...t[35]||(t[35]=[n("option",{value:"recent"},"Most recent",-1),n("option",{value:"count"},"Most frequent",-1)])])),[[o,{state:e.viewState,set:s=>{e.query.sort=s},value:e.query?.sort,form:null,options:{}}]])]),n("div",i1,[t[38]||(t[38]=n("label",{title:"Rows are always sectioned by severity. This merges repeated events inside each section."},"Merge",-1)),O((l(),d("select",r1,[...t[37]||(t[37]=[n("option",{value:""},"Don't merge",-1),n("option",{value:"code"},"Same error",-1),n("option",{value:"module"},"Same module",-1)])])),[[o,{state:e.viewState,set:s=>{e.query.group=s},value:e.query?.group,form:null,options:{}}]])]),n("label",a1,[O(n("input",l1,null,512),[[o,{state:e.viewState,set:s=>{e.query.autoRefresh=s},value:e.query?.autoRefresh,form:null,options:{}}]]),t[39]||(t[39]=n("span",{class:"auto-refresh-label"},"Auto-refresh",-1))]),n("button",{class:"btn btn-sm btn-icon",type:"button",title:"Refresh now",onClick:t[12]||(t[12]=s=>e.refreshNow()),"aria-label":"Refresh"},[...t[40]||(t[40]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-refresh"})],-1)])])])),[[i,e.viewState]]),e.visible?.length?f("v-if",!0):(l(),d("div",d1,"No errors captured.")),e.canLoadMore()&&e.visible?.length?(l(),d("div",u1,[n("span",null,c(e.query?.group&&e.visible?.length!==e.entries?.length?e.fmt?.number(e.visible?.length)+(e.visible?.length===1?" group":" groups")+" from ":"")+c(e.fmt?.number(e.entries?.length))+" of "+c(e.fmt?.number(e.total))+" stored errors loaded",1),n("button",{class:"btn btn-sm",type:"button",onClick:t[13]||(t[13]=s=>e.loadMore())},"Load 250 older")])):f("v-if",!0),e.visible?.length?(l(),d("div",c1,[t[48]||(t[48]=Se('
WhenSeverityModuleMessageTotalStatus
',1)),(l(!0),d(L,null,ie(e.visible,(s,r)=>(l(),d(L,{key:s?._key},[r===0||e.visible[r-1]?._bucket!==s?._bucket?(l(),d("div",p1,[n("span",{class:T(["sev-dot","sev-"+s?._bucket])},null,2),v(c(s?._bucket==="error"?"Error":s?._bucket==="warn"?"Warning":"Info"),1),n("span",f1,c(e.fmt?.number(e.visible.filter(a=>a?._bucket===s?._bucket).length)),1),r===0?(l(),d("span",h1,"By severity \xB7 "+c(e.query?.group==="code"?"repeats merged by error \xB7 ":e.query?.group==="module"?"repeats merged by module \xB7 ":"")+c(e.query?.sort==="count"?"most frequent first":"most recent first"),1)):f("v-if",!0)])):f("v-if",!0),n("div",{class:T(["errors-row",{open:e.expanded[s?._key]}])},[n("div",{class:"errors-row-main",onClick:a=>e.toggle(s)},[n("div",g1,[n("div",v1,c(e.relTime(s?.ts)),1),n("div",y1,c(e.absTimeShort(s?.ts)),1)]),n("div",b1,[n("span",{class:T(["sev-dot","sev-"+s?._bucket])},null,2),n("span",w1,c(s?._bucket==="error"?"Error":s?._bucket==="warn"?"Warning":"Info"),1)]),n("div",k1,[n("span",C1,c(s?.module),1)]),n("div",E1,[n("strong",S1,c(s?.displayMessage),1),s?.displayContext&&s?.displayContext!==s?.displayMessage?(l(),d("span",N1,c(s?.displayContext),1)):f("v-if",!0),s?._detail?(l(),d("span",R1,c(s?._detail),1)):f("v-if",!0),s?._url?(l(),d("div",{key:2,class:"msg-url",title:s?._url},c(s?._url),9,D1)):f("v-if",!0)]),n("div",A1,[s?.count>1?(l(),d("span",T1,"\xD7"+c(s?.count),1)):f("v-if",!0),s?.count===1?(l(),d("span",P1,"\xD71")):f("v-if",!0)]),n("div",O1,[s?._status?(l(),d("span",{key:0,class:T(["status-pill",String(s?._status).match(/^[23]/)?"status-neutral":"status-"+s?._bucket]),title:String(s?._status).match(/^2/)&&s?._bucket==="warn"?"Client closed the connection":null},c(String(s?._status).match(/^2/)&&s?._bucket==="warn"?"\u2014":s?._status),11,I1)):f("v-if",!0),s?._status?f("v-if",!0):(l(),d("span",M1,"\u2014"))])],8,m1),e.expanded[s?._key]?(l(),d("div",_1,[n("div",V1,[n("button",{type:"button",class:T({active:e.detailTab[s?._key]==="raw"||!e.detailTab[s?._key]}),onClick:a=>e.detailTab[s._key]="raw"},"Raw",10,q1),s?._stack?(l(),d("button",{key:0,type:"button",class:T({active:e.detailTab[s?._key]==="stack"}),onClick:a=>e.detailTab[s._key]="stack"},"Stack",10,$1)):f("v-if",!0),s?.count>1?(l(),d("button",{key:1,type:"button",class:T({active:e.detailTab[s?._key]==="related"}),onClick:a=>e.detailTab[s._key]="related"},"Related ("+c(s?.count)+")",11,L1)):f("v-if",!0)]),n("div",U1,[n("div",F1,[(e.detailTab[s?._key]||"raw")==="raw"?(l(),d("pre",B1,c(s?._detailJson),1)):f("v-if",!0),e.detailTab[s?._key]==="stack"?(l(),d("pre",z1,c(s?._stack),1)):f("v-if",!0),e.detailTab[s?._key]==="related"?(l(),d("div",H1,[(l(!0),d(L,null,ie(s?._related,(a,u)=>(l(),d("div",{class:"related-row",key:u},[n("span",j1,c(e.absTimeShort(a?.ts)),1),n("span",G1,c(a?._url),1),a?._status?(l(),d("span",{key:0,class:T(["status-pill","status-"+a?._bucket])},c(a?._status),3)):f("v-if",!0)]))),128))])):f("v-if",!0),n("div",W1,[n("button",{class:"btn btn-sm",type:"button",title:"Copy a curl that reproduces the request",onClick:a=>e.copyCurl(s)},[...t[41]||(t[41]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-code"})],-1),v(" Copy curl",-1)])],8,K1),n("button",{class:"btn btn-sm",type:"button",onClick:a=>e.copyJson(s)},[...t[42]||(t[42]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-clipboard"})],-1),v(" Copy JSON",-1)])],8,Y1),e.copyHint?(l(),d("span",X1,c(e.copyHint),1)):f("v-if",!0)])]),n("aside",Q1,[n("div",J1,[t[43]||(t[43]=n("div",{class:"aside-label"},"First seen",-1)),n("div",{class:"aside-value",title:e.absTime(s?._firstSeen)},c(e.relTime(s?._firstSeen)),9,Z1)]),n("div",x1,[t[44]||(t[44]=n("div",{class:"aside-label"},"Last seen",-1)),n("div",{class:"aside-value",title:e.absTime(s?.ts)},c(e.relTime(s?.ts)),9,ew)]),n("div",tw,[t[45]||(t[45]=n("div",{class:"aside-label"},"Occurrences",-1)),n("div",nw,[v(c(s?.count),1),s?._lastHourCount?(l(),d("span",ow," \xB7 "+c(s?._lastHourCount)+" this hour",1)):f("v-if",!0)])]),s?._repoId?(l(),d("div",sw,[t[46]||(t[46]=n("div",{class:"aside-label"},"Repository",-1)),n("a",{class:"aside-value",href:e.safeUrl("/r/"+s?._repoId)},c(s?._repoId),9,iw)])):f("v-if",!0),s?._url?(l(),d("div",rw,[t[47]||(t[47]=n("div",{class:"aside-label"},"URL",-1)),n("div",aw,c(s?._url),1)])):f("v-if",!0)])])])):f("v-if",!0)],2)],64))),128))])):f("v-if",!0)])}var lw={class:"container paper-page admin-page overview-page"},dw={key:0,class:"admin-empty"},uw={key:1,class:"alert alert-danger",style:{margin:"12px 0"}},cw={class:"ov-views",role:"tablist","aria-label":"Overview sections"},pw=["aria-selected","onClick"],fw={key:2},hw={key:0,class:"ov-health",role:"status"},mw={class:"ov-kpi-row"},gw={class:"ov-kpi-card"},vw={class:"ov-kpi-value"},yw={class:"ov-kpi-sub"},bw={class:"ov-kpi-card"},ww={class:"ov-kpi-sub"},kw={class:"ov-kpi-card"},Cw={class:"ov-kpi-sub"},Ew={class:"ov-kpi-card"},Sw={class:"ov-kpi-sub"},Nw={class:"ov-kpi-card"},Rw={class:"ov-kpi-value"},Dw={class:"ov-kpi-sub"},Aw={class:"ov-daily-row"},Tw={class:"ov-daily-card"},Pw={class:"ov-daily-value"},Ow={class:"ov-daily-card"},Iw={class:"ov-daily-value"},Mw={class:"ov-daily-sub"},_w={class:"ov-daily-card"},Vw={class:"ov-daily-value"},qw={class:"ov-chart-card"},$w={class:"ov-chart-head"},Lw={class:"ov-chart-legends"},Uw={class:"ov-chart-legend"},Fw={key:0,class:"ov-legend-missing"},Bw={key:0,class:"ov-spark-bars ov-has-axis"},zw={class:"ov-yaxis","aria-hidden":"true"},Hw=["data-tip","aria-label"],jw={key:1,class:"ov-spark-x"},Gw={class:"ov-chart-card"},Ww={class:"ov-chart-head"},Kw={class:"ov-chart-legends"},Yw={class:"ov-chart-legend"},Xw={key:0,class:"ov-legend-missing"},Qw={key:0,class:"ov-spark-bars ov-has-axis"},Jw={class:"ov-yaxis","aria-hidden":"true"},Zw=["data-tip","aria-label"],xw={key:1,class:"ov-spark-x"},ek={key:0,class:"ov-chart-card"},tk={class:"ov-chart-head"},nk={class:"ov-chart-legends"},ok={class:"ov-chart-legend"},sk={key:0,class:"ov-legend-missing"},ik={key:0,class:"ov-spark-bars ov-spark-step ov-has-axis"},rk={class:"ov-yaxis","aria-hidden":"true"},ak=["viewBox","aria-label"],lk=["d"],dk=["d"],uk={key:1,class:"ov-spark-x"},ck={class:"ov-chart-card"},pk={class:"ov-chart-head"},fk={class:"ov-chart-legends"},hk={class:"ov-chart-legend"},mk={key:0,class:"ov-legend-missing"},gk={key:0,class:"ov-spark-bars ov-has-axis"},vk={class:"ov-yaxis","aria-hidden":"true"},yk=["data-tip","aria-label"],bk={key:1,class:"ov-spark-x"},wk={class:"ov-triple-row"},kk={class:"ov-panel-card"},Ck={class:"ov-panel-head"},Ek={class:"ov-panel-meta"},Sk={class:"ov-stacked-bar"},Nk={class:"ov-bar-legend"},Rk={href:"/admin/repositories",class:"ov-legend-item"},Dk={class:"ov-legend-n"},Ak={href:"/admin/repositories",class:"ov-legend-item"},Tk={class:"ov-legend-n"},Pk={href:"/admin/repositories",class:"ov-legend-item"},Ok={class:"ov-legend-n"},Ik={href:"/admin/repositories",class:"ov-legend-item"},Mk={class:"ov-legend-n"},_k={href:"/admin/repositories",class:"ov-legend-item"},Vk={class:"ov-legend-n"},qk={class:"ov-panel-card"},$k={class:"ov-panel-head"},Lk={class:"ov-panel-meta"},Uk={class:"ov-error-bars"},Fk={class:"ov-ebar-row"},Bk={class:"ov-ebar-track"},zk={class:"ov-ebar-n"},Hk={class:"ov-ebar-row"},jk={class:"ov-ebar-track"},Gk={class:"ov-ebar-n"},Wk={key:0,class:"ov-ehours",role:"img","aria-label":"Errors per hour over the last 24 hours"},Kk={class:"ov-ehours-legend"},Yk={class:"ov-ehours-note"},Xk={class:"ov-ehours-bars"},Qk=["title"],Jk={key:0,class:"ov-ehours-zero"},Zk={class:"ov-ebar-note"},xk={key:0,class:"ov-panel-foot"},e0={href:"/admin/errors"},t0={class:"ov-panel-card"},n0={class:"ov-routes-table"},o0={class:"ov-route-row",href:"/admin/queues"},s0={class:"ov-route-n"},i0={class:"ov-route-n"},r0={class:"ov-route-row",href:"/admin/queues"},a0={class:"ov-route-n"},l0={class:"ov-route-n"},d0={class:"ov-route-row",href:"/admin/queues"},u0={class:"ov-route-n"},c0={class:"ov-route-n"},p0={class:"ov-services-card"},f0={class:"ov-services-head"},h0={class:"ov-panel-meta"},m0={class:"ov-services-grid"},g0={class:"ov-svc"},v0={class:"ov-svc-info"},y0={class:"ov-svc-meta"},b0={class:"ov-svc"},w0={class:"ov-svc-info"},k0={key:0,class:"ov-svc-meta"},C0={key:1,class:"ov-svc-meta"},E0={class:"ov-svc"},S0={class:"ov-svc-info"},N0={key:0,class:"ov-svc-meta"},R0={key:1,class:"ov-svc-meta"},D0={class:"ov-svc"},A0={class:"ov-svc-info"},T0={key:0,class:"ov-svc-meta"},P0={key:1,class:"ov-svc-meta"},O0={class:"ov-svc"},I0=["title"],M0={class:"ov-svc-info"},_0={class:"ov-svc-meta"},V0={class:"ov-panel-card ov-cache","aria-labelledby":"cache-heading"},q0={class:"ov-panel-head ov-performance-head"},$0={class:"ov-performance-window"},L0={key:0,class:"ov-performance-message ov-performance-warning",role:"alert"},U0={key:1,class:"ov-performance-empty",role:"status"},F0={key:0,class:"ov-performance-note"},B0={key:1,class:"ov-performance-note"},z0={key:2,class:"ov-performance-message ov-performance-warning",role:"status"},H0={key:3,class:"ov-metrics-scroll",tabindex:"0",role:"region","aria-label":"Cache storage budgets"},j0={class:"ov-metrics-table"},G0={scope:"row",class:"ov-event-name"},W0=["title"],K0={key:0,class:"ov-metric-bad-text"},Y0={key:1,class:"budget-bar","aria-hidden":"true"},X0={class:"num"},Q0={class:"num"},J0={class:"num"},Z0={class:"num"},x0={key:4,class:"ov-cache-rates"},e2={key:5,class:"ov-metrics-scroll",tabindex:"0",role:"region","aria-label":"Cache events and processing durations"},t2={class:"ov-metrics-table"},n2={scope:"row",class:"ov-event-name"},o2={class:"ov-event-traffic"},s2={class:"num"},i2={class:"num"},r2={key:6,class:"ov-performance-empty",role:"status"},a2={class:"ov-performance-note"},l2={class:"ov-panel-card ov-performance","aria-labelledby":"performance-heading"},d2={class:"ov-panel-head ov-performance-head"},u2={class:"ov-performance-window"},c2={key:0,class:"ov-performance-message ov-performance-warning",role:"alert"},p2={key:1,class:"ov-performance-empty",role:"status"},f2={key:2},h2={id:"performance-routes",role:"region","aria-label":"Routes"},m2={key:0,class:"ov-metrics-scroll",tabindex:"0",role:"region","aria-label":"Route latency metrics, scroll for more columns"},g2={class:"ov-metrics-table"},v2={scope:"row",class:"ov-metric-name"},y2={class:"num"},b2={class:"num"},w2={class:"num"},k2={class:"num"},C2={class:"num"},E2={key:1,class:"ov-performance-empty"},S2={id:"performance-processes",role:"region","aria-label":"Processes"},N2={key:0,class:"ov-performance-message ov-performance-warning",role:"status"},R2={key:1,class:"ov-metrics-scroll",tabindex:"0",role:"region","aria-label":"Process resource metrics, scroll for more columns"},D2={class:"ov-metrics-table"},A2={scope:"row",class:"ov-metric-name"},T2={key:0,class:"ov-metric-warn"},P2={class:"num"},O2={class:"num"},I2={class:"num"},M2={class:"num"},_2={class:"num"},V2={class:"num"},q2={class:"num"},$2={class:"num"},L2={id:"performance-stages",role:"region","aria-label":"Work stages"},U2={key:0,class:"ov-metrics-scroll",tabindex:"0",role:"region","aria-label":"Work stage metrics, scroll for more columns"},F2={class:"ov-metrics-table"},B2={scope:"row",class:"ov-metric-name"},z2={class:"num"},H2={class:"num"},j2={class:"num"},G2={key:1,class:"ov-performance-empty"};function Lc(e,t){return l(),d("div",lw,[t[95]||(t[95]=Se('
Admin \xA0/\xA0 Overview

Overview

Live \xB7 refreshes every 30s
',2)),e.loading?(l(),d("div",dw,"Loading overview\u2026")):f("v-if",!0),e.error?(l(),d("div",uw,[t[8]||(t[8]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-warning"})],-1)),v(" "+c(e.error),1)])):f("v-if",!0),n("div",cw,[(l(),d(L,null,ie([{id:"summary",label:"Summary"},{id:"performance",label:"Performance"},{id:"cache",label:"Cache"}],o=>n("button",{type:"button",role:"tab",key:o.id,"aria-selected":e.ovView===o.id?"true":"false",class:T({active:e.ovView===o.id}),onClick:i=>e.setOvView(o.id)},c(o.label),11,pw)),64))]),e.data?O((l(),d("div",fw,[e.data?.system?.memPercent>90||e.data?.system?.diskPercent>90?(l(),d("div",hw,[t[10]||(t[10]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-warning"})],-1)),n("span",null,[t[9]||(t[9]=n("b",null,"Server needs attention.",-1)),v(" "+c(e.healthAlert()),1)])])):f("v-if",!0),f(" \u2500\u2500 Top KPI row \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 "),n("section",mw,[n("div",gw,[t[11]||(t[11]=n("div",{class:"ov-kpi-label"},"Live repositories",-1)),n("div",vw,c(e.humanNum((e.data?.repos?.statusBreakdown||[]).filter(o=>o._id!=="removed"&&o._id!=="expired").reduce((o,i)=>o+(i.count||0),0))),1),n("div",yw,c(e.humanNum(((e.data?.repos?.statusBreakdown||[]).find(o=>o._id==="removed")||{}).count||0))+" removed \xB7 "+c(e.humanNum(e.data?.repos?.total))+" total",1)]),n("div",bw,[t[12]||(t[12]=n("div",{class:"ov-kpi-label"},"CPU",-1)),n("div",{class:T(["ov-kpi-value",{"ov-val-warn":e.data?.system?.cpuPercent>=75}])},c(e.data?.system?.cpuPercent)+"%",3),n("div",{class:T(["ov-meter",{warn:e.data?.system?.cpuPercent>=75,crit:e.data?.system?.cpuPercent>90}])},[n("span",{style:Ve({width:Math.min(100,e.data?.system?.cpuPercent||0)+"%"})},null,4)],2),n("div",ww,[e.data?.system?.cpuPercent>=75?(l(),d("b",{key:0,class:T(["ov-flag",{critical:e.data?.system?.cpuPercent>90}])},c(e.data?.system?.cpuPercent>90?"Critical":"High")+" \xB7 ",3)):f("v-if",!0),v(c(e.data?.system?.cpuCount)+" cores \xB7 load "+c(e.data?.system?.loadAvg?.[0]?.toFixed(1)),1)])]),n("div",kw,[t[13]||(t[13]=n("div",{class:"ov-kpi-label"},"Memory",-1)),n("div",{class:T(["ov-kpi-value",{"ov-val-warn":e.data?.system?.memPercent>=75}])},c(e.data?.system?.memPercent)+"%",3),n("div",{class:T(["ov-meter",{warn:e.data?.system?.memPercent>=75,crit:e.data?.system?.memPercent>90}])},[n("span",{style:Ve({width:Math.min(100,e.data?.system?.memPercent||0)+"%"})},null,4)],2),n("div",Cw,[e.data?.system?.memPercent>=75?(l(),d("b",{key:0,class:T(["ov-flag",{critical:e.data?.system?.memPercent>90}])},c(e.data?.system?.memPercent>90?"Critical":"High")+" \xB7 ",3)):f("v-if",!0),v(c(e.humanBytes(e.data?.system?.memUsed).replace(/\s*GB$/,""))+" / "+c(e.humanBytes(e.data?.system?.memTotal)),1)])]),n("div",Ew,[t[14]||(t[14]=n("div",{class:"ov-kpi-label"},"Disk",-1)),n("div",{class:T(["ov-kpi-value",{"ov-val-warn":e.data?.system?.diskPercent>=75}])},c(e.data?.system?.diskPercent)+"%",3),n("div",{class:T(["ov-meter",{warn:e.data?.system?.diskPercent>=75,crit:e.data?.system?.diskPercent>90}])},[n("span",{style:Ve({width:Math.min(100,e.data?.system?.diskPercent||0)+"%"})},null,4)],2),n("div",Sw,[e.data?.system?.diskPercent>=75?(l(),d("b",{key:0,class:T(["ov-flag",{critical:e.data?.system?.diskPercent>90}])},c(e.data?.system?.diskPercent>90?"Critical":"High")+" \xB7 ",3)):f("v-if",!0),v(c(e.humanBytes(e.data?.system?.diskUsed).replace(/\s*GB$/,""))+" / "+c(e.humanBytes(e.data?.system?.diskTotal)),1),e.data?.system?.diskMount&&e.data.system.diskMount!=="/"?(l(),d(L,{key:1},[v(" \xB7 "+c(e.data?.system?.diskMount),1)],64)):f("v-if",!0)])]),n("div",Nw,[t[15]||(t[15]=n("div",{class:"ov-kpi-label"},"Uptime",-1)),n("div",Rw,c(e.humanDuration(e.data?.system?.uptime)),1),n("div",Dw,c(e.data?.system?.nodeVersion)+" \xB7 "+c(e.data?.system?.platform),1)])]),f(" \u2500\u2500 Daily activity highlights \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 "),n("section",Aw,[n("div",Tw,[t[16]||(t[16]=n("div",{class:"ov-daily-label"},"New repos today",-1)),n("div",Pw,c(e.fmt?.number(e.data?.daily?.today?.repositories||0)),1),t[17]||(t[17]=n("div",{class:"ov-daily-sub"},"so far today",-1))]),n("div",Ow,[t[18]||(t[18]=n("div",{class:"ov-daily-label"},"New users today",-1)),n("div",Iw,c(e.fmt?.number(e.data?.daily?.today?.users||0)),1),n("div",Mw,c(e.fmt?.number(e.data?.users?.total))+" total \xB7 +"+c(e.fmt?.number(e.usersGained()))+" in 30 days",1)]),n("div",_w,[t[19]||(t[19]=n("div",{class:"ov-daily-label"},"Page views today",-1)),n("div",Vw,c(e.fmt?.number(e.data?.daily?.today?.pageViews||0)),1),t[20]||(t[20]=n("div",{class:"ov-daily-sub"},"so far today",-1))])]),f(" \u2500\u2500 Daily charts \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 "),n("section",{class:T(["ov-chart-row",{"is-three":e.usersTiny()}])},[n("div",qw,[n("div",$w,[t[23]||(t[23]=n("span",{class:"ov-chart-title"},"Daily page views \xB7 30d",-1)),n("span",Lw,[n("span",Uw,[t[21]||(t[21]=n("span",{class:"ov-dot-legend ov-dot-accent"},null,-1)),v("views/day \xB7 peak "+c(e.fmt?.number(e.historyMax("dailyPageViews"))),1)]),e.historyHasMissing()?(l(),d("span",Fw,[...t[22]||(t[22]=[n("span",{class:"ov-swatch-missing","aria-hidden":"true"},null,-1),v("No data",-1)])])):f("v-if",!0)])]),e.data?.history?.length?(l(),d("div",Bw,[n("div",zw,[n("span",null,c(e.fmt?.number(e.axisMax("dailyPageViews"))),1),n("span",null,c(e.fmt?.number(e.axisMax("dailyPageViews")/2)),1),t[24]||(t[24]=n("span",null,"0",-1))]),(l(!0),d(L,null,ie(e.data?.history,(o,i)=>(l(),d("div",{class:T(["ov-spark-col has-tip",{"is-missing":o?._empty}]),key:i,"data-tip":o?._empty?e.historyLabel(o)+": no data":e.historyLabel(o)+": +"+e.fmt?.number(o?.dailyPageViews)+(o?.dailyPageViews===1?" view":" views"),"aria-label":o?._empty?e.historyLabel(o)+": no data":e.historyLabel(o)+": +"+e.fmt?.number(o?.dailyPageViews)+(o?.dailyPageViews===1?" view":" views")},[n("span",{class:"ov-spark-fill",style:Ve({height:e.historyBarH(o,"dailyPageViews")+"px"})},null,4)],10,Hw))),128))])):f("v-if",!0),e.data?.history?.length?(l(),d("div",jw,[n("span",null,c(e.historyLabel(e.data?.history[0])),1),n("span",null,c(e.historyLabel(e.data?.history[Math?.floor(e.data?.history?.length/2)])),1),n("span",null,c(e.historyLabel(e.data?.history[e.data?.history?.length-1])),1)])):f("v-if",!0)]),n("div",Gw,[n("div",Ww,[t[27]||(t[27]=n("span",{class:"ov-chart-title"},"New repos \xB7 30d",-1)),n("span",Kw,[n("span",Yw,[t[25]||(t[25]=n("span",{class:"ov-dot-legend ov-dot-ok-fill"},null,-1)),v("repos/day \xB7 peak "+c(e.fmt?.number(e.historyMax("dailyRepositories"))),1)]),e.historyHasMissing()?(l(),d("span",Xw,[...t[26]||(t[26]=[n("span",{class:"ov-swatch-missing","aria-hidden":"true"},null,-1),v("No data",-1)])])):f("v-if",!0)])]),e.data?.history?.length?(l(),d("div",Qw,[n("div",Jw,[n("span",null,c(e.fmt?.number(e.axisMax("dailyRepositories"))),1),n("span",null,c(e.fmt?.number(e.axisMax("dailyRepositories")/2)),1),t[28]||(t[28]=n("span",null,"0",-1))]),(l(!0),d(L,null,ie(e.data?.history,(o,i)=>(l(),d("div",{class:T(["ov-spark-col has-tip",{"is-missing":o?._empty}]),key:i,"data-tip":o?._empty?e.historyLabel(o)+": no data":e.historyLabel(o)+": +"+e.fmt?.number(o?.dailyRepositories)+(o?.dailyRepositories===1?" repo":" repos"),"aria-label":o?._empty?e.historyLabel(o)+": no data":e.historyLabel(o)+": +"+e.fmt?.number(o?.dailyRepositories)+(o?.dailyRepositories===1?" repo":" repos")},[n("span",{class:"ov-spark-fill ov-spark-fill-alt",style:Ve({height:e.historyBarH(o,"dailyRepositories")+"px"})},null,4)],10,Zw))),128))])):f("v-if",!0),e.data?.history?.length?(l(),d("div",xw,[n("span",null,c(e.historyLabel(e.data?.history[0])),1),n("span",null,c(e.historyLabel(e.data?.history[Math?.floor(e.data?.history?.length/2)])),1),n("span",null,c(e.historyLabel(e.data?.history[e.data?.history?.length-1])),1)])):f("v-if",!0)]),e.usersTiny()?f("v-if",!0):(l(),d("div",ek,[n("div",tk,[t[31]||(t[31]=n("span",{class:"ov-chart-title"},"Users \xB7 30d",-1)),n("span",nk,[n("span",ok,[t[29]||(t[29]=n("span",{class:"ov-dot-legend ov-dot-user-fill"},null,-1)),v("total users \xB7 "+c(e.fmt?.number(e.historyRange("nbUsers").max))+" now \xB7 +"+c(e.fmt?.number(Math.max(0,e.historyRange("nbUsers").max-e.usersFirst())))+" in 30 days",1)]),e.historyHasMissing()?(l(),d("span",sk,[...t[30]||(t[30]=[n("span",{class:"ov-swatch-missing","aria-hidden":"true"},null,-1),v("No data",-1)])])):f("v-if",!0)])]),e.data?.history?.length?(l(),d("div",ik,[n("div",rk,[n("span",null,c(e.fmt?.number(e.userAxis().hi)),1),n("span",null,c(e.fmt?.number((e.userAxis().hi+e.userAxis().lo)/2)),1),n("span",null,c(e.fmt?.number(e.userAxis().lo)),1)]),(l(),d("svg",{class:"ov-step-svg",viewBox:"0 0 "+e.data.history.length+" 140",preserveAspectRatio:"none",role:"img","aria-label":"Total users over 30 days, from "+e.fmt?.number(e.usersFirst())+" to "+e.fmt?.number(e.historyRange("nbUsers").max)},[e.userAxis().lo===0?(l(),d("path",{key:0,class:"ov-step-area",d:e.userStepPath(!0)},null,8,lk)):f("v-if",!0),n("path",{class:"ov-step-line",d:e.userStepPath(!1),"vector-effect":"non-scaling-stroke"},null,8,dk)],8,ak)),e.firstDataIndex()>0?(l(),d("div",{key:0,class:"ov-step-missing",style:Ve({width:e.firstDataIndex()/e.data.history.length*100+"%"})},null,4)):f("v-if",!0)])):f("v-if",!0),e.data?.history?.length?(l(),d("div",uk,[n("span",null,c(e.historyLabel(e.data?.history[0])),1),n("span",null,c(e.historyLabel(e.data?.history[Math?.floor(e.data?.history?.length/2)])),1),n("span",null,c(e.historyLabel(e.data?.history[e.data?.history?.length-1])),1)])):f("v-if",!0)])),n("div",ck,[n("div",pk,[t[34]||(t[34]=n("span",{class:"ov-chart-title"},"New users \xB7 30d",-1)),n("span",fk,[n("span",hk,[t[32]||(t[32]=n("span",{class:"ov-dot-legend ov-dot-new-user-fill"},null,-1)),v("users/day \xB7 peak "+c(e.fmt?.number(e.historyMax("dailyUsers"))),1)]),e.historyHasMissing()?(l(),d("span",mk,[...t[33]||(t[33]=[n("span",{class:"ov-swatch-missing","aria-hidden":"true"},null,-1),v("No data",-1)])])):f("v-if",!0)])]),e.data?.history?.length?(l(),d("div",gk,[n("div",vk,[n("span",null,c(e.fmt?.number(e.axisMax("dailyUsers"))),1),n("span",null,c(e.fmt?.number(e.axisMax("dailyUsers")/2)),1),t[35]||(t[35]=n("span",null,"0",-1))]),(l(!0),d(L,null,ie(e.data?.history,(o,i)=>(l(),d("div",{class:T(["ov-spark-col has-tip",{"is-missing":o?._empty}]),key:i,"data-tip":o?._empty?e.historyLabel(o)+": no data":e.historyLabel(o)+": +"+e.fmt?.number(o?.dailyUsers)+(o?.dailyUsers===1?" user":" users"),"aria-label":o?._empty?e.historyLabel(o)+": no data":e.historyLabel(o)+": +"+e.fmt?.number(o?.dailyUsers)+(o?.dailyUsers===1?" user":" users")},[n("span",{class:"ov-spark-fill ov-spark-fill-new-user",style:Ve({height:e.historyBarH(o,"dailyUsers")+"px"})},null,4)],10,yk))),128))])):f("v-if",!0),e.data?.history?.length?(l(),d("div",bk,[n("span",null,c(e.historyLabel(e.data?.history[0])),1),n("span",null,c(e.historyLabel(e.data?.history[Math?.floor(e.data?.history?.length/2)])),1),n("span",null,c(e.historyLabel(e.data?.history[e.data?.history?.length-1])),1)])):f("v-if",!0)])],2),f(" \u2500\u2500 Three-panel row: Status / Errors / Queues \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 "),n("section",wk,[f(" Repo status breakdown "),n("div",kk,[n("div",Ck,[t[36]||(t[36]=n("span",{class:"ov-panel-title"},"Repo status",-1)),n("span",Ek,c(e.fmt?.number(e.data?.repos?.total))+" total",1)]),n("div",Sk,[e.barPct("ready")>0?(l(),d("span",{key:0,class:"ov-bar-seg ov-bar-ready",title:"Ready",style:Ve({width:e.barPct("ready")+"%"})},null,4)):f("v-if",!0),e.barPct("preparing")>0?(l(),d("span",{key:1,class:"ov-bar-seg ov-bar-preparing",title:"Preparing",style:Ve({width:e.barPct("preparing")+"%"})},null,4)):f("v-if",!0),e.barPct("error")>0?(l(),d("span",{key:2,class:"ov-bar-seg ov-bar-error",title:"Error",style:Ve({width:e.barPct("error")+"%"})},null,4)):f("v-if",!0),e.barPct("expired")>0?(l(),d("span",{key:3,class:"ov-bar-seg ov-bar-expired",title:"Expiring / expired",style:Ve({width:e.barPct("expired")+"%"})},null,4)):f("v-if",!0),e.barPct("removed")>0?(l(),d("span",{key:4,class:"ov-bar-seg ov-bar-removed",title:"Removing / removed",style:Ve({width:e.barPct("removed")+"%"})},null,4)):f("v-if",!0)]),n("div",Nk,[n("a",Rk,[t[37]||(t[37]=n("span",{class:"ov-swatch ov-bar-ready"},null,-1)),t[38]||(t[38]=v(" Ready ",-1)),n("span",Dk,c(e.fmt?.number(e.statusCount("ready"))),1)]),n("a",Ak,[t[39]||(t[39]=n("span",{class:"ov-swatch ov-bar-preparing"},null,-1)),t[40]||(t[40]=v(" Preparing ",-1)),n("span",Tk,c(e.fmt?.number(e.statusCount("preparing")+e.statusCount("download"))),1)]),n("a",Pk,[t[41]||(t[41]=n("span",{class:"ov-swatch ov-bar-error"},null,-1)),t[42]||(t[42]=v(" Error ",-1)),n("span",Ok,c(e.fmt?.number(e.statusCount("error"))),1)]),n("a",Ik,[t[43]||(t[43]=n("span",{class:"ov-swatch ov-bar-expired"},null,-1)),t[44]||(t[44]=v(" Expiring / expired ",-1)),n("span",Mk,c(e.fmt?.number(e.statusCount("expired")+e.statusCount("expiring"))),1)]),n("a",_k,[t[45]||(t[45]=n("span",{class:"ov-swatch ov-bar-removed"},null,-1)),t[46]||(t[46]=v(" Removing / removed ",-1)),n("span",Vk,c(e.fmt?.number(e.statusCount("removed")+e.statusCount("removing"))),1)])])]),f(" Error breakdown "),n("div",qk,[n("div",$k,[t[47]||(t[47]=n("span",{class:"ov-panel-title"},"Errors \xB7 24h",-1)),n("span",Lk,c(e.fmt?.number(e.realErrors()))+" "+c(e.realErrors()===1?"error":"errors"),1)]),n("div",Uk,[n("div",Fk,[t[48]||(t[48]=n("span",{class:"ov-ebar-label"},"Error",-1)),n("span",Bk,[n("span",{class:"ov-ebar-fill ov-ebar-error",style:Ve({width:e.errPct("error")+"%"})},null,4)]),n("span",zk,c(e.data?.errors?.severity?.error),1)]),n("div",Hk,[t[49]||(t[49]=n("span",{class:"ov-ebar-label"},"Warning",-1)),n("span",jk,[n("span",{class:"ov-ebar-fill ov-ebar-warn",style:Ve({width:e.errPct("warn")+"%"})},null,4)]),n("span",Gk,c(e.data?.errors?.severity?.warn),1)]),e.errorHours().length?(l(),d("div",Wk,[n("div",Kk,[t[52]||(t[52]=n("span",{class:"ov-ehours-key"},[n("span",{class:"ov-ehours-swatch is-error","aria-hidden":"true"}),v("Error")],-1)),t[53]||(t[53]=n("span",{class:"ov-ehours-key"},[n("span",{class:"ov-ehours-swatch is-warn","aria-hidden":"true"}),v("Warning")],-1)),n("span",Yk,[t[50]||(t[50]=v("Per hour",-1)),t[51]||(t[51]=n("span",{class:"seg-sep","aria-hidden":"true"},"\xB7",-1)),v("peak "+c(e.fmt?.number(e.errorHoursPeak())),1)])]),n("div",Xk,[(l(!0),d(L,null,ie(e.errorHours(),o=>(l(),d("span",{key:o.key,class:T({"is-bad":o.bad,"is-zero":o.zero}),title:o.title},[o.zero?(l(),d("i",Jk)):(l(),d(L,{key:1},[o.errPct?(l(),d("i",{key:0,class:"ov-ehours-e",style:Ve({height:o.errPct+"%"})},null,4)):f("v-if",!0),o.warnPct?(l(),d("i",{key:1,class:"ov-ehours-w",style:Ve({height:o.warnPct+"%"})},null,4)):f("v-if",!0)],64))],10,Qk))),128))]),t[54]||(t[54]=n("div",{class:"ov-ehours-x"},[n("span",null,"24h ago"),n("span",null,"now")],-1))])):f("v-if",!0),n("p",Zk,"Info "+c(e.fmt?.number(e.data?.errors?.severity?.info||0))+" \xB7 logged, not counted as errors",1)]),e.data?.repos?.recentErrors24h?(l(),d("div",xk,[n("a",e0,c(e.data?.repos?.recentErrors24h)+" repos in error state \u2192",1)])):f("v-if",!0)]),f(" Top routes / queues "),n("div",t0,[t[59]||(t[59]=n("div",{class:"ov-panel-head"},[n("span",{class:"ov-panel-title"},"Queues"),n("span",{class:"ov-panel-meta"},"by state")],-1)),n("div",n0,[t[58]||(t[58]=Se('
QueueActiveWaitFailed
',1)),n("a",o0,[t[55]||(t[55]=n("span",{class:"ov-route-name"},"Download",-1)),n("span",s0,c(e.data?.queues?.download?.active),1),n("span",i0,c(e.data?.queues?.download?.waiting),1),n("span",{class:T(["ov-route-n ov-route-lat",{"ov-n-bad":e.data?.queues?.download?.failed>0}])},c(e.data?.queues?.download?.failed),3)]),n("a",r0,[t[56]||(t[56]=n("span",{class:"ov-route-name"},"Remove",-1)),n("span",a0,c(e.data?.queues?.remove?.active),1),n("span",l0,c(e.data?.queues?.remove?.waiting),1),n("span",{class:T(["ov-route-n ov-route-lat",{"ov-n-bad":e.data?.queues?.remove?.failed>0}])},c(e.data?.queues?.remove?.failed),3)]),n("a",d0,[t[57]||(t[57]=n("span",{class:"ov-route-name"},"Cache cleanup",-1)),n("span",u0,c(e.data?.queues?.cache?.active),1),n("span",c0,c(e.data?.queues?.cache?.waiting),1),n("span",{class:T(["ov-route-n ov-route-lat",{"ov-n-bad":e.data?.queues?.cache?.failed>0}])},c(e.data?.queues?.cache?.failed),3)])])])]),f(" \u2500\u2500 Services bar \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 "),n("section",p0,[n("div",f0,[t[60]||(t[60]=n("span",{class:"ov-panel-title"},"Services",-1)),n("span",h0,"5 services \xB7 "+c(e.realErrors()>0?"1 needs attention":"all healthy"),1)]),n("div",m0,[n("div",g0,[t[62]||(t[62]=n("span",{class:"ov-svc-dot ov-dot-ok"},null,-1)),n("div",v0,[t[61]||(t[61]=n("span",{class:"ov-svc-name"},"web",-1)),n("span",y0,c(e.data?.system?.nodeVersion)+" \xB7 up "+c(e.humanDuration(e.data?.system?.uptime)),1)])]),n("div",b0,[n("span",{class:T(["ov-svc-dot",e.queueTotal(e.data?.queues?.download)>0?"ov-dot-ok":"ov-dot-idle"])},null,2),n("div",w0,[t[63]||(t[63]=n("span",{class:"ov-svc-name"},"download",-1)),e.queueTotal(e.data?.queues?.download)?(l(),d("span",k0,c(e.queueTotal(e.data?.queues?.download))+" "+c(e.queueTotal(e.data?.queues?.download)===1?"job":"jobs"),1)):f("v-if",!0),e.queueTotal(e.data?.queues?.download)?f("v-if",!0):(l(),d("span",C0,"idle"))])]),n("div",E0,[n("span",{class:T(["ov-svc-dot",e.queueTotal(e.data?.queues?.cache)>0?"ov-dot-ok":"ov-dot-idle"])},null,2),n("div",S0,[t[64]||(t[64]=n("span",{class:"ov-svc-name"},"cache",-1)),e.queueTotal(e.data?.queues?.cache)?(l(),d("span",N0,c(e.queueTotal(e.data?.queues?.cache))+" "+c(e.queueTotal(e.data?.queues?.cache)===1?"job":"jobs"),1)):f("v-if",!0),e.queueTotal(e.data?.queues?.cache)?f("v-if",!0):(l(),d("span",R0,"idle"))])]),n("div",D0,[n("span",{class:T(["ov-svc-dot",e.queueTotal(e.data?.queues?.remove)>0?"ov-dot-ok":"ov-dot-idle"])},null,2),n("div",A0,[t[65]||(t[65]=n("span",{class:"ov-svc-name"},"remove",-1)),e.queueTotal(e.data?.queues?.remove)?(l(),d("span",T0,c(e.queueTotal(e.data?.queues?.remove))+" "+c(e.queueTotal(e.data?.queues?.remove)===1?"job":"jobs"),1)):f("v-if",!0),e.queueTotal(e.data?.queues?.remove)?f("v-if",!0):(l(),d("span",P0,"idle"))])]),n("div",O0,[n("span",{class:T(["ov-svc-dot",e.realErrors()>0?"ov-dot-warn":"ov-dot-ok"]),title:e.realErrors()>0?"Errors in the last 24 hours":"No errors in the last 24 hours"},null,10,I0),n("div",M0,[t[66]||(t[66]=n("span",{class:"ov-svc-name"},"errors",-1)),n("span",_0,c(e.fmt?.number(e.realErrors()))+" / 24h",1)])])])])],512)),[[ee,e.ovView==="summary"]]):f("v-if",!0),O(n("section",V0,[n("div",q0,[t[71]||(t[71]=n("div",null,[n("h2",{class:"ov-panel-title",id:"cache-heading"},"Cache"),n("p",{class:"ov-performance-note"},"Shared storage, repeated reads and anonymization work")],-1)),n("div",$0,[t[69]||(t[69]=n("label",{for:"cache-window"},"Time range",-1)),O(n("select",{id:"cache-window",class:"form-control form-control-sm","onUpdate:modelValue":t[0]||(t[0]=o=>e.cacheMinutes=o),onChange:t[1]||(t[1]=o=>e.loadCache())},[...t[67]||(t[67]=[n("option",{value:15},"Last 15 minutes",-1),n("option",{value:60},"Last hour",-1),n("option",{value:1440},"Last 24 hours",-1),n("option",{value:10080},"Last 7 days",-1)])],544),[[cn,e.cacheMinutes,void 0,{number:!0}]]),t[70]||(t[70]=n("label",{for:"cache-traffic"},"Traffic",-1)),O(n("select",{id:"cache-traffic",class:"form-control form-control-sm","onUpdate:modelValue":t[2]||(t[2]=o=>e.cacheTraffic=o)},[...t[68]||(t[68]=[Se('',6)])],512),[[cn,e.cacheTraffic]])])]),e.cacheError?(l(),d("div",L0,[n("span",null,c(e.cacheError),1),n("button",{type:"button",class:"btn btn-sm",onClick:t[3]||(t[3]=o=>e.loadCache())},"Retry")])):f("v-if",!0),!e.cacheReport&&!e.cacheError?(l(),d("p",U0,"Loading cache monitoring\u2026")):f("v-if",!0),e.cacheReport?.available?(l(),d(L,{key:2},[e.cacheReport.enabled?f("v-if",!0):(l(),d("p",F0,"Shared blob storage is disabled. Inspection and legacy-cache activity are still measured.")),e.cacheReport.filesystemSupported?f("v-if",!0):(l(),d("p",B0,"Shared blobs require a local filesystem. The configured storage continues to use its existing cache.")),e.cacheReport.dropped?(l(),d("p",z0,c(e.cacheReport.dropped)+" telemetry events were dropped. Totals may be incomplete.",1)):f("v-if",!0),e.cacheReport.source?(l(),d("div",H0,[n("table",j0,[t[72]||(t[72]=n("caption",{class:"sr-only"},"Current shared-cache storage and byte budgets",-1)),t[73]||(t[73]=n("thead",null,[n("tr",null,[n("th",{scope:"col"},"Pool"),n("th",{scope:"col",class:"num"},"Allocated / budget"),n("th",{scope:"col",class:"num"},"Reserved for fills"),n("th",{scope:"col",class:"num"},"Original bytes"),n("th",{scope:"col",class:"num"},"Blobs"),n("th",{scope:"col",class:"num"},"Active readers")])],-1)),n("tbody",null,[(l(!0),d(L,null,ie([{name:"Source blobs",data:e.cacheReport.source},{name:"Transformed output",data:e.cacheReport.results}],o=>O((l(),d("tr",{key:o.name},[n("th",G0,c(o.name),1),n("td",{class:T(["num budget-cell",{"is-over":o.data?.budgetBytes&&o.data?.allocatedBytes>o.data?.budgetBytes}]),title:o.data?.budgetBytes?Math.round(100*(o.data?.allocatedBytes||0)/o.data.budgetBytes)+"% of budget":null},[o.data?.budgetBytes&&o.data?.allocatedBytes>o.data?.budgetBytes?(l(),d("span",K0,"Over budget \xB7 ")):f("v-if",!0),v(c(e.humanBytes(o.data?.allocatedBytes))+" / "+c(e.humanBytes(o.data?.budgetBytes)),1),o.data?.budgetBytes?(l(),d("span",Y0,[n("i",{style:Ve({width:Math.min(100,Math.round(100*(o.data?.allocatedBytes||0)/o.data.budgetBytes))+"%"})},null,4)])):f("v-if",!0)],10,W0),n("td",X0,c(e.humanBytes(o.data?.reservedBytes)),1),n("td",Q0,c(e.humanBytes(o.data?.originalBytes)),1),n("td",J0,c(e.fmt?.number(o.data?.blobs)),1),n("td",Z0,c(e.fmt?.number(o.data?.activeReaders)),1)])),[[ee,o.data]])),128))])])])):f("v-if",!0),e.cacheReport.source?(l(),d("dl",x0,[n("div",null,[t[74]||(t[74]=n("dt",null,"Source request hit rate",-1)),n("dd",null,c(e.cacheRate("source","count")),1)]),n("div",null,[t[75]||(t[75]=n("dt",null,"Source byte hit rate",-1)),n("dd",null,c(e.cacheRate("source","bytes")),1)]),n("div",null,[t[76]||(t[76]=n("dt",null,"Decision hit rate",-1)),n("dd",null,c(e.cacheRate("decision","count")),1)])])):f("v-if",!0),t[79]||(t[79]=n("p",{class:"ov-performance-note"},"Reuse counts measure consecutive reads of the same blob within each interval. Codec timings are elapsed stream time, not CPU time; eviction times measure how long a blob was idle. Known monitors are identified by request metadata; other automation may remain in file reads.",-1)),e.cacheRows().length?(l(),d("div",e2,[n("table",t2,[t[77]||(t[77]=n("caption",{class:"sr-only"},"Cache events for the selected time range and traffic",-1)),t[78]||(t[78]=n("thead",null,[n("tr",null,[n("th",{scope:"col"},"Event"),n("th",{scope:"col"},"Traffic"),n("th",{scope:"col",class:"num"},"Count"),n("th",{scope:"col",class:"num"},"Bytes"),n("th",{scope:"col",class:"num"},"Mean measured time"),n("th",{scope:"col",class:"num"},"p95 bound")])],-1)),n("tbody",null,[(l(!0),d(L,null,ie(e.cacheRows(),o=>(l(),d("tr",{key:o.name+":"+o.traffic},[n("th",n2,c(e.cacheEventName(o.name)),1),n("td",o2,c(o.traffic),1),n("td",s2,c(e.fmt?.number(o.count)),1),n("td",i2,c(e.humanBytes(o.bytes)),1),n("td",{class:T(["num",{"ov-muted":!o.ms}])},c(o.ms?e.fmt.duration(o.ms/o.count):"Not timed"),3),n("td",{class:T(["num",{"ov-muted":!o.ms}])},c(e.cacheP95(o)),3)]))),128))])])])):(l(),d("p",r2,"No cache events in this time range for the selected traffic.")),n("p",a2,"Updated "+c(e.sampleAge(e.cacheReport))+" seconds ago. Minute history is retained for 48 hours; hourly history for 30 days.",1)],64)):f("v-if",!0)],512),[[ee,e.ovView==="cache"]]),O(n("section",l2,[n("div",d2,[t[84]||(t[84]=n("div",null,[n("h2",{class:"ov-panel-title",id:"performance-heading"},"Request performance"),n("p",{class:"ov-performance-note"},"Request latency and process health")],-1)),n("div",u2,[e.performance?.available?(l(),d(L,{key:0},[t[81]||(t[81]=n("label",{for:"performance-view"},"Show",-1)),O(n("select",{id:"performance-view",class:"form-control form-control-sm","onUpdate:modelValue":t[4]||(t[4]=o=>e.performanceTab=o),"aria-label":"Performance metrics"},[...t[80]||(t[80]=[n("option",{value:"routes"},"Routes",-1),n("option",{value:"processes"},"Processes",-1),n("option",{value:"stages"},"Work stages",-1)])],512),[[cn,e.performanceTab]])],64)):f("v-if",!0),t[83]||(t[83]=n("label",{for:"performance-window"},"Time range",-1)),O(n("select",{id:"performance-window",class:"form-control form-control-sm","onUpdate:modelValue":t[5]||(t[5]=o=>e.performanceMinutes=o),onChange:t[6]||(t[6]=o=>e.loadPerformance()),"aria-label":"Performance time range"},[...t[82]||(t[82]=[n("option",{value:15},"Last 15 minutes",-1),n("option",{value:60},"Last hour",-1)])],544),[[cn,e.performanceMinutes,void 0,{number:!0}]])])]),e.performanceError?(l(),d("div",c2,[t[85]||(t[85]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-warning"})],-1)),n("span",null,c(e.performanceError),1),n("button",{type:"button",class:"btn btn-sm",onClick:t[7]||(t[7]=o=>e.loadPerformance())},"Retry")])):f("v-if",!0),!e.performance&&!e.performanceError?(l(),d("p",p2,"Loading performance monitoring\u2026")):f("v-if",!0),e.performance?.available?(l(),d("div",f2,[O(n("div",h2,[e.performance.routes?.length?(l(),d("div",m2,[n("table",g2,[t[86]||(t[86]=n("caption",{class:"sr-only"},"Route latency for the selected time range",-1)),t[87]||(t[87]=n("thead",null,[n("tr",null,[n("th",{scope:"col"},"Route"),n("th",{scope:"col",class:"num"},"Requests"),n("th",{scope:"col",class:"num"},"Average"),n("th",{scope:"col",class:"num"},"First byte p95"),n("th",{scope:"col",class:"num"},"p95"),n("th",{scope:"col",class:"num"},"p99"),n("th",{scope:"col",class:"num"},"Interrupted"),n("th",{scope:"col",class:"num"},"5xx"),n("th",{scope:"col",class:"num"},"Slow")])],-1)),n("tbody",null,[(l(!0),d(L,null,ie(e.performance.routes,o=>(l(),d("tr",{key:o.service+o.method+o.route},[n("th",v2,[n("span",null,c(o.route),1),n("small",null,c(o.service)+" \xB7 "+c(o.method),1)]),n("td",y2,c(e.fmt.number(o.count)),1),n("td",b2,c(e.formatMs(o.avgMs)),1),n("td",w2,c(e.firstByteBound(o)),1),n("td",k2,c(e.latencyBound(o,"p95UpperMs")),1),n("td",C2,c(e.latencyBound(o,"p99UpperMs")),1),n("td",{class:T(["num",{"ov-metric-warn":o.aborted>0}])},c(e.fmt.number(o.aborted)),3),n("td",{class:T(["num",{"ov-metric-bad":o.errors>0}])},c(e.fmt.number(o.errors)),3),n("td",{class:T(["num",{"ov-metric-warn":o.slow>0}])},c(e.fmt.number(o.slow)),3)]))),128))])])])):(l(),d("p",E2,"No recorded requests in this time range yet."))],512),[[ee,e.performanceTab==="routes"]]),O(n("div",S2,[t[91]||(t[91]=n("p",{class:"ov-performance-note"},"API and streamer processes \xB7 latest sample per instance",-1)),e.performance.instances?.length?(l(),d("div",R2,[n("table",D2,[t[89]||(t[89]=n("caption",{class:"sr-only"},"API and streamer process resource usage",-1)),t[90]||(t[90]=n("thead",null,[n("tr",null,[n("th",{scope:"col"},"Process"),n("th",{scope:"col",class:"num"},"RSS / limit"),n("th",{scope:"col",class:"num"},"CPU"),n("th",{scope:"col",class:"num"},"Event loop p95"),n("th",{scope:"col",class:"num"},"Active requests"),n("th",{scope:"col",class:"num"},"Sockets / CLOSE_WAIT"),n("th",{scope:"col",class:"num"},"Workers / waiting"),n("th",{scope:"col",class:"num"},"Sample age"),n("th",{scope:"col",class:"num"},"Dropped batches / metrics")])],-1)),n("tbody",null,[(l(!0),d(L,null,ie(e.performance.instances,o=>(l(),d("tr",{key:o.instance,class:T({"ov-metric-warning-row":e.performanceWarning(o)})},[n("th",A2,[n("span",null,c(o.instance),1),e.performanceWarning(o)?(l(),d("small",T2,[...t[88]||(t[88]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-warning"})],-1),v(" Needs attention",-1)])])):f("v-if",!0)]),n("td",P2,[v(c(e.humanBytes(o.memory.rss))+" / "+c(e.humanBytes(o.memoryLimitBytes)),1),n("small",null,"Peak "+c(e.humanBytes(e.peakRss(o))),1)]),n("td",O2,c(o.cpuPercent==null?"Unavailable":o.cpuPercent.toFixed(1)+"%"),1),n("td",I2,c(o.eventLoop?.p95Ms==null?"Not applicable":e.fmt.duration(o.eventLoop.p95Ms)),1),n("td",M2,c(o.activeRequests),1),n("td",_2,c(o.sockets?.descriptors??"Unavailable")+" / "+c(o.sockets?.closeWait??"Unavailable"),1),n("td",V2,c(o.workers?.running??0)+" / "+c(o.workers?.waiting??0),1),n("td",q2,c(e.sampleAge(o))+" s",1),n("td",$2,c(o.droppedBatches)+" / "+c(o.droppedMetrics),1)],2))),128))])])])):(l(),d("div",N2,"No recent process samples. Monitoring coverage is incomplete."))],512),[[ee,e.performanceTab==="processes"]]),O(n("div",L2,[e.performance.stages?.some(o=>o.metric!=="first_byte")?(l(),d("div",U2,[n("table",F2,[t[92]||(t[92]=n("caption",{class:"sr-only"},"Work stages and cache results",-1)),t[93]||(t[93]=n("thead",null,[n("tr",null,[n("th",{scope:"col"},"Work stage"),n("th",{scope:"col",class:"num"},"Samples"),n("th",{scope:"col",class:"num"},"Average"),n("th",{scope:"col",class:"num"},"p95")])],-1)),n("tbody",null,[(l(!0),d(L,null,ie(e.performance.stages.filter(o=>o.metric!=="first_byte"),o=>(l(),d("tr",{key:o.service+o.metric},[n("th",B2,[n("span",null,c(o.metric),1),n("small",null,c(o.service),1)]),n("td",z2,c(e.fmt.number(o.count)),1),n("td",H2,c(e.formatMs(o.avgMs)),1),n("td",j2,c(e.latencyBound(o,"p95UpperMs")),1)]))),128))])])])):(l(),d("p",G2,"No recorded work stages or cache results in this time range yet."))],512),[[ee,e.performanceTab==="stages"]]),t[94]||(t[94]=n("details",{class:"ov-performance-help"},[n("summary",null,"How to read these metrics"),n("p",null,"Latency includes upstream waits and response transfer. Percentiles show histogram bucket upper bounds, not exact timings. Process rows marked \u201CNeeds attention\u201D have stale samples, dropped monitoring data, CLOSE_WAIT sockets, high event loop delay, or high memory usage.")],-1))])):f("v-if",!0)],512),[[ee,e.ovView==="performance"]])])}var W2={class:"container paper-page admin-page"},K2={class:"q-header"},Y2={class:"q-header-actions"},X2={class:"q-cards"},Q2=["aria-pressed","onKeydown","onClick"],J2={class:"q-card-head"},Z2=["title"],x2=["textContent"],eC=["textContent"],tC={class:"q-card-sub"},nC={class:"q-card-failed"},oC={key:0,class:"q-card-bar"},sC={key:0,class:"q-detail"},iC={class:"q-throughput"},rC={class:"q-range-btns"},aC={class:"q-section-label"},lC={key:0,class:"q-section-right"},dC={class:"q-chart-wrap"},uC={key:0,class:"q-chart-empty"},cC={class:"q-stats-panel"},pC={class:"q-section-label"},fC={class:"q-stats-grid"},hC={class:"q-stat"},mC=["textContent"],gC={class:"q-stat"},vC=["textContent"],yC={class:"q-stat"},bC=["textContent"],wC={class:"q-stat"},kC=["textContent"],CC={class:"q-stat"},EC=["textContent"],SC={class:"q-stat"},NC=["textContent"],RC={class:"q-stats-actions"},DC=["disabled"],AC={class:"q-danger-group"},TC={class:"q-jobs"},PC={class:"q-jobs-header"},OC={class:"q-section-label"},IC={class:"seg-filter",role:"radiogroup","aria-label":"Filter jobs by state"},MC=["aria-checked"],_C={class:"count"},VC=["aria-checked"],qC={class:"count"},$C=["aria-checked"],LC={class:"count"},UC=["aria-checked"],FC={class:"count"},BC=["aria-checked"],zC={class:"count"},HC=["aria-checked"],jC={class:"count"},GC={class:"q-search-row"},WC={type:"search",class:"form-control",placeholder:"Search by job/repo id\u2026",autocomplete:"off"},KC={class:"q-auto-refresh"},YC={type:"checkbox"},XC={key:0,class:"q-table"},QC=["onClick"],JC={class:"q-cell-state"},ZC=["textContent"],xC=["textContent"],eE=["title"],tE=["textContent","href"],nE=["title","textContent"],oE=["textContent"],sE=["textContent"],iE={class:"q-cell-progress"},rE=["aria-label"],aE=["textContent"],lE={class:"q-cell-actions"},dE=["onClick"],uE=["onClick"],cE={key:0,class:"q-detail-row"},pE={colspan:"7"},fE={class:"q-job-detail"},hE={class:"q-job-detail-grid"},mE={class:"q-job-detail-item"},gE={class:"q-job-detail-value"},vE=["textContent","href"],yE={class:"q-job-detail-item"},bE={class:"q-job-detail-value"},wE=["textContent"],kE={key:0,class:"q-job-detail-item"},CE=["textContent"],EE={key:1,class:"q-job-detail-item"},SE=["textContent"],NE={key:2,class:"q-job-detail-item"},RE={class:"q-job-detail-value"},DE={key:3,class:"q-job-detail-item"},AE=["textContent"],TE={key:4,class:"q-job-detail-item"},PE=["textContent"],OE={key:5,class:"q-job-detail-item"},IE=["textContent"],ME={key:6,class:"q-job-detail-item"},_E=["textContent"],VE={key:7,class:"q-job-detail-item"},qE=["textContent"],$E={key:0,class:"q-job-detail-error"},LE=["textContent"],UE={key:1},FE=["textContent"],BE={class:"q-job-detail-actions"},zE=["onClick"],HE=["onClick"],jE=["href"],GE={key:1,class:"paper-table-empty",style:{border:"1px solid var(--border-color)","border-radius":"10px",background:"var(--paper-card)"}},WE={key:0},KE={key:1};function Uc(e,t){let o=Ae("field");return l(),d("div",W2,[t[71]||(t[71]=n("div",{class:"paper-crumbs"},[v("Admin \xA0/\xA0 "),n("span",{class:"here"},"Queues")],-1)),n("div",K2,[t[18]||(t[18]=n("h1",{class:"paper-page-title"},"Queues",-1)),n("div",Y2,[n("button",{class:"btn btn-sm",onClick:t[0]||(t[0]=i=>e.pauseAll())},"Pause all queues")])]),t[72]||(t[72]=Se('',1)),f(" Queue overview cards "),n("div",X2,[(l(!0),d(L,null,ie(e.queueList,(i,s)=>(l(),d("div",{class:T(["q-card",{selected:e.selectedQueue==i?.key,paused:i?.paused}]),role:"button",tabindex:"0","aria-pressed":e.selectedQueue===i.key,onKeydown:[ut(de(r=>e.selectQueue(i.key),["prevent"]),["enter"]),ut(de(r=>e.selectQueue(i.key),["prevent"]),["space"])],onClick:r=>e.selectQueue(i.key)},[n("div",J2,[n("span",{class:T(["q-dot",{"q-dot-red":i?.paused||i?.counts?.failed>0,"q-dot-idle":!i?.counts?.active&&!i?.counts?.waiting}]),title:i?.paused?"Paused":i?.counts?.failed>0?i.counts.failed+" failed jobs":i?.counts?.active||i?.counts?.waiting?"Running":"Idle"},null,10,Z2),n("span",{class:"q-card-name",textContent:c(i?.label)},null,8,x2)]),n("div",{class:"q-card-count",textContent:c((i?.counts?.waiting||0)+(i?.counts?.active||0)+(i?.counts?.delayed||0))},null,8,eC),n("div",tC,[n("span",null,[v("waiting \xB7 "+c(i?.counts?.active||0)+" active",1),i?.counts?.failed?(l(),d(L,{key:0},[t[19]||(t[19]=v(" \xB7 ",-1)),n("b",nC,c(i.counts.failed)+" failed",1)],64)):f("v-if",!0),i?.paused?(l(),d(L,{key:1},[t[20]||(t[20]=v(" \xB7 ",-1)),t[21]||(t[21]=n("b",{class:"q-card-failed"},"paused",-1))],64)):f("v-if",!0)]),i?.counts?.active?(l(),d("div",oC,[n("div",{class:"q-card-bar-fill",style:Ve({width:i?.counts?.active/((i?.counts?.waiting||0)+(i?.counts?.active||0)+(i?.counts?.delayed||0)||1)*100+"%"})},null,4)])):f("v-if",!0)])],42,Q2))),256))]),f(" Detail: throughput chart + stats panel "),e.selectedStats?(l(),d("div",sC,[n("div",iC,[n("div",rC,[n("button",{class:T(["btn btn-sm",{active:e.range=="1h"}]),onClick:t[1]||(t[1]=i=>e.setRange("1h"))},"1h",2),n("button",{class:T(["btn btn-sm",{active:e.range=="6h"}]),onClick:t[2]||(t[2]=i=>e.setRange("6h"))},"6h",2),n("button",{class:T(["btn btn-sm",{active:e.range=="24h"}]),onClick:t[3]||(t[3]=i=>e.setRange("24h"))},"24h",2),n("button",{class:T(["btn btn-sm",{active:e.range=="7d"}]),onClick:t[4]||(t[4]=i=>e.setRange("7d"))},"7d",2)]),n("div",aC,[v("Throughput \xB7 "+c(e.selectedQueue)+" ",1),(e.selectedStats?.completed24h||0)+(e.selectedStats?.failed24h||0)>0?(l(),d("span",lC,[t[23]||(t[23]=n("span",{class:"q-legend-completed"},"\u25CF",-1)),t[24]||(t[24]=v(" Completed ",-1)),t[25]||(t[25]=n("span",{class:"q-legend-failed"},"\u25CF",-1)),t[26]||(t[26]=v(" Failed ",-1)),(e.selectedStats?.completed24h||0)+(e.selectedStats?.failed24h||0)>0?(l(),d(L,{key:0},[t[22]||(t[22]=n("span",{class:"q-legend-exec","aria-hidden":"true"},null,-1)),v(" Avg time \xB7 "+c(e.range),1)],64)):f("v-if",!0)])):f("v-if",!0)]),n("div",dC,[t[28]||(t[28]=n("canvas",{id:"q-throughput-chart",height:"180"},null,-1)),(e.selectedStats?.completed24h||0)+(e.selectedStats?.failed24h||0)===0?(l(),d("div",uC,[...t[27]||(t[27]=[n("strong",null,"No jobs processed in this window",-1),n("span",null,"Completed and failed jobs will chart here.",-1)])])):f("v-if",!0),t[29]||(t[29]=n("div",{id:"q-chart-tooltip",class:"q-chart-tooltip",style:{display:"none"}},null,-1)),t[30]||(t[30]=n("div",{id:"q-chart-crosshair",class:"q-chart-crosshair",style:{display:"none"}},null,-1))])]),n("div",cC,[n("div",pC,"Stats \xB7 "+c(e.selectedQueue),1),n("div",fC,[n("div",hC,[t[31]||(t[31]=n("div",{class:"q-stat-label"},"Waiting",-1)),n("div",{class:"q-stat-value",textContent:c(e.selectedStats?.counts?.waiting||0)},null,8,mC)]),n("div",gC,[t[32]||(t[32]=n("div",{class:"q-stat-label"},"Active",-1)),n("div",{class:"q-stat-value",textContent:c(e.selectedStats?.counts?.active||0)},null,8,vC)]),n("div",yC,[t[33]||(t[33]=n("div",{class:"q-stat-label"},"Completed (24h)",-1)),n("div",{class:"q-stat-value",textContent:c(e.fmt?.number(e.selectedStats?.completed24h))},null,8,bC)]),n("div",wC,[t[34]||(t[34]=n("div",{class:"q-stat-label"},"Failed (24h)",-1)),n("div",{class:"q-stat-value",textContent:c(e.selectedStats?.failed24h||0)},null,8,kC)]),n("div",CC,[t[35]||(t[35]=n("div",{class:"q-stat-label"},"Delayed",-1)),n("div",{class:"q-stat-value",textContent:c(e.selectedStats?.counts?.delayed||0)},null,8,EC)]),n("div",SC,[t[36]||(t[36]=n("div",{class:"q-stat-label"},"Workers",-1)),n("div",{class:"q-stat-value",textContent:c(e.selectedStats?.workers||0)},null,8,NC)])]),n("div",RC,[n("button",{class:"btn btn-sm",onClick:t[5]||(t[5]=i=>e.togglePause())},c(e.selectedStats?.paused?"Resume "+e.selectedQueue:"Pause "+e.selectedQueue),1),n("button",{class:"btn btn-sm",onClick:t[6]||(t[6]=i=>e.retryFailed()),disabled:!e.selectedStats?.counts?.failed},"Retry failed",8,DC),n("span",AC,[n("button",{class:"btn btn-sm btn-outline-danger",onClick:t[7]||(t[7]=i=>e.drainSelected())},"Drain"),n("button",{class:"btn btn-sm btn-outline-danger",onClick:t[8]||(t[8]=i=>e.emptyQueue())},"Empty")])])])])):f("v-if",!0),e.actionError?(l(),d("div",{key:1,class:"q-toast-error",onClick:t[9]||(t[9]=i=>e.actionError=null)},[t[37]||(t[37]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-info"})],-1)),v(" "+c(e.actionError),1)])):f("v-if",!0),f(" Jobs table "),n("div",TC,[n("div",PC,[n("div",OC,"All jobs \xB7 "+c(e.selectedQueue),1),n("div",IC,[n("button",{type:"button",role:"radio",class:T(["seg-chip",{active:e.segView()==="all"}]),"aria-checked":e.segView()==="all",onClick:t[10]||(t[10]=i=>e.setSegView("all"))},[t[38]||(t[38]=v("All ",-1)),n("span",_C,c(e.fmt?.number(e.segCount("all"))),1)],10,MC),n("button",{type:"button",role:"radio",class:T(["seg-chip",{active:e.segView()==="active","is-empty":!e.segCount("active")}]),"aria-checked":e.segView()==="active",onClick:t[11]||(t[11]=i=>e.setSegView("active"))},[t[39]||(t[39]=n("span",{class:"seg-dot ok","aria-hidden":"true"},null,-1)),t[40]||(t[40]=v("Active ",-1)),n("span",qC,c(e.fmt?.number(e.segCount("active"))),1)],10,VC),n("button",{type:"button",role:"radio",class:T(["seg-chip",{active:e.segView()==="waiting","is-empty":!e.segCount("waiting")}]),"aria-checked":e.segView()==="waiting",onClick:t[12]||(t[12]=i=>e.setSegView("waiting"))},[t[41]||(t[41]=n("span",{class:"seg-dot warn","aria-hidden":"true"},null,-1)),t[42]||(t[42]=v("Waiting ",-1)),n("span",LC,c(e.fmt?.number(e.segCount("waiting"))),1)],10,$C),n("button",{type:"button",role:"radio",class:T(["seg-chip",{active:e.segView()==="delayed","is-empty":!e.segCount("delayed")}]),"aria-checked":e.segView()==="delayed",onClick:t[13]||(t[13]=i=>e.setSegView("delayed"))},[t[43]||(t[43]=n("span",{class:"seg-dot warn","aria-hidden":"true"},null,-1)),t[44]||(t[44]=v("Delayed ",-1)),n("span",FC,c(e.fmt?.number(e.segCount("delayed"))),1)],10,UC),n("button",{type:"button",role:"radio",class:T(["seg-chip",{active:e.segView()==="failed","is-empty":!e.segCount("failed")}]),"aria-checked":e.segView()==="failed",onClick:t[14]||(t[14]=i=>e.setSegView("failed"))},[t[45]||(t[45]=n("span",{class:"seg-dot bad","aria-hidden":"true"},null,-1)),t[46]||(t[46]=v("Failed ",-1)),n("span",zC,c(e.fmt?.number(e.segCount("failed"))),1)],10,BC),n("button",{type:"button",role:"radio",class:T(["seg-chip",{active:e.segView()==="completed","is-empty":!e.segCount("completed")}]),"aria-checked":e.segView()==="completed",onClick:t[15]||(t[15]=i=>e.setSegView("completed"))},[t[47]||(t[47]=n("span",{class:"seg-dot done","aria-hidden":"true"},null,-1)),t[48]||(t[48]=v("Completed ",-1)),n("span",jC,c(e.fmt?.number(e.segCount("completed"))),1)],10,HC)])]),n("div",GC,[O(n("input",WC,null,512),[[o,{state:e.viewState,set:i=>{e.query.search=i},value:e.query?.search,form:null,options:{}}]]),n("label",KC,[O(n("input",YC,null,512),[[o,{state:e.viewState,set:i=>{e.query.autoRefresh=i},value:e.query?.autoRefresh,form:null,options:{}}]]),t[49]||(t[49]=n("span",{class:"auto-refresh-label"},"Auto-refresh",-1))]),n("button",{class:"btn btn-sm btn-icon",type:"button",title:"Refresh now",onClick:t[16]||(t[16]=i=>e.refreshNow()),"aria-label":"Refresh"},[...t[50]||(t[50]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-refresh"})],-1)])])]),e.filteredJobs().length>0?(l(),d("table",XC,[t[69]||(t[69]=n("thead",null,[n("tr",null,[n("th",null,"State"),n("th",null,"Job"),n("th",null,"Detail"),n("th",null,"Attempts"),n("th",{class:"q-th-num"},"Duration"),n("th",null,"Progress"),n("th")])],-1)),(l(!0),d(L,null,ie(e.filteredJobs(),(i,s)=>(l(),d("tbody",null,[n("tr",{style:{cursor:"pointer"},class:T({"q-row-failed":i?._state=="failed","q-row-expanded":e.expanded[i?.id]}),onClick:r=>e.toggleJob(i)},[n("td",JC,[n("span",{textContent:c(i?._state),class:T("q-state-badge q-state-"+i?._state)},null,10,ZC),i?._state=="delayed"&&i?.delayUntil?(l(),d("span",{key:0,class:"q-delay-hint",textContent:c(e.delayCountdown(i?.delayUntil))},null,8,xC)):f("v-if",!0)]),n("td",{class:"q-cell-id",title:"job:"+i?.id+(i?.name&&i?.name!==i?.id?" \xB7 "+i.name:"")+(i?.data?.repoId&&i?.data?.repoId!==i?.id?" \xB7 "+i.data.repoId:"")},[(l(),d("svg",{class:T(["ui-icon q-chevron",{"q-chevron-open":e.expanded[i?.id]}]),"aria-hidden":"true"},[...t[51]||(t[51]=[n("use",{href:"#ui-icon-chevron-right"},null,-1)])],2)),n("a",{target:"_blank",class:"q-job-link",textContent:c(i?.data?.repoId||i?.id),onClick:t[17]||(t[17]=r=>r.stopPropagation()),href:e.safeUrl("/r/"+(i?.data?.repoId||i?.id))},null,8,tE)],8,eE),n("td",{class:T(["q-cell-detail",{"is-error":i?._state=="failed"}]),title:i?._state=="failed"?i?.failedReason:"",textContent:c(e.jobDetail(i))},null,10,nE),n("td",{class:"q-cell-num",textContent:c(i?.attemptsMade||1)},null,8,oE),n("td",{class:"q-cell-num q-cell-duration",textContent:c(e.jobDuration(i))},null,8,sE),n("td",iE,[n("div",{class:T(["q-progress-wrap",{"is-indeterminate":e.jobProgressPct(i)===null}]),"aria-label":e.jobProgressPct(i)===null?"Progress not reported":e.jobProgressPct(i)+"% done"},[n("div",{class:"q-progress-bar",style:Ve({"--pct":(e.jobProgressPct(i)||0)+"%"})},null,4),n("span",{class:"q-progress-label",textContent:c(e.jobProgressPct(i)===null?"\u2014":e.jobProgressPct(i)+"%")},null,8,aE)],10,rE)]),n("td",lE,[i?._state=="failed"?(l(),d("button",{key:0,class:"btn btn-sm btn-icon",title:"Retry",onClick:r=>{e.retryJob(i),r.stopPropagation()},"aria-label":"Retry job"},[...t[52]||(t[52]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-refresh"})],-1)])],8,dE)):f("v-if",!0),n("button",{class:"btn btn-sm btn-icon",title:"Remove","aria-label":"Remove job",onClick:r=>{e.removeJob(i),r.stopPropagation()}},[...t[53]||(t[53]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-trash"})],-1)])],8,uE)])],10,QC),e.expanded[i?.id]?(l(),d("tr",cE,[n("td",pE,[n("div",fE,[n("div",hE,[n("div",mE,[t[54]||(t[54]=n("span",{class:"q-job-detail-label"},"Job id",-1)),n("span",gE,[n("a",{target:"_blank",textContent:c(i?.id),href:e.safeUrl("/r/"+i?.id)},null,8,vE)])]),n("div",yE,[t[55]||(t[55]=n("span",{class:"q-job-detail-label"},"State",-1)),n("span",bE,[n("span",{textContent:c(i?._state),class:T("q-state-badge q-state-"+i?._state)},null,10,wE)])]),i?.data?.repoId?(l(),d("div",kE,[t[56]||(t[56]=n("span",{class:"q-job-detail-label"},"Repo ID",-1)),n("span",{class:"q-job-detail-value",textContent:c(i?.data?.repoId)},null,8,CE)])):f("v-if",!0),i?.timestamp?(l(),d("div",EE,[t[57]||(t[57]=n("span",{class:"q-job-detail-label"},"Created",-1)),n("span",{class:"q-job-detail-value",textContent:c(e.humanTime(i?.timestamp))},null,8,SE)])):f("v-if",!0),i?._state=="delayed"&&i?.delayUntil?(l(),d("div",NE,[t[58]||(t[58]=n("span",{class:"q-job-detail-label"},"Retry at",-1)),n("span",RE,c(e.humanTime(i?.delayUntil))+" ("+c(e.delayCountdown(i?.delayUntil))+")",1)])):f("v-if",!0),i?.processedOn?(l(),d("div",DE,[t[59]||(t[59]=n("span",{class:"q-job-detail-label"},"Processed",-1)),n("span",{class:"q-job-detail-value",textContent:c(e.humanTime(i?.processedOn))},null,8,AE)])):f("v-if",!0),i?.finishedOn?(l(),d("div",TE,[t[60]||(t[60]=n("span",{class:"q-job-detail-label"},"Finished",-1)),n("span",{class:"q-job-detail-value",textContent:c(e.humanTime(i?.finishedOn))},null,8,PE)])):f("v-if",!0),i?.attemptsMade?(l(),d("div",OE,[t[61]||(t[61]=n("span",{class:"q-job-detail-label"},"Attempts",-1)),n("span",{class:"q-job-detail-value",textContent:c(i?.attemptsMade)},null,8,IE)])):f("v-if",!0),i?.progress&&i?.progress?.status?(l(),d("div",ME,[t[62]||(t[62]=n("span",{class:"q-job-detail-label"},"Status",-1)),n("span",{class:"q-job-detail-value",textContent:c(i?.progress?.status)},null,8,_E)])):f("v-if",!0),e.jobProgressPct(i)!==null?(l(),d("div",VE,[t[63]||(t[63]=n("span",{class:"q-job-detail-label"},"Progress",-1)),n("span",{class:"q-job-detail-value",textContent:c(e.jobProgressPct(i)+"%")},null,8,qE)])):f("v-if",!0)]),i?.failedReason?(l(),d("div",$E,[t[64]||(t[64]=n("span",{class:"q-job-detail-label"},"Error",-1)),n("div",{class:"q-error-reason",textContent:c(i?.failedReason)},null,8,LE)])):f("v-if",!0),i?.stacktrace?.length?(l(),d("div",UE,[t[65]||(t[65]=n("span",{class:"q-job-detail-label"},"Stacktrace",-1)),(l(!0),d(L,null,ie(i?.stacktrace,(r,a)=>(l(),d("pre",{class:"q-error-stack",key:a},[n("code",{textContent:c(r)},null,8,FE)]))),128))])):f("v-if",!0),n("div",BE,[i?._state=="failed"?(l(),d("button",{key:0,class:"btn btn-sm",onClick:r=>e.retryJob(i)},[...t[66]||(t[66]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-refresh"})],-1),v(" Retry",-1)])],8,zE)):f("v-if",!0),n("button",{class:"btn btn-sm",onClick:r=>e.removeJob(i)},[...t[67]||(t[67]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-trash"})],-1),v(" Remove",-1)])],8,HE),n("a",{class:"btn btn-sm",target:"_blank",href:e.safeUrl("/r/"+i?.id)},[...t[68]||(t[68]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-external-link"})],-1),v(" View repo",-1)])],8,jE)])])])])):f("v-if",!0)]))),256))])):f("v-if",!0),e.filteredJobs().length==0?(l(),d("div",GE,[t[70]||(t[70]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-check-circle"})],-1)),e.query?.search?f("v-if",!0):(l(),d("span",WE,"No jobs in the "+c(e.selectedQueue)+" queue.",1)),e.query?.search?(l(),d("span",KE,"No jobs match the current filters.")):f("v-if",!0)])):f("v-if",!0)])])}var YE={class:"container paper-page admin-page"},XE={class:"seg-bar"},QE={class:"seg-filter",role:"radiogroup","aria-label":"Filter by status"},JE=["aria-checked"],ZE={class:"count"},xE=["aria-checked"],eS={class:"count"},tS=["aria-checked"],nS={class:"count"},oS=["aria-checked"],sS={class:"count"},iS=["aria-checked"],rS={class:"count"},aS=["aria-checked"],lS={class:"count"},dS={class:"seg-countline",role:"status"},uS={class:"seg-meta"},cS={key:0,class:"alert alert-danger",style:{margin:"8px 0"}},pS={class:"w-100 admin-filter-toolbar","aria-label":"Repositories","accept-charset":"UTF-8"},fS=["aria-expanded"],hS={class:"search-wrap"},mS={type:"search",class:"form-control","aria-label":"Search repositories",placeholder:"Search repositories\u2026",autocomplete:"off"},gS={key:0,class:"admin-search-hint"},vS={class:"admin-filter-inline"},yS={type:"text",class:"form-control form-control-sm",placeholder:"username"},bS={class:"admin-filter-inline"},wS={type:"text",class:"form-control form-control-sm",placeholder:"ID"},kS={key:0,class:"admin-filter-inline","aria-label":"Pagination"},CS=["disabled"],ES={style:{"font-family":"var(--font-mono)","font-size":"12px",color:"var(--ink-muted)"}},SS=["disabled"],NS={key:0,class:"admin-filter-row"},RS={class:"admin-active-chips"},DS={class:"key"},AS=["onClick"],TS={key:1,class:"bulk-bar"},PS={class:"paper-table paper-table-repos has-bulk w-100",role:"table","aria-label":"Repositories"},OS={class:"paper-table-head",role:"row"},IS={role:"columnheader",style:{width:"28px"}},MS=["checked"],_S={role:"columnheader"},VS={role:"columnheader"},qS={role:"columnheader",class:"num"},$S={role:"columnheader"},LS={role:"cell",style:{width:"28px"}},US={type:"checkbox","aria-label":"Select repository"},FS={class:"cell-anon",role:"cell"},BS={class:"anon-text"},zS=["textContent","href"],HS=["title"],jS=["href"],GS=["textContent"],WS=["textContent"],KS=["data-meta-label"],YS=["title","textContent","href"],XS=["data-meta-label"],QS=["textContent","href"],JS=["data-meta-label"],ZS={key:3,class:"meta-item"},xS={class:"meta-item"},eN={class:"cell-status",role:"cell"},tN={class:"status-line"},nN=["textContent"],oN=["textContent","title"],sN=["data-unit"],iN=["textContent"],rN={class:"cell-expires",role:"cell"},aN=["textContent"],lN={class:"cell-actions",role:"cell"},dN={class:"dropdown"},uN={class:"dropdown-menu dropdown-menu-right"},cN=["href"],pN=["href"],fN=["href"],hN=["onClick"],mN=["onClick"],gN=["onClick"],vN=["onClick"],yN=["onClick"],bN=["onClick"],wN={key:0,class:"paper-table-empty"},kN={class:"admin-toolbar",style:{"justify-content":"space-between","border-bottom":"none"}},CN={key:0,class:"pagination-compact"},EN=["disabled"],SN=["max"],NN=["disabled"],RN={class:"admin-filter-inline"},DN={class:"form-control form-control-sm"};function Fc(e,t){let o=Ae("field"),i=Ae("form");return l(),d("div",YE,[t[80]||(t[80]=Se('
Admin \xA0/\xA0 Repositories

Repositories

',3)),n("div",XE,[n("div",QE,[n("button",{type:"button",role:"radio",class:T(["seg-chip",{active:e.segView()==="all"}]),"aria-checked":e.segView()==="all",onClick:t[0]||(t[0]=s=>e.setSegView("all"))},[t[21]||(t[21]=v("All ",-1)),n("span",ZE,c(e.fmt?.number(e.segCount("all"))),1)],10,JE),n("button",{type:"button",role:"radio",class:T(["seg-chip",{active:e.segView()==="ready","is-empty":!e.segCount("ready")}]),"aria-checked":e.segView()==="ready",onClick:t[1]||(t[1]=s=>e.setSegView("ready"))},[t[22]||(t[22]=n("span",{class:"seg-dot ok","aria-hidden":"true"},null,-1)),t[23]||(t[23]=v("Ready ",-1)),n("span",eS,c(e.fmt?.number(e.segCount("ready"))),1)],10,xE),n("button",{type:"button",role:"radio",class:T(["seg-chip",{active:e.segView()==="preparing","is-empty":!e.segCount("preparing")}]),"aria-checked":e.segView()==="preparing",onClick:t[2]||(t[2]=s=>e.setSegView("preparing"))},[t[24]||(t[24]=n("span",{class:"seg-dot warn","aria-hidden":"true"},null,-1)),t[25]||(t[25]=v("Preparing ",-1)),n("span",nS,c(e.fmt?.number(e.segCount("preparing"))),1)],10,tS),n("button",{type:"button",role:"radio",class:T(["seg-chip",{active:e.segView()==="error","is-empty":!e.segCount("error")}]),"aria-checked":e.segView()==="error",onClick:t[3]||(t[3]=s=>e.setSegView("error"))},[t[26]||(t[26]=n("span",{class:"seg-dot bad","aria-hidden":"true"},null,-1)),t[27]||(t[27]=v("Error ",-1)),n("span",sS,c(e.fmt?.number(e.segCount("error"))),1)],10,oS),n("button",{type:"button",role:"radio",class:T(["seg-chip",{active:e.segView()==="expired","is-empty":!e.segCount("expired")}]),"aria-checked":e.segView()==="expired",onClick:t[4]||(t[4]=s=>e.setSegView("expired"))},[t[28]||(t[28]=n("span",{class:"seg-dot off","aria-hidden":"true"},null,-1)),t[29]||(t[29]=v("Expiring / expired ",-1)),n("span",rS,c(e.fmt?.number(e.segCount("expired"))),1)],10,iS),n("button",{type:"button",role:"radio",class:T(["seg-chip",{active:e.segView()==="removed","is-empty":!e.segCount("removed")}]),"aria-checked":e.segView()==="removed",onClick:t[5]||(t[5]=s=>e.setSegView("removed"))},[t[30]||(t[30]=n("span",{class:"seg-dot off","aria-hidden":"true"},null,-1)),t[31]||(t[31]=v("Removing / removed ",-1)),n("span",lS,c(e.fmt?.number(e.segCount("removed"))),1)],10,aS)]),n("p",dS,[n("strong",null,c(e.total>=0?e.fmt.number(e.total):"\u2026"),1),t[32]||(t[32]=v(" shown",-1)),t[33]||(t[33]=n("span",{class:"seg-sep"},"\xB7",-1)),n("span",uS,c(e.fmt?.humanFileSize(e.totalSize))+" on disk",1)])]),e.fetchError?(l(),d("div",cS,[t[34]||(t[34]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-warning"})],-1)),v(" "+c(e.fetchError),1)])):f("v-if",!0),O((l(),d("form",pS,[f(" Row 1: search + scoped inputs + headline actions "),n("button",{type:"button",class:"btn btn-sm admin-filters-toggle",onClick:t[6]||(t[6]=s=>e.filtersOpen=!e.filtersOpen),"aria-expanded":e.filtersOpen?"true":"false"},"Filters",8,fS),n("div",{class:T(["admin-filter-row",{"is-open":e.filtersOpen}])},[n("div",hS,[O(n("input",mS,null,512),[[o,{state:e.viewState,set:s=>{e.query.search=s},value:e.query?.search,form:null,options:{}}]]),e.query?.search?f("v-if",!0):(l(),d("span",gS,"/"))]),n("span",vS,[t[35]||(t[35]=n("label",null,"Owner",-1)),O(n("input",yS,null,512),[[o,{state:e.viewState,set:s=>{e.query.owner=s},value:e.query?.owner,form:null,options:{}}]])]),n("span",bS,[t[36]||(t[36]=n("label",null,"Conference",-1)),O(n("input",wS,null,512),[[o,{state:e.viewState,set:s=>{e.query.conference=s},value:e.query?.conference,form:null,options:{}}]])]),t[40]||(t[40]=n("span",{class:"admin-filter-spacer"},null,-1)),n("button",{class:"btn btn-sm",type:"button",title:"Export current view to CSV",onClick:t[7]||(t[7]=s=>e.exportCsv())},[...t[37]||(t[37]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-export"})],-1),v(" Export",-1)])]),e.totalPage>1?(l(),d("span",kS,[n("button",{class:"btn btn-sm btn-icon",type:"button",onClick:t[8]||(t[8]=s=>e.query.page=Math.max(1,e.query.page-1)),disabled:e.query?.page<=1,"aria-label":"Previous page"},[...t[38]||(t[38]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-chevron-left"})],-1)])],8,CS),n("span",ES,c(e.query?.page)+"/"+c(e.totalPage||1),1),n("button",{class:"btn btn-sm btn-icon",type:"button",onClick:t[9]||(t[9]=s=>e.query.page=Math.min(e.totalPage,e.query.page+1)),disabled:e.query?.page>=e.totalPage,"aria-label":"Next page"},[...t[39]||(t[39]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-chevron-right"})],-1)])],8,SS)])):f("v-if",!0)],2),f(" Row 2: appears only when there are active filter chips "),e.chips?.length?(l(),d("div",NS,[n("div",RS,[(l(!0),d(L,null,ie(e.chips,(s,r)=>(l(),d("span",{class:"admin-active-chip",key:s?.key},[n("span",DS,c(s?.label),1),n("span",null,c(s?.value),1),n("button",{type:"button","aria-label":"Remove filter",onClick:a=>e.clearFilter(s.key)},[...t[41]||(t[41]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-close"})],-1)])],8,AS)]))),128))])])):f("v-if",!0)])),[[i,e.viewState]]),e.selectedCount()>0?(l(),d("div",TS,[n("span",null,[n("strong",null,c(e.selectedCount()),1),t[42]||(t[42]=v(" selected",-1))]),n("button",{class:"btn btn-sm",type:"button",onClick:t[10]||(t[10]=s=>e.bulkRefresh())},[...t[43]||(t[43]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-refresh"})],-1),v(" Force refresh",-1)])]),n("button",{class:"btn btn-sm text-danger",type:"button",onClick:t[11]||(t[11]=s=>e.bulkRemoveCache())},[...t[44]||(t[44]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-broom"})],-1),v(" Remove cache",-1)])]),n("button",{class:"btn btn-sm",type:"button",onClick:t[12]||(t[12]=s=>e.clearSelection())},"Clear")])):f("v-if",!0),n("div",PS,[n("div",OS,[n("div",IS,[n("input",{type:"checkbox","aria-label":"Select all on page",onClick:t[13]||(t[13]=s=>e.selectAllOnPage()),checked:e.allSelected},null,8,MS)]),n("div",_S,[n("button",{type:"button",class:T(["sortable",{active:e.query?.sort=="source.repositoryName"}]),onClick:t[14]||(t[14]=s=>e.sortBy("source.repositoryName"))},[t[46]||(t[46]=v("Repository ",-1)),e.sortIcon("source.repositoryName")?(l(),d("svg",{key:0,class:T(["ui-icon sort-direction",{ascending:e.sortIcon("source.repositoryName")==="fa-arrow-up"}]),"aria-hidden":"true"},[...t[45]||(t[45]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)):f("v-if",!0)],2)]),n("div",VS,[n("button",{type:"button",class:T(["sortable",{active:e.query?.sort=="status"}]),onClick:t[15]||(t[15]=s=>e.sortBy("status"))},[t[48]||(t[48]=v("Status ",-1)),e.sortIcon("status")?(l(),d("svg",{key:0,class:T(["ui-icon sort-direction",{ascending:e.sortIcon("status")==="fa-arrow-up"}]),"aria-hidden":"true"},[...t[47]||(t[47]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)):f("v-if",!0)],2)]),n("div",qS,[n("button",{type:"button",class:T(["sortable",{active:e.query?.sort=="pageView"}]),onClick:t[16]||(t[16]=s=>e.sortBy("pageView"))},[t[50]||(t[50]=v("Views ",-1)),e.sortIcon("pageView")?(l(),d("svg",{key:0,class:T(["ui-icon sort-direction",{ascending:e.sortIcon("pageView")==="fa-arrow-up"}]),"aria-hidden":"true"},[...t[49]||(t[49]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)):f("v-if",!0)],2)]),n("div",$S,[n("button",{type:"button",class:T(["sortable",{active:e.query?.sort=="anonymizeDate"}]),onClick:t[17]||(t[17]=s=>e.sortBy("anonymizeDate"))},[t[52]||(t[52]=v("Anonymized ",-1)),e.sortIcon("anonymizeDate")?(l(),d("svg",{key:0,class:T(["ui-icon sort-direction",{ascending:e.sortIcon("anonymizeDate")==="fa-arrow-up"}]),"aria-hidden":"true"},[...t[51]||(t[51]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)):f("v-if",!0)],2)]),t[53]||(t[53]=n("div",{role:"columnheader","aria-label":"Actions"},null,-1))]),(l(!0),d(L,null,ie(e.filteredRepositories,(s,r)=>(l(),d("div",{class:T(["paper-table-row",{"repo-inactive":s?.status=="expired"||s?.status=="removed","repo-error":s?.status=="error","row-selected":e.selected[s?.repoId]}]),role:"row"},[n("div",LS,[O(n("input",US,null,512),[[o,{state:e.viewState,set:a=>{e.selected[s.repoId]=a},value:e.selected[s?.repoId],form:null,options:{}}]])]),n("div",FS,[t[56]||(t[56]=n("svg",{class:"ui-icon record-type-icon",role:"img","aria-label":"Repository"},[n("use",{href:"#project-type-repo"})],-1)),n("div",BS,[n("a",{class:"repo-name",target:"_blank",textContent:c(s?.repoId),href:e.safeUrl("/r/"+s?.repoId)},null,8,zS),n("div",{class:"anon-sub anon-meta","data-meta-fit":"",title:[s?.source?.fullName||s?.source?.repositoryName,s?.options?.update?"branch "+s?.source?.branch:"commit "+s?.source?.commit?.substring(0,7),s?.conference?"conference "+s?.conference:"",s?.size?.storage>0?e.fmt?.humanFileSize(s?.size?.storage):"",e.fmt?.number(s?.options?.terms?.length)+(s?.options?.terms?.length===1?" term":" terms")].filter(Boolean).join(" \xB7 ")},[n("a",{class:"src-path",href:e.safeUrl("https://github.com/"+s?.source?.repositoryName+"/")},[(s?.source?.repositoryName||"").includes("/")?(l(),d("span",{key:0,class:"src-owner",textContent:c((a=>a.length>16?a.slice(0,14)+"\u2026":a)((s?.source?.repositoryName||"").split("/")[0]))},null,8,GS)):f("v-if",!0),n("span",{class:"src-repo",textContent:c((s?.source?.repositoryName||"").includes("/")?"/"+(s?.source?.repositoryName||"").split("/").slice(1).join("/"):s?.source?.repositoryName)},null,8,WS)],8,jS),s?.options?.update?f("v-if",!0):(l(),d("span",{key:0,class:"meta-item","data-meta-label":"commit "+(s?.source?.commit||"").substring(0,7)},[n("a",{class:"mono-hash",title:s?.source?.commit,textContent:c(s?.source?.commit?.substring(0,7)),href:e.safeUrl("https://github.com/"+s?.source?.fullName+"/tree/"+s?.source?.commit)},null,8,YS)],8,KS)),s?.options?.update?(l(),d("span",{key:1,class:"meta-item","data-meta-label":"branch "+(s?.source?.branch||"")},[n("a",{textContent:c(s?.source?.branch),href:e.safeUrl("https://github.com/"+s?.source?.fullName+"/tree/"+s?.source?.branch)},null,8,QS)],8,XS)):f("v-if",!0),s?.conference?(l(),d("span",{key:2,class:"meta-item meta-conf","data-meta-label":"conference "+s?.conference},[t[54]||(t[54]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-conference"})],-1)),v(" "+c(s?.conference),1)],8,JS)):f("v-if",!0),s?.size?.storage>0?(l(),d("span",ZS,c(e.fmt?.humanFileSize(s?.size?.storage)),1)):f("v-if",!0),n("span",xS,c(e.fmt?.number(s?.options?.terms?.length))+" "+c(s?.options?.terms?.length===1?"term":"terms"),1),t[55]||(t[55]=n("span",{class:"meta-more",hidden:""},null,-1))],8,HS)])]),n("div",eN,[n("span",tN,[n("span",{class:T(["status-dot","st-"+(s?.status||"unknown")])},null,2),n("span",{textContent:c(e.fmt?.statusLabel(s?.status))},null,8,nN)]),s?.statusMessage?(l(),d("span",{key:0,class:"status-sub",textContent:c(e.fmt?.statusMsg(s?.statusMessage)),title:s?.statusMessage},null,8,oN)):f("v-if",!0)]),n("div",{class:"cell-views num",role:"cell","data-unit":(s?.pageView||0)===1?"view":"views"},[t[57]||(t[57]=n("svg",{class:"ui-icon mobile-meta-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-eye"})],-1)),t[58]||(t[58]=v()),n("span",{textContent:c(e.fmt?.number(s?.pageView||0))},null,8,iN)],8,sN),n("div",rN,[t[59]||(t[59]=n("svg",{class:"ui-icon mobile-meta-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-clock"})],-1)),t[60]||(t[60]=v()),n("span",{textContent:c((e.fmt?.humanTime(s?.anonymizeDate)||"").replace(/^on /,""))},null,8,aN)]),n("div",lN,[n("div",dN,[t[72]||(t[72]=n("button",{class:"btn btn-icon-dots",type:"button","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false","aria-label":"Actions"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-more"})])],-1)),n("div",uN,[n("a",{class:"dropdown-item",href:e.safeUrl("/anonymize/"+s?.repoId)},[...t[61]||(t[61]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-edit"})],-1),v(" Edit",-1)])],8,cN),n("a",{class:"dropdown-item",href:e.safeUrl("/r/"+s?.repoId+"/")},[...t[62]||(t[62]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-eye"})],-1),v(" View repo",-1)])],8,pN),s?.options?.page&&s?.status=="ready"?(l(),d("a",{key:0,class:"dropdown-item",target:"_self",href:e.safeUrl("/w/"+s?.repoId+"/")},[...t[63]||(t[63]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-globe"})],-1),v(" View page",-1)])],8,fN)):f("v-if",!0),n("a",{class:"dropdown-item",href:"#",onClick:de(a=>e.fetchGithubInfo(s),["prevent"])},[...t[64]||(t[64]=[n("i",{class:"fab fa-github"},null,-1),v(" Live GitHub info",-1)])],8,hN),t[70]||(t[70]=n("div",{class:"dropdown-divider"},null,-1)),O(n("a",{class:"dropdown-item",href:"#",onClick:de(a=>e.updateRepository(s),["prevent"])},[...t[65]||(t[65]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-refresh"})],-1),v(" Force update",-1)])],8,mN),[[ee,s?.status=="ready"||s?.status=="error"]]),O(n("a",{class:"dropdown-item",href:"#",onClick:de(a=>e.updateRepository(s),["prevent"])},[...t[66]||(t[66]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-check-circle"})],-1),v(" Enable",-1)])],8,gN),[[ee,s?.status=="removed"]]),O(n("a",{class:"dropdown-item",href:"#",onClick:de(a=>e.showStatusMessage(s),["prevent"])},[...t[67]||(t[67]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-warning"})],-1),v(" View status message",-1)])],8,vN),[[ee,s?.statusMessage]]),t[71]||(t[71]=n("div",{class:"dropdown-divider"},null,-1)),n("a",{class:"dropdown-item",href:"#",onClick:de(a=>e.removeCache(s),["prevent"])},[...t[68]||(t[68]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-broom"})],-1),v(" Remove cache",-1)])],8,yN),O(n("a",{class:"dropdown-item text-danger",href:"#",onClick:de(a=>e.removeRepository(s),["prevent"])},[...t[69]||(t[69]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-trash"})],-1),v(" Remove",-1)])],8,bN),[[ee,s?.status=="ready"]])])])])],2))),256)),e.filteredRepositories?.length==0?(l(),d("div",wN,[t[73]||(t[73]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-inbox"})],-1)),t[74]||(t[74]=n("span",null,"No repositories match the current filters.",-1)),e.query.ready&&e.query.expired&&e.query.removed&&e.query.error&&e.query.preparing?f("v-if",!0):(l(),d("button",{key:0,type:"button",class:"btn btn-sm btn-outline-ink",onClick:t[18]||(t[18]=s=>e.showAllStatuses())},"Show all statuses"))])):f("v-if",!0)]),n("div",kN,[t[79]||(t[79]=n("span",{"aria-hidden":"true"},null,-1)),e.totalPage>1?(l(),d("div",CN,[n("button",{class:"btn btn-sm",onClick:t[19]||(t[19]=s=>e.query.page=Math.max(1,e.query.page-1)),disabled:e.query?.page<=1},[...t[75]||(t[75]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-chevron-left"})],-1),v(" Previous ",-1)])],8,EN),O(n("input",{type:"number",class:"form-control form-control-sm",min:"1",style:{width:"56px"},"aria-label":"Page",max:e.totalPage},null,8,SN),[[o,{state:e.viewState,set:s=>{e.query.page=s},value:e.query?.page,form:null,options:{}}]]),n("span",null,"of "+c(e.totalPage),1),n("button",{class:"btn btn-sm",onClick:t[20]||(t[20]=s=>e.query.page=Math.min(e.totalPage,e.query.page+1)),disabled:e.query?.page>=e.totalPage},[...t[76]||(t[76]=[v(" Next ",-1),n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-chevron-right"})],-1)])],8,NN)])):f("v-if",!0),n("span",RN,[t[78]||(t[78]=n("label",null,"Per page",-1)),O((l(),d("select",DN,[...t[77]||(t[77]=[Se('',5)])])),[[o,{state:e.viewState,set:s=>{e.query.limit=s},value:e.query?.limit,form:null,options:{}}]])])])])}var AN={class:"container paper-page admin-page"},TN={class:"paper-crumbs"},PN={class:"here"},ON={class:"paper-page-title"},IN={key:0,class:"user-detail-card"},MN={class:"user-header"},_N=["src"],VN={class:"user-header-status"},qN={class:"status-dot-wrap"},$N=["textContent"],LN={key:0,class:"type-badge type-repo"},UN={class:"user-actions",style:{"margin-top":"4px"}},FN={class:"user-detail-grid"},BN={class:"detail-value mono-id"},zN={class:"detail-value"},HN=["href"],jN={class:"detail-value"},GN={class:"detail-value"},WN={key:0},KN={key:1,class:"text-muted"},YN={class:"detail-value"},XN={key:0,style:{"margin-top":"20px"}},QN={class:"paper-table w-100",style:{"margin-top":"10px"}},JN={class:"paper-table-row",style:{"grid-template-columns":"1fr 160px"}},ZN={class:"cell-anon",role:"cell"},xN={class:"anon-text"},eR=["textContent"],tR={class:"cell-expires",role:"cell"},nR={key:1,class:"admin-section-header"},oR={class:"section-count"},sR={key:2,class:"user-detail-card"},iR={type:"text",class:"form-control",placeholder:"Token name (e.g. dev-laptop)",required:""},rR={key:0,class:"alert alert-warning",role:"alert"},aR={style:{"white-space":"pre-wrap","word-break":"break-all",margin:"8px 0 0","font-family":"var(--font-mono)","font-size":"0.85rem"}},lR={key:1,class:"paper-table w-100"},dR={class:"paper-table-row",role:"row",style:{"grid-template-columns":"1fr 200px 200px 80px"}},uR=["textContent"],cR=["textContent"],pR={role:"cell"},fR={key:0},hR={key:1,class:"text-muted"},mR={role:"cell"},gR=["onClick"],vR={key:2,class:"paper-table-empty"},yR={class:"admin-section-header"},bR={class:"section-count"},wR={class:"seg-bar"},kR={class:"seg-filter",role:"radiogroup","aria-label":"Filter by status"},CR=["aria-checked"],ER={class:"count"},SR=["aria-checked"],NR={class:"count"},RR=["aria-checked"],DR={class:"count"},AR=["aria-checked"],TR={class:"count"},PR=["aria-checked"],OR={class:"count"},IR=["aria-checked"],MR={class:"count"},_R={class:"seg-countline",role:"status"},VR={class:"w-100 admin-filter-toolbar","aria-label":"Repositories","accept-charset":"UTF-8"},qR={class:"admin-filter-row"},$R={class:"search-wrap"},LR={type:"search",class:"form-control","aria-label":"Search repositories",placeholder:"Search repositories or errors\u2026",autocomplete:"off"},UR={key:3,class:"bulk-bar"},FR={class:"paper-table paper-table-repos has-bulk w-100",role:"table","aria-label":"Repositories"},BR={class:"paper-table-head",role:"row"},zR={role:"columnheader",style:{width:"28px"}},HR=["checked"],jR={role:"columnheader"},GR={role:"columnheader"},WR={role:"columnheader",class:"num"},KR={role:"columnheader"},YR={role:"cell",style:{width:"28px"}},XR={type:"checkbox","aria-label":"Select repository"},QR={class:"cell-anon",role:"cell"},JR={class:"anon-text"},ZR=["textContent","href"],xR=["title"],eD=["href"],tD=["textContent"],nD=["textContent"],oD=["data-meta-label"],sD=["title","textContent","href"],iD=["data-meta-label"],rD=["textContent","href"],aD=["data-meta-label"],lD={key:3,class:"meta-item"},dD={class:"meta-item"},uD={class:"cell-status",role:"cell"},cD={class:"status-line"},pD=["textContent"],fD=["textContent","title"],hD=["data-unit","textContent"],mD=["textContent"],gD={class:"cell-actions",role:"cell"},vD={class:"dropdown"},yD={class:"dropdown-menu dropdown-menu-right"},bD=["href"],wD=["href"],kD=["href"],CD=["onClick"],ED=["onClick"],SD=["onClick"],ND=["onClick"],RD=["onClick"],DD=["onClick"],AD={key:0,class:"paper-table-empty"};function Bc(e,t){let o=Ae("field"),i=Ae("form");return l(),d("div",AN,[n("div",TN,[t[23]||(t[23]=n("a",{href:"/admin/"},"Admin",-1)),t[24]||(t[24]=v(" \xA0/\xA0 ",-1)),t[25]||(t[25]=n("a",{href:"/admin/users"},"Users",-1)),t[26]||(t[26]=v(" \xA0/\xA0 ",-1)),n("span",PN,c(e.userInfo?.username||"Profile"),1)]),n("h1",ON,c(e.userInfo?.username||"User"),1),t[93]||(t[93]=Se('',1)),e.userInfo?(l(),d("div",IN,[n("div",MN,[e.userInfo?.photo?(l(),d("img",{key:0,width:"56",height:"56",src:e.safeUrl(e.userInfo?.photo)},null,8,_N)):f("v-if",!0),n("div",null,[n("div",VN,[n("span",qN,[n("span",{class:T(["status-dot","st-"+(e.userInfo?.status||"unknown")])},null,2),n("span",{textContent:c(e.fmt?.title(e.userInfo?.status))},null,8,$N)]),e.userInfo?.isAdmin?(l(),d("span",LN,"Admin")):f("v-if",!0)]),n("div",UN,[e.userInfo?.status!=="banned"&&e.userInfo?.username!==e.user?.username?(l(),d("button",{key:0,class:"btn btn-sm btn-outline-danger",onClick:t[0]||(t[0]=s=>e.banUser())},[...t[27]||(t[27]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-ban"})],-1),v(" Ban",-1)])])):f("v-if",!0),e.userInfo?.status==="banned"||e.userInfo?.status==="removed"?(l(),d("button",{key:1,class:"btn btn-sm",onClick:t[1]||(t[1]=s=>e.activateUser())},[...t[28]||(t[28]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-check-circle"})],-1),v(" Activate",-1)])])):f("v-if",!0),e.userInfo?.isAdmin?f("v-if",!0):(l(),d("button",{key:2,class:"btn btn-sm",onClick:t[2]||(t[2]=s=>e.promoteUser())},[...t[29]||(t[29]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-user-shield"})],-1),v(" Promote to admin",-1)])])),e.userInfo?.isAdmin&&e.userInfo?.username!==e.user?.username?(l(),d("button",{key:3,class:"btn btn-sm btn-outline-ink",onClick:t[3]||(t[3]=s=>e.demoteUser())},[...t[30]||(t[30]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-user-minus"})],-1),v(" Remove admin",-1)])])):f("v-if",!0)])])]),n("div",FN,[t[33]||(t[33]=n("div",{class:"detail-label"},"ID",-1)),n("div",BN,c(e.userInfo?._id),1),t[34]||(t[34]=n("div",{class:"detail-label"},"Email",-1)),n("div",{class:T(["detail-value",{"is-empty":!e.userInfo?.emails?.[0]?.email}])},c(e.userInfo?.emails?.[0]?.email||"Not shared"),3),t[35]||(t[35]=n("div",{class:"detail-label"},"Access token",-1)),n("div",{class:T(["detail-value",{"is-empty":!e.userInfo?.accessTokens?.github}]),style:{"font-family":"var(--font-mono)","font-size":"0.85rem"}},c(e.userInfo?.accessTokens?.github||"Not stored"),3),t[36]||(t[36]=n("div",{class:"detail-label"},"GitHub",-1)),n("div",zN,[n("a",{target:"_blank",href:e.safeUrl("https://github.com/"+e.userInfo?.username)},[t[31]||(t[31]=n("i",{class:"fab fa-github"},null,-1)),v(" "+c(e.userInfo?.username),1)],8,HN)]),t[37]||(t[37]=n("div",{class:"detail-label"},"Created",-1)),n("div",jN,c(e.fmt?.humanTime(e.userInfo?.dateOfEntry)),1),t[38]||(t[38]=n("div",{class:"detail-label"},"Last connection",-1)),n("div",GN,[e.userInfo?.accessTokenDates?.github?(l(),d("span",WN,c(e.fmt?.humanTime(e.userInfo?.accessTokenDates?.github)),1)):f("v-if",!0),e.userInfo?.accessTokenDates?.github?f("v-if",!0):(l(),d("span",KN,"Not recorded (GitHub App sign-in)"))]),t[39]||(t[39]=n("div",{class:"detail-label"},"GitHub repos",-1)),n("div",YN,[v(c(e.userInfo?.repositories?.length?e.userInfo.repositories.length+" repositories":"Not synced")+" ",1),e.userInfo?.repositories?.length?(l(),d("button",{key:0,class:"btn btn-sm ml-2",onClick:t[4]||(t[4]=s=>e.showRepos=!e.showRepos)},c(e.showRepos?"Hide repos":"Show repos"),1)):f("v-if",!0),n("button",{class:"btn btn-sm ml-1",onClick:t[5]||(t[5]=s=>e.getGitHubRepositories())},[...t[32]||(t[32]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-refresh"})],-1),v(" Refresh ",-1)])])])]),e.showRepos?(l(),d("div",XN,[t[42]||(t[42]=n("div",{class:"paper-section-eyebrow"},"GitHub repositories",-1)),n("div",QN,[(l(!0),d(L,null,ie(e.userInfo?.repositories,(s,r)=>(l(),d("div",JN,[n("div",ZN,[t[40]||(t[40]=n("svg",{class:"ui-icon record-type-icon",role:"img","aria-label":"Repository"},[n("use",{href:"#project-type-repo"})],-1)),n("div",xN,[n("span",{class:"repo-name",textContent:c(s?.name)},null,8,eR)])]),n("div",tR,[t[41]||(t[41]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-database"})],-1)),v(" "+c(e.fmt?.humanFileSize(s?.size)),1)])]))),256))])])):f("v-if",!0)])):f("v-if",!0),e.userInfo&&e.userInfo?.isAdmin&&e.user&&e.user?.username==e.userInfo?.username?(l(),d("div",nR,[t[43]||(t[43]=n("h2",null,[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-key"})]),v(" API tokens")],-1)),n("span",oR,c(e.tokens?.length),1)])):f("v-if",!0),e.userInfo&&e.userInfo?.isAdmin&&e.user&&e.user?.username==e.userInfo?.username?(l(),d("div",sR,[t[49]||(t[49]=n("p",{class:"paper-page-lede"},[v("Personal API tokens for this admin account. Send as "),n("code",null,"Authorization: Bearer "),v(" to authenticate without GitHub OAuth (useful for development).")],-1)),O((l(),d("form",{class:"d-flex",style:{gap:"8px","margin-bottom":"12px"},onSubmit:t[6]||(t[6]=de(s=>e.submitForm(s,()=>{e.createToken()}),["prevent"]))},[O(n("input",iR,null,512),[[o,{state:e.viewState,set:s=>{e.tokenForm.name=s},value:e.tokenForm?.name,form:null,options:{}}]]),t[44]||(t[44]=n("button",{type:"submit",class:"btn btn-ink"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-plus"})]),v(" Generate")],-1))],32)),[[i,e.viewState]]),e.tokenForm?.plaintext?(l(),d("div",rR,[t[45]||(t[45]=n("strong",null,"Copy this token now \u2014 it will not be shown again:",-1)),n("pre",aR,c(e.tokenForm?.plaintext),1),n("button",{class:"btn btn-sm",onClick:t[7]||(t[7]=s=>e.tokenForm.plaintext=null)},"Dismiss")])):f("v-if",!0),e.tokens?.length?(l(),d("div",lR,[t[47]||(t[47]=n("div",{class:"paper-table-head",role:"row",style:{"grid-template-columns":"1fr 200px 200px 80px"}},[n("div",{role:"columnheader"},"Name"),n("div",{role:"columnheader"},"Created"),n("div",{role:"columnheader"},"Last used"),n("div",{role:"columnheader","aria-label":"Actions"})],-1)),(l(!0),d(L,null,ie(e.tokens,(s,r)=>(l(),d("div",dR,[n("div",{role:"cell",textContent:c(s?.name)},null,8,uR),n("div",{role:"cell",textContent:c(e.fmt?.humanTime(s?.createdAt))},null,8,cR),n("div",pR,[s?.lastUsedAt?(l(),d("span",fR,c(e.fmt?.humanTime(s?.lastUsedAt)),1)):f("v-if",!0),s?.lastUsedAt?f("v-if",!0):(l(),d("span",hR,"never"))]),n("div",mR,[n("button",{class:"btn btn-sm text-danger btn-icon",title:"Revoke","aria-label":"Revoke token",onClick:a=>e.revokeToken(s)},[...t[46]||(t[46]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-trash"})],-1)])],8,gR)])]))),256))])):f("v-if",!0),e.tokens?.length?f("v-if",!0):(l(),d("div",vR,[...t[48]||(t[48]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-inbox"})],-1),n("span",null,"No tokens yet.",-1)])]))])):f("v-if",!0),n("div",yR,[t[50]||(t[50]=n("h2",null,[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-type-repo"})]),v(" Anonymized repositories")],-1)),n("span",bR,c(e.repositories?.length),1)]),n("div",wR,[n("div",kR,[n("button",{type:"button",role:"radio",class:T(["seg-chip",{active:e.segView()==="all"}]),"aria-checked":e.segView()==="all",onClick:t[8]||(t[8]=s=>e.setSegView("all"))},[t[51]||(t[51]=v("All ",-1)),n("span",ER,c(e.fmt?.number(e.segCount("all"))),1)],10,CR),n("button",{type:"button",role:"radio",class:T(["seg-chip",{active:e.segView()==="ready","is-empty":!e.segCount("ready")}]),"aria-checked":e.segView()==="ready",onClick:t[9]||(t[9]=s=>e.setSegView("ready"))},[t[52]||(t[52]=n("span",{class:"seg-dot ok","aria-hidden":"true"},null,-1)),t[53]||(t[53]=v("Ready ",-1)),n("span",NR,c(e.fmt?.number(e.segCount("ready"))),1)],10,SR),n("button",{type:"button",role:"radio",class:T(["seg-chip",{active:e.segView()==="preparing","is-empty":!e.segCount("preparing")}]),"aria-checked":e.segView()==="preparing",onClick:t[10]||(t[10]=s=>e.setSegView("preparing"))},[t[54]||(t[54]=n("span",{class:"seg-dot warn","aria-hidden":"true"},null,-1)),t[55]||(t[55]=v("Preparing ",-1)),n("span",DR,c(e.fmt?.number(e.segCount("preparing"))),1)],10,RR),n("button",{type:"button",role:"radio",class:T(["seg-chip",{active:e.segView()==="error","is-empty":!e.segCount("error")}]),"aria-checked":e.segView()==="error",onClick:t[11]||(t[11]=s=>e.setSegView("error"))},[t[56]||(t[56]=n("span",{class:"seg-dot bad","aria-hidden":"true"},null,-1)),t[57]||(t[57]=v("Error ",-1)),n("span",TR,c(e.fmt?.number(e.segCount("error"))),1)],10,AR),n("button",{type:"button",role:"radio",class:T(["seg-chip",{active:e.segView()==="expired","is-empty":!e.segCount("expired")}]),"aria-checked":e.segView()==="expired",onClick:t[12]||(t[12]=s=>e.setSegView("expired"))},[t[58]||(t[58]=n("span",{class:"seg-dot off","aria-hidden":"true"},null,-1)),t[59]||(t[59]=v("Expiring / expired ",-1)),n("span",OR,c(e.fmt?.number(e.segCount("expired"))),1)],10,PR),n("button",{type:"button",role:"radio",class:T(["seg-chip",{active:e.segView()==="removed","is-empty":!e.segCount("removed")}]),"aria-checked":e.segView()==="removed",onClick:t[13]||(t[13]=s=>e.setSegView("removed"))},[t[60]||(t[60]=n("span",{class:"seg-dot off","aria-hidden":"true"},null,-1)),t[61]||(t[61]=v("Removing / removed ",-1)),n("span",MR,c(e.fmt?.number(e.segCount("removed"))),1)],10,IR)]),n("p",_R,[n("strong",null,c(e.fmt.number(e.filteredRepositories?.length||0)),1),t[62]||(t[62]=v(" shown",-1))])]),O((l(),d("form",VR,[n("div",qR,[n("div",$R,[O(n("input",LR,null,512),[[o,{state:e.viewState,set:s=>{e.search=s},value:e.search,form:null,options:{}}]])]),t[64]||(t[64]=n("span",{class:"admin-filter-spacer"},null,-1)),n("button",{class:"btn btn-sm",type:"button",title:"Export current view to CSV",onClick:t[14]||(t[14]=s=>e.exportCsv())},[...t[63]||(t[63]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-export"})],-1),v(" Export",-1)])])])])),[[i,e.viewState]]),e.selectedCount()>0?(l(),d("div",UR,[n("span",null,[n("strong",null,c(e.selectedCount()),1),t[65]||(t[65]=v(" selected",-1))]),n("button",{class:"btn btn-sm",type:"button",onClick:t[15]||(t[15]=s=>e.bulkRefresh())},[...t[66]||(t[66]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-refresh"})],-1),v(" Force refresh",-1)])]),n("button",{class:"btn btn-sm text-danger",type:"button",onClick:t[16]||(t[16]=s=>e.bulkRemoveCache())},[...t[67]||(t[67]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-broom"})],-1),v(" Remove cache",-1)])]),n("button",{class:"btn btn-sm",type:"button",onClick:t[17]||(t[17]=s=>e.clearSelection())},"Clear")])):f("v-if",!0),n("div",FR,[n("div",BR,[n("div",zR,[n("input",{type:"checkbox","aria-label":"Select all on page",onClick:t[18]||(t[18]=s=>e.selectAllOnPage()),checked:e.allSelected},null,8,HR)]),n("div",jR,[n("button",{type:"button",class:T(["sortable",{active:e.query?.sort=="source.repositoryName"}]),onClick:t[19]||(t[19]=s=>e.sortBy("source.repositoryName"))},[t[69]||(t[69]=v("Repository ",-1)),e.sortIcon("source.repositoryName")?(l(),d("svg",{key:0,class:T(["ui-icon sort-direction",{ascending:e.sortIcon("source.repositoryName")==="fa-arrow-up"}]),"aria-hidden":"true"},[...t[68]||(t[68]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)):f("v-if",!0)],2)]),n("div",GR,[n("button",{type:"button",class:T(["sortable",{active:e.query?.sort=="status"}]),onClick:t[20]||(t[20]=s=>e.sortBy("status"))},[t[71]||(t[71]=v("Status ",-1)),e.sortIcon("status")?(l(),d("svg",{key:0,class:T(["ui-icon sort-direction",{ascending:e.sortIcon("status")==="fa-arrow-up"}]),"aria-hidden":"true"},[...t[70]||(t[70]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)):f("v-if",!0)],2)]),n("div",WR,[n("button",{type:"button",class:T(["sortable",{active:e.query?.sort=="pageView"}]),onClick:t[21]||(t[21]=s=>e.sortBy("pageView"))},[t[73]||(t[73]=v("Views ",-1)),e.sortIcon("pageView")?(l(),d("svg",{key:0,class:T(["ui-icon sort-direction",{ascending:e.sortIcon("pageView")==="fa-arrow-up"}]),"aria-hidden":"true"},[...t[72]||(t[72]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)):f("v-if",!0)],2)]),n("div",KR,[n("button",{type:"button",class:T(["sortable",{active:e.query?.sort=="anonymizeDate"}]),onClick:t[22]||(t[22]=s=>e.sortBy("anonymizeDate"))},[t[75]||(t[75]=v("Anonymized ",-1)),e.sortIcon("anonymizeDate")?(l(),d("svg",{key:0,class:T(["ui-icon sort-direction",{ascending:e.sortIcon("anonymizeDate")==="fa-arrow-up"}]),"aria-hidden":"true"},[...t[74]||(t[74]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)):f("v-if",!0)],2)]),t[76]||(t[76]=n("div",{role:"columnheader","aria-label":"Actions"},null,-1))]),(l(!0),d(L,null,ie(e.filteredRepositories,(s,r)=>(l(),d("div",{class:T(["paper-table-row",{"repo-inactive":s?.status=="expired"||s?.status=="removed","repo-error":s?.status=="error","row-selected":e.selected[s?.repoId]}]),role:"row"},[n("div",YR,[O(n("input",XR,null,512),[[o,{state:e.viewState,set:a=>{e.selected[s.repoId]=a},value:e.selected[s?.repoId],form:null,options:{}}]])]),n("div",QR,[t[79]||(t[79]=n("svg",{class:"ui-icon record-type-icon",role:"img","aria-label":"Repository"},[n("use",{href:"#project-type-repo"})],-1)),n("div",JR,[n("a",{class:"repo-name",target:"_blank",textContent:c(s?.repoId),href:e.safeUrl("/r/"+s?.repoId)},null,8,ZR),n("div",{class:"anon-sub anon-meta","data-meta-fit":"",title:[s?.source?.fullName||s?.source?.repositoryName,s?.options?.update?"branch "+s?.source?.branch:"commit "+s?.source?.commit?.substring(0,7),s?.conference?"conference "+s?.conference:"",s?.size?.storage>0?e.fmt?.humanFileSize(s?.size?.storage):"",e.fmt?.number(s?.options?.terms?.length)+(s?.options?.terms?.length===1?" term":" terms")].filter(Boolean).join(" \xB7 ")},[n("a",{class:"src-path",href:e.safeUrl("https://github.com/"+s?.source?.fullName+"/")},[(s?.source?.fullName||"").includes("/")?(l(),d("span",{key:0,class:"src-owner",textContent:c((a=>a.length>16?a.slice(0,14)+"\u2026":a)((s?.source?.fullName||"").split("/")[0]))},null,8,tD)):f("v-if",!0),n("span",{class:"src-repo",textContent:c((s?.source?.fullName||"").includes("/")?"/"+(s?.source?.fullName||"").split("/").slice(1).join("/"):s?.source?.fullName)},null,8,nD)],8,eD),s?.options?.update?f("v-if",!0):(l(),d("span",{key:0,class:"meta-item","data-meta-label":"commit "+(s?.source?.commit||"").substring(0,7)},[n("a",{class:"mono-hash",title:s?.source?.commit,textContent:c(s?.source?.commit?.substring(0,7)),href:e.safeUrl("https://github.com/"+s?.source?.fullName+"/tree/"+s?.source?.commit)},null,8,sD)],8,oD)),s?.options?.update?(l(),d("span",{key:1,class:"meta-item","data-meta-label":"branch "+(s?.source?.branch||"")},[n("a",{textContent:c(s?.source?.branch),href:e.safeUrl("https://github.com/"+s?.source?.fullName+"/tree/"+s?.source?.branch)},null,8,rD)],8,iD)):f("v-if",!0),s?.conference?(l(),d("span",{key:2,class:"meta-item meta-conf","data-meta-label":"conference "+s?.conference},[t[77]||(t[77]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-conference"})],-1)),v(" "+c(s?.conference),1)],8,aD)):f("v-if",!0),s?.size?.storage>0?(l(),d("span",lD,c(e.fmt?.humanFileSize(s?.size?.storage)),1)):f("v-if",!0),n("span",dD,c(e.fmt?.number(s?.options?.terms?.length))+" "+c(s?.options?.terms?.length===1?"term":"terms"),1),t[78]||(t[78]=n("span",{class:"meta-more",hidden:""},null,-1))],8,xR)])]),n("div",uD,[n("span",cD,[n("span",{class:T(["status-dot","st-"+(s?.status||"unknown")])},null,2),n("span",{textContent:c(e.fmt?.statusLabel(s?.status))},null,8,pD)]),s?.statusMessage?(l(),d("span",{key:0,class:"status-sub",textContent:c(e.fmt?.statusMsg(s?.statusMessage)),title:s?.statusMessage},null,8,fD)):f("v-if",!0)]),n("div",{class:"cell-views num",role:"cell","data-unit":(s?.pageView||0)===1?"view":"views",textContent:c(e.fmt?.number(s?.pageView||0))},null,8,hD),n("div",{class:"cell-expires",role:"cell",textContent:c(e.fmt?.humanTime(s?.anonymizeDate))},null,8,mD),n("div",gD,[n("div",vD,[t[91]||(t[91]=n("button",{class:"btn btn-icon-dots",type:"button","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false","aria-label":"Actions"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-more"})])],-1)),n("div",yD,[n("a",{class:"dropdown-item",href:e.safeUrl("/anonymize/"+s?.repoId)},[...t[80]||(t[80]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-edit"})],-1),v(" Edit",-1)])],8,bD),n("a",{class:"dropdown-item",href:e.safeUrl("/r/"+s?.repoId+"/")},[...t[81]||(t[81]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-eye"})],-1),v(" View repo",-1)])],8,wD),s?.options?.page&&s?.status=="ready"?(l(),d("a",{key:0,class:"dropdown-item",target:"_self",href:e.safeUrl("/w/"+s?.repoId+"/")},[...t[82]||(t[82]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-globe"})],-1),v(" View page",-1)])],8,kD)):f("v-if",!0),n("a",{class:"dropdown-item",href:"#",onClick:de(a=>e.fetchGithubInfo(s),["prevent"])},[...t[83]||(t[83]=[n("i",{class:"fab fa-github"},null,-1),v(" Live GitHub info",-1)])],8,CD),t[89]||(t[89]=n("div",{class:"dropdown-divider"},null,-1)),O(n("a",{class:"dropdown-item",href:"#",onClick:de(a=>e.updateRepository(s),["prevent"])},[...t[84]||(t[84]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-refresh"})],-1),v(" Force update",-1)])],8,ED),[[ee,s?.status=="ready"||s?.status=="error"]]),O(n("a",{class:"dropdown-item",href:"#",onClick:de(a=>e.updateRepository(s),["prevent"])},[...t[85]||(t[85]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-check-circle"})],-1),v(" Enable",-1)])],8,SD),[[ee,s?.status=="removed"]]),O(n("a",{class:"dropdown-item",href:"#",onClick:de(a=>e.showStatusMessage(s),["prevent"])},[...t[86]||(t[86]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-warning"})],-1),v(" View status message",-1)])],8,ND),[[ee,s?.statusMessage]]),t[90]||(t[90]=n("div",{class:"dropdown-divider"},null,-1)),n("a",{class:"dropdown-item",href:"#",onClick:de(a=>e.removeCache(s),["prevent"])},[...t[87]||(t[87]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-broom"})],-1),v(" Remove cache",-1)])],8,RD),O(n("a",{class:"dropdown-item text-danger",href:"#",onClick:de(a=>e.removeRepository(s),["prevent"])},[...t[88]||(t[88]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-trash"})],-1),v(" Remove",-1)])],8,DD),[[ee,s?.status=="ready"]])])])])],2))),256)),e.filteredRepositories?.length==0?(l(),d("div",AD,[...t[92]||(t[92]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-inbox"})],-1),n("span",null,"No repositories match the current filters.",-1)])])):f("v-if",!0)])])}var TD={class:"container paper-page admin-page"},PD={class:"seg-bar"},OD={class:"seg-filter",role:"radiogroup","aria-label":"Filter by status"},ID=["aria-checked"],MD={class:"count"},_D=["aria-checked"],VD={class:"count"},qD=["aria-checked"],$D={class:"count"},LD=["aria-checked"],UD={class:"count"},FD={class:"seg-countline",role:"status"},BD={key:0,class:"alert alert-danger",style:{margin:"8px 0"}},zD={class:"w-100 admin-filter-toolbar","aria-label":"Users","accept-charset":"UTF-8"},HD={class:"admin-filter-row"},jD={class:"search-wrap"},GD={type:"search",class:"form-control","aria-label":"Search users",placeholder:"Search username or email\u2026",autocomplete:"off"},WD={key:0,class:"admin-search-hint"},KD={class:"admin-filter-inline"},YD={class:"form-control form-control-sm"},XD={key:0,class:"admin-filter-inline","aria-label":"Pagination"},QD=["disabled"],JD={style:{"font-family":"var(--font-mono)","font-size":"12px",color:"var(--ink-muted)"}},ZD=["disabled"],xD={key:0,class:"admin-filter-row"},e4={class:"admin-active-chips"},t4={class:"key"},n4=["onClick"],o4={key:1,class:"bulk-bar"},s4={class:"paper-table w-100",role:"table","aria-label":"Users",style:{"--cols":"28px minmax(280px, 2.4fr) 100px 140px 140px 52px"}},i4={class:"paper-table-head admin-users-row",role:"row"},r4={role:"columnheader",style:{width:"28px"}},a4=["checked"],l4={role:"columnheader"},d4={role:"columnheader"},u4={role:"cell",style:{width:"28px"}},c4={type:"checkbox","aria-label":"Select user"},p4={class:"cell-anon",role:"cell"},f4=["src"],h4={key:1,class:"avatar-fallback","aria-hidden":"true"},m4={class:"anon-text"},g4={class:"user-name-line"},v4=["textContent","href"],y4=["href","title","aria-label"],b4={class:"anon-sub meta-dots"},w4=["title"],k4={key:1},C4={class:"cell-views num",role:"cell"},E4=["title","textContent","href"],S4={class:"cell-status",role:"cell"},N4=["textContent"],R4={class:"cell-status",role:"cell"},D4={key:0,class:"role-pill"},A4={key:1,class:"empty-dash"},T4={class:"cell-actions",role:"cell"},P4={class:"dropdown"},O4={class:"dropdown-menu dropdown-menu-right"},I4=["href"],M4=["href"],_4=["onClick"],V4=["onClick"],q4={key:0,class:"paper-table-empty"},$4={class:"admin-toolbar",style:{"justify-content":"space-between","border-bottom":"none"}},L4={key:0,class:"pagination-compact"},U4=["disabled"],F4=["max"],B4=["disabled"],z4={class:"admin-filter-inline"},H4={class:"form-control form-control-sm"};function zc(e,t){let o=Ae("field"),i=Ae("form");return l(),d("div",TD,[t[53]||(t[53]=Se('
Admin \xA0/\xA0 Users

Users

',3)),n("div",PD,[n("div",OD,[n("button",{type:"button",role:"radio",class:T(["seg-chip",{active:!e.query?.status}]),"aria-checked":!e.query?.status,onClick:t[0]||(t[0]=s=>{e.query.status="",e.query.page=1})},[t[14]||(t[14]=v("All ",-1)),n("span",MD,c(e.fmt?.number(e.statusCountFor("active")+e.statusCountFor("banned")+e.statusCountFor("removed"))),1)],10,ID),n("button",{type:"button",role:"radio",class:T(["seg-chip",{active:e.query?.status==="active","is-empty":!e.statusCountFor("active")}]),"aria-checked":e.query?.status==="active",onClick:t[1]||(t[1]=s=>{e.query.status="active",e.query.page=1})},[t[15]||(t[15]=n("span",{class:"seg-dot ok","aria-hidden":"true"},null,-1)),t[16]||(t[16]=v("Active ",-1)),n("span",VD,c(e.fmt?.number(e.statusCountFor("active"))),1)],10,_D),n("button",{type:"button",role:"radio",class:T(["seg-chip",{active:e.query?.status==="banned","is-empty":!e.statusCountFor("banned")}]),"aria-checked":e.query?.status==="banned",onClick:t[2]||(t[2]=s=>{e.query.status="banned",e.query.page=1})},[t[17]||(t[17]=n("span",{class:"seg-dot bad","aria-hidden":"true"},null,-1)),t[18]||(t[18]=v("Banned ",-1)),n("span",$D,c(e.fmt?.number(e.statusCountFor("banned"))),1)],10,qD),n("button",{type:"button",role:"radio",class:T(["seg-chip",{active:e.query?.status==="removed","is-empty":!e.statusCountFor("removed")}]),"aria-checked":e.query?.status==="removed",onClick:t[3]||(t[3]=s=>{e.query.status="removed",e.query.page=1})},[t[19]||(t[19]=n("span",{class:"seg-dot off","aria-hidden":"true"},null,-1)),t[20]||(t[20]=v("Removed ",-1)),n("span",UD,c(e.fmt?.number(e.statusCountFor("removed"))),1)],10,LD)]),n("p",FD,[n("strong",null,c(e.total>=0?e.fmt.number(e.total):"\u2026"),1),t[21]||(t[21]=v(" shown",-1))])]),e.fetchError?(l(),d("div",BD,[t[22]||(t[22]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-warning"})],-1)),v(" "+c(e.fetchError),1)])):f("v-if",!0),O((l(),d("form",zD,[n("div",HD,[n("div",jD,[O(n("input",GD,null,512),[[o,{state:e.viewState,set:s=>{e.query.search=s},value:e.query?.search,form:null,options:{}}]]),e.query?.search?f("v-if",!0):(l(),d("span",WD,"/"))]),n("span",KD,[t[24]||(t[24]=n("label",null,"Role",-1)),O((l(),d("select",YD,[...t[23]||(t[23]=[n("option",{value:""},"Any",-1),n("option",{value:"admin"},"Admin",-1)])])),[[o,{state:e.viewState,set:s=>{e.query.role=s},value:e.query?.role,form:null,options:{}}]])]),t[28]||(t[28]=n("span",{class:"admin-filter-spacer"},null,-1)),n("button",{class:"btn btn-sm",type:"button",onClick:t[4]||(t[4]=s=>e.exportCsv())},[...t[25]||(t[25]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-export"})],-1),v(" Export",-1)])]),e.totalPage>1?(l(),d("span",XD,[n("button",{class:"btn btn-sm btn-icon",type:"button",onClick:t[5]||(t[5]=s=>e.query.page=Math.max(1,e.query.page-1)),disabled:e.query?.page<=1,"aria-label":"Previous page"},[...t[26]||(t[26]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-chevron-left"})],-1)])],8,QD),n("span",JD,c(e.query?.page)+"/"+c(e.totalPage||1),1),n("button",{class:"btn btn-sm btn-icon",type:"button",onClick:t[6]||(t[6]=s=>e.query.page=Math.min(e.totalPage,e.query.page+1)),disabled:e.query?.page>=e.totalPage,"aria-label":"Next page"},[...t[27]||(t[27]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-chevron-right"})],-1)])],8,ZD)])):f("v-if",!0)]),e.chips?.length?(l(),d("div",xD,[n("div",e4,[(l(!0),d(L,null,ie(e.chips,(s,r)=>(l(),d("span",{class:"admin-active-chip",key:s?.key},[n("span",t4,c(s?.label),1),n("span",null,c(s?.value),1),n("button",{type:"button",onClick:a=>e.clearFilter(s.key),"aria-label":"Clear filter"},[...t[29]||(t[29]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-close"})],-1)])],8,n4)]))),128))])])):f("v-if",!0)])),[[i,e.viewState]]),e.selectedCount()>0?(l(),d("div",o4,[n("span",null,[n("strong",null,c(e.selectedCount()),1),t[30]||(t[30]=v(" selected",-1))]),n("button",{class:"btn btn-sm text-danger",type:"button",onClick:t[7]||(t[7]=s=>e.bulkBan())},[...t[31]||(t[31]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-ban"})],-1),v(" Ban",-1)])]),n("button",{class:"btn btn-sm",type:"button",onClick:t[8]||(t[8]=s=>{e.selected={},e.allSelected=!1})},"Clear")])):f("v-if",!0),n("div",s4,[n("div",i4,[n("div",r4,[n("input",{type:"checkbox","aria-label":"Select all on page",onClick:t[9]||(t[9]=s=>e.selectAllOnPage()),checked:e.allSelected},null,8,a4)]),n("div",l4,[n("button",{type:"button",class:T(["sortable",{active:e.query?.sort=="username"}]),onClick:t[10]||(t[10]=s=>e.sortBy("username"))},[t[33]||(t[33]=v("User ",-1)),e.sortIcon("username")?(l(),d("svg",{key:0,class:T(["ui-icon sort-direction",{ascending:e.sortIcon("username")==="fa-arrow-up"}]),"aria-hidden":"true"},[...t[32]||(t[32]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)):f("v-if",!0)],2)]),t[36]||(t[36]=n("div",{role:"columnheader",class:"num",title:"Repositories discovered on the user's GitHub account"},"GitHub repos",-1)),n("div",d4,[n("button",{type:"button",class:T(["sortable",{active:e.query?.sort=="status"}]),onClick:t[11]||(t[11]=s=>e.sortBy("status"))},[t[35]||(t[35]=v("Status ",-1)),e.sortIcon("status")?(l(),d("svg",{key:0,class:T(["ui-icon sort-direction",{ascending:e.sortIcon("status")==="fa-arrow-up"}]),"aria-hidden":"true"},[...t[34]||(t[34]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)):f("v-if",!0)],2)]),t[37]||(t[37]=n("div",{role:"columnheader"},"Role",-1)),t[38]||(t[38]=n("div",{role:"columnheader","aria-label":"Actions"},null,-1))]),(l(!0),d(L,null,ie(e.filteredUsers,(s,r)=>(l(),d("div",{class:T(["paper-table-row admin-users-row",{"row-selected":e.selected[s?.username]}]),role:"row"},[n("div",u4,[O(n("input",c4,null,512),[[o,{state:e.viewState,set:a=>{e.selected[s.username]=a},value:e.selected[s?.username],form:null,options:{}}]])]),n("div",p4,[s?.photo?(l(),d("img",{key:0,width:"28",height:"28",class:"rounded-circle",style:{"flex-shrink":"0"},src:e.safeUrl(s?.photo)},null,8,f4)):(l(),d("span",h4,c((s?.username||"?").charAt(0).toUpperCase()),1)),n("div",m4,[n("span",g4,[n("a",{class:"repo-name",textContent:c(s?.username),href:e.safeUrl("/admin/users/"+s?.username)},null,8,v4),n("a",{class:"user-gh-link",target:"_blank",rel:"noopener",href:e.safeUrl("https://github.com/"+s?.username),title:s?.username+" on GitHub","aria-label":s?.username+" on GitHub"},[...t[39]||(t[39]=[n("i",{class:"fab fa-github","aria-hidden":"true"},null,-1)])],8,y4)]),n("div",b4,[s?.emails?.[0]?.email?(l(),d("span",{key:0,class:"meta-email meta-tail",title:s?.emails?.[0]?.email},c(s?.emails?.[0]?.email),9,w4)):f("v-if",!0),s?.dateOfEntry?(l(),d("span",k4,"Joined "+c(e.fmt?.humanTime(s?.dateOfEntry)),1)):f("v-if",!0)])])]),n("div",C4,[t[40]||(t[40]=n("svg",{class:"ui-icon mobile-meta-icon","aria-hidden":"true"},[n("use",{href:"#project-type-repo"})],-1)),n("a",{title:s?.repoCount?"Show this user\u2019s repositories":"Repositories not synced yet",textContent:c(s?.repoCount?e.fmt?.number(s.repoCount):"Not synced"),class:T({"is-unsynced":!s?.repoCount}),href:e.safeUrl("/admin/repositories?owner="+s?.username)},null,10,E4)]),n("div",S4,[n("span",{class:T(["status-dot","st-"+(s?.status||"unknown")])},null,2),n("span",{textContent:c(e.fmt?.title(s?.status))},null,8,N4)]),n("div",R4,[s?.isAdmin?(l(),d("span",D4,"Admin")):f("v-if",!0),s?.isAdmin?f("v-if",!0):(l(),d("span",A4,"\u2014"))]),n("div",T4,[n("div",P4,[t[46]||(t[46]=n("button",{class:"btn btn-icon-dots",type:"button","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false","aria-label":"Actions"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-more"})])],-1)),n("div",O4,[n("a",{class:"dropdown-item",href:e.safeUrl("/admin/users/"+s?.username)},[...t[41]||(t[41]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-eye"})],-1),v(" View details",-1)])],8,I4),n("a",{class:"dropdown-item",href:e.safeUrl("/admin/repositories?owner="+s?.username)},[...t[42]||(t[42]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-type-repo"})],-1),v(" View repositories",-1)])],8,M4),t[45]||(t[45]=n("div",{class:"dropdown-divider"},null,-1)),O(n("a",{class:"dropdown-item text-danger",href:"#",onClick:de(a=>e.banUser(s),["prevent"])},[...t[43]||(t[43]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-ban"})],-1),v(" Ban",-1)])],8,_4),[[ee,s?.status=="active"]]),O(n("a",{class:"dropdown-item",href:"#",onClick:de(a=>e.activateUser(s),["prevent"])},[...t[44]||(t[44]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-check-circle"})],-1),v(" Activate",-1)])],8,V4),[[ee,s?.status=="removed"||s?.status=="banned"]])])])])],2))),256)),e.filteredUsers?.length==0?(l(),d("div",q4,[...t[47]||(t[47]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-inbox"})],-1),n("span",null,"No users match the current filters.",-1)])])):f("v-if",!0)]),n("div",$4,[t[52]||(t[52]=n("span",{"aria-hidden":"true"},null,-1)),e.totalPage>1?(l(),d("div",L4,[n("button",{class:"btn btn-sm",onClick:t[12]||(t[12]=s=>e.query.page=Math.max(1,e.query.page-1)),disabled:e.query?.page<=1},[...t[48]||(t[48]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-chevron-left"})],-1),v(" Previous",-1)])],8,U4),O(n("input",{type:"number",class:"form-control form-control-sm",min:"1",style:{width:"56px"},max:e.totalPage},null,8,F4),[[o,{state:e.viewState,set:s=>{e.query.page=s},value:e.query?.page,form:null,options:{}}]]),n("span",null,"of "+c(e.totalPage),1),n("button",{class:"btn btn-sm",onClick:t[13]||(t[13]=s=>e.query.page=Math.min(e.totalPage,e.query.page+1)),disabled:e.query?.page>=e.totalPage},[...t[49]||(t[49]=[v("Next ",-1),n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-chevron-right"})],-1)])],8,B4)])):f("v-if",!0),n("span",z4,[t[51]||(t[51]=n("label",null,"Per page",-1)),O((l(),d("select",H4,[...t[50]||(t[50]=[n("option",{value:"10"},"10",-1),n("option",{value:"25"},"25",-1),n("option",{value:"50"},"50",-1),n("option",{value:"100"},"100",-1)])])),[[o,{state:e.viewState,set:s=>{e.query.limit=s},value:e.query?.limit,form:null,options:{}}]])])])])}var j4={class:"anonymize-landing"},G4={class:"anonymize-landing-inner"},W4={class:"form-group mt-4 mb-2"},K4={class:"source-url-label-row"},Y4={key:0,class:"repo-access","aria-label":"GitHub access"},X4={key:0,class:"repo-access-switch",role:"group","aria-label":"Repository connection"},Q4=["aria-pressed","disabled"],J4=["aria-pressed","disabled"],Z4={key:1,class:"connection-badge"},x4={class:"landing-url-row"},eA={id:"sourceUrl-landing",onblur:"this.scrollLeft=0",type:"text",class:"form-control form-control-lg",placeholder:"https://github.com/owner/repository"},tA=["aria-disabled"],nA={key:0,class:"text-danger",role:"alert"},oA={class:"repo-picker","aria-labelledby":"repo-picker-title"},sA={class:"repo-picker-head"},iA={class:"repo-picker-title"},rA={key:0,class:"repo-picker-count","aria-live":"polite"},aA={key:0,class:"repo-picker-list","aria-busy":"true","aria-label":"Loading your repositories"},lA={class:"repo-picker-row is-skeleton","aria-hidden":"true"},dA={key:1,class:"repo-picker-list"},uA=["title"],cA={class:"repo-picker-owner"},pA={class:"repo-picker-repo"},fA=["onClick","aria-label"],hA={key:2,class:"repo-picker-state"},mA={key:3,class:"repo-picker-state"},gA={key:4,class:"repo-picker-state",role:"alert"},vA={key:5,class:"repo-access-details","aria-label":"GitHub access"},yA={class:"repo-access-main"},bA={class:"repo-access-controls"},wA={key:0,class:"access-q"},kA={key:2,class:"connection-link",href:"/connections"},CA={class:"repo-access-note"},EA={key:0},SA={class:"anonymize-workspace"},NA={class:"anonymize-topbar"},RA={class:"anonymize-topbar-inner"},DA={class:"paper-crumbs"},AA={class:"here"},TA={class:"anonymize-topbar-head"},PA={class:"paper-page-title anonymize-topbar-title"},OA={key:0},IA={key:1},MA={class:"paper-page-lede anonymize-topbar-lede"},_A={key:0,class:"task-trail flow-trail","aria-label":"Anonymization steps"},VA={key:0,class:"alert alert-info",role:"status"},qA={key:1,class:"alert alert-info",role:"status"},$A={key:1},LA={class:"anonymize-mobile-tabs",role:"tablist","aria-label":"Anonymization workspace"},UA=["aria-selected","tabindex"],FA=["aria-selected","tabindex"],BA={class:"anonymize-split"},zA=["role","aria-labelledby"],HA={class:"form needs-validation paper-settings-main",name:"anonymize",novalidate:""},jA={class:"anonymize-fields"},GA={class:"paper-settings-section"},WA={class:"form-group"},KA={class:"source-url-label-row"},YA={key:0,class:"repo-access","aria-label":"GitHub access"},XA={key:0,class:"repo-access-switch",role:"group","aria-label":"Repository connection"},QA=["aria-pressed","disabled"],JA=["aria-pressed","disabled"],ZA={key:1,class:"connection-badge"},xA=["disabled"],eT={key:0,class:"source-summary"},tT={class:"invalid-feedback"},nT={class:"invalid-feedback"},oT={class:"invalid-feedback"},sT={class:"invalid-feedback"},iT={key:0,class:"repo-access-details","aria-label":"Previous repository configuration"},rT={key:0,class:"form-group"},aT=["value"],lT={key:1},dT={class:"repo-access-controls"},uT=["href"],cT={key:1,class:"repo-access-details","aria-label":"GitHub access"},pT={class:"repo-access-main"},fT={class:"repo-access-controls"},hT={key:0,class:"access-q"},mT={key:2,class:"connection-link",href:"/connections"},gT={class:"repo-access-note"},vT={key:0},yT={key:1},bT=["open"],wT={key:0,class:"repair-step"},kT=["disabled"],CT={key:0,role:"status"},ET={class:"repair-step"},ST={key:0,role:"status"},NT={key:3,class:"form-grid-2"},RT={class:"form-group"},DT={class:"input-group"},AT={class:"form-control",id:"branch",name:"branch"},TT=["textContent","value"],PT={class:"input-group-append"},OT={class:"form-group"},IT=["disabled"],MT={class:"invalid-feedback"},_T={class:"invalid-feedback"},VT={class:"form-check-input",type:"checkbox",id:"update",name:"update","aria-describedby":"update-help"},qT={class:"form-check-label",for:"update"},$T={key:0,class:"paid-tag"},LT={key:0,class:"form-text text-muted",id:"update-help"},UT={key:1,class:"form-text text-muted auto-update-paid",id:"update-help"},FT={class:"paper-settings-section"},BT={class:"form-group"},zT=["disabled"],HT={class:"form-text text-muted anon-url-echo"},jT={class:"anon-url-id"},GT={class:"invalid-feedback"},WT={class:"form-group"},KT=["disabled"],YT={class:"form-text text-muted anon-url-echo"},XT={class:"anon-url-id"},QT={class:"invalid-feedback"},JT={class:"form-group"},ZT=["disabled"],xT={class:"form-text text-muted anon-url-echo"},eP={class:"anon-url-id"},tP={class:"invalid-feedback"},nP={class:"form-group"},oP=["rows"],sP={class:"redaction-syntax"},iP={class:"form-text text-muted"},rP=["onClick"],aP={key:0,class:"term-hint-more"},lP={class:"invalid-feedback"},dP={class:"preserve-row"},uP={class:"preserve-row-text"},cP={class:"preserve-row-value"},pP=["disabled"],fP={class:"preserve-tree"},hP={key:0,class:"preserve-status"},mP={key:1,class:"paper-inline-alert paper-inline-alert-error",role:"alert"},gP=["aria-expanded","aria-label","onClick"],vP={key:1,class:"preserve-caret-space"},yP=["id","aria-label","checked",".indeterminate","disabled","onChange"],bP=["for","onClick"],wP={key:2,class:"preserve-note"},kP={key:0,class:"preserve-status"},CP={key:0,class:"preserve-status"},EP=["open"],SP={class:"preserve-foot"},NP={class:"preserve-count","aria-live":"polite"},RP={class:"preserve-actions"},DP={class:"paper-settings-section"},AP={class:"form-check"},TP={class:"form-check-input",type:"checkbox",id:"link",name:"link"},PP={class:"form-check"},OP={class:"form-check-input",type:"checkbox",id:"image",name:"image"},IP={class:"form-check"},MP={class:"form-check-input",type:"checkbox",id:"pdf",name:"pdf"},_P={class:"form-check"},VP={class:"form-check-input",type:"checkbox",id:"notebook",name:"notebook"},qP={class:"form-check"},$P=["disabled"],LP={key:0,class:"form-text text-muted"},UP={key:1,class:"form-text text-muted"},FP={key:0,class:"form-text text-muted"},BP={class:"form-check"},zP={class:"form-check-input",type:"checkbox",id:"title-gist",name:"title-gist"},HP={class:"form-check"},jP={class:"form-check-input",type:"checkbox",id:"content-gist",name:"content-gist"},GP={class:"form-check"},WP={class:"form-check-input",type:"checkbox",id:"comments-gist",name:"comments-gist"},KP={class:"form-check"},YP={class:"form-check-input",type:"checkbox",id:"username-gist",name:"username-gist"},XP={class:"form-check"},QP={class:"form-check-input",type:"checkbox",id:"date-gist",name:"date-gist"},JP={class:"form-check"},ZP={class:"form-check-input",type:"checkbox",id:"origin-gist",name:"origin-gist"},xP={class:"form-check"},e3={class:"form-check-input",type:"checkbox",id:"title",name:"title"},t3={class:"form-check"},n3={class:"form-check-input",type:"checkbox",id:"body",name:"body"},o3={class:"form-check"},s3={class:"form-check-input",type:"checkbox",id:"diff",name:"diff"},i3={class:"form-check"},r3={class:"form-check-input",type:"checkbox",id:"comments",name:"comments"},a3={class:"form-check"},l3={class:"form-check-input",type:"checkbox",id:"username",name:"username"},d3={class:"form-check"},u3={class:"form-check-input",type:"checkbox",id:"date",name:"date"},c3={class:"form-check"},p3={class:"form-check-input",type:"checkbox",id:"origin",name:"origin"},f3={class:"paper-settings-section hosting-settings",id:"repository-hosting","aria-labelledby":"hosting-heading"},h3={class:"form-group conference-field"},m3=["href"],g3={class:"invalid-feedback"},v3={class:"form-text text-muted"},y3={key:0,class:"hosting-usage"},b3={key:0},w3={key:1},k3={key:2},C3={key:1,class:"hosting-limit auto-update-note",role:"status"},E3={key:2,class:"hosting-payment"},S3={key:0,class:"hosting-limit",role:"status"},N3={key:1,class:"hosting-options"},R3={class:"hosting-options-title"},D3=["value","checked","onChange"],A3={class:"hosting-option-body"},T3={key:0,class:"hosting-cycle billing-toggle",role:"radiogroup","aria-label":"Billing frequency"},P3=["aria-checked","onClick"],O3={key:0,class:"billing-toggle-save"},I3={class:"hosting-option-price"},M3={key:2,role:"status"},_3={key:3,class:"hosting-terms"},V3={key:4,class:"hosting-terms"},q3={key:5,class:"capacity-options"},$3=["disabled"],L3={key:3,class:"hosting-subhead"},U3={class:"expiration-choices"},F3={class:"expiration-choice"},B3=["checked","disabled"],z3={key:0,class:"dated-options"},H3={key:0,class:"hosting-date"},j3=["min","max"],G3={key:0,class:"date-echo","aria-live":"polite"},W3={class:"invalid-feedback"},K3={class:"invalid-feedback"},Y3={class:"hosting-property"},X3={key:1,class:"expiration-choice"},Q3=["checked","disabled"],J3={key:0},Z3={key:4,class:"form-text text-muted"},x3={key:5,class:"inline-hosting"},eO={key:0,role:"alert",class:"text-danger"},tO={key:1,role:"alert",class:"text-danger"},nO=["disabled"],oO={key:2,role:"status"},sO={key:3,role:"status",class:"form-text text-muted"},iO={key:4,class:"hosting-terms"},rO={key:5,class:"hosting-terms"},aO={key:6,class:"repository-pass"},lO=["disabled","onClick"],dO={class:"paper-settings-section"},uO={class:"form-group"},cO={style:{position:"relative"}},pO={type:"text",id:"coauthorSearch",class:"form-control",placeholder:"Search GitHub username\u2026",autocomplete:"off"},fO={class:"dropdown-menu show",style:{display:"block","max-height":"220px","overflow-y":"auto",width:"100%"}},hO=["onClick"],mO=["src"],gO=["textContent"],vO=["textContent"],yO={class:"coauthor-list"},bO={class:"coauthor-row d-flex align-items-center",style:{padding:"6px 0",gap:"8px"}},wO=["src"],kO=["textContent","href"],CO=["onClick"],EO={class:"form-text text-muted"},SO=["textContent"],NO={class:"anonymize-submit-bar"},RO=["disabled"],DO=["disabled"],AO=["disabled"],TO=["disabled"],PO=["disabled"],OO=["disabled"],IO={key:5,class:"submit-reason",role:"status"},MO={key:6,class:"submit-reason",role:"status"},_O={key:7,class:"checkout-return-note"},VO={key:8,class:"draft-status",role:"status"},qO={key:9,class:"draft-status"},$O=["role","aria-labelledby"],LO={class:"rp-caption"},UO=["title"],FO={class:"redact-slot","aria-hidden":"true"},BO={key:1,class:"rp-count rp-count-none"},zO={key:2,class:"rp-count rp-count-none"},HO=["href"],jO=["aria-pressed"],GO={class:"rp-open-icon",viewBox:"0 0 16 16","aria-hidden":"true"},WO={key:0,d:"M9.5 2.5h4v4M13.5 2.5 9 7M6.5 13.5h-4v-4M2.5 13.5 7 9"},KO={key:1,d:"M13.5 6.5h-4v-4M9.5 6.5 14 2M2.5 9.5h4v4M6.5 9.5 2 14"},YO={class:"rp-window"},XO={class:"rp-chrome","aria-hidden":"true"},QO={class:"rp-url"},JO={class:"rp-bar","aria-hidden":"true"},ZO={key:0,class:"rp-bar-id"},xO={key:1,class:"rp-bar-kind"},eI={key:0,class:"rp-side","aria-label":"Files reviewers will see"},tI={key:0,class:"files rp-files"},nI=["aria-expanded","title","onClick","onKeydown"],oI={class:"tree-name"},sI=["title","aria-current"],iI={class:"tree-name"},rI={key:1,class:"rp-files-skel","aria-label":"Loading the file list"},aI={key:0,class:"files rp-files"},lI={class:"rp-doc"},dI={key:0,class:"rp-file-head"},uI={class:"rp-files-btn","aria-hidden":"true"},cI={key:0,class:"rp-files-count"},pI={key:1,class:"rp-state rp-loading",role:"status"},fI={class:"rp-state-text"},hI={class:"rp-state rp-error",role:"alert"},mI={class:"rp-state-actions"},gI={key:1,class:"btn btn-outline-ink btn-sm",href:"/connections"},vI={key:3,class:"rp-state rp-error",role:"alert"},yI={class:"rp-state-actions"},bI={class:"rp-state rp-error",role:"alert"},wI={class:"rp-state-actions"},kI={key:5,class:"rp-state rp-empty"},CI=["innerHTML"],EI={key:7,class:"anonymize-preview-body"},SI={class:"d-flex w-100 justify-content-between align-items-center flex-wrap"},NI={class:"pr-title mb-1"},RI={key:0},DI=["textContent"],AI={key:0},TI={key:1},PI={key:2},OI={class:"pr-comments mt-3"},II={class:"pr-comment"},MI={class:"pr-comment-head"},_I=["textContent"],VI={key:0,class:"pr-comment-date"},qI={key:3},$I={class:"pr-comments"},LI={class:"pr-comment"},UI={class:"pr-comment-head"},FI={key:0,class:"pr-comment-author"},BI=["textContent"],zI=["textContent"],HI={key:0,class:"pr-comment-body"},jI={key:8,class:"anonymize-preview-body"},GI={class:"d-flex w-100 justify-content-between align-items-center flex-wrap"},WI={class:"pr-title mb-1"},KI={key:0},YI=["textContent"],XI={key:0},QI={key:1,class:"pr-body"},JI={key:2,class:"paper-tabs",role:"tablist"},ZI=["aria-selected","tabindex"],xI=["aria-selected","tabindex"],e5=["textContent"],t5={key:3,class:"anonymize-preview-status"},n5={class:"paper-tab-content"},o5={key:0,role:"tabpanel",id:"preview-pr-diff-panel","aria-labelledby":"preview-pr-diff-tab"},s5=["innerHTML"],i5={key:1,role:"tabpanel",id:"preview-pr-comments-panel","aria-labelledby":"preview-pr-comments-tab"},r5={class:"pr-comments"},a5={class:"pr-comment"},l5={class:"pr-comment-head"},d5={key:0,class:"pr-comment-author"},u5=["textContent"],c5=["textContent"],p5={key:0,class:"pr-comment-body"},f5={key:9,class:"rp-more"},h5=["href"],m5={key:2,class:"rp-more-btn is-hint","aria-hidden":"true"};function Hc(e,t){let o=Xe("gist-file"),i=Xe("markdown"),s=Ae("field"),r=Ae("form");return l(),d("div",{class:T(["anonymize-page h-100",{"mobile-preview-active":e.mobilePane==="preview","preview-expanded":e.previewExpanded}])},[f(" ===== STATE 1: No URL \u2014 centered input ===== "),O(n("div",j4,[n("div",G4,[t[63]||(t[63]=Se('
My work \xA0/\xA0 New anonymization

New anonymization

Paste a repository, pull request, or gist URL, or pick one of your repositories. You\u2019ll choose the terms to redact next.

  1. 1. Repository
  2. 2. Review and hosting
  3. 3. Review link
',2)),n("div",W4,[n("div",K4,[t[54]||(t[54]=n("label",{class:"paper-field-label",for:"sourceUrl-landing"},"Source URL",-1)),!e.sourceUrl&&e.githubConnections?.appEnabled&&e.githubConnections.appConnected&&e.githubConnections.oauthConnected?(l(),d("aside",Y4,[!e.isUpdate&&e.detectedType!=="gist"?(l(),d("div",X4,[n("button",{type:"button","aria-pressed":e.githubConnection==="github-app",disabled:e.githubConnection==="github-app",onClick:t[0]||(t[0]=a=>e.chooseGitHubConnection("github-app"))},[...t[53]||(t[53]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-shield"})],-1),v(),n("span",{class:"sr-only"},"Read-only ",-1),v("GitHub App",-1)])],8,Q4),n("button",{type:"button","aria-pressed":e.githubConnection==="oauth",disabled:e.githubConnection==="oauth",onClick:t[1]||(t[1]=a=>e.chooseGitHubConnection("oauth"))},"Legacy OAuth",8,J4)])):f("v-if",!0),e.isUpdate||e.detectedType==="gist"?(l(),d("span",Z4,c((e.detectedType==="gist"?e.githubConnections?.gistConnection==="github-app":e.githubConnection==="github-app")?"Read-only GitHub App":"Legacy OAuth"),1)):f("v-if",!0)])):f("v-if",!0)]),n("div",x4,[O(n("input",eA,null,512),[[s,{state:e.viewState,set:a=>{e.sourceUrl=a},value:e.sourceUrl,form:null,options:{debounce:{default:1e3,blur:0,click:0},updateOn:"default blur click"},change:()=>{e.urlSelected()}}]]),n("button",{type:"button",class:"btn btn-primary landing-continue","aria-disabled":e.sourceUrl?.trim()?null:"true",onClick:t[2]||(t[2]=a=>e.sourceUrl?.trim()&&e.urlSelected())},"Continue",8,tA)])]),e.sourceUrlError?(l(),d("p",nA,c(e.sourceUrlError),1)):f("v-if",!0),t[64]||(t[64]=n("small",{class:"form-text landing-help",style:{color:"var(--ink-muted)"}}," Repository, pull request (\u2026/pull/42) and gist (gist.github.com/\u2026) URLs are all accepted. ",-1)),n("section",oA,[n("div",sA,[n("div",iA,[t[56]||(t[56]=n("h2",{id:"repo-picker-title"},"Your repositories",-1)),e.userReposStatus==="ready"&&e.userRepos.length>0?(l(),d("span",rA,[e.userRepoFilter&&e.filteredUserRepos().length!==e.userRepos.length?(l(),d(L,{key:0},[v(c(e.filteredUserRepos().length)+" of ",1)],64)):f("v-if",!0),v(c(e.userRepos.length)+" "+c(e.userRepos.length===1?"repository":"repositories"),1),t[55]||(t[55]=n("span",{class:"repo-picker-more"},[n("span",{class:"repo-picker-more-sep"}," \xB7 "),v("scroll for more")],-1))])):f("v-if",!0)]),e.userReposStatus==="ready"&&e.userRepos.length>0?O((l(),d("input",{key:0,type:"search",class:"form-control repo-picker-filter",placeholder:"Filter\u2026","aria-label":"Filter your repositories",autocomplete:"off","onUpdate:modelValue":t[3]||(t[3]=a=>e.userRepoFilter=a)},null,512)),[[lt,e.userRepoFilter]]):f("v-if",!0)]),e.userReposStatus==="loading"||e.userReposStatus==="idle"?(l(),d("ul",aA,[(l(),d(L,null,ie([1,2,3,4],(a,u)=>n("li",lA,[n("span",{class:"skeleton skeleton-line",style:Ve({width:34+a*9+"%"})},null,4)])),64))])):f("v-if",!0),e.userReposStatus==="ready"&&e.filteredUserRepos().length>0?(l(),d("ul",dA,[(l(!0),d(L,null,ie(e.filteredUserRepos(),(a,u)=>(l(),d("li",{key:a.id||a.fullName,class:"repo-picker-row"},[t[58]||(t[58]=n("svg",{class:"project-type-svg","aria-hidden":"true"},[n("use",{href:"#project-type-repo"})],-1)),n("span",{class:"repo-picker-name",title:a.fullName},[n("span",cA,[v(c(a.fullName.split("/")[0]),1),t[57]||(t[57]=n("span",{class:"repo-picker-slash"},"/",-1))]),n("span",pA,c(a.fullName.split("/").slice(1).join("/")),1)],8,uA),n("button",{type:"button",class:"btn btn-outline-ink btn-sm repo-picker-select",onClick:p=>e.selectUserRepo(a),"aria-label":"Select "+a.fullName},"Select",8,fA)]))),128))])):f("v-if",!0),e.userReposStatus==="ready"&&e.userRepos.length>0&&e.filteredUserRepos().length===0?(l(),d("p",hA,"No repository matches \u201C"+c(e.userRepoFilter)+"\u201D.",1)):f("v-if",!0),e.userReposStatus==="ready"&&e.userRepos.length===0?(l(),d("p",mA,"No repositories found for your GitHub account. Paste a URL above, or grant access below.")):f("v-if",!0),e.userReposStatus==="error"?(l(),d("p",gA,[t[59]||(t[59]=v("Your repositories could not be loaded. ",-1)),n("button",{type:"button",class:"task-text-button",onClick:t[4]||(t[4]=a=>e.loadUserRepos(!0))},"Try again")])):f("v-if",!0),!e.sourceUrl&&e.githubConnections?.appEnabled&&e.githubConnections.appConnected?(l(),d("aside",vA,[n("div",yA,[n("div",bA,[e.detectedType!=="gist"&&e.githubConnection!=="oauth"?(l(),d("span",wA,"Repository not listed?")):f("v-if",!0),e.detectedType!=="gist"&&e.githubConnection!=="oauth"?(l(),d("button",{key:1,type:"button",class:"btn btn-outline-ink",onClick:t[5]||(t[5]=a=>e.grantGitHubAccess())},[...t[60]||(t[60]=[v("Manage GitHub access ",-1),n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-external-link"})],-1)])])):f("v-if",!0),e.isUpdate||e.detectedType==="gist"||e.githubConnection==="oauth"?(l(),d("a",kA,[...t[61]||(t[61]=[v("Manage GitHub access ",-1),n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-external-link"})],-1)])])):f("v-if",!0)])]),n("div",CA,[e.error&&e.detectedType!=="gist"&&e.githubConnection==="github-app"?(l(),d("span",EA,"Signing in does not grant access to private repositories. Use Manage GitHub access to select this repository, then return here. Organization access may require administrator approval.")):f("v-if",!0),t[62]||(t[62]=n("span",null,[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-info"})]),v(" Anonymized content is public, even from private repositories.")],-1))])])):f("v-if",!0)])])],512),[[ee,!e.workspaceOpen&&!e.isUpdate]]),f(" ===== STATE 2: URL provided \u2014 form (left) + preview (right) ===== "),O(n("div",SA,[n("header",NA,[n("div",RA,[n("div",DA,[t[65]||(t[65]=n("a",{href:"/dashboard"},"My work",-1)),t[66]||(t[66]=v(" \xA0/\xA0 ",-1)),n("span",AA,c(e.isUpdate?"Edit anonymization":"New anonymization"),1)]),n("div",TA,[n("h1",PA,[e.isUpdate?f("v-if",!0):(l(),d("span",OA,"New anonymization")),e.isUpdate?(l(),d("span",IA,"Edit anonymization")):f("v-if",!0)]),O(n("span",{class:T(["type-badge",{"type-repo":e.detectedType==="repo","type-pr":e.detectedType==="pr","type-gist":e.detectedType==="gist"}])},c(e.detectedType==="repo"?"Repository":e.detectedType==="pr"?"Pull request":"Gist"),3),[[ee,e.detectedType]])]),n("p",MA,c(e.isUpdate?"Changes apply to the existing anonymous link; reviewers keep the same URL.":"Choose the terms to redact, what reviewers see, and when the link expires."),1),e.isUpdate?f("v-if",!0):(l(),d("ol",_A,[...t[67]||(t[67]=[n("li",null,"1. Repository",-1),n("li",{"aria-current":"step"},"2. Review and hosting",-1),n("li",null,"3. Review link",-1)])]))])]),e.detectedType==="gist"&&e.gistAppRequired?(l(),d("aside",VA,[t[68]||(t[68]=n("p",null,"Reconnect your GitHub account to read this gist. Your draft will be restored when you return.",-1)),n("button",{type:"button",class:"btn btn-ink",onClick:t[6]||(t[6]=a=>e.connectGistApp())},"Connect GitHub App to access gists")])):f("v-if",!0),e.detectedType==="gist"&&e.gistOAuthRequired?(l(),d("aside",qA,[t[69]||(t[69]=n("p",null,"Connect GitHub OAuth to access gists. Your account and existing anonymizations stay the same, and your draft will be restored when you return.",-1)),t[70]||(t[70]=n("p",null,"GitHub's legacy OAuth connection includes write access to private repositories.",-1)),e.githubConnections?.oauthEnabled?(l(),d("button",{key:0,type:"button",class:"btn btn-ink",onClick:t[7]||(t[7]=a=>e.connectGistOAuth())},"Connect GitHub OAuth to access gists")):(l(),d("p",$A,"GitHub OAuth is currently unavailable. Please try again later."))])):f("v-if",!0),n("nav",LA,[n("button",{id:"workspace-settings-tab",role:"tab",type:"button","aria-selected":e.mobilePane==="settings","aria-controls":"workspace-settings",tabindex:e.mobilePane==="settings"?0:-1,onKeydown:t[8]||(t[8]=a=>e.previewTabKeydown(a)),onClick:t[9]||(t[9]=a=>e.selectMobilePane("settings"))},[...t[71]||(t[71]=[n("span",{class:"tab-label"},"Settings",-1)])],40,UA),n("button",{id:"workspace-preview-tab",role:"tab",type:"button","aria-selected":e.mobilePane==="preview","aria-controls":"workspace-preview",tabindex:e.mobilePane==="preview"?0:-1,onKeydown:t[10]||(t[10]=a=>e.previewTabKeydown(a)),onClick:t[11]||(t[11]=a=>e.selectMobilePane("preview"))},[...t[72]||(t[72]=[n("span",{class:"tab-label"},"Reviewer preview",-1)])],40,FA)]),n("div",BA,[f(" Form column (left) "),n("div",{id:"workspace-settings",role:e.mobileWorkspace?"tabpanel":null,"aria-labelledby":e.mobileWorkspace?"workspace-settings-tab":null,class:"anonymize-form-col overflow-auto"},[O((l(),d("form",HA,[n("div",jA,[n("section",GA,[t[92]||(t[92]=n("h2",{class:"paper-section-eyebrow"},"Source & access",-1)),n("div",WA,[n("div",KA,[t[74]||(t[74]=n("label",{class:"paper-field-label",for:"sourceUrl"},"Source URL",-1)),e.sourceUrl&&e.githubConnections?.appEnabled&&e.githubConnections.appConnected&&e.githubConnections.oauthConnected?(l(),d("aside",YA,[!e.isUpdate&&e.detectedType!=="gist"?(l(),d("div",XA,[n("button",{type:"button","aria-pressed":e.githubConnection==="github-app",disabled:e.githubConnection==="github-app",onClick:t[12]||(t[12]=a=>e.chooseGitHubConnection("github-app"))},[...t[73]||(t[73]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-shield"})],-1),v(),n("span",{class:"sr-only"},"Read-only ",-1),v("GitHub App",-1)])],8,QA),n("button",{type:"button","aria-pressed":e.githubConnection==="oauth",disabled:e.githubConnection==="oauth",onClick:t[13]||(t[13]=a=>e.chooseGitHubConnection("oauth"))},"Legacy OAuth",8,JA)])):f("v-if",!0),e.isUpdate||e.detectedType==="gist"?(l(),d("span",ZA,c((e.detectedType==="gist"?e.githubConnections?.gistConnection==="github-app":e.githubConnection==="github-app")?"Read-only GitHub App":"Legacy OAuth"),1)):f("v-if",!0)])):f("v-if",!0)]),O(n("input",{type:"text",class:T(["form-control",{"is-invalid":e.anonymize?.sourceUrl?.invalid}]),name:"sourceUrl",id:"sourceUrl",onblur:"this.scrollLeft=0",disabled:e.isUpdate&&e.detectedType!=="repo",placeholder:"Paste a GitHub repo or pull request URL"},null,10,xA),[[s,{state:e.viewState,set:a=>{e.sourceUrl=a},value:e.sourceUrl,form:"anonymize",options:{debounce:{default:1e3,blur:0,click:0},updateOn:"default blur click"},change:()=>{e.urlSelected()}}]]),e.sourceSummary()&&!e.anonymize?.sourceUrl?.invalid?(l(),d("p",eT,[t[75]||(t[75]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-check"})],-1)),v(c(e.sourceSummary()),1)])):f("v-if",!0),O(n("div",tT," Please provide a valid GitHub URL. ",512),[[ee,e.anonymize?.sourceUrl?.errors?.github]]),O(n("div",nT," Not accessible. The organization may restrict access. ",512),[[ee,e.anonymize?.sourceUrl?.errors?.access]]),O(n("div",oT," Does not exist or is not accessible. ",512),[[ee,e.anonymize?.sourceUrl?.errors?.missing]]),O(n("div",sT," Already anonymized. ",512),[[ee,e.anonymize?.sourceUrl?.errors?.used]])]),!e.isUpdate&&e.previousConfigurations.length?(l(),d("aside",iT,[t[77]||(t[77]=n("p",{role:"status"},"You have already anonymized this repository. Use the existing configuration to keep its anonymous link and avoid creating another repository.",-1)),e.previousConfigurations.length>1?(l(),d("div",rT,[t[76]||(t[76]=n("label",{class:"paper-field-label",for:"previousConfiguration"},"Previous anonymization",-1)),O(n("select",{id:"previousConfiguration",class:"form-control","onUpdate:modelValue":t[14]||(t[14]=a=>e.previousConfigurationId=a)},[(l(!0),d(L,null,ie(e.previousConfigurations,a=>(l(),d("option",{key:a.repoId,value:a.repoId},c(a.repoId),9,aT))),128))],512),[[cn,e.previousConfigurationId]])])):(l(),d("p",lT,c(e.previousConfigurationId),1)),t[78]||(t[78]=n("p",null,"You can review and update its settings before saving.",-1)),n("div",dT,[n("a",{class:"btn btn-ink",href:e.existingConfigurationUrl()},"Use existing configuration",8,uT),n("button",{type:"button",class:"btn btn-outline-ink",onClick:t[15]||(t[15]=a=>e.previousConfigurations=[])},"Create a separate one")])])):f("v-if",!0),e.sourceUrl&&e.githubConnections?.appEnabled&&e.githubConnections.appConnected?(l(),d("aside",cT,[n("div",pT,[n("div",fT,[e.detectedType!=="gist"&&e.githubConnection!=="oauth"&&!e.details?(l(),d("span",hT,"Repository not listed?")):f("v-if",!0),e.detectedType!=="gist"&&e.githubConnection!=="oauth"&&!e.details?(l(),d("button",{key:1,type:"button",class:"btn btn-outline-ink",onClick:t[16]||(t[16]=a=>e.grantGitHubAccess())},[...t[79]||(t[79]=[v("Manage GitHub access ",-1),n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-external-link"})],-1)])])):f("v-if",!0),e.isUpdate||e.detectedType==="gist"||e.githubConnection==="oauth"?(l(),d("a",mT,[...t[80]||(t[80]=[v("Manage GitHub access ",-1),n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-external-link"})],-1)])])):f("v-if",!0)])]),n("div",gT,[e.error&&e.detectedType!=="gist"&&e.githubConnection==="github-app"?(l(),d("span",vT,"Signing in does not grant access to private repositories. Use Manage GitHub access to select this repository, then return here. Organization access may require administrator approval.")):f("v-if",!0),e.detectedType!=="gist"&&e.githubConnection!=="oauth"&&!e.details?(l(),d("span",yT,"Select repositories on GitHub, then return here.")):f("v-if",!0),t[81]||(t[81]=n("span",null,[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-info"})]),v(" Selected content will be published, including content from private repositories.")],-1))])])):f("v-if",!0),e.isUpdate&&e.detectedType==="repo"&&e.role==="owner"&&e.sourceUrl==="https://github.com/"+e._originalFullName?(l(),d("details",{key:2,class:"repair-disclosure",open:!!(e.error||e.accessRepairMessage||e.reconnectRepositoryId)},[t[85]||(t[85]=n("summary",null,"Connection problems?",-1)),e.accessRepairAllowed&&e.githubConnections?.appEnabled&&e.githubConnection==="github-app"&&e.sourceUrl==="https://github.com/"+e._originalFullName?(l(),d("div",wT,[t[83]||(t[83]=n("p",null,"If this repository became private or its App installation changed, repair its access here. This keeps the same anonymous URL and published commit.",-1)),n("button",{type:"button",class:"btn btn-outline-ink",disabled:e.repairingGitHubAccess,onClick:t[17]||(t[17]=a=>e.repairGitHubAccess())},"Repair GitHub access",8,kT),n("button",{type:"button",class:"btn btn-outline-ink",onClick:t[18]||(t[18]=a=>e.grantGitHubAccess())},[...t[82]||(t[82]=[v("Manage GitHub access ",-1),n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-external-link"})],-1)])]),e.accessRepairMessage?(l(),d("p",CT,c(e.accessRepairMessage),1)):f("v-if",!0)])):f("v-if",!0),n("div",ET,[t[84]||(t[84]=n("p",null,"If you deleted and recreated this repository, reconnect it before choosing a branch.",-1)),n("button",{type:"button",class:"btn btn-outline-ink",onClick:t[19]||(t[19]=a=>e.reconnectSource())},"Reconnect source repository"),e.reconnectRepositoryId?(l(),d("p",ST,"Source reloaded. Review the branch, commit, and anonymization preview, then save to replace the published snapshot.")):f("v-if",!0)])],8,bT)):f("v-if",!0),e.detectedType==="repo"?(l(),d("div",NT,[n("div",RT,[t[87]||(t[87]=n("label",{class:"paper-field-label",for:"branch"},"Branch",-1)),n("div",DT,[O((l(),d("select",AT,[(l(!0),d(L,null,ie(e.branches,(a,u)=>(l(),d("option",{textContent:c(a?.name),value:a?.name},null,8,TT))),256))])),[[s,{state:e.viewState,set:a=>{e.source.branch=a},value:e.source?.branch,form:"anonymize",options:{}}]]),n("div",PT,[n("button",{class:"btn btn-icon refresh-branches",type:"button",title:"Refresh branches",onClick:t[20]||(t[20]=a=>e.getBranches(!0)),"aria-label":"Refresh branches"},[...t[86]||(t[86]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-refresh"})],-1)])])])])]),n("div",OT,[t[88]||(t[88]=n("label",{class:"paper-field-label",for:"commit"},"Commit",-1)),O(n("input",{class:T(["form-control",{"is-invalid":e.anonymize?.commit?.invalid}]),id:"commit",disabled:e.options.update,name:"commit",pattern:"[a-fA-Z0-9]{6,}",required:""},null,10,IT),[[s,{state:e.viewState,set:a=>{e.source.commit=a},value:e.source?.commit,form:"anonymize",options:{}}]]),O(n("div",MT," The commit SHA is not valid. ",512),[[ee,e.anonymize?.commit?.errors?.pattern||e.anonymize?.commit?.errors?.required]]),O(n("div",_T," This commit no longer exists in the repository. Click refresh to get the latest. ",512),[[ee,e.anonymize?.commit?.errors?.exists]])])])):f("v-if",!0),O(n("div",{class:T(["form-check auto-update-check",{"is-paid":!e.liveUpdatesIncluded()}])},[O(n("input",VT,null,512),[[s,{state:e.viewState,set:a=>{e.options.update=a},value:e.options?.update,form:"anonymize",options:{}}]]),n("label",qT,[t[89]||(t[89]=v("Auto-update from GitHub",-1)),e.liveUpdatesIncluded()?f("v-if",!0):(l(),d("span",$T,"Paid"))]),e.liveUpdatesIncluded()?(l(),d("small",LT,"Follows the latest version, at most once an hour.")):(l(),d("small",UT,[t[90]||(t[90]=v("Needs Live updates",-1)),e.liveUpdatesPrice()?(l(),d(L,{key:0},[v(" \xB7 "+c(e.liveUpdatesPrice()),1)],64)):f("v-if",!0),t[91]||(t[91]=v(", a Paper pack or an author subscription. ",-1)),n("a",{href:"#repository-hosting",onClick:t[21]||(t[21]=de(a=>e.showHostingOptions(),["prevent"]))},"Hosting options")]))],2),[[ee,e.detectedType]])]),O(n("section",FT,[t[126]||(t[126]=n("h2",{class:"paper-section-eyebrow"},"Anonymization",-1)),O(n("div",BT,[t[97]||(t[97]=n("label",{class:"paper-field-label",for:"repoId"},"Anonymized repository ID",-1)),O(n("input",{type:"text",class:T(["form-control",{"is-invalid":e.anonymize?.repoId?.invalid}]),name:"repoId",id:"repoId",disabled:e.isUpdate},null,10,zT),[[s,{state:e.viewState,set:a=>{e.repoId=a},value:e.repoId,form:"anonymize",options:{debounce:{default:1e3,blur:0,click:0},updateOn:"default blur click"}}]]),n("small",HT,[t[93]||(t[93]=v("anonymous.4open.science/",-1)),t[94]||(t[94]=n("wbr",null,null,-1)),t[95]||(t[95]=v("r/",-1)),t[96]||(t[96]=n("wbr",null,null,-1)),n("span",jT,c(e.repoId),1)]),O(n("div",GT,"ID can only contain letters and numbers.",512),[[ee,e.anonymize?.repoId?.errors?.format]]),O(n("div",{class:"invalid-feedback"},c(e.repoId)+" is already used.",513),[[ee,e.anonymize?.repoId?.errors?.used]])],512),[[ee,e.detectedType==="repo"]]),O(n("div",WT,[t[102]||(t[102]=n("label",{class:"paper-field-label",for:"pullRequestId"},"Anonymized pull request ID",-1)),O(n("input",{type:"text",class:T(["form-control",{"is-invalid":e.anonymize?.pullRequestId?.invalid}]),name:"pullRequestId",id:"pullRequestId",disabled:e.isUpdate},null,10,KT),[[s,{state:e.viewState,set:a=>{e.pullRequestId=a},value:e.pullRequestId,form:"anonymize",options:{debounce:{default:1e3,blur:0,click:0},updateOn:"default blur click"}}]]),n("small",YT,[t[98]||(t[98]=v("anonymous.4open.science/",-1)),t[99]||(t[99]=n("wbr",null,null,-1)),t[100]||(t[100]=v("pr/",-1)),t[101]||(t[101]=n("wbr",null,null,-1)),n("span",XT,c(e.pullRequestId),1)]),O(n("div",QT,"ID can only contain letters and numbers.",512),[[ee,e.anonymize?.pullRequestId?.errors?.format]]),O(n("div",{class:"invalid-feedback"},c(e.pullRequestId)+" is already used.",513),[[ee,e.anonymize?.pullRequestId?.errors?.used]])],512),[[ee,e.detectedType==="pr"]]),O(n("div",JT,[t[107]||(t[107]=n("label",{class:"paper-field-label",for:"gistId"},"Anonymized gist ID",-1)),O(n("input",{type:"text",class:T(["form-control",{"is-invalid":e.anonymize?.gistId?.invalid}]),name:"gistId",id:"gistId",disabled:e.isUpdate},null,10,ZT),[[s,{state:e.viewState,set:a=>{e.gistId=a},value:e.gistId,form:"anonymize",options:{debounce:{default:1e3,blur:0,click:0},updateOn:"default blur click"}}]]),n("small",xT,[t[103]||(t[103]=v("anonymous.4open.science/",-1)),t[104]||(t[104]=n("wbr",null,null,-1)),t[105]||(t[105]=v("gist/",-1)),t[106]||(t[106]=n("wbr",null,null,-1)),n("span",eP,c(e.gistId),1)]),O(n("div",tP,"ID can only contain letters and numbers.",512),[[ee,e.anonymize?.gistId?.errors?.format]]),O(n("div",{class:"invalid-feedback"},c(e.gistId)+" is already used.",513),[[ee,e.anonymize?.gistId?.errors?.used]])],512),[[ee,e.detectedType==="gist"]]),n("div",nP,[t[118]||(t[118]=n("label",{class:"paper-field-label",for:"terms"},"Terms to redact",-1)),O(n("textarea",{class:T(["form-control terms-input",{"is-invalid":e.anonymize?.terms?.invalid}]),id:"terms",name:"terms",rows:Math.min(14,Math.max(4,String(e.terms||"").split(` `).length+1)),placeholder:`Jane Smith MIT CSAIL -jane.smith@example.org`},null,10,sP),[[s,{state:e.viewState,set:a=>{e.terms=a},value:e.terms,form:"anonymize",options:{debounce:250}}]]),t[119]||(t[119]=n("small",{class:"form-text text-muted"},"One term per line.",-1)),n("details",iP,[t[114]||(t[114]=n("summary",null,"Regex & replacement syntax",-1)),t[115]||(t[115]=v()),n("small",rP,[t[108]||(t[108]=v("Regex is supported. Replaced by ",-1)),n("code",null,c(e.site_options?.ANONYMIZATION_MASK)+"-[N]",1),t[109]||(t[109]=v(", or use ",-1)),t[110]||(t[110]=n("code",null,"term=>replacement",-1)),t[111]||(t[111]=v(" to pick your own (e.g. ",-1)),t[112]||(t[112]=n("code",null,"Anonymous=>ABC",-1)),t[113]||(t[113]=v(").",-1))])]),(l(!0),d(L,null,se((e.termHints||[]).slice(0,3),a=>(l(),d("div",{class:"term-hint",key:a.line},[n("span",null,[t[116]||(t[116]=v("In ",-1)),n("code",null,c(a.term),1),t[117]||(t[117]=v(", ",-1)),n("code",null,c(a.symbols.join(" ")),1),v(" "+c(a.symbols.length>1?"are regex symbols":"is a regex symbol")+", so it may not match the text as written.",1)]),n("button",{type:"button",class:"btn btn-outline-ink btn-sm",onClick:u=>e.matchTermAsWritten(a.line)},"Match as written",8,aP)]))),128)),(e.termHints||[]).length>3?(l(),d("div",lP,c(e.termHints.length-3)+" more "+c(e.termHints.length-3===1?"term uses":"terms use")+" regex symbols.",1)):f("v-if",!0),P(n("div",dP,"Terms are in an invalid format.",512),[[x,e.anonymize?.terms?.errors?.format]])]),P(n("div",uP,[n("div",cP,[t[120]||(t[120]=n("span",{class:"paper-field-label",id:"preserve-files-label"},"Unredacted files",-1)),n("span",pP,c(e.preserveSummary()),1)]),n("button",{type:"button",class:"btn btn-outline-ink btn-sm","aria-describedby":"preserve-files-label",disabled:!e.source?.commit,onClick:t[22]||(t[22]=a=>e.openPreserveFiles())},c((e.options?.preserveFiles||[]).length?"Edit":"Choose files"),9,fP)],512),[[x,e.detectedType==="repo"]]),e.preserve?.open?(l(),d("dialog",{key:0,id:"preserve-files-dialog",class:"preserve-dialog","aria-labelledby":"preserve-files-title",onCancel:t[27]||(t[27]=ue(a=>e.closePreserveFiles(),["prevent"]))},[n("form",{onSubmit:t[26]||(t[26]=ue(a=>e.savePreserveFiles(),["prevent"]))},[t[124]||(t[124]=n("h2",{id:"preserve-files-title"},"Leave files unredacted",-1)),t[125]||(t[125]=n("p",{class:"preserve-intro"},"Checked files are shown exactly as written, for example a bibliography where redacted self-citations would reveal you. File names are still redacted.",-1)),P(n("input",{type:"search",id:"preserve-files-search",class:"form-control",placeholder:"Search files","aria-label":"Search files",autocomplete:"off","onUpdate:modelValue":t[23]||(t[23]=a=>e.preserve.search=a)},null,512),[[ut,e.preserve.search]]),n("div",hP,[e.preserve.loading?(l(),d("p",mP,"Loading files from GitHub\u2026")):e.preserve.error?(l(),d("p",gP,c(e.preserve.error),1)):(l(),d(L,{key:2},[(l(!0),d(L,null,se(e.preserveRows(),(a,u)=>(l(),d("div",{class:"preserve-item",key:a.kind+":"+a.path,style:Ve({paddingLeft:a.depth*18+6+"px"})},[a.kind==="dir"?(l(),d("button",{key:0,type:"button",class:"preserve-caret","aria-expanded":a.open?"true":"false","aria-label":(a.open?"Collapse ":"Expand ")+a.label,onClick:p=>e.togglePreserveDir(a.path)},c(a.open?"\u25BE":"\u25B8"),9,vP)):(l(),d("span",yP)),n("input",{type:"checkbox",id:"pf-"+u,"aria-label":a.kind==="dir"?"Leave folder "+a.path+" unredacted":null,checked:a.state==="all",".indeterminate":a.state==="some",disabled:a.locked,onChange:p=>a.kind==="dir"?e.togglePreserveFolder(a.path):e.togglePreserveFile(a.path)},null,40,bP),n("label",{for:a.kind==="file"?"pf-"+u:null,class:"preserve-name",onClick:p=>a.kind==="dir"&&e.togglePreserveDir(a.path)},c(a.label),9,wP),a.note?(l(),d("span",kP,c(a.note),1)):f("v-if",!0)],4))),128)),!e.preserve.loading&&!e.preserveRows().length?(l(),d("p",CP,c(e.preserve.search?"No file matches your search.":"No text files in this commit."),1)):f("v-if",!0)],64))]),e.preserve.truncated?(l(),d("p",EP,"This repository has too many files to list them all. Use a pattern for files you cannot find.")):f("v-if",!0),n("details",{class:"preserve-patterns",open:e.preserve.patternsOpen},[t[121]||(t[121]=n("summary",null,"Patterns",-1)),P(n("textarea",{class:"form-control",rows:"3","aria-label":"Patterns",placeholder:`*.bib -paper/appendix/**`,"onUpdate:modelValue":t[24]||(t[24]=a=>e.preserve.patterns=a)},null,512),[[ut,e.preserve.patterns]]),t[122]||(t[122]=n("small",{class:"form-text text-muted"},[v("One per line, as in .gitignore: "),n("code",null,"*.bib"),v(" matches in any folder; "),n("code",null,"/refs.bib"),v(" and "),n("code",null,"paper/refs.bib"),v(" match from the repository root; a folder name such as "),n("code",null,"drafts/"),v(" covers everything inside it; "),n("code",null,"!private.bib"),v(" excludes again.")],-1))],8,SP),n("div",NP,[n("span",RP,c(e.preserve.loading||e.preserve.error?"":e.preserveCount()+(e.preserveCount()===1?" file":" files")+" will be shown as written"),1),n("span",DP,[n("button",{type:"button",class:"btn btn-outline-ink",onClick:t[25]||(t[25]=a=>e.closePreserveFiles())},"Cancel"),t[123]||(t[123]=n("button",{type:"submit",class:"btn btn-ink"},"Save",-1))])])],32)],32)):f("v-if",!0)],512),[[x,e.detectedType]]),P(n("section",AP,[t[146]||(t[146]=n("h2",{class:"paper-section-eyebrow"},"Display",-1)),P(n("div",null,[n("div",TP,[P(n("input",PP,null,512),[[s,{state:e.viewState,set:a=>{e.options.link=a},value:e.options?.link,form:"anonymize",options:{}}]]),t[127]||(t[127]=n("label",{class:"form-check-label",for:"link"},"Keep links",-1))]),n("div",OP,[P(n("input",IP,null,512),[[s,{state:e.viewState,set:a=>{e.options.image=a},value:e.options?.image,form:"anonymize",options:{}}]]),t[128]||(t[128]=n("label",{class:"form-check-label",for:"image"},"Display images",-1))]),n("div",MP,[P(n("input",_P,null,512),[[s,{state:e.viewState,set:a=>{e.options.pdf=a},value:e.options?.pdf,form:"anonymize",options:{}}]]),t[129]||(t[129]=n("label",{class:"form-check-label",for:"pdf"},"Display PDFs",-1))]),n("div",VP,[P(n("input",qP,null,512),[[s,{state:e.viewState,set:a=>{e.options.notebook=a},value:e.options?.notebook,form:"anonymize",options:{}}]]),t[130]||(t[130]=n("label",{class:"form-check-label",for:"notebook"},"Display notebooks",-1))]),n("div",$P,[P(n("input",{class:"form-check-input",type:"checkbox",id:"page",name:"page",disabled:!e.details?.hasPage||e.details?.pageSource&&e.details?.pageSource?.branch!==e.source?.branch},null,8,LP),[[s,{state:e.viewState,set:a=>{e.options.page=a},value:e.options?.page,form:"anonymize",options:{}}]]),t[131]||(t[131]=n("label",{class:"form-check-label",for:"page"},"GitHub Pages",-1)),e.details?.hasPage?f("v-if",!0):(l(),d("small",UP,c(e.fmt?.translate("WARNINGS.page_not_enabled_on_repo")),1)),e.details?.hasPage&&e.details?.pageSource?.branch&&e.source?.branch&&e.details.pageSource.branch!==e.source.branch?(l(),d("small",FP,c(e.fmt?.translate("WARNINGS.page_branch_mismatch",{pageBranch:e.details?.pageSource?.branch,selectedBranch:e.source?.branch})),1)):f("v-if",!0)])],512),[[x,e.detectedType==="repo"]]),e.detectedType==="repo"&&(e.options.image||e.options.pdf)?(l(),d("p",BP,[...t[132]||(t[132]=[v("Images and PDFs are served unchanged. Review their contents and metadata before sharing. ",-1),n("a",{href:"/faq#formats"},"Supported formats",-1)])])):f("v-if",!0),P(n("div",null,[n("div",zP,[P(n("input",HP,null,512),[[s,{state:e.viewState,set:a=>{e.options.title=a},value:e.options?.title,form:"anonymize",options:{}}]]),t[133]||(t[133]=n("label",{class:"form-check-label",for:"title-gist"},"Gist description",-1))]),n("div",jP,[P(n("input",GP,null,512),[[s,{state:e.viewState,set:a=>{e.options.content=a},value:e.options?.content,form:"anonymize",options:{}}]]),t[134]||(t[134]=n("label",{class:"form-check-label",for:"content-gist"},"File contents",-1))]),n("div",WP,[P(n("input",KP,null,512),[[s,{state:e.viewState,set:a=>{e.options.comments=a},value:e.options?.comments,form:"anonymize",options:{}}]]),t[135]||(t[135]=n("label",{class:"form-check-label",for:"comments-gist"},"Comments",-1))]),n("div",YP,[P(n("input",XP,null,512),[[s,{state:e.viewState,set:a=>{e.options.username=a},value:e.options?.username,form:"anonymize",options:{}}]]),t[136]||(t[136]=n("label",{class:"form-check-label",for:"username-gist"},"Usernames",-1))]),n("div",QP,[P(n("input",JP,null,512),[[s,{state:e.viewState,set:a=>{e.options.date=a},value:e.options?.date,form:"anonymize",options:{}}]]),t[137]||(t[137]=n("label",{class:"form-check-label",for:"date-gist"},"Dates",-1))]),n("div",ZP,[P(n("input",xP,null,512),[[s,{state:e.viewState,set:a=>{e.options.origin=a},value:e.options?.origin,form:"anonymize",options:{}}]]),t[138]||(t[138]=n("label",{class:"form-check-label",for:"origin-gist"},"Source gist ID",-1))])],512),[[x,e.detectedType==="gist"]]),P(n("div",null,[n("div",e3,[P(n("input",t3,null,512),[[s,{state:e.viewState,set:a=>{e.options.title=a},value:e.options?.title,form:"anonymize",options:{}}]]),t[139]||(t[139]=n("label",{class:"form-check-label",for:"title"},"PR title",-1))]),n("div",n3,[P(n("input",o3,null,512),[[s,{state:e.viewState,set:a=>{e.options.body=a},value:e.options?.body,form:"anonymize",options:{}}]]),t[140]||(t[140]=n("label",{class:"form-check-label",for:"body"},"PR body",-1))]),n("div",s3,[P(n("input",i3,null,512),[[s,{state:e.viewState,set:a=>{e.options.diff=a},value:e.options?.diff,form:"anonymize",options:{}}]]),t[141]||(t[141]=n("label",{class:"form-check-label",for:"diff"},"Diff",-1))]),n("div",r3,[P(n("input",a3,null,512),[[s,{state:e.viewState,set:a=>{e.options.comments=a},value:e.options?.comments,form:"anonymize",options:{}}]]),t[142]||(t[142]=n("label",{class:"form-check-label",for:"comments"},"Comments",-1))]),n("div",l3,[P(n("input",d3,null,512),[[s,{state:e.viewState,set:a=>{e.options.username=a},value:e.options?.username,form:"anonymize",options:{}}]]),t[143]||(t[143]=n("label",{class:"form-check-label",for:"username"},"Usernames",-1))]),n("div",u3,[P(n("input",c3,null,512),[[s,{state:e.viewState,set:a=>{e.options.date=a},value:e.options?.date,form:"anonymize",options:{}}]]),t[144]||(t[144]=n("label",{class:"form-check-label",for:"date"},"Dates",-1))]),n("div",p3,[P(n("input",f3,null,512),[[s,{state:e.viewState,set:a=>{e.options.origin=a},value:e.options?.origin,form:"anonymize",options:{}}]]),t[145]||(t[145]=n("label",{class:"form-check-label",for:"origin"},"Project name",-1))])],512),[[x,e.detectedType==="pr"]])],512),[[x,e.detectedType]]),P(n("section",h3,[t[163]||(t[163]=n("h2",{class:"paper-section-eyebrow",id:"hosting-heading"},"Hosting & expiration",-1)),n("div",m3,[t[147]||(t[147]=n("label",{class:"paper-field-label",for:"conference"},[v("Conference code "),n("span",{class:"paper-optional"},"(optional)")],-1)),P(n("input",{class:T(["form-control",{"is-invalid":e.anonymize?.conference?.invalid}]),id:"conference",name:"conference"},null,2),[[s,{state:e.viewState,set:a=>{e.conference=a},value:e.conference,form:"anonymize",options:{debounce:{default:800,blur:0},updateOn:"default blur"}}]]),P(n("p",{class:T(["conference-hosting",{"is-covered":e.conferenceHosting()}]),role:"status"},[n("a",{target:"_blank",href:e.safeUrl(e.conference_data?.url)},c(e.conference_data?.name),9,g3),e.conferenceHosting()?(l(),d(L,{key:0},[v(" hosts this repository until "+c(e.fmt?.date(e.conference_data?.endDate))+", with automatic updates. You don't pay anything.",1)],64)):e.billing?.enabled&&e.detectedType==="repo"?(l(),d(L,{key:1},[v(" runs until "+c(e.fmt?.date(e.conference_data?.endDate))+". It doesn't pay for hosting, so this repository uses your own allowance.",1)],64)):(l(),d(L,{key:2},[v(" runs until "+c(e.fmt?.date(e.conference_data?.endDate))+".",1)],64))],2),[[x,e.conference_data]]),P(n("div",v3,"The conference is not activated.",512),[[x,e.anonymize?.conference?.errors?.activated]]),P(n("small",y3,"Submitting to a conference? Its code applies the venue's settings, and a paid conference hosts the repository for you.",512),[[x,!e.conference_data]])]),e.detectedType==="repo"&&e.billing?.enabled&&!e.conferenceHosting()?(l(),d("p",b3,[e.isUpdate&&e.role!=="owner"?(l(),d("span",w3,"Uses the owner's hosting")):e.hasAuthorHosting()?(l(),d("span",k3,"Your author subscription is active.")):e.hostingQuota?.repository?(l(),d("span",C3,c(e.hostingQuota.repository.used)+" of "+c(e.hostingQuota.repository.total)+" active repositories \xB7 Free",1)):f("v-if",!0)])):f("v-if",!0),e.detectedType==="repo"&&e.options?.update&&!e.liveUpdatesIncluded()?(l(),d("p",E3,[t[148]||(t[148]=v("Automatic updates need a paid option. On free hosting, the link keeps the version you create until you refresh it from My work. Once it exists, add Live updates",-1)),e.liveUpdatesPrice()?(l(),d(L,{key:0},[v(" ("+c(e.liveUpdatesPrice())+" once)",1)],64)):f("v-if",!0),t[149]||(t[149]=v(" or a Paper pack in ",-1)),t[150]||(t[150]=n("a",{href:"/profile?billing=1"},"Settings \u203A Hosting & billing",-1)),t[151]||(t[151]=v(", or take an author subscription.",-1))])):f("v-if",!0),e.detectedType==="repo"&&e.billing?.enabled?(l(),d("div",S3,[e.hostingNeedsPayment()&&!e.billingPending?(l(),d(L,{key:0},[e.options.expirationMode!=="never"||e.hostingQuotaBlocked?(l(),d("p",N3,c(e.options.update&&!e.hostingQuotaBlocked&&e.hostingQuota?.repository?.used(l(),d("label",{class:T(["hosting-option",{"is-selected":e.hostingChoice()===a.id||a.interval&&e.authorPlans().some(u=>u.id===e.hostingChoice())}]),key:a.id},[n("input",{type:"radio",name:"hosting-plan",value:a.id,checked:e.hostingChoice()===a.id||a.interval&&e.authorPlans().some(u=>u.id===e.hostingChoice()),onChange:u=>e.hostingPlan=a.interval?e.hostingSubscriptionPlan().id:a.id},null,40,A3),n("span",T3,[n("strong",null,c(e.hostingOptionName(a)),1),n("small",null,c(e.hostingOptionBlurb(a)),1),a.interval&&e.authorPlans().length>1&&e.authorPlans().some(u=>u.id===e.hostingChoice())?(l(),d("span",P3,[(l(!0),d(L,null,se(e.authorPlans(),u=>(l(),d("button",{type:"button",role:"radio",key:u.id,"aria-checked":e.hostingSubscriptionPlan().id===u.id?"true":"false",class:T({"is-on":e.hostingSubscriptionPlan().id===u.id}),onClick:ue(p=>{e.hostingCycle=u.id,e.hostingPlan=u.id},["prevent"])},[v(c(u.interval==="year"?"Yearly":"Monthly"),1),u.interval==="year"&&e.hostingAnnualSavings()?(l(),d("span",I3,"\u2212"+c(e.hostingAnnualSavings())+"%",1)):f("v-if",!0)],10,O3))),128))])):f("v-if",!0)]),n("span",M3,[n("strong",null,c(e.billingAmount(a.interval?e.hostingSubscriptionPlan():a)),1),n("small",null,c(a.interval?"per "+e.hostingSubscriptionPlan().interval:"once"),1)])],2))),128))])):(l(),d("p",_3,"New purchases are temporarily unavailable. Your draft is kept.")),e.authorPlans().some(a=>a.id===e.hostingChoice())?(l(),d("p",V3,"Renews "+c(e.hostingChoice()==="author_annual"?"yearly":"monthly")+" until you cancel. Tax shown at checkout.",1)):(l(),d("p",q3,"One-time payment, nothing renews. Tax shown at checkout.")),e.options.expirationMode!=="never"?(l(),d("details",$3,[t[152]||(t[152]=n("summary",null,"Keep using free hosting",-1)),t[153]||(t[153]=n("p",null,"Remove a repository you no longer need, or enter the code of a paid conference above. Removing a repository affects its review link.",-1)),t[154]||(t[154]=n("a",{href:"/dashboard"},"Review my repositories",-1)),n("button",{type:"button",class:"task-text-button",onClick:t[28]||(t[28]=a=>e.anonymizeRepo(a)),disabled:e.sourceLoading||e.billingBusy},"Recheck capacity and submit",8,L3)])):f("v-if",!0)],64)):f("v-if",!0)])):f("v-if",!0),e.hostingNeedsPayment()&&!e.billingPending?(l(),d("h4",U3,"Expiration")):f("v-if",!0),n("fieldset",F3,[t[160]||(t[160]=n("legend",{class:"sr-only"},"Expiration",-1)),n("label",B3,[n("input",{type:"radio",name:"expiration-choice",checked:e.options.expirationMode!=="never",onChange:t[29]||(t[29]=a=>e.useDatedHosting()),disabled:e.billingPending},null,40,z3),t[155]||(t[155]=n("span",null,"Expire on a date",-1))]),e.options.expirationMode!=="never"?(l(),d("div",H3,[e.options?.expirationMode!=="never"?(l(),d("div",j3,[t[156]||(t[156]=n("label",{class:"paper-field-label",for:"expirationDate"},"Expires",-1)),P(n("input",{class:T(["form-control",{"is-invalid":e.anonymize?.expirationDate?.invalid}]),type:"date",name:"expirationDate",id:"expirationDate",required:"",min:e.minExpirationDate,max:e.maxExpirationDate},null,10,G3),[[s,{state:e.viewState,set:a=>{e.options.expirationDate=a},value:e.options?.expirationDate,form:"anonymize",options:{}}]]),e.fmt?.dateEcho(e.options?.expirationDate)?(l(),d("p",W3,"Expires "+c(e.fmt?.dateEcho(e.options?.expirationDate)),1)):f("v-if",!0),P(n("div",K3,"Pick a date in the future.",512),[[x,e.anonymize?.expirationDate?.errors?.min]]),P(n("div",{class:"invalid-feedback"},"Pick a date on or before "+c(e.fmt?.date(e.maxExpirationDate))+".",513),[[x,e.anonymize?.expirationDate?.errors?.max]]),P(n("div",Y3,"Enter a valid expiration date.",512),[[x,e.anonymize?.expirationDate?.errors?.required||e.anonymize?.expirationDate?.errors?.date]])])):f("v-if",!0),n("div",X3,[t[158]||(t[158]=n("label",{for:"expiration"},"Then",-1)),P(n("select",{id:"expiration",class:"form-control","onUpdate:modelValue":t[30]||(t[30]=a=>e.options.expirationMode=a)},[...t[157]||(t[157]=[n("option",{value:"remove"},"Remove content",-1),n("option",{value:"redirect"},"Redirect to GitHub",-1)])],512),[[pn,e.options.expirationMode]])])])):f("v-if",!0),e.detectedType==="repo"?(l(),d("label",Q3,[n("input",{type:"radio",name:"expiration-choice",checked:e.options.expirationMode==="never",onChange:t[31]||(t[31]=a=>e.options.expirationMode="never"),disabled:e.billingPending},null,40,J3),n("span",null,[t[159]||(t[159]=v("Never expire",-1)),(e.options.expirationMode!=="never"||e.hasAuthorHosting()||e.repositoryGrants("repo_never").length)&&!(e.hostingNeedsPayment()&&e.hostingOptionPlans().length)?(l(),d("small",Z3,c(e.neverExpireTag()),1)):f("v-if",!0)])])):f("v-if",!0)]),e.options.expirationMode==="redirect"?(l(),d("p",x3,"Visitors will be redirected to the original GitHub source on this date, revealing its identity.")):f("v-if",!0),e.detectedType==="repo"&&e.billing?.enabled?(l(),d("div",eO,[e.taskValidationError?(l(),d("p",tO,c(e.taskValidationError),1)):f("v-if",!0),e.billingError?(l(),d("p",nO,[v(c(e.billingError)+" ",1),n("button",{type:"button",class:"task-text-button",onClick:t[32]||(t[32]=a=>e.loadBilling()),disabled:e.billingBusy},"Reload billing",8,oO)])):f("v-if",!0),e.billingPending?(l(),d("div",sO,[...t[161]||(t[161]=[n("p",null,[n("strong",null,"Confirming your payment\u2026")],-1),n("p",{class:"form-text text-muted"},"Your draft is saved. Please do not pay again.",-1)])])):e.billingNotice?(l(),d("p",iO,c(e.billingNotice),1)):e.options.expirationMode==="never"&&!e.billingPending&&!e.hasAuthorHosting()&&e.repositoryGrants("repo_never").length?(l(),d("p",rO,"No scheduled expiration. Paid once for this repository.")):e.options.expirationMode==="never"&&!e.billingPending?(l(),d("p",aO,"No scheduled expiration while subscribed. A 90-day grace period applies if paid access ends.")):f("v-if",!0),e.isUpdate&&e.role==="owner"&&!e.hasAuthorHosting()&&!e.hostingNeedsPayment()&&e.repositoryAddonPlans().length?(l(),d("details",lO,[t[162]||(t[162]=n("summary",null,"Pay once for just this repository",-1)),(l(!0),d(L,null,se(e.repositoryAddonPlans(),a=>(l(),d("div",{key:a.id},[n("p",null,[n("strong",null,c(a.name),1),v(" \xB7 "+c(e.billingPrice(a))+". "+c(a.description),1)]),n("button",{type:"button",class:"btn btn-outline-ink",disabled:e.billingBusy||e.hostingSaving||e.sourceLoading||e.billing.checkoutEnabled===!1||e.billingPending,onClick:u=>e.checkoutRepository(a.id)},"Buy "+c(a.name.toLowerCase()),9,dO)]))),128))])):f("v-if",!0)])):f("v-if",!0)],512),[[x,e.detectedType]]),P(n("section",uO,[t[167]||(t[167]=n("h2",{class:"paper-section-eyebrow"},"Co-authors",-1)),t[168]||(t[168]=n("p",{class:"form-text text-muted",style:{"margin-bottom":"8px"}}," Co-authors can view and edit these settings. They cannot delete the anonymization or manage co-authors. ",-1)),P(n("div",cO,[t[164]||(t[164]=n("label",{class:"paper-field-label",for:"coauthorSearch"},"Add a GitHub user",-1)),n("div",pO,[P(n("input",fO,null,512),[[s,{state:e.viewState,set:a=>{e.coauthorSearch=a},value:e.coauthorSearch,form:"anonymize",options:{debounce:300},change:()=>{e.searchCoauthors()}}]]),P(n("div",hO,[(l(!0),d(L,null,se(e.coauthorResults,(a,u)=>(l(),d("a",{href:"#",class:"dropdown-item d-flex align-items-center",onClick:ue(p=>e.addCoauthor(a,p),["prevent"])},[n("img",{alt:"",style:{width:"22px",height:"22px","border-radius":"50%","margin-right":"8px"},src:e.safeUrl(a?.photo)},null,8,gO),n("span",{textContent:c(a?.username)},null,8,vO)],8,mO))),256))],512),[[x,e.coauthorResults?.length>0]])]),P(n("small",{class:"form-text text-muted",textContent:c(e.coauthorError)},null,8,yO),[[x,e.coauthorError]])],512),[[x,e.role==="owner"||e.role==="admin"]]),n("div",bO,[(l(!0),d(L,null,se(e.coauthors,(a,u)=>(l(),d("div",wO,[a?.photo?(l(),d("img",{key:0,alt:"",style:{width:"24px",height:"24px","border-radius":"50%"},src:e.safeUrl(a?.photo)},null,8,kO)):f("v-if",!0),n("a",{target:"_blank",textContent:c(a?.username),href:e.safeUrl("https://github.com/"+a?.username)},null,8,CO),t[166]||(t[166]=n("span",{class:"type-badge type-coauthor"},"Co-author",-1)),P(n("button",{type:"button",class:"btn btn-sm btn-icon",style:{"margin-left":"auto"},title:"Remove co-author",onClick:p=>e.removeCoauthor(a),"aria-label":"Remove co-author"},[...t[165]||(t[165]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-close"})],-1)])],8,EO),[[x,e.role==="owner"||e.role==="admin"]])]))),256)),P(n("div",SO," No co-authors yet. ",512),[[x,!e.coauthors||e.coauthors?.length===0]])])],512),[[x,e.isUpdate&&e.detectedType==="repo"]]),e.error?(l(),d("div",{key:0,class:"alert alert-danger",role:"alert",textContent:c(e.error)},null,8,NO)):f("v-if",!0)]),n("button",{type:"button",class:"btn btn-outline-ink mobile-preview-jump",onClick:t[33]||(t[33]=a=>e.selectMobilePane("preview"))},[...t[169]||(t[169]=[v("Review preview ",-1),n("span",{"aria-hidden":"true"},"\u2192",-1)])]),P(n("div",RO,[e.detectedType==="repo"?(l(),d(L,{key:0},[e.billingPending?(l(),d("button",{key:0,type:"button",class:"btn btn-ink",onClick:t[34]||(t[34]=a=>e.refreshBilling()),disabled:e.billingBusy},"Check payment status",8,DO)):(l(),d("button",{key:1,type:"submit",class:"btn btn-ink",disabled:e.sourceLoading||e.billingBusy||e.hostingSaving||e.billingLoading||e.hostingNeedsPayment()&&(!e.authorPlans().length&&!e.hostingOneTime()||e.billing?.checkoutEnabled===!1),onClick:t[35]||(t[35]=ue(a=>e.submitForm(a,()=>{e.submitRepository(a)}),["prevent"]))},c(e.hostingSaving?"Saving draft\u2026":e.hostingNeedsPayment()?"Continue to checkout":e.isUpdate?"Save changes":"Create anonymous link"),9,AO))],64)):f("v-if",!0),e.detectedType==="pr"&&!e.isUpdate?(l(),d("button",{key:1,type:"submit",disabled:e.sourceLoading||!e.details,class:"btn btn-ink",onClick:t[36]||(t[36]=ue(a=>e.submitForm(a,()=>{e.anonymizePullRequest(a)}),["prevent"]))}," Create anonymous link ",8,TO)):f("v-if",!0),e.detectedType==="pr"&&e.isUpdate?(l(),d("button",{key:2,type:"submit",disabled:e.sourceLoading,class:"btn btn-ink",onClick:t[37]||(t[37]=ue(a=>e.submitForm(a,()=>{e.anonymizePullRequest(a)}),["prevent"]))}," Save changes ",8,PO)):f("v-if",!0),e.detectedType==="gist"&&!e.isUpdate?(l(),d("button",{key:3,type:"submit",disabled:e.sourceLoading||!e.details,class:"btn btn-ink",onClick:t[38]||(t[38]=ue(a=>e.submitForm(a,()=>{e.anonymizeGist(a)}),["prevent"]))}," Create anonymous link ",8,OO)):f("v-if",!0),e.detectedType==="gist"&&e.isUpdate?(l(),d("button",{key:4,type:"submit",disabled:e.sourceLoading,class:"btn btn-ink",onClick:t[39]||(t[39]=ue(a=>e.submitForm(a,()=>{e.anonymizeGist(a)}),["prevent"]))}," Save changes ",8,IO)):f("v-if",!0),e.sourceLoading?(l(),d("p",MO,c(e.detectedType==="pr"?"Waiting for the pull request to load from GitHub\u2026":e.detectedType==="gist"?"Waiting for the gist to load from GitHub\u2026":"Waiting for the repository to load from GitHub\u2026"),1)):!e.details&&!e.isUpdate?(l(),d("p",_O,"Load an accessible source to continue. See the preview for details.")):f("v-if",!0),e.hostingNeedsPayment()&&!e.billingPending?(l(),d("p",VO,"You pay in Stripe, then come back here to finish.")):f("v-if",!0),e.draftRestored?(l(),d("div",qO,[t[170]||(t[170]=v("Your unsaved draft was restored. ",-1)),n("button",{type:"button",class:"draft-discard",onClick:t[40]||(t[40]=a=>e.discardDraft())},"Discard draft")])):e.unsavedChanges?(l(),d("div",$O,[v(c(e.draftSaved?"Draft saved \xB7":"Unsaved changes \xB7")+" ",1),n("button",{type:"button",class:"draft-discard",onClick:t[41]||(t[41]=a=>e.discardDraft())},c(e.isUpdate?"Restore saved":"Discard"),1)])):f("v-if",!0)],512),[[x,e.detectedType]])])),[[r,e.viewState]])],8,HA),f(' Preview column (right): "What reviewers will see", a miniature reviewer window '),e.detectedType?(l(),d("div",{key:0,id:"workspace-preview",role:e.mobileWorkspace?"tabpanel":null,"aria-labelledby":e.mobileWorkspace?"workspace-preview-tab":null,class:"anonymize-preview-col reviewer-preview"},[n("div",UO,[t[173]||(t[173]=n("span",{class:"rp-title"},"What reviewers will see",-1)),e.previewStatus==="ready"&&e.previewRedactions()>0?(l(),d("span",{key:0,class:"rp-count",title:e.previewRedactions()+" redacted terms in this preview"},[n("span",BO,[n("i",null,c(e.previewRedactions()),1)]),t[171]||(t[171]=v(" redacted",-1))],8,FO)):e.previewStatus==="ready"&&!String(e.terms||"").trim()?(l(),d("span",zO,"No terms yet")):e.previewStatus==="ready"&&e.readmePreserved()?(l(),d("span",HO,"README left unredacted")):f("v-if",!0),t[174]||(t[174]=n("span",{class:"rp-spacer"},null,-1)),e.isUpdate&&e.previewUrl()?(l(),d("a",{key:3,class:"rp-open is-external",href:e.safeUrl(e.previewPath()),target:"_blank",rel:"noopener"},[...t[172]||(t[172]=[v("Open reviewer page ",-1),n("span",{"aria-hidden":"true"},"\u2197",-1)])],8,jO)):(l(),d("button",{key:4,type:"button",class:"rp-open is-toggle",onClick:t[42]||(t[42]=a=>e.previewExpanded=!e.previewExpanded),"aria-pressed":!!e.previewExpanded},[(l(),d("svg",WO,[e.previewExpanded?(l(),d("path",YO)):(l(),d("path",KO))])),v(c(e.previewExpanded?"Back to settings":"Expand preview"),1)],8,GO))]),n("div",XO,[n("div",QO,[t[175]||(t[175]=n("i",null,null,-1)),t[176]||(t[176]=n("i",null,null,-1)),t[177]||(t[177]=n("i",null,null,-1)),n("span",JO,c(e.previewUrl()||"anonymous.4open.science"),1)]),n("div",ZO,[t[178]||(t[178]=n("span",{class:"vb-logo"},[v("Anonymous "),n("em",null,"GitHub")],-1)),e.previewId()?(l(),d("span",xO,c(e.previewId()),1)):f("v-if",!0),e.detectedType!=="repo"?(l(),d("span",eI,c(e.detectedType==="pr"?"Pull request":"Gist"),1)):f("v-if",!0)]),n("div",{class:T(["rp-body",{"has-side":e.detectedType==="repo"}])},[f(" Sidebar: a miniature of the explorer's file tree "),e.detectedType==="repo"?(l(),d("nav",tI,[e.previewTree().length?(l(),d("ul",nI,[(l(!0),d(L,null,se(e.previewTree(),a=>(l(),d("li",{key:a.path,class:T(["file",{folder:a.dir,open:a.open,active:a.readme}]),style:Ve({"--depth":a.depth})},[a.dir?(l(),d("a",{key:0,role:"button",tabindex:"0","aria-expanded":a.open?"true":"false",title:a.path,onClick:u=>e.togglePreviewFolder(a.path),onKeydown:[pt(ue(u=>e.togglePreviewFolder(a.path),["prevent"]),["enter"]),pt(ue(u=>e.togglePreviewFolder(a.path),["prevent"]),["space"])]},[t[179]||(t[179]=n("span",{class:"tree-toggle"},null,-1)),t[180]||(t[180]=n("span",{class:"tree-icon-folder","aria-hidden":"true"},[n("svg",{viewBox:"0 0 14 12",focusable:"false"},[n("path",{d:"M1.5 10.5v-9h4l1.5 2h5.5v7z"})])],-1)),n("span",sI,c(a.name),1)],40,oI)):(l(),d("a",{key:1,title:a.path,"aria-current":a.readme?"page":null},[t[181]||(t[181]=n("span",{class:"tree-spacer"},null,-1)),t[182]||(t[182]=n("span",{class:"far fa-file tree-icon-file","aria-hidden":"true"},null,-1)),n("span",rI,c(a.name),1)],8,iI))],6))),128))])):e.preserve.loading||e.sourceLoading&&!e.preserve.error?(l(),d("ul",aI,[(l(),d(L,null,se([58,72,46,64,52,38,68,44],a=>n("li",{key:a},[n("i",{class:"rp-skel",style:Ve({width:a+"%"})},null,4)])),64))])):(l(),d(L,{key:2},[e.readme||e.previewStatus==="ready"?(l(),d("ul",lI,[...t[183]||(t[183]=[Ee('
  • README.md
  • ',1)])])):f("v-if",!0),t[184]||(t[184]=n("p",{class:"rp-side-note"},"Every other file at this commit appears here, with the same redactions.",-1))],64))])):f("v-if",!0),n("div",dI,[e.detectedType==="repo"&&(e.previewStatus==="ready"||e.readme)?(l(),d("div",uI,[n("span",cI,[t[185]||(t[185]=n("svg",{class:"ui-icon"},[n("use",{href:"#ui-icon-folder"})],-1)),t[186]||(t[186]=v("Files",-1)),e.previewTreeCount()?(l(),d("span",pI,c(e.previewTreeCount()),1)):f("v-if",!0)]),t[187]||(t[187]=n("span",{class:"rp-file-name"},"README.md",-1)),t[188]||(t[188]=n("span",{class:"rp-file-meta"},"Markdown",-1))])):f("v-if",!0),f(" Loading: skeleton inside the window "),e.previewStatus==="loading"||e.sourceLoading&&e.previewStatus!=="ready"&&e.previewStatus!=="error"?(l(),d("div",fI,[n("span",hI,c(e.previewStatus==="loading"?"Updating the anonymized preview\u2026":e.detectedType==="pr"?"Loading the pull request from GitHub\u2026":e.detectedType==="gist"?"Loading the gist from GitHub\u2026":"Loading the repository from GitHub\u2026"),1),t[189]||(t[189]=Ee('',7))])):!e.details&&e.detectedType!=="repo"?(l(),d(L,{key:2},[f(" The source itself could not be loaded "),n("div",mI,[n("strong",null,"Couldn't load "+c(e.sourceSummary()||(e.detectedType==="pr"?"this pull request":"this gist")),1),n("p",null,c(e.error||"GitHub did not return it. Check that the link is right and that Anonymous GitHub can read it."),1),n("div",gI,[n("button",{type:"button",class:"btn btn-ink btn-sm",onClick:t[43]||(t[43]=a=>e.urlSelected(!0))},"Retry"),e.detectedType==="pr"&&e.githubConnection!=="oauth"?(l(),d("button",{key:0,type:"button",class:"btn btn-outline-ink btn-sm",onClick:t[44]||(t[44]=a=>e.grantGitHubAccess())},[...t[190]||(t[190]=[v("Manage GitHub access ",-1),n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-external-link"})],-1)])])):(l(),d("a",vI,[...t[191]||(t[191]=[v("Manage GitHub access ",-1),n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-external-link"})],-1)])]))])])],2112)):!e.details&&e.detectedType==="repo"&&!e.isUpdate&&e.error?(l(),d("div",yI,[t[193]||(t[193]=n("strong",null,"Couldn't load this repository",-1)),n("p",null,c(e.error),1),n("div",bI,[n("button",{type:"button",class:"btn btn-ink btn-sm",onClick:t[45]||(t[45]=a=>e.urlSelected(!0))},"Retry"),e.githubConnection!=="oauth"?(l(),d("button",{key:0,type:"button",class:"btn btn-outline-ink btn-sm",onClick:t[46]||(t[46]=a=>e.grantGitHubAccess())},[...t[192]||(t[192]=[v("Manage GitHub access ",-1),n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-external-link"})],-1)])])):f("v-if",!0)])])):e.previewStatus==="error"?(l(),d(L,{key:4},[f(" The anonymized preview failed "),n("div",wI,[t[194]||(t[194]=n("strong",null,"Couldn't apply the redactions",-1)),t[195]||(t[195]=n("p",null,"Unable to generate the anonymized preview. The latest redactions have not been verified.",-1)),n("div",kI,[n("button",{class:"btn btn-ink btn-sm",type:"button",onClick:t[47]||(t[47]=a=>e.retryPreview())},"Retry preview")])])],2112)):e.detectedType==="repo"&&!e.readme&&e.previewStatus==="idle"?(l(),d("div",CI,[...t[196]||(t[196]=[n("strong",null,"No README",-1),n("p",null,"Reviewers land on the file list. Open the files you will share and check them before sending the link.",-1)])])):e.detectedType==="repo"&&e.previewStatus==="ready"?(l(),d("div",{key:6,class:"anonymize-preview-body markdown-body body",innerHTML:e.renderRedacted(e.sanitize(e.html_readme))},null,8,EI)):e.detectedType==="gist"&&e.previewStatus==="ready"?(l(),d("div",SI,[n("div",NI,[n("h2",RI,[e.options?.title?(l(),d("span",DI,c(e.anonymizeGistContent(e.details?.gist?.description)||"Untitled gist"),1)):f("v-if",!0),n("span",{class:T(["badge",{"badge-success":e.details?.gist?.isPublic,"badge-secondary":!e.details?.gist?.isPublic}])},c(e.details?.gist?.isPublic?"public":"secret"),3)]),e.options?.date?(l(),d("small",{key:0,textContent:c(e.fmt?.date(e.details?.gist?.updatedDate))},null,8,AI)):f("v-if",!0)]),e.options?.origin?(l(),d("small",TI,"Gist ID: "+c(e.details?.source?.gistId),1)):f("v-if",!0),e.options?.username&&e.details?.gist?.ownerLogin?(l(),d("small",PI,"By @"+c(e.anonymizeGistContent(e.details?.gist?.ownerLogin)),1)):f("v-if",!0),e.options?.content&&e.previewGistFiles?.length?(l(),d("div",OI,[n("ul",II,[(l(!0),d(L,null,se(e.previewGistFiles,(a,u)=>(l(),d("li",MI,[n("div",_I,[n("strong",{textContent:c(a?.filename)},null,8,VI),a?.language?(l(),d("span",qI,c(a?.language),1)):f("v-if",!0)]),_e(o,{file:a,terms:e.terms,options:e.options},null,8,["file","terms","options"])]))),256))])])):f("v-if",!0),e.options?.comments&&e.details?.gist?.comments&&e.details?.gist?.comments?.length?(l(),d("div",$I,[t[199]||(t[199]=n("h3",{class:"paper-section-eyebrow mt-3"},"Comments",-1)),n("ul",LI,[(l(!0),d(L,null,se(e.details?.gist?.comments,(a,u)=>(l(),d("li",UI,[n("div",FI,[e.options?.username?(l(),d("span",BI,[t[197]||(t[197]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-user"})],-1)),t[198]||(t[198]=v(" @",-1)),n("span",{textContent:c(e.anonymizeGistContent(a?.author))},null,8,zI)])):f("v-if",!0),e.options?.date?(l(),d("span",{key:1,class:"pr-comment-date",textContent:c(e.fmt?.date(a?.updatedDate))},null,8,HI)):f("v-if",!0)]),e.options?.body?(l(),d("div",jI,[_e(i,{content:e.anonymizeGistContent(a?.body),options:e.options,terms:e.terms},null,8,["content","options","terms"])])):f("v-if",!0)]))),256))])])):f("v-if",!0)])):e.detectedType==="pr"&&e.previewStatus==="ready"?(l(),d("div",GI,[n("div",WI,[n("h2",KI,[e.options?.title?(l(),d("span",YI,c(e.anonymizePrContent(e.details?.pullRequest?.title)),1)):f("v-if",!0),n("span",{class:T(["badge",{"badge-success":e.details?.pullRequest?.merged,"badge-warning":e.details?.pullRequest?.state=="open","badge-danger":e.details?.pullRequest?.state=="closed"&&!e.details?.pullRequest?.merged}])},c(e.fmt?.title(e.details?.pullRequest?.merged?"merged":e.details?.pullRequest?.state)),3)]),e.options?.date?(l(),d("small",{key:0,textContent:c(e.fmt?.date(e.details?.pullRequest?.updatedDate))},null,8,XI)):f("v-if",!0)]),e.options?.origin?(l(),d("small",QI,"Pull Request on "+c(e.details?.pullRequest?.baseRepositoryFullName),1)):f("v-if",!0),e.options?.body?(l(),d("div",JI,[_e(i,{content:e.anonymizePrContent(e.details?.pullRequest?.body),options:e.options,terms:e.terms},null,8,["content","options","terms"])])):f("v-if",!0),e.options?.diff||e.options?.comments?(l(),d("nav",ZI,[e.options?.diff?(l(),d("button",{key:0,class:T(["paper-tab",{active:e.prTabState?.active=="diff"}]),type:"button",role:"tab",id:"preview-pr-diff-tab","aria-selected":e.prTabState?.active==="diff","aria-controls":"preview-pr-diff-panel",tabindex:e.prTabState?.active==="diff"?0:-1,onKeydown:t[48]||(t[48]=a=>e.previewTabKeydown(a)),onClick:t[49]||(t[49]=a=>e.prTabState.active="diff")},[...t[200]||(t[200]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-code"})],-1),v(" Diff ",-1)])],42,xI)):f("v-if",!0),e.options?.comments?(l(),d("button",{key:1,class:T(["paper-tab",{active:e.prTabState?.active=="comments"}]),type:"button",role:"tab",id:"preview-pr-comments-tab","aria-selected":e.prTabState?.active==="comments","aria-controls":"preview-pr-comments-panel",tabindex:e.prTabState?.active==="comments"?0:-1,onKeydown:t[50]||(t[50]=a=>e.previewTabKeydown(a)),onClick:t[51]||(t[51]=a=>e.prTabState.active="comments")},[t[201]||(t[201]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-comment"})],-1)),n("span",{textContent:c(e.fmt.plural(e.details?.pullRequest?.comments?.length,{0:"No comments",one:"1 comment",other:"{} comments"}))},null,8,t5)],42,e5)):f("v-if",!0)])):f("v-if",!0),!e.options?.diff&&!e.options?.comments?(l(),d("div",n5,"Diff and comments are hidden by your display settings.")):f("v-if",!0),n("div",o5,[e.options?.diff&&e.prTabState?.active=="diff"?(l(),d("div",s5,[n("div",{class:"pr-diff",innerHTML:e.sanitize(e.fmt?.diff(e.anonymizePrContent(e.details?.pullRequest?.diff)))},null,8,i5)])):f("v-if",!0),e.options?.comments&&e.prTabState?.active=="comments"?(l(),d("div",r5,[n("ul",a5,[(l(!0),d(L,null,se(e.details?.pullRequest?.comments,(a,u)=>(l(),d("li",l5,[n("div",d5,[e.options?.username?(l(),d("span",u5,[t[202]||(t[202]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-user"})],-1)),t[203]||(t[203]=v(" @",-1)),n("span",{textContent:c(e.anonymizePrContent(a?.author))},null,8,c5)])):f("v-if",!0),e.options?.date?(l(),d("span",{key:1,class:"pr-comment-date",textContent:c(e.fmt?.date(a?.updatedDate))},null,8,p5)):f("v-if",!0)]),e.options?.body?(l(),d("div",f5,[_e(i,{content:e.anonymizePrContent(a?.body),options:e.options,terms:e.terms},null,8,["content","options","terms"])])):f("v-if",!0)]))),256))])])):f("v-if",!0)])])):f("v-if",!0),f(" More below: a fade with a way to keep reading (hidden by CSS once the window is scrolled to the end) "),e.previewStatus==="ready"?(l(),d("div",h5,[e.isUpdate&&e.previewUrl()?(l(),d("a",{key:0,class:"rp-more-btn",href:e.safeUrl(e.previewPath()),target:"_blank",rel:"noopener"},[...t[204]||(t[204]=[v("Continue reading on the reviewer page ",-1),n("span",{"aria-hidden":"true"},"\u2197",-1)])],8,m5)):e.previewExpanded?(l(),d("span",g5,"Scroll for more")):(l(),d("button",{key:1,type:"button",class:"rp-more-btn",onClick:t[52]||(t[52]=a=>e.previewExpanded=!0)},"Continue reading in the expanded preview"))])):f("v-if",!0)])],2)])],8,LO)):f("v-if",!0)])],512),[[x,e.workspaceOpen||e.isUpdate]])],2)}var v5={class:"container-fluid h-100 anonymize-page"},y5={class:"row h-100 flex-column flex-md-row"},b5={class:"col-md sidePanel shadow overflow-auto anonymize-form-col"},w5={class:"form-group"},k5={class:"form-group"},C5={class:"form-check"},E5={class:"form-check-input",type:"checkbox",id:"update",name:"update"},S5={class:"form-group"},N5={class:"form-text text-muted"},R5=["href"],D5={class:"invalid-feedback"},A5={class:"form-text text-muted"},T5={class:"form-group"},P5={id:"idHelp",class:"form-text text-muted"},O5={class:"invalid-feedback"},I5={class:"form-group"},M5={class:"invalid-feedback"},_5={class:"form-group"},V5={class:"form-control",id:"expiration",name:"expiration"},q5={class:"form-group",id:"expiration-date-form"},$5={class:"form-control",type:"date",name:"expirationDate",id:"expirationDate"},L5={key:0,class:"date-echo","aria-live":"polite"},U5={class:"accordion mb-3",id:"options"},F5={class:"card"},B5={id:"collapseOne",class:"collapse show","aria-labelledby":"headingOne","data-parent":"#options"},z5={class:"card-body"},H5={class:"form-group mb-0"},j5={class:"form-check"},G5={class:"form-check-input",type:"checkbox",id:"link",name:"link"},W5={class:"form-check"},K5={class:"form-check-input",type:"checkbox",id:"image",name:"image"},Y5={class:"form-check"},X5={class:"form-check-input",type:"checkbox",id:"date",name:"date"},Q5={class:"form-check"},J5={class:"form-check-input",type:"checkbox",id:"username",name:"username"},Z5={class:"form-check"},x5={class:"form-check-input",type:"checkbox",id:"comments",name:"comments"},e8={class:"form-check"},t8={class:"form-check-input",type:"checkbox",id:"diff",name:"diff"},n8={class:"form-check"},o8={class:"form-check-input",type:"checkbox",id:"origin",name:"origin"},s8={class:"form-check"},i8={class:"form-check-input",type:"checkbox",id:"title",name:"title"},r8={class:"form-check"},a8={class:"form-check-input",type:"checkbox",id:"body",name:"body"},l8=["textContent"],d8={class:"anonymize-submit-bar"},u8={key:0,class:"col-md-8 p-2 overflow-auto anonymize-preview-col"},c8={class:"d-flex w-100 justify-content-between align-items-center flex-wrap"},p8={class:"pr-title mb-1"},f8={key:0},h8=["textContent"],m8={key:0},g8={key:1,class:"pr-body shadow-sm p-3 mb-4 rounded",style:{background:"var(--sidebar-bg-color)"}},v8={class:"nav nav-tabs",id:"myTab",role:"tablist"},y8={key:0,class:"nav-item",role:"presentation"},b8={key:1,class:"nav-item",role:"presentation"},w8=["textContent"],k8={class:"tab-content",id:"pills-tabContent"},C8={class:"tab-pane show active",id:"pills-diff",role:"tabpanel","aria-labelledby":"pills-diff-tab"},E8={key:0,class:"pr-diff shadow-sm p-3 mb-4 rounded",style:{background:"var(--sidebar-bg-color)"}},S8={style:{"overflow-x":"auto"}},N8=["innerHTML"],R8={key:0,class:"pr-comments list-group"},D8={class:"pr-comment list-group-item"},A8={class:"d-flex w-100 justify-content-between flex-wrap"},T8={key:0,class:"mb-1"},P8=["textContent"],O8={class:"mb-1"};function Gc(e,t){let o=Xe("markdown"),i=Te("field"),s=Te("form");return l(),d("div",v5,[n("div",y5,[n("div",b5,[n("div",{class:T(["p-0 py-2 m-auto",{card:!e.pullRequestUrl,container:e.pullRequestUrl}])},[P((l(),d("form",{class:T(["form needs-validation",{"card-body":!e.pullRequestUrl}]),name:"anonymizeForm",novalidate:""},[t[30]||(t[30]=Ee('
    Anonymize \xA0/\xA0 Pull request

    Anonymize a pull request

    Fill in the details \u2014 it only takes a minute.

    Source
    ',4)),f(" pullRequestUrl "),n("div",w5,[t[2]||(t[2]=n("label",{for:"pullRequestUrl"},"URL of your pull request",-1)),P(n("input",{type:"text",class:T(["form-control",{"is-invalid":e.anonymize?.pullRequestUrl?.invalid}]),name:"pullRequestUrl",id:"pullRequestUrl",placeholder:"https://github.com/owner/repo/pull/123"},null,2),[[i,{state:e.viewState,set:r=>{e.pullRequestUrl=r},value:e.pullRequestUrl,form:"anonymizeForm",options:{debounce:{default:1e3,blur:0,click:0},updateOn:"default blur click"},change:()=>{e.pullRequestSelected()}}]]),P(n("div",{class:"invalid-feedback"},c(e.pullRequestUrl)+" is not accessible. Some organizations are restricting the access to the repositories. ",513),[[x,e.anonymize?.pullRequestUrl?.errors?.access]]),P(n("div",{class:"invalid-feedback"},c(e.pullRequestUrl)+" does not exist or is not accessible ",513),[[x,e.anonymize?.pullRequestUrl?.errors?.missing]]),P(n("div",{class:"invalid-feedback"},c(e.pullRequestUrl)+" is already anonymized ",513),[[x,e.anonymize?.pullRequestUrl?.errors?.used]])]),P(n("div",null,[n("div",k5,[n("div",C5,[P(n("input",E5,null,512),[[i,{state:e.viewState,set:r=>{e.options.update=r},value:e.options?.update,form:"anonymizeForm",options:{}}]]),t[3]||(t[3]=n("label",{class:"form-check-label",for:"update"},"Auto update",-1)),t[4]||(t[4]=n("small",{id:"updateHelp",class:"form-text text-muted"},"Automatically update the anonymized pull request with the latest updates. The pull request is updated once per day maximum.",-1))])]),t[26]||(t[26]=n("div",{class:"paper-section-eyebrow anonymize-section-title"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-conference"})]),v(" Conference ID ")],-1)),f(" Conference "),n("div",S5,[t[5]||(t[5]=n("label",{for:"conference"},[v("Conference ID "),n("span",{class:"text-muted"},"(Optional)")],-1)),P(n("input",{class:T(["form-control",{"is-invalid":e.anonymize?.conference?.invalid}]),id:"conference",name:"conference"},null,2),[[i,{state:e.viewState,set:r=>{e.conference=r},value:e.conference,form:"anonymizeForm",options:{debounce:{default:800,blur:0},updateOn:"default blur"}}]]),P(n("small",N5,[n("a",{target:"_target",href:e.safeUrl(e.conference_data?.url)},c(e.conference_data?.name),9,R5),v(" will expire on "+c(e.fmt?.date(e.conference_data?.endDate))+".",1)],512),[[x,e.conference_data]]),P(n("div",D5," The conference is not activated. ",512),[[x,e.anonymize?.conference?.errors?.activated]]),P(n("small",A5," Use the Conference ID that your conference provided you. This will update automatically the anonymization options based on the conference preferences. ",512),[[x,!e.conference_data]])]),t[27]||(t[27]=n("div",{class:"paper-section-eyebrow anonymize-section-title"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-shield"})]),v(" Anonymization Options ")],-1)),f(" Pull Request ID "),n("div",T5,[t[6]||(t[6]=n("label",{for:"pullRequestId"},"Anonymized pull request id",-1)),P(n("input",{type:"text",class:T(["form-control",{"is-invalid":e.anonymize?.pullRequestId?.invalid}]),name:"pullRequestId",id:"pullRequestId"},null,2),[[i,{state:e.viewState,set:r=>{e.pullRequestId=r},value:e.pullRequestId,form:"anonymizeForm",options:{debounce:{default:1e3,blur:0,click:0},updateOn:"default blur click"}}]]),n("small",P5,"Id used in the url: https://anonymous.4open.science/r/"+c(e.pullRequestId),1),P(n("div",O5," Repository id can only contain letters and numbers ",512),[[x,e.anonymize?.pullRequestId?.errors?.format]]),P(n("div",{class:"invalid-feedback"},c(e.pullRequestId)+" is already used ",513),[[x,e.anonymize?.pullRequestId?.errors?.used]])]),f(" Terms "),n("div",I5,[t[7]||(t[7]=n("label",{for:"terms"},"Terms to anonymize",-1)),P(n("textarea",{class:T(["form-control",{"is-invalid":e.anonymize?.terms?.invalid}]),id:"terms",name:"terms",rows:"3"},null,2),[[i,{state:e.viewState,set:r=>{e.terms=r},value:e.terms,form:"anonymizeForm",options:{debounce:250}}]]),t[8]||(t[8]=n("small",{id:"termsHelp",class:"form-text text-muted"},"One term per line. Each term will be replaced by XXX.",-1)),P(n("div",M5," Terms are in an invalid format ",512),[[x,e.anonymize?.terms?.errors?.format]])]),n("div",_5,[t[10]||(t[10]=n("label",{for:"expiration"},"Expiration strategy",-1)),P((l(),d("select",V5,[...t[9]||(t[9]=[n("option",{value:"never",selected:""},"Never expire",-1),n("option",{value:"redirect"}," Redirect to GitHub when expired ",-1),n("option",{value:"remove"},"Remove when expired",-1)])])),[[i,{state:e.viewState,set:r=>{e.options.expirationMode=r},value:e.options?.expirationMode,form:"anonymizeForm",options:{}}]]),t[11]||(t[11]=n("small",{class:"form-text text-muted"},"Define the expiration strategy for the anonymized repository.",-1))]),P(n("div",q5,[t[12]||(t[12]=n("label",{for:"expirationDate"},"Expiration date of the anonymized repository",-1)),P(n("input",$5,null,512),[[i,{state:e.viewState,set:r=>{e.options.expirationDate=r},value:e.options?.expirationDate,form:"anonymizeForm",options:{}}]]),e.fmt?.dateEcho(e.options?.expirationDate)?(l(),d("p",L5,"Expires "+c(e.fmt?.dateEcho(e.options?.expirationDate)),1)):f("v-if",!0),P(n("small",{class:"form-text text-muted"},"After "+c(e.fmt?.date(e.options?.expirationDate))+", the repository will be removed and the visitor will not be able to see the content of the repository.",513),[[x,e.options?.expirationMode=="remove"]]),P(n("small",{class:"form-text text-muted"},"After "+c(e.fmt?.date(e.options?.expirationDate))+", the visitors of the anonymized repository will be redirected to "+c(e.pullRequestUrl)+".",513),[[x,e.options?.expirationMode=="redirect"]])],512),[[x,e.options?.expirationMode!="never"]]),n("div",U5,[n("div",F5,[t[25]||(t[25]=Ee('

    ',1)),n("div",B5,[n("div",z5,[n("div",H5,[n("div",j5,[P(n("input",G5,null,512),[[i,{state:e.viewState,set:r=>{e.options.link=r},value:e.options?.link,form:"anonymizeForm",options:{}}]]),t[13]||(t[13]=n("label",{class:"form-check-label",for:"link"},"Keep links",-1)),t[14]||(t[14]=n("small",{class:"form-text text-muted"},"Keep or remove all the links.",-1))]),n("div",W5,[P(n("input",K5,null,512),[[i,{state:e.viewState,set:r=>{e.options.image=r},value:e.options?.image,form:"anonymizeForm",options:{}}]]),t[15]||(t[15]=n("label",{class:"form-check-label",for:"image"},"Display images",-1)),t[16]||(t[16]=n("small",{class:"form-text text-muted"},"Images are not anonymized",-1))]),n("div",Y5,[P(n("input",X5,null,512),[[i,{state:e.viewState,set:r=>{e.options.date=r},value:e.options?.date,form:"anonymizeForm",options:{}}]]),t[17]||(t[17]=n("label",{class:"form-check-label",for:"date"},"Display dates",-1)),t[18]||(t[18]=n("small",{class:"form-text text-muted"},"Display the date of the Pull Request and the date of the comments.",-1))]),n("div",Q5,[P(n("input",J5,null,512),[[i,{state:e.viewState,set:r=>{e.options.username=r},value:e.options?.username,form:"anonymizeForm",options:{}}]]),t[19]||(t[19]=n("label",{class:"form-check-label",for:"username"},"Display username",-1))]),n("div",Z5,[P(n("input",x5,null,512),[[i,{state:e.viewState,set:r=>{e.options.comments=r},value:e.options?.comments,form:"anonymizeForm",options:{}}]]),t[20]||(t[20]=n("label",{class:"form-check-label",for:"comments"},"Display comments",-1))]),n("div",e8,[P(n("input",t8,null,512),[[i,{state:e.viewState,set:r=>{e.options.diff=r},value:e.options?.diff,form:"anonymizeForm",options:{}}]]),t[21]||(t[21]=n("label",{class:"form-check-label",for:"diff"},"Display diff",-1))]),n("div",n8,[P(n("input",o8,null,512),[[i,{state:e.viewState,set:r=>{e.options.origin=r},value:e.options?.origin,form:"anonymizeForm",options:{}}]]),t[22]||(t[22]=n("label",{class:"form-check-label",for:"origin"},"Display the project name",-1))]),n("div",s8,[P(n("input",i8,null,512),[[i,{state:e.viewState,set:r=>{e.options.title=r},value:e.options?.title,form:"anonymizeForm",options:{}}]]),t[23]||(t[23]=n("label",{class:"form-check-label",for:"title"},"Display the PR title",-1))]),n("div",r8,[P(n("input",a8,null,512),[[i,{state:e.viewState,set:r=>{e.options.body=r},value:e.options?.body,form:"anonymizeForm",options:{}}]]),t[24]||(t[24]=n("label",{class:"form-check-label",for:"body"},"Display the PR body and comment bodies",-1))])])])])])])],512),[[x,e.pullRequestUrl]]),e.error?(l(),d("div",{key:0,class:"alert alert-danger",role:"alert",textContent:c(e.error)},null,8,l8)):f("v-if",!0),P(n("div",d8,[e.isUpdate?f("v-if",!0):(l(),d("button",{key:0,id:"submit",type:"submit",class:"btn btn-ink btn-block",onClick:t[0]||(t[0]=ue(r=>e.submitForm(r,()=>{e.anonymizePullRequest(r)}),["prevent"]))},[...t[28]||(t[28]=[n("svg",{class:"ui-icon mr-1","aria-hidden":"true"},[n("use",{href:"#ui-icon-shield"})],-1),v(" Anonymize ",-1)])])),e.isUpdate?(l(),d("button",{key:1,id:"submit",type:"submit",class:"btn btn-ink btn-block",onClick:t[1]||(t[1]=ue(r=>e.submitForm(r,()=>{e.updatePullRequest(r)}),["prevent"]))},[...t[29]||(t[29]=[n("svg",{class:"ui-icon mr-1","aria-hidden":"true"},[n("use",{href:"#ui-icon-save"})],-1),v(" Update ",-1)])])):f("v-if",!0)],512),[[x,e.pullRequestUrl]])],2)),[[s,e.viewState]])],2)]),e.details?(l(),d("div",u8,[n("div",c8,[n("h2",p8,[e.options?.title?(l(),d("span",f8,c(e.anonymize(e.details?.pullRequest?.title)),1)):f("v-if",!0),n("span",{class:T(["badge",{"badge-success":e.details?.pullRequest?.merged,"badge-warning":e.details?.pullRequest?.state=="open","badge-danger":e.details?.pullRequest?.state=="closed"&&!e.details?.pullRequest?.merged}])},c(e.fmt?.title(e.details?.pullRequest?.merged?"merged":e.details?.pullRequest?.state)),3)]),e.options?.date?(l(),d("small",{key:0,textContent:c(e.fmt?.date(e.details?.pullRequest?.updatedDate))},null,8,h8)):f("v-if",!0)]),e.options?.origin?(l(),d("small",m8,"Pull Request on "+c(e.details?.pullRequest?.baseRepositoryFullName),1)):f("v-if",!0),e.options?.body?(l(),d("div",g8,[_e(o,{content:e.anonymize(e.details?.pullRequest?.body),options:e.options,terms:e.terms},null,8,["content","options","terms"])])):f("v-if",!0),n("ul",v8,[e.options?.diff?(l(),d("li",y8,[...t[31]||(t[31]=[n("button",{class:"nav-link active",id:"pills-diff-tab","data-toggle":"pill","data-target":"#pills-diff",type:"button",role:"tab","aria-controls":"pills-diff","aria-selected":"true"}," Diff ",-1)])])):f("v-if",!0),e.options?.comments?(l(),d("li",b8,[n("button",{class:T(["nav-link",{active:!e.options?.diff}]),id:"pills-comments-tab","data-toggle":"pill","data-target":"#pills-comments",type:"button",role:"tab","aria-controls":"pills-comments","aria-selected":"false"},[n("span",{textContent:c(e.fmt.plural(e.details?.pullRequest?.comments?.length,{0:"No comment",one:"One Comment",other:"{} Comments"}))},null,8,w8)],2)])):f("v-if",!0)]),n("div",k8,[n("div",C8,[e.options?.diff?(l(),d("div",E8,[n("pre",S8,[n("code",{innerHTML:e.sanitize(e.fmt?.diff(e.anonymize(e.details?.pullRequest?.diff)))},null,8,N8)])])):f("v-if",!0)]),n("div",{class:T(["tab-pane",{"show active":!e.options?.diff}]),id:"pills-comments",role:"tabpanel","aria-labelledby":"pills-comments-tab"},[e.options?.comments?(l(),d("ul",R8,[(l(!0),d(L,null,se(e.details?.pullRequest?.comments,(r,a)=>(l(),d("li",D8,[n("div",A8,[e.options?.username?(l(),d("h5",T8," @"+c(e.anonymize(r?.author)),1)):f("v-if",!0),e.options?.date?(l(),d("small",{key:1,textContent:c(e.fmt?.date(r?.updatedDate))},null,8,P8)):f("v-if",!0)]),n("p",O8,[e.options?.body?(l(),un(o,{key:0,class:"pr-comment-body",content:e.anonymize(r?.body),options:e.options,terms:e.terms},null,8,["content","options","terms"])):f("v-if",!0)])]))),256))])):f("v-if",!0)],2)])])):f("v-if",!0)])])}var I8={class:"container paper-page claim-page"},M8={class:"paper-settings-main claim-form"},_8={class:"form-group"},V8={class:"invalid-feedback"},q8={class:"form-group"};function Wc(e,t){let o=Te("field"),i=Te("form");return l(),d("div",I8,[t[6]||(t[6]=Ee('
    My work \xA0/\xA0 Claim

    Claim an anonymization

    Take ownership of an existing anonymized repository so it appears on your dashboard.

    ',3)),n("div",M8,[t[5]||(t[5]=n("p",{class:"paper-section-copy"},"Use this when an anonymization was created by a co-author or from another account. You must have access to the GitHub repository it was made from.",-1)),P((l(),d("form",{class:"form needs-validation",name:"claimForm",novalidate:"",onSubmit:t[0]||(t[0]=ue(s=>e.submitForm(s,()=>{e.claim()}),["prevent"]))},[n("div",_8,[t[1]||(t[1]=n("label",{class:"paper-field-label",for:"repoUrl"},"GitHub repository URL",-1)),P(n("input",{type:"text",class:T(["form-control",{"is-invalid":e.claimForm?.repoUrl?.invalid&&(e.claimForm?.repoUrl?.touched||e.claimForm?.submitted)}]),name:"repoUrl",id:"repoUrl",placeholder:"https://github.com/owner/repository",required:""},null,2),[[o,{state:e.viewState,set:s=>{e.repoUrl=s},value:e.repoUrl,form:"claimForm",options:{}}]]),P(n("div",V8," No anonymization matches this repository and ID. Check both values and that you can access the repository on GitHub. ",512),[[x,e.claimForm?.repoUrl?.errors?.not_found]])]),n("div",q8,[t[2]||(t[2]=n("label",{class:"paper-field-label",for:"repoId"},"Anonymized repository ID",-1)),P(n("input",{type:"text",class:T(["form-control",{"is-invalid":e.claimForm?.repoId?.invalid&&(e.claimForm?.repoId?.touched||e.claimForm?.submitted)}]),name:"repoId",id:"repoId",placeholder:"e.g. my-paper-7F2A","aria-describedby":"idHelp",required:""},null,2),[[o,{state:e.viewState,set:s=>{e.repoId=s},value:e.repoId,form:"claimForm",options:{}}]]),t[3]||(t[3]=n("small",{id:"idHelp",class:"form-text text-muted"},[v("The ID is the last part of the anonymized URL: "),n("code",null,"anonymous.4open.science/r/"),v(".")],-1))]),t[4]||(t[4]=n("button",{id:"submit",type:"submit",class:"btn btn-ink"}," Claim anonymization ",-1))],32)),[[i,e.viewState]])])])}var $8={class:"container page paper-page conference-page"},L8={class:"paper-crumbs"},U8={class:"here"},F8={class:"d-flex align-items-end flex-wrap",style:{gap:"12px","justify-content":"space-between"}},B8={class:"conf-title-row"},z8=["textContent"],H8={key:0,class:"conf-status"},j8=["textContent"],G8={key:0,class:"paper-page-lede"},W8=["textContent","href"],K8={class:"d-flex align-items-center flex-wrap",style:{gap:"10px"}},Y8=["href"],X8={class:"paper-meta-rule"},Q8=["textContent"],J8=["textContent"],Z8={key:0},x8={key:0,class:"conference-payment-status",role:"status"},eM=["disabled"],tM={key:1,role:"alert"},nM={key:2,class:"paper-settings-section","aria-labelledby":"conference-payment-heading"},oM={key:0,role:"status"},sM={key:1,role:"alert"},iM=["onClick","disabled"],rM={class:"dashboard-meta conf-view-meta"},aM={class:"dashboard-view-tabs",role:"group","aria-label":"Repository view"},lM=["aria-pressed"],dM=["aria-pressed","aria-label"],uM=["aria-pressed"],cM={class:"attention-count"},pM={class:"dashboard-count",role:"status"},fM={class:"search-wrap"},hM={type:"search",id:"search",class:"form-control","aria-label":"Search repositories",placeholder:"Search repositories\u2026",autocomplete:"off"},mM={class:"dashboard-filter-controls"},gM={class:"dropdown"},vM={class:"btn dropdown-toggle",type:"button",id:"dropdownSort","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},yM={class:"filter-btn-value"},bM={class:"dropdown-menu","aria-labelledby":"dropdownSort"},wM={class:"form-check dropdown-item"},kM={class:"form-check-input",type:"radio",name:"sort",id:"anonymizeDate",value:"-anonymizeDate"},CM={class:"form-check dropdown-item"},EM={class:"form-check-input",type:"radio",name:"sort",id:"sortID",value:"repoId"},SM={class:"form-check dropdown-item"},NM={class:"form-check-input",type:"radio",name:"sort",id:"sortStatus",value:"-status"},RM={class:"form-check dropdown-item"},DM={class:"form-check-input",type:"radio",name:"sort",id:"sortViews",value:"-pageView"},AM={class:"dashboard-page conf-rows"},TM={class:"cell-anon",role:"cell"},PM={class:"anon-text"},OM={class:"anon-title"},IM=["title","href"],MM={class:"rn-owner"},_M={class:"rn-repo"},VM={class:"anon-sub"},qM=["title"],$M={class:"id-head"},LM={class:"id-tail"},UM=["title"],FM={class:"dashboard-row-meta",role:"presentation"},BM={class:"cell-status",role:"cell"},zM={class:"status-line"},HM=["textContent"],jM=["textContent","title"],GM=["href"],WM=["onClick","disabled"],KM={key:3,class:"status-sub status-sub-date"},YM=["data-unit","aria-label"],XM={class:"cell-expires",role:"cell"},QM={key:0,class:"expires-never"},JM=["textContent"],ZM={key:2,class:"expires-past"},xM={key:3,class:"empty-dash","aria-label":"Not applicable"},e_={class:"cell-actions",role:"cell"},t_=["onClick","disabled","title","aria-label"],n_={class:"sr-only","aria-live":"polite"},o_={class:"project-type-svg","aria-hidden":"true"},s_=["href"],i_={class:"copy-url-label","aria-hidden":"true"},r_=["href","aria-label"],a_={class:"dropdown"},l_=["aria-label"],d_={class:"dropdown-menu dropdown-menu-right"},u_=["href"],c_=["href"],p_=["href"],f_={key:0,class:"paper-table-empty"},h_={key:0},m_={key:1},g_={key:2,class:"paper-table-empty-actions"};function Kc(e,t){let o=Te("field"),i=Te("form");return l(),d("div",$8,[n("div",null,[n("div",L8,[t[6]||(t[6]=n("a",{href:"/dashboard"},"My work",-1)),t[7]||(t[7]=v(" \xA0/\xA0 ",-1)),t[8]||(t[8]=n("a",{href:"/conferences"},"Conferences",-1)),t[9]||(t[9]=v(" \xA0/\xA0 ",-1)),n("span",U8,c(e.conference?.conferenceID),1)]),n("div",F8,[n("div",null,[n("div",B8,[n("h1",{class:"paper-page-title",textContent:c(e.conference?.name)},null,8,z8),e.conference?.status?(l(),d("span",H8,[n("span",{class:T(["status-dot","status-"+e.conference?.status]),"aria-hidden":"true"},null,2),n("span",{textContent:c(e.fmt?.statusLabel(e.conference?.status))},null,8,j8)])):f("v-if",!0)]),e.conference?.url?(l(),d("p",G8,[n("a",{target:"_blank",rel:"noopener",textContent:c(e.conference?.url),href:e.safeUrl(e.conference?.url)},null,8,W8)])):f("v-if",!0)]),n("div",K8,[n("a",{class:"btn btn-outline-ink",href:e.safeUrl("/conference/"+e.conference?.conferenceID+"/edit")},[...t[10]||(t[10]=[n("svg",{class:"ui-icon mr-1","aria-hidden":"true"},[n("use",{href:"#ui-icon-edit"})],-1),v(" Edit conference",-1)])],8,Y8)])]),n("div",X8,[n("span",null,[t[11]||(t[11]=v("ID ",-1)),n("b",{class:"commit-hash",textContent:c(e.conference?.conferenceID)},null,8,Q8)]),n("span",null,[t[12]||(t[12]=v("Review window ",-1)),n("b",null,c(e.fmt?.date(e.conference?.startDate,"mediumDate"))+" \u2013 "+c(e.fmt?.date(e.conference?.endDate,"mediumDate")),1)]),n("span",null,[t[13]||(t[13]=v("Repositories ",-1)),n("b",null,c(e.fmt?.number(e.conference?.repositories?.length)),1)]),n("span",null,[t[14]||(t[14]=v("Plan ",-1)),n("b",{textContent:c(e.conferencePlanName(e.conference?.plan?.planID))},null,8,J8)]),e.conference?.price?(l(),d("span",Z8,[t[15]||(t[15]=v("Cost so far ",-1)),n("b",null,c(e.fmt?.money(e.conference?.price)),1)])):f("v-if",!0)]),e.billingNotice?(l(),d("div",x8,[n("p",null,c(e.billingNotice),1),n("button",{type:"button",class:"btn btn-outline-ink",onClick:t[0]||(t[0]=s=>e.refreshBilling()),disabled:e.billingBusy},"Check payment status",8,eM)])):f("v-if",!0),e.billingError&&e.conference?.status!=="pending_payment"?(l(),d("p",tM,c(e.billingError),1)):f("v-if",!0),e.conference?.status==="pending_payment"?(l(),d("section",nM,[t[16]||(t[16]=n("h2",{id:"conference-payment-heading"},"Activate your review package",-1)),t[17]||(t[17]=n("p",null,"This conference is waiting for payment. Authors can join after payment is confirmed. Checkout returns to this conference. Authors within the package do not pay separately.",-1)),e.billingLoading?(l(),d("p",oM,"Loading payment options\u2026")):f("v-if",!0),e.billingError?(l(),d("p",sM,c(e.billingError),1)):f("v-if",!0),(l(!0),d(L,null,se((e.billing?.plans||[]).filter(s=>s.id===e.conference?.plan?.planID),s=>(l(),d("div",{key:s.id},[n("p",null,[n("strong",null,c(s.name)+" package",1),v(": "+c(e.billingPrice(s))+" for up to "+c(s.repositories)+" repositories and "+c(e.billingBytes(s.storage))+" of source files during the review window. Taxes, if applicable, appear at checkout.",1)]),n("button",{type:"button",class:"btn btn-primary",onClick:r=>e.checkout(s.id,e.conference.conferenceID),disabled:e.billingBusy||e.billingPending||e.billing?.checkoutEnabled===!1},c(e.billingBusy?"Please wait\u2026":"Pay for review package"),9,iM)]))),128)),t[18]||(t[18]=n("p",null,[n("a",{href:"/profile#settings-billing"},"Manage invoices")],-1))])):f("v-if",!0),n("div",rM,[n("div",aM,[n("button",{type:"button","aria-pressed":e.confView()==="current",onClick:t[1]||(t[1]=s=>e.setConfView("current")),title:"Every repository except removed links"},"Current",8,lM),e.confCount("attention")>0||e.confView()==="attention"?(l(),d("button",{key:0,type:"button","aria-pressed":e.confView()==="attention",onClick:t[2]||(t[2]=s=>e.setConfView("attention")),"aria-label":"Needs attention "+e.confCount("attention")},[t[19]||(t[19]=n("span",{class:"dashboard-attention-prefix"},"Needs ",-1)),t[20]||(t[20]=n("span",null,"attention",-1)),t[21]||(t[21]=v()),n("span",{class:T(["attention-count",{"has-attention":e.confCount("attention")>0}])},c(e.fmt?.number(e.confCount("attention"))),3)],8,dM)):f("v-if",!0),e.confCount("removed")>0||e.confView()==="removed"?(l(),d("button",{key:1,type:"button","aria-pressed":e.confView()==="removed",onClick:t[3]||(t[3]=s=>e.setConfView("removed")),title:"Links reviewers can no longer open"},[t[22]||(t[22]=v("Removed ",-1)),n("span",cM,c(e.fmt?.number(e.confCount("removed"))),1)],8,uM)):f("v-if",!0)]),n("span",pM,c(e.search.trim()?e.fmt?.number(e.filteredRepositories?.length||0)+" shown":e.fmt?.number(e.filteredRepositories?.length||0)+((e.filteredRepositories?.length||0)===1?" repository":" repositories")),1)]),P((l(),d("form",{class:"w-100 conf-repo-toolbar","aria-label":"Filter repositories","accept-charset":"UTF-8",onSubmit:t[4]||(t[4]=ue(s=>e.submitForm(s,()=>{s.preventDefault()}),["prevent"]))},[n("div",fM,[P(n("input",hM,null,512),[[o,{state:e.viewState,set:s=>{e.search=s},value:e.search,form:null,options:{}}]])]),n("div",mM,[n("div",gM,[n("button",vM,[t[23]||(t[23]=n("span",{class:"filter-btn-label"},"Sort",-1)),n("span",yM,c({"-anonymizeDate":"Anonymize date",repoId:"ID","-status":"Status","-pageView":"Views"}[e.orderBy]||"Custom"),1)]),n("div",bM,[t[28]||(t[28]=n("h6",{class:"dropdown-header"},"Order by",-1)),n("div",wM,[P(n("input",kM,null,512),[[o,{state:e.viewState,set:s=>{e.orderBy=s},value:e.orderBy,form:null,options:{}}]]),t[24]||(t[24]=n("label",{class:"form-check-label",for:"anonymizeDate"},"Anonymize date",-1))]),n("div",CM,[P(n("input",EM,null,512),[[o,{state:e.viewState,set:s=>{e.orderBy=s},value:e.orderBy,form:null,options:{}}]]),t[25]||(t[25]=n("label",{class:"form-check-label",for:"sortID"},"ID",-1))]),n("div",SM,[P(n("input",NM,null,512),[[o,{state:e.viewState,set:s=>{e.orderBy=s},value:e.orderBy,form:null,options:{}}]]),t[26]||(t[26]=n("label",{class:"form-check-label",for:"sortStatus"},"Status",-1))]),n("div",RM,[P(n("input",DM,null,512),[[o,{state:e.viewState,set:s=>{e.orderBy=s},value:e.orderBy,form:null,options:{}}]]),t[27]||(t[27]=n("label",{class:"form-check-label",for:"sortViews"},"Views",-1))])])])])],32)),[[i,e.viewState]]),n("div",AM,[n("div",{class:T(["paper-table paper-table-dashboard paper-table-conf w-100",{"is-removed-view":e.confView()==="removed"}]),role:"table","aria-label":"Repositories"},[t[37]||(t[37]=n("div",{class:"paper-table-head",role:"row"},[n("div",{role:"columnheader"},"Repository"),n("div",{role:"columnheader"},"Status"),n("div",{role:"columnheader",class:"num"},"Views"),n("div",{role:"columnheader"},"Expires"),n("div",{role:"columnheader"},[n("span",{class:"sr-only"},"Actions")])],-1)),(l(!0),d(L,null,se(e.filteredRepositories,(s,r)=>(l(),d("div",{class:T(["paper-table-row",{"repo-inactive":s?.status=="expired"||s?.status=="removed","repo-error":s?.status=="error"}]),role:"row",key:s?.repoId},[n("div",TM,[t[30]||(t[30]=n("span",{class:"project-type-icon",role:"img","aria-label":"Repository",title:"Repository"},[n("svg",{class:"project-type-svg","aria-hidden":"true"},[n("use",{href:"#project-type-repo"})])],-1)),n("div",PM,[n("div",OM,[n("a",{class:"repo-name",title:s?.source?.fullName,href:e.safeUrl("/r/"+s?.repoId+"/")},[(s?.source?.fullName||"").indexOf("/")>0?(l(),d(L,{key:0},[n("span",MM,c(s.source.fullName.slice(0,s.source.fullName.indexOf("/")+1)),1),t[29]||(t[29]=n("wbr",null,null,-1)),n("span",_M,c(s.source.fullName.slice(s.source.fullName.indexOf("/")+1)),1)],64)):(l(),d(L,{key:1},[v(c(s?.source?.fullName||s?.repoId),1)],64))],8,IM)]),n("div",VM,[n("code",{class:"anonymous-id",title:s?.repoId},[(s?.repoId||"").length>14?(l(),d(L,{key:0},[n("span",$M,c(s.repoId.slice(0,-6)),1),n("span",LM,c(s.repoId.slice(-6)),1)],64)):(l(),d(L,{key:1},[v(c(s?.repoId),1)],64))],8,qM),s?.source?.commit?(l(),d("span",{key:0,class:"commit-hash",title:s.source.commit},c(s.source.commit.substring(0,7)),9,UM)):f("v-if",!0)])])]),n("div",FM,[n("div",BM,[n("div",zM,[n("span",{class:T(["status-dot","status-"+(s?.status=="error"?"error":s?.status=="ready"?"ready":s?.status=="expired"||s?.status=="removed"?s?.status:"progress")]),"aria-hidden":"true"},null,2),n("span",{class:"status-word",textContent:c(e.fmt?.statusLabel(s?.status))},null,8,HM)]),s?.status=="error"&&s?.statusMessage?(l(),d("div",{key:0,class:"status-sub status-sub-error",textContent:c(e.fmt?.statusMsg(s?.statusMessage)),title:s?.statusMessage},null,8,jM)):f("v-if",!0),s?.status=="error"?(l(),d("a",{key:1,class:"project-attention-action",href:e.safeUrl("/status/"+s?.repoId)},"View status",8,GM)):f("v-if",!0),s?.status=="expired"?(l(),d("button",{key:2,type:"button",class:"project-attention-action",onClick:ue(a=>e.extendRepo(s),["stop"]),disabled:e.extendingId===s?.repoId,title:"Reviewers can no longer open this link"},"Extend 6 months",8,WM)):f("v-if",!0),s?.anonymizeDate&&s?.status!="error"&&s?.status!="expired"?(l(),d("div",KM,"anonymized "+c(e.fmt?.humanTime(s?.anonymizeDate)),1)):f("v-if",!0)]),n("div",{class:"cell-views num",role:"cell","data-unit":(s?.pageView||0)===1?"view":"views","aria-label":e.fmt?.number(s?.pageView||0)+((s?.pageView||0)===1?" view":" views")},[t[31]||(t[31]=n("svg",{class:"project-type-svg mobile-meta-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-eye"})],-1)),n("span",null,c(e.fmt?.number(s?.pageView||0)),1)],8,YM),n("div",XM,[t[33]||(t[33]=n("svg",{class:"project-type-svg mobile-meta-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-clock"})],-1)),s?.status=="ready"&&(s?.options?.expirationMode==="never"||!s?.options?.expirationDate)?(l(),d("span",QM,"No expiry")):f("v-if",!0),s?.status=="ready"&&s?.options?.expirationMode!=="never"&&s?.options?.expirationDate?(l(),d("span",{key:1,textContent:c((e.fmt?.humanTime(s?.options?.expirationDate)||"").replace(/^on /,""))},null,8,JM)):f("v-if",!0),s?.status=="expired"?(l(),d("span",ZM,[t[32]||(t[32]=n("span",{class:"expires-past-prefix"},"Expired ",-1)),v(c(e.fmt?.shortDate(s?.options?.expirationDate)),1)])):f("v-if",!0),s?.status!="ready"&&s?.status!="expired"?(l(),d("span",xM,"\u2014")):f("v-if",!0)])]),n("div",e_,[s?.status!="expired"&&s?.status!="removed"?(l(),d("button",{key:0,type:"button",class:"copy-url",onClick:ue(a=>e.copyRepoLink(s),["stop"]),disabled:!!e.copyingId,title:"Copy link: /r/"+s?.repoId+"/","aria-label":"Copy anonymous link for "+s?.repoId},[n("span",n_,c(e.copyingId===s?.repoId?"Link copied":""),1),(l(),d("svg",o_,[n("use",{href:e.copyingId===s?.repoId?"#ui-icon-check":"#project-icon-copy"},null,8,s_)])),n("span",i_,c(e.copyingId===s?.repoId?"Copied":"Copy link"),1)],8,t_)):f("v-if",!0),s?.status!="expired"&&s?.status!="removed"?(l(),d("a",{key:1,class:"row-edit row-open",href:e.safeUrl("/r/"+s?.repoId+"/"),target:"_blank",rel:"noopener",title:"Open what reviewers see","aria-label":"Open anonymous page for "+s?.repoId},[...t[34]||(t[34]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-external-link"})],-1)])],8,r_)):f("v-if",!0),n("div",a_,[n("button",{class:"btn btn-icon-dots",type:"button","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false","aria-label":"Actions for "+s?.repoId},[...t[35]||(t[35]=[n("svg",{class:"project-type-svg","aria-hidden":"true"},[n("use",{href:"#project-icon-more"})],-1)])],8,l_),n("div",d_,[n("a",{class:"dropdown-item",href:e.safeUrl("/r/"+s?.repoId+"/")},"View",8,u_),n("a",{class:"dropdown-item",href:e.safeUrl("https://github.com/"+s?.source?.fullName+"/"),target:"_blank",rel:"noopener"},"Open source on GitHub",8,c_),n("a",{class:"dropdown-item",href:e.safeUrl("/anonymize/"+s?.repoId)},"Edit",8,p_)])])])],2))),128)),e.filteredRepositories?.length==0?(l(),d("div",f_,[t[36]||(t[36]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-inbox"})],-1)),e.conference?.repositories?.length?f("v-if",!0):(l(),d("span",h_,"No repository has been submitted to this conference yet.")),e.conference?.repositories?.length?(l(),d("span",m_,"Nothing matches the current filters.")):f("v-if",!0),e.conference?.repositories?.length?(l(),d("div",g_,[n("button",{type:"button",class:"btn btn-outline-ink",onClick:t[5]||(t[5]=s=>{e.search="",e.setConfView("current")})},"Clear filters")])):f("v-if",!0)])):f("v-if",!0)],2)])])])}var v_={class:"container page paper-page conferences-page"},y_={class:"row"},b_={class:"w-100"},w_={class:"d-flex align-items-start justify-content-between flex-wrap page-head-row page-head page-head-main",style:{gap:"12px"}},k_={key:0,href:"/conference/new",class:"btn btn-primary"},C_={class:"search-wrap"},E_={type:"search",id:"search",class:"form-control","aria-label":"Search conferences",placeholder:"Search by name or ID\u2026",autocomplete:"off"},S_={class:"dashboard-filter-controls"},N_={class:"dropdown"},R_={class:"btn dropdown-toggle",type:"button",id:"dropdownSort","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},D_={class:"filter-btn-value"},A_={class:"dropdown-menu","aria-labelledby":"dropdownSort"},T_={class:"form-check dropdown-item"},P_={class:"form-check-input",type:"radio",name:"sort",id:"sortName",value:"name"},O_={class:"form-check dropdown-item"},I_={class:"form-check-input",type:"radio",name:"sort",id:"sortID",value:"conferenceID"},M_={class:"form-check dropdown-item"},__={class:"form-check-input",type:"radio",name:"sort",id:"sortStatus",value:"-status"},V_={class:"dropdown"},q_={class:"btn dropdown-toggle",type:"button",id:"dropdownStatus","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},$_={key:0,class:"filter-btn-value"},L_={key:1,class:"filter-btn-value"},U_={class:"dropdown-menu","aria-labelledby":"dropdownStatus"},F_={class:"form-check dropdown-item"},B_=["id"],z_=["for"],H_={key:1,class:"dashboard-meta"},j_={class:"dashboard-count"},G_={key:0},W_={key:0},K_={key:1},Y_={key:0,class:"filter-chip"},X_=["onClick","aria-label"],Q_={key:0,class:"conference-feedback",role:"alert"},J_={key:1,class:"conference-feedback",role:"status"},Z_={class:"paper-table paper-table-conferences w-100",role:"table","aria-label":"Conferences"},x_={class:"cell-anon",role:"cell"},e6={class:"anon-text"},t6=["textContent","href"],n6={class:"anon-sub"},o6={class:"anon-source"},s6=["textContent"],i6={key:0},r6=["textContent","href"],a6={class:"cell-status",role:"cell"},l6={class:"status-line"},d6=["textContent"],u6={class:"cell-views num",role:"cell"},c6=["textContent"],p6={class:"cell-expires",role:"cell"},f6={key:0},h6={key:1,class:"empty-dash","aria-label":"No review window"},m6={class:"cell-actions",role:"cell"},g6={class:"dropdown"},v6=["disabled","aria-label"],y6={class:"dropdown-menu dropdown-menu-right"},b6=["href"],w6=["href"],k6={key:0},C6=["onClick"],E6={key:0,class:"paper-table-empty"},S6={key:0,class:"empty-icon","aria-hidden":"true"},N6={key:1,class:"ui-icon","aria-hidden":"true"},R6={key:3},D6={class:"paper-table-empty-actions"},A6={key:0,href:"/conference/new",class:"btn btn-primary conf-empty-new"};function Yc(e,t){let o=Te("field"),i=Te("form");return l(),d("div",v_,[n("div",y_,[n("div",b_,[n("div",w_,[t[4]||(t[4]=n("div",null,[n("h1",{class:"paper-page-title"},[v("Your "),n("em",null,"conferences")]),n("p",{class:"paper-page-lede"},"Group anonymizations by venue, give chairs a shared dashboard, and set one expiry for every submission.")],-1)),e.conferences&&e.conferences.length==0?f("v-if",!0):(l(),d("a",k_,[...t[3]||(t[3]=[n("svg",{class:"ui-icon mr-1","aria-hidden":"true"},[n("use",{href:"#project-icon-plus"})],-1),v(" New conference ",-1)])]))]),e.conferences?.length>0?P((l(),d("form",{key:0,class:"w-100 dashboard-filter-row","aria-label":"Filter conferences","accept-charset":"UTF-8",onSubmit:t[0]||(t[0]=ue(s=>e.submitForm(s,()=>{s.preventDefault()}),["prevent"]))},[n("div",C_,[P(n("input",E_,null,512),[[o,{state:e.viewState,set:s=>{e.search=s},value:e.search,form:null,options:{}}]])]),n("div",S_,[n("div",N_,[n("button",R_,[t[5]||(t[5]=n("span",{class:"filter-btn-label"},"Sort",-1)),n("span",D_,c({name:"Name",conferenceID:"ID","-status":"Status"}[e.orderBy]||"Custom"),1)]),n("div",A_,[t[9]||(t[9]=n("h6",{class:"dropdown-header"},"Order by",-1)),n("div",T_,[P(n("input",P_,null,512),[[o,{state:e.viewState,set:s=>{e.orderBy=s},value:e.orderBy,form:null,options:{}}]]),t[6]||(t[6]=n("label",{class:"form-check-label",for:"sortName"},"Name",-1))]),n("div",O_,[P(n("input",I_,null,512),[[o,{state:e.viewState,set:s=>{e.orderBy=s},value:e.orderBy,form:null,options:{}}]]),t[7]||(t[7]=n("label",{class:"form-check-label",for:"sortID"},"ID",-1))]),n("div",M_,[P(n("input",__,null,512),[[o,{state:e.viewState,set:s=>{e.orderBy=s},value:e.orderBy,form:null,options:{}}]]),t[8]||(t[8]=n("label",{class:"form-check-label",for:"sortStatus"},"Status",-1))])])]),n("div",V_,[n("button",q_,[t[10]||(t[10]=n("span",{class:"filter-btn-label"},"Status",-1)),e.filters?.status?.ready&&e.filters?.status?.expired&&e.filters?.status?.removed?(l(),d("span",$_,"All")):f("v-if",!0),e.filters?.status?.ready&&e.filters?.status?.expired&&e.filters?.status?.removed?f("v-if",!0):(l(),d("span",L_,c((e.filters?.status?.ready?0:1)+(e.filters?.status?.expired?0:1)+(e.filters?.status?.removed?0:1))+" hidden ",1))]),n("div",U_,[t[11]||(t[11]=n("h6",{class:"dropdown-header"},"Show statuses",-1)),(l(!0),d(L,null,se(e.statusLabels,(s,r,a)=>(l(),d("div",F_,[P(n("input",{class:"form-check-input",type:"checkbox",id:"status-"+r},null,8,B_),[[o,{state:e.viewState,set:u=>{e.filters.status[r]=u},value:e.filters?.status[r],form:null,options:{}}]]),n("label",{class:"form-check-label",for:"status-"+r},c(s),9,z_)]))),256))])])])],32)),[[i,e.viewState]]):f("v-if",!0),e.conferences?.length>0?(l(),d("div",H_,[n("span",j_,[e.filteredConferences?.length===e.conferences?.length?(l(),d("span",G_,[v(c(e.fmt?.number(e.conferences?.length))+" conference",1),e.conferences?.length!==1?(l(),d("span",W_,"s")):f("v-if",!0)])):f("v-if",!0),e.filteredConferences?.length!==e.conferences?.length?(l(),d("span",K_,c(e.fmt?.number(e.filteredConferences?.length))+" of "+c(e.fmt?.number(e.conferences?.length))+" shown",1)):f("v-if",!0)]),(l(!0),d(L,null,se(e.filters?.status,(s,r,a)=>(l(),d(L,null,[s===!1?(l(),d("span",Y_,[v(" Hiding "+c(e.statusLabels[r])+" ",1),n("button",{type:"button",class:"filter-chip-close",onClick:u=>{e.filters.status[r]=!0},"aria-label":"Show "+e.statusLabels[r]+" again"},"\xD7",8,X_)])):f("v-if",!0)],64))),256))])):f("v-if",!0)]),e.error?(l(),d("div",Q_,[n("span",null,c(e.error),1),n("button",{type:"button",class:"btn btn-outline-ink",onClick:t[1]||(t[1]=s=>e.loadConferences())},"Retry")])):f("v-if",!0),e.loading?(l(),d("div",J_,"Loading conferences\u2026")):f("v-if",!0),n("div",Z_,[t[28]||(t[28]=n("div",{class:"paper-table-head",role:"row"},[n("div",{role:"columnheader"},"Conference"),n("div",{role:"columnheader"},"Status"),n("div",{role:"columnheader",class:"num"},"Repos"),n("div",{role:"columnheader"},"Review window"),n("div",{role:"columnheader"},[n("span",{class:"sr-only"},"Actions")])],-1)),(l(!0),d(L,null,se(e.filteredConferences,(s,r)=>(l(),d("div",{class:T(["paper-table-row row-clickable",{"repo-inactive":s?.status=="expired"||s?.status=="removed"}]),role:"row",key:s?.conferenceID},[n("div",x_,[t[14]||(t[14]=n("svg",{class:"ui-icon record-type-icon",role:"img","aria-label":"Conference"},[n("use",{href:"#project-icon-conference"})],-1)),n("div",e6,[n("a",{class:"repo-name",textContent:c(s?.name),href:e.safeUrl("/conference/"+s?.conferenceID)},null,8,t6),n("div",n6,[n("span",o6,[t[13]||(t[13]=v("ID ",-1)),n("span",{class:"commit-hash",textContent:c(s?.conferenceID)},null,8,s6),s?.url?(l(),d("span",i6,[t[12]||(t[12]=v(" \xB7 ",-1)),n("a",{target:"_blank",rel:"noopener",textContent:c(e.fmt?.limitTo(s?.url,60)),href:e.safeUrl(s?.url)},null,8,r6)])):f("v-if",!0)])])])]),n("div",a6,[n("div",l6,[n("span",{class:T(["status-dot","status-"+s?.status]),"aria-hidden":"true"},null,2),n("span",{class:"status-word",textContent:c(e.fmt?.statusLabel(s?.status))},null,8,d6)])]),n("div",u6,[t[15]||(t[15]=n("svg",{class:"ui-icon mobile-meta-icon","aria-hidden":"true"},[n("use",{href:"#project-type-repo"})],-1)),t[16]||(t[16]=v()),n("span",{textContent:c(e.fmt?.number(s?.nbRepositories||0))},null,8,c6)]),n("div",p6,[t[17]||(t[17]=n("svg",{class:"ui-icon mobile-meta-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-clock"})],-1)),s?.startDate?(l(),d("span",f6,c(e.fmt?.date(s?.startDate,"mediumDate"))+" \u2013 "+c(e.fmt?.date(s?.endDate,"mediumDate")),1)):f("v-if",!0),s?.startDate?f("v-if",!0):(l(),d("span",h6,"\u2014"))]),n("div",m6,[n("div",g6,[n("button",{class:"btn btn-icon-dots",type:"button","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false",disabled:s?.removing,"aria-label":"Actions for "+s?.name},[...t[18]||(t[18]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-more"})],-1)])],8,v6),n("div",y6,[n("a",{class:"dropdown-item",href:e.safeUrl("/conference/"+s?.conferenceID+"/")},[...t[19]||(t[19]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-eye"})],-1),v(" View ",-1)])],8,b6),n("a",{class:"dropdown-item",href:e.safeUrl("/conference/"+s?.conferenceID+"/edit")},[...t[20]||(t[20]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-edit"})],-1),v(" Edit ",-1)])],8,w6),s?.status!="removed"?(l(),d("div",k6,[t[22]||(t[22]=n("div",{class:"dropdown-divider"},null,-1)),n("button",{type:"button",class:"dropdown-item dropdown-item-danger",onClick:a=>e.removeConference(s)},[...t[21]||(t[21]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-trash"})],-1),v(" Remove ",-1)])],8,C6)])):f("v-if",!0)])])])],2))),128)),!e.loading&&!e.error&&e.filteredConferences?.length==0?(l(),d("div",E6,[e.conferences?.length==0?(l(),d("span",S6,[...t[23]||(t[23]=[n("svg",{class:"ui-icon"},[n("use",{href:"#project-icon-conference"})],-1)])])):f("v-if",!0),e.conferences?.length>0?(l(),d("svg",N6,[...t[24]||(t[24]=[n("use",{href:"#project-icon-inbox"},null,-1)])])):f("v-if",!0),e.conferences?.length==0?(l(),d(L,{key:2},[t[25]||(t[25]=n("strong",{class:"empty-title"},"No conferences yet",-1)),t[26]||(t[26]=n("span",null,"Create one to group submissions for a venue, share a dashboard with chairs, and set a single expiry date.",-1))],64)):f("v-if",!0),e.conferences?.length>0?(l(),d("span",R6,"Nothing matches the current filters.")):f("v-if",!0),n("div",D6,[e.conferences?.length==0?(l(),d("a",A6,[...t[27]||(t[27]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-plus"})],-1),v(" New conference",-1)])])):f("v-if",!0),e.conferences?.length>0?(l(),d("button",{key:1,type:"button",class:"btn btn-outline-ink",onClick:t[2]||(t[2]=s=>{e.search="",e.filters.status.ready=!0,e.filters.status.expired=!0,e.filters.status.removed=!0})},"Clear filters")):f("v-if",!0)])])):f("v-if",!0)])])])}var T6={class:"container page dashboard-page paper-page"},P6={class:"row"},O6={class:"w-100"},I6={class:"dashboard-heading page-head page-head-main"},M6={class:"dashboard-title-line"},_6={key:0,class:"dashboard-count-head","aria-hidden":"true"},V6={key:0},q6={class:"dashboard-heading-actions"},$6=["open"],L6=["aria-expanded"],U6=["stroke-dasharray"],F6={key:1,d:"M7 12c0-4 4-4 5 0s5 4 5 0-4-4-5 0-5 4-5 0",class:"quota-ring-unlimited"},B6={key:0,class:"quota-summary-value"},z6={key:0},H6={class:"quota-panel",id:"dashboard-usage"},j6={class:"quota-panel-heading"},G6={key:1,class:"quota-loading",role:"status"},W6={key:0,class:"dashboard-meta"},K6={key:0,class:"dashboard-view-tabs",role:"group","aria-label":"Project view"},Y6=["aria-pressed"],X6=["aria-pressed","aria-label"],Q6=["aria-pressed","aria-label"],J6={key:0,class:"attention-count"},Z6={key:0},x6={key:0},eV={key:1},tV={class:"search-wrap"},nV={type:"search",id:"search",class:"form-control","aria-label":"Search anonymizations",placeholder:"Search projects\u2026",autocomplete:"off"},oV=["aria-expanded"],sV={class:"btn-group",role:"group","aria-label":"Type"},iV=["aria-pressed"],rV=["aria-pressed"],aV=["aria-pressed"],lV=["aria-pressed"],dV={class:"dropdown"},uV={class:"btn dropdown-toggle",type:"button",id:"dropdownSort","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},cV={class:"filter-btn-value"},pV={class:"sr-only"},fV={class:"dropdown-menu","aria-labelledby":"dropdownSort"},hV={class:"form-check dropdown-item"},mV=["onClick","checked","id"],gV=["for"],vV=["inert"],yV={class:"btn dropdown-toggle",type:"button",id:"dropdownStatus","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},bV={class:"filter-btn-value"},wV={class:"dropdown-menu","aria-labelledby":"dropdownStatus"},kV={key:0,class:"form-check dropdown-item"},CV=["id"],EV=["for"],SV={key:1,class:"dashboard-active-filters dashboard-active-filters-row"},NV=["onClick","aria-label","title"],RV=["aria-busy"],DV={class:"paper-table-head",role:"row"},AV=["aria-sort"],TV=["aria-sort"],PV=["aria-sort"],OV=["aria-sort"],IV={key:0,class:"paper-table-row paper-table-skeleton",role:"row","aria-hidden":"true"},MV=["onClick"],_V={class:"cell-anon",role:"cell"},VV=["aria-label","title"],qV={class:"project-type-svg","aria-hidden":"true"},$V=["href"],LV={class:"anon-text"},UV={class:"anon-title"},FV=["title","href"],BV={class:"rn-owner"},zV={class:"rn-repo"},HV={key:1,class:"repo-name repo-name-static"},jV={class:"rn-owner"},GV={class:"rn-repo"},WV={key:2,class:"type-badge type-coauthor",title:"You are a co-author on this anonymization"},KV={key:0,class:"anon-sub"},YV=["title"],XV={class:"id-head"},QV={class:"id-tail"},JV=["title"],ZV=["title"],xV=["textContent"],eq={class:"dashboard-row-meta",role:"presentation"},tq={class:"cell-status",role:"cell"},nq={class:"status-line"},oq=["textContent"],sq=["onClick"],iq=["textContent","title"],rq=["title"],aq=["href"],lq={key:3,class:"status-action-line"},dq={key:0,class:"status-stuck"},uq=["onClick","data-project-actions","aria-controls","aria-expanded"],cq=["onClick"],pq={key:5,class:"status-sub status-sub-date status-sub-removed"},fq={key:6,class:"status-sub status-sub-date"},hq=["data-unit","aria-label"],mq={class:"cell-expires",role:"cell"},gq={key:0,class:"expires-never"},vq=["textContent"],yq=["title"],bq={key:3,class:"expires-past"},wq={key:4,class:"expires-past"},kq={key:5,class:"empty-dash","aria-label":"Not applicable"},Cq={class:"cell-actions",role:"cell"},Eq=["onClick","disabled","title","aria-label"],Sq={class:"sr-only","aria-live":"polite"},Nq={class:"project-type-svg","aria-hidden":"true"},Rq=["href"],Dq={class:"copy-url-label","aria-hidden":"true"},Aq=["href","aria-label"],Tq=["href","title","aria-label"],Pq=["title","aria-label"],Oq=["title","aria-label"],Iq=["aria-label"],Mq={key:6,class:"dropdown is-disabled"},_q=["aria-label"],Vq={key:7,class:"dropdown"},qq=["data-project-actions","aria-label"],$q={class:"dropdown-menu dropdown-menu-right"},Lq=["onClick","aria-controls","aria-expanded"],Uq=["href"],Fq=["href"],Bq=["onClick","disabled"],zq=["href"],Hq=["onClick"],jq=["onClick"],Gq=["onClick"],Wq={key:5},Kq=["onClick"],Yq={key:1,class:"project-details-row",role:"row"},Xq=["id","onKeydown"],Qq={class:"project-details-heading"},Jq=["onClick"],Zq={class:"project-details-list"},xq={key:0},e$={key:1},t$={key:0},n$={key:2},o$={key:0,class:"project-progress-help"},s$=["href"],i$=["onSubmit"],r$=["for"],a$=["id"],l$={class:"project-name-controls"},d$=["id","aria-describedby","disabled"],u$=["disabled"],c$={key:0,class:"project-name-error",role:"alert"},p$={key:1,role:"status"},f$={key:0,class:"paper-table-empty"},h$={key:0},m$={key:1},g$={class:"paper-table-empty-actions"},v$={key:1,href:"/anonymize",class:"btn btn-ink"},y$={key:0,class:"dashboard-pagination"},b$={key:0,role:"alert"},w$=["disabled"];function Xc(e,t){let o=Xe("quota-usage"),i=Te("field"),s=Te("form");return l(),d("div",T6,[n("div",P6,[n("div",O6,[n("div",I6,[n("div",null,[n("div",M6,[t[27]||(t[27]=n("h1",{class:"paper-page-title"},"My work",-1)),!e.loading&&e.isPlainView()?(l(),d("span",_6,[v(c(e.fmt?.number(e.dashboardTotals?.filtered??e.filteredItems?.length))+" project",1),(e.dashboardTotals?.filtered??e.filteredItems?.length)!==1?(l(),d("span",V6,"s")):f("v-if",!0)])):f("v-if",!0)]),t[28]||(t[28]=n("p",{class:"paper-page-lede"},"Manage your anonymous links.",-1))]),n("div",q6,[n("details",{class:"dashboard-quota",open:e.quotaExpanded,onToggle:t[1]||(t[1]=r=>e.quotaExpanded=r.target.open),onKeydown:t[2]||(t[2]=pt(ue(r=>e.closeQuota(),["prevent","stop"]),["esc"]))},[n("summary",{"aria-controls":"dashboard-usage","aria-expanded":e.quotaExpanded,class:T(e.quota?"quota-level-"+e.quota.repository.level:""),style:Ve(e.quota&&!e.quota.repository.unlimited?{"--quota-pct":e.quota.repository.percent+"%"}:null)},[(l(),d("svg",{class:T(["quota-summary-ring",e.quota?"quota-"+e.quota.repository.level:""]),viewBox:"0 0 24 24","aria-hidden":"true"},[t[29]||(t[29]=n("circle",{class:"quota-ring-track",cx:"12",cy:"12",r:"9"},null,-1)),e.quota&&!e.quota.repository.unlimited?(l(),d("circle",{key:0,class:"quota-ring-fill",cx:"12",cy:"12",r:"9",pathLength:"100","stroke-dasharray":e.quota.repository.percent+" 100"},null,8,U6)):f("v-if",!0),e.quota?.repository.unlimited?(l(),d("path",F6)):f("v-if",!0)],2)),t[31]||(t[31]=n("span",{class:"quota-summary-label"},"Usage",-1)),e.quota?(l(),d("span",B6,[v(c(e.fmt.number(e.quota.repository.used)),1),e.quota.repository.unlimited?f("v-if",!0):(l(),d("span",z6," / "+c(e.fmt.number(e.quota.repository.total)),1)),t[30]||(t[30]=v(" repos",-1))])):f("v-if",!0),t[32]||(t[32]=n("svg",{class:"project-type-svg quota-summary-chevron","aria-hidden":"true"},[n("use",{href:"#project-icon-chevron"})],-1))],14,L6),n("div",H6,[n("div",j6,[t[34]||(t[34]=n("h2",null,"Account usage",-1)),n("button",{type:"button",class:"project-close","aria-label":"Close usage",onClick:t[0]||(t[0]=r=>e.closeQuota())},[...t[33]||(t[33]=[n("svg",{class:"project-type-svg","aria-hidden":"true"},[n("use",{href:"#project-icon-close"})],-1)])])]),e.quota?(l(),un(o,{key:0,quota:e.quota,fmt:e.fmt},null,8,["quota","fmt"])):(l(),d("p",G6,"Loading usage\u2026"))])],40,$6),t[35]||(t[35]=Ee('New anonymization',1))])]),f(" Result count + active filter chips "),e.loading?f("v-if",!0):(l(),d("div",W6,[e.showViewTabs()?(l(),d("div",K6,[n("button",{type:"button","aria-pressed":e.statusView()==="active",onClick:t[3]||(t[3]=r=>e.setStatusView("active")),title:"Every project except removed links"},"Current",8,Y6),e.attentionCount()>0||e.statusView()==="attention"?(l(),d("button",{key:0,type:"button","aria-pressed":e.statusView()==="attention",onClick:t[4]||(t[4]=r=>e.setStatusView("attention")),"aria-label":"Needs attention "+e.attentionCount()},[t[36]||(t[36]=n("span",{class:"dashboard-attention-prefix"},"Needs ",-1)),t[37]||(t[37]=n("span",null,"attention",-1)),t[38]||(t[38]=v()),n("span",{class:T(["attention-count",{"has-attention":e.attentionCount()>0}])},c(e.attentionCount()),3)],8,X6)):f("v-if",!0),e.removedCount>0||e.statusView()==="removed"||e.removedCount==null&&e.dashboardTotals?.total>e.dashboardTotals?.filtered?(l(),d("button",{key:1,type:"button","aria-pressed":e.statusView()==="removed",onClick:t[5]||(t[5]=r=>e.setStatusView("removed")),"aria-label":"Removed "+(e.removedCount??""),title:"Links reviewers can no longer open"},[t[39]||(t[39]=v("Removed ",-1)),e.removedCount!=null?(l(),d("span",J6,c(e.fmt?.number(e.removedCount)),1)):f("v-if",!0)],8,Q6)):f("v-if",!0)])):f("v-if",!0),n("span",{class:T(["dashboard-count",{"is-plain":e.isPlainView()}])},[e.isPlainView()?(l(),d("span",Z6,[v(c(e.fmt?.number(e.dashboardTotals?.filtered??e.filteredItems?.length))+" project",1),(e.dashboardTotals?.filtered??e.filteredItems?.length)!==1?(l(),d("span",x6,"s")):f("v-if",!0)])):(l(),d("span",eV,c(e.fmt?.number(e.dashboardTotals?.filtered??e.filteredItems?.length))+" shown",1))],2)])),f(" Search + filters "),P((l(),d("form",{class:"w-100 dashboard-filter-row","aria-label":"Filter anonymizations","accept-charset":"UTF-8",onSubmit:t[13]||(t[13]=ue(r=>e.submitForm(r,()=>{r.preventDefault()}),["prevent"]))},[n("div",tV,[P(n("input",nV,null,512),[[i,{state:e.viewState,set:r=>{e.search=r},value:e.search,form:null,options:{}}]])]),n("button",{class:"btn dashboard-filters-toggle",type:"button","aria-expanded":e.filtersExpanded,"aria-controls":"dashboard-filter-controls",onClick:t[6]||(t[6]=r=>e.filtersExpanded=!e.filtersExpanded)},[...t[40]||(t[40]=[v("Filters",-1),n("svg",{class:"project-type-svg","aria-hidden":"true"},[n("use",{href:"#project-icon-filter"})],-1)])],8,oV),n("div",{id:"dashboard-filter-controls",class:T(["dashboard-filter-controls",{expanded:e.filtersExpanded}])},[n("div",sV,[n("button",{type:"button",class:T(["btn",{"btn-primary":e.typeFilter==="all"}]),onClick:t[7]||(t[7]=r=>e.typeFilter="all"),"aria-pressed":e.typeFilter==="all"},"All",10,iV),n("button",{type:"button",class:T(["btn dashboard-type-filter",{"btn-primary":e.typeFilter==="repo"}]),title:"Repositories",onClick:t[8]||(t[8]=r=>e.typeFilter="repo"),"aria-pressed":e.typeFilter==="repo"},[...t[41]||(t[41]=[n("svg",{class:"project-type-svg","aria-hidden":"true"},[n("use",{href:"#project-type-repo"})],-1),n("span",{class:"type-filter-label"},"Repos",-1)])],10,rV),n("button",{type:"button",class:T(["btn dashboard-type-filter",{"btn-primary":e.typeFilter==="pr"}]),title:"Pull requests",onClick:t[9]||(t[9]=r=>e.typeFilter="pr"),"aria-pressed":e.typeFilter==="pr"},[...t[42]||(t[42]=[n("svg",{class:"project-type-svg","aria-hidden":"true"},[n("use",{href:"#project-type-pr"})],-1),n("span",{class:"type-filter-label"},"PRs",-1)])],10,aV),n("button",{type:"button",class:T(["btn dashboard-type-filter",{"btn-primary":e.typeFilter==="gist"}]),title:"Gists",onClick:t[10]||(t[10]=r=>e.typeFilter="gist"),"aria-pressed":e.typeFilter==="gist"},[...t[43]||(t[43]=[n("svg",{class:"project-type-svg","aria-hidden":"true"},[n("use",{href:"#project-type-gist"})],-1),n("span",{class:"type-filter-label"},"Gists",-1)])],10,lV)]),n("div",{id:"dashboard-extra-filters",class:T(["dashboard-extra-filters",{expanded:e.filtersExpanded}])},[n("div",dV,[n("button",uV,[t[45]||(t[45]=n("span",{class:"filter-btn-label"},"Sort",-1)),n("span",cV,c(e.sortLabel()),1),(l(),d("svg",{class:T(["project-type-svg sort-direction",{ascending:!e.sortDesc()}]),"aria-hidden":"true"},[...t[44]||(t[44]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)),n("span",pV,c(e.sortDesc()?"descending":"ascending"),1)]),n("div",fV,[t[46]||(t[46]=n("h6",{class:"dropdown-header"},"Order by",-1)),(l(!0),d(L,null,se(e.sortFields,(r,a,u)=>(l(),d("div",hV,[n("input",{class:"form-check-input",type:"radio",name:"sort",onClick:p=>e.setSort(a,r.defaultDesc),checked:e.isSortedBy(a),id:"sort-"+u},null,8,mV),n("label",{class:"form-check-label",for:"sort-"+u},c(r?.label),9,gV)]))),256)),t[47]||(t[47]=n("div",{class:"dropdown-divider"},null,-1)),n("button",{type:"button",class:"dropdown-item",onClick:t[11]||(t[11]=r=>e.toggleSortDirection())},c(e.sortDesc()?"Switch to ascending":"Switch to descending"),1)])]),n("div",{class:T(["dropdown dashboard-status-filter",{"is-view-hidden":e.statusView()==="removed"}]),inert:e.statusView()==="removed"?!0:null},[n("button",yV,[t[48]||(t[48]=n("span",{class:"filter-btn-label"},"Status",-1)),n("span",bV,c(e.statusChipKeys().length===0?"Any":e.statusChipKeys().length===1?"Hiding "+(e.statusKeyLabels[e.statusChipKeys()[0]]||"").toLowerCase():e.statusChipKeys().length+" hidden"),1)]),n("div",wV,[t[49]||(t[49]=n("h6",{class:"dropdown-header"},"Show statuses",-1)),n("button",{type:"button",class:T(["dropdown-item status-preset",{active:e.statusChipKeys().length===0}]),onClick:t[12]||(t[12]=r=>e.statusChipKeys().forEach(a=>{e.filters.status[a]=!0}))},"Any status",2),t[50]||(t[50]=n("div",{class:"dropdown-divider"},null,-1)),(l(!0),d(L,null,se(e.statusKeyLabels,(r,a,u)=>(l(),d(L,{key:a},[a!=="removed"?(l(),d("div",kV,[P(n("input",{class:"form-check-input",type:"checkbox",id:"status-"+a},null,8,CV),[[i,{state:e.viewState,set:p=>{e.filters.status[a]=p},value:e.filters?.status[a],form:null,options:{}}]]),n("label",{class:"form-check-label",for:"status-"+a},c(r),9,EV)])):f("v-if",!0)],64))),128))])],10,vV)],2)],2)],32)),[[s,e.viewState]]),!e.loading&&e.showClearFilters()?(l(),d("div",SV,[(l(!0),d(L,null,se(e.statusChipKeys(),r=>(l(),d("button",{key:r,type:"button",class:"filter-chip",onClick:a=>e.filters.status[r]=!0,"aria-label":"Show "+e.statusKeyLabels[r]+" again",title:"Show "+e.statusKeyLabels[r]+" again"},[v("Hiding "+c((e.statusKeyLabels[r]||"").toLowerCase()),1),t[51]||(t[51]=n("svg",{class:"project-type-svg","aria-hidden":"true"},[n("use",{href:"#project-icon-close"})],-1))],8,NV))),128)),e.typeFilter!=="all"?(l(),d("button",{key:0,type:"button",class:"filter-chip",onClick:t[14]||(t[14]=r=>e.typeFilter="all"),"aria-label":"Show all project types"},[v(c(e.typeFilter==="repo"?"Repositories":e.typeFilter==="pr"?"Pull requests":"Gists"),1),t[52]||(t[52]=n("svg",{class:"project-type-svg","aria-hidden":"true"},[n("use",{href:"#project-icon-close"})],-1))])):f("v-if",!0),e.showClearFilters()?(l(),d("button",{key:1,type:"button",class:"btn-link-inline",onClick:t[15]||(t[15]=r=>e.clearFilters())},"Clear filters")):f("v-if",!0)])):f("v-if",!0)]),f(" Table "),n("div",{class:T(["paper-table paper-table-dashboard",{"is-removed-view":e.statusView()==="removed"}]),role:"table","aria-label":"Anonymizations","aria-busy":e.loading},[n("div",DV,[n("div",{role:"columnheader","aria-sort":e.isSortedBy("_label")?e.sortDesc()?"descending":"ascending":"none"},[n("button",{type:"button",class:T(["sortable",{active:e.isSortedBy("_label")}]),onClick:t[16]||(t[16]=r=>e.setSort("_label"))},[t[54]||(t[54]=v(" Project ",-1)),e.isSortedBy("_label")?(l(),d("svg",{key:0,class:T(["project-type-svg sort-direction",{ascending:!e.sortDesc()}]),"aria-hidden":"true"},[...t[53]||(t[53]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)):f("v-if",!0)],2)],8,AV),n("div",{role:"columnheader","aria-sort":e.isSortedBy("status")?e.sortDesc()?"descending":"ascending":"none"},[n("button",{type:"button",class:T(["sortable",{active:e.isSortedBy("status")}]),onClick:t[17]||(t[17]=r=>e.setSort("status"))},[t[56]||(t[56]=v(" Status ",-1)),e.isSortedBy("status")?(l(),d("svg",{key:0,class:T(["project-type-svg sort-direction",{ascending:!e.sortDesc()}]),"aria-hidden":"true"},[...t[55]||(t[55]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)):f("v-if",!0)],2)],8,TV),n("div",{role:"columnheader",class:"num","aria-sort":e.isSortedBy("pageView")?e.sortDesc()?"descending":"ascending":"none"},[n("button",{type:"button",class:T(["sortable",{active:e.isSortedBy("pageView")}]),onClick:t[18]||(t[18]=r=>e.setSort("pageView"))},[t[58]||(t[58]=v(" Views ",-1)),e.isSortedBy("pageView")?(l(),d("svg",{key:0,class:T(["project-type-svg sort-direction",{ascending:!e.sortDesc()}]),"aria-hidden":"true"},[...t[57]||(t[57]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)):f("v-if",!0)],2)],8,PV),n("div",{role:"columnheader","aria-sort":e.isSortedBy("options.expirationDate")?e.sortDesc()?"descending":"ascending":"none"},[n("button",{type:"button",class:T(["sortable",{active:e.isSortedBy("options.expirationDate")}]),onClick:t[19]||(t[19]=r=>e.setSort("options.expirationDate"))},[t[60]||(t[60]=v(" Expires ",-1)),e.isSortedBy("options.expirationDate")?(l(),d("svg",{key:0,class:T(["project-type-svg sort-direction",{ascending:!e.sortDesc()}]),"aria-hidden":"true"},[...t[59]||(t[59]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)):f("v-if",!0)],2)],8,OV),t[61]||(t[61]=n("div",{role:"columnheader",class:"col-link"},[n("span",{class:"sr-only"},"Actions")],-1))]),f(" Loading skeleton: keeps the layout stable while the three lists load "),(l(),d(L,null,se([1,2,3,4],(r,a)=>(l(),d(L,null,[e.loading?(l(),d("div",IV,[...t[62]||(t[62]=[n("div",{class:"cell-anon",role:"cell"},[n("span",{class:"skeleton skeleton-badge"}),n("div",{class:"anon-text"},[n("span",{class:"skeleton skeleton-line",style:{width:"38%"}}),n("span",{class:"skeleton skeleton-line skeleton-line-sm",style:{width:"56%"}})])],-1),n("div",{class:"cell-status",role:"cell"},[n("span",{class:"skeleton skeleton-line",style:{width:"60%"}})],-1),n("div",{class:"cell-views num",role:"cell"},[n("span",{class:"skeleton skeleton-line",style:{width:"40%"}})],-1),n("div",{class:"cell-expires",role:"cell"},[n("span",{class:"skeleton skeleton-line",style:{width:"55%"}})],-1),n("div",{class:"cell-actions",role:"cell"},null,-1)])])):f("v-if",!0)],64))),64)),(l(!0),d(L,null,se(e.filteredItems,(r,a)=>(l(),d(L,{key:r?._type+":"+(r?._id||a)},[e.loading?f("v-if",!0):(l(),d("div",{key:0,class:T(["paper-table-row",{"repo-inactive":r?._statusKey=="expired"||r?._statusKey=="removed","repo-error":r?.status=="error","row-clickable":!!r?._viewUrl}]),role:"row",onClick:u=>e.openItem(r,u)},[n("div",_V,[n("span",{class:"project-type-icon",role:"img","aria-label":r?._type==="repo"?"Repository":r?._type==="pr"?"Pull request":"Gist",title:r?._type==="repo"?"Repository":r?._type==="pr"?"Pull request":"Gist"},[(l(),d("svg",qV,[n("use",{href:"#project-type-"+r._type},null,8,$V)]))],8,VV),n("div",LV,[n("div",UV,[r?._viewUrl?(l(),d("a",{key:0,class:"repo-name",title:r._label,href:e.safeUrl(r?._viewUrl)},[(r?._label||"").indexOf("/")>0?(l(),d(L,{key:0},[n("span",BV,c(r._label.slice(0,r._label.indexOf("/")+1)),1),t[63]||(t[63]=n("wbr",null,null,-1)),n("span",zV,c(r._label.slice(r._label.indexOf("/")+1)),1)],64)):(l(),d(L,{key:1},[v(c(r?._label),1)],64))],8,FV)):f("v-if",!0),r?._viewUrl?f("v-if",!0):(l(),d("span",HV,[(r?._label||"").indexOf("/")>0?(l(),d(L,{key:0},[n("span",jV,c(r._label.slice(0,r._label.indexOf("/")+1)),1),t[64]||(t[64]=n("wbr",null,null,-1)),n("span",GV,c(r._label.slice(r._label.indexOf("/")+1)),1)],64)):(l(),d(L,{key:1},[v(c(r?._label),1)],64))])),r?.role==="coauthor"?(l(),d("span",WV,"Co-author")):f("v-if",!0)]),r?._id||r?._type==="repo"&&r?.source?.commit||r?.conference?(l(),d("div",KV,[r?._id?(l(),d("code",{key:0,class:"anonymous-id",title:r._id},[r._id.length>14?(l(),d(L,{key:0},[n("span",XV,c(r._id.slice(0,-6)),1),n("span",QV,c(r._id.slice(-6)),1)],64)):(l(),d(L,{key:1},[v(c(r._id),1)],64))],8,YV)):f("v-if",!0),r?._type==="repo"&&r?.source?.commit?(l(),d("span",{key:1,class:"commit-hash",title:r.source.commit},c(r.source.commit.substring(0,7)),9,JV)):f("v-if",!0),r?.conference?(l(),d("span",{key:2,class:"cell-conf conf-tag",title:"Conference: "+r.conference},[t[65]||(t[65]=n("svg",{class:"project-type-svg","aria-hidden":"true"},[n("use",{href:"#project-icon-conference"})],-1)),n("span",{class:"conf-name",textContent:c(r?.conference)},null,8,xV)],8,ZV)):f("v-if",!0)])):f("v-if",!0)])]),n("div",eq,[n("div",tq,[n("div",nq,[n("span",{class:T(["status-dot","status-"+r?._statusKey]),"aria-hidden":"true"},null,2),n("span",{class:"status-word",textContent:c(e.fmt?.statusLabel(r?.status))},null,8,oq),r?.status=="removed"?(l(),d(L,{key:0},[t[66]||(t[66]=n("span",{class:"seg-sep status-removed-sep","aria-hidden":"true"},"\xB7",-1)),n("button",{type:"button",class:"project-attention-action status-enable",onClick:ue(u=>e.refreshItem(r),["stop"]),title:"Reviewers can no longer open this link"},"Enable again",8,sq)],64)):f("v-if",!0)]),r?.status=="error"&&r?.statusMessage?(l(),d("div",{key:0,class:"status-sub status-sub-error",textContent:c(e.fmt?.statusMsg(r?.statusMessage)),title:r?.statusMessage},null,8,iq)):f("v-if",!0),r?._stale?(l(),d("div",{key:1,class:"status-sub status-sub-warn",title:"Last activity "+e.fmt?.humanTime(r?.anonymizeDate||r?.lastView)},c(e.idleText(r)),9,rq)):f("v-if",!0),r.status==="error"&&r._editUrl?(l(),d("a",{key:2,class:"project-attention-action",href:e.safeUrl(r._editUrl)},"Fix source",8,aq)):f("v-if",!0),r._stale||r._broken?(l(),d("div",lq,[r._stale&&!r._broken?(l(),d("span",dq,[...t[67]||(t[67]=[v("May be stuck",-1),n("span",{"aria-hidden":"true"}," \xB7 ",-1)])])):f("v-if",!0),r._stale||r._broken?(l(),d("button",{key:1,type:"button",class:"project-attention-action",onClick:ue(u=>e.showProjectDetails(r),["stop"]),"data-project-actions":r._broken?encodeURIComponent(r._type+":"+r._id):null,"aria-controls":r._broken?e.projectDetailsId(r):null,"aria-expanded":r._broken?e.selectedProject===r:null},c(r._broken?"Review details":"Check progress"),9,uq)):f("v-if",!0)])):f("v-if",!0),r?.status=="expired"?(l(),d("button",{key:4,type:"button",class:"project-attention-action",onClick:ue(u=>e.extendItem(r),["stop"]),title:"Reviewers can no longer open this link"},"Extend 6 months",8,cq)):f("v-if",!0),r?.status=="removed"&&r?.anonymizeDate?(l(),d("div",pq,"anonymized "+c(e.fmt?.humanTime(r?.anonymizeDate)),1)):f("v-if",!0),r?.status!="error"&&r?.status!="expired"&&r?.status!="removed"&&!r?._stale&&r?.anonymizeDate?(l(),d("div",fq," anonymized "+c(e.fmt?.humanTime(r?.anonymizeDate)),1)):f("v-if",!0)]),n("div",{class:"cell-views num",role:"cell","data-unit":r.pageView===1?"view":"views","aria-label":e.fmt.number(r.pageView)+(r.pageView===1?" view":" views")},[t[68]||(t[68]=n("svg",{class:"project-type-svg mobile-meta-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-eye"})],-1)),n("span",null,c(e.fmt.number(r.pageView)),1)],8,hq),n("div",mq,[t[72]||(t[72]=n("svg",{class:"project-type-svg mobile-meta-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-clock"})],-1)),r?._expiry?.kind==="never"?(l(),d("span",gq,"No expiry")):f("v-if",!0),r?._expiry?.kind==="date"&&!r?._expiry?.soon?(l(),d("span",{key:1,textContent:c((e.fmt?.humanTime(r?._expiry?.date)||"").replace(/^on /,""))},null,8,vq)):f("v-if",!0),r?._expiry?.kind==="date"&&r?._expiry?.soon?(l(),d("span",{key:2,class:"expires-soon",title:"Expires "+e.fmt?.humanTime(r?._expiry?.date)},[t[69]||(t[69]=n("svg",{class:"project-type-svg expires-soon-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-clock"})],-1)),t[70]||(t[70]=n("span",{class:"expires-soon-prefix"},"Expires ",-1)),v(c(r._expiry.soon),1)],8,yq)):f("v-if",!0),r?._expiry?.kind==="expired"&&r?._expiry?.date?(l(),d("span",bq,[t[71]||(t[71]=n("span",{class:"expires-past-prefix"},"Expired ",-1)),v(c(r?._expiry?.label||e.fmt?.humanTime(r?._expiry?.date)),1)])):f("v-if",!0),r?._expiry?.kind==="expired"&&!r?._expiry?.date?(l(),d("span",wq,"Expired")):f("v-if",!0),r?._expiry?.kind==="none"?(l(),d("span",kq,"\u2014")):f("v-if",!0)])]),n("div",Cq,[r._viewUrl&&!(r?._statusKey=="expired"||r?._statusKey=="removed")?(l(),d("button",{key:0,type:"button",class:"copy-url",onClick:ue(u=>e.copyLink(r),["stop"]),disabled:!!e.copyingId,title:"Copy link: "+r._viewUrl,"aria-label":"Copy anonymous link for "+r._label},[n("span",Sq,c(e.copyingId===r._type+":"+r._id?"Link copied":""),1),(l(),d("svg",Nq,[n("use",{href:e.copyingId===r._type+":"+r._id?"#ui-icon-check":"#project-icon-copy"},null,8,Rq)])),n("span",Dq,c(e.copyingId===r._type+":"+r._id?"Copied":"Copy link"),1)],8,Eq)):f("v-if",!0),r._viewUrl&&!(r?._statusKey=="expired"||r?._statusKey=="removed")?(l(),d("a",{key:1,class:"row-edit row-open",href:e.safeUrl(r._viewUrl),target:"_blank",rel:"noopener",title:"Open what reviewers see","aria-label":"Open anonymous page for "+r._label},[...t[73]||(t[73]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-external-link"})],-1)])],8,Aq)):f("v-if",!0),r?._editUrl&&!r?._broken&&r?._statusKey!="removed"?(l(),d("a",{key:2,class:"row-edit",href:e.safeUrl(r._editUrl),title:"Edit "+r._name,"aria-label":"Edit "+r._name},[...t[74]||(t[74]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-edit"})],-1)])],8,Tq)):f("v-if",!0),!(r._viewUrl&&!(r?._statusKey=="expired"||r?._statusKey=="removed"))&&r?._statusKey!="removed"&&r?._statusKey!="expired"?(l(),d("button",{key:3,type:"button",class:"copy-url is-disabled","aria-disabled":"true",onClick:t[20]||(t[20]=ue(()=>{},["stop"])),title:r?._statusKey=="expired"?"Link expired: reviewers can no longer open it":r?._statusKey=="removed"?"Link offline: reviewers can no longer open it":"No link: this record is incomplete","aria-label":"Copy link unavailable for "+r._label},[...t[75]||(t[75]=[n("svg",{class:"project-type-svg","aria-hidden":"true"},[n("use",{href:"#project-icon-copy"})],-1),n("span",{class:"copy-url-label","aria-hidden":"true"},"Copy link",-1)])],8,Pq)):f("v-if",!0),!(r._viewUrl&&!(r?._statusKey=="expired"||r?._statusKey=="removed"))&&r?._statusKey!="removed"&&r?._statusKey!="expired"?(l(),d("button",{key:4,type:"button",class:"row-edit row-open is-disabled","aria-disabled":"true",onClick:t[21]||(t[21]=ue(()=>{},["stop"])),title:r?._statusKey=="expired"?"Link expired: reviewers can no longer open it":r?._statusKey=="removed"?"Link offline: reviewers can no longer open it":"No link: this record is incomplete","aria-label":"Open unavailable for "+r._label},[...t[76]||(t[76]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-external-link"})],-1)])],8,Oq)):f("v-if",!0),r?._editUrl&&!r?._broken?f("v-if",!0):(l(),d("button",{key:5,type:"button",class:"row-edit is-disabled","aria-disabled":"true",onClick:t[22]||(t[22]=ue(()=>{},["stop"])),title:"Can't edit: this record is incomplete","aria-label":"Edit unavailable for "+r._label},[...t[77]||(t[77]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-edit"})],-1)])],8,Iq)),r?._broken?(l(),d("div",Mq,[n("button",{type:"button",class:"btn btn-icon-dots is-disabled","aria-disabled":"true",onClick:t[23]||(t[23]=ue(()=>{},["stop"])),title:"No actions: this record is incomplete. Use Review details.","aria-label":"No actions available for "+r._label},[...t[78]||(t[78]=[n("svg",{class:"project-type-svg","aria-hidden":"true"},[n("use",{href:"#project-icon-more"})],-1)])],8,_q)])):f("v-if",!0),r?._broken?f("v-if",!0):(l(),d("div",Vq,[n("button",{class:"btn btn-icon-dots",type:"button","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false","data-project-actions":encodeURIComponent(r._type+":"+r._id),"aria-label":"Actions for "+r?._name},[...t[79]||(t[79]=[n("svg",{class:"project-type-svg","aria-hidden":"true"},[n("use",{href:"#project-icon-more"})],-1)])],8,qq),n("div",$q,[n("button",{type:"button",class:"dropdown-item",onClick:u=>e.showProjectDetails(r),"aria-controls":e.projectDetailsId(r),"aria-expanded":e.selectedProject===r},"Project details & name",8,Lq),n("a",{class:"dropdown-item",href:e.safeUrl(r?._viewUrl)}," View ",8,Uq),r?._type==="repo"&&r?.options?.page&&r?.status=="ready"?(l(),d("a",{key:0,class:"dropdown-item",target:"_self",href:e.safeUrl("/w/"+r?.repoId+"/")}," View page ",8,Fq)):f("v-if",!0),r?._viewUrl?(l(),d("button",{key:1,type:"button",class:"dropdown-item",onClick:u=>e.copyLink(r),disabled:!!e.copyingId}," Copy anonymous link ",8,Bq)):f("v-if",!0),n("a",{class:"dropdown-item",href:e.safeUrl(r?._editUrl)}," Edit ",8,zq),r?.status=="ready"||r?.status=="error"?(l(),d("button",{key:2,type:"button",class:"dropdown-item",onClick:u=>e.refreshItem(r)}," Force update ",8,Hq)):f("v-if",!0),r?.status=="removed"?(l(),d("button",{key:3,type:"button",class:"dropdown-item",onClick:u=>e.refreshItem(r)}," Enable ",8,jq)):f("v-if",!0),r?.status=="expired"?(l(),d("button",{key:4,type:"button",class:"dropdown-item",onClick:u=>e.extendItem(r)}," Extend 6 months ",8,Gq)):f("v-if",!0),(r?.status=="ready"||r?.status=="expired"||r?.status=="error")&&r?.role!=="coauthor"?(l(),d("div",Wq,[t[80]||(t[80]=n("div",{class:"dropdown-divider"},null,-1)),n("button",{type:"button",class:"dropdown-item dropdown-item-danger",onClick:u=>e.removeItem(r)}," Remove ",8,Kq)])):f("v-if",!0)])]))])],10,MV)),!e.loading&&e.selectedProject===r?(l(),d("div",Yq,[n("div",{class:"project-details",role:"cell","aria-colspan":"5",id:e.projectDetailsId(r),tabindex:"-1",onKeydown:pt(ue(u=>e.closeProjectDetails(r),["stop"]),["esc"])},[n("div",Qq,[t[82]||(t[82]=n("h2",null,"Project details",-1)),n("button",{type:"button",class:"project-close",onClick:u=>e.closeProjectDetails(r),"aria-label":"Close project details"},[...t[81]||(t[81]=[n("svg",{class:"project-type-svg","aria-hidden":"true"},[n("use",{href:"#project-icon-close"})],-1)])],8,Jq)]),n("dl",Zq,[n("div",null,[t[83]||(t[83]=n("dt",null,"Source",-1)),n("dd",null,c(r._source||"Not available"),1)]),n("div",null,[t[84]||(t[84]=n("dt",null,"Anonymous ID",-1)),n("dd",null,[n("code",null,c(r._id||"Missing identifier"),1)])]),r.source?.commit?(l(),d("div",xq,[t[85]||(t[85]=n("dt",null,"Commit",-1)),n("dd",null,[n("code",null,c(r.source.commit),1)])])):f("v-if",!0),r.conference?(l(),d("div",e$,[t[86]||(t[86]=n("dt",null,"Conference",-1)),n("dd",null,c(r.conference),1)])):f("v-if",!0),n("div",null,[t[87]||(t[87]=n("dt",null,"Status",-1)),n("dd",null,[v(c(e.fmt.statusLabel(r.status)),1),r.statusMessage?(l(),d("span",t$," \xB7 "+c(e.fmt.statusMsg(r.statusMessage)),1)):f("v-if",!0)])]),r.anonymizeDate?(l(),d("div",n$,[t[88]||(t[88]=n("dt",null,"Last anonymized",-1)),n("dd",null,c(e.fmt.humanTime(r.anonymizeDate)),1)])):f("v-if",!0)]),r._stale?(l(),d("p",o$,"This download has not progressed recently. Check the source access and selected branch before retrying.")):f("v-if",!0),r._editUrl?(l(),d("a",{key:1,class:"project-attention-action",href:e.safeUrl(r._editUrl)},c(e.needsAttention(r)?"Check source settings":"Edit anonymization settings"),9,s$)):f("v-if",!0),r._id?(l(),d("form",{key:2,class:"project-name-form",onSubmit:ue(u=>e.saveProjectName(r),["prevent"])},[n("label",{for:"project-name-"+r._type+"-"+r._id},"Project name",8,r$),n("p",{id:"project-name-help-"+r._type+"-"+r._id},"Only you see this name. Leave it blank to use the default.",8,a$),n("div",l$,[P(n("input",{class:"form-control",type:"text",id:"project-name-"+r._type+"-"+r._id,"aria-describedby":"project-name-help-"+r._type+"-"+r._id,maxlength:"100","onUpdate:modelValue":t[24]||(t[24]=u=>e.projectName=u),disabled:e.nameSaving},null,8,d$),[[ut,e.projectName]]),n("button",{class:"btn btn-ink",type:"submit",disabled:e.nameSaving},c(e.nameSaving?"Saving\u2026":"Save name"),9,u$)]),e.nameError?(l(),d("p",c$,c(e.nameError),1)):f("v-if",!0),e.nameMessage?(l(),d("p",p$,c(e.nameMessage),1)):f("v-if",!0)],40,i$)):f("v-if",!0)],40,Xq)])):f("v-if",!0)],64))),128)),!e.loading&&e.filteredItems?.length==0?(l(),d("div",f$,[t[90]||(t[90]=n("svg",{class:"project-type-svg project-empty-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-inbox"})],-1)),e.hasProjects()?f("v-if",!0):(l(),d("span",h$,"You have no anonymizations yet.")),e.hasProjects()?(l(),d("span",m$,"Nothing matches the current filters.")):f("v-if",!0),n("div",g$,[e.hasActiveFilters()?(l(),d("button",{key:0,type:"button",class:"btn btn-outline-ink",onClick:t[25]||(t[25]=r=>e.clearFilters())},"Clear filters")):f("v-if",!0),e.hasProjects()?f("v-if",!0):(l(),d("a",v$,[...t[89]||(t[89]=[n("svg",{class:"project-type-svg","aria-hidden":"true"},[n("use",{href:"#project-icon-plus"})],-1),v(" New anonymization",-1)])]))])])):f("v-if",!0)],10,RV)]),e.dashboardCursor||e.dashboardError?(l(),d("div",y$,[e.dashboardError?(l(),d("p",b$,c(e.dashboardError),1)):f("v-if",!0),e.dashboardCursor?(l(),d("button",{key:1,type:"button",class:"btn",onClick:t[26]||(t[26]=r=>e.loadMoreProjects()),disabled:e.loadingMore},c(e.loadingMore?"Loading\u2026":"Load more projects"),9,w$)):f("v-if",!0)])):f("v-if",!0)])}var k$={class:"viewer-bar"},C$={class:"vb-left"},E$=["aria-label","title"],S$=["href","title"],N$={class:"vb-artifact-id"},R$={class:"vb-right"},D$=["title"],A$={class:"vb-help"},T$=["aria-expanded"],P$={key:0,class:"acct-menu vb-help-menu",role:"menu"},O$=["aria-label","title"],I$={class:"ui-icon","aria-hidden":"true"},M$=["href"],_$={key:1,class:"acct"},V$=["aria-label","aria-expanded"],q$=["src"],$$={key:1,class:"acct-initial"},L$={key:0,class:"acct-menu",role:"menu"},U$={class:"acct-menu-head"},F$={key:2,class:"vb-signin",href:"/signin",target:"_self"},B$={key:0,class:"vb-context"},z$=["href","title"],H$={key:0,class:"vb-context-date"},j$=["aria-label"],G$={class:"ui-icon","aria-hidden":"true"},W$=["href"],K$=["textContent"],Y$={class:"leftCol-head"},X$={class:"leftCol-search"},Q$={class:"tree-search-box"},J$=["href"],Z$={type:"text",class:"tree-search-input",placeholder:"Search files","aria-label":"Search files"},x$=["title","href"],eL={class:"leftCol-body"},tL={key:0,class:"paper-inline-warning",role:"alert"},nL={key:1,class:"paper-inline-warning",role:"alert"},oL={class:"explorer-main"},sL={class:"breadcrumb paths","aria-label":"Path"},iL={class:"breadcrumb-item breadcrumb-root"},rL=["href","title","textContent"],aL=["aria-current","textContent"],lL=["aria-label","title"],dL={class:"ui-icon","aria-hidden":"true"},uL=["href"],cL={class:"status-bar-actions"},pL=["href"],fL={class:"d-none d-md-inline"},hL={class:"ui-icon","aria-hidden":"true"},mL=["href"],gL={class:"d-none d-md-inline"},vL=["href"],yL={class:"explorer-content"};function Qc(e,t){let o=Xe("tree"),i=Xe("partial-view"),s=Te("field");return l(),d("div",{class:T(["explorer-page",{"files-hidden":e.sidebarHidden}]),style:Ve({"--sidebar-w":e.sidebarWidth+"px"})},[n("header",k$,[n("div",C$,[t[15]||(t[15]=n("a",{class:"vb-logo",href:"/"},[v("Anonymous "),n("em",null,"GitHub")],-1)),n("button",{type:"button",class:"vb-icon vb-sidebar","aria-label":e.sidebarHidden?"Show file tree":"Hide file tree",title:e.sidebarHidden?"Show file tree":"Hide file tree",onClick:t[0]||(t[0]=r=>e.sidebarHidden=!e.sidebarHidden)},[...t[13]||(t[13]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-sidebar"})],-1)])],8,E$),e.repoId?(l(),d("a",{key:0,class:"vb-artifact",href:e.safeUrl("/r/"+e.repoId+"/"),title:"Anonymous artifact "+e.repoId},[t[14]||(t[14]=n("span",{class:"sr-only"},"Artifact ",-1)),n("span",N$,c(e.repoId),1)],8,S$)):f("v-if",!0)]),n("div",R$,[e.options?.sourceCommitDate||e.options?.anonymizedAt||e.options?.lastUpdateDate?(l(),d("span",{key:0,class:"vb-snapshot",title:(e.options?.expirationDate?"Available until "+e.fmt?.date(e.options.expirationDate)+". ":"")+(e.options?.anonymizedAt&&!e.options?.publishedAt?"Older repositories have no recorded publication date. The source commit date does not establish when files became available here.":(e.options?.sourceCommitDate?"Source commit ":e.options?.anonymizedAt?"Anonymized ":"Updated ")+e.fmt?.date(e.options?.sourceCommitDate||e.options?.anonymizedAt||e.options?.lastUpdateDate)+(e.options?.publishedAt?" \xB7 snapshot ready "+e.fmt?.date(e.options.publishedAt):""))},[t[16]||(t[16]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-clock"})],-1)),t[17]||(t[17]=n("span",null,"Snapshot",-1)),n("span",null,c(e.fmt?.date(e.options?.publishedAt||e.options?.sourceCommitDate||e.options?.anonymizedAt||e.options?.lastUpdateDate)),1)],8,D$)):f("v-if",!0),t[25]||(t[25]=n("a",{class:"vb-support",href:"https://ko-fi.com/tdurieux",target:"_blank",rel:"noopener",title:"Support Anonymous GitHub \u2014 help keep it free for researchers"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-heart"})]),n("span",null,"Support")],-1)),n("div",A$,[n("button",{type:"button",class:"vb-help-btn","aria-haspopup":"true","aria-expanded":e.helpOpen?"true":"false",onClick:t[1]||(t[1]=ue(r=>e.helpOpen=!e.helpOpen,["stop"]))},[...t[18]||(t[18]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-help"})],-1),n("span",null,"Help",-1)])],8,T$),e.helpOpen?(l(),d("div",P$,[...t[19]||(t[19]=[n("a",{role:"menuitem",href:"/faq"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-help"})]),n("span",null,[v("FAQ"),n("small",null,"How anonymization works")])],-1),n("a",{role:"menuitem",href:"https://github.com/tdurieux/anonymous_github/issues/new?template=issue_report.yml",target:"_blank",rel:"noopener"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-bug"})]),n("span",null,[v("Report a bug"),n("small",null,"About this service, not the paper")])],-1)])])):f("v-if",!0)]),n("button",{type:"button",class:"vb-icon","aria-label":e.isDarkMode?"Switch to light mode":"Switch to dark mode",title:e.isDarkMode?"Light mode":"Dark mode",onClick:t[2]||(t[2]=r=>e.darkMode(!e.isDarkMode))},[(l(),d("svg",I$,[n("use",{href:e.isDarkMode?"#ui-icon-sun":"#ui-icon-moon"},null,8,M$)]))],8,O$),e.user?(l(),d("div",_$,[n("button",{type:"button",class:"acct-chip","aria-haspopup":"true","aria-label":"Account: "+e.user?.username,"aria-expanded":e.accountOpen?"true":"false",onClick:t[3]||(t[3]=ue(r=>e.accountOpen=!e.accountOpen,["stop"]))},[e.user?.photo?(l(),d("img",{key:0,src:e.safeUrl(e.user.photo),alt:"",width:"26",height:"26"},null,8,q$)):(l(),d("span",$$,c((e.user?.username||"?").charAt(0).toUpperCase()),1))],8,V$),e.accountOpen?(l(),d("div",L$,[n("div",U$,[t[20]||(t[20]=v("Signed in as ",-1)),n("b",null,"@"+c(e.user?.username),1)]),t[21]||(t[21]=n("a",{role:"menuitem",href:"/dashboard"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-grid"})]),v("My work")],-1)),t[22]||(t[22]=n("a",{role:"menuitem",href:"/profile"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-user"})]),v("Settings")],-1)),t[23]||(t[23]=n("a",{role:"menuitem",href:"/api/user/logout",target:"_self"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-logout"})]),v("Sign out")],-1))])):f("v-if",!0)])):(l(),d("a",F$,[...t[24]||(t[24]=[n("i",{class:"fab fa-github","aria-hidden":"true"},null,-1),v("Sign in",-1)])]))])]),e.repoId?(l(),d("div",B$,[n("a",{class:"vb-context-id",href:e.safeUrl("/r/"+e.repoId+"/"),title:"Anonymous artifact "+e.repoId},c(e.repoId),9,z$),e.options?.publishedAt||e.options?.sourceCommitDate||e.options?.anonymizedAt||e.options?.lastUpdateDate?(l(),d("span",H$,"Snapshot "+c(e.fmt?.date(e.options?.publishedAt||e.options?.sourceCommitDate||e.options?.anonymizedAt||e.options?.lastUpdateDate)),1)):f("v-if",!0)])):f("v-if",!0),P(n("button",{class:"sidebar-toggle",onClick:t[4]||(t[4]=r=>e.sidebarCollapsed=!e.sidebarCollapsed),"aria-label":e.sidebarCollapsed?"Show files":"Hide files"},[(l(),d("svg",G$,[n("use",{href:e.sidebarCollapsed?"#ui-icon-folder":"#project-icon-close"},null,8,W$)])),n("span",{textContent:c(e.sidebarCollapsed?"Files":"Close")},null,8,K$)],8,j$),[[x,e.files?.length]]),P(n("div",{class:T(["leftCol",{collapsed:e.sidebarCollapsed}])},[n("div",Y$,[t[27]||(t[27]=n("span",{class:"leftCol-eyebrow"},"Files",-1)),n("button",{class:"leftCol-close","aria-label":"Close files",onClick:t[5]||(t[5]=r=>e.sidebarCollapsed=!0)},[...t[26]||(t[26]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-close"})],-1)])])]),n("div",X$,[n("div",Q$,[(l(),d("svg",{class:T(["ui-icon tree-search-icon",{"fa-spin":e.fileSearchLoading}]),"aria-hidden":"true"},[n("use",{href:e.fileSearchLoading?"#ui-icon-spinner":"#ui-icon-search"},null,8,J$)],2)),P(n("input",Z$,null,512),[[s,{state:e.viewState,set:r=>{e.fileSearchQuery=r},value:e.fileSearchQuery,form:null,options:{debounce:300},change:()=>{e.onFileSearchChange()}}]]),P(n("kbd",{class:"tree-search-kbd"},c(e.isMac?"\u2318":"Ctrl+")+"K",513),[[x,!e.fileSearchQuery]]),P(n("button",{class:"tree-search-clear","aria-label":"Clear search",onClick:t[6]||(t[6]=r=>{e.fileSearchQuery="",e.onFileSearchChange()})},"\xD7",512),[[x,e.fileSearchQuery]])]),e.options?.download?(l(),d("a",{key:0,target:"_self",class:"search-zip","aria-label":"Download repository as ZIP",title:"Download the repository (snapshot "+e.fmt?.date(e.options?.sourceCommitDate||e.options?.anonymizedAt||e.options?.lastUpdateDate)+") as ZIP",href:e.safeUrl("/api/repo/"+e.repoId+"/zip")},[...t[28]||(t[28]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-download"})],-1),n("span",{class:"search-zip-label","aria-hidden":"true"},"ZIP",-1)])],8,x$)):f("v-if",!0)]),n("div",eL,[e.options?.truncatedFolders?.length>0?(l(),d("div",tL,[t[29]||(t[29]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-warning"})],-1)),v(" "+c(e.fmt?.translate("WARNINGS.repo_truncated")),1)])):f("v-if",!0),e.options?.hasSubmodules?(l(),d("div",nL,[t[30]||(t[30]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-warning"})],-1)),v(" "+c(e.fmt?.translate("WARNINGS.submodules_not_included")),1)])):f("v-if",!0),_e(o,{class:"files",file:e.files,"search-query":e.fileSearchQuery,"search-results":e.fileSearchResults,page:e.viewState},null,8,["file","search-query","search-results","page"])])],2),[[x,e.files?.length]]),P(n("div",{class:"leftCol-resizer",role:"separator","aria-orientation":"vertical","aria-label":"Resize file tree",title:"Drag to resize",onPointerdown:t[7]||(t[7]=r=>e.startSidebarResize(r))},null,544),[[x,e.files?.length&&!e.sidebarHidden]]),P(n("div",{class:"leftCol-backdrop",onClick:t[8]||(t[8]=r=>e.sidebarCollapsed=!0)},null,512),[[x,e.files?.length&&!e.sidebarCollapsed]]),n("div",oL,[P(n("div",{class:T(["status-bar",{"is-redundant":["code","text","html"].includes(e.type)&&e.content!=null||e.fileFrame()}])},[P(n("button",{type:"button",class:"btn btn-sm status-files-btn","aria-label":"Show files",title:"Show files",onClick:t[9]||(t[9]=r=>e.sidebarHidden?e.sidebarHidden=!1:e.sidebarCollapsed=!1)},[...t[31]||(t[31]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-folder"})],-1),n("span",null,"Files",-1)])],512),[[x,e.files?.length]]),n("ol",sL,[n("li",iL,[n("a",{href:e.safeUrl("/r/"+e.repoId+"/"),title:e.repoId,textContent:c(/^[0-9a-f]{8}-[0-9a-f]{4}-/i.test(e.repoId||"")?"repository":e.repoId)},null,8,rL)]),(l(!0),d(L,null,se(e.paths,(r,a)=>(l(),d("li",{class:"breadcrumb-item","aria-current":a===e.paths.length-1?"page":null,textContent:c(r)},null,8,aL))),256))]),P(n("button",{type:"button",class:"btn btn-sm btn-icon-only btn-ghost copy-path-btn","aria-label":e.pathCopied?"Path copied":"Copy path",title:e.pathCopied?"Path copied":"Copy path",onClick:t[10]||(t[10]=r=>e.copyPath())},[(l(),d("svg",dL,[n("use",{href:e.pathCopied?"#ui-icon-check":"#project-icon-copy"},null,8,uL)]))],8,lL),[[x,e.filePath]]),n("div",cL,[e.options?.isAdmin||e.options?.isOwner?(l(),d("a",{key:0,class:"btn btn-sm","aria-label":"Edit",href:e.safeUrl("/anonymize/"+e.repoId)},[...t[32]||(t[32]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-edit"})],-1),n("span",{class:"d-none d-md-inline"}," Edit",-1)])],8,pL)):f("v-if",!0),e.type=="html-doc"&&!e.showSource?(l(),d("button",{key:1,class:T(["btn btn-sm",{"btn-active":e.allowScripts}]),"aria-label":"Allow this document to run JavaScript",title:"Scripts in this file are blocked by default. Enable them only if you trust the repository \u2014 the document stays isolated from your session either way.",onClick:t[11]||(t[11]=r=>e.toggleAllowScripts())},[t[33]||(t[33]=n("i",{class:"fab fa-js"},null,-1)),n("span",fL,c(e.allowScripts?"JS on":"JS off"),1)],2)):f("v-if",!0),e.type=="html-doc"?(l(),d("button",{key:2,class:"btn btn-sm","aria-label":"Toggle between the rendered document and its source",title:"Toggle between the rendered document and its source",onClick:t[12]||(t[12]=r=>e.toggleSource())},[(l(),d("svg",hL,[n("use",{href:e.showSource?"#project-icon-eye":"#ui-icon-code"},null,8,mL)])),n("span",gL,c(e.showSource?"Rendered":"Source"),1)])):f("v-if",!0),e.options?.hasWebsite?(l(),d("a",{key:3,target:"_self",class:"btn btn-sm","aria-label":"Website",href:e.safeUrl("/w/"+e.repoId+"/")},[...t[34]||(t[34]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-globe"})],-1),n("span",{class:"d-none d-md-inline"}," Website",-1)])],8,vL)):f("v-if",!0)])],2),[[x,e.type!="error"||e.files?.length]]),n("div",yL,[_e(i,{name:"partials/pageView.htm",state:e.viewState},null,8,["state"])])])],6)}var bL={class:"paper-faq"},wL={class:"paper-faq-body"},kL={class:"paper-faq-toc"},CL={class:"faq-search",role:"search"},EL={class:"faq-search-field"},SL={id:"faq-search-status",class:"faq-search-status","aria-live":"polite"},NL={key:0,class:"faq-search-empty"},RL={class:"faq-search-empty-actions"};function Jc(e,t){let o=Xe("partial-view"),i=Te("paper-scrollspy");return l(),d(L,null,[n("div",bL,[t[12]||(t[12]=n("div",{class:"paper-faq-hero"},[n("div",{class:"paper-faq-eyebrow"},"Help"),n("h1",{class:"paper-faq-title"},[v("Mirrors, redaction, and "),n("em",null,"what reviewers see.")]),n("p",{class:"paper-faq-lede"}," How to set up an anonymous mirror, what it hides, and how long it stays online. ")],-1)),n("div",wL,[P((l(),d("aside",kL,[...t[5]||(t[5]=[Ee('
    Contents
    ',2)])])),[[i]]),n("section",{class:T(["faq-section",{"faq-searching":!!e.faqQuery.trim()}]),"aria-label":"FAQs"},[n("div",CL,[t[7]||(t[7]=n("label",{for:"faq-search-input"},"Search questions",-1)),n("div",EL,[t[6]||(t[6]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-search"})],-1)),P(n("input",{id:"faq-search-input",type:"search",class:"form-control","onUpdate:modelValue":t[0]||(t[0]=s=>e.faqQuery=s),onInput:t[1]||(t[1]=s=>e.filterFaq()),onSearch:t[2]||(t[2]=s=>e.filterFaq()),onKeydown:t[3]||(t[3]=pt(s=>e.clearFaqSearch(),["esc"])),placeholder:"e.g. expiry, pull request, PDF",autocomplete:"off",spellcheck:"false","aria-describedby":"faq-search-status"},null,544),[[ut,e.faqQuery]])]),n("p",SL,[e.faqQuery.trim()&&e.faqResults?(l(),d(L,{key:0},[v(c(e.faqResults===1?"1 result":e.faqResults+" results"),1)],64)):f("v-if",!0)])]),e.faqQuery.trim()&&e.faqResults===0?(l(),d("div",NL,[n("strong",null,"No questions match \u201C"+c(e.faqQuery.trim())+"\u201D.",1),t[9]||(t[9]=n("p",null,"Try a shorter word, or ask us directly.",-1)),n("div",RL,[n("button",{type:"button",class:"btn btn-outline-ink btn-sm",onClick:t[4]||(t[4]=s=>e.clearFaqSearch())},"Clear search"),t[8]||(t[8]=n("a",{class:"btn btn-link btn-sm",target:"_blank",rel:"noopener",href:"https://github.com/tdurieux/anonymous_github/issues/new?template=issue_report.yml"},"Open an issue",-1))])])):f("v-if",!0),t[10]||(t[10]=n("div",{class:"faq-list"},[f(" General "),n("h4",{class:"faq-cat"},[n("svg",{class:"ui-icon mr-2","aria-hidden":"true"},[n("use",{href:"#ui-icon-info"})]),v("General ")]),n("div",{class:"panel-group",id:"faq-general",role:"tablist","aria-multiselectable":"true"},[n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingWhatIs"},[n("h3",{class:"panel-title"},[n("a",{role:"button","data-toggle":"collapse","data-parent":"#faq-general",href:"#whatIs","aria-expanded":"true","aria-controls":"whatIs"}," What is Anonymous GitHub? ")])]),n("div",{id:"whatIs",class:"panel-collapse collapse show",role:"tabpanel","aria-labelledby":"headingWhatIs"},[n("div",{class:"panel-body p-3"},[n("p",null," Anonymous GitHub is an open-source tool with free hosting and optional paid plans that anonymizes GitHub repositories and pull requests for double-anonymous (double-blind) peer review. It replaces identifying information, such as the repository owner, organization name, and custom terms, so that reviewers cannot determine the identity of the authors through the code repository. ")])])]),n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingHowWork"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-general",href:"#howWork","aria-expanded":"false","aria-controls":"howWork"}," How does Anonymous GitHub work? ")])]),n("div",{id:"howWork",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingHowWork"},[n("div",{class:"panel-body p-3"},[n("p",null," Anonymous GitHub either downloads the complete repository and anonymizes the content, or proxies requests to GitHub on the fly. In both cases, the original and anonymized versions of files are cached on the server. The system automatically detects and replaces the repository owner, organization name, and repository name. You can also specify additional custom terms to anonymize using one-per-line regex patterns. ")])])]),n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingScope"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-general",href:"#scope","aria-expanded":"false","aria-controls":"scope"}," What is the scope of anonymization? ")])]),n("div",{id:"scope",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingScope"},[n("div",{class:"panel-body p-3"},[n("p",null," In double-anonymous peer review, the boundary of anonymization is the paper plus its online appendix, not the entire internet. Searching for any part of the paper or the online appendix can be considered a deliberate attempt to break anonymity. Anonymous GitHub anonymizes the repository owner, organization, repository name, file and directory names, and file contents across all text-based file types. ")])])]),n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingCost"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-general",href:"#cost","aria-expanded":"false","aria-controls":"cost"}," How much does it cost? ")])]),n("div",{id:"cost",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingCost"},[n("div",{class:"panel-body p-3"},[n("p",null," A free account includes 5 owned repositories and 2 GiB of source files. Optional paid plans offer more capacity, automatic refresh, and, with an author subscription, never-expiring repositories. Reviewers can read shared repositories without an account or payment. "),n("p",null,[v(" See "),n("a",{href:"/profile#settings-billing"},"Plans and billing"),v(" for available plans and current prices. Offers depend on whether payments are enabled on this instance; the checkout shows the amount before you pay. Subscriptions help fund hosting, storage, backups, and continued maintenance. ")]),n("p",null,[v(" You can also support development through "),n("a",{href:"https://github.com/sponsors/tdurieux/",target:"_blank",rel:"noopener"},"GitHub Sponsors"),v(" or "),n("a",{href:"https://ko-fi.com/tdurieux",target:"_blank",rel:"noopener"},"Ko-fi"),v(". Donations are separate from subscriptions and do not automatically unlock paid features. ")])])])])]),f(" Plans and billing "),n("h4",{class:"faq-cat",id:"faq-plans-title"},"Plans and billing"),n("div",{class:"panel-group",id:"faq-plans",role:"tablist","aria-label":"Plans and billing","aria-multiselectable":"true"},[n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingWhyPaid"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-plans",href:"#whyPaid","aria-expanded":"false","aria-controls":"whyPaid"},"Why is Anonymous GitHub no longer completely free?")])]),n("div",{id:"whyPaid",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingWhyPaid"},[n("div",{class:"panel-body p-3"},[n("p",null,"Anonymous GitHub started as a small free service and was paid for out of pocket. Three things have changed since then:"),n("ul",null,[n("li",null,[n("strong",null,"Servers cost much more."),v(" Every hosted repository needs storage, bandwidth and backups, and these costs have risen sharply.")]),n("li",null,[n("strong",null,"Many more people use it."),v(" More users means more repositories to store and keep up to date, more support requests and more maintenance.")]),n("li",null,[n("strong",null,"AI has made security work heavier."),v(" AI-driven scrapers and automated abuse send far more traffic than before. Blocking them and keeping hosted content safe takes constant work.")])]),n("p",null,"The core service stays free: anonymizing a repository, sharing the link and reviewer access cost nothing, and reviewers never need an account. Most authors never need to pay. The paid options are small one-time payments for one repository, plus an optional subscription for heavy users. They are priced to cover running costs, not to make a profit."),n("p",null,[v("The source code remains open, so you can still "),n("a",{href:"#faq-hosting"},"host your own instance"),v(" for free.")])])])]),n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingFreePlan"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-plans",href:"#freePlan","aria-expanded":"false","aria-controls":"freePlan"},"What is included in a free account?")])]),n("div",{id:"freePlan",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingFreePlan"},[n("div",{class:"panel-body p-3"},[n("p",null,"The default free allowance is 5 repositories you own and 2 GiB of source files in total. Core anonymization and reviewer access remain free. You can manually refresh a repository within your allowance and choose a dated expiration up to 5 months ahead, then extend it again before it expires. Repositories submitted to a conference can stay online until the end of its review window."),n("p",null,"Repositories shared with you as a co-author do not use your own slots. Gists and pull requests are not included in these repository quotas. The usage shown in your account is the allowance available on this instance.")])])]),n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingAuthorPlans"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-plans",href:"#authorPlans","aria-expanded":"false","aria-controls":"authorPlans"},"What do monthly and annual author subscriptions include?")])]),n("div",{id:"authorPlans",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingAuthorPlans"},[n("div",{class:"panel-body p-3"},[n("p",null,[v("Both include 20 owned repositories and 10 GiB of source files in total. They also allow automatic refresh when enabled in repository settings and let the owner choose "),n("strong",null,"Never expire"),v(".")]),n("p",null,[v("Monthly and annual plans offer the same features with different billing periods. They renew automatically until you cancel renewal. Current prices are shown in "),n("a",{href:"/profile#settings-billing"},"Plans and billing"),v(".")]),n("p",null,"Paid plans do not change how anonymization works. File-size limits and other service safeguards still apply. Review your anonymized content before sharing it.")])])]),n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingReviewPass"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-plans",href:"#reviewPass","aria-expanded":"false","aria-controls":"reviewPass"},"Can I pay for one repository without subscribing?")])]),n("div",{id:"reviewPass",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingReviewPass"},[n("div",{class:"panel-body p-3"},[n("p",null,"Yes. These one-time add-ons apply to a single repository you own. None of them renews automatically:"),n("ul",null,[n("li",null,[n("strong",null,"Paper pack"),v(": an extra repository, automatic updates for 180 days and one more year before it expires, in a single payment. It covers what one paper usually needs during review.")]),n("li",null,[n("strong",null,"Extra repository"),v(": host one more repository once your free repositories are used up. It has its own 2 GiB allowance and does not count toward your free repositories. It lasts as long as the repository exists.")]),n("li",null,[n("strong",null,"Live updates"),v(": automatic refresh for 180 days, with a separate 2 GiB allowance.")]),n("li",null,[n("strong",null,"Extended expiration"),v(": choose an expiration date up to one year after purchase. Buying it again adds another year.")]),n("li",null,[n("strong",null,"Never expire"),v(": the repository has no expiration date. A full refund or a payment dispute ends it after a 90-day grace period.")])]),n("p",null,[v("When your free allowance is full, the Extra repository and Paper pack options are offered as you create the repository. You can also buy an add-on from the repository's edit page, or enter the anonymized ID of an existing repository in "),n("a",{href:"/profile#settings-billing"},"Plans and billing"),v(". Current prices are shown there.")])])])]),n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingConferencePlans"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-plans",href:"#conferencePlans","aria-expanded":"false","aria-controls":"conferencePlans"},"Can a conference or lab pay for a group?")])]),n("div",{id:"conferencePlans",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingConferencePlans"},[n("div",{class:"panel-body p-3"},[n("p",null,"A conference review package provides a shared allowance for a review window of up to 180 days, with automatic updates for every submission. It comes in three sizes: Workshop (25 repositories, 10 GiB), Conference (100 repositories, 50 GiB) and Large conference (400 repositories, 200 GiB). Choose the size when you create the conference; it cannot change afterwards. The organizer pays once and authors pay nothing (the price is shown when you create the conference); the package does not renew automatically. A lab organizing a review can use this shared package too."),n("p",null,"New conferences no longer have a free plan: every new conference is a review package. Conferences created earlier keep working as before. The conference must be activated by payment before authors can submit under its Conference ID. Eligible repositories use the conference allowance before an author's personal allowance, so authors do not each need a subscription for that capacity."),n("p",null,"The package has a fixed review window. Never expire still requires the repository owner's author subscription or a Never expire add-on for that repository.")])])]),n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingPaidCoauthors"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-plans",href:"#paidCoauthors","aria-expanded":"false","aria-controls":"paidCoauthors"},"Does every co-author need to pay?")])]),n("div",{id:"paidCoauthors",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingPaidCoauthors"},[n("div",{class:"panel-body p-3"},[n("p",null,"No. Co-authors can collaborate without buying a subscription. A shared repository uses its owner's allowance, unless a repository pass or paid conference covers it. It does not consume each co-author's personal allowance."),n("p",null,"A co-author's subscription does not increase the owner's allowance. If the owner's available capacity is exhausted, a co-author's refresh or edit may also be blocked. Reviewers never need a paid account.")])])]),n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingCapacity"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-plans",href:"#capacity","aria-expanded":"false","aria-controls":"capacity"},"What counts toward my allowance, and what happens at the limit?")])]),n("div",{id:"capacity",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingCapacity"},[n("div",{class:"panel-body p-3"},[n("p",null,"The repository limit counts work you own. Storage counts the source-file sizes reserved for those repositories, not just files a reviewer opens. Archived or failed repositories can still reserve capacity, and a refresh does not automatically reduce a previous storage reservation."),n("p",null,"At the repository limit you cannot add another repository to that allowance. An edit or refresh must also fit the available storage. Remove work you no longer need, add an Extra repository for the new one, choose a subscription, or use an eligible conference allowance."),n("p",null,"Removing a repository releases its reservation when capacity is next checked. Expired repositories may continue to reserve capacity until cleanup. Reaching a limit does not itself delete existing review links.")])])]),n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingNeverExpire"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-plans",href:"#neverExpire","aria-expanded":"false","aria-controls":"neverExpire"},"What happens to Never expire repositories if I stop subscribing?")])]),n("div",{id:"neverExpire",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingNeverExpire"},[n("div",{class:"panel-body p-3"},[n("p",null,[v("Never expire is available to monthly and annual author subscribers, or for one repository with the one-time Never expire add-on. If a subscription ends, these repositories remain available for a "),n("strong",null,"90-day grace period"),v(", then expire and their hosted content is removed.")]),n("p",null,"Renewing during the grace period keeps them active. After expiration, you must renew and explicitly reactivate the repository; restoring content also requires access to its GitHub source. A repository does not become public on GitHub when it expires."),n("p",null,"Existing never-expiring repositories created before this billing policy retain their settings. Never expire is not a guarantee of perpetual service availability.")])])]),n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingCancelPlan"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-plans",href:"#cancelPlan","aria-expanded":"false","aria-controls":"cancelPlan"},"How do I cancel, and what happens after paid access ends?")])]),n("div",{id:"cancelPlan",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingCancelPlan"},[n("div",{class:"panel-body p-3"},[n("p",null,[v("Open "),n("a",{href:"/profile#settings-billing"},"Plans and billing"),v(" and choose "),n("strong",null,"Manage billing and invoices"),v(" to manage renewal. Cancelling renewal keeps subscription benefits until the end of the paid period.")]),n("p",null,"After paid access ends, repositories fall back to another eligible allowance or the free allowance. Automatic refresh pauses on the free allowance; manual refresh remains available within its limits. Existing review links keep their configured expiration dates, except paid Never expire repositories, which follow the 90-day grace period described above."),n("p",null,"A repository pass or conference package ends after its paid window without automatic renewal.")])])]),n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingRefunds"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-plans",href:"#refunds","aria-expanded":"false","aria-controls":"refunds"},"Can I get a refund?")])]),n("div",{id:"refunds",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingRefunds"},[n("div",{class:"panel-body p-3"},[n("p",null,[v("Refunds are handled case by case. "),n("a",{href:"mailto:tdurieux@anonymous.4open.science"},"Email the maintainer"),v(" with the date of the payment and the repository it was for.")]),n("p",null,"A full refund ends what that payment bought. For a Paper pack, this means all three parts: the extra repository, automatic updates and the extended expiration. A Never expire repository then expires after a 90-day grace period. A partial refund keeps your access."),n("p",null,"To stop a subscription, cancel its renewal instead of asking for a refund. You keep access until the end of the period you paid for.")])])]),n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingPaymentHandling"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-plans",href:"#paymentHandling","aria-expanded":"false","aria-controls":"paymentHandling"},"How are payments handled?")])]),n("div",{id:"paymentHandling",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingPaymentHandling"},[n("div",{class:"panel-body p-3"},[n("p",null,[v("Stripe processes checkout and billing management. Anonymous GitHub does not store your card details. You can access billing management and invoices from "),n("a",{href:"/profile#settings-billing"},"Plans and billing"),v(".")]),n("p",null,[v("Paid access is activated after payment is confirmed. If checkout succeeds but your account has not updated, choose "),n("strong",null,"Refresh payment status"),v(" before trying another purchase. If paid plans are unavailable on this instance, no checkout is offered.")])])])])]),f(" Features "),n("h4",{class:"faq-cat"},[n("svg",{class:"ui-icon mr-2","aria-hidden":"true"},[n("use",{href:"#project-icon-filter"})]),v("Features ")]),n("div",{class:"panel-group",id:"faq-features",role:"tablist","aria-multiselectable":"true"},[n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingFormats"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-features",href:"#formats","aria-expanded":"false","aria-controls":"formats"}," Which file formats are supported? ")])]),n("div",{id:"formats",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingFormats"},[n("div",{class:"panel-body p-3"},[n("p",null," Anonymous GitHub can display and render a wide variety of file types: "),n("ul",null,[n("li",null,[n("strong",null,"Text and source code"),v(": displayed with syntax highlighting")]),n("li",null,[n("strong",null,"Markdown"),v(": rendered as formatted HTML")]),n("li",null,[n("strong",null,"Images"),v(" (PNG, JPG, SVG, etc.): displayed inline")]),n("li",null,[n("strong",null,"PDFs"),v(": rendered directly in the browser")]),n("li",null,[n("strong",null,"Jupyter Notebooks"),v(": rendered with code cells and outputs")])]),n("p",null," Only text-based files are anonymized. Anonymous GitHub analyzes the content of each file to determine whether it is textual or binary. ")])])]),n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingPR"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-features",href:"#pullRequests","aria-expanded":"false","aria-controls":"pullRequests"}," Can I anonymize pull requests? ")])]),n("div",{id:"pullRequests",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingPR"},[n("div",{class:"panel-body p-3"},[n("p",null," Yes. In addition to full repositories, Anonymous GitHub supports anonymizing individual pull requests. Simply paste the URL of a GitHub pull request when creating a new anonymized repository, and the system will automatically detect that it is a pull request and anonymize it accordingly. ")])])]),n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingConference"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-features",href:"#conference","aria-expanded":"false","aria-controls":"conference"}," What is the Conference ID feature? ")])]),n("div",{id:"conference",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingConference"},[n("div",{class:"panel-body p-3"},[n("p",null," When creating an anonymized repository, you can associate it with a Conference ID. This allows conferences to define default anonymization settings (such as expiration dates) that are automatically applied to repositories submitted under that conference. If your conference provides a Conference ID, enter it during the anonymization setup. ")])])]),n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingExpiration"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-features",href:"#expiration","aria-expanded":"false","aria-controls":"expiration"}," What happens when an anonymized repository expires? ")])]),n("div",{id:"expiration",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingExpiration"},[n("div",{class:"panel-body p-3"},[n("p",null," You can configure one of three expiration strategies when creating your anonymized repository: "),n("ul",null,[n("li",null,[n("strong",null,"Never expire"),v(": with a monthly or annual author subscription, no scheduled expiration while subscribed. A 90-day grace period applies after paid access ends. See "),n("a",{href:"#neverExpire"},"the subscription expiration policy"),v(".")]),n("li",null,[n("strong",null,"Redirect to GitHub"),v(": after expiration, visitors are redirected to the original GitHub repository.")]),n("li",null,[n("strong",null,"Remove content"),v(": after expiration, the anonymized content is deleted from the server.")])])])])]),n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingDownload"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-features",href:"#download","aria-expanded":"false","aria-controls":"download"}," Can I download an anonymized repository? ")])]),n("div",{id:"download",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingDownload"},[n("div",{class:"panel-body p-3"},[n("p",null," Yes. Anonymized repositories can be downloaded as a ZIP file. This is useful if reviewers want to build or test the code locally. The downloaded archive contains the fully anonymized version of the repository. ")])])]),n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingUpdates"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-features",href:"#updates","aria-expanded":"false","aria-controls":"updates"}," Are updates to the original repository reflected in the anonymized version? ")])]),n("div",{id:"updates",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingUpdates"},[n("div",{class:"panel-body p-3"},[n("p",null," You can refresh the anonymized repository from GitHub without creating a new share link. Free accounts can request a manual refresh within their allowance. Automatic refresh requires an eligible paid allowance and must be enabled in repository settings. It pauses when the repository falls back to the free allowance. "),n("p",null," After changing files or contributor names, review your anonymization terms before sharing the updated content. If GitHub access is revoked or the source is deleted, the service cannot fetch updates. ")])])]),n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingCLI"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-features",href:"#cli","aria-expanded":"false","aria-controls":"cli"}," Is there a command-line tool? ")])]),n("div",{id:"cli",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingCLI"},[n("div",{class:"panel-body p-3"},[n("p",null," Yes. Anonymous GitHub provides a CLI tool that lets you anonymize repositories locally, generating an anonymized ZIP file on your machine. Install it via npm: "),n("pre",{style:{"background-color":"var(--hover-bg-color)",padding:"12px","border-radius":"4px","margin-top":"8px",color:"var(--color)"}},[n("code",null,`npm install -g @tdurieux/anonymous_github -anonymous_github`)])])])])]),f(" Limitations "),n("h4",{class:"faq-cat"},[n("svg",{class:"ui-icon mr-2","aria-hidden":"true"},[n("use",{href:"#ui-icon-warning"})]),v("Limitations ")]),n("div",{class:"panel-group",id:"faq-limitations",role:"tablist","aria-multiselectable":"true"},[n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingLimitation"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-limitations",href:"#limitation","aria-expanded":"false","aria-controls":"limitation"}," What are the limitations of Anonymous GitHub? ")])]),n("div",{id:"limitation",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingLimitation"},[n("div",{class:"panel-body p-3"},[n("ul",null,[n("li",null," Anonymous GitHub only anonymizes text-based files. Binary files (compiled executables, archives, etc.) are served as-is without anonymization. "),n("li",null," Files larger than 8 MB are not supported. "),n("li",null," Static site generators (such as Jekyll) used with GitHub Pages are not fully supported, although Markdown files are converted to HTML. "),n("li",null," The anonymization of terms within source code may change the behavior of the program (e.g., if a replaced term appears in a string literal or identifier). ")])])])])]),f(" Privacy and security "),n("h4",{class:"faq-cat"},[n("svg",{class:"ui-icon mr-2","aria-hidden":"true"},[n("use",{href:"#ui-icon-shield"})]),v("Privacy and security ")]),n("div",{class:"panel-group",id:"faq-privacy",role:"tablist","aria-multiselectable":"true"},[n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingData"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-privacy",href:"#data","aria-expanded":"false","aria-controls":"data"}," How is my data handled? ")])]),n("div",{id:"data",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingData"},[n("div",{class:"panel-body p-3"},[n("p",null," Repository data is used to provide the anonymization service. If you purchase a plan, Stripe processes payment and billing information. When a repository is removed or expires, only its configuration is retained. This makes it easy to restore the repository if needed and ensures that no future repository reuses the same ID. ")])])]),n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingPermissions"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-privacy",href:"#permissions","aria-expanded":"false","aria-controls":"permissions"}," Why does GitHub say Anonymous GitHub asks for write access? ")])]),n("div",{id:"permissions",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingPermissions"},[n("div",{class:"panel-body p-3"},[n("p",null,[v("The GitHub App has read-only access to the repositories you choose. You can change repository access on your "),n("a",{href:"/connections"},"GitHub connections"),v(" page.")]),n("p",null,"Legacy GitHub OAuth includes write access to private repositories because GitHub's OAuth scopes do not offer a read-only option for them. Existing OAuth anonymizations and gists can still use this connection."),n("p",null,"Anonymous GitHub reads repository content. It never pushes, modifies, or deletes files on GitHub.")])])]),n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingViewer"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-privacy",href:"#viewer","aria-expanded":"false","aria-controls":"viewer"}," Can repository owners see who viewed their anonymized repository? ")])]),n("div",{id:"viewer",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingViewer"},[n("div",{class:"panel-body p-3"},[n("p",null," No. Only the total number of views is tracked as an incremental counter. It is not possible for the repository owner or for Anonymous GitHub to identify individual viewers. Reviewer anonymity is fully preserved. ")])])])]),f(" Self-hosting "),n("h4",{class:"faq-cat"},[n("svg",{class:"ui-icon mr-2","aria-hidden":"true"},[n("use",{href:"#project-icon-storage"})]),v("Self"),n("span",{class:"serif-hy"},"-"),v("hosting ")]),n("div",{class:"panel-group",id:"faq-hosting",role:"tablist","aria-multiselectable":"true"},[n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingDeploy"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-hosting",href:"#deploy","aria-expanded":"false","aria-controls":"deploy"}," Can I deploy my own instance? ")])]),n("div",{id:"deploy",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingDeploy"},[n("div",{class:"panel-body p-3"},[n("p",null,[v(" Yes. Anonymous GitHub is fully open source (GPL-3.0) and supports Docker-based deployment. Billing is optional and disabled by default for self-hosted instances; paid hosted plans are not required to run your own server. You will need to configure a GitHub OAuth app and provide a GitHub token. Detailed setup instructions are available on the "),n("a",{href:"https://github.com/tdurieux/anonymous_github/",target:"_blank"},"GitHub repository"),v(". ")]),n("p",null," The basic steps are: "),n("ol",null,[n("li",null,"Clone the repository and install dependencies"),n("li",null,[v("Create a "),n("code",null,".env"),v(" file with your GitHub token, OAuth client ID, and client secret")]),n("li",null,[v("Run "),n("code",null,"docker-compose up -d")])])])])])])],-1))],2),t[11]||(t[11]=n("aside",{class:"paper-faq-help","aria-label":"More help"},[n("div",{class:"paper-faq-help-card"},[n("strong",null,"Still stuck?"),n("p",null,"Open an issue on GitHub about the service. For a paper's content, contact the conference instead."),n("a",{class:"btn btn-outline-ink btn-sm",target:"_blank",rel:"noopener",href:"https://github.com/tdurieux/anonymous_github/issues/new?template=issue_report.yml"},"Open an issue")])],-1))])]),_e(o,{name:"partials/footer.htm",state:e.viewState},null,8,["state"])],64)}var DL={class:"pr-page"},AL={class:"container paper-page pr-page-inner"},TL={class:"pr-header"},PL={class:"pr-title-row"},OL={class:"paper-page-title pr-title"},IL=["textContent"],ML={key:1,class:"text-muted"},_L=["href"],VL={class:"pr-header-meta"},qL={key:0,class:"pr-meta-item"},$L=["textContent"],LL={key:1,class:"pr-meta-item"},UL=["textContent"],FL={key:2,class:"pr-meta-item"},BL=["textContent"],zL={key:0,class:"paper-tabs",role:"tablist"},HL=["aria-selected","tabindex"],jL=["textContent"],GL=["aria-selected","tabindex"],WL=["textContent"],KL={class:"paper-tab-content"},YL={key:0,role:"tabpanel",id:"gist-files-panel","aria-labelledby":"gist-files-tab"},XL={class:"pr-comments"},QL={class:"pr-comment"},JL={class:"pr-comment-head"},ZL=["textContent"],xL={key:0,class:"pr-comment-date"},eU={key:0,class:"paper-table-empty"},tU={key:1,role:"tabpanel",id:"gist-comments-panel","aria-labelledby":"gist-comments-tab"},nU={class:"pr-comments"},oU={class:"pr-comment"},sU={class:"pr-comment-head"},iU={key:0,class:"pr-comment-author"},rU=["textContent"],aU=["textContent"],lU={key:0,class:"pr-comment-body"},dU={key:0,class:"paper-table-empty"};function Zc(e,t){let o=Xe("gist-file"),i=Xe("markdown");return l(),d("div",DL,[n("div",AL,[t[17]||(t[17]=n("div",{class:"paper-crumbs"},[n("a",{href:"/dashboard"},"Reviewer"),v(" \xA0/\xA0 "),n("span",{class:"here"},"Gist")],-1)),n("header",TL,[n("div",PL,[n("h1",OL,[e.details?.description?(l(),d("span",{key:0,textContent:c(e.details?.description)},null,8,IL)):f("v-if",!0),e.details?.description?f("v-if",!0):(l(),d("span",ML,"Untitled gist"))]),e.options?.isAdmin||e.options?.isOwner?(l(),d("a",{key:0,class:"btn btn-sm","aria-label":"Edit",href:e.safeUrl("/gist-anonymize/"+e.gistId)},[...t[4]||(t[4]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-edit"})],-1),n("span",{class:"d-none d-md-inline"}," Edit",-1)])],8,_L)):f("v-if",!0)]),n("div",VL,[n("span",{class:T(["paper-pill",{good:e.details?.isPublic,warn:!e.details?.isPublic}])},c(e.details?.isPublic?"Public":"Secret"),3),e.details?.ownerLogin?(l(),d("span",qL,[t[5]||(t[5]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-user"})],-1)),t[6]||(t[6]=v(" @",-1)),n("span",{textContent:c(e.details?.ownerLogin)},null,8,$L)])):f("v-if",!0),e.details?.updatedDate?(l(),d("span",LL,[t[7]||(t[7]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-clock"})],-1)),t[8]||(t[8]=v()),n("span",{textContent:c(e.fmt?.date(e.details?.updatedDate))},null,8,UL)])):f("v-if",!0),e.details?.anonymizeDate?(l(),d("span",FL,[t[9]||(t[9]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-shield"})],-1)),t[10]||(t[10]=v(" Anonymized ",-1)),n("span",{textContent:c(e.fmt?.date(e.details?.anonymizeDate))},null,8,BL)])):f("v-if",!0)])]),e.details?.files&&e.details?.files?.length||e.details?.comments&&e.details?.comments?.length?(l(),d("nav",zL,[e.details?.files?(l(),d("button",{key:0,class:T(["paper-tab",{active:e.tabState?.active=="files"}]),type:"button",role:"tab",id:"gist-files-tab","aria-selected":e.tabState?.active==="files","aria-controls":"gist-files-panel",tabindex:e.tabState?.active==="files"?0:-1,onKeydown:t[0]||(t[0]=s=>e.previewTabKeydown(s)),onClick:t[1]||(t[1]=s=>e.tabState.active="files")},[t[11]||(t[11]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-type-gist"})],-1)),n("span",{textContent:c(e.fmt.plural(e.details?.files?.length,{0:"No files",one:"1 file",other:"{} files"}))},null,8,jL)],42,HL)):f("v-if",!0),e.details?.comments?(l(),d("button",{key:1,class:T(["paper-tab",{active:e.tabState?.active=="comments"}]),type:"button",role:"tab",id:"gist-comments-tab","aria-selected":e.tabState?.active==="comments","aria-controls":"gist-comments-panel",tabindex:e.tabState?.active==="comments"?0:-1,onKeydown:t[2]||(t[2]=s=>e.previewTabKeydown(s)),onClick:t[3]||(t[3]=s=>e.tabState.active="comments")},[t[12]||(t[12]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-comment"})],-1)),n("span",{textContent:c(e.fmt.plural(e.details?.comments?.length,{0:"No comments",one:"1 comment",other:"{} comments"}))},null,8,WL)],42,GL)):f("v-if",!0)])):f("v-if",!0),n("div",KL,[e.details?.files&&e.tabState?.active=="files"?(l(),d("div",YL,[n("ul",XL,[(l(!0),d(L,null,se(e.details?.files,(s,r)=>(l(),d("li",QL,[n("div",JL,[n("strong",{textContent:c(s?.filename)},null,8,ZL),s?.language?(l(),d("span",xL,c(s?.language),1)):f("v-if",!0)]),_e(o,{file:s},null,8,["file"])]))),256)),e.details?.files?.length?f("v-if",!0):(l(),d("li",eU,[...t[13]||(t[13]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-file"})],-1),n("span",null,"No files in this gist.",-1)])]))])])):f("v-if",!0),e.details?.comments&&e.tabState?.active=="comments"?(l(),d("div",tU,[n("ul",nU,[(l(!0),d(L,null,se(e.details?.comments,(s,r)=>(l(),d("li",oU,[n("div",sU,[s?.author?(l(),d("span",iU,[t[14]||(t[14]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-user"})],-1)),t[15]||(t[15]=v(" @",-1)),n("span",{textContent:c(s?.author)},null,8,rU)])):f("v-if",!0),s?.updatedDate?(l(),d("span",{key:1,class:"pr-comment-date",textContent:c(e.fmt?.date(s?.updatedDate))},null,8,aU)):f("v-if",!0)]),s?.body?(l(),d("div",lU,[_e(i,{content:s?.body},null,8,["content"])])):f("v-if",!0)]))),256)),e.details?.comments?.length?f("v-if",!0):(l(),d("li",dU,[...t[16]||(t[16]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-comment"})],-1),n("span",null,"No comments on this gist.",-1)])]))])])):f("v-if",!0)])])])}var uU={key:0,class:"nav-support",href:"https://ko-fi.com/tdurieux",target:"_blank",rel:"noopener",title:"Donate on Ko-fi to help cover hosting costs","aria-label":"Donate on Ko-fi to help cover hosting costs"},cU={key:1,class:"nav-heart-m",href:"https://ko-fi.com/tdurieux",target:"_blank",rel:"noopener","aria-label":"Support Anonymous GitHub",title:"Support Anonymous GitHub"},pU=["aria-label","title"],fU={class:"ui-icon","aria-hidden":"true"},hU=["href"],mU={key:3,class:"nav-signin-m",href:"/signin",target:"_self","aria-label":"Sign in with GitHub"},gU={class:"collapse navbar-collapse",id:"navbarSupportedContent"},vU={class:"navbar-nav mr-auto smooth-scroll"},yU={key:0,class:"nav-item nav-home-item"},bU={key:1,class:"nav-item"},wU={key:2,class:"nav-item"},kU={key:3,class:"nav-item"},CU={class:"nav-item"},EU={key:4,class:"nav-item"},SU={class:"navbar-nav"},NU={key:0,class:"nav-item d-lg-none"},RU={key:1,class:"nav-item"},DU={key:2,class:"nav-item"},AU={key:3,class:"nav-item nav-signin-item"},TU={key:4,class:"nav-item"},PU={key:5,class:"nav-item dropdown user-chip-wrap"},OU={class:"nav-link user-chip dropdown-toggle",href:"#",id:"navbarDropdownMenuLink",role:"button","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},IU=["src"],MU={class:"user-chip-name"},_U={class:"dropdown-menu dropdown-menu-right user-menu","aria-labelledby":"navbarDropdownMenuLink"},VU={class:"dropdown-header"},qU={key:0,class:"dropdown-item um-extra",href:"https://ko-fi.com/tdurieux",target:"_blank",rel:"noopener"},$U=["innerHTML"],LU=["disabled"],UU={key:0,class:"paper-inline-alert paper-inline-alert-error",role:"alert"},FU={class:"email-prompt-actions"},BU=["disabled"],zU=["disabled"],HU=["disabled"];function xc(e,t){return l(),d(L,null,[n("nav",{class:T(["navbar navbar-expand-lg",{"navbar-dark":e.isDarkMode}])},[t[28]||(t[28]=n("a",{class:"navbar-brand",href:"/"},[v("Anonymous "),n("em",null,"GitHub")],-1)),e.headerShowSupport?(l(),d("a",uU,[...t[9]||(t[9]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-heart"})],-1),n("span",{class:"nav-support-label"},"Support",-1)])])):f("v-if",!0),/^\/(r|w|pr|gist)\//.test(e.path||"")?f("v-if",!0):(l(),d("a",cU,[...t[10]||(t[10]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-heart"})],-1)])])),/^\/(r|w|pr|gist)\//.test(e.path||"")?f("v-if",!0):(l(),d("button",{key:2,type:"button",class:"nav-theme-m","aria-label":e.isDarkMode?"Switch to light mode":"Switch to dark mode",title:e.isDarkMode?"Switch to light mode":"Switch to dark mode",onClick:t[0]||(t[0]=o=>e.darkMode(!e.isDarkMode))},[(l(),d("svg",fU,[n("use",{href:e.isDarkMode?"#ui-icon-sun":"#ui-icon-moon"},null,8,hU)]))],8,pU)),!e.user&&!/^\/(r|w|pr|gist)\//.test(e.path||"")?(l(),d("a",mU,[...t[11]||(t[11]=[n("i",{class:"fab fa-github","aria-hidden":"true"},null,-1),v("Sign in",-1)])])):f("v-if",!0),t[29]||(t[29]=n("button",{class:"navbar-toggler",type:"button","data-toggle":"collapse","data-target":"#navbarSupportedContent","aria-controls":"navbarSupportedContent","aria-expanded":"false","aria-label":"Toggle navigation"},[n("span",{class:"navbar-toggler-icon"})],-1)),n("div",gU,[n("ul",vU,[e.user?f("v-if",!0):(l(),d("li",yU,[n("a",{class:T(["nav-link",{active:e.path=="/"}]),href:"/"},[...t[12]||(t[12]=[n("svg",{class:"ui-icon d-lg-none mr-1","aria-hidden":"true"},[n("use",{href:"#ui-icon-home"})],-1),v(" Home ",-1)])],2)])),e.user?(l(),d("li",bU,[n("a",{class:T(["nav-link",{active:e.path=="/dashboard"}]),href:"/dashboard"},[...t[13]||(t[13]=[n("svg",{class:"ui-icon d-lg-none mr-1","aria-hidden":"true"},[n("use",{href:"#ui-icon-grid"})],-1),v(" My work ",-1)])],2)])):f("v-if",!0),e.user?(l(),d("li",wU,[n("a",{class:T(["nav-link",{active:e.path=="/anonymize"||e.path=="/pull-request-anonymize"}]),href:"/anonymize"},[...t[14]||(t[14]=[n("svg",{class:"ui-icon d-lg-none mr-1","aria-hidden":"true"},[n("use",{href:"#ui-icon-shield"})],-1),v(" Anonymize ",-1)])],2)])):f("v-if",!0),e.user?(l(),d("li",kU,[n("a",{class:T(["nav-link",{active:e.path=="/conferences"||e.path?.startsWith("/conference/")}]),href:"/conferences"},[...t[15]||(t[15]=[n("svg",{class:"ui-icon d-lg-none mr-1","aria-hidden":"true"},[n("use",{href:"#project-icon-conference"})],-1),v(" Conferences ",-1)])],2)])):f("v-if",!0),n("li",CU,[n("a",{class:T(["nav-link",{active:e.path=="/faq"}]),href:"/faq"},[...t[16]||(t[16]=[n("svg",{class:"ui-icon d-lg-none mr-1","aria-hidden":"true"},[n("use",{href:"#ui-icon-help"})],-1),v("FAQ",-1)])],2)]),e.user&&e.user?.isAdmin?(l(),d("li",EU,[n("a",{class:T(["nav-link",{active:e.path?.indexOf("/admin")===0}]),href:"/admin/"},[...t[17]||(t[17]=[n("svg",{class:"ui-icon d-lg-none mr-1","aria-hidden":"true"},[n("use",{href:"#ui-icon-user-shield"})],-1),v(" Admin ",-1)])],2)])):f("v-if",!0)]),n("ul",SU,[e.user||!e.isReviewerRoute?(l(),d("li",NU,[...t[18]||(t[18]=[n("a",{class:"nav-link nav-icon",target:"_blank",href:"https://github.com/tdurieux/anonymous_github/",title:"Anonymous GitHub source code","aria-label":"Anonymous GitHub source code on GitHub",rel:"noopener","data-offset":"30"},[n("i",{class:"fab fa-github","aria-hidden":"true"})],-1)])])):f("v-if",!0),f(` "Report a bug" is about this service. Reviewers who land on an +jane.smith@example.org`},null,10,oP),[[s,{state:e.viewState,set:a=>{e.terms=a},value:e.terms,form:"anonymize",options:{debounce:250}}]]),t[119]||(t[119]=n("small",{class:"form-text text-muted"},"One term per line.",-1)),n("details",sP,[t[114]||(t[114]=n("summary",null,"Regex & replacement syntax",-1)),t[115]||(t[115]=v()),n("small",iP,[t[108]||(t[108]=v("Regex is supported. Replaced by ",-1)),n("code",null,c(e.site_options?.ANONYMIZATION_MASK)+"-[N]",1),t[109]||(t[109]=v(", or use ",-1)),t[110]||(t[110]=n("code",null,"term=>replacement",-1)),t[111]||(t[111]=v(" to pick your own (e.g. ",-1)),t[112]||(t[112]=n("code",null,"Anonymous=>ABC",-1)),t[113]||(t[113]=v(").",-1))])]),(l(!0),d(L,null,ie((e.termHints||[]).slice(0,3),a=>(l(),d("div",{class:"term-hint",key:a.line},[n("span",null,[t[116]||(t[116]=v("In ",-1)),n("code",null,c(a.term),1),t[117]||(t[117]=v(", ",-1)),n("code",null,c(a.symbols.join(" ")),1),v(" "+c(a.symbols.length>1?"are regex symbols":"is a regex symbol")+", so it may not match the text as written.",1)]),n("button",{type:"button",class:"btn btn-outline-ink btn-sm",onClick:u=>e.matchTermAsWritten(a.line)},"Match as written",8,rP)]))),128)),(e.termHints||[]).length>3?(l(),d("div",aP,c(e.termHints.length-3)+" more "+c(e.termHints.length-3===1?"term uses":"terms use")+" regex symbols.",1)):f("v-if",!0),O(n("div",lP,"Terms are in an invalid format.",512),[[ee,e.anonymize?.terms?.errors?.format]])]),O(n("div",dP,[n("div",uP,[t[120]||(t[120]=n("span",{class:"paper-field-label",id:"preserve-files-label"},"Unredacted files",-1)),n("span",cP,c(e.preserveSummary()),1)]),n("button",{type:"button",class:"btn btn-outline-ink btn-sm","aria-describedby":"preserve-files-label",disabled:!e.source?.commit,onClick:t[22]||(t[22]=a=>e.openPreserveFiles())},c((e.options?.preserveFiles||[]).length?"Edit":"Choose files"),9,pP)],512),[[ee,e.detectedType==="repo"]]),e.preserve?.open?(l(),d("dialog",{key:0,id:"preserve-files-dialog",class:"preserve-dialog","aria-labelledby":"preserve-files-title",onCancel:t[27]||(t[27]=de(a=>e.closePreserveFiles(),["prevent"]))},[n("form",{onSubmit:t[26]||(t[26]=de(a=>e.savePreserveFiles(),["prevent"]))},[t[124]||(t[124]=n("h2",{id:"preserve-files-title"},"Leave files unredacted",-1)),t[125]||(t[125]=n("p",{class:"preserve-intro"},"Checked files are shown exactly as written, for example a bibliography where redacted self-citations would reveal you. File names are still redacted.",-1)),O(n("input",{type:"search",id:"preserve-files-search",class:"form-control",placeholder:"Search files","aria-label":"Search files",autocomplete:"off","onUpdate:modelValue":t[23]||(t[23]=a=>e.preserve.search=a)},null,512),[[lt,e.preserve.search]]),n("div",fP,[e.preserve.loading?(l(),d("p",hP,"Loading files from GitHub\u2026")):e.preserve.error?(l(),d("p",mP,c(e.preserve.error),1)):(l(),d(L,{key:2},[(l(!0),d(L,null,ie(e.preserveRows(),(a,u)=>(l(),d("div",{class:"preserve-item",key:a.kind+":"+a.path,style:Ve({paddingLeft:a.depth*18+6+"px"})},[a.kind==="dir"?(l(),d("button",{key:0,type:"button",class:"preserve-caret","aria-expanded":a.open?"true":"false","aria-label":(a.open?"Collapse ":"Expand ")+a.label,onClick:p=>e.togglePreserveDir(a.path)},c(a.open?"\u25BE":"\u25B8"),9,gP)):(l(),d("span",vP)),n("input",{type:"checkbox",id:"pf-"+u,"aria-label":a.kind==="dir"?"Leave folder "+a.path+" unredacted":null,checked:a.state==="all",".indeterminate":a.state==="some",disabled:a.locked,onChange:p=>a.kind==="dir"?e.togglePreserveFolder(a.path):e.togglePreserveFile(a.path)},null,40,yP),n("label",{for:a.kind==="file"?"pf-"+u:null,class:"preserve-name",onClick:p=>a.kind==="dir"&&e.togglePreserveDir(a.path)},c(a.label),9,bP),a.note?(l(),d("span",wP,c(a.note),1)):f("v-if",!0)],4))),128)),!e.preserve.loading&&!e.preserveRows().length?(l(),d("p",kP,c(e.preserve.search?"No file matches your search.":"No text files in this commit."),1)):f("v-if",!0)],64))]),e.preserve.truncated?(l(),d("p",CP,"This repository has too many files to list them all. Use a pattern for files you cannot find.")):f("v-if",!0),n("details",{class:"preserve-patterns",open:e.preserve.patternsOpen},[t[121]||(t[121]=n("summary",null,"Patterns",-1)),O(n("textarea",{class:"form-control",rows:"3","aria-label":"Patterns",placeholder:`*.bib +paper/appendix/**`,"onUpdate:modelValue":t[24]||(t[24]=a=>e.preserve.patterns=a)},null,512),[[lt,e.preserve.patterns]]),t[122]||(t[122]=n("small",{class:"form-text text-muted"},[v("One per line, as in .gitignore: "),n("code",null,"*.bib"),v(" matches in any folder; "),n("code",null,"/refs.bib"),v(" and "),n("code",null,"paper/refs.bib"),v(" match from the repository root; a folder name such as "),n("code",null,"drafts/"),v(" covers everything inside it; "),n("code",null,"!private.bib"),v(" excludes again.")],-1))],8,EP),n("div",SP,[n("span",NP,c(e.preserve.loading||e.preserve.error?"":e.preserveCount()+(e.preserveCount()===1?" file":" files")+" will be shown as written"),1),n("span",RP,[n("button",{type:"button",class:"btn btn-outline-ink",onClick:t[25]||(t[25]=a=>e.closePreserveFiles())},"Cancel"),t[123]||(t[123]=n("button",{type:"submit",class:"btn btn-ink"},"Save",-1))])])],32)],32)):f("v-if",!0)],512),[[ee,e.detectedType]]),O(n("section",DP,[t[146]||(t[146]=n("h2",{class:"paper-section-eyebrow"},"Display",-1)),O(n("div",null,[n("div",AP,[O(n("input",TP,null,512),[[s,{state:e.viewState,set:a=>{e.options.link=a},value:e.options?.link,form:"anonymize",options:{}}]]),t[127]||(t[127]=n("label",{class:"form-check-label",for:"link"},"Keep links",-1))]),n("div",PP,[O(n("input",OP,null,512),[[s,{state:e.viewState,set:a=>{e.options.image=a},value:e.options?.image,form:"anonymize",options:{}}]]),t[128]||(t[128]=n("label",{class:"form-check-label",for:"image"},"Display images",-1))]),n("div",IP,[O(n("input",MP,null,512),[[s,{state:e.viewState,set:a=>{e.options.pdf=a},value:e.options?.pdf,form:"anonymize",options:{}}]]),t[129]||(t[129]=n("label",{class:"form-check-label",for:"pdf"},"Display PDFs",-1))]),n("div",_P,[O(n("input",VP,null,512),[[s,{state:e.viewState,set:a=>{e.options.notebook=a},value:e.options?.notebook,form:"anonymize",options:{}}]]),t[130]||(t[130]=n("label",{class:"form-check-label",for:"notebook"},"Display notebooks",-1))]),n("div",qP,[O(n("input",{class:"form-check-input",type:"checkbox",id:"page",name:"page",disabled:!e.details?.hasPage||e.details?.pageSource&&e.details?.pageSource?.branch!==e.source?.branch},null,8,$P),[[s,{state:e.viewState,set:a=>{e.options.page=a},value:e.options?.page,form:"anonymize",options:{}}]]),t[131]||(t[131]=n("label",{class:"form-check-label",for:"page"},"GitHub Pages",-1)),e.details?.hasPage?f("v-if",!0):(l(),d("small",LP,c(e.fmt?.translate("WARNINGS.page_not_enabled_on_repo")),1)),e.details?.hasPage&&e.details?.pageSource?.branch&&e.source?.branch&&e.details.pageSource.branch!==e.source.branch?(l(),d("small",UP,c(e.fmt?.translate("WARNINGS.page_branch_mismatch",{pageBranch:e.details?.pageSource?.branch,selectedBranch:e.source?.branch})),1)):f("v-if",!0)])],512),[[ee,e.detectedType==="repo"]]),e.detectedType==="repo"&&(e.options.image||e.options.pdf)?(l(),d("p",FP,[...t[132]||(t[132]=[v("Images and PDFs are served unchanged. Review their contents and metadata before sharing. ",-1),n("a",{href:"/faq#formats"},"Supported formats",-1)])])):f("v-if",!0),O(n("div",null,[n("div",BP,[O(n("input",zP,null,512),[[s,{state:e.viewState,set:a=>{e.options.title=a},value:e.options?.title,form:"anonymize",options:{}}]]),t[133]||(t[133]=n("label",{class:"form-check-label",for:"title-gist"},"Gist description",-1))]),n("div",HP,[O(n("input",jP,null,512),[[s,{state:e.viewState,set:a=>{e.options.content=a},value:e.options?.content,form:"anonymize",options:{}}]]),t[134]||(t[134]=n("label",{class:"form-check-label",for:"content-gist"},"File contents",-1))]),n("div",GP,[O(n("input",WP,null,512),[[s,{state:e.viewState,set:a=>{e.options.comments=a},value:e.options?.comments,form:"anonymize",options:{}}]]),t[135]||(t[135]=n("label",{class:"form-check-label",for:"comments-gist"},"Comments",-1))]),n("div",KP,[O(n("input",YP,null,512),[[s,{state:e.viewState,set:a=>{e.options.username=a},value:e.options?.username,form:"anonymize",options:{}}]]),t[136]||(t[136]=n("label",{class:"form-check-label",for:"username-gist"},"Usernames",-1))]),n("div",XP,[O(n("input",QP,null,512),[[s,{state:e.viewState,set:a=>{e.options.date=a},value:e.options?.date,form:"anonymize",options:{}}]]),t[137]||(t[137]=n("label",{class:"form-check-label",for:"date-gist"},"Dates",-1))]),n("div",JP,[O(n("input",ZP,null,512),[[s,{state:e.viewState,set:a=>{e.options.origin=a},value:e.options?.origin,form:"anonymize",options:{}}]]),t[138]||(t[138]=n("label",{class:"form-check-label",for:"origin-gist"},"Source gist ID",-1))])],512),[[ee,e.detectedType==="gist"]]),O(n("div",null,[n("div",xP,[O(n("input",e3,null,512),[[s,{state:e.viewState,set:a=>{e.options.title=a},value:e.options?.title,form:"anonymize",options:{}}]]),t[139]||(t[139]=n("label",{class:"form-check-label",for:"title"},"PR title",-1))]),n("div",t3,[O(n("input",n3,null,512),[[s,{state:e.viewState,set:a=>{e.options.body=a},value:e.options?.body,form:"anonymize",options:{}}]]),t[140]||(t[140]=n("label",{class:"form-check-label",for:"body"},"PR body",-1))]),n("div",o3,[O(n("input",s3,null,512),[[s,{state:e.viewState,set:a=>{e.options.diff=a},value:e.options?.diff,form:"anonymize",options:{}}]]),t[141]||(t[141]=n("label",{class:"form-check-label",for:"diff"},"Diff",-1))]),n("div",i3,[O(n("input",r3,null,512),[[s,{state:e.viewState,set:a=>{e.options.comments=a},value:e.options?.comments,form:"anonymize",options:{}}]]),t[142]||(t[142]=n("label",{class:"form-check-label",for:"comments"},"Comments",-1))]),n("div",a3,[O(n("input",l3,null,512),[[s,{state:e.viewState,set:a=>{e.options.username=a},value:e.options?.username,form:"anonymize",options:{}}]]),t[143]||(t[143]=n("label",{class:"form-check-label",for:"username"},"Usernames",-1))]),n("div",d3,[O(n("input",u3,null,512),[[s,{state:e.viewState,set:a=>{e.options.date=a},value:e.options?.date,form:"anonymize",options:{}}]]),t[144]||(t[144]=n("label",{class:"form-check-label",for:"date"},"Dates",-1))]),n("div",c3,[O(n("input",p3,null,512),[[s,{state:e.viewState,set:a=>{e.options.origin=a},value:e.options?.origin,form:"anonymize",options:{}}]]),t[145]||(t[145]=n("label",{class:"form-check-label",for:"origin"},"Project name",-1))])],512),[[ee,e.detectedType==="pr"]])],512),[[ee,e.detectedType]]),O(n("section",f3,[t[163]||(t[163]=n("h2",{class:"paper-section-eyebrow",id:"hosting-heading"},"Hosting & expiration",-1)),n("div",h3,[t[147]||(t[147]=n("label",{class:"paper-field-label",for:"conference"},[v("Conference code "),n("span",{class:"paper-optional"},"(optional)")],-1)),O(n("input",{class:T(["form-control",{"is-invalid":e.anonymize?.conference?.invalid}]),id:"conference",name:"conference"},null,2),[[s,{state:e.viewState,set:a=>{e.conference=a},value:e.conference,form:"anonymize",options:{debounce:{default:800,blur:0},updateOn:"default blur"}}]]),O(n("p",{class:T(["conference-hosting",{"is-covered":e.conferenceHosting()}]),role:"status"},[n("a",{target:"_blank",href:e.safeUrl(e.conference_data?.url)},c(e.conference_data?.name),9,m3),e.conferenceHosting()?(l(),d(L,{key:0},[v(" hosts this repository until "+c(e.fmt?.date(e.conference_data?.endDate))+", with automatic updates. You don't pay anything.",1)],64)):e.billing?.enabled&&e.detectedType==="repo"?(l(),d(L,{key:1},[v(" runs until "+c(e.fmt?.date(e.conference_data?.endDate))+". It doesn't pay for hosting, so this repository uses your own allowance.",1)],64)):(l(),d(L,{key:2},[v(" runs until "+c(e.fmt?.date(e.conference_data?.endDate))+".",1)],64))],2),[[ee,e.conference_data]]),O(n("div",g3,"The conference is not activated.",512),[[ee,e.anonymize?.conference?.errors?.activated]]),O(n("small",v3,"Submitting to a conference? Its code applies the venue's settings, and a paid conference hosts the repository for you.",512),[[ee,!e.conference_data]])]),e.detectedType==="repo"&&e.billing?.enabled&&!e.conferenceHosting()?(l(),d("p",y3,[e.isUpdate&&e.role!=="owner"?(l(),d("span",b3,"Uses the owner's hosting")):e.hasAuthorHosting()?(l(),d("span",w3,"Your author subscription is active.")):e.hostingQuota?.repository?(l(),d("span",k3,c(e.hostingQuota.repository.used)+" of "+c(e.hostingQuota.repository.total)+" active repositories \xB7 Free",1)):f("v-if",!0)])):f("v-if",!0),e.detectedType==="repo"&&e.options?.update&&!e.liveUpdatesIncluded()?(l(),d("p",C3,[t[148]||(t[148]=v("Automatic updates need a paid option. On free hosting, the link keeps the version you create until you refresh it from My work. Once it exists, add Live updates",-1)),e.liveUpdatesPrice()?(l(),d(L,{key:0},[v(" ("+c(e.liveUpdatesPrice())+" once)",1)],64)):f("v-if",!0),t[149]||(t[149]=v(" or a Paper pack in ",-1)),t[150]||(t[150]=n("a",{href:"/profile?billing=1"},"Settings \u203A Hosting & billing",-1)),t[151]||(t[151]=v(", or take an author subscription.",-1))])):f("v-if",!0),e.detectedType==="repo"&&e.billing?.enabled?(l(),d("div",E3,[e.hostingNeedsPayment()&&!e.billingPending?(l(),d(L,{key:0},[e.options.expirationMode!=="never"||e.hostingQuotaBlocked?(l(),d("p",S3,c(e.options.update&&!e.hostingQuotaBlocked&&e.hostingQuota?.repository?.used(l(),d("label",{class:T(["hosting-option",{"is-selected":e.hostingChoice()===a.id||a.interval&&e.authorPlans().some(u=>u.id===e.hostingChoice())}]),key:a.id},[n("input",{type:"radio",name:"hosting-plan",value:a.id,checked:e.hostingChoice()===a.id||a.interval&&e.authorPlans().some(u=>u.id===e.hostingChoice()),onChange:u=>e.hostingPlan=a.interval?e.hostingSubscriptionPlan().id:a.id},null,40,D3),n("span",A3,[n("strong",null,c(e.hostingOptionName(a)),1),n("small",null,c(e.hostingOptionBlurb(a)),1),a.interval&&e.authorPlans().length>1&&e.authorPlans().some(u=>u.id===e.hostingChoice())?(l(),d("span",T3,[(l(!0),d(L,null,ie(e.authorPlans(),u=>(l(),d("button",{type:"button",role:"radio",key:u.id,"aria-checked":e.hostingSubscriptionPlan().id===u.id?"true":"false",class:T({"is-on":e.hostingSubscriptionPlan().id===u.id}),onClick:de(p=>{e.hostingCycle=u.id,e.hostingPlan=u.id},["prevent"])},[v(c(u.interval==="year"?"Yearly":"Monthly"),1),u.interval==="year"&&e.hostingAnnualSavings()?(l(),d("span",O3,"\u2212"+c(e.hostingAnnualSavings())+"%",1)):f("v-if",!0)],10,P3))),128))])):f("v-if",!0)]),n("span",I3,[n("strong",null,c(e.billingAmount(a.interval?e.hostingSubscriptionPlan():a)),1),n("small",null,c(a.interval?"per "+e.hostingSubscriptionPlan().interval:"once"),1)])],2))),128))])):(l(),d("p",M3,"New purchases are temporarily unavailable. Your draft is kept.")),e.authorPlans().some(a=>a.id===e.hostingChoice())?(l(),d("p",_3,"Renews "+c(e.hostingChoice()==="author_annual"?"yearly":"monthly")+" until you cancel. Tax shown at checkout.",1)):(l(),d("p",V3,"One-time payment, nothing renews. Tax shown at checkout.")),e.options.expirationMode!=="never"?(l(),d("details",q3,[t[152]||(t[152]=n("summary",null,"Keep using free hosting",-1)),t[153]||(t[153]=n("p",null,"Remove a repository you no longer need, or enter the code of a paid conference above. Removing a repository affects its review link.",-1)),t[154]||(t[154]=n("a",{href:"/dashboard"},"Review my repositories",-1)),n("button",{type:"button",class:"task-text-button",onClick:t[28]||(t[28]=a=>e.anonymizeRepo(a)),disabled:e.sourceLoading||e.billingBusy},"Recheck capacity and submit",8,$3)])):f("v-if",!0)],64)):f("v-if",!0)])):f("v-if",!0),e.hostingNeedsPayment()&&!e.billingPending?(l(),d("h4",L3,"Expiration")):f("v-if",!0),n("fieldset",U3,[t[160]||(t[160]=n("legend",{class:"sr-only"},"Expiration",-1)),n("label",F3,[n("input",{type:"radio",name:"expiration-choice",checked:e.options.expirationMode!=="never",onChange:t[29]||(t[29]=a=>e.useDatedHosting()),disabled:e.billingPending},null,40,B3),t[155]||(t[155]=n("span",null,"Expire on a date",-1))]),e.options.expirationMode!=="never"?(l(),d("div",z3,[e.options?.expirationMode!=="never"?(l(),d("div",H3,[t[156]||(t[156]=n("label",{class:"paper-field-label",for:"expirationDate"},"Expires",-1)),O(n("input",{class:T(["form-control",{"is-invalid":e.anonymize?.expirationDate?.invalid}]),type:"date",name:"expirationDate",id:"expirationDate",required:"",min:e.minExpirationDate,max:e.maxExpirationDate},null,10,j3),[[s,{state:e.viewState,set:a=>{e.options.expirationDate=a},value:e.options?.expirationDate,form:"anonymize",options:{}}]]),e.fmt?.dateEcho(e.options?.expirationDate)?(l(),d("p",G3,"Expires "+c(e.fmt?.dateEcho(e.options?.expirationDate)),1)):f("v-if",!0),O(n("div",W3,"Pick a date in the future.",512),[[ee,e.anonymize?.expirationDate?.errors?.min]]),O(n("div",{class:"invalid-feedback"},"Pick a date on or before "+c(e.fmt?.date(e.maxExpirationDate))+".",513),[[ee,e.anonymize?.expirationDate?.errors?.max]]),O(n("div",K3,"Enter a valid expiration date.",512),[[ee,e.anonymize?.expirationDate?.errors?.required||e.anonymize?.expirationDate?.errors?.date]])])):f("v-if",!0),n("div",Y3,[t[158]||(t[158]=n("label",{for:"expiration"},"Then",-1)),O(n("select",{id:"expiration",class:"form-control","onUpdate:modelValue":t[30]||(t[30]=a=>e.options.expirationMode=a)},[...t[157]||(t[157]=[n("option",{value:"remove"},"Remove content",-1),n("option",{value:"redirect"},"Redirect to GitHub",-1)])],512),[[cn,e.options.expirationMode]])])])):f("v-if",!0),e.detectedType==="repo"?(l(),d("label",X3,[n("input",{type:"radio",name:"expiration-choice",checked:e.options.expirationMode==="never",onChange:t[31]||(t[31]=a=>e.options.expirationMode="never"),disabled:e.billingPending},null,40,Q3),n("span",null,[t[159]||(t[159]=v("Never expire",-1)),(e.options.expirationMode!=="never"||e.hasAuthorHosting()||e.repositoryGrants("repo_never").length)&&!(e.hostingNeedsPayment()&&e.hostingOptionPlans().length)?(l(),d("small",J3,c(e.neverExpireTag()),1)):f("v-if",!0)])])):f("v-if",!0)]),e.options.expirationMode==="redirect"?(l(),d("p",Z3,"Visitors will be redirected to the original GitHub source on this date, revealing its identity.")):f("v-if",!0),e.detectedType==="repo"&&e.billing?.enabled?(l(),d("div",x3,[e.taskValidationError?(l(),d("p",eO,c(e.taskValidationError),1)):f("v-if",!0),e.billingError?(l(),d("p",tO,[v(c(e.billingError)+" ",1),n("button",{type:"button",class:"task-text-button",onClick:t[32]||(t[32]=a=>e.loadBilling()),disabled:e.billingBusy},"Reload billing",8,nO)])):f("v-if",!0),e.billingPending?(l(),d("div",oO,[...t[161]||(t[161]=[n("p",null,[n("strong",null,"Confirming your payment\u2026")],-1),n("p",{class:"form-text text-muted"},"Your draft is saved. Please do not pay again.",-1)])])):e.billingNotice?(l(),d("p",sO,c(e.billingNotice),1)):e.options.expirationMode==="never"&&!e.billingPending&&!e.hasAuthorHosting()&&e.repositoryGrants("repo_never").length?(l(),d("p",iO,"No scheduled expiration. Paid once for this repository.")):e.options.expirationMode==="never"&&!e.billingPending?(l(),d("p",rO,"No scheduled expiration while subscribed. A 90-day grace period applies if paid access ends.")):f("v-if",!0),e.isUpdate&&e.role==="owner"&&!e.hasAuthorHosting()&&!e.hostingNeedsPayment()&&e.repositoryAddonPlans().length?(l(),d("details",aO,[t[162]||(t[162]=n("summary",null,"Pay once for just this repository",-1)),(l(!0),d(L,null,ie(e.repositoryAddonPlans(),a=>(l(),d("div",{key:a.id},[n("p",null,[n("strong",null,c(a.name),1),v(" \xB7 "+c(e.billingPrice(a))+". "+c(a.description),1)]),n("button",{type:"button",class:"btn btn-outline-ink",disabled:e.billingBusy||e.hostingSaving||e.sourceLoading||e.billing.checkoutEnabled===!1||e.billingPending,onClick:u=>e.checkoutRepository(a.id)},"Buy "+c(a.name.toLowerCase()),9,lO)]))),128))])):f("v-if",!0)])):f("v-if",!0)],512),[[ee,e.detectedType]]),O(n("section",dO,[t[167]||(t[167]=n("h2",{class:"paper-section-eyebrow"},"Co-authors",-1)),t[168]||(t[168]=n("p",{class:"form-text text-muted",style:{"margin-bottom":"8px"}}," Co-authors can view and edit these settings. They cannot delete the anonymization or manage co-authors. ",-1)),O(n("div",uO,[t[164]||(t[164]=n("label",{class:"paper-field-label",for:"coauthorSearch"},"Add a GitHub user",-1)),n("div",cO,[O(n("input",pO,null,512),[[s,{state:e.viewState,set:a=>{e.coauthorSearch=a},value:e.coauthorSearch,form:"anonymize",options:{debounce:300},change:()=>{e.searchCoauthors()}}]]),O(n("div",fO,[(l(!0),d(L,null,ie(e.coauthorResults,(a,u)=>(l(),d("a",{href:"#",class:"dropdown-item d-flex align-items-center",onClick:de(p=>e.addCoauthor(a,p),["prevent"])},[n("img",{alt:"",style:{width:"22px",height:"22px","border-radius":"50%","margin-right":"8px"},src:e.safeUrl(a?.photo)},null,8,mO),n("span",{textContent:c(a?.username)},null,8,gO)],8,hO))),256))],512),[[ee,e.coauthorResults?.length>0]])]),O(n("small",{class:"form-text text-muted",textContent:c(e.coauthorError)},null,8,vO),[[ee,e.coauthorError]])],512),[[ee,e.role==="owner"||e.role==="admin"]]),n("div",yO,[(l(!0),d(L,null,ie(e.coauthors,(a,u)=>(l(),d("div",bO,[a?.photo?(l(),d("img",{key:0,alt:"",style:{width:"24px",height:"24px","border-radius":"50%"},src:e.safeUrl(a?.photo)},null,8,wO)):f("v-if",!0),n("a",{target:"_blank",textContent:c(a?.username),href:e.safeUrl("https://github.com/"+a?.username)},null,8,kO),t[166]||(t[166]=n("span",{class:"type-badge type-coauthor"},"Co-author",-1)),O(n("button",{type:"button",class:"btn btn-sm btn-icon",style:{"margin-left":"auto"},title:"Remove co-author",onClick:p=>e.removeCoauthor(a),"aria-label":"Remove co-author"},[...t[165]||(t[165]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-close"})],-1)])],8,CO),[[ee,e.role==="owner"||e.role==="admin"]])]))),256)),O(n("div",EO," No co-authors yet. ",512),[[ee,!e.coauthors||e.coauthors?.length===0]])])],512),[[ee,e.isUpdate&&e.detectedType==="repo"]]),e.error?(l(),d("div",{key:0,class:"alert alert-danger",role:"alert",textContent:c(e.error)},null,8,SO)):f("v-if",!0)]),n("button",{type:"button",class:"btn btn-outline-ink mobile-preview-jump",onClick:t[33]||(t[33]=a=>e.selectMobilePane("preview"))},[...t[169]||(t[169]=[v("Review preview ",-1),n("span",{"aria-hidden":"true"},"\u2192",-1)])]),O(n("div",NO,[e.detectedType==="repo"?(l(),d(L,{key:0},[e.billingPending?(l(),d("button",{key:0,type:"button",class:"btn btn-ink",onClick:t[34]||(t[34]=a=>e.refreshBilling()),disabled:e.billingBusy},"Check payment status",8,RO)):(l(),d("button",{key:1,type:"submit",class:"btn btn-ink",disabled:e.sourceLoading||e.billingBusy||e.hostingSaving||e.billingLoading||e.hostingNeedsPayment()&&(!e.authorPlans().length&&!e.hostingOneTime()||e.billing?.checkoutEnabled===!1),onClick:t[35]||(t[35]=de(a=>e.submitForm(a,()=>{e.submitRepository(a)}),["prevent"]))},c(e.hostingSaving?"Saving draft\u2026":e.hostingNeedsPayment()?"Continue to checkout":e.isUpdate?"Save changes":"Create anonymous link"),9,DO))],64)):f("v-if",!0),e.detectedType==="pr"&&!e.isUpdate?(l(),d("button",{key:1,type:"submit",disabled:e.sourceLoading||!e.details,class:"btn btn-ink",onClick:t[36]||(t[36]=de(a=>e.submitForm(a,()=>{e.anonymizePullRequest(a)}),["prevent"]))}," Create anonymous link ",8,AO)):f("v-if",!0),e.detectedType==="pr"&&e.isUpdate?(l(),d("button",{key:2,type:"submit",disabled:e.sourceLoading,class:"btn btn-ink",onClick:t[37]||(t[37]=de(a=>e.submitForm(a,()=>{e.anonymizePullRequest(a)}),["prevent"]))}," Save changes ",8,TO)):f("v-if",!0),e.detectedType==="gist"&&!e.isUpdate?(l(),d("button",{key:3,type:"submit",disabled:e.sourceLoading||!e.details,class:"btn btn-ink",onClick:t[38]||(t[38]=de(a=>e.submitForm(a,()=>{e.anonymizeGist(a)}),["prevent"]))}," Create anonymous link ",8,PO)):f("v-if",!0),e.detectedType==="gist"&&e.isUpdate?(l(),d("button",{key:4,type:"submit",disabled:e.sourceLoading,class:"btn btn-ink",onClick:t[39]||(t[39]=de(a=>e.submitForm(a,()=>{e.anonymizeGist(a)}),["prevent"]))}," Save changes ",8,OO)):f("v-if",!0),e.sourceLoading?(l(),d("p",IO,c(e.detectedType==="pr"?"Waiting for the pull request to load from GitHub\u2026":e.detectedType==="gist"?"Waiting for the gist to load from GitHub\u2026":"Waiting for the repository to load from GitHub\u2026"),1)):!e.details&&!e.isUpdate?(l(),d("p",MO,"Load an accessible source to continue. See the preview for details.")):f("v-if",!0),e.hostingNeedsPayment()&&!e.billingPending?(l(),d("p",_O,"You pay in Stripe, then come back here to finish.")):f("v-if",!0),e.draftRestored?(l(),d("div",VO,[t[170]||(t[170]=v("Your unsaved draft was restored. ",-1)),n("button",{type:"button",class:"draft-discard",onClick:t[40]||(t[40]=a=>e.discardDraft())},"Discard draft")])):e.unsavedChanges?(l(),d("div",qO,[v(c(e.draftSaved?"Draft saved \xB7":"Unsaved changes \xB7")+" ",1),n("button",{type:"button",class:"draft-discard",onClick:t[41]||(t[41]=a=>e.discardDraft())},c(e.isUpdate?"Restore saved":"Discard"),1)])):f("v-if",!0)],512),[[ee,e.detectedType]])])),[[r,e.viewState]])],8,zA),f(' Preview column (right): "What reviewers will see", a miniature reviewer window '),e.detectedType?(l(),d("div",{key:0,id:"workspace-preview",role:e.mobileWorkspace?"tabpanel":null,"aria-labelledby":e.mobileWorkspace?"workspace-preview-tab":null,class:"anonymize-preview-col reviewer-preview"},[n("div",LO,[t[173]||(t[173]=n("span",{class:"rp-title"},"What reviewers will see",-1)),e.previewStatus==="ready"&&e.previewRedactions()>0?(l(),d("span",{key:0,class:"rp-count",title:e.previewRedactions()+" redacted terms in this preview"},[n("span",FO,[n("i",null,c(e.previewRedactions()),1)]),t[171]||(t[171]=v(" redacted",-1))],8,UO)):e.previewStatus==="ready"&&!String(e.terms||"").trim()?(l(),d("span",BO,"No terms yet")):e.previewStatus==="ready"&&e.readmePreserved()?(l(),d("span",zO,"README left unredacted")):f("v-if",!0),t[174]||(t[174]=n("span",{class:"rp-spacer"},null,-1)),e.isUpdate&&e.previewUrl()?(l(),d("a",{key:3,class:"rp-open is-external",href:e.safeUrl(e.previewPath()),target:"_blank",rel:"noopener"},[...t[172]||(t[172]=[v("Open reviewer page ",-1),n("span",{"aria-hidden":"true"},"\u2197",-1)])],8,HO)):(l(),d("button",{key:4,type:"button",class:"rp-open is-toggle",onClick:t[42]||(t[42]=a=>e.previewExpanded=!e.previewExpanded),"aria-pressed":!!e.previewExpanded},[(l(),d("svg",GO,[e.previewExpanded?(l(),d("path",KO)):(l(),d("path",WO))])),v(c(e.previewExpanded?"Back to settings":"Expand preview"),1)],8,jO))]),n("div",YO,[n("div",XO,[t[175]||(t[175]=n("i",null,null,-1)),t[176]||(t[176]=n("i",null,null,-1)),t[177]||(t[177]=n("i",null,null,-1)),n("span",QO,c(e.previewUrl()||"anonymous.4open.science"),1)]),n("div",JO,[t[178]||(t[178]=n("span",{class:"vb-logo"},[v("Anonymous "),n("em",null,"GitHub")],-1)),e.previewId()?(l(),d("span",ZO,c(e.previewId()),1)):f("v-if",!0),e.detectedType!=="repo"?(l(),d("span",xO,c(e.detectedType==="pr"?"Pull request":"Gist"),1)):f("v-if",!0)]),n("div",{class:T(["rp-body",{"has-side":e.detectedType==="repo"}])},[f(" Sidebar: a miniature of the explorer's file tree "),e.detectedType==="repo"?(l(),d("nav",eI,[e.previewTree().length?(l(),d("ul",tI,[(l(!0),d(L,null,ie(e.previewTree(),a=>(l(),d("li",{key:a.path,class:T(["file",{folder:a.dir,open:a.open,active:a.readme}]),style:Ve({"--depth":a.depth})},[a.dir?(l(),d("a",{key:0,role:"button",tabindex:"0","aria-expanded":a.open?"true":"false",title:a.path,onClick:u=>e.togglePreviewFolder(a.path),onKeydown:[ut(de(u=>e.togglePreviewFolder(a.path),["prevent"]),["enter"]),ut(de(u=>e.togglePreviewFolder(a.path),["prevent"]),["space"])]},[t[179]||(t[179]=n("span",{class:"tree-toggle"},null,-1)),t[180]||(t[180]=n("span",{class:"tree-icon-folder","aria-hidden":"true"},[n("svg",{viewBox:"0 0 14 12",focusable:"false"},[n("path",{d:"M1.5 10.5v-9h4l1.5 2h5.5v7z"})])],-1)),n("span",oI,c(a.name),1)],40,nI)):(l(),d("a",{key:1,title:a.path,"aria-current":a.readme?"page":null},[t[181]||(t[181]=n("span",{class:"tree-spacer"},null,-1)),t[182]||(t[182]=n("span",{class:"far fa-file tree-icon-file","aria-hidden":"true"},null,-1)),n("span",iI,c(a.name),1)],8,sI))],6))),128))])):e.preserve.loading||e.sourceLoading&&!e.preserve.error?(l(),d("ul",rI,[(l(),d(L,null,ie([58,72,46,64,52,38,68,44],a=>n("li",{key:a},[n("i",{class:"rp-skel",style:Ve({width:a+"%"})},null,4)])),64))])):(l(),d(L,{key:2},[e.readme||e.previewStatus==="ready"?(l(),d("ul",aI,[...t[183]||(t[183]=[Se('
  • README.md
  • ',1)])])):f("v-if",!0),t[184]||(t[184]=n("p",{class:"rp-side-note"},"Every other file at this commit appears here, with the same redactions.",-1))],64))])):f("v-if",!0),n("div",lI,[e.detectedType==="repo"&&(e.previewStatus==="ready"||e.readme)?(l(),d("div",dI,[n("span",uI,[t[185]||(t[185]=n("svg",{class:"ui-icon"},[n("use",{href:"#ui-icon-folder"})],-1)),t[186]||(t[186]=v("Files",-1)),e.previewTreeCount()?(l(),d("span",cI,c(e.previewTreeCount()),1)):f("v-if",!0)]),t[187]||(t[187]=n("span",{class:"rp-file-name"},"README.md",-1)),t[188]||(t[188]=n("span",{class:"rp-file-meta"},"Markdown",-1))])):f("v-if",!0),f(" Loading: skeleton inside the window "),e.previewStatus==="loading"||e.sourceLoading&&e.previewStatus!=="ready"&&e.previewStatus!=="error"?(l(),d("div",pI,[n("span",fI,c(e.previewStatus==="loading"?"Updating the anonymized preview\u2026":e.detectedType==="pr"?"Loading the pull request from GitHub\u2026":e.detectedType==="gist"?"Loading the gist from GitHub\u2026":"Loading the repository from GitHub\u2026"),1),t[189]||(t[189]=Se('',7))])):!e.details&&e.detectedType!=="repo"?(l(),d(L,{key:2},[f(" The source itself could not be loaded "),n("div",hI,[n("strong",null,"Couldn't load "+c(e.sourceSummary()||(e.detectedType==="pr"?"this pull request":"this gist")),1),n("p",null,c(e.error||"GitHub did not return it. Check that the link is right and that Anonymous GitHub can read it."),1),n("div",mI,[n("button",{type:"button",class:"btn btn-ink btn-sm",onClick:t[43]||(t[43]=a=>e.urlSelected(!0))},"Retry"),e.detectedType==="pr"&&e.githubConnection!=="oauth"?(l(),d("button",{key:0,type:"button",class:"btn btn-outline-ink btn-sm",onClick:t[44]||(t[44]=a=>e.grantGitHubAccess())},[...t[190]||(t[190]=[v("Manage GitHub access ",-1),n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-external-link"})],-1)])])):(l(),d("a",gI,[...t[191]||(t[191]=[v("Manage GitHub access ",-1),n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-external-link"})],-1)])]))])])],2112)):!e.details&&e.detectedType==="repo"&&!e.isUpdate&&e.error?(l(),d("div",vI,[t[193]||(t[193]=n("strong",null,"Couldn't load this repository",-1)),n("p",null,c(e.error),1),n("div",yI,[n("button",{type:"button",class:"btn btn-ink btn-sm",onClick:t[45]||(t[45]=a=>e.urlSelected(!0))},"Retry"),e.githubConnection!=="oauth"?(l(),d("button",{key:0,type:"button",class:"btn btn-outline-ink btn-sm",onClick:t[46]||(t[46]=a=>e.grantGitHubAccess())},[...t[192]||(t[192]=[v("Manage GitHub access ",-1),n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-external-link"})],-1)])])):f("v-if",!0)])])):e.previewStatus==="error"?(l(),d(L,{key:4},[f(" The anonymized preview failed "),n("div",bI,[t[194]||(t[194]=n("strong",null,"Couldn't apply the redactions",-1)),t[195]||(t[195]=n("p",null,"Unable to generate the anonymized preview. The latest redactions have not been verified.",-1)),n("div",wI,[n("button",{class:"btn btn-ink btn-sm",type:"button",onClick:t[47]||(t[47]=a=>e.retryPreview())},"Retry preview")])])],2112)):e.detectedType==="repo"&&!e.readme&&e.previewStatus==="idle"?(l(),d("div",kI,[...t[196]||(t[196]=[n("strong",null,"No README",-1),n("p",null,"Reviewers land on the file list. Open the files you will share and check them before sending the link.",-1)])])):e.detectedType==="repo"&&e.previewStatus==="ready"?(l(),d("div",{key:6,class:"anonymize-preview-body markdown-body body",innerHTML:e.renderRedacted(e.sanitize(e.html_readme))},null,8,CI)):e.detectedType==="gist"&&e.previewStatus==="ready"?(l(),d("div",EI,[n("div",SI,[n("h2",NI,[e.options?.title?(l(),d("span",RI,c(e.anonymizeGistContent(e.details?.gist?.description)||"Untitled gist"),1)):f("v-if",!0),n("span",{class:T(["badge",{"badge-success":e.details?.gist?.isPublic,"badge-secondary":!e.details?.gist?.isPublic}])},c(e.details?.gist?.isPublic?"public":"secret"),3)]),e.options?.date?(l(),d("small",{key:0,textContent:c(e.fmt?.date(e.details?.gist?.updatedDate))},null,8,DI)):f("v-if",!0)]),e.options?.origin?(l(),d("small",AI,"Gist ID: "+c(e.details?.source?.gistId),1)):f("v-if",!0),e.options?.username&&e.details?.gist?.ownerLogin?(l(),d("small",TI,"By @"+c(e.anonymizeGistContent(e.details?.gist?.ownerLogin)),1)):f("v-if",!0),e.options?.content&&e.previewGistFiles?.length?(l(),d("div",PI,[n("ul",OI,[(l(!0),d(L,null,ie(e.previewGistFiles,(a,u)=>(l(),d("li",II,[n("div",MI,[n("strong",{textContent:c(a?.filename)},null,8,_I),a?.language?(l(),d("span",VI,c(a?.language),1)):f("v-if",!0)]),_e(o,{file:a,terms:e.terms,options:e.options},null,8,["file","terms","options"])]))),256))])])):f("v-if",!0),e.options?.comments&&e.details?.gist?.comments&&e.details?.gist?.comments?.length?(l(),d("div",qI,[t[199]||(t[199]=n("h3",{class:"paper-section-eyebrow mt-3"},"Comments",-1)),n("ul",$I,[(l(!0),d(L,null,ie(e.details?.gist?.comments,(a,u)=>(l(),d("li",LI,[n("div",UI,[e.options?.username?(l(),d("span",FI,[t[197]||(t[197]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-user"})],-1)),t[198]||(t[198]=v(" @",-1)),n("span",{textContent:c(e.anonymizeGistContent(a?.author))},null,8,BI)])):f("v-if",!0),e.options?.date?(l(),d("span",{key:1,class:"pr-comment-date",textContent:c(e.fmt?.date(a?.updatedDate))},null,8,zI)):f("v-if",!0)]),e.options?.body?(l(),d("div",HI,[_e(i,{content:e.anonymizeGistContent(a?.body),options:e.options,terms:e.terms},null,8,["content","options","terms"])])):f("v-if",!0)]))),256))])])):f("v-if",!0)])):e.detectedType==="pr"&&e.previewStatus==="ready"?(l(),d("div",jI,[n("div",GI,[n("h2",WI,[e.options?.title?(l(),d("span",KI,c(e.anonymizePrContent(e.details?.pullRequest?.title)),1)):f("v-if",!0),n("span",{class:T(["badge",{"badge-success":e.details?.pullRequest?.merged,"badge-warning":e.details?.pullRequest?.state=="open","badge-danger":e.details?.pullRequest?.state=="closed"&&!e.details?.pullRequest?.merged}])},c(e.fmt?.title(e.details?.pullRequest?.merged?"merged":e.details?.pullRequest?.state)),3)]),e.options?.date?(l(),d("small",{key:0,textContent:c(e.fmt?.date(e.details?.pullRequest?.updatedDate))},null,8,YI)):f("v-if",!0)]),e.options?.origin?(l(),d("small",XI,"Pull Request on "+c(e.details?.pullRequest?.baseRepositoryFullName),1)):f("v-if",!0),e.options?.body?(l(),d("div",QI,[_e(i,{content:e.anonymizePrContent(e.details?.pullRequest?.body),options:e.options,terms:e.terms},null,8,["content","options","terms"])])):f("v-if",!0),e.options?.diff||e.options?.comments?(l(),d("nav",JI,[e.options?.diff?(l(),d("button",{key:0,class:T(["paper-tab",{active:e.prTabState?.active=="diff"}]),type:"button",role:"tab",id:"preview-pr-diff-tab","aria-selected":e.prTabState?.active==="diff","aria-controls":"preview-pr-diff-panel",tabindex:e.prTabState?.active==="diff"?0:-1,onKeydown:t[48]||(t[48]=a=>e.previewTabKeydown(a)),onClick:t[49]||(t[49]=a=>e.prTabState.active="diff")},[...t[200]||(t[200]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-code"})],-1),v(" Diff ",-1)])],42,ZI)):f("v-if",!0),e.options?.comments?(l(),d("button",{key:1,class:T(["paper-tab",{active:e.prTabState?.active=="comments"}]),type:"button",role:"tab",id:"preview-pr-comments-tab","aria-selected":e.prTabState?.active==="comments","aria-controls":"preview-pr-comments-panel",tabindex:e.prTabState?.active==="comments"?0:-1,onKeydown:t[50]||(t[50]=a=>e.previewTabKeydown(a)),onClick:t[51]||(t[51]=a=>e.prTabState.active="comments")},[t[201]||(t[201]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-comment"})],-1)),n("span",{textContent:c(e.fmt.plural(e.details?.pullRequest?.comments?.length,{0:"No comments",one:"1 comment",other:"{} comments"}))},null,8,e5)],42,xI)):f("v-if",!0)])):f("v-if",!0),!e.options?.diff&&!e.options?.comments?(l(),d("div",t5,"Diff and comments are hidden by your display settings.")):f("v-if",!0),n("div",n5,[e.options?.diff&&e.prTabState?.active=="diff"?(l(),d("div",o5,[n("div",{class:"pr-diff",innerHTML:e.sanitize(e.fmt?.diff(e.anonymizePrContent(e.details?.pullRequest?.diff)))},null,8,s5)])):f("v-if",!0),e.options?.comments&&e.prTabState?.active=="comments"?(l(),d("div",i5,[n("ul",r5,[(l(!0),d(L,null,ie(e.details?.pullRequest?.comments,(a,u)=>(l(),d("li",a5,[n("div",l5,[e.options?.username?(l(),d("span",d5,[t[202]||(t[202]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-user"})],-1)),t[203]||(t[203]=v(" @",-1)),n("span",{textContent:c(e.anonymizePrContent(a?.author))},null,8,u5)])):f("v-if",!0),e.options?.date?(l(),d("span",{key:1,class:"pr-comment-date",textContent:c(e.fmt?.date(a?.updatedDate))},null,8,c5)):f("v-if",!0)]),e.options?.body?(l(),d("div",p5,[_e(i,{content:e.anonymizePrContent(a?.body),options:e.options,terms:e.terms},null,8,["content","options","terms"])])):f("v-if",!0)]))),256))])])):f("v-if",!0)])])):f("v-if",!0),f(" More below: a fade with a way to keep reading (hidden by CSS once the window is scrolled to the end) "),e.previewStatus==="ready"?(l(),d("div",f5,[e.isUpdate&&e.previewUrl()?(l(),d("a",{key:0,class:"rp-more-btn",href:e.safeUrl(e.previewPath()),target:"_blank",rel:"noopener"},[...t[204]||(t[204]=[v("Continue reading on the reviewer page ",-1),n("span",{"aria-hidden":"true"},"\u2197",-1)])],8,h5)):e.previewExpanded?(l(),d("span",m5,"Scroll for more")):(l(),d("button",{key:1,type:"button",class:"rp-more-btn",onClick:t[52]||(t[52]=a=>e.previewExpanded=!0)},"Continue reading in the expanded preview"))])):f("v-if",!0)])],2)])],8,$O)):f("v-if",!0)])],512),[[ee,e.workspaceOpen||e.isUpdate]])],2)}var g5={class:"container-fluid h-100 anonymize-page"},v5={class:"row h-100 flex-column flex-md-row"},y5={class:"col-md sidePanel shadow overflow-auto anonymize-form-col"},b5={class:"form-group"},w5={class:"form-group"},k5={class:"form-check"},C5={class:"form-check-input",type:"checkbox",id:"update",name:"update"},E5={class:"form-group"},S5={class:"form-text text-muted"},N5=["href"],R5={class:"invalid-feedback"},D5={class:"form-text text-muted"},A5={class:"form-group"},T5={id:"idHelp",class:"form-text text-muted"},P5={class:"invalid-feedback"},O5={class:"form-group"},I5={class:"invalid-feedback"},M5={class:"form-group"},_5={class:"form-control",id:"expiration",name:"expiration"},V5={class:"form-group",id:"expiration-date-form"},q5={class:"form-control",type:"date",name:"expirationDate",id:"expirationDate"},$5={key:0,class:"date-echo","aria-live":"polite"},L5={class:"accordion mb-3",id:"options"},U5={class:"card"},F5={id:"collapseOne",class:"collapse show","aria-labelledby":"headingOne","data-parent":"#options"},B5={class:"card-body"},z5={class:"form-group mb-0"},H5={class:"form-check"},j5={class:"form-check-input",type:"checkbox",id:"link",name:"link"},G5={class:"form-check"},W5={class:"form-check-input",type:"checkbox",id:"image",name:"image"},K5={class:"form-check"},Y5={class:"form-check-input",type:"checkbox",id:"date",name:"date"},X5={class:"form-check"},Q5={class:"form-check-input",type:"checkbox",id:"username",name:"username"},J5={class:"form-check"},Z5={class:"form-check-input",type:"checkbox",id:"comments",name:"comments"},x5={class:"form-check"},e8={class:"form-check-input",type:"checkbox",id:"diff",name:"diff"},t8={class:"form-check"},n8={class:"form-check-input",type:"checkbox",id:"origin",name:"origin"},o8={class:"form-check"},s8={class:"form-check-input",type:"checkbox",id:"title",name:"title"},i8={class:"form-check"},r8={class:"form-check-input",type:"checkbox",id:"body",name:"body"},a8=["textContent"],l8={class:"anonymize-submit-bar"},d8={key:0,class:"col-md-8 p-2 overflow-auto anonymize-preview-col"},u8={class:"d-flex w-100 justify-content-between align-items-center flex-wrap"},c8={class:"pr-title mb-1"},p8={key:0},f8=["textContent"],h8={key:0},m8={key:1,class:"pr-body shadow-sm p-3 mb-4 rounded",style:{background:"var(--sidebar-bg-color)"}},g8={class:"nav nav-tabs",id:"myTab",role:"tablist"},v8={key:0,class:"nav-item",role:"presentation"},y8={key:1,class:"nav-item",role:"presentation"},b8=["textContent"],w8={class:"tab-content",id:"pills-tabContent"},k8={class:"tab-pane show active",id:"pills-diff",role:"tabpanel","aria-labelledby":"pills-diff-tab"},C8={key:0,class:"pr-diff shadow-sm p-3 mb-4 rounded",style:{background:"var(--sidebar-bg-color)"}},E8={style:{"overflow-x":"auto"}},S8=["innerHTML"],N8={key:0,class:"pr-comments list-group"},R8={class:"pr-comment list-group-item"},D8={class:"d-flex w-100 justify-content-between flex-wrap"},A8={key:0,class:"mb-1"},T8=["textContent"],P8={class:"mb-1"};function jc(e,t){let o=Xe("markdown"),i=Ae("field"),s=Ae("form");return l(),d("div",g5,[n("div",v5,[n("div",y5,[n("div",{class:T(["p-0 py-2 m-auto",{card:!e.pullRequestUrl,container:e.pullRequestUrl}])},[O((l(),d("form",{class:T(["form needs-validation",{"card-body":!e.pullRequestUrl}]),name:"anonymizeForm",novalidate:""},[t[30]||(t[30]=Se('
    Anonymize \xA0/\xA0 Pull request

    Anonymize a pull request

    Fill in the details \u2014 it only takes a minute.

    Source
    ',4)),f(" pullRequestUrl "),n("div",b5,[t[2]||(t[2]=n("label",{for:"pullRequestUrl"},"URL of your pull request",-1)),O(n("input",{type:"text",class:T(["form-control",{"is-invalid":e.anonymize?.pullRequestUrl?.invalid}]),name:"pullRequestUrl",id:"pullRequestUrl",placeholder:"https://github.com/owner/repo/pull/123"},null,2),[[i,{state:e.viewState,set:r=>{e.pullRequestUrl=r},value:e.pullRequestUrl,form:"anonymizeForm",options:{debounce:{default:1e3,blur:0,click:0},updateOn:"default blur click"},change:()=>{e.pullRequestSelected()}}]]),O(n("div",{class:"invalid-feedback"},c(e.pullRequestUrl)+" is not accessible. Some organizations are restricting the access to the repositories. ",513),[[ee,e.anonymize?.pullRequestUrl?.errors?.access]]),O(n("div",{class:"invalid-feedback"},c(e.pullRequestUrl)+" does not exist or is not accessible ",513),[[ee,e.anonymize?.pullRequestUrl?.errors?.missing]]),O(n("div",{class:"invalid-feedback"},c(e.pullRequestUrl)+" is already anonymized ",513),[[ee,e.anonymize?.pullRequestUrl?.errors?.used]])]),O(n("div",null,[n("div",w5,[n("div",k5,[O(n("input",C5,null,512),[[i,{state:e.viewState,set:r=>{e.options.update=r},value:e.options?.update,form:"anonymizeForm",options:{}}]]),t[3]||(t[3]=n("label",{class:"form-check-label",for:"update"},"Auto update",-1)),t[4]||(t[4]=n("small",{id:"updateHelp",class:"form-text text-muted"},"Automatically update the anonymized pull request with the latest updates. The pull request is updated once per day maximum.",-1))])]),t[26]||(t[26]=n("div",{class:"paper-section-eyebrow anonymize-section-title"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-conference"})]),v(" Conference ID ")],-1)),f(" Conference "),n("div",E5,[t[5]||(t[5]=n("label",{for:"conference"},[v("Conference ID "),n("span",{class:"text-muted"},"(Optional)")],-1)),O(n("input",{class:T(["form-control",{"is-invalid":e.anonymize?.conference?.invalid}]),id:"conference",name:"conference"},null,2),[[i,{state:e.viewState,set:r=>{e.conference=r},value:e.conference,form:"anonymizeForm",options:{debounce:{default:800,blur:0},updateOn:"default blur"}}]]),O(n("small",S5,[n("a",{target:"_target",href:e.safeUrl(e.conference_data?.url)},c(e.conference_data?.name),9,N5),v(" will expire on "+c(e.fmt?.date(e.conference_data?.endDate))+".",1)],512),[[ee,e.conference_data]]),O(n("div",R5," The conference is not activated. ",512),[[ee,e.anonymize?.conference?.errors?.activated]]),O(n("small",D5," Use the Conference ID that your conference provided you. This will update automatically the anonymization options based on the conference preferences. ",512),[[ee,!e.conference_data]])]),t[27]||(t[27]=n("div",{class:"paper-section-eyebrow anonymize-section-title"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-shield"})]),v(" Anonymization Options ")],-1)),f(" Pull Request ID "),n("div",A5,[t[6]||(t[6]=n("label",{for:"pullRequestId"},"Anonymized pull request id",-1)),O(n("input",{type:"text",class:T(["form-control",{"is-invalid":e.anonymize?.pullRequestId?.invalid}]),name:"pullRequestId",id:"pullRequestId"},null,2),[[i,{state:e.viewState,set:r=>{e.pullRequestId=r},value:e.pullRequestId,form:"anonymizeForm",options:{debounce:{default:1e3,blur:0,click:0},updateOn:"default blur click"}}]]),n("small",T5,"Id used in the url: https://anonymous.4open.science/r/"+c(e.pullRequestId),1),O(n("div",P5," Repository id can only contain letters and numbers ",512),[[ee,e.anonymize?.pullRequestId?.errors?.format]]),O(n("div",{class:"invalid-feedback"},c(e.pullRequestId)+" is already used ",513),[[ee,e.anonymize?.pullRequestId?.errors?.used]])]),f(" Terms "),n("div",O5,[t[7]||(t[7]=n("label",{for:"terms"},"Terms to anonymize",-1)),O(n("textarea",{class:T(["form-control",{"is-invalid":e.anonymize?.terms?.invalid}]),id:"terms",name:"terms",rows:"3"},null,2),[[i,{state:e.viewState,set:r=>{e.terms=r},value:e.terms,form:"anonymizeForm",options:{debounce:250}}]]),t[8]||(t[8]=n("small",{id:"termsHelp",class:"form-text text-muted"},"One term per line. Each term will be replaced by XXX.",-1)),O(n("div",I5," Terms are in an invalid format ",512),[[ee,e.anonymize?.terms?.errors?.format]])]),n("div",M5,[t[10]||(t[10]=n("label",{for:"expiration"},"Expiration strategy",-1)),O((l(),d("select",_5,[...t[9]||(t[9]=[n("option",{value:"never",selected:""},"Never expire",-1),n("option",{value:"redirect"}," Redirect to GitHub when expired ",-1),n("option",{value:"remove"},"Remove when expired",-1)])])),[[i,{state:e.viewState,set:r=>{e.options.expirationMode=r},value:e.options?.expirationMode,form:"anonymizeForm",options:{}}]]),t[11]||(t[11]=n("small",{class:"form-text text-muted"},"Define the expiration strategy for the anonymized repository.",-1))]),O(n("div",V5,[t[12]||(t[12]=n("label",{for:"expirationDate"},"Expiration date of the anonymized repository",-1)),O(n("input",q5,null,512),[[i,{state:e.viewState,set:r=>{e.options.expirationDate=r},value:e.options?.expirationDate,form:"anonymizeForm",options:{}}]]),e.fmt?.dateEcho(e.options?.expirationDate)?(l(),d("p",$5,"Expires "+c(e.fmt?.dateEcho(e.options?.expirationDate)),1)):f("v-if",!0),O(n("small",{class:"form-text text-muted"},"After "+c(e.fmt?.date(e.options?.expirationDate))+", the repository will be removed and the visitor will not be able to see the content of the repository.",513),[[ee,e.options?.expirationMode=="remove"]]),O(n("small",{class:"form-text text-muted"},"After "+c(e.fmt?.date(e.options?.expirationDate))+", the visitors of the anonymized repository will be redirected to "+c(e.pullRequestUrl)+".",513),[[ee,e.options?.expirationMode=="redirect"]])],512),[[ee,e.options?.expirationMode!="never"]]),n("div",L5,[n("div",U5,[t[25]||(t[25]=Se('

    ',1)),n("div",F5,[n("div",B5,[n("div",z5,[n("div",H5,[O(n("input",j5,null,512),[[i,{state:e.viewState,set:r=>{e.options.link=r},value:e.options?.link,form:"anonymizeForm",options:{}}]]),t[13]||(t[13]=n("label",{class:"form-check-label",for:"link"},"Keep links",-1)),t[14]||(t[14]=n("small",{class:"form-text text-muted"},"Keep or remove all the links.",-1))]),n("div",G5,[O(n("input",W5,null,512),[[i,{state:e.viewState,set:r=>{e.options.image=r},value:e.options?.image,form:"anonymizeForm",options:{}}]]),t[15]||(t[15]=n("label",{class:"form-check-label",for:"image"},"Display images",-1)),t[16]||(t[16]=n("small",{class:"form-text text-muted"},"Images are not anonymized",-1))]),n("div",K5,[O(n("input",Y5,null,512),[[i,{state:e.viewState,set:r=>{e.options.date=r},value:e.options?.date,form:"anonymizeForm",options:{}}]]),t[17]||(t[17]=n("label",{class:"form-check-label",for:"date"},"Display dates",-1)),t[18]||(t[18]=n("small",{class:"form-text text-muted"},"Display the date of the Pull Request and the date of the comments.",-1))]),n("div",X5,[O(n("input",Q5,null,512),[[i,{state:e.viewState,set:r=>{e.options.username=r},value:e.options?.username,form:"anonymizeForm",options:{}}]]),t[19]||(t[19]=n("label",{class:"form-check-label",for:"username"},"Display username",-1))]),n("div",J5,[O(n("input",Z5,null,512),[[i,{state:e.viewState,set:r=>{e.options.comments=r},value:e.options?.comments,form:"anonymizeForm",options:{}}]]),t[20]||(t[20]=n("label",{class:"form-check-label",for:"comments"},"Display comments",-1))]),n("div",x5,[O(n("input",e8,null,512),[[i,{state:e.viewState,set:r=>{e.options.diff=r},value:e.options?.diff,form:"anonymizeForm",options:{}}]]),t[21]||(t[21]=n("label",{class:"form-check-label",for:"diff"},"Display diff",-1))]),n("div",t8,[O(n("input",n8,null,512),[[i,{state:e.viewState,set:r=>{e.options.origin=r},value:e.options?.origin,form:"anonymizeForm",options:{}}]]),t[22]||(t[22]=n("label",{class:"form-check-label",for:"origin"},"Display the project name",-1))]),n("div",o8,[O(n("input",s8,null,512),[[i,{state:e.viewState,set:r=>{e.options.title=r},value:e.options?.title,form:"anonymizeForm",options:{}}]]),t[23]||(t[23]=n("label",{class:"form-check-label",for:"title"},"Display the PR title",-1))]),n("div",i8,[O(n("input",r8,null,512),[[i,{state:e.viewState,set:r=>{e.options.body=r},value:e.options?.body,form:"anonymizeForm",options:{}}]]),t[24]||(t[24]=n("label",{class:"form-check-label",for:"body"},"Display the PR body and comment bodies",-1))])])])])])])],512),[[ee,e.pullRequestUrl]]),e.error?(l(),d("div",{key:0,class:"alert alert-danger",role:"alert",textContent:c(e.error)},null,8,a8)):f("v-if",!0),O(n("div",l8,[e.isUpdate?f("v-if",!0):(l(),d("button",{key:0,id:"submit",type:"submit",class:"btn btn-ink btn-block",onClick:t[0]||(t[0]=de(r=>e.submitForm(r,()=>{e.anonymizePullRequest(r)}),["prevent"]))},[...t[28]||(t[28]=[n("svg",{class:"ui-icon mr-1","aria-hidden":"true"},[n("use",{href:"#ui-icon-shield"})],-1),v(" Anonymize ",-1)])])),e.isUpdate?(l(),d("button",{key:1,id:"submit",type:"submit",class:"btn btn-ink btn-block",onClick:t[1]||(t[1]=de(r=>e.submitForm(r,()=>{e.updatePullRequest(r)}),["prevent"]))},[...t[29]||(t[29]=[n("svg",{class:"ui-icon mr-1","aria-hidden":"true"},[n("use",{href:"#ui-icon-save"})],-1),v(" Update ",-1)])])):f("v-if",!0)],512),[[ee,e.pullRequestUrl]])],2)),[[s,e.viewState]])],2)]),e.details?(l(),d("div",d8,[n("div",u8,[n("h2",c8,[e.options?.title?(l(),d("span",p8,c(e.anonymize(e.details?.pullRequest?.title)),1)):f("v-if",!0),n("span",{class:T(["badge",{"badge-success":e.details?.pullRequest?.merged,"badge-warning":e.details?.pullRequest?.state=="open","badge-danger":e.details?.pullRequest?.state=="closed"&&!e.details?.pullRequest?.merged}])},c(e.fmt?.title(e.details?.pullRequest?.merged?"merged":e.details?.pullRequest?.state)),3)]),e.options?.date?(l(),d("small",{key:0,textContent:c(e.fmt?.date(e.details?.pullRequest?.updatedDate))},null,8,f8)):f("v-if",!0)]),e.options?.origin?(l(),d("small",h8,"Pull Request on "+c(e.details?.pullRequest?.baseRepositoryFullName),1)):f("v-if",!0),e.options?.body?(l(),d("div",m8,[_e(o,{content:e.anonymize(e.details?.pullRequest?.body),options:e.options,terms:e.terms},null,8,["content","options","terms"])])):f("v-if",!0),n("ul",g8,[e.options?.diff?(l(),d("li",v8,[...t[31]||(t[31]=[n("button",{class:"nav-link active",id:"pills-diff-tab","data-toggle":"pill","data-target":"#pills-diff",type:"button",role:"tab","aria-controls":"pills-diff","aria-selected":"true"}," Diff ",-1)])])):f("v-if",!0),e.options?.comments?(l(),d("li",y8,[n("button",{class:T(["nav-link",{active:!e.options?.diff}]),id:"pills-comments-tab","data-toggle":"pill","data-target":"#pills-comments",type:"button",role:"tab","aria-controls":"pills-comments","aria-selected":"false"},[n("span",{textContent:c(e.fmt.plural(e.details?.pullRequest?.comments?.length,{0:"No comment",one:"One Comment",other:"{} Comments"}))},null,8,b8)],2)])):f("v-if",!0)]),n("div",w8,[n("div",k8,[e.options?.diff?(l(),d("div",C8,[n("pre",E8,[n("code",{innerHTML:e.sanitize(e.fmt?.diff(e.anonymize(e.details?.pullRequest?.diff)))},null,8,S8)])])):f("v-if",!0)]),n("div",{class:T(["tab-pane",{"show active":!e.options?.diff}]),id:"pills-comments",role:"tabpanel","aria-labelledby":"pills-comments-tab"},[e.options?.comments?(l(),d("ul",N8,[(l(!0),d(L,null,ie(e.details?.pullRequest?.comments,(r,a)=>(l(),d("li",R8,[n("div",D8,[e.options?.username?(l(),d("h5",A8," @"+c(e.anonymize(r?.author)),1)):f("v-if",!0),e.options?.date?(l(),d("small",{key:1,textContent:c(e.fmt?.date(r?.updatedDate))},null,8,T8)):f("v-if",!0)]),n("p",P8,[e.options?.body?(l(),dn(o,{key:0,class:"pr-comment-body",content:e.anonymize(r?.body),options:e.options,terms:e.terms},null,8,["content","options","terms"])):f("v-if",!0)])]))),256))])):f("v-if",!0)],2)])])):f("v-if",!0)])])}var O8={class:"container paper-page claim-page"},I8={class:"paper-settings-main claim-form"},M8={class:"form-group"},_8={class:"invalid-feedback"},V8={class:"form-group"};function Gc(e,t){let o=Ae("field"),i=Ae("form");return l(),d("div",O8,[t[6]||(t[6]=Se('
    My work \xA0/\xA0 Claim

    Claim an anonymization

    Take ownership of an existing anonymized repository so it appears on your dashboard.

    ',3)),n("div",I8,[t[5]||(t[5]=n("p",{class:"paper-section-copy"},"Use this when an anonymization was created by a co-author or from another account. You must have access to the GitHub repository it was made from.",-1)),O((l(),d("form",{class:"form needs-validation",name:"claimForm",novalidate:"",onSubmit:t[0]||(t[0]=de(s=>e.submitForm(s,()=>{e.claim()}),["prevent"]))},[n("div",M8,[t[1]||(t[1]=n("label",{class:"paper-field-label",for:"repoUrl"},"GitHub repository URL",-1)),O(n("input",{type:"text",class:T(["form-control",{"is-invalid":e.claimForm?.repoUrl?.invalid&&(e.claimForm?.repoUrl?.touched||e.claimForm?.submitted)}]),name:"repoUrl",id:"repoUrl",placeholder:"https://github.com/owner/repository",required:""},null,2),[[o,{state:e.viewState,set:s=>{e.repoUrl=s},value:e.repoUrl,form:"claimForm",options:{}}]]),O(n("div",_8," No anonymization matches this repository and ID. Check both values and that you can access the repository on GitHub. ",512),[[ee,e.claimForm?.repoUrl?.errors?.not_found]])]),n("div",V8,[t[2]||(t[2]=n("label",{class:"paper-field-label",for:"repoId"},"Anonymized repository ID",-1)),O(n("input",{type:"text",class:T(["form-control",{"is-invalid":e.claimForm?.repoId?.invalid&&(e.claimForm?.repoId?.touched||e.claimForm?.submitted)}]),name:"repoId",id:"repoId",placeholder:"e.g. my-paper-7F2A","aria-describedby":"idHelp",required:""},null,2),[[o,{state:e.viewState,set:s=>{e.repoId=s},value:e.repoId,form:"claimForm",options:{}}]]),t[3]||(t[3]=n("small",{id:"idHelp",class:"form-text text-muted"},[v("The ID is the last part of the anonymized URL: "),n("code",null,"anonymous.4open.science/r/"),v(".")],-1))]),t[4]||(t[4]=n("button",{id:"submit",type:"submit",class:"btn btn-ink"}," Claim anonymization ",-1))],32)),[[i,e.viewState]])])])}var q8={class:"container page paper-page conference-page"},$8={class:"paper-crumbs"},L8={class:"here"},U8={class:"d-flex align-items-end flex-wrap",style:{gap:"12px","justify-content":"space-between"}},F8={class:"conf-title-row"},B8=["textContent"],z8={key:0,class:"conf-status"},H8=["textContent"],j8={key:0,class:"paper-page-lede"},G8=["textContent","href"],W8={class:"d-flex align-items-center flex-wrap",style:{gap:"10px"}},K8=["href"],Y8={class:"paper-meta-rule"},X8=["textContent"],Q8=["textContent"],J8={key:0},Z8={key:0,class:"conference-payment-status",role:"status"},x8=["disabled"],eM={key:1,role:"alert"},tM={key:2,class:"paper-settings-section","aria-labelledby":"conference-payment-heading"},nM={key:0,role:"status"},oM={key:1,role:"alert"},sM=["onClick","disabled"],iM={class:"dashboard-meta conf-view-meta"},rM={class:"dashboard-view-tabs",role:"group","aria-label":"Repository view"},aM=["aria-pressed"],lM=["aria-pressed","aria-label"],dM=["aria-pressed"],uM={class:"attention-count"},cM={class:"dashboard-count",role:"status"},pM={class:"search-wrap"},fM={type:"search",id:"search",class:"form-control","aria-label":"Search repositories",placeholder:"Search repositories\u2026",autocomplete:"off"},hM={class:"dashboard-filter-controls"},mM={class:"dropdown"},gM={class:"btn dropdown-toggle",type:"button",id:"dropdownSort","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},vM={class:"filter-btn-value"},yM={class:"dropdown-menu","aria-labelledby":"dropdownSort"},bM={class:"form-check dropdown-item"},wM={class:"form-check-input",type:"radio",name:"sort",id:"anonymizeDate",value:"-anonymizeDate"},kM={class:"form-check dropdown-item"},CM={class:"form-check-input",type:"radio",name:"sort",id:"sortID",value:"repoId"},EM={class:"form-check dropdown-item"},SM={class:"form-check-input",type:"radio",name:"sort",id:"sortStatus",value:"-status"},NM={class:"form-check dropdown-item"},RM={class:"form-check-input",type:"radio",name:"sort",id:"sortViews",value:"-pageView"},DM={class:"dashboard-page conf-rows"},AM={class:"cell-anon",role:"cell"},TM={class:"anon-text"},PM={class:"anon-title"},OM=["title","href"],IM={class:"rn-owner"},MM={class:"rn-repo"},_M={class:"anon-sub"},VM=["title"],qM={class:"id-head"},$M={class:"id-tail"},LM=["title"],UM={class:"dashboard-row-meta",role:"presentation"},FM={class:"cell-status",role:"cell"},BM={class:"status-line"},zM=["textContent"],HM=["textContent","title"],jM=["href"],GM=["onClick","disabled"],WM={key:3,class:"status-sub status-sub-date"},KM=["data-unit","aria-label"],YM={class:"cell-expires",role:"cell"},XM={key:0,class:"expires-never"},QM=["textContent"],JM={key:2,class:"expires-past"},ZM={key:3,class:"empty-dash","aria-label":"Not applicable"},xM={class:"cell-actions",role:"cell"},e_=["onClick","disabled","title","aria-label"],t_={class:"sr-only","aria-live":"polite"},n_={class:"project-type-svg","aria-hidden":"true"},o_=["href"],s_={class:"copy-url-label","aria-hidden":"true"},i_=["href","aria-label"],r_={class:"dropdown"},a_=["aria-label"],l_={class:"dropdown-menu dropdown-menu-right"},d_=["href"],u_=["href"],c_=["href"],p_={key:0,class:"paper-table-empty"},f_={key:0},h_={key:1},m_={key:2,class:"paper-table-empty-actions"};function Wc(e,t){let o=Ae("field"),i=Ae("form");return l(),d("div",q8,[n("div",null,[n("div",$8,[t[6]||(t[6]=n("a",{href:"/dashboard"},"My work",-1)),t[7]||(t[7]=v(" \xA0/\xA0 ",-1)),t[8]||(t[8]=n("a",{href:"/conferences"},"Conferences",-1)),t[9]||(t[9]=v(" \xA0/\xA0 ",-1)),n("span",L8,c(e.conference?.conferenceID),1)]),n("div",U8,[n("div",null,[n("div",F8,[n("h1",{class:"paper-page-title",textContent:c(e.conference?.name)},null,8,B8),e.conference?.status?(l(),d("span",z8,[n("span",{class:T(["status-dot","status-"+e.conference?.status]),"aria-hidden":"true"},null,2),n("span",{textContent:c(e.fmt?.statusLabel(e.conference?.status))},null,8,H8)])):f("v-if",!0)]),e.conference?.url?(l(),d("p",j8,[n("a",{target:"_blank",rel:"noopener",textContent:c(e.conference?.url),href:e.safeUrl(e.conference?.url)},null,8,G8)])):f("v-if",!0)]),n("div",W8,[n("a",{class:"btn btn-outline-ink",href:e.safeUrl("/conference/"+e.conference?.conferenceID+"/edit")},[...t[10]||(t[10]=[n("svg",{class:"ui-icon mr-1","aria-hidden":"true"},[n("use",{href:"#ui-icon-edit"})],-1),v(" Edit conference",-1)])],8,K8)])]),n("div",Y8,[n("span",null,[t[11]||(t[11]=v("ID ",-1)),n("b",{class:"commit-hash",textContent:c(e.conference?.conferenceID)},null,8,X8)]),n("span",null,[t[12]||(t[12]=v("Review window ",-1)),n("b",null,c(e.fmt?.date(e.conference?.startDate,"mediumDate"))+" \u2013 "+c(e.fmt?.date(e.conference?.endDate,"mediumDate")),1)]),n("span",null,[t[13]||(t[13]=v("Repositories ",-1)),n("b",null,c(e.fmt?.number(e.conference?.repositories?.length)),1)]),n("span",null,[t[14]||(t[14]=v("Plan ",-1)),n("b",{textContent:c(e.conferencePlanName(e.conference?.plan?.planID))},null,8,Q8)]),e.conference?.price?(l(),d("span",J8,[t[15]||(t[15]=v("Cost so far ",-1)),n("b",null,c(e.fmt?.money(e.conference?.price)),1)])):f("v-if",!0)]),e.billingNotice?(l(),d("div",Z8,[n("p",null,c(e.billingNotice),1),n("button",{type:"button",class:"btn btn-outline-ink",onClick:t[0]||(t[0]=s=>e.refreshBilling()),disabled:e.billingBusy},"Check payment status",8,x8)])):f("v-if",!0),e.billingError&&e.conference?.status!=="pending_payment"?(l(),d("p",eM,c(e.billingError),1)):f("v-if",!0),e.conference?.status==="pending_payment"?(l(),d("section",tM,[t[16]||(t[16]=n("h2",{id:"conference-payment-heading"},"Activate your review package",-1)),t[17]||(t[17]=n("p",null,"This conference is waiting for payment. Authors can join after payment is confirmed. Checkout returns to this conference. Authors within the package do not pay separately.",-1)),e.billingLoading?(l(),d("p",nM,"Loading payment options\u2026")):f("v-if",!0),e.billingError?(l(),d("p",oM,c(e.billingError),1)):f("v-if",!0),(l(!0),d(L,null,ie((e.billing?.plans||[]).filter(s=>s.id===e.conference?.plan?.planID),s=>(l(),d("div",{key:s.id},[n("p",null,[n("strong",null,c(s.name)+" package",1),v(": "+c(e.billingPrice(s))+" for up to "+c(s.repositories)+" repositories and "+c(e.billingBytes(s.storage))+" of source files during the review window. Taxes, if applicable, appear at checkout.",1)]),n("button",{type:"button",class:"btn btn-primary",onClick:r=>e.checkout(s.id,e.conference.conferenceID),disabled:e.billingBusy||e.billingPending||e.billing?.checkoutEnabled===!1},c(e.billingBusy?"Please wait\u2026":"Pay for review package"),9,sM)]))),128)),t[18]||(t[18]=n("p",null,[n("a",{href:"/profile#settings-billing"},"Manage invoices")],-1))])):f("v-if",!0),n("div",iM,[n("div",rM,[n("button",{type:"button","aria-pressed":e.confView()==="current",onClick:t[1]||(t[1]=s=>e.setConfView("current")),title:"Every repository except removed links"},"Current",8,aM),e.confCount("attention")>0||e.confView()==="attention"?(l(),d("button",{key:0,type:"button","aria-pressed":e.confView()==="attention",onClick:t[2]||(t[2]=s=>e.setConfView("attention")),"aria-label":"Needs attention "+e.confCount("attention")},[t[19]||(t[19]=n("span",{class:"dashboard-attention-prefix"},"Needs ",-1)),t[20]||(t[20]=n("span",null,"attention",-1)),t[21]||(t[21]=v()),n("span",{class:T(["attention-count",{"has-attention":e.confCount("attention")>0}])},c(e.fmt?.number(e.confCount("attention"))),3)],8,lM)):f("v-if",!0),e.confCount("removed")>0||e.confView()==="removed"?(l(),d("button",{key:1,type:"button","aria-pressed":e.confView()==="removed",onClick:t[3]||(t[3]=s=>e.setConfView("removed")),title:"Links reviewers can no longer open"},[t[22]||(t[22]=v("Removed ",-1)),n("span",uM,c(e.fmt?.number(e.confCount("removed"))),1)],8,dM)):f("v-if",!0)]),n("span",cM,c(e.search.trim()?e.fmt?.number(e.filteredRepositories?.length||0)+" shown":e.fmt?.number(e.filteredRepositories?.length||0)+((e.filteredRepositories?.length||0)===1?" repository":" repositories")),1)]),O((l(),d("form",{class:"w-100 conf-repo-toolbar","aria-label":"Filter repositories","accept-charset":"UTF-8",onSubmit:t[4]||(t[4]=de(s=>e.submitForm(s,()=>{s.preventDefault()}),["prevent"]))},[n("div",pM,[O(n("input",fM,null,512),[[o,{state:e.viewState,set:s=>{e.search=s},value:e.search,form:null,options:{}}]])]),n("div",hM,[n("div",mM,[n("button",gM,[t[23]||(t[23]=n("span",{class:"filter-btn-label"},"Sort",-1)),n("span",vM,c({"-anonymizeDate":"Anonymize date",repoId:"ID","-status":"Status","-pageView":"Views"}[e.orderBy]||"Custom"),1)]),n("div",yM,[t[28]||(t[28]=n("h6",{class:"dropdown-header"},"Order by",-1)),n("div",bM,[O(n("input",wM,null,512),[[o,{state:e.viewState,set:s=>{e.orderBy=s},value:e.orderBy,form:null,options:{}}]]),t[24]||(t[24]=n("label",{class:"form-check-label",for:"anonymizeDate"},"Anonymize date",-1))]),n("div",kM,[O(n("input",CM,null,512),[[o,{state:e.viewState,set:s=>{e.orderBy=s},value:e.orderBy,form:null,options:{}}]]),t[25]||(t[25]=n("label",{class:"form-check-label",for:"sortID"},"ID",-1))]),n("div",EM,[O(n("input",SM,null,512),[[o,{state:e.viewState,set:s=>{e.orderBy=s},value:e.orderBy,form:null,options:{}}]]),t[26]||(t[26]=n("label",{class:"form-check-label",for:"sortStatus"},"Status",-1))]),n("div",NM,[O(n("input",RM,null,512),[[o,{state:e.viewState,set:s=>{e.orderBy=s},value:e.orderBy,form:null,options:{}}]]),t[27]||(t[27]=n("label",{class:"form-check-label",for:"sortViews"},"Views",-1))])])])])],32)),[[i,e.viewState]]),n("div",DM,[n("div",{class:T(["paper-table paper-table-dashboard paper-table-conf w-100",{"is-removed-view":e.confView()==="removed"}]),role:"table","aria-label":"Repositories"},[t[37]||(t[37]=n("div",{class:"paper-table-head",role:"row"},[n("div",{role:"columnheader"},"Repository"),n("div",{role:"columnheader"},"Status"),n("div",{role:"columnheader",class:"num"},"Views"),n("div",{role:"columnheader"},"Expires"),n("div",{role:"columnheader"},[n("span",{class:"sr-only"},"Actions")])],-1)),(l(!0),d(L,null,ie(e.filteredRepositories,(s,r)=>(l(),d("div",{class:T(["paper-table-row",{"repo-inactive":s?.status=="expired"||s?.status=="removed","repo-error":s?.status=="error"}]),role:"row",key:s?.repoId},[n("div",AM,[t[30]||(t[30]=n("span",{class:"project-type-icon",role:"img","aria-label":"Repository",title:"Repository"},[n("svg",{class:"project-type-svg","aria-hidden":"true"},[n("use",{href:"#project-type-repo"})])],-1)),n("div",TM,[n("div",PM,[n("a",{class:"repo-name",title:s?.source?.fullName,href:e.safeUrl("/r/"+s?.repoId+"/")},[(s?.source?.fullName||"").indexOf("/")>0?(l(),d(L,{key:0},[n("span",IM,c(s.source.fullName.slice(0,s.source.fullName.indexOf("/")+1)),1),t[29]||(t[29]=n("wbr",null,null,-1)),n("span",MM,c(s.source.fullName.slice(s.source.fullName.indexOf("/")+1)),1)],64)):(l(),d(L,{key:1},[v(c(s?.source?.fullName||s?.repoId),1)],64))],8,OM)]),n("div",_M,[n("code",{class:"anonymous-id",title:s?.repoId},[(s?.repoId||"").length>14?(l(),d(L,{key:0},[n("span",qM,c(s.repoId.slice(0,-6)),1),n("span",$M,c(s.repoId.slice(-6)),1)],64)):(l(),d(L,{key:1},[v(c(s?.repoId),1)],64))],8,VM),s?.source?.commit?(l(),d("span",{key:0,class:"commit-hash",title:s.source.commit},c(s.source.commit.substring(0,7)),9,LM)):f("v-if",!0)])])]),n("div",UM,[n("div",FM,[n("div",BM,[n("span",{class:T(["status-dot","status-"+(s?.status=="error"?"error":s?.status=="ready"?"ready":s?.status=="expired"||s?.status=="removed"?s?.status:"progress")]),"aria-hidden":"true"},null,2),n("span",{class:"status-word",textContent:c(e.fmt?.statusLabel(s?.status))},null,8,zM)]),s?.status=="error"&&s?.statusMessage?(l(),d("div",{key:0,class:"status-sub status-sub-error",textContent:c(e.fmt?.statusMsg(s?.statusMessage)),title:s?.statusMessage},null,8,HM)):f("v-if",!0),s?.status=="error"?(l(),d("a",{key:1,class:"project-attention-action",href:e.safeUrl("/status/"+s?.repoId)},"View status",8,jM)):f("v-if",!0),s?.status=="expired"?(l(),d("button",{key:2,type:"button",class:"project-attention-action",onClick:de(a=>e.extendRepo(s),["stop"]),disabled:e.extendingId===s?.repoId,title:"Reviewers can no longer open this link"},"Extend 6 months",8,GM)):f("v-if",!0),s?.anonymizeDate&&s?.status!="error"&&s?.status!="expired"?(l(),d("div",WM,"anonymized "+c(e.fmt?.humanTime(s?.anonymizeDate)),1)):f("v-if",!0)]),n("div",{class:"cell-views num",role:"cell","data-unit":(s?.pageView||0)===1?"view":"views","aria-label":e.fmt?.number(s?.pageView||0)+((s?.pageView||0)===1?" view":" views")},[t[31]||(t[31]=n("svg",{class:"project-type-svg mobile-meta-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-eye"})],-1)),n("span",null,c(e.fmt?.number(s?.pageView||0)),1)],8,KM),n("div",YM,[t[33]||(t[33]=n("svg",{class:"project-type-svg mobile-meta-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-clock"})],-1)),s?.status=="ready"&&(s?.options?.expirationMode==="never"||!s?.options?.expirationDate)?(l(),d("span",XM,"No expiry")):f("v-if",!0),s?.status=="ready"&&s?.options?.expirationMode!=="never"&&s?.options?.expirationDate?(l(),d("span",{key:1,textContent:c((e.fmt?.humanTime(s?.options?.expirationDate)||"").replace(/^on /,""))},null,8,QM)):f("v-if",!0),s?.status=="expired"?(l(),d("span",JM,[t[32]||(t[32]=n("span",{class:"expires-past-prefix"},"Expired ",-1)),v(c(e.fmt?.shortDate(s?.options?.expirationDate)),1)])):f("v-if",!0),s?.status!="ready"&&s?.status!="expired"?(l(),d("span",ZM,"\u2014")):f("v-if",!0)])]),n("div",xM,[s?.status!="expired"&&s?.status!="removed"?(l(),d("button",{key:0,type:"button",class:"copy-url",onClick:de(a=>e.copyRepoLink(s),["stop"]),disabled:!!e.copyingId,title:"Copy link: /r/"+s?.repoId+"/","aria-label":"Copy anonymous link for "+s?.repoId},[n("span",t_,c(e.copyingId===s?.repoId?"Link copied":""),1),(l(),d("svg",n_,[n("use",{href:e.copyingId===s?.repoId?"#ui-icon-check":"#project-icon-copy"},null,8,o_)])),n("span",s_,c(e.copyingId===s?.repoId?"Copied":"Copy link"),1)],8,e_)):f("v-if",!0),s?.status!="expired"&&s?.status!="removed"?(l(),d("a",{key:1,class:"row-edit row-open",href:e.safeUrl("/r/"+s?.repoId+"/"),target:"_blank",rel:"noopener",title:"Open what reviewers see","aria-label":"Open anonymous page for "+s?.repoId},[...t[34]||(t[34]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-external-link"})],-1)])],8,i_)):f("v-if",!0),n("div",r_,[n("button",{class:"btn btn-icon-dots",type:"button","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false","aria-label":"Actions for "+s?.repoId},[...t[35]||(t[35]=[n("svg",{class:"project-type-svg","aria-hidden":"true"},[n("use",{href:"#project-icon-more"})],-1)])],8,a_),n("div",l_,[n("a",{class:"dropdown-item",href:e.safeUrl("/r/"+s?.repoId+"/")},"View",8,d_),n("a",{class:"dropdown-item",href:e.safeUrl("https://github.com/"+s?.source?.fullName+"/"),target:"_blank",rel:"noopener"},"Open source on GitHub",8,u_),n("a",{class:"dropdown-item",href:e.safeUrl("/anonymize/"+s?.repoId)},"Edit",8,c_)])])])],2))),128)),e.filteredRepositories?.length==0?(l(),d("div",p_,[t[36]||(t[36]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-inbox"})],-1)),e.conference?.repositories?.length?f("v-if",!0):(l(),d("span",f_,"No repository has been submitted to this conference yet.")),e.conference?.repositories?.length?(l(),d("span",h_,"Nothing matches the current filters.")):f("v-if",!0),e.conference?.repositories?.length?(l(),d("div",m_,[n("button",{type:"button",class:"btn btn-outline-ink",onClick:t[5]||(t[5]=s=>{e.search="",e.setConfView("current")})},"Clear filters")])):f("v-if",!0)])):f("v-if",!0)],2)])])])}var g_={class:"container page paper-page conferences-page"},v_={class:"row"},y_={class:"w-100"},b_={class:"d-flex align-items-start justify-content-between flex-wrap page-head-row page-head page-head-main",style:{gap:"12px"}},w_={key:0,href:"/conference/new",class:"btn btn-primary"},k_={class:"search-wrap"},C_={type:"search",id:"search",class:"form-control","aria-label":"Search conferences",placeholder:"Search by name or ID\u2026",autocomplete:"off"},E_={class:"dashboard-filter-controls"},S_={class:"dropdown"},N_={class:"btn dropdown-toggle",type:"button",id:"dropdownSort","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},R_={class:"filter-btn-value"},D_={class:"dropdown-menu","aria-labelledby":"dropdownSort"},A_={class:"form-check dropdown-item"},T_={class:"form-check-input",type:"radio",name:"sort",id:"sortName",value:"name"},P_={class:"form-check dropdown-item"},O_={class:"form-check-input",type:"radio",name:"sort",id:"sortID",value:"conferenceID"},I_={class:"form-check dropdown-item"},M_={class:"form-check-input",type:"radio",name:"sort",id:"sortStatus",value:"-status"},__={class:"dropdown"},V_={class:"btn dropdown-toggle",type:"button",id:"dropdownStatus","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},q_={key:0,class:"filter-btn-value"},$_={key:1,class:"filter-btn-value"},L_={class:"dropdown-menu","aria-labelledby":"dropdownStatus"},U_={class:"form-check dropdown-item"},F_=["id"],B_=["for"],z_={key:1,class:"dashboard-meta"},H_={class:"dashboard-count"},j_={key:0},G_={key:0},W_={key:1},K_={key:0,class:"filter-chip"},Y_=["onClick","aria-label"],X_={key:0,class:"conference-feedback",role:"alert"},Q_={key:1,class:"conference-feedback",role:"status"},J_={class:"paper-table paper-table-conferences w-100",role:"table","aria-label":"Conferences"},Z_={class:"cell-anon",role:"cell"},x_={class:"anon-text"},e6=["textContent","href"],t6={class:"anon-sub"},n6={class:"anon-source"},o6=["textContent"],s6={key:0},i6=["textContent","href"],r6={class:"cell-status",role:"cell"},a6={class:"status-line"},l6=["textContent"],d6={class:"cell-views num",role:"cell"},u6=["textContent"],c6={class:"cell-expires",role:"cell"},p6={key:0},f6={key:1,class:"empty-dash","aria-label":"No review window"},h6={class:"cell-actions",role:"cell"},m6={class:"dropdown"},g6=["disabled","aria-label"],v6={class:"dropdown-menu dropdown-menu-right"},y6=["href"],b6=["href"],w6={key:0},k6=["onClick"],C6={key:0,class:"paper-table-empty"},E6={key:0,class:"empty-icon","aria-hidden":"true"},S6={key:1,class:"ui-icon","aria-hidden":"true"},N6={key:3},R6={class:"paper-table-empty-actions"},D6={key:0,href:"/conference/new",class:"btn btn-primary conf-empty-new"};function Kc(e,t){let o=Ae("field"),i=Ae("form");return l(),d("div",g_,[n("div",v_,[n("div",y_,[n("div",b_,[t[4]||(t[4]=n("div",null,[n("h1",{class:"paper-page-title"},[v("Your "),n("em",null,"conferences")]),n("p",{class:"paper-page-lede"},"Group anonymizations by venue, give chairs a shared dashboard, and set one expiry for every submission.")],-1)),e.conferences&&e.conferences.length==0?f("v-if",!0):(l(),d("a",w_,[...t[3]||(t[3]=[n("svg",{class:"ui-icon mr-1","aria-hidden":"true"},[n("use",{href:"#project-icon-plus"})],-1),v(" New conference ",-1)])]))]),e.conferences?.length>0?O((l(),d("form",{key:0,class:"w-100 dashboard-filter-row","aria-label":"Filter conferences","accept-charset":"UTF-8",onSubmit:t[0]||(t[0]=de(s=>e.submitForm(s,()=>{s.preventDefault()}),["prevent"]))},[n("div",k_,[O(n("input",C_,null,512),[[o,{state:e.viewState,set:s=>{e.search=s},value:e.search,form:null,options:{}}]])]),n("div",E_,[n("div",S_,[n("button",N_,[t[5]||(t[5]=n("span",{class:"filter-btn-label"},"Sort",-1)),n("span",R_,c({name:"Name",conferenceID:"ID","-status":"Status"}[e.orderBy]||"Custom"),1)]),n("div",D_,[t[9]||(t[9]=n("h6",{class:"dropdown-header"},"Order by",-1)),n("div",A_,[O(n("input",T_,null,512),[[o,{state:e.viewState,set:s=>{e.orderBy=s},value:e.orderBy,form:null,options:{}}]]),t[6]||(t[6]=n("label",{class:"form-check-label",for:"sortName"},"Name",-1))]),n("div",P_,[O(n("input",O_,null,512),[[o,{state:e.viewState,set:s=>{e.orderBy=s},value:e.orderBy,form:null,options:{}}]]),t[7]||(t[7]=n("label",{class:"form-check-label",for:"sortID"},"ID",-1))]),n("div",I_,[O(n("input",M_,null,512),[[o,{state:e.viewState,set:s=>{e.orderBy=s},value:e.orderBy,form:null,options:{}}]]),t[8]||(t[8]=n("label",{class:"form-check-label",for:"sortStatus"},"Status",-1))])])]),n("div",__,[n("button",V_,[t[10]||(t[10]=n("span",{class:"filter-btn-label"},"Status",-1)),e.filters?.status?.ready&&e.filters?.status?.expired&&e.filters?.status?.removed?(l(),d("span",q_,"All")):f("v-if",!0),e.filters?.status?.ready&&e.filters?.status?.expired&&e.filters?.status?.removed?f("v-if",!0):(l(),d("span",$_,c((e.filters?.status?.ready?0:1)+(e.filters?.status?.expired?0:1)+(e.filters?.status?.removed?0:1))+" hidden ",1))]),n("div",L_,[t[11]||(t[11]=n("h6",{class:"dropdown-header"},"Show statuses",-1)),(l(!0),d(L,null,ie(e.statusLabels,(s,r,a)=>(l(),d("div",U_,[O(n("input",{class:"form-check-input",type:"checkbox",id:"status-"+r},null,8,F_),[[o,{state:e.viewState,set:u=>{e.filters.status[r]=u},value:e.filters?.status[r],form:null,options:{}}]]),n("label",{class:"form-check-label",for:"status-"+r},c(s),9,B_)]))),256))])])])],32)),[[i,e.viewState]]):f("v-if",!0),e.conferences?.length>0?(l(),d("div",z_,[n("span",H_,[e.filteredConferences?.length===e.conferences?.length?(l(),d("span",j_,[v(c(e.fmt?.number(e.conferences?.length))+" conference",1),e.conferences?.length!==1?(l(),d("span",G_,"s")):f("v-if",!0)])):f("v-if",!0),e.filteredConferences?.length!==e.conferences?.length?(l(),d("span",W_,c(e.fmt?.number(e.filteredConferences?.length))+" of "+c(e.fmt?.number(e.conferences?.length))+" shown",1)):f("v-if",!0)]),(l(!0),d(L,null,ie(e.filters?.status,(s,r,a)=>(l(),d(L,null,[s===!1?(l(),d("span",K_,[v(" Hiding "+c(e.statusLabels[r])+" ",1),n("button",{type:"button",class:"filter-chip-close",onClick:u=>{e.filters.status[r]=!0},"aria-label":"Show "+e.statusLabels[r]+" again"},"\xD7",8,Y_)])):f("v-if",!0)],64))),256))])):f("v-if",!0)]),e.error?(l(),d("div",X_,[n("span",null,c(e.error),1),n("button",{type:"button",class:"btn btn-outline-ink",onClick:t[1]||(t[1]=s=>e.loadConferences())},"Retry")])):f("v-if",!0),e.loading?(l(),d("div",Q_,"Loading conferences\u2026")):f("v-if",!0),n("div",J_,[t[28]||(t[28]=n("div",{class:"paper-table-head",role:"row"},[n("div",{role:"columnheader"},"Conference"),n("div",{role:"columnheader"},"Status"),n("div",{role:"columnheader",class:"num"},"Repos"),n("div",{role:"columnheader"},"Review window"),n("div",{role:"columnheader"},[n("span",{class:"sr-only"},"Actions")])],-1)),(l(!0),d(L,null,ie(e.filteredConferences,(s,r)=>(l(),d("div",{class:T(["paper-table-row row-clickable",{"repo-inactive":s?.status=="expired"||s?.status=="removed"}]),role:"row",key:s?.conferenceID},[n("div",Z_,[t[14]||(t[14]=n("svg",{class:"ui-icon record-type-icon",role:"img","aria-label":"Conference"},[n("use",{href:"#project-icon-conference"})],-1)),n("div",x_,[n("a",{class:"repo-name",textContent:c(s?.name),href:e.safeUrl("/conference/"+s?.conferenceID)},null,8,e6),n("div",t6,[n("span",n6,[t[13]||(t[13]=v("ID ",-1)),n("span",{class:"commit-hash",textContent:c(s?.conferenceID)},null,8,o6),s?.url?(l(),d("span",s6,[t[12]||(t[12]=v(" \xB7 ",-1)),n("a",{target:"_blank",rel:"noopener",textContent:c(e.fmt?.limitTo(s?.url,60)),href:e.safeUrl(s?.url)},null,8,i6)])):f("v-if",!0)])])])]),n("div",r6,[n("div",a6,[n("span",{class:T(["status-dot","status-"+s?.status]),"aria-hidden":"true"},null,2),n("span",{class:"status-word",textContent:c(e.fmt?.statusLabel(s?.status))},null,8,l6)])]),n("div",d6,[t[15]||(t[15]=n("svg",{class:"ui-icon mobile-meta-icon","aria-hidden":"true"},[n("use",{href:"#project-type-repo"})],-1)),t[16]||(t[16]=v()),n("span",{textContent:c(e.fmt?.number(s?.nbRepositories||0))},null,8,u6)]),n("div",c6,[t[17]||(t[17]=n("svg",{class:"ui-icon mobile-meta-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-clock"})],-1)),s?.startDate?(l(),d("span",p6,c(e.fmt?.date(s?.startDate,"mediumDate"))+" \u2013 "+c(e.fmt?.date(s?.endDate,"mediumDate")),1)):f("v-if",!0),s?.startDate?f("v-if",!0):(l(),d("span",f6,"\u2014"))]),n("div",h6,[n("div",m6,[n("button",{class:"btn btn-icon-dots",type:"button","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false",disabled:s?.removing,"aria-label":"Actions for "+s?.name},[...t[18]||(t[18]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-more"})],-1)])],8,g6),n("div",v6,[n("a",{class:"dropdown-item",href:e.safeUrl("/conference/"+s?.conferenceID+"/")},[...t[19]||(t[19]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-eye"})],-1),v(" View ",-1)])],8,y6),n("a",{class:"dropdown-item",href:e.safeUrl("/conference/"+s?.conferenceID+"/edit")},[...t[20]||(t[20]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-edit"})],-1),v(" Edit ",-1)])],8,b6),s?.status!="removed"?(l(),d("div",w6,[t[22]||(t[22]=n("div",{class:"dropdown-divider"},null,-1)),n("button",{type:"button",class:"dropdown-item dropdown-item-danger",onClick:a=>e.removeConference(s)},[...t[21]||(t[21]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-trash"})],-1),v(" Remove ",-1)])],8,k6)])):f("v-if",!0)])])])],2))),128)),!e.loading&&!e.error&&e.filteredConferences?.length==0?(l(),d("div",C6,[e.conferences?.length==0?(l(),d("span",E6,[...t[23]||(t[23]=[n("svg",{class:"ui-icon"},[n("use",{href:"#project-icon-conference"})],-1)])])):f("v-if",!0),e.conferences?.length>0?(l(),d("svg",S6,[...t[24]||(t[24]=[n("use",{href:"#project-icon-inbox"},null,-1)])])):f("v-if",!0),e.conferences?.length==0?(l(),d(L,{key:2},[t[25]||(t[25]=n("strong",{class:"empty-title"},"No conferences yet",-1)),t[26]||(t[26]=n("span",null,"Create one to group submissions for a venue, share a dashboard with chairs, and set a single expiry date.",-1))],64)):f("v-if",!0),e.conferences?.length>0?(l(),d("span",N6,"Nothing matches the current filters.")):f("v-if",!0),n("div",R6,[e.conferences?.length==0?(l(),d("a",D6,[...t[27]||(t[27]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-plus"})],-1),v(" New conference",-1)])])):f("v-if",!0),e.conferences?.length>0?(l(),d("button",{key:1,type:"button",class:"btn btn-outline-ink",onClick:t[2]||(t[2]=s=>{e.search="",e.filters.status.ready=!0,e.filters.status.expired=!0,e.filters.status.removed=!0})},"Clear filters")):f("v-if",!0)])])):f("v-if",!0)])])])}var A6={class:"container page dashboard-page paper-page"},T6={class:"row"},P6={class:"w-100"},O6={class:"dashboard-heading page-head page-head-main"},I6={class:"dashboard-title-line"},M6={key:0,class:"dashboard-count-head","aria-hidden":"true"},_6={key:0},V6={class:"dashboard-heading-actions"},q6=["open"],$6=["aria-expanded"],L6=["stroke-dasharray"],U6={key:1,d:"M7 12c0-4 4-4 5 0s5 4 5 0-4-4-5 0-5 4-5 0",class:"quota-ring-unlimited"},F6={key:0,class:"quota-summary-value"},B6={key:0},z6={class:"quota-panel",id:"dashboard-usage"},H6={class:"quota-panel-heading"},j6={key:1,class:"quota-loading",role:"status"},G6={key:0,class:"dashboard-meta"},W6={key:0,class:"dashboard-view-tabs",role:"group","aria-label":"Project view"},K6=["aria-pressed"],Y6=["aria-pressed","aria-label"],X6=["aria-pressed","aria-label"],Q6={key:0,class:"attention-count"},J6={key:0},Z6={key:0},x6={key:1},eV={class:"search-wrap"},tV={type:"search",id:"search",class:"form-control","aria-label":"Search anonymizations",placeholder:"Search projects\u2026",autocomplete:"off"},nV=["aria-expanded"],oV={class:"btn-group",role:"group","aria-label":"Type"},sV=["aria-pressed"],iV=["aria-pressed"],rV=["aria-pressed"],aV=["aria-pressed"],lV={class:"dropdown"},dV={class:"btn dropdown-toggle",type:"button",id:"dropdownSort","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},uV={class:"filter-btn-value"},cV={class:"sr-only"},pV={class:"dropdown-menu","aria-labelledby":"dropdownSort"},fV={class:"form-check dropdown-item"},hV=["onClick","checked","id"],mV=["for"],gV=["inert"],vV={class:"btn dropdown-toggle",type:"button",id:"dropdownStatus","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},yV={class:"filter-btn-value"},bV={class:"dropdown-menu","aria-labelledby":"dropdownStatus"},wV={key:0,class:"form-check dropdown-item"},kV=["id"],CV=["for"],EV={key:1,class:"dashboard-active-filters dashboard-active-filters-row"},SV=["onClick","aria-label","title"],NV=["aria-busy"],RV={class:"paper-table-head",role:"row"},DV=["aria-sort"],AV=["aria-sort"],TV=["aria-sort"],PV=["aria-sort"],OV={key:0,class:"paper-table-row paper-table-skeleton",role:"row","aria-hidden":"true"},IV=["onClick"],MV={class:"cell-anon",role:"cell"},_V=["aria-label","title"],VV={class:"project-type-svg","aria-hidden":"true"},qV=["href"],$V={class:"anon-text"},LV={class:"anon-title"},UV=["title","href"],FV={class:"rn-owner"},BV={class:"rn-repo"},zV={key:1,class:"repo-name repo-name-static"},HV={class:"rn-owner"},jV={class:"rn-repo"},GV={key:2,class:"type-badge type-coauthor",title:"You are a co-author on this anonymization"},WV={key:0,class:"anon-sub"},KV=["title"],YV={class:"id-head"},XV={class:"id-tail"},QV=["title"],JV=["title"],ZV=["textContent"],xV={class:"dashboard-row-meta",role:"presentation"},eq={class:"cell-status",role:"cell"},tq={class:"status-line"},nq=["textContent"],oq=["onClick"],sq=["textContent","title"],iq=["title"],rq=["href"],aq={key:3,class:"status-action-line"},lq={key:0,class:"status-stuck"},dq=["onClick","data-project-actions","aria-controls","aria-expanded"],uq=["onClick"],cq={key:5,class:"status-sub status-sub-date status-sub-removed"},pq={key:6,class:"status-sub status-sub-date"},fq=["data-unit","aria-label"],hq={class:"cell-expires",role:"cell"},mq={key:0,class:"expires-never"},gq=["textContent"],vq=["title"],yq={key:3,class:"expires-past"},bq={key:4,class:"expires-past"},wq={key:5,class:"empty-dash","aria-label":"Not applicable"},kq={class:"cell-actions",role:"cell"},Cq=["onClick","disabled","title","aria-label"],Eq={class:"sr-only","aria-live":"polite"},Sq={class:"project-type-svg","aria-hidden":"true"},Nq=["href"],Rq={class:"copy-url-label","aria-hidden":"true"},Dq=["href","aria-label"],Aq=["href","title","aria-label"],Tq=["title","aria-label"],Pq=["title","aria-label"],Oq=["aria-label"],Iq={key:6,class:"dropdown is-disabled"},Mq=["aria-label"],_q={key:7,class:"dropdown"},Vq=["data-project-actions","aria-label"],qq={class:"dropdown-menu dropdown-menu-right"},$q=["onClick","aria-controls","aria-expanded"],Lq=["href"],Uq=["href"],Fq=["onClick","disabled"],Bq=["href"],zq=["onClick"],Hq=["onClick"],jq=["onClick"],Gq={key:5},Wq=["onClick"],Kq={key:1,class:"project-details-row",role:"row"},Yq=["id","onKeydown"],Xq={class:"project-details-heading"},Qq=["onClick"],Jq={class:"project-details-list"},Zq={key:0},xq={key:1},e$={key:0},t$={key:2},n$={key:0,class:"project-progress-help"},o$=["href"],s$=["onSubmit"],i$=["for"],r$=["id"],a$={class:"project-name-controls"},l$=["id","aria-describedby","disabled"],d$=["disabled"],u$={key:0,class:"project-name-error",role:"alert"},c$={key:1,role:"status"},p$={key:0,class:"paper-table-empty"},f$={key:0},h$={key:1},m$={class:"paper-table-empty-actions"},g$={key:1,href:"/anonymize",class:"btn btn-ink"},v$={key:0,class:"dashboard-pagination"},y$={key:0,role:"alert"},b$=["disabled"];function Yc(e,t){let o=Xe("quota-usage"),i=Ae("field"),s=Ae("form");return l(),d("div",A6,[n("div",T6,[n("div",P6,[n("div",O6,[n("div",null,[n("div",I6,[t[27]||(t[27]=n("h1",{class:"paper-page-title"},"My work",-1)),!e.loading&&e.isPlainView()?(l(),d("span",M6,[v(c(e.fmt?.number(e.dashboardTotals?.filtered??e.filteredItems?.length))+" project",1),(e.dashboardTotals?.filtered??e.filteredItems?.length)!==1?(l(),d("span",_6,"s")):f("v-if",!0)])):f("v-if",!0)]),t[28]||(t[28]=n("p",{class:"paper-page-lede"},"Manage your anonymous links.",-1))]),n("div",V6,[n("details",{class:"dashboard-quota",open:e.quotaExpanded,onToggle:t[1]||(t[1]=r=>e.quotaExpanded=r.target.open),onKeydown:t[2]||(t[2]=ut(de(r=>e.closeQuota(),["prevent","stop"]),["esc"]))},[n("summary",{"aria-controls":"dashboard-usage","aria-expanded":e.quotaExpanded,class:T(e.quota?"quota-level-"+e.quota.repository.level:""),style:Ve(e.quota&&!e.quota.repository.unlimited?{"--quota-pct":e.quota.repository.percent+"%"}:null)},[(l(),d("svg",{class:T(["quota-summary-ring",e.quota?"quota-"+e.quota.repository.level:""]),viewBox:"0 0 24 24","aria-hidden":"true"},[t[29]||(t[29]=n("circle",{class:"quota-ring-track",cx:"12",cy:"12",r:"9"},null,-1)),e.quota&&!e.quota.repository.unlimited?(l(),d("circle",{key:0,class:"quota-ring-fill",cx:"12",cy:"12",r:"9",pathLength:"100","stroke-dasharray":e.quota.repository.percent+" 100"},null,8,L6)):f("v-if",!0),e.quota?.repository.unlimited?(l(),d("path",U6)):f("v-if",!0)],2)),t[31]||(t[31]=n("span",{class:"quota-summary-label"},"Usage",-1)),e.quota?(l(),d("span",F6,[v(c(e.fmt.number(e.quota.repository.used)),1),e.quota.repository.unlimited?f("v-if",!0):(l(),d("span",B6," / "+c(e.fmt.number(e.quota.repository.total)),1)),t[30]||(t[30]=v(" repos",-1))])):f("v-if",!0),t[32]||(t[32]=n("svg",{class:"project-type-svg quota-summary-chevron","aria-hidden":"true"},[n("use",{href:"#project-icon-chevron"})],-1))],14,$6),n("div",z6,[n("div",H6,[t[34]||(t[34]=n("h2",null,"Account usage",-1)),n("button",{type:"button",class:"project-close","aria-label":"Close usage",onClick:t[0]||(t[0]=r=>e.closeQuota())},[...t[33]||(t[33]=[n("svg",{class:"project-type-svg","aria-hidden":"true"},[n("use",{href:"#project-icon-close"})],-1)])])]),e.quota?(l(),dn(o,{key:0,quota:e.quota,fmt:e.fmt},null,8,["quota","fmt"])):(l(),d("p",j6,"Loading usage\u2026"))])],40,q6),t[35]||(t[35]=Se('New anonymization',1))])]),f(" Result count + active filter chips "),e.loading?f("v-if",!0):(l(),d("div",G6,[e.showViewTabs()?(l(),d("div",W6,[n("button",{type:"button","aria-pressed":e.statusView()==="active",onClick:t[3]||(t[3]=r=>e.setStatusView("active")),title:"Every project except removed links"},"Current",8,K6),e.attentionCount()>0||e.statusView()==="attention"?(l(),d("button",{key:0,type:"button","aria-pressed":e.statusView()==="attention",onClick:t[4]||(t[4]=r=>e.setStatusView("attention")),"aria-label":"Needs attention "+e.attentionCount()},[t[36]||(t[36]=n("span",{class:"dashboard-attention-prefix"},"Needs ",-1)),t[37]||(t[37]=n("span",null,"attention",-1)),t[38]||(t[38]=v()),n("span",{class:T(["attention-count",{"has-attention":e.attentionCount()>0}])},c(e.attentionCount()),3)],8,Y6)):f("v-if",!0),e.removedCount>0||e.statusView()==="removed"||e.removedCount==null&&e.dashboardTotals?.total>e.dashboardTotals?.filtered?(l(),d("button",{key:1,type:"button","aria-pressed":e.statusView()==="removed",onClick:t[5]||(t[5]=r=>e.setStatusView("removed")),"aria-label":"Removed "+(e.removedCount??""),title:"Links reviewers can no longer open"},[t[39]||(t[39]=v("Removed ",-1)),e.removedCount!=null?(l(),d("span",Q6,c(e.fmt?.number(e.removedCount)),1)):f("v-if",!0)],8,X6)):f("v-if",!0)])):f("v-if",!0),n("span",{class:T(["dashboard-count",{"is-plain":e.isPlainView()}])},[e.isPlainView()?(l(),d("span",J6,[v(c(e.fmt?.number(e.dashboardTotals?.filtered??e.filteredItems?.length))+" project",1),(e.dashboardTotals?.filtered??e.filteredItems?.length)!==1?(l(),d("span",Z6,"s")):f("v-if",!0)])):(l(),d("span",x6,c(e.fmt?.number(e.dashboardTotals?.filtered??e.filteredItems?.length))+" shown",1))],2)])),f(" Search + filters "),O((l(),d("form",{class:"w-100 dashboard-filter-row","aria-label":"Filter anonymizations","accept-charset":"UTF-8",onSubmit:t[13]||(t[13]=de(r=>e.submitForm(r,()=>{r.preventDefault()}),["prevent"]))},[n("div",eV,[O(n("input",tV,null,512),[[i,{state:e.viewState,set:r=>{e.search=r},value:e.search,form:null,options:{}}]])]),n("button",{class:"btn dashboard-filters-toggle",type:"button","aria-expanded":e.filtersExpanded,"aria-controls":"dashboard-filter-controls",onClick:t[6]||(t[6]=r=>e.filtersExpanded=!e.filtersExpanded)},[...t[40]||(t[40]=[v("Filters",-1),n("svg",{class:"project-type-svg","aria-hidden":"true"},[n("use",{href:"#project-icon-filter"})],-1)])],8,nV),n("div",{id:"dashboard-filter-controls",class:T(["dashboard-filter-controls",{expanded:e.filtersExpanded}])},[n("div",oV,[n("button",{type:"button",class:T(["btn",{"btn-primary":e.typeFilter==="all"}]),onClick:t[7]||(t[7]=r=>e.typeFilter="all"),"aria-pressed":e.typeFilter==="all"},"All",10,sV),n("button",{type:"button",class:T(["btn dashboard-type-filter",{"btn-primary":e.typeFilter==="repo"}]),title:"Repositories",onClick:t[8]||(t[8]=r=>e.typeFilter="repo"),"aria-pressed":e.typeFilter==="repo"},[...t[41]||(t[41]=[n("svg",{class:"project-type-svg","aria-hidden":"true"},[n("use",{href:"#project-type-repo"})],-1),n("span",{class:"type-filter-label"},"Repos",-1)])],10,iV),n("button",{type:"button",class:T(["btn dashboard-type-filter",{"btn-primary":e.typeFilter==="pr"}]),title:"Pull requests",onClick:t[9]||(t[9]=r=>e.typeFilter="pr"),"aria-pressed":e.typeFilter==="pr"},[...t[42]||(t[42]=[n("svg",{class:"project-type-svg","aria-hidden":"true"},[n("use",{href:"#project-type-pr"})],-1),n("span",{class:"type-filter-label"},"PRs",-1)])],10,rV),n("button",{type:"button",class:T(["btn dashboard-type-filter",{"btn-primary":e.typeFilter==="gist"}]),title:"Gists",onClick:t[10]||(t[10]=r=>e.typeFilter="gist"),"aria-pressed":e.typeFilter==="gist"},[...t[43]||(t[43]=[n("svg",{class:"project-type-svg","aria-hidden":"true"},[n("use",{href:"#project-type-gist"})],-1),n("span",{class:"type-filter-label"},"Gists",-1)])],10,aV)]),n("div",{id:"dashboard-extra-filters",class:T(["dashboard-extra-filters",{expanded:e.filtersExpanded}])},[n("div",lV,[n("button",dV,[t[45]||(t[45]=n("span",{class:"filter-btn-label"},"Sort",-1)),n("span",uV,c(e.sortLabel()),1),(l(),d("svg",{class:T(["project-type-svg sort-direction",{ascending:!e.sortDesc()}]),"aria-hidden":"true"},[...t[44]||(t[44]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)),n("span",cV,c(e.sortDesc()?"descending":"ascending"),1)]),n("div",pV,[t[46]||(t[46]=n("h6",{class:"dropdown-header"},"Order by",-1)),(l(!0),d(L,null,ie(e.sortFields,(r,a,u)=>(l(),d("div",fV,[n("input",{class:"form-check-input",type:"radio",name:"sort",onClick:p=>e.setSort(a,r.defaultDesc),checked:e.isSortedBy(a),id:"sort-"+u},null,8,hV),n("label",{class:"form-check-label",for:"sort-"+u},c(r?.label),9,mV)]))),256)),t[47]||(t[47]=n("div",{class:"dropdown-divider"},null,-1)),n("button",{type:"button",class:"dropdown-item",onClick:t[11]||(t[11]=r=>e.toggleSortDirection())},c(e.sortDesc()?"Switch to ascending":"Switch to descending"),1)])]),n("div",{class:T(["dropdown dashboard-status-filter",{"is-view-hidden":e.statusView()==="removed"}]),inert:e.statusView()==="removed"?!0:null},[n("button",vV,[t[48]||(t[48]=n("span",{class:"filter-btn-label"},"Status",-1)),n("span",yV,c(e.statusChipKeys().length===0?"Any":e.statusChipKeys().length===1?"Hiding "+(e.statusKeyLabels[e.statusChipKeys()[0]]||"").toLowerCase():e.statusChipKeys().length+" hidden"),1)]),n("div",bV,[t[49]||(t[49]=n("h6",{class:"dropdown-header"},"Show statuses",-1)),n("button",{type:"button",class:T(["dropdown-item status-preset",{active:e.statusChipKeys().length===0}]),onClick:t[12]||(t[12]=r=>e.statusChipKeys().forEach(a=>{e.filters.status[a]=!0}))},"Any status",2),t[50]||(t[50]=n("div",{class:"dropdown-divider"},null,-1)),(l(!0),d(L,null,ie(e.statusKeyLabels,(r,a,u)=>(l(),d(L,{key:a},[a!=="removed"?(l(),d("div",wV,[O(n("input",{class:"form-check-input",type:"checkbox",id:"status-"+a},null,8,kV),[[i,{state:e.viewState,set:p=>{e.filters.status[a]=p},value:e.filters?.status[a],form:null,options:{}}]]),n("label",{class:"form-check-label",for:"status-"+a},c(r),9,CV)])):f("v-if",!0)],64))),128))])],10,gV)],2)],2)],32)),[[s,e.viewState]]),!e.loading&&e.showClearFilters()?(l(),d("div",EV,[(l(!0),d(L,null,ie(e.statusChipKeys(),r=>(l(),d("button",{key:r,type:"button",class:"filter-chip",onClick:a=>e.filters.status[r]=!0,"aria-label":"Show "+e.statusKeyLabels[r]+" again",title:"Show "+e.statusKeyLabels[r]+" again"},[v("Hiding "+c((e.statusKeyLabels[r]||"").toLowerCase()),1),t[51]||(t[51]=n("svg",{class:"project-type-svg","aria-hidden":"true"},[n("use",{href:"#project-icon-close"})],-1))],8,SV))),128)),e.typeFilter!=="all"?(l(),d("button",{key:0,type:"button",class:"filter-chip",onClick:t[14]||(t[14]=r=>e.typeFilter="all"),"aria-label":"Show all project types"},[v(c(e.typeFilter==="repo"?"Repositories":e.typeFilter==="pr"?"Pull requests":"Gists"),1),t[52]||(t[52]=n("svg",{class:"project-type-svg","aria-hidden":"true"},[n("use",{href:"#project-icon-close"})],-1))])):f("v-if",!0),e.showClearFilters()?(l(),d("button",{key:1,type:"button",class:"btn-link-inline",onClick:t[15]||(t[15]=r=>e.clearFilters())},"Clear filters")):f("v-if",!0)])):f("v-if",!0)]),f(" Table "),n("div",{class:T(["paper-table paper-table-dashboard",{"is-removed-view":e.statusView()==="removed"}]),role:"table","aria-label":"Anonymizations","aria-busy":e.loading},[n("div",RV,[n("div",{role:"columnheader","aria-sort":e.isSortedBy("_label")?e.sortDesc()?"descending":"ascending":"none"},[n("button",{type:"button",class:T(["sortable",{active:e.isSortedBy("_label")}]),onClick:t[16]||(t[16]=r=>e.setSort("_label"))},[t[54]||(t[54]=v(" Project ",-1)),e.isSortedBy("_label")?(l(),d("svg",{key:0,class:T(["project-type-svg sort-direction",{ascending:!e.sortDesc()}]),"aria-hidden":"true"},[...t[53]||(t[53]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)):f("v-if",!0)],2)],8,DV),n("div",{role:"columnheader","aria-sort":e.isSortedBy("status")?e.sortDesc()?"descending":"ascending":"none"},[n("button",{type:"button",class:T(["sortable",{active:e.isSortedBy("status")}]),onClick:t[17]||(t[17]=r=>e.setSort("status"))},[t[56]||(t[56]=v(" Status ",-1)),e.isSortedBy("status")?(l(),d("svg",{key:0,class:T(["project-type-svg sort-direction",{ascending:!e.sortDesc()}]),"aria-hidden":"true"},[...t[55]||(t[55]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)):f("v-if",!0)],2)],8,AV),n("div",{role:"columnheader",class:"num","aria-sort":e.isSortedBy("pageView")?e.sortDesc()?"descending":"ascending":"none"},[n("button",{type:"button",class:T(["sortable",{active:e.isSortedBy("pageView")}]),onClick:t[18]||(t[18]=r=>e.setSort("pageView"))},[t[58]||(t[58]=v(" Views ",-1)),e.isSortedBy("pageView")?(l(),d("svg",{key:0,class:T(["project-type-svg sort-direction",{ascending:!e.sortDesc()}]),"aria-hidden":"true"},[...t[57]||(t[57]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)):f("v-if",!0)],2)],8,TV),n("div",{role:"columnheader","aria-sort":e.isSortedBy("options.expirationDate")?e.sortDesc()?"descending":"ascending":"none"},[n("button",{type:"button",class:T(["sortable",{active:e.isSortedBy("options.expirationDate")}]),onClick:t[19]||(t[19]=r=>e.setSort("options.expirationDate"))},[t[60]||(t[60]=v(" Expires ",-1)),e.isSortedBy("options.expirationDate")?(l(),d("svg",{key:0,class:T(["project-type-svg sort-direction",{ascending:!e.sortDesc()}]),"aria-hidden":"true"},[...t[59]||(t[59]=[n("use",{href:"#project-icon-arrow"},null,-1)])],2)):f("v-if",!0)],2)],8,PV),t[61]||(t[61]=n("div",{role:"columnheader",class:"col-link"},[n("span",{class:"sr-only"},"Actions")],-1))]),f(" Loading skeleton: keeps the layout stable while the three lists load "),(l(),d(L,null,ie([1,2,3,4],(r,a)=>(l(),d(L,null,[e.loading?(l(),d("div",OV,[...t[62]||(t[62]=[n("div",{class:"cell-anon",role:"cell"},[n("span",{class:"skeleton skeleton-badge"}),n("div",{class:"anon-text"},[n("span",{class:"skeleton skeleton-line",style:{width:"38%"}}),n("span",{class:"skeleton skeleton-line skeleton-line-sm",style:{width:"56%"}})])],-1),n("div",{class:"cell-status",role:"cell"},[n("span",{class:"skeleton skeleton-line",style:{width:"60%"}})],-1),n("div",{class:"cell-views num",role:"cell"},[n("span",{class:"skeleton skeleton-line",style:{width:"40%"}})],-1),n("div",{class:"cell-expires",role:"cell"},[n("span",{class:"skeleton skeleton-line",style:{width:"55%"}})],-1),n("div",{class:"cell-actions",role:"cell"},null,-1)])])):f("v-if",!0)],64))),64)),(l(!0),d(L,null,ie(e.filteredItems,(r,a)=>(l(),d(L,{key:r?._type+":"+(r?._id||a)},[e.loading?f("v-if",!0):(l(),d("div",{key:0,class:T(["paper-table-row",{"repo-inactive":r?._statusKey=="expired"||r?._statusKey=="removed","repo-error":r?.status=="error","row-clickable":!!r?._viewUrl}]),role:"row",onClick:u=>e.openItem(r,u)},[n("div",MV,[n("span",{class:"project-type-icon",role:"img","aria-label":r?._type==="repo"?"Repository":r?._type==="pr"?"Pull request":"Gist",title:r?._type==="repo"?"Repository":r?._type==="pr"?"Pull request":"Gist"},[(l(),d("svg",VV,[n("use",{href:"#project-type-"+r._type},null,8,qV)]))],8,_V),n("div",$V,[n("div",LV,[r?._viewUrl?(l(),d("a",{key:0,class:"repo-name",title:r._label,href:e.safeUrl(r?._viewUrl)},[(r?._label||"").indexOf("/")>0?(l(),d(L,{key:0},[n("span",FV,c(r._label.slice(0,r._label.indexOf("/")+1)),1),t[63]||(t[63]=n("wbr",null,null,-1)),n("span",BV,c(r._label.slice(r._label.indexOf("/")+1)),1)],64)):(l(),d(L,{key:1},[v(c(r?._label),1)],64))],8,UV)):f("v-if",!0),r?._viewUrl?f("v-if",!0):(l(),d("span",zV,[(r?._label||"").indexOf("/")>0?(l(),d(L,{key:0},[n("span",HV,c(r._label.slice(0,r._label.indexOf("/")+1)),1),t[64]||(t[64]=n("wbr",null,null,-1)),n("span",jV,c(r._label.slice(r._label.indexOf("/")+1)),1)],64)):(l(),d(L,{key:1},[v(c(r?._label),1)],64))])),r?.role==="coauthor"?(l(),d("span",GV,"Co-author")):f("v-if",!0)]),r?._id||r?._type==="repo"&&r?.source?.commit||r?.conference?(l(),d("div",WV,[r?._id?(l(),d("code",{key:0,class:"anonymous-id",title:r._id},[r._id.length>14?(l(),d(L,{key:0},[n("span",YV,c(r._id.slice(0,-6)),1),n("span",XV,c(r._id.slice(-6)),1)],64)):(l(),d(L,{key:1},[v(c(r._id),1)],64))],8,KV)):f("v-if",!0),r?._type==="repo"&&r?.source?.commit?(l(),d("span",{key:1,class:"commit-hash",title:r.source.commit},c(r.source.commit.substring(0,7)),9,QV)):f("v-if",!0),r?.conference?(l(),d("span",{key:2,class:"cell-conf conf-tag",title:"Conference: "+r.conference},[t[65]||(t[65]=n("svg",{class:"project-type-svg","aria-hidden":"true"},[n("use",{href:"#project-icon-conference"})],-1)),n("span",{class:"conf-name",textContent:c(r?.conference)},null,8,ZV)],8,JV)):f("v-if",!0)])):f("v-if",!0)])]),n("div",xV,[n("div",eq,[n("div",tq,[n("span",{class:T(["status-dot","status-"+r?._statusKey]),"aria-hidden":"true"},null,2),n("span",{class:"status-word",textContent:c(e.fmt?.statusLabel(r?.status))},null,8,nq),r?.status=="removed"?(l(),d(L,{key:0},[t[66]||(t[66]=n("span",{class:"seg-sep status-removed-sep","aria-hidden":"true"},"\xB7",-1)),n("button",{type:"button",class:"project-attention-action status-enable",onClick:de(u=>e.refreshItem(r),["stop"]),title:"Reviewers can no longer open this link"},"Enable again",8,oq)],64)):f("v-if",!0)]),r?.status=="error"&&r?.statusMessage?(l(),d("div",{key:0,class:"status-sub status-sub-error",textContent:c(e.fmt?.statusMsg(r?.statusMessage)),title:r?.statusMessage},null,8,sq)):f("v-if",!0),r?._stale?(l(),d("div",{key:1,class:"status-sub status-sub-warn",title:"Last activity "+e.fmt?.humanTime(r?.anonymizeDate||r?.lastView)},c(e.idleText(r)),9,iq)):f("v-if",!0),r.status==="error"&&r._editUrl?(l(),d("a",{key:2,class:"project-attention-action",href:e.safeUrl(r._editUrl)},"Fix source",8,rq)):f("v-if",!0),r._stale||r._broken?(l(),d("div",aq,[r._stale&&!r._broken?(l(),d("span",lq,[...t[67]||(t[67]=[v("May be stuck",-1),n("span",{"aria-hidden":"true"}," \xB7 ",-1)])])):f("v-if",!0),r._stale||r._broken?(l(),d("button",{key:1,type:"button",class:"project-attention-action",onClick:de(u=>e.showProjectDetails(r),["stop"]),"data-project-actions":r._broken?encodeURIComponent(r._type+":"+r._id):null,"aria-controls":r._broken?e.projectDetailsId(r):null,"aria-expanded":r._broken?e.selectedProject===r:null},c(r._broken?"Review details":"Check progress"),9,dq)):f("v-if",!0)])):f("v-if",!0),r?.status=="expired"?(l(),d("button",{key:4,type:"button",class:"project-attention-action",onClick:de(u=>e.extendItem(r),["stop"]),title:"Reviewers can no longer open this link"},"Extend 6 months",8,uq)):f("v-if",!0),r?.status=="removed"&&r?.anonymizeDate?(l(),d("div",cq,"anonymized "+c(e.fmt?.humanTime(r?.anonymizeDate)),1)):f("v-if",!0),r?.status!="error"&&r?.status!="expired"&&r?.status!="removed"&&!r?._stale&&r?.anonymizeDate?(l(),d("div",pq," anonymized "+c(e.fmt?.humanTime(r?.anonymizeDate)),1)):f("v-if",!0)]),n("div",{class:"cell-views num",role:"cell","data-unit":r.pageView===1?"view":"views","aria-label":e.fmt.number(r.pageView)+(r.pageView===1?" view":" views")},[t[68]||(t[68]=n("svg",{class:"project-type-svg mobile-meta-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-eye"})],-1)),n("span",null,c(e.fmt.number(r.pageView)),1)],8,fq),n("div",hq,[t[72]||(t[72]=n("svg",{class:"project-type-svg mobile-meta-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-clock"})],-1)),r?._expiry?.kind==="never"?(l(),d("span",mq,"No expiry")):f("v-if",!0),r?._expiry?.kind==="date"&&!r?._expiry?.soon?(l(),d("span",{key:1,textContent:c((e.fmt?.humanTime(r?._expiry?.date)||"").replace(/^on /,""))},null,8,gq)):f("v-if",!0),r?._expiry?.kind==="date"&&r?._expiry?.soon?(l(),d("span",{key:2,class:"expires-soon",title:"Expires "+e.fmt?.humanTime(r?._expiry?.date)},[t[69]||(t[69]=n("svg",{class:"project-type-svg expires-soon-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-clock"})],-1)),t[70]||(t[70]=n("span",{class:"expires-soon-prefix"},"Expires ",-1)),v(c(r._expiry.soon),1)],8,vq)):f("v-if",!0),r?._expiry?.kind==="expired"&&r?._expiry?.date?(l(),d("span",yq,[t[71]||(t[71]=n("span",{class:"expires-past-prefix"},"Expired ",-1)),v(c(r?._expiry?.label||e.fmt?.humanTime(r?._expiry?.date)),1)])):f("v-if",!0),r?._expiry?.kind==="expired"&&!r?._expiry?.date?(l(),d("span",bq,"Expired")):f("v-if",!0),r?._expiry?.kind==="none"?(l(),d("span",wq,"\u2014")):f("v-if",!0)])]),n("div",kq,[r._viewUrl&&!(r?._statusKey=="expired"||r?._statusKey=="removed")?(l(),d("button",{key:0,type:"button",class:"copy-url",onClick:de(u=>e.copyLink(r),["stop"]),disabled:!!e.copyingId,title:"Copy link: "+r._viewUrl,"aria-label":"Copy anonymous link for "+r._label},[n("span",Eq,c(e.copyingId===r._type+":"+r._id?"Link copied":""),1),(l(),d("svg",Sq,[n("use",{href:e.copyingId===r._type+":"+r._id?"#ui-icon-check":"#project-icon-copy"},null,8,Nq)])),n("span",Rq,c(e.copyingId===r._type+":"+r._id?"Copied":"Copy link"),1)],8,Cq)):f("v-if",!0),r._viewUrl&&!(r?._statusKey=="expired"||r?._statusKey=="removed")?(l(),d("a",{key:1,class:"row-edit row-open",href:e.safeUrl(r._viewUrl),target:"_blank",rel:"noopener",title:"Open what reviewers see","aria-label":"Open anonymous page for "+r._label},[...t[73]||(t[73]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-external-link"})],-1)])],8,Dq)):f("v-if",!0),r?._editUrl&&!r?._broken&&r?._statusKey!="removed"?(l(),d("a",{key:2,class:"row-edit",href:e.safeUrl(r._editUrl),title:"Edit "+r._name,"aria-label":"Edit "+r._name},[...t[74]||(t[74]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-edit"})],-1)])],8,Aq)):f("v-if",!0),!(r._viewUrl&&!(r?._statusKey=="expired"||r?._statusKey=="removed"))&&r?._statusKey!="removed"&&r?._statusKey!="expired"?(l(),d("button",{key:3,type:"button",class:"copy-url is-disabled","aria-disabled":"true",onClick:t[20]||(t[20]=de(()=>{},["stop"])),title:r?._statusKey=="expired"?"Link expired: reviewers can no longer open it":r?._statusKey=="removed"?"Link offline: reviewers can no longer open it":"No link: this record is incomplete","aria-label":"Copy link unavailable for "+r._label},[...t[75]||(t[75]=[n("svg",{class:"project-type-svg","aria-hidden":"true"},[n("use",{href:"#project-icon-copy"})],-1),n("span",{class:"copy-url-label","aria-hidden":"true"},"Copy link",-1)])],8,Tq)):f("v-if",!0),!(r._viewUrl&&!(r?._statusKey=="expired"||r?._statusKey=="removed"))&&r?._statusKey!="removed"&&r?._statusKey!="expired"?(l(),d("button",{key:4,type:"button",class:"row-edit row-open is-disabled","aria-disabled":"true",onClick:t[21]||(t[21]=de(()=>{},["stop"])),title:r?._statusKey=="expired"?"Link expired: reviewers can no longer open it":r?._statusKey=="removed"?"Link offline: reviewers can no longer open it":"No link: this record is incomplete","aria-label":"Open unavailable for "+r._label},[...t[76]||(t[76]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-external-link"})],-1)])],8,Pq)):f("v-if",!0),r?._editUrl&&!r?._broken?f("v-if",!0):(l(),d("button",{key:5,type:"button",class:"row-edit is-disabled","aria-disabled":"true",onClick:t[22]||(t[22]=de(()=>{},["stop"])),title:"Can't edit: this record is incomplete","aria-label":"Edit unavailable for "+r._label},[...t[77]||(t[77]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-edit"})],-1)])],8,Oq)),r?._broken?(l(),d("div",Iq,[n("button",{type:"button",class:"btn btn-icon-dots is-disabled","aria-disabled":"true",onClick:t[23]||(t[23]=de(()=>{},["stop"])),title:"No actions: this record is incomplete. Use Review details.","aria-label":"No actions available for "+r._label},[...t[78]||(t[78]=[n("svg",{class:"project-type-svg","aria-hidden":"true"},[n("use",{href:"#project-icon-more"})],-1)])],8,Mq)])):f("v-if",!0),r?._broken?f("v-if",!0):(l(),d("div",_q,[n("button",{class:"btn btn-icon-dots",type:"button","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false","data-project-actions":encodeURIComponent(r._type+":"+r._id),"aria-label":"Actions for "+r?._name},[...t[79]||(t[79]=[n("svg",{class:"project-type-svg","aria-hidden":"true"},[n("use",{href:"#project-icon-more"})],-1)])],8,Vq),n("div",qq,[n("button",{type:"button",class:"dropdown-item",onClick:u=>e.showProjectDetails(r),"aria-controls":e.projectDetailsId(r),"aria-expanded":e.selectedProject===r},"Project details & name",8,$q),n("a",{class:"dropdown-item",href:e.safeUrl(r?._viewUrl)}," View ",8,Lq),r?._type==="repo"&&r?.options?.page&&r?.status=="ready"?(l(),d("a",{key:0,class:"dropdown-item",target:"_self",href:e.safeUrl("/w/"+r?.repoId+"/")}," View page ",8,Uq)):f("v-if",!0),r?._viewUrl?(l(),d("button",{key:1,type:"button",class:"dropdown-item",onClick:u=>e.copyLink(r),disabled:!!e.copyingId}," Copy anonymous link ",8,Fq)):f("v-if",!0),n("a",{class:"dropdown-item",href:e.safeUrl(r?._editUrl)}," Edit ",8,Bq),r?.status=="ready"||r?.status=="error"?(l(),d("button",{key:2,type:"button",class:"dropdown-item",onClick:u=>e.refreshItem(r)}," Force update ",8,zq)):f("v-if",!0),r?.status=="removed"?(l(),d("button",{key:3,type:"button",class:"dropdown-item",onClick:u=>e.refreshItem(r)}," Enable ",8,Hq)):f("v-if",!0),r?.status=="expired"?(l(),d("button",{key:4,type:"button",class:"dropdown-item",onClick:u=>e.extendItem(r)}," Extend 6 months ",8,jq)):f("v-if",!0),(r?.status=="ready"||r?.status=="expired"||r?.status=="error")&&r?.role!=="coauthor"?(l(),d("div",Gq,[t[80]||(t[80]=n("div",{class:"dropdown-divider"},null,-1)),n("button",{type:"button",class:"dropdown-item dropdown-item-danger",onClick:u=>e.removeItem(r)}," Remove ",8,Wq)])):f("v-if",!0)])]))])],10,IV)),!e.loading&&e.selectedProject===r?(l(),d("div",Kq,[n("div",{class:"project-details",role:"cell","aria-colspan":"5",id:e.projectDetailsId(r),tabindex:"-1",onKeydown:ut(de(u=>e.closeProjectDetails(r),["stop"]),["esc"])},[n("div",Xq,[t[82]||(t[82]=n("h2",null,"Project details",-1)),n("button",{type:"button",class:"project-close",onClick:u=>e.closeProjectDetails(r),"aria-label":"Close project details"},[...t[81]||(t[81]=[n("svg",{class:"project-type-svg","aria-hidden":"true"},[n("use",{href:"#project-icon-close"})],-1)])],8,Qq)]),n("dl",Jq,[n("div",null,[t[83]||(t[83]=n("dt",null,"Source",-1)),n("dd",null,c(r._source||"Not available"),1)]),n("div",null,[t[84]||(t[84]=n("dt",null,"Anonymous ID",-1)),n("dd",null,[n("code",null,c(r._id||"Missing identifier"),1)])]),r.source?.commit?(l(),d("div",Zq,[t[85]||(t[85]=n("dt",null,"Commit",-1)),n("dd",null,[n("code",null,c(r.source.commit),1)])])):f("v-if",!0),r.conference?(l(),d("div",xq,[t[86]||(t[86]=n("dt",null,"Conference",-1)),n("dd",null,c(r.conference),1)])):f("v-if",!0),n("div",null,[t[87]||(t[87]=n("dt",null,"Status",-1)),n("dd",null,[v(c(e.fmt.statusLabel(r.status)),1),r.statusMessage?(l(),d("span",e$," \xB7 "+c(e.fmt.statusMsg(r.statusMessage)),1)):f("v-if",!0)])]),r.anonymizeDate?(l(),d("div",t$,[t[88]||(t[88]=n("dt",null,"Last anonymized",-1)),n("dd",null,c(e.fmt.humanTime(r.anonymizeDate)),1)])):f("v-if",!0)]),r._stale?(l(),d("p",n$,"This download has not progressed recently. Check the source access and selected branch before retrying.")):f("v-if",!0),r._editUrl?(l(),d("a",{key:1,class:"project-attention-action",href:e.safeUrl(r._editUrl)},c(e.needsAttention(r)?"Check source settings":"Edit anonymization settings"),9,o$)):f("v-if",!0),r._id?(l(),d("form",{key:2,class:"project-name-form",onSubmit:de(u=>e.saveProjectName(r),["prevent"])},[n("label",{for:"project-name-"+r._type+"-"+r._id},"Project name",8,i$),n("p",{id:"project-name-help-"+r._type+"-"+r._id},"Only you see this name. Leave it blank to use the default.",8,r$),n("div",a$,[O(n("input",{class:"form-control",type:"text",id:"project-name-"+r._type+"-"+r._id,"aria-describedby":"project-name-help-"+r._type+"-"+r._id,maxlength:"100","onUpdate:modelValue":t[24]||(t[24]=u=>e.projectName=u),disabled:e.nameSaving},null,8,l$),[[lt,e.projectName]]),n("button",{class:"btn btn-ink",type:"submit",disabled:e.nameSaving},c(e.nameSaving?"Saving\u2026":"Save name"),9,d$)]),e.nameError?(l(),d("p",u$,c(e.nameError),1)):f("v-if",!0),e.nameMessage?(l(),d("p",c$,c(e.nameMessage),1)):f("v-if",!0)],40,s$)):f("v-if",!0)],40,Yq)])):f("v-if",!0)],64))),128)),!e.loading&&e.filteredItems?.length==0?(l(),d("div",p$,[t[90]||(t[90]=n("svg",{class:"project-type-svg project-empty-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-inbox"})],-1)),e.hasProjects()?f("v-if",!0):(l(),d("span",f$,"You have no anonymizations yet.")),e.hasProjects()?(l(),d("span",h$,"Nothing matches the current filters.")):f("v-if",!0),n("div",m$,[e.hasActiveFilters()?(l(),d("button",{key:0,type:"button",class:"btn btn-outline-ink",onClick:t[25]||(t[25]=r=>e.clearFilters())},"Clear filters")):f("v-if",!0),e.hasProjects()?f("v-if",!0):(l(),d("a",g$,[...t[89]||(t[89]=[n("svg",{class:"project-type-svg","aria-hidden":"true"},[n("use",{href:"#project-icon-plus"})],-1),v(" New anonymization",-1)])]))])])):f("v-if",!0)],10,NV)]),e.dashboardCursor||e.dashboardError?(l(),d("div",v$,[e.dashboardError?(l(),d("p",y$,c(e.dashboardError),1)):f("v-if",!0),e.dashboardCursor?(l(),d("button",{key:1,type:"button",class:"btn",onClick:t[26]||(t[26]=r=>e.loadMoreProjects()),disabled:e.loadingMore},c(e.loadingMore?"Loading\u2026":"Load more projects"),9,b$)):f("v-if",!0)])):f("v-if",!0)])}var w$={class:"viewer-bar"},k$={class:"vb-left"},C$=["aria-label","title"],E$=["href","title"],S$={class:"vb-artifact-id"},N$={class:"vb-right"},R$=["title"],D$={class:"vb-help"},A$=["aria-expanded"],T$={key:0,class:"acct-menu vb-help-menu",role:"menu"},P$=["aria-label","title"],O$={class:"ui-icon","aria-hidden":"true"},I$=["href"],M$={key:1,class:"acct"},_$=["aria-label","aria-expanded"],V$=["src"],q$={key:1,class:"acct-initial"},$$={key:0,class:"acct-menu",role:"menu"},L$={class:"acct-menu-head"},U$={key:2,class:"vb-signin",href:"/signin",target:"_self"},F$={key:0,class:"vb-context"},B$=["href","title"],z$={key:0,class:"vb-context-date"},H$=["aria-label"],j$={class:"ui-icon","aria-hidden":"true"},G$=["href"],W$=["textContent"],K$={class:"leftCol-head"},Y$={class:"leftCol-search"},X$={class:"tree-search-box"},Q$=["href"],J$={type:"text",class:"tree-search-input",placeholder:"Search files","aria-label":"Search files"},Z$=["title","href"],x$={class:"leftCol-body"},eL={key:0,class:"paper-inline-warning",role:"alert"},tL={key:1,class:"paper-inline-warning",role:"alert"},nL={class:"explorer-main"},oL={class:"breadcrumb paths","aria-label":"Path"},sL={class:"breadcrumb-item breadcrumb-root"},iL=["href","title","textContent"],rL=["aria-current","textContent"],aL=["aria-label","title"],lL={class:"ui-icon","aria-hidden":"true"},dL=["href"],uL={class:"status-bar-actions"},cL=["href"],pL={class:"d-none d-md-inline"},fL={class:"ui-icon","aria-hidden":"true"},hL=["href"],mL={class:"d-none d-md-inline"},gL=["href"],vL={class:"explorer-content"};function Xc(e,t){let o=Xe("tree"),i=Xe("partial-view"),s=Ae("field");return l(),d("div",{class:T(["explorer-page",{"files-hidden":e.sidebarHidden}]),style:Ve({"--sidebar-w":e.sidebarWidth+"px"})},[n("header",w$,[n("div",k$,[t[15]||(t[15]=n("a",{class:"vb-logo",href:"/"},[v("Anonymous "),n("em",null,"GitHub")],-1)),n("button",{type:"button",class:"vb-icon vb-sidebar","aria-label":e.sidebarHidden?"Show file tree":"Hide file tree",title:e.sidebarHidden?"Show file tree":"Hide file tree",onClick:t[0]||(t[0]=r=>e.sidebarHidden=!e.sidebarHidden)},[...t[13]||(t[13]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-sidebar"})],-1)])],8,C$),e.repoId?(l(),d("a",{key:0,class:"vb-artifact",href:e.safeUrl("/r/"+e.repoId+"/"),title:"Anonymous artifact "+e.repoId},[t[14]||(t[14]=n("span",{class:"sr-only"},"Artifact ",-1)),n("span",S$,c(e.repoId),1)],8,E$)):f("v-if",!0)]),n("div",N$,[e.options?.sourceCommitDate||e.options?.anonymizedAt||e.options?.lastUpdateDate?(l(),d("span",{key:0,class:"vb-snapshot",title:(e.options?.expirationDate?"Available until "+e.fmt?.date(e.options.expirationDate)+". ":"")+(e.options?.anonymizedAt&&!e.options?.publishedAt?"Older repositories have no recorded publication date. The source commit date does not establish when files became available here.":(e.options?.sourceCommitDate?"Source commit ":e.options?.anonymizedAt?"Anonymized ":"Updated ")+e.fmt?.date(e.options?.sourceCommitDate||e.options?.anonymizedAt||e.options?.lastUpdateDate)+(e.options?.publishedAt?" \xB7 snapshot ready "+e.fmt?.date(e.options.publishedAt):""))},[t[16]||(t[16]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-clock"})],-1)),t[17]||(t[17]=n("span",null,"Snapshot",-1)),n("span",null,c(e.fmt?.date(e.options?.publishedAt||e.options?.sourceCommitDate||e.options?.anonymizedAt||e.options?.lastUpdateDate)),1)],8,R$)):f("v-if",!0),t[25]||(t[25]=n("a",{class:"vb-support",href:"https://ko-fi.com/tdurieux",target:"_blank",rel:"noopener",title:"Support Anonymous GitHub \u2014 help keep it free for researchers"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-heart"})]),n("span",null,"Support")],-1)),n("div",D$,[n("button",{type:"button",class:"vb-help-btn","aria-haspopup":"true","aria-expanded":e.helpOpen?"true":"false",onClick:t[1]||(t[1]=de(r=>e.helpOpen=!e.helpOpen,["stop"]))},[...t[18]||(t[18]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-help"})],-1),n("span",null,"Help",-1)])],8,A$),e.helpOpen?(l(),d("div",T$,[...t[19]||(t[19]=[n("a",{role:"menuitem",href:"/faq"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-help"})]),n("span",null,[v("FAQ"),n("small",null,"How anonymization works")])],-1),n("a",{role:"menuitem",href:"https://github.com/tdurieux/anonymous_github/issues/new?template=issue_report.yml",target:"_blank",rel:"noopener"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-bug"})]),n("span",null,[v("Report a bug"),n("small",null,"About this service, not the paper")])],-1)])])):f("v-if",!0)]),n("button",{type:"button",class:"vb-icon","aria-label":e.isDarkMode?"Switch to light mode":"Switch to dark mode",title:e.isDarkMode?"Light mode":"Dark mode",onClick:t[2]||(t[2]=r=>e.darkMode(!e.isDarkMode))},[(l(),d("svg",O$,[n("use",{href:e.isDarkMode?"#ui-icon-sun":"#ui-icon-moon"},null,8,I$)]))],8,P$),e.user?(l(),d("div",M$,[n("button",{type:"button",class:"acct-chip","aria-haspopup":"true","aria-label":"Account: "+e.user?.username,"aria-expanded":e.accountOpen?"true":"false",onClick:t[3]||(t[3]=de(r=>e.accountOpen=!e.accountOpen,["stop"]))},[e.user?.photo?(l(),d("img",{key:0,src:e.safeUrl(e.user.photo),alt:"",width:"26",height:"26"},null,8,V$)):(l(),d("span",q$,c((e.user?.username||"?").charAt(0).toUpperCase()),1))],8,_$),e.accountOpen?(l(),d("div",$$,[n("div",L$,[t[20]||(t[20]=v("Signed in as ",-1)),n("b",null,"@"+c(e.user?.username),1)]),t[21]||(t[21]=n("a",{role:"menuitem",href:"/dashboard"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-grid"})]),v("My work")],-1)),t[22]||(t[22]=n("a",{role:"menuitem",href:"/profile"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-user"})]),v("Settings")],-1)),t[23]||(t[23]=n("a",{role:"menuitem",href:"/api/user/logout",target:"_self"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-logout"})]),v("Sign out")],-1))])):f("v-if",!0)])):(l(),d("a",U$,[...t[24]||(t[24]=[n("i",{class:"fab fa-github","aria-hidden":"true"},null,-1),v("Sign in",-1)])]))])]),e.repoId?(l(),d("div",F$,[n("a",{class:"vb-context-id",href:e.safeUrl("/r/"+e.repoId+"/"),title:"Anonymous artifact "+e.repoId},c(e.repoId),9,B$),e.options?.publishedAt||e.options?.sourceCommitDate||e.options?.anonymizedAt||e.options?.lastUpdateDate?(l(),d("span",z$,"Snapshot "+c(e.fmt?.date(e.options?.publishedAt||e.options?.sourceCommitDate||e.options?.anonymizedAt||e.options?.lastUpdateDate)),1)):f("v-if",!0)])):f("v-if",!0),O(n("button",{class:"sidebar-toggle",onClick:t[4]||(t[4]=r=>e.sidebarCollapsed=!e.sidebarCollapsed),"aria-label":e.sidebarCollapsed?"Show files":"Hide files"},[(l(),d("svg",j$,[n("use",{href:e.sidebarCollapsed?"#ui-icon-folder":"#project-icon-close"},null,8,G$)])),n("span",{textContent:c(e.sidebarCollapsed?"Files":"Close")},null,8,W$)],8,H$),[[ee,e.files?.length]]),O(n("div",{class:T(["leftCol",{collapsed:e.sidebarCollapsed}])},[n("div",K$,[t[27]||(t[27]=n("span",{class:"leftCol-eyebrow"},"Files",-1)),n("button",{class:"leftCol-close","aria-label":"Close files",onClick:t[5]||(t[5]=r=>e.sidebarCollapsed=!0)},[...t[26]||(t[26]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-close"})],-1)])])]),n("div",Y$,[n("div",X$,[(l(),d("svg",{class:T(["ui-icon tree-search-icon",{"fa-spin":e.fileSearchLoading}]),"aria-hidden":"true"},[n("use",{href:e.fileSearchLoading?"#ui-icon-spinner":"#ui-icon-search"},null,8,Q$)],2)),O(n("input",J$,null,512),[[s,{state:e.viewState,set:r=>{e.fileSearchQuery=r},value:e.fileSearchQuery,form:null,options:{debounce:300},change:()=>{e.onFileSearchChange()}}]]),O(n("kbd",{class:"tree-search-kbd"},c(e.isMac?"\u2318":"Ctrl+")+"K",513),[[ee,!e.fileSearchQuery]]),O(n("button",{class:"tree-search-clear","aria-label":"Clear search",onClick:t[6]||(t[6]=r=>{e.fileSearchQuery="",e.onFileSearchChange()})},"\xD7",512),[[ee,e.fileSearchQuery]])]),e.options?.download?(l(),d("a",{key:0,target:"_self",class:"search-zip","aria-label":"Download repository as ZIP",title:"Download the repository (snapshot "+e.fmt?.date(e.options?.sourceCommitDate||e.options?.anonymizedAt||e.options?.lastUpdateDate)+") as ZIP",href:e.safeUrl("/api/repo/"+e.repoId+"/zip")},[...t[28]||(t[28]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-download"})],-1),n("span",{class:"search-zip-label","aria-hidden":"true"},"ZIP",-1)])],8,Z$)):f("v-if",!0)]),n("div",x$,[e.options?.truncatedFolders?.length>0?(l(),d("div",eL,[t[29]||(t[29]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-warning"})],-1)),v(" "+c(e.fmt?.translate("WARNINGS.repo_truncated")),1)])):f("v-if",!0),e.options?.hasSubmodules?(l(),d("div",tL,[t[30]||(t[30]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-warning"})],-1)),v(" "+c(e.fmt?.translate("WARNINGS.submodules_not_included")),1)])):f("v-if",!0),_e(o,{class:"files",file:e.files,"search-query":e.fileSearchQuery,"search-results":e.fileSearchResults,page:e.viewState},null,8,["file","search-query","search-results","page"])])],2),[[ee,e.files?.length]]),O(n("div",{class:"leftCol-resizer",role:"separator","aria-orientation":"vertical","aria-label":"Resize file tree",title:"Drag to resize",onPointerdown:t[7]||(t[7]=r=>e.startSidebarResize(r))},null,544),[[ee,e.files?.length&&!e.sidebarHidden]]),O(n("div",{class:"leftCol-backdrop",onClick:t[8]||(t[8]=r=>e.sidebarCollapsed=!0)},null,512),[[ee,e.files?.length&&!e.sidebarCollapsed]]),n("div",nL,[O(n("div",{class:T(["status-bar",{"is-redundant":["code","text","html"].includes(e.type)&&e.content!=null||e.fileFrame()}])},[O(n("button",{type:"button",class:"btn btn-sm status-files-btn","aria-label":"Show files",title:"Show files",onClick:t[9]||(t[9]=r=>e.sidebarHidden?e.sidebarHidden=!1:e.sidebarCollapsed=!1)},[...t[31]||(t[31]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-folder"})],-1),n("span",null,"Files",-1)])],512),[[ee,e.files?.length]]),n("ol",oL,[n("li",sL,[n("a",{href:e.safeUrl("/r/"+e.repoId+"/"),title:e.repoId,textContent:c(/^[0-9a-f]{8}-[0-9a-f]{4}-/i.test(e.repoId||"")?"repository":e.repoId)},null,8,iL)]),(l(!0),d(L,null,ie(e.paths,(r,a)=>(l(),d("li",{class:"breadcrumb-item","aria-current":a===e.paths.length-1?"page":null,textContent:c(r)},null,8,rL))),256))]),O(n("button",{type:"button",class:"btn btn-sm btn-icon-only btn-ghost copy-path-btn","aria-label":e.pathCopied?"Path copied":"Copy path",title:e.pathCopied?"Path copied":"Copy path",onClick:t[10]||(t[10]=r=>e.copyPath())},[(l(),d("svg",lL,[n("use",{href:e.pathCopied?"#ui-icon-check":"#project-icon-copy"},null,8,dL)]))],8,aL),[[ee,e.filePath]]),n("div",uL,[e.options?.isAdmin||e.options?.isOwner?(l(),d("a",{key:0,class:"btn btn-sm","aria-label":"Edit",href:e.safeUrl("/anonymize/"+e.repoId)},[...t[32]||(t[32]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-edit"})],-1),n("span",{class:"d-none d-md-inline"}," Edit",-1)])],8,cL)):f("v-if",!0),e.type=="html-doc"&&!e.showSource?(l(),d("button",{key:1,class:T(["btn btn-sm",{"btn-active":e.allowScripts}]),"aria-label":"Allow this document to run JavaScript",title:"Scripts in this file are blocked by default. Enable them only if you trust the repository \u2014 the document stays isolated from your session either way.",onClick:t[11]||(t[11]=r=>e.toggleAllowScripts())},[t[33]||(t[33]=n("i",{class:"fab fa-js"},null,-1)),n("span",pL,c(e.allowScripts?"JS on":"JS off"),1)],2)):f("v-if",!0),e.type=="html-doc"?(l(),d("button",{key:2,class:"btn btn-sm","aria-label":"Toggle between the rendered document and its source",title:"Toggle between the rendered document and its source",onClick:t[12]||(t[12]=r=>e.toggleSource())},[(l(),d("svg",fL,[n("use",{href:e.showSource?"#project-icon-eye":"#ui-icon-code"},null,8,hL)])),n("span",mL,c(e.showSource?"Rendered":"Source"),1)])):f("v-if",!0),e.options?.hasWebsite?(l(),d("a",{key:3,target:"_self",class:"btn btn-sm","aria-label":"Website",href:e.safeUrl("/w/"+e.repoId+"/")},[...t[34]||(t[34]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-globe"})],-1),n("span",{class:"d-none d-md-inline"}," Website",-1)])],8,gL)):f("v-if",!0)])],2),[[ee,e.type!="error"||e.files?.length]]),n("div",vL,[_e(i,{name:"partials/pageView.htm",state:e.viewState},null,8,["state"])])])],6)}var yL={class:"paper-faq"},bL={class:"paper-faq-body"},wL={class:"paper-faq-toc"},kL={class:"faq-search",role:"search"},CL={class:"faq-search-field"},EL={id:"faq-search-status",class:"faq-search-status","aria-live":"polite"},SL={key:0,class:"faq-search-empty"},NL={class:"faq-search-empty-actions"};function Qc(e,t){let o=Xe("partial-view"),i=Ae("paper-scrollspy");return l(),d(L,null,[n("div",yL,[t[12]||(t[12]=n("div",{class:"paper-faq-hero"},[n("div",{class:"paper-faq-eyebrow"},"Help"),n("h1",{class:"paper-faq-title"},[v("Mirrors, redaction, and "),n("em",null,"what reviewers see.")]),n("p",{class:"paper-faq-lede"}," How to set up an anonymous mirror, what it hides, and how long it stays online. ")],-1)),n("div",bL,[O((l(),d("aside",wL,[...t[5]||(t[5]=[Se('
    Contents
    ',2)])])),[[i]]),n("section",{class:T(["faq-section",{"faq-searching":!!e.faqQuery.trim()}]),"aria-label":"FAQs"},[n("div",kL,[t[7]||(t[7]=n("label",{for:"faq-search-input"},"Search questions",-1)),n("div",CL,[t[6]||(t[6]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-search"})],-1)),O(n("input",{id:"faq-search-input",type:"search",class:"form-control","onUpdate:modelValue":t[0]||(t[0]=s=>e.faqQuery=s),onInput:t[1]||(t[1]=s=>e.filterFaq()),onSearch:t[2]||(t[2]=s=>e.filterFaq()),onKeydown:t[3]||(t[3]=ut(s=>e.clearFaqSearch(),["esc"])),placeholder:"e.g. expiry, pull request, PDF",autocomplete:"off",spellcheck:"false","aria-describedby":"faq-search-status"},null,544),[[lt,e.faqQuery]])]),n("p",EL,[e.faqQuery.trim()&&e.faqResults?(l(),d(L,{key:0},[v(c(e.faqResults===1?"1 result":e.faqResults+" results"),1)],64)):f("v-if",!0)])]),e.faqQuery.trim()&&e.faqResults===0?(l(),d("div",SL,[n("strong",null,"No questions match \u201C"+c(e.faqQuery.trim())+"\u201D.",1),t[9]||(t[9]=n("p",null,"Try a shorter word, or ask us directly.",-1)),n("div",NL,[n("button",{type:"button",class:"btn btn-outline-ink btn-sm",onClick:t[4]||(t[4]=s=>e.clearFaqSearch())},"Clear search"),t[8]||(t[8]=n("a",{class:"btn btn-link btn-sm",target:"_blank",rel:"noopener",href:"https://github.com/tdurieux/anonymous_github/issues/new?template=issue_report.yml"},"Open an issue",-1))])])):f("v-if",!0),t[10]||(t[10]=n("div",{class:"faq-list"},[f(" General "),n("h4",{class:"faq-cat"},[n("svg",{class:"ui-icon mr-2","aria-hidden":"true"},[n("use",{href:"#ui-icon-info"})]),v("General ")]),n("div",{class:"panel-group",id:"faq-general",role:"tablist","aria-multiselectable":"true"},[n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingWhatIs"},[n("h3",{class:"panel-title"},[n("a",{role:"button","data-toggle":"collapse","data-parent":"#faq-general",href:"#whatIs","aria-expanded":"true","aria-controls":"whatIs"}," What is Anonymous GitHub? ")])]),n("div",{id:"whatIs",class:"panel-collapse collapse show",role:"tabpanel","aria-labelledby":"headingWhatIs"},[n("div",{class:"panel-body p-3"},[n("p",null," Anonymous GitHub is an open-source tool with free hosting and optional paid plans that anonymizes GitHub repositories and pull requests for double-anonymous (double-blind) peer review. It replaces identifying information, such as the repository owner, organization name, and custom terms, so that reviewers cannot determine the identity of the authors through the code repository. ")])])]),n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingHowWork"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-general",href:"#howWork","aria-expanded":"false","aria-controls":"howWork"}," How does Anonymous GitHub work? ")])]),n("div",{id:"howWork",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingHowWork"},[n("div",{class:"panel-body p-3"},[n("p",null," Anonymous GitHub either downloads the complete repository and anonymizes the content, or proxies requests to GitHub on the fly. In both cases, the original and anonymized versions of files are cached on the server. The system automatically detects and replaces the repository owner, organization name, and repository name. You can also specify additional custom terms to anonymize using one-per-line regex patterns. ")])])]),n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingScope"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-general",href:"#scope","aria-expanded":"false","aria-controls":"scope"}," What is the scope of anonymization? ")])]),n("div",{id:"scope",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingScope"},[n("div",{class:"panel-body p-3"},[n("p",null," In double-anonymous peer review, the boundary of anonymization is the paper plus its online appendix, not the entire internet. Searching for any part of the paper or the online appendix can be considered a deliberate attempt to break anonymity. Anonymous GitHub anonymizes the repository owner, organization, repository name, file and directory names, and file contents across all text-based file types. ")])])]),n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingCost"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-general",href:"#cost","aria-expanded":"false","aria-controls":"cost"}," How much does it cost? ")])]),n("div",{id:"cost",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingCost"},[n("div",{class:"panel-body p-3"},[n("p",null," A free account includes 5 owned repositories and 2 GiB of source files. Optional paid plans offer more capacity, automatic refresh, and, with an author subscription, never-expiring repositories. Reviewers can read shared repositories without an account or payment. "),n("p",null,[v(" See "),n("a",{href:"/profile#settings-billing"},"Plans and billing"),v(" for available plans and current prices. Offers depend on whether payments are enabled on this instance; the checkout shows the amount before you pay. Subscriptions help fund hosting, storage, backups, and continued maintenance. ")]),n("p",null,[v(" You can also support development through "),n("a",{href:"https://github.com/sponsors/tdurieux/",target:"_blank",rel:"noopener"},"GitHub Sponsors"),v(" or "),n("a",{href:"https://ko-fi.com/tdurieux",target:"_blank",rel:"noopener"},"Ko-fi"),v(". Donations are separate from subscriptions and do not automatically unlock paid features. ")])])])])]),f(" Plans and billing "),n("h4",{class:"faq-cat",id:"faq-plans-title"},"Plans and billing"),n("div",{class:"panel-group",id:"faq-plans",role:"tablist","aria-label":"Plans and billing","aria-multiselectable":"true"},[n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingWhyPaid"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-plans",href:"#whyPaid","aria-expanded":"false","aria-controls":"whyPaid"},"Why is Anonymous GitHub no longer completely free?")])]),n("div",{id:"whyPaid",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingWhyPaid"},[n("div",{class:"panel-body p-3"},[n("p",null,"Anonymous GitHub started as a small free service and was paid for out of pocket. Three things have changed since then:"),n("ul",null,[n("li",null,[n("strong",null,"Servers cost much more."),v(" Every hosted repository needs storage, bandwidth and backups, and these costs have risen sharply.")]),n("li",null,[n("strong",null,"Many more people use it."),v(" More users means more repositories to store and keep up to date, more support requests and more maintenance.")]),n("li",null,[n("strong",null,"AI has made security work heavier."),v(" AI-driven scrapers and automated abuse send far more traffic than before. Blocking them and keeping hosted content safe takes constant work.")])]),n("p",null,"The core service stays free: anonymizing a repository, sharing the link and reviewer access cost nothing, and reviewers never need an account. Most authors never need to pay. The paid options are small one-time payments for one repository, plus an optional subscription for heavy users. They are priced to cover running costs, not to make a profit."),n("p",null,[v("The source code remains open, so you can still "),n("a",{href:"#faq-hosting"},"host your own instance"),v(" for free.")])])])]),n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingFreePlan"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-plans",href:"#freePlan","aria-expanded":"false","aria-controls":"freePlan"},"What is included in a free account?")])]),n("div",{id:"freePlan",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingFreePlan"},[n("div",{class:"panel-body p-3"},[n("p",null,"The default free allowance is 5 repositories you own and 2 GiB of source files in total. Core anonymization and reviewer access remain free. You can manually refresh a repository within your allowance and choose a dated expiration up to 5 months ahead, then extend it again before it expires. Repositories submitted to a conference can stay online until the end of its review window."),n("p",null,"Repositories shared with you as a co-author do not use your own slots. Gists and pull requests are not included in these repository quotas. The usage shown in your account is the allowance available on this instance.")])])]),n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingAuthorPlans"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-plans",href:"#authorPlans","aria-expanded":"false","aria-controls":"authorPlans"},"What do monthly and annual author subscriptions include?")])]),n("div",{id:"authorPlans",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingAuthorPlans"},[n("div",{class:"panel-body p-3"},[n("p",null,[v("Both include 20 owned repositories and 10 GiB of source files in total. They also allow automatic refresh when enabled in repository settings and let the owner choose "),n("strong",null,"Never expire"),v(".")]),n("p",null,[v("Monthly and annual plans offer the same features with different billing periods. They renew automatically until you cancel renewal. Current prices are shown in "),n("a",{href:"/profile#settings-billing"},"Plans and billing"),v(".")]),n("p",null,"Paid plans do not change how anonymization works. File-size limits and other service safeguards still apply. Review your anonymized content before sharing it.")])])]),n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingReviewPass"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-plans",href:"#reviewPass","aria-expanded":"false","aria-controls":"reviewPass"},"Can I pay for one repository without subscribing?")])]),n("div",{id:"reviewPass",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingReviewPass"},[n("div",{class:"panel-body p-3"},[n("p",null,"Yes. These one-time add-ons apply to a single repository you own. None of them renews automatically:"),n("ul",null,[n("li",null,[n("strong",null,"Paper pack"),v(": an extra repository, automatic updates for 180 days and one more year before it expires, in a single payment. It covers what one paper usually needs during review.")]),n("li",null,[n("strong",null,"Extra repository"),v(": host one more repository once your free repositories are used up. It has its own 2 GiB allowance and does not count toward your free repositories. It lasts as long as the repository exists.")]),n("li",null,[n("strong",null,"Live updates"),v(": automatic refresh for 180 days, with a separate 2 GiB allowance.")]),n("li",null,[n("strong",null,"Extended expiration"),v(": choose an expiration date up to one year after purchase. Buying it again adds another year.")]),n("li",null,[n("strong",null,"Never expire"),v(": the repository has no expiration date. A full refund or a payment dispute ends it after a 90-day grace period.")])]),n("p",null,[v("When your free allowance is full, the Extra repository and Paper pack options are offered as you create the repository. You can also buy an add-on from the repository's edit page, or enter the anonymized ID of an existing repository in "),n("a",{href:"/profile#settings-billing"},"Plans and billing"),v(". Current prices are shown there.")])])])]),n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingConferencePlans"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-plans",href:"#conferencePlans","aria-expanded":"false","aria-controls":"conferencePlans"},"Can a conference or lab pay for a group?")])]),n("div",{id:"conferencePlans",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingConferencePlans"},[n("div",{class:"panel-body p-3"},[n("p",null,"A conference review package provides a shared allowance for a review window of up to 180 days, with automatic updates for every submission. It comes in three sizes: Workshop (25 repositories, 10 GiB), Conference (100 repositories, 50 GiB) and Large conference (400 repositories, 200 GiB). Choose the size when you create the conference; it cannot change afterwards. The organizer pays once and authors pay nothing (the price is shown when you create the conference); the package does not renew automatically. A lab organizing a review can use this shared package too."),n("p",null,"New conferences no longer have a free plan: every new conference is a review package. Conferences created earlier keep working as before. The conference must be activated by payment before authors can submit under its Conference ID. Eligible repositories use the conference allowance before an author's personal allowance, so authors do not each need a subscription for that capacity."),n("p",null,"The package has a fixed review window. Never expire still requires the repository owner's author subscription or a Never expire add-on for that repository.")])])]),n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingPaidCoauthors"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-plans",href:"#paidCoauthors","aria-expanded":"false","aria-controls":"paidCoauthors"},"Does every co-author need to pay?")])]),n("div",{id:"paidCoauthors",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingPaidCoauthors"},[n("div",{class:"panel-body p-3"},[n("p",null,"No. Co-authors can collaborate without buying a subscription. A shared repository uses its owner's allowance, unless a repository pass or paid conference covers it. It does not consume each co-author's personal allowance."),n("p",null,"A co-author's subscription does not increase the owner's allowance. If the owner's available capacity is exhausted, a co-author's refresh or edit may also be blocked. Reviewers never need a paid account.")])])]),n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingCapacity"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-plans",href:"#capacity","aria-expanded":"false","aria-controls":"capacity"},"What counts toward my allowance, and what happens at the limit?")])]),n("div",{id:"capacity",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingCapacity"},[n("div",{class:"panel-body p-3"},[n("p",null,"The repository limit counts work you own. Storage counts the source-file sizes reserved for those repositories, not just files a reviewer opens. Archived or failed repositories can still reserve capacity, and a refresh does not automatically reduce a previous storage reservation."),n("p",null,"At the repository limit you cannot add another repository to that allowance. An edit or refresh must also fit the available storage. Remove work you no longer need, add an Extra repository for the new one, choose a subscription, or use an eligible conference allowance."),n("p",null,"Removing a repository releases its reservation when capacity is next checked. Expired repositories may continue to reserve capacity until cleanup. Reaching a limit does not itself delete existing review links.")])])]),n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingNeverExpire"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-plans",href:"#neverExpire","aria-expanded":"false","aria-controls":"neverExpire"},"What happens to Never expire repositories if I stop subscribing?")])]),n("div",{id:"neverExpire",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingNeverExpire"},[n("div",{class:"panel-body p-3"},[n("p",null,[v("Never expire is available to monthly and annual author subscribers, or for one repository with the one-time Never expire add-on. If a subscription ends, these repositories remain available for a "),n("strong",null,"90-day grace period"),v(", then expire and their hosted content is removed.")]),n("p",null,"Renewing during the grace period keeps them active. After expiration, you must renew and explicitly reactivate the repository; restoring content also requires access to its GitHub source. A repository does not become public on GitHub when it expires."),n("p",null,"Existing never-expiring repositories created before this billing policy retain their settings. Never expire is not a guarantee of perpetual service availability.")])])]),n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingCancelPlan"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-plans",href:"#cancelPlan","aria-expanded":"false","aria-controls":"cancelPlan"},"How do I cancel, and what happens after paid access ends?")])]),n("div",{id:"cancelPlan",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingCancelPlan"},[n("div",{class:"panel-body p-3"},[n("p",null,[v("Open "),n("a",{href:"/profile#settings-billing"},"Plans and billing"),v(" and choose "),n("strong",null,"Manage billing and invoices"),v(" to manage renewal. Cancelling renewal keeps subscription benefits until the end of the paid period.")]),n("p",null,"After paid access ends, repositories fall back to another eligible allowance or the free allowance. Automatic refresh pauses on the free allowance; manual refresh remains available within its limits. Existing review links keep their configured expiration dates, except paid Never expire repositories, which follow the 90-day grace period described above."),n("p",null,"A repository pass or conference package ends after its paid window without automatic renewal.")])])]),n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingRefunds"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-plans",href:"#refunds","aria-expanded":"false","aria-controls":"refunds"},"Can I get a refund?")])]),n("div",{id:"refunds",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingRefunds"},[n("div",{class:"panel-body p-3"},[n("p",null,[v("Refunds are handled case by case. "),n("a",{href:"mailto:tdurieux@anonymous.4open.science"},"Email the maintainer"),v(" with the date of the payment and the repository it was for.")]),n("p",null,"A full refund ends what that payment bought. For a Paper pack, this means all three parts: the extra repository, automatic updates and the extended expiration. A Never expire repository then expires after a 90-day grace period. A partial refund keeps your access."),n("p",null,"To stop a subscription, cancel its renewal instead of asking for a refund. You keep access until the end of the period you paid for.")])])]),n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingPaymentHandling"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-plans",href:"#paymentHandling","aria-expanded":"false","aria-controls":"paymentHandling"},"How are payments handled?")])]),n("div",{id:"paymentHandling",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingPaymentHandling"},[n("div",{class:"panel-body p-3"},[n("p",null,[v("Stripe processes checkout and billing management. Anonymous GitHub does not store your card details. You can access billing management and invoices from "),n("a",{href:"/profile#settings-billing"},"Plans and billing"),v(".")]),n("p",null,[v("Paid access is activated after payment is confirmed. If checkout succeeds but your account has not updated, choose "),n("strong",null,"Refresh payment status"),v(" before trying another purchase. If paid plans are unavailable on this instance, no checkout is offered.")])])])])]),f(" Features "),n("h4",{class:"faq-cat"},[n("svg",{class:"ui-icon mr-2","aria-hidden":"true"},[n("use",{href:"#project-icon-filter"})]),v("Features ")]),n("div",{class:"panel-group",id:"faq-features",role:"tablist","aria-multiselectable":"true"},[n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingFormats"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-features",href:"#formats","aria-expanded":"false","aria-controls":"formats"}," Which file formats are supported? ")])]),n("div",{id:"formats",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingFormats"},[n("div",{class:"panel-body p-3"},[n("p",null," Anonymous GitHub can display and render a wide variety of file types: "),n("ul",null,[n("li",null,[n("strong",null,"Text and source code"),v(": displayed with syntax highlighting")]),n("li",null,[n("strong",null,"Markdown"),v(": rendered as formatted HTML")]),n("li",null,[n("strong",null,"Images"),v(" (PNG, JPG, SVG, etc.): displayed inline")]),n("li",null,[n("strong",null,"PDFs"),v(": rendered directly in the browser")]),n("li",null,[n("strong",null,"Jupyter Notebooks"),v(": rendered with code cells and outputs")])]),n("p",null," Only text-based files are anonymized. Anonymous GitHub analyzes the content of each file to determine whether it is textual or binary. ")])])]),n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingPR"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-features",href:"#pullRequests","aria-expanded":"false","aria-controls":"pullRequests"}," Can I anonymize pull requests? ")])]),n("div",{id:"pullRequests",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingPR"},[n("div",{class:"panel-body p-3"},[n("p",null," Yes. In addition to full repositories, Anonymous GitHub supports anonymizing individual pull requests. Simply paste the URL of a GitHub pull request when creating a new anonymized repository, and the system will automatically detect that it is a pull request and anonymize it accordingly. ")])])]),n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingConference"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-features",href:"#conference","aria-expanded":"false","aria-controls":"conference"}," What is the Conference ID feature? ")])]),n("div",{id:"conference",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingConference"},[n("div",{class:"panel-body p-3"},[n("p",null," When creating an anonymized repository, you can associate it with a Conference ID. This allows conferences to define default anonymization settings (such as expiration dates) that are automatically applied to repositories submitted under that conference. If your conference provides a Conference ID, enter it during the anonymization setup. ")])])]),n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingExpiration"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-features",href:"#expiration","aria-expanded":"false","aria-controls":"expiration"}," What happens when an anonymized repository expires? ")])]),n("div",{id:"expiration",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingExpiration"},[n("div",{class:"panel-body p-3"},[n("p",null," You can configure one of three expiration strategies when creating your anonymized repository: "),n("ul",null,[n("li",null,[n("strong",null,"Never expire"),v(": with a monthly or annual author subscription, no scheduled expiration while subscribed. A 90-day grace period applies after paid access ends. See "),n("a",{href:"#neverExpire"},"the subscription expiration policy"),v(".")]),n("li",null,[n("strong",null,"Redirect to GitHub"),v(": after expiration, visitors are redirected to the original GitHub repository.")]),n("li",null,[n("strong",null,"Remove content"),v(": after expiration, the anonymized content is deleted from the server.")])])])])]),n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingDownload"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-features",href:"#download","aria-expanded":"false","aria-controls":"download"}," Can I download an anonymized repository? ")])]),n("div",{id:"download",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingDownload"},[n("div",{class:"panel-body p-3"},[n("p",null," Yes. Anonymized repositories can be downloaded as a ZIP file. This is useful if reviewers want to build or test the code locally. The downloaded archive contains the fully anonymized version of the repository. ")])])]),n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingUpdates"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-features",href:"#updates","aria-expanded":"false","aria-controls":"updates"}," Are updates to the original repository reflected in the anonymized version? ")])]),n("div",{id:"updates",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingUpdates"},[n("div",{class:"panel-body p-3"},[n("p",null," You can refresh the anonymized repository from GitHub without creating a new share link. Free accounts can request a manual refresh within their allowance. Automatic refresh requires an eligible paid allowance and must be enabled in repository settings. It pauses when the repository falls back to the free allowance. "),n("p",null," After changing files or contributor names, review your anonymization terms before sharing the updated content. If GitHub access is revoked or the source is deleted, the service cannot fetch updates. ")])])]),n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingCLI"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-features",href:"#cli","aria-expanded":"false","aria-controls":"cli"}," Is there a command-line tool? ")])]),n("div",{id:"cli",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingCLI"},[n("div",{class:"panel-body p-3"},[n("p",null," Yes. Anonymous GitHub provides a CLI tool that lets you anonymize repositories locally, generating an anonymized ZIP file on your machine. Install it via npm: "),n("pre",{style:{"background-color":"var(--hover-bg-color)",padding:"12px","border-radius":"4px","margin-top":"8px",color:"var(--color)"}},[n("code",null,`npm install -g @tdurieux/anonymous_github +anonymous_github`)])])])])]),f(" Limitations "),n("h4",{class:"faq-cat"},[n("svg",{class:"ui-icon mr-2","aria-hidden":"true"},[n("use",{href:"#ui-icon-warning"})]),v("Limitations ")]),n("div",{class:"panel-group",id:"faq-limitations",role:"tablist","aria-multiselectable":"true"},[n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingLimitation"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-limitations",href:"#limitation","aria-expanded":"false","aria-controls":"limitation"}," What are the limitations of Anonymous GitHub? ")])]),n("div",{id:"limitation",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingLimitation"},[n("div",{class:"panel-body p-3"},[n("ul",null,[n("li",null," Anonymous GitHub only anonymizes text-based files. Binary files (compiled executables, archives, etc.) are served as-is without anonymization. "),n("li",null," Files larger than 8 MB are not supported. "),n("li",null," Static site generators (such as Jekyll) used with GitHub Pages are not fully supported, although Markdown files are converted to HTML. "),n("li",null," The anonymization of terms within source code may change the behavior of the program (e.g., if a replaced term appears in a string literal or identifier). ")])])])])]),f(" Privacy and security "),n("h4",{class:"faq-cat"},[n("svg",{class:"ui-icon mr-2","aria-hidden":"true"},[n("use",{href:"#ui-icon-shield"})]),v("Privacy and security ")]),n("div",{class:"panel-group",id:"faq-privacy",role:"tablist","aria-multiselectable":"true"},[n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingData"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-privacy",href:"#data","aria-expanded":"false","aria-controls":"data"}," How is my data handled? ")])]),n("div",{id:"data",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingData"},[n("div",{class:"panel-body p-3"},[n("p",null," Repository data is used to provide the anonymization service. If you purchase a plan, Stripe processes payment and billing information. When a repository is removed or expires, only its configuration is retained. This makes it easy to restore the repository if needed and ensures that no future repository reuses the same ID. ")])])]),n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingPermissions"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-privacy",href:"#permissions","aria-expanded":"false","aria-controls":"permissions"}," Why does GitHub say Anonymous GitHub asks for write access? ")])]),n("div",{id:"permissions",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingPermissions"},[n("div",{class:"panel-body p-3"},[n("p",null,[v("The GitHub App has read-only access to the repositories you choose. You can change repository access on your "),n("a",{href:"/connections"},"GitHub connections"),v(" page.")]),n("p",null,"Legacy GitHub OAuth includes write access to private repositories because GitHub's OAuth scopes do not offer a read-only option for them. Existing OAuth anonymizations and gists can still use this connection."),n("p",null,"Anonymous GitHub reads repository content. It never pushes, modifies, or deletes files on GitHub.")])])]),n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingViewer"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-privacy",href:"#viewer","aria-expanded":"false","aria-controls":"viewer"}," Can repository owners see who viewed their anonymized repository? ")])]),n("div",{id:"viewer",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingViewer"},[n("div",{class:"panel-body p-3"},[n("p",null," No. Only the total number of views is tracked as an incremental counter. It is not possible for the repository owner or for Anonymous GitHub to identify individual viewers. Reviewer anonymity is fully preserved. ")])])])]),f(" Self-hosting "),n("h4",{class:"faq-cat"},[n("svg",{class:"ui-icon mr-2","aria-hidden":"true"},[n("use",{href:"#project-icon-storage"})]),v("Self"),n("span",{class:"serif-hy"},"-"),v("hosting ")]),n("div",{class:"panel-group",id:"faq-hosting",role:"tablist","aria-multiselectable":"true"},[n("div",{class:"panel panel-default mb-3"},[n("div",{class:"panel-heading p-3",role:"tab",id:"headingDeploy"},[n("h3",{class:"panel-title"},[n("a",{class:"collapsed",role:"button","data-toggle":"collapse","data-parent":"#faq-hosting",href:"#deploy","aria-expanded":"false","aria-controls":"deploy"}," Can I deploy my own instance? ")])]),n("div",{id:"deploy",class:"panel-collapse collapse",role:"tabpanel","aria-labelledby":"headingDeploy"},[n("div",{class:"panel-body p-3"},[n("p",null,[v(" Yes. Anonymous GitHub is fully open source (GPL-3.0) and supports Docker-based deployment. Billing is optional and disabled by default for self-hosted instances; paid hosted plans are not required to run your own server. You will need to configure a GitHub OAuth app and provide a GitHub token. Detailed setup instructions are available on the "),n("a",{href:"https://github.com/tdurieux/anonymous_github/",target:"_blank"},"GitHub repository"),v(". ")]),n("p",null," The basic steps are: "),n("ol",null,[n("li",null,"Clone the repository and install dependencies"),n("li",null,[v("Create a "),n("code",null,".env"),v(" file with your GitHub token, OAuth client ID, and client secret")]),n("li",null,[v("Run "),n("code",null,"docker-compose up -d")])])])])])])],-1))],2),t[11]||(t[11]=n("aside",{class:"paper-faq-help","aria-label":"More help"},[n("div",{class:"paper-faq-help-card"},[n("strong",null,"Still stuck?"),n("p",null,"Open an issue on GitHub about the service. For a paper's content, contact the conference instead."),n("a",{class:"btn btn-outline-ink btn-sm",target:"_blank",rel:"noopener",href:"https://github.com/tdurieux/anonymous_github/issues/new?template=issue_report.yml"},"Open an issue")])],-1))])]),_e(o,{name:"partials/footer.htm",state:e.viewState},null,8,["state"])],64)}var RL={class:"pr-page"},DL={class:"container paper-page pr-page-inner"},AL={class:"pr-header"},TL={class:"pr-title-row"},PL={class:"paper-page-title pr-title"},OL=["textContent"],IL={key:1,class:"text-muted"},ML=["href"],_L={class:"pr-header-meta"},VL={key:0,class:"pr-meta-item"},qL=["textContent"],$L={key:1,class:"pr-meta-item"},LL=["textContent"],UL={key:2,class:"pr-meta-item"},FL=["textContent"],BL={key:0,class:"paper-tabs",role:"tablist"},zL=["aria-selected","tabindex"],HL=["textContent"],jL=["aria-selected","tabindex"],GL=["textContent"],WL={class:"paper-tab-content"},KL={key:0,role:"tabpanel",id:"gist-files-panel","aria-labelledby":"gist-files-tab"},YL={class:"pr-comments"},XL={class:"pr-comment"},QL={class:"pr-comment-head"},JL=["textContent"],ZL={key:0,class:"pr-comment-date"},xL={key:0,class:"paper-table-empty"},eU={key:1,role:"tabpanel",id:"gist-comments-panel","aria-labelledby":"gist-comments-tab"},tU={class:"pr-comments"},nU={class:"pr-comment"},oU={class:"pr-comment-head"},sU={key:0,class:"pr-comment-author"},iU=["textContent"],rU=["textContent"],aU={key:0,class:"pr-comment-body"},lU={key:0,class:"paper-table-empty"};function Jc(e,t){let o=Xe("gist-file"),i=Xe("markdown");return l(),d("div",RL,[n("div",DL,[t[17]||(t[17]=n("div",{class:"paper-crumbs"},[n("a",{href:"/dashboard"},"Reviewer"),v(" \xA0/\xA0 "),n("span",{class:"here"},"Gist")],-1)),n("header",AL,[n("div",TL,[n("h1",PL,[e.details?.description?(l(),d("span",{key:0,textContent:c(e.details?.description)},null,8,OL)):f("v-if",!0),e.details?.description?f("v-if",!0):(l(),d("span",IL,"Untitled gist"))]),e.options?.isAdmin||e.options?.isOwner?(l(),d("a",{key:0,class:"btn btn-sm","aria-label":"Edit",href:e.safeUrl("/gist-anonymize/"+e.gistId)},[...t[4]||(t[4]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-edit"})],-1),n("span",{class:"d-none d-md-inline"}," Edit",-1)])],8,ML)):f("v-if",!0)]),n("div",_L,[n("span",{class:T(["paper-pill",{good:e.details?.isPublic,warn:!e.details?.isPublic}])},c(e.details?.isPublic?"Public":"Secret"),3),e.details?.ownerLogin?(l(),d("span",VL,[t[5]||(t[5]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-user"})],-1)),t[6]||(t[6]=v(" @",-1)),n("span",{textContent:c(e.details?.ownerLogin)},null,8,qL)])):f("v-if",!0),e.details?.updatedDate?(l(),d("span",$L,[t[7]||(t[7]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-clock"})],-1)),t[8]||(t[8]=v()),n("span",{textContent:c(e.fmt?.date(e.details?.updatedDate))},null,8,LL)])):f("v-if",!0),e.details?.anonymizeDate?(l(),d("span",UL,[t[9]||(t[9]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-shield"})],-1)),t[10]||(t[10]=v(" Anonymized ",-1)),n("span",{textContent:c(e.fmt?.date(e.details?.anonymizeDate))},null,8,FL)])):f("v-if",!0)])]),e.details?.files&&e.details?.files?.length||e.details?.comments&&e.details?.comments?.length?(l(),d("nav",BL,[e.details?.files?(l(),d("button",{key:0,class:T(["paper-tab",{active:e.tabState?.active=="files"}]),type:"button",role:"tab",id:"gist-files-tab","aria-selected":e.tabState?.active==="files","aria-controls":"gist-files-panel",tabindex:e.tabState?.active==="files"?0:-1,onKeydown:t[0]||(t[0]=s=>e.previewTabKeydown(s)),onClick:t[1]||(t[1]=s=>e.tabState.active="files")},[t[11]||(t[11]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-type-gist"})],-1)),n("span",{textContent:c(e.fmt.plural(e.details?.files?.length,{0:"No files",one:"1 file",other:"{} files"}))},null,8,HL)],42,zL)):f("v-if",!0),e.details?.comments?(l(),d("button",{key:1,class:T(["paper-tab",{active:e.tabState?.active=="comments"}]),type:"button",role:"tab",id:"gist-comments-tab","aria-selected":e.tabState?.active==="comments","aria-controls":"gist-comments-panel",tabindex:e.tabState?.active==="comments"?0:-1,onKeydown:t[2]||(t[2]=s=>e.previewTabKeydown(s)),onClick:t[3]||(t[3]=s=>e.tabState.active="comments")},[t[12]||(t[12]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-comment"})],-1)),n("span",{textContent:c(e.fmt.plural(e.details?.comments?.length,{0:"No comments",one:"1 comment",other:"{} comments"}))},null,8,GL)],42,jL)):f("v-if",!0)])):f("v-if",!0),n("div",WL,[e.details?.files&&e.tabState?.active=="files"?(l(),d("div",KL,[n("ul",YL,[(l(!0),d(L,null,ie(e.details?.files,(s,r)=>(l(),d("li",XL,[n("div",QL,[n("strong",{textContent:c(s?.filename)},null,8,JL),s?.language?(l(),d("span",ZL,c(s?.language),1)):f("v-if",!0)]),_e(o,{file:s},null,8,["file"])]))),256)),e.details?.files?.length?f("v-if",!0):(l(),d("li",xL,[...t[13]||(t[13]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-file"})],-1),n("span",null,"No files in this gist.",-1)])]))])])):f("v-if",!0),e.details?.comments&&e.tabState?.active=="comments"?(l(),d("div",eU,[n("ul",tU,[(l(!0),d(L,null,ie(e.details?.comments,(s,r)=>(l(),d("li",nU,[n("div",oU,[s?.author?(l(),d("span",sU,[t[14]||(t[14]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-user"})],-1)),t[15]||(t[15]=v(" @",-1)),n("span",{textContent:c(s?.author)},null,8,iU)])):f("v-if",!0),s?.updatedDate?(l(),d("span",{key:1,class:"pr-comment-date",textContent:c(e.fmt?.date(s?.updatedDate))},null,8,rU)):f("v-if",!0)]),s?.body?(l(),d("div",aU,[_e(i,{content:s?.body},null,8,["content"])])):f("v-if",!0)]))),256)),e.details?.comments?.length?f("v-if",!0):(l(),d("li",lU,[...t[16]||(t[16]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-comment"})],-1),n("span",null,"No comments on this gist.",-1)])]))])])):f("v-if",!0)])])])}var dU={key:0,class:"nav-support",href:"https://ko-fi.com/tdurieux",target:"_blank",rel:"noopener",title:"Donate on Ko-fi to help cover hosting costs","aria-label":"Donate on Ko-fi to help cover hosting costs"},uU={key:1,class:"nav-heart-m",href:"https://ko-fi.com/tdurieux",target:"_blank",rel:"noopener","aria-label":"Support Anonymous GitHub",title:"Support Anonymous GitHub"},cU=["aria-label","title"],pU={class:"ui-icon","aria-hidden":"true"},fU=["href"],hU={key:3,class:"nav-signin-m",href:"/signin",target:"_self","aria-label":"Sign in with GitHub"},mU={class:"collapse navbar-collapse",id:"navbarSupportedContent"},gU={class:"navbar-nav mr-auto smooth-scroll"},vU={key:0,class:"nav-item nav-home-item"},yU={key:1,class:"nav-item"},bU={key:2,class:"nav-item"},wU={key:3,class:"nav-item"},kU={class:"nav-item"},CU={key:4,class:"nav-item"},EU={class:"navbar-nav"},SU={key:0,class:"nav-item d-lg-none"},NU={key:1,class:"nav-item"},RU={key:2,class:"nav-item"},DU={key:3,class:"nav-item nav-signin-item"},AU={key:4,class:"nav-item"},TU={key:5,class:"nav-item dropdown user-chip-wrap"},PU={class:"nav-link user-chip dropdown-toggle",href:"#",id:"navbarDropdownMenuLink",role:"button","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},OU=["src"],IU={class:"user-chip-name"},MU={class:"dropdown-menu dropdown-menu-right user-menu","aria-labelledby":"navbarDropdownMenuLink"},_U={class:"dropdown-header"},VU={key:0,class:"dropdown-item um-extra",href:"https://ko-fi.com/tdurieux",target:"_blank",rel:"noopener"},qU=["innerHTML"],$U=["disabled"],LU={key:0,class:"paper-inline-alert paper-inline-alert-error",role:"alert"},UU={class:"email-prompt-actions"},FU=["disabled"],BU=["disabled"],zU=["disabled"];function Zc(e,t){return l(),d(L,null,[n("nav",{class:T(["navbar navbar-expand-lg",{"navbar-dark":e.isDarkMode}])},[t[28]||(t[28]=n("a",{class:"navbar-brand",href:"/"},[v("Anonymous "),n("em",null,"GitHub")],-1)),e.headerShowSupport?(l(),d("a",dU,[...t[9]||(t[9]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-heart"})],-1),n("span",{class:"nav-support-label"},"Support",-1)])])):f("v-if",!0),/^\/(r|w|pr|gist)\//.test(e.path||"")?f("v-if",!0):(l(),d("a",uU,[...t[10]||(t[10]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-heart"})],-1)])])),/^\/(r|w|pr|gist)\//.test(e.path||"")?f("v-if",!0):(l(),d("button",{key:2,type:"button",class:"nav-theme-m","aria-label":e.isDarkMode?"Switch to light mode":"Switch to dark mode",title:e.isDarkMode?"Switch to light mode":"Switch to dark mode",onClick:t[0]||(t[0]=o=>e.darkMode(!e.isDarkMode))},[(l(),d("svg",pU,[n("use",{href:e.isDarkMode?"#ui-icon-sun":"#ui-icon-moon"},null,8,fU)]))],8,cU)),!e.user&&!/^\/(r|w|pr|gist)\//.test(e.path||"")?(l(),d("a",hU,[...t[11]||(t[11]=[n("i",{class:"fab fa-github","aria-hidden":"true"},null,-1),v("Sign in",-1)])])):f("v-if",!0),t[29]||(t[29]=n("button",{class:"navbar-toggler",type:"button","data-toggle":"collapse","data-target":"#navbarSupportedContent","aria-controls":"navbarSupportedContent","aria-expanded":"false","aria-label":"Toggle navigation"},[n("span",{class:"navbar-toggler-icon"})],-1)),n("div",mU,[n("ul",gU,[e.user?f("v-if",!0):(l(),d("li",vU,[n("a",{class:T(["nav-link",{active:e.path=="/"}]),href:"/"},[...t[12]||(t[12]=[n("svg",{class:"ui-icon d-lg-none mr-1","aria-hidden":"true"},[n("use",{href:"#ui-icon-home"})],-1),v(" Home ",-1)])],2)])),e.user?(l(),d("li",yU,[n("a",{class:T(["nav-link",{active:e.path=="/dashboard"}]),href:"/dashboard"},[...t[13]||(t[13]=[n("svg",{class:"ui-icon d-lg-none mr-1","aria-hidden":"true"},[n("use",{href:"#ui-icon-grid"})],-1),v(" My work ",-1)])],2)])):f("v-if",!0),e.user?(l(),d("li",bU,[n("a",{class:T(["nav-link",{active:e.path=="/anonymize"||e.path=="/pull-request-anonymize"}]),href:"/anonymize"},[...t[14]||(t[14]=[n("svg",{class:"ui-icon d-lg-none mr-1","aria-hidden":"true"},[n("use",{href:"#ui-icon-shield"})],-1),v(" Anonymize ",-1)])],2)])):f("v-if",!0),e.user?(l(),d("li",wU,[n("a",{class:T(["nav-link",{active:e.path=="/conferences"||e.path?.startsWith("/conference/")}]),href:"/conferences"},[...t[15]||(t[15]=[n("svg",{class:"ui-icon d-lg-none mr-1","aria-hidden":"true"},[n("use",{href:"#project-icon-conference"})],-1),v(" Conferences ",-1)])],2)])):f("v-if",!0),n("li",kU,[n("a",{class:T(["nav-link",{active:e.path=="/faq"}]),href:"/faq"},[...t[16]||(t[16]=[n("svg",{class:"ui-icon d-lg-none mr-1","aria-hidden":"true"},[n("use",{href:"#ui-icon-help"})],-1),v("FAQ",-1)])],2)]),e.user&&e.user?.isAdmin?(l(),d("li",CU,[n("a",{class:T(["nav-link",{active:e.path?.indexOf("/admin")===0}]),href:"/admin/"},[...t[17]||(t[17]=[n("svg",{class:"ui-icon d-lg-none mr-1","aria-hidden":"true"},[n("use",{href:"#ui-icon-user-shield"})],-1),v(" Admin ",-1)])],2)])):f("v-if",!0)]),n("ul",EU,[e.user||!e.isReviewerRoute?(l(),d("li",SU,[...t[18]||(t[18]=[n("a",{class:"nav-link nav-icon",target:"_blank",href:"https://github.com/tdurieux/anonymous_github/",title:"Anonymous GitHub source code","aria-label":"Anonymous GitHub source code on GitHub",rel:"noopener","data-offset":"30"},[n("i",{class:"fab fa-github","aria-hidden":"true"})],-1)])])):f("v-if",!0),f(` "Report a bug" is about this service. Reviewers who land on an anonymized repository often think it is about the paper, so the - label names the service and the tooltip says who to contact. `),n("li",{class:T(["nav-item nav-extra-item d-none d-lg-block",{"in-user-menu":!!e.user?.username}])},[...t[19]||(t[19]=[n("a",{class:"nav-link",target:"_blank",rel:"noopener",href:"https://github.com/tdurieux/anonymous_github/issues/new?template=issue_report.yml",title:"Report a problem with the Anonymous GitHub service. Questions about an anonymized repository or paper go to its authors.","data-offset":"30"},[n("svg",{class:"ui-icon d-lg-none mr-1","aria-hidden":"true"},[n("use",{href:"#ui-icon-bug"})]),v("Report a bug ")],-1)])],2),n("li",{class:T(["nav-item nav-support-item nav-extra-item d-none d-lg-block",{"in-user-menu":!!e.user?.username}])},[...t[20]||(t[20]=[n("a",{class:"nav-link nav-support-inline",href:"https://ko-fi.com/tdurieux",target:"_blank",rel:"noopener",title:"Donate on Ko-fi to help cover hosting costs"},[n("svg",{class:"ui-icon nav-heart","aria-hidden":"true"},[n("use",{href:"#ui-icon-heart"})]),v("Support ")],-1)])],2),e.isDarkMode?f("v-if",!0):(l(),d("li",RU,[n("button",{type:"button",class:"nav-link nav-icon",title:"Switch to dark mode","aria-label":"Switch to dark mode",onClick:t[1]||(t[1]=o=>{e.darkMode(!0)})},[...t[21]||(t[21]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-moon"})],-1)])])])),e.isDarkMode?(l(),d("li",DU,[n("button",{type:"button",class:"nav-link nav-icon",title:"Switch to light mode","aria-label":"Switch to light mode",onClick:t[2]||(t[2]=o=>{e.darkMode(!1)})},[...t[22]||(t[22]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-sun"})],-1)])])])):f("v-if",!0),!e.user&&!e.isReviewerRoute?(l(),d("li",AU,[...t[23]||(t[23]=[n("a",{class:"nav-link btn-signin",target:"_self",href:"/signin","data-offset":"30"},[n("i",{class:"fab fa-github mr-1"}),v(" Sign in ")],-1)])])):f("v-if",!0),e.user?.username&&e.headerCanUpgrade&&!e.headerBillingPending?(l(),d("li",TU,[n("a",{class:"nav-link nav-upgrade",href:"/profile?upgrade=1",onClick:t[3]||(t[3]=ue(o=>e.openHeaderUpgrade(),["prevent"]))},"Upgrade")])):f("v-if",!0),e.user?(l(),d("li",PU,[n("a",OU,[e.user?.photo?(l(),d("img",{key:0,width:"22",height:"22",class:"rounded-circle",src:e.safeUrl(e.user?.photo)},null,8,IU)):f("v-if",!0),n("span",MU,c(e.user?.username),1)]),n("div",_U,[n("h6",VU,"Signed in as @"+c(e.user?.username),1),t[25]||(t[25]=Ee('SettingsDefaults, quotas, accountGitHub connectionsRepository access and OAuthClaim an anonymizationAttach an existing mirror to your accountReport a bugAbout this service, not a paperSource code',6)),e.headerShowSupport?(l(),d("a",qU,[...t[24]||(t[24]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-heart"})],-1),n("span",null,"Support the project",-1)])])):f("v-if",!0),t[26]||(t[26]=n("div",{class:"dropdown-divider"},null,-1)),t[27]||(t[27]=n("a",{class:"dropdown-item",href:"/api/user/logout",target:"_self"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-logout"})]),n("span",null,"Sign out")],-1))])])):f("v-if",!0)])])],2),e.generalMessage?(l(),d("div",{key:0,class:"navbar shadow generalMessage",innerHTML:e.sanitize(e.generalMessage)},null,8,$U)):f("v-if",!0),e.emailPromptOpen?(l(),d("dialog",{key:1,id:"email-prompt",class:"email-prompt","aria-labelledby":"email-prompt-title","aria-describedby":"email-prompt-reason",onCancel:t[8]||(t[8]=ue(o=>e.respondToEmailPrompt("later"),["prevent"]))},[n("form",{onSubmit:t[7]||(t[7]=ue(o=>e.respondToEmailPrompt("save"),["prevent"]))},[t[30]||(t[30]=n("h2",{id:"email-prompt-title"},"Stay informed about access problems",-1)),t[31]||(t[31]=n("p",{id:"email-prompt-reason"},"Get email alerts when your GitHub token or repository access fails.",-1)),t[32]||(t[32]=n("label",{for:"email-prompt-address"},"Email address",-1)),P(n("input",{id:"email-prompt-address",class:"form-control",type:"email",autocomplete:"email",maxlength:"254",required:"","onUpdate:modelValue":t[4]||(t[4]=o=>e.emailPromptAddress=o),disabled:e.emailPromptBusy},null,8,LU),[[ut,e.emailPromptAddress]]),e.emailPromptError?(l(),d("p",UU,c(e.emailPromptError),1)):f("v-if",!0),n("div",FU,[n("button",{type:"button",class:"btn btn-outline-ink",disabled:e.emailPromptBusy,onClick:t[5]||(t[5]=o=>e.respondToEmailPrompt("later"))},"Remind me later",8,BU),n("button",{type:"button",class:"btn btn-outline-ink",disabled:e.emailPromptBusy,onClick:t[6]||(t[6]=o=>e.respondToEmailPrompt("never"))},"Never",8,zU),n("button",{type:"submit",class:"btn btn-ink",disabled:e.emailPromptBusy},c(e.emailPromptBusy?"Saving\u2026":"Save"),9,HU)])],32)],32)):f("v-if",!0)],64)}var jU={class:"paper-landing"},GU={class:"paper-hero"},WU={class:"paper-hero-copy"},KU={class:"paper-cta-row"},YU={key:0,href:"/signin",target:"_self",class:"btn-hero"},XU={key:1,href:"/anonymize",class:"btn-hero"},QU={class:"paper-stats-meta"},JU={key:0,class:"paper-stats-meta-left"},ZU={key:0,class:"paper-stats-grid"},xU={class:"paper-stat-label"},eF={key:0,class:"paper-stat-delta"},tF={class:"demo paper-wrap","aria-label":"Try redaction"},nF={class:"demo-terms"},oF={class:"demo-panes"},sF={class:"pane"},iF={class:"demo-input-wrap"},rF={class:"pane-body demo-backdrop","aria-hidden":"true"},aF={key:0,class:"demo-match"},lF={class:"pane pane-after"},dF={class:"pane-header"},uF={class:"pane-url"},cF={class:"meta-redact"},pF={class:"pane-body demo-output","aria-live":"polite"},fF=["title"],hF={class:"paper-features paper-wrap","aria-label":"Product features"},mF={class:"paper-features-list",role:"tablist","aria-label":"Features","aria-orientation":"vertical"},gF=["onClick","onKeydown","id","aria-controls","aria-selected","tabindex"],vF={class:"paper-eyebrow"},yF={class:"pf-num"},bF={class:"pf-name"},wF={class:"paper-feature-title"},kF={key:0,class:"serif-hy"},CF={class:"paper-feature-more"},EF={class:"paper-feature-title paper-feature-title-m","aria-hidden":"true"},SF={key:0,class:"serif-hy"},NF=["href","target"],RF={class:"paper-features-stage"},DF=["id","aria-labelledby"],AF={class:"paper-frame"},TF={class:"paper-frame-bar","aria-hidden":"true"},PF={class:"url"},OF=["aria-label"],IF={key:0,class:"fm-form"},MF={key:1,class:"fm-viewer"},_F={key:2,class:"fm-dash"};function ep(e,t){let o=Xe("partial-view");return l(),d("div",jU,[f(" Hero: copy on the left, the product on the right "),n("section",GU,[n("div",WU,[t[5]||(t[5]=n("div",{class:"paper-eyebrow"},"For double-anonymous peer review",-1)),t[6]||(t[6]=n("h1",{class:"hero-title"},[v(" Share the code,"),n("br"),n("span",{class:"accent"},"not the author.")],-1)),t[7]||(t[7]=n("p",{class:"hero-subtitle"}," Anonymous GitHub makes a read-only mirror of your repository, pull request, or gist. It redacts the terms you choose in text files, so reviewers can browse your artifact through an anonymous link. ",-1)),n("div",KU,[e.user?f("v-if",!0):(l(),d("a",YU,[...t[3]||(t[3]=[n("i",{class:"fab fa-github mr-2","aria-hidden":"true"},null,-1),v("Sign in with GitHub ",-1)])])),e.user?(l(),d("a",XU," Anonymize a repository \u2192 ")):f("v-if",!0),t[4]||(t[4]=n("a",{class:"paper-link-arrow",target:"_self",href:"https://anonymous.4open.science/r/840c8c57-3c32-451e-bf12-0e20be300389/"},"See an anonymized repository \u2192",-1))]),t[8]||(t[8]=n("ul",{class:"paper-reassure"},[n("li",null,"Free, open source"),n("li",null,"Read-only access"),n("li",null,"Set an expiry date")],-1)),t[9]||(t[9]=n("p",{class:"paper-proof-mobile"},"Used by authors at ICSE \xB7 FSE \xB7 OOPSLA",-1))]),t[10]||(t[10]=n("div",{class:"paper-hero-shot"},[n("div",{class:"paper-frame"},[n("div",{class:"paper-frame-bar","aria-hidden":"true"},[n("span",{class:"dots"},[n("i"),n("i"),n("i")]),n("span",{class:"url"},"anonymous.4open.science/r/paper-7f2a")]),n("div",{class:"hero-mock",role:"img","aria-label":"A reviewer browsing an anonymized repository: the author, affiliation, and email in the README are replaced by anonymous terms"},[n("div",{class:"hero-mock-tree","aria-hidden":"true"},[n("div",{class:"hero-mock-tree-title"},"Files"),n("div",{class:"hero-mock-row is-folder"},[n("svg",{viewBox:"0 0 16 16"},[n("path",{d:"M1.5 3.5h4l1.5 1.5h7.5v8h-13z"})]),v("data")]),n("div",{class:"hero-mock-row is-folder"},[n("svg",{viewBox:"0 0 16 16"},[n("path",{d:"M1.5 3.5h4l1.5 1.5h7.5v8h-13z"})]),v("experiments")]),n("div",{class:"hero-mock-row is-folder"},[n("svg",{viewBox:"0 0 16 16"},[n("path",{d:"M1.5 3.5h4l1.5 1.5h7.5v8h-13z"})]),v("src")]),n("div",{class:"hero-mock-row"},[n("svg",{viewBox:"0 0 16 16"},[n("path",{d:"M3.5 1.5h6l3 3v10h-9z"})]),v("LICENSE")]),n("div",{class:"hero-mock-row is-active"},[n("svg",{viewBox:"0 0 16 16"},[n("path",{d:"M3.5 1.5h6l3 3v10h-9z"})]),v("README.md")]),n("div",{class:"hero-mock-row"},[n("svg",{viewBox:"0 0 16 16"},[n("path",{d:"M3.5 1.5h6l3 3v10h-9z"})]),v("requirements.txt")])]),n("div",{class:"hero-mock-doc","aria-hidden":"true"},[n("div",{class:"hero-mock-doc-bar"},[n("strong",null,"README.md"),n("span",{class:"hero-mock-count"},"3 redacted")]),n("div",{class:"hero-mock-doc-body"},[n("div",{class:"hero-mock-h1"},"DeepLearnUtils"),n("p",null,[v("Developed by "),n("span",{class:"redact",role:"img","aria-label":"Redacted term 1"},[n("i",null,"1")]),v(" at "),n("span",{class:"redact",role:"img","aria-label":"Redacted term 2"},[n("i",null,"2")]),v(".")]),n("p",{class:"hm-opt"},"Utilities for reproducing the paper\u2019s experiments."),n("div",{class:"hero-mock-h2 hm-opt"},"Quick start"),n("pre",{class:"hm-opt"},`pip install -r requirements.txt -python experiments/run.py`),n("p",null,[v("Contact: "),n("span",{class:"redact",role:"img","aria-label":"Redacted term 3"},[n("i",null,"3")])])])])])])],-1))]),f(" Live stats "),n("section",{class:T(["paper-stats paper-wrap",{"is-empty":e.statsEmpty()}]),id:"metrics","aria-label":"Usage over the last 60 days"},[n("div",QU,[e.statsEmpty()?f("v-if",!0):(l(),d("div",JU,[...t[11]||(t[11]=[n("span",{class:"paper-stats-dot","aria-hidden":"true"},null,-1),v(),n("span",null,[v("Live \xB7 last 60 days"),n("span",{class:"paper-stats-daily"}," \xB7 updated daily")],-1)])])),t[12]||(t[12]=n("div",{class:"paper-stats-meta-right"},"Used by authors at ICSE \xB7 FSE \xB7 OOPSLA",-1))]),e.statsEmpty()?f("v-if",!0):(l(),d("div",ZU,[(l(!0),d(L,null,se(e.cards,(i,s)=>(l(),d("div",{class:"paper-stat-card",key:i?.key},[n("div",{class:T(["paper-stat-value",{"is-pending":!e.stat}])},c(e.stat?e.fmt?.bigNum(i?.total):"\u2014"),3),n("div",xU,c(i?.label),1),e.history[i?.key].bars?.length>1&&e.history[i?.key].deltaToday>0?(l(),d("div",eF," +"+c(e.fmt?.number(e.history[i?.key].deltaToday))+" today ",1)):f("v-if",!0)]))),128))]))],2),f(" Before / after "),t[22]||(t[22]=n("section",{class:"paper-section-head paper-wrap"},[n("div",null,[n("div",{class:"paper-eyebrow"},"Try it"),n("h2",null,[v("The same repository, "),n("em",null,"minus you.")])]),n("p",null," Names, affiliations, emails, and any term you list are replaced across the README, source files, notebooks, and PDF links. Reviewers browse the real thing, not a zip. ")],-1)),n("div",tF,[n("div",nF,[t[13]||(t[13]=n("label",{for:"demo-terms"},[v("Terms to redact "),n("span",null,[v("comma-separated"),n("span",{class:"dt-try"},", try adding your own")])],-1)),P(n("textarea",{id:"demo-terms",class:"demo-terms-input",rows:"1","onUpdate:modelValue":t[0]||(t[0]=i=>e.demoTerms=i),spellcheck:"false",autocomplete:"off",onKeydown:t[1]||(t[1]=pt(ue(()=>{},["prevent"]),["enter"]))},null,544),[[ut,e.demoTerms]])]),n("div",oF,[n("div",sF,[t[15]||(t[15]=n("div",{class:"pane-header"},[n("span",{class:"pane-label"},[v("Your repository "),n("span",{class:"pane-edit-hint"},"\xB7 editable")]),n("span",{class:"pane-url"},"github.com/jane-smith/DeepLearnUtils")],-1)),n("div",iF,[n("div",rF,[(l(!0),d(L,null,se(e.demoParts(),(i,s)=>(l(),d(L,{key:s},[i.redacted?(l(),d("mark",aF,c(i.original),1)):(l(),d(L,{key:1},[v(c(i.text),1)],64))],64))),128)),t[14]||(t[14]=v("\u200B",-1))]),P(n("textarea",{class:"pane-body demo-input","onUpdate:modelValue":t[2]||(t[2]=i=>e.demoText=i),spellcheck:"false","aria-label":"Sample README to anonymize"},null,512),[[ut,e.demoText]])])]),n("div",lF,[n("div",dF,[t[16]||(t[16]=n("span",{class:"pane-label"},"What reviewers see",-1)),n("span",uF,[n("span",cF,c(e.demoCount())+" redacted",1)])]),n("div",pF,[(l(!0),d(L,null,se(e.demoParts(),(i,s)=>(l(),d(L,{key:s},[i.redacted?(l(),d("span",{key:0,class:"redact-chip",title:"Replaces \u201C"+i.original+"\u201D"},c(i.text),9,fF)):(l(),d(L,{key:1},[v(c(i.text),1)],64))],64))),128))])])])]),f(" What you get: one screenshot, three tabs "),t[23]||(t[23]=n("section",{class:"paper-section-head paper-wrap",id:"about"},[n("div",null,[n("div",{class:"paper-eyebrow"},"What you get"),n("h2",null,"Anonymize, review, manage.")]),n("p",null," Terms are redacted in text files. Enabled images and PDFs are served unchanged, so review them for identifying content before sharing. Monitor your mirror, update it, or remove it when the review is over. ")],-1)),n("section",hF,[n("div",mF,[(l(!0),d(L,null,se(e.features,(i,s)=>(l(),d("div",{class:T(["paper-feature",{"is-on":e.feature===i?.key}]),key:i?.key},[n("button",{type:"button",class:"paper-feature-tab",role:"tab",onClick:r=>e.selectFeature(i.key),onKeydown:r=>e.featureKeydown(r,s),id:"feature-tab-"+i?.key,"aria-controls":"feature-panel-"+i?.key,"aria-selected":e.feature===i?.key,tabindex:e.feature===i?.key?0:-1},[n("span",vF,[n("span",yF,c(i?.num),1),t[17]||(t[17]=n("span",{class:"pf-sep"}," \xB7 ",-1)),n("span",bF,c(i?.eyebrow),1)]),n("span",wF,[v(c(i?.title.split("-")[0]),1),i?.title.includes("-")?(l(),d("span",kF,"-")):f("v-if",!0),v(c(i?.title.split("-").slice(1).join("-"))+" "+c(i?.accent),1)])],40,gF),n("div",CF,[n("span",EF,[v(c(i?.title.split("-")[0]),1),i?.title.includes("-")?(l(),d("span",SF,"-")):f("v-if",!0),v(c(i?.title.split("-").slice(1).join("-"))+" "+c(i?.accent),1)]),n("p",null,c(i?.text),1),n("a",{class:"paper-link-arrow",href:e.safeUrl(e.featureHref(i)),target:e.featureTarget(i)},c(i?.cta)+" \u2192",9,NF)])],2))),128))]),n("div",RF,[(l(!0),d(L,null,se(e.features,(i,s)=>P((l(),d("div",{class:"paper-feature-panel",role:"tabpanel",key:i?.key,id:"feature-panel-"+i?.key,"aria-labelledby":"feature-tab-"+i?.key},[n("div",AF,[n("div",TF,[t[18]||(t[18]=n("span",{class:"dots"},[n("i"),n("i"),n("i")],-1)),n("span",PF,c(i?.url),1)]),n("div",{class:T(["feat-mock","is-"+i?.key]),role:"img","aria-label":i?.alt},[i?.key==="anonymize"?(l(),d("div",IF,[...t[19]||(t[19]=[Ee('
    GitHub repository
    github.com/jane-smith/DeepLearnUtils
    Terms to redact
    Jane SmithMIT CSAILjane.smith@mit.edu+ Add term
    Reviewers can see
    ImagesPDFsLinksNotebooks
    Expires
    Mar 31, 2027
    Anonymize repository
    ',6)])])):i?.key==="review"?(l(),d("div",MF,[...t[20]||(t[20]=[Ee(`
    data
    src
    train.py
    README.md
    LICENSE
    train.py48 lines \xB7 Python
    1# Training loop for DeepLearnUtils
    +           label names the service and the tooltip says who to contact. `),n("li",{class:T(["nav-item nav-extra-item d-none d-lg-block",{"in-user-menu":!!e.user?.username}])},[...t[19]||(t[19]=[n("a",{class:"nav-link",target:"_blank",rel:"noopener",href:"https://github.com/tdurieux/anonymous_github/issues/new?template=issue_report.yml",title:"Report a problem with the Anonymous GitHub service. Questions about an anonymized repository or paper go to its authors.","data-offset":"30"},[n("svg",{class:"ui-icon d-lg-none mr-1","aria-hidden":"true"},[n("use",{href:"#ui-icon-bug"})]),v("Report a bug ")],-1)])],2),n("li",{class:T(["nav-item nav-support-item nav-extra-item d-none d-lg-block",{"in-user-menu":!!e.user?.username}])},[...t[20]||(t[20]=[n("a",{class:"nav-link nav-support-inline",href:"https://ko-fi.com/tdurieux",target:"_blank",rel:"noopener",title:"Donate on Ko-fi to help cover hosting costs"},[n("svg",{class:"ui-icon nav-heart","aria-hidden":"true"},[n("use",{href:"#ui-icon-heart"})]),v("Support ")],-1)])],2),e.isDarkMode?f("v-if",!0):(l(),d("li",NU,[n("button",{type:"button",class:"nav-link nav-icon",title:"Switch to dark mode","aria-label":"Switch to dark mode",onClick:t[1]||(t[1]=o=>{e.darkMode(!0)})},[...t[21]||(t[21]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-moon"})],-1)])])])),e.isDarkMode?(l(),d("li",RU,[n("button",{type:"button",class:"nav-link nav-icon",title:"Switch to light mode","aria-label":"Switch to light mode",onClick:t[2]||(t[2]=o=>{e.darkMode(!1)})},[...t[22]||(t[22]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-sun"})],-1)])])])):f("v-if",!0),!e.user&&!e.isReviewerRoute?(l(),d("li",DU,[...t[23]||(t[23]=[n("a",{class:"nav-link btn-signin",target:"_self",href:"/signin","data-offset":"30"},[n("i",{class:"fab fa-github mr-1"}),v(" Sign in ")],-1)])])):f("v-if",!0),e.user?.username&&e.headerCanUpgrade&&!e.headerBillingPending?(l(),d("li",AU,[n("a",{class:"nav-link nav-upgrade",href:"/profile?upgrade=1",onClick:t[3]||(t[3]=de(o=>e.openHeaderUpgrade(),["prevent"]))},"Upgrade")])):f("v-if",!0),e.user?(l(),d("li",TU,[n("a",PU,[e.user?.photo?(l(),d("img",{key:0,width:"22",height:"22",class:"rounded-circle",src:e.safeUrl(e.user?.photo)},null,8,OU)):f("v-if",!0),n("span",IU,c(e.user?.username),1)]),n("div",MU,[n("h6",_U,"Signed in as @"+c(e.user?.username),1),t[25]||(t[25]=Se('SettingsDefaults, quotas, accountGitHub connectionsRepository access and OAuthClaim an anonymizationAttach an existing mirror to your accountReport a bugAbout this service, not a paperSource code',6)),e.headerShowSupport?(l(),d("a",VU,[...t[24]||(t[24]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-heart"})],-1),n("span",null,"Support the project",-1)])])):f("v-if",!0),t[26]||(t[26]=n("div",{class:"dropdown-divider"},null,-1)),t[27]||(t[27]=n("a",{class:"dropdown-item",href:"/api/user/logout",target:"_self"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-logout"})]),n("span",null,"Sign out")],-1))])])):f("v-if",!0)])])],2),e.generalMessage?(l(),d("div",{key:0,class:"navbar shadow generalMessage",innerHTML:e.sanitize(e.generalMessage)},null,8,qU)):f("v-if",!0),e.emailPromptOpen?(l(),d("dialog",{key:1,id:"email-prompt",class:"email-prompt","aria-labelledby":"email-prompt-title","aria-describedby":"email-prompt-reason",onCancel:t[8]||(t[8]=de(o=>e.respondToEmailPrompt("later"),["prevent"]))},[n("form",{onSubmit:t[7]||(t[7]=de(o=>e.respondToEmailPrompt("save"),["prevent"]))},[t[30]||(t[30]=n("h2",{id:"email-prompt-title"},"Stay informed about access problems",-1)),t[31]||(t[31]=n("p",{id:"email-prompt-reason"},"Get email alerts when your GitHub token or repository access fails.",-1)),t[32]||(t[32]=n("label",{for:"email-prompt-address"},"Email address",-1)),O(n("input",{id:"email-prompt-address",class:"form-control",type:"email",autocomplete:"email",maxlength:"254",required:"","onUpdate:modelValue":t[4]||(t[4]=o=>e.emailPromptAddress=o),disabled:e.emailPromptBusy},null,8,$U),[[lt,e.emailPromptAddress]]),e.emailPromptError?(l(),d("p",LU,c(e.emailPromptError),1)):f("v-if",!0),n("div",UU,[n("button",{type:"button",class:"btn btn-outline-ink",disabled:e.emailPromptBusy,onClick:t[5]||(t[5]=o=>e.respondToEmailPrompt("later"))},"Remind me later",8,FU),n("button",{type:"button",class:"btn btn-outline-ink",disabled:e.emailPromptBusy,onClick:t[6]||(t[6]=o=>e.respondToEmailPrompt("never"))},"Never",8,BU),n("button",{type:"submit",class:"btn btn-ink",disabled:e.emailPromptBusy},c(e.emailPromptBusy?"Saving\u2026":"Save"),9,zU)])],32)],32)):f("v-if",!0)],64)}var HU={class:"paper-landing"},jU={class:"paper-hero"},GU={class:"paper-hero-copy"},WU={class:"paper-cta-row"},KU={key:0,href:"/signin",target:"_self",class:"btn-hero"},YU={key:1,href:"/anonymize",class:"btn-hero"},XU={class:"paper-stats-meta"},QU={key:0,class:"paper-stats-meta-left"},JU={key:0,class:"paper-stats-grid"},ZU={class:"paper-stat-label"},xU={key:0,class:"paper-stat-delta"},eF={class:"demo paper-wrap","aria-label":"Try redaction"},tF={class:"demo-terms"},nF={class:"demo-panes"},oF={class:"pane"},sF={class:"demo-input-wrap"},iF={class:"pane-body demo-backdrop","aria-hidden":"true"},rF={key:0,class:"demo-match"},aF={class:"pane pane-after"},lF={class:"pane-header"},dF={class:"pane-url"},uF={class:"meta-redact"},cF={class:"pane-body demo-output","aria-live":"polite"},pF=["title"],fF={class:"paper-features paper-wrap","aria-label":"Product features"},hF={class:"paper-features-list",role:"tablist","aria-label":"Features","aria-orientation":"vertical"},mF=["onClick","onKeydown","id","aria-controls","aria-selected","tabindex"],gF={class:"paper-eyebrow"},vF={class:"pf-num"},yF={class:"pf-name"},bF={class:"paper-feature-title"},wF={key:0,class:"serif-hy"},kF={class:"paper-feature-more"},CF={class:"paper-feature-title paper-feature-title-m","aria-hidden":"true"},EF={key:0,class:"serif-hy"},SF=["href","target"],NF={class:"paper-features-stage"},RF=["id","aria-labelledby"],DF={class:"paper-frame"},AF={class:"paper-frame-bar","aria-hidden":"true"},TF={class:"url"},PF=["aria-label"],OF={key:0,class:"fm-form"},IF={key:1,class:"fm-viewer"},MF={key:2,class:"fm-dash"};function xc(e,t){let o=Xe("partial-view");return l(),d("div",HU,[f(" Hero: copy on the left, the product on the right "),n("section",jU,[n("div",GU,[t[5]||(t[5]=n("div",{class:"paper-eyebrow"},"For double-anonymous peer review",-1)),t[6]||(t[6]=n("h1",{class:"hero-title"},[v(" Share the code,"),n("br"),n("span",{class:"accent"},"not the author.")],-1)),t[7]||(t[7]=n("p",{class:"hero-subtitle"}," Anonymous GitHub makes a read-only mirror of your repository, pull request, or gist. It redacts the terms you choose in text files, so reviewers can browse your artifact through an anonymous link. ",-1)),n("div",WU,[e.user?f("v-if",!0):(l(),d("a",KU,[...t[3]||(t[3]=[n("i",{class:"fab fa-github mr-2","aria-hidden":"true"},null,-1),v("Sign in with GitHub ",-1)])])),e.user?(l(),d("a",YU," Anonymize a repository \u2192 ")):f("v-if",!0),t[4]||(t[4]=n("a",{class:"paper-link-arrow",target:"_self",href:"https://anonymous.4open.science/r/840c8c57-3c32-451e-bf12-0e20be300389/"},"See an anonymized repository \u2192",-1))]),t[8]||(t[8]=n("ul",{class:"paper-reassure"},[n("li",null,"Free, open source"),n("li",null,"Read-only access"),n("li",null,"Set an expiry date")],-1)),t[9]||(t[9]=n("p",{class:"paper-proof-mobile"},"Used by authors at ICSE \xB7 FSE \xB7 OOPSLA",-1))]),t[10]||(t[10]=n("div",{class:"paper-hero-shot"},[n("div",{class:"paper-frame"},[n("div",{class:"paper-frame-bar","aria-hidden":"true"},[n("span",{class:"dots"},[n("i"),n("i"),n("i")]),n("span",{class:"url"},"anonymous.4open.science/r/paper-7f2a")]),n("div",{class:"hero-mock",role:"img","aria-label":"A reviewer browsing an anonymized repository: the author, affiliation, and email in the README are replaced by anonymous terms"},[n("div",{class:"hero-mock-tree","aria-hidden":"true"},[n("div",{class:"hero-mock-tree-title"},"Files"),n("div",{class:"hero-mock-row is-folder"},[n("svg",{viewBox:"0 0 16 16"},[n("path",{d:"M1.5 3.5h4l1.5 1.5h7.5v8h-13z"})]),v("data")]),n("div",{class:"hero-mock-row is-folder"},[n("svg",{viewBox:"0 0 16 16"},[n("path",{d:"M1.5 3.5h4l1.5 1.5h7.5v8h-13z"})]),v("experiments")]),n("div",{class:"hero-mock-row is-folder"},[n("svg",{viewBox:"0 0 16 16"},[n("path",{d:"M1.5 3.5h4l1.5 1.5h7.5v8h-13z"})]),v("src")]),n("div",{class:"hero-mock-row"},[n("svg",{viewBox:"0 0 16 16"},[n("path",{d:"M3.5 1.5h6l3 3v10h-9z"})]),v("LICENSE")]),n("div",{class:"hero-mock-row is-active"},[n("svg",{viewBox:"0 0 16 16"},[n("path",{d:"M3.5 1.5h6l3 3v10h-9z"})]),v("README.md")]),n("div",{class:"hero-mock-row"},[n("svg",{viewBox:"0 0 16 16"},[n("path",{d:"M3.5 1.5h6l3 3v10h-9z"})]),v("requirements.txt")])]),n("div",{class:"hero-mock-doc","aria-hidden":"true"},[n("div",{class:"hero-mock-doc-bar"},[n("strong",null,"README.md"),n("span",{class:"hero-mock-count"},"3 redacted")]),n("div",{class:"hero-mock-doc-body"},[n("div",{class:"hero-mock-h1"},"DeepLearnUtils"),n("p",null,[v("Developed by "),n("span",{class:"redact",role:"img","aria-label":"Redacted term 1"},[n("i",null,"1")]),v(" at "),n("span",{class:"redact",role:"img","aria-label":"Redacted term 2"},[n("i",null,"2")]),v(".")]),n("p",{class:"hm-opt"},"Utilities for reproducing the paper\u2019s experiments."),n("div",{class:"hero-mock-h2 hm-opt"},"Quick start"),n("pre",{class:"hm-opt"},`pip install -r requirements.txt
    +python experiments/run.py`),n("p",null,[v("Contact: "),n("span",{class:"redact",role:"img","aria-label":"Redacted term 3"},[n("i",null,"3")])])])])])])],-1))]),f(" Live stats "),n("section",{class:T(["paper-stats paper-wrap",{"is-empty":e.statsEmpty()}]),id:"metrics","aria-label":"Usage over the last 60 days"},[n("div",XU,[e.statsEmpty()?f("v-if",!0):(l(),d("div",QU,[...t[11]||(t[11]=[n("span",{class:"paper-stats-dot","aria-hidden":"true"},null,-1),v(),n("span",null,[v("Live \xB7 last 60 days"),n("span",{class:"paper-stats-daily"}," \xB7 updated daily")],-1)])])),t[12]||(t[12]=n("div",{class:"paper-stats-meta-right"},"Used by authors at ICSE \xB7 FSE \xB7 OOPSLA",-1))]),e.statsEmpty()?f("v-if",!0):(l(),d("div",JU,[(l(!0),d(L,null,ie(e.cards,(i,s)=>(l(),d("div",{class:"paper-stat-card",key:i?.key},[n("div",{class:T(["paper-stat-value",{"is-pending":!e.stat}])},c(e.stat?e.fmt?.bigNum(i?.total):"\u2014"),3),n("div",ZU,c(i?.label),1),e.history[i?.key].bars?.length>1&&e.history[i?.key].deltaToday>0?(l(),d("div",xU," +"+c(e.fmt?.number(e.history[i?.key].deltaToday))+" today ",1)):f("v-if",!0)]))),128))]))],2),f(" Before / after "),t[22]||(t[22]=n("section",{class:"paper-section-head paper-wrap"},[n("div",null,[n("div",{class:"paper-eyebrow"},"Try it"),n("h2",null,[v("The same repository, "),n("em",null,"minus you.")])]),n("p",null," Names, affiliations, emails, and any term you list are replaced across the README, source files, notebooks, and PDF links. Reviewers browse the real thing, not a zip. ")],-1)),n("div",eF,[n("div",tF,[t[13]||(t[13]=n("label",{for:"demo-terms"},[v("Terms to redact "),n("span",null,[v("comma-separated"),n("span",{class:"dt-try"},", try adding your own")])],-1)),O(n("textarea",{id:"demo-terms",class:"demo-terms-input",rows:"1","onUpdate:modelValue":t[0]||(t[0]=i=>e.demoTerms=i),spellcheck:"false",autocomplete:"off",onKeydown:t[1]||(t[1]=ut(de(()=>{},["prevent"]),["enter"]))},null,544),[[lt,e.demoTerms]])]),n("div",nF,[n("div",oF,[t[15]||(t[15]=n("div",{class:"pane-header"},[n("span",{class:"pane-label"},[v("Your repository "),n("span",{class:"pane-edit-hint"},"\xB7 editable")]),n("span",{class:"pane-url"},"github.com/jane-smith/DeepLearnUtils")],-1)),n("div",sF,[n("div",iF,[(l(!0),d(L,null,ie(e.demoParts(),(i,s)=>(l(),d(L,{key:s},[i.redacted?(l(),d("mark",rF,c(i.original),1)):(l(),d(L,{key:1},[v(c(i.text),1)],64))],64))),128)),t[14]||(t[14]=v("\u200B",-1))]),O(n("textarea",{class:"pane-body demo-input","onUpdate:modelValue":t[2]||(t[2]=i=>e.demoText=i),spellcheck:"false","aria-label":"Sample README to anonymize"},null,512),[[lt,e.demoText]])])]),n("div",aF,[n("div",lF,[t[16]||(t[16]=n("span",{class:"pane-label"},"What reviewers see",-1)),n("span",dF,[n("span",uF,c(e.demoCount())+" redacted",1)])]),n("div",cF,[(l(!0),d(L,null,ie(e.demoParts(),(i,s)=>(l(),d(L,{key:s},[i.redacted?(l(),d("span",{key:0,class:"redact-chip",title:"Replaces \u201C"+i.original+"\u201D"},c(i.text),9,pF)):(l(),d(L,{key:1},[v(c(i.text),1)],64))],64))),128))])])])]),f(" What you get: one screenshot, three tabs "),t[23]||(t[23]=n("section",{class:"paper-section-head paper-wrap",id:"about"},[n("div",null,[n("div",{class:"paper-eyebrow"},"What you get"),n("h2",null,"Anonymize, review, manage.")]),n("p",null," Terms are redacted in text files. Enabled images and PDFs are served unchanged, so review them for identifying content before sharing. Monitor your mirror, update it, or remove it when the review is over. ")],-1)),n("section",fF,[n("div",hF,[(l(!0),d(L,null,ie(e.features,(i,s)=>(l(),d("div",{class:T(["paper-feature",{"is-on":e.feature===i?.key}]),key:i?.key},[n("button",{type:"button",class:"paper-feature-tab",role:"tab",onClick:r=>e.selectFeature(i.key),onKeydown:r=>e.featureKeydown(r,s),id:"feature-tab-"+i?.key,"aria-controls":"feature-panel-"+i?.key,"aria-selected":e.feature===i?.key,tabindex:e.feature===i?.key?0:-1},[n("span",gF,[n("span",vF,c(i?.num),1),t[17]||(t[17]=n("span",{class:"pf-sep"}," \xB7 ",-1)),n("span",yF,c(i?.eyebrow),1)]),n("span",bF,[v(c(i?.title.split("-")[0]),1),i?.title.includes("-")?(l(),d("span",wF,"-")):f("v-if",!0),v(c(i?.title.split("-").slice(1).join("-"))+" "+c(i?.accent),1)])],40,mF),n("div",kF,[n("span",CF,[v(c(i?.title.split("-")[0]),1),i?.title.includes("-")?(l(),d("span",EF,"-")):f("v-if",!0),v(c(i?.title.split("-").slice(1).join("-"))+" "+c(i?.accent),1)]),n("p",null,c(i?.text),1),n("a",{class:"paper-link-arrow",href:e.safeUrl(e.featureHref(i)),target:e.featureTarget(i)},c(i?.cta)+" \u2192",9,SF)])],2))),128))]),n("div",NF,[(l(!0),d(L,null,ie(e.features,(i,s)=>O((l(),d("div",{class:"paper-feature-panel",role:"tabpanel",key:i?.key,id:"feature-panel-"+i?.key,"aria-labelledby":"feature-tab-"+i?.key},[n("div",DF,[n("div",AF,[t[18]||(t[18]=n("span",{class:"dots"},[n("i"),n("i"),n("i")],-1)),n("span",TF,c(i?.url),1)]),n("div",{class:T(["feat-mock","is-"+i?.key]),role:"img","aria-label":i?.alt},[i?.key==="anonymize"?(l(),d("div",OF,[...t[19]||(t[19]=[Se('
    GitHub repository
    github.com/jane-smith/DeepLearnUtils
    Terms to redact
    Jane SmithMIT CSAILjane.smith@mit.edu+ Add term
    Reviewers can see
    ImagesPDFsLinksNotebooks
    Expires
    Mar 31, 2027
    Anonymize repository
    ',6)])])):i?.key==="review"?(l(),d("div",IF,[...t[20]||(t[20]=[Se(`
    data
    src
    train.py
    README.md
    LICENSE
    train.py48 lines \xB7 Python
    1# Training loop for DeepLearnUtils
     2# Author: XXXX-1, XXXX-2
     3import torch
     4from utils import load_config
    @@ -54,14 +54,14 @@ python experiments/run.py`),n("p",null,[v("Contact: "),n("span",{class:"redact",
     7    model = build_model(config)
     8    for epoch in range(config.epochs):
     9        loss = step(model)
    -10        log("epoch %d: %.3f", epoch, loss)
    `,2)])])):(l(),d("div",_F,[...t[21]||(t[21]=[Ee('
    ProjectStatusViewsExpires
    DeepLearnUtilspaper-7f2a \xB7 ICSE 2027Ready41Mar 31, 2027
    vision-bench#212pull request \xB7 FSE 2027Ready12Never
    graph-repairgr-91abUpdating5Jan 5, 2027
    JarSiftOOPSLA 2025Expired72Sep 28, 2026
    ',5)])]))],10,OF)])],8,DF)),[[x,e.feature===i?.key]])),128))])]),f(" FAQ teaser "),t[24]||(t[24]=Ee('
    Before you sign in

    The questions that come up most.

    Read the full FAQ \u2192
    What access does GitHub sign-in require?

    The GitHub App has read-only access to gists and the repositories you choose. Legacy OAuth uses broader permissions. Anonymous GitHub never writes to your repositories.

    Which file formats are supported?

    Source code with syntax highlighting, Markdown, Jupyter notebooks, PDFs, images, and GitHub Pages sites. Text files are anonymized; enabled images and PDFs are served unchanged.

    What happens when an anonymized repository expires?

    You choose: the mirror is removed, or visitors are redirected to the original GitHub repository once the review is over.

    Ready for review?

    Create an anonymous mirror in a couple of minutes. Reviewers just open the link.

    ',2)),_e(o,{name:"partials/footer.htm",state:e.viewState},null,8,["state"])])}var VF={class:"paper-empty"},qF={class:"paper-empty-inner"},$F={key:0,class:"paper-eyebrow"},LF={key:1,class:"paper-eyebrow"},UF={key:2,class:"paper-empty-title"},FF=["textContent"];function tp(e,t){return l(),d("div",VF,[n("div",qF,[e.error?f("v-if",!0):(l(),d("div",$F,"Working")),e.error?(l(),d("div",LF,"Error")):f("v-if",!0),e.error?f("v-if",!0):(l(),d("h1",UF,[...t[0]||(t[0]=[v(" Loading",-1),n("span",{class:"dot-anim"},"\u2026",-1)])])),e.error?(l(),d("h1",{key:3,class:"paper-empty-title",textContent:c(e.fmt.translate(e.error))},null,8,FF)):f("v-if",!0)])])}var BF={class:"container paper-page paper-settings"},zF={class:"paper-crumbs"},HF={class:"here"},jF={class:"paper-page-title"},GF={class:"paper-settings-body"},WF={class:"paper-settings-toc"},KF={href:"#conf-billing"},YF={class:"form needs-validation paper-settings-main",name:"conference",novalidate:""},XF={id:"conf-basics",class:"paper-settings-section"},QF={class:"form-group"},JF={class:"invalid-feedback"},ZF={class:"invalid-feedback"},xF={class:"form-group"},e7={class:"invalid-feedback"},t7={class:"form-group"},n7={class:"invalid-feedback"},o7={class:"invalid-feedback"},s7={id:"conf-window",class:"paper-settings-section"},i7={class:"form-grid-2"},r7={class:"form-group"},a7={class:"invalid-feedback"},l7={class:"invalid-feedback"},d7={class:"form-group"},u7={class:"invalid-feedback"},c7={class:"invalid-feedback"},p7={id:"conf-rendering",class:"paper-settings-section"},f7={class:"form-check"},h7={class:"form-check-input",type:"checkbox",id:"link",name:"link"},m7={class:"form-check"},g7={class:"form-check-input",type:"checkbox",id:"image",name:"image"},v7={class:"form-check"},y7={class:"form-check-input",type:"checkbox",id:"pdf",name:"pdf"},b7={class:"form-check"},w7={class:"form-check-input",type:"checkbox",id:"notebook",name:"notebook"},k7={id:"conf-features",class:"paper-settings-section"},C7={class:"form-check"},E7={class:"form-check-input",type:"checkbox",id:"update",name:"update"},S7={class:"form-check"},N7={class:"form-check-input",type:"checkbox",id:"page",name:"page"},R7={id:"conf-plan",class:"paper-settings-section"},D7={key:0,class:"paper-section-copy"},A7={class:"conference-tiers",role:"radiogroup","aria-label":"Review package size"},T7=["value","checked","onChange"],P7={class:"conference-tier-head"},O7={key:0,class:"conference-tier-pill"},I7={class:"conference-tier-who"},M7={key:0,class:"conference-tier-price"},_7={class:"conference-tier-size"},V7={key:1,class:"conference-tier-per"},q7={key:2,class:"paper-plan-grid"},$7=["value"],L7=["textContent"],U7={class:"paper-plan-price"},F7=["innerHTML"],B7={key:3,class:"settings-notice",role:"status"},z7={key:0,id:"conf-billing",class:"paper-settings-section"},H7={class:"form-group"},j7={class:"form-group"},G7={class:"form-group"},W7={class:"form-group"},K7={class:"form-grid-3"},Y7={class:"form-group"},X7={class:"form-group"},Q7={class:"form-group"},J7={class:"form-group"},Z7={class:"paper-settings-footer"},x7=["textContent"],e9=["textContent"],t9=["disabled"];function np(e,t){let o=Te("paper-scrollspy"),i=Te("field"),s=Te("form");return l(),d("div",BF,[n("div",zF,[t[1]||(t[1]=n("a",{href:"/dashboard"},"My work",-1)),t[2]||(t[2]=v(" \xA0/\xA0 ",-1)),t[3]||(t[3]=n("a",{href:"/conferences"},"Conferences",-1)),t[4]||(t[4]=v(" \xA0/\xA0 ",-1)),n("span",HF,c(e.editionMode?"Edit":"New"),1)]),n("h1",jF,[v(c(e.editionMode?"Edit":"Create a")+" ",1),t[5]||(t[5]=n("em",null,"conference",-1))]),t[44]||(t[44]=n("p",{class:"paper-page-lede"}," Give chairs access to every anonymization submitted to a venue. One payment hosts every submission, so authors don't pay during the review window. ",-1)),n("div",GF,[P((l(),d("aside",WF,[t[7]||(t[7]=n("div",{class:"paper-settings-toc-head"},"On this page",-1)),n("nav",null,[t[6]||(t[6]=Ee('BasicsReview windowRendering defaultsFeaturesPlan',5)),P(n("a",KF,"Billing",512),[[x,e.plan?.pricePerRepo>0]])])])),[[o]]),P((l(),d("form",YF,[n("section",XF,[t[12]||(t[12]=n("div",{class:"paper-section-eyebrow"},"Basics",-1)),n("div",QF,[t[8]||(t[8]=n("label",{class:"paper-field-label",for:"name"},"Conference name",-1)),P(n("input",{type:"text",class:T(["form-control",{"is-invalid":e.conference?.name?.invalid&&(e.conference?.name?.touched||e.conference?.submitted)}]),name:"name",id:"name",required:"",placeholder:"e.g. International Conference on Software Engineering"},null,2),[[i,{state:e.viewState,set:r=>{e.options.name=r},value:e.options?.name,form:"conference",options:{}}]]),P(n("div",JF," The name of the conference is invalid. ",512),[[x,e.conference?.name?.errors?.invalid]]),P(n("div",ZF," The name of the conference is required. ",512),[[x,e.conference?.name?.errors?.required]])]),n("div",xF,[t[9]||(t[9]=n("label",{class:"paper-field-label",for:"url"},"Website",-1)),P(n("input",{type:"url",class:T(["form-control",{"is-invalid":e.conference?.url?.invalid&&(e.conference?.url?.touched||e.conference?.submitted)}]),name:"url",id:"url",placeholder:"https://example.org"},null,2),[[i,{state:e.viewState,set:r=>{e.options.url=r},value:e.options?.url,form:"conference",options:{}}]]),P(n("div",e7," The url of the conference is invalid. ",512),[[x,e.conference?.url?.errors?.url]])]),n("div",t7,[t[10]||(t[10]=n("label",{class:"paper-field-label",for:"conferenceID"},"Conference ID",-1)),P(n("input",{type:"text",class:T(["form-control",{"is-invalid":e.conference?.conferenceID?.invalid&&(e.conference?.conferenceID?.touched||e.conference?.submitted)}]),name:"conferenceID",id:"conferenceID",required:"",pattern:"[a-zA-Z0-9\\-_]{3,10}",placeholder:"ICSE26"},null,2),[[i,{state:e.viewState,set:r=>{e.options.conferenceID=r},value:e.options?.conferenceID,form:"conference",options:{}}]]),t[11]||(t[11]=n("small",{class:"form-text text-muted"},[v("3\u201310 characters, letters, numbers, "),n("code",null,"-"),v(" and "),n("code",null,"_"),v(". Authors reference this when they anonymize.")],-1)),P(n("div",{class:"invalid-feedback"}," The conference ID '"+c(e.options?.conferenceID)+"' is already used. ",513),[[x,e.conference?.conferenceID?.errors?.used]]),P(n("div",n7," The conference ID is required. ",512),[[x,e.conference?.conferenceID?.errors?.required]]),P(n("div",o7," The format of the conference ID is incorrect ([a-zA-Z0-9-_]{3,10}). ",512),[[x,e.conference?.conferenceID?.errors?.pattern]])])]),n("section",s7,[t[17]||(t[17]=n("div",{class:"paper-section-eyebrow"},"Review window",-1)),n("div",i7,[n("div",r7,[t[13]||(t[13]=n("label",{class:"paper-field-label",for:"startDate"},"Start date",-1)),P(n("input",{type:"date",class:T(["form-control",{"is-invalid":e.conference?.startDate?.invalid&&(e.conference?.startDate?.touched||e.conference?.submitted)}]),name:"startDate",id:"startDate",required:""},null,2),[[i,{state:e.viewState,set:r=>{e.options.startDate=r},value:e.options?.startDate,form:"conference",options:{}}]]),t[14]||(t[14]=n("small",{class:"form-text text-muted"},"Beginning of the review process.",-1)),P(n("div",a7," Start date is required. ",512),[[x,e.conference?.startDate?.errors?.required]]),P(n("div",l7," Start date must be before end date. ",512),[[x,e.conference?.startDate?.errors?.invalid]])]),n("div",d7,[t[15]||(t[15]=n("label",{class:"paper-field-label",for:"endDate"},"End date",-1)),P(n("input",{type:"date",class:T(["form-control",{"is-invalid":e.conference?.endDate?.invalid&&(e.conference?.endDate?.touched||e.conference?.submitted)}]),name:"endDate",id:"endDate",required:""},null,2),[[i,{state:e.viewState,set:r=>{e.options.endDate=r},value:e.options?.endDate,form:"conference",options:{}}]]),t[16]||(t[16]=n("small",{class:"form-text text-muted"},"All repositories expire on this date.",-1)),P(n("div",u7," End date is required. ",512),[[x,e.conference?.endDate?.errors?.required]]),P(n("div",c7," End date is invalid. ",512),[[x,e.conference?.endDate?.errors?.invalid]])])])]),n("section",p7,[t[26]||(t[26]=n("div",{class:"paper-section-eyebrow"},"Rendering defaults",-1)),n("div",f7,[P(n("input",h7,null,512),[[i,{state:e.viewState,set:r=>{e.options.options.link=r},value:e.options?.options?.link,form:"conference",options:{}}]]),t[18]||(t[18]=n("label",{class:"form-check-label",for:"link"},"Keep links",-1)),t[19]||(t[19]=n("small",{class:"form-text text-muted"},"Keep or remove all links from text files.",-1))]),n("div",m7,[P(n("input",g7,null,512),[[i,{state:e.viewState,set:r=>{e.options.options.image=r},value:e.options?.options?.image,form:"conference",options:{}}]]),t[20]||(t[20]=n("label",{class:"form-check-label",for:"image"},"Display images",-1)),t[21]||(t[21]=n("small",{class:"form-text text-muted"},"Images are not anonymized.",-1))]),n("div",v7,[P(n("input",y7,null,512),[[i,{state:e.viewState,set:r=>{e.options.options.pdf=r},value:e.options?.options?.pdf,form:"conference",options:{}}]]),t[22]||(t[22]=n("label",{class:"form-check-label",for:"pdf"},"Display PDFs",-1)),t[23]||(t[23]=n("small",{class:"form-text text-muted"},"PDFs are not anonymized.",-1))]),n("div",b7,[P(n("input",w7,null,512),[[i,{state:e.viewState,set:r=>{e.options.options.notebook=r},value:e.options?.options?.notebook,form:"conference",options:{}}]]),t[24]||(t[24]=n("label",{class:"form-check-label",for:"notebook"},"Display notebooks",-1)),t[25]||(t[25]=n("small",{class:"form-text text-muted"},"Render Jupyter notebooks instead of raw JSON.",-1))])]),n("section",k7,[t[31]||(t[31]=n("div",{class:"paper-section-eyebrow"},"Features",-1)),n("div",C7,[P(n("input",E7,null,512),[[i,{state:e.viewState,set:r=>{e.options.options.update=r},value:e.options?.options?.update,form:"conference",options:{}}]]),t[27]||(t[27]=n("label",{class:"form-check-label",for:"update"},"Auto-update from GitHub",-1)),t[28]||(t[28]=n("small",{class:"form-text text-muted"},"Pull the latest commit automatically (hourly maximum).",-1))]),n("div",S7,[P(n("input",N7,null,512),[[i,{state:e.viewState,set:r=>{e.options.options.page=r},value:e.options?.options?.page,form:"conference",options:{}}]]),t[29]||(t[29]=n("label",{class:"form-check-label",for:"page"},"GitHub Pages",-1)),t[30]||(t[30]=n("small",{class:"form-text text-muted"},"Enable anonymized GitHub pages.",-1))])]),n("section",R7,[t[35]||(t[35]=n("div",{class:"paper-section-eyebrow"},"Plan",-1)),e.editionMode?(l(),d("p",D7,c(e.conferencePlanName(e.options?.plan?.planID))+". The plan and review dates can't change after creation.",1)):e.conferenceTiers().length?(l(),d(L,{key:1},[t[33]||(t[33]=n("p",{class:"paper-section-copy"},"Pick the package that fits the number of submissions you expect. One payment hosts every submission, so authors don't pay.",-1)),n("div",A7,[(l(!0),d(L,null,se(e.conferenceTiers(),r=>(l(),d("label",{class:T(["conference-tier",{"is-selected":e.options?.plan?.planID===r.id}]),key:r.id},[n("input",{type:"radio",name:"planPicker",value:r.id,checked:e.options?.plan?.planID===r.id,onChange:a=>e.options.plan.planID=r.id},null,40,T7),n("span",P7,[n("strong",null,c(r.name),1),r.id==="conference"&&e.conferenceTiers().length>1?(l(),d("span",O7,"Most common")):f("v-if",!0)]),n("span",I7,c(e.conferenceAudience(r.id)),1),r.amount!=null?(l(),d("span",M7,[n("strong",null,c(e.conferenceAmount(r)),1),t[32]||(t[32]=v(" once",-1))])):f("v-if",!0),n("span",_7,"Up to "+c(r.repositories)+" papers \xB7 "+c(e.conferenceBytes(r.storage)),1),r.amount!=null&&r.repositories?(l(),d("span",V7,"About "+c(e.conferenceAmount(r,r.amount/r.repositories))+" per paper",1)):f("v-if",!0)],2))),128))]),t[34]||(t[34]=Ee('

    Every package includes

    • A review window of up to 180 days
    • Automatic updates for every submission
    • Links stay online until the review window ends
    • A dashboard of every submission for chairs

    Nothing renews \xB7 Tax shown at checkout \xB7 Expecting more submissions? Email tdurieux@anonymous.4open.science

    Create the conference, then pay from its page. Authors can submit once the payment is confirmed.

    ',2))],64)):e.plans.length?(l(),d("div",q7,[(l(!0),d(L,null,se(e.plans,r=>(l(),d("label",{class:T(["paper-plan-card",{selected:e.options?.plan?.planID==r?.id}]),key:r.id},[P(n("input",{type:"radio",name:"planPicker",value:r?.id},null,8,$7),[[i,{state:e.viewState,set:a=>{e.options.plan.planID=a},value:e.options?.plan?.planID,form:"conference",options:{}}]]),n("div",{class:"paper-plan-head",textContent:c(r?.name)},null,8,L7),n("div",U7,c(r.pricePerRepo>0?e.fmt?.number(r.pricePerRepo,2)+" \u20AC per repository":"Free"),1),n("div",{class:"paper-plan-desc",innerHTML:e.sanitize(r?.description)},null,8,F7)],2))),128))])):e.plansLoaded?(l(),d("p",B7,"New conferences are unavailable right now. Please try again later.")):f("v-if",!0)]),e.plan?.pricePerRepo>0?(l(),d("section",z7,[t[43]||(t[43]=n("div",{class:"paper-section-eyebrow"},"Billing",-1)),n("div",H7,[t[36]||(t[36]=n("label",{class:"paper-field-label",for:"billing_name"},"Name",-1)),P(n("input",{type:"text",class:T(["form-control",{"is-invalid":e.conference?.billing_name?.invalid&&(e.conference?.billing_name?.touched||e.conference?.submitted)}]),name:"billing_name",id:"billing_name",required:"",placeholder:"First & last name"},null,2),[[i,{state:e.viewState,set:r=>{e.options.billing.name=r},value:e.options?.billing?.name,form:"conference",options:{}}]])]),n("div",j7,[t[37]||(t[37]=n("label",{class:"paper-field-label",for:"email"},"Email",-1)),P(n("input",{type:"email",class:T(["form-control",{"is-invalid":e.conference?.email?.invalid&&(e.conference?.email?.touched||e.conference?.submitted)}]),name:"email",id:"email",required:"",placeholder:"you@example.org"},null,2),[[i,{state:e.viewState,set:r=>{e.options.billing.email=r},value:e.options?.billing?.email,form:"conference",options:{}}]])]),n("div",G7,[t[38]||(t[38]=n("label",{class:"paper-field-label",for:"inputAddress"},"Address",-1)),P(n("input",{type:"text",class:T(["form-control",{"is-invalid":e.conference?.inputAddress?.invalid&&(e.conference?.inputAddress?.touched||e.conference?.submitted)}]),name:"inputAddress",id:"inputAddress",required:"",placeholder:"1234 Main St"},null,2),[[i,{state:e.viewState,set:r=>{e.options.billing.address=r},value:e.options?.billing?.address,form:"conference",options:{}}]])]),n("div",W7,[P(n("input",{type:"text",class:T(["form-control",{"is-invalid":e.conference?.inputAddress2?.invalid&&(e.conference?.inputAddress2?.touched||e.conference?.submitted)}]),name:"inputAddress2",id:"inputAddress2",placeholder:"Apartment, studio, or floor"},null,2),[[i,{state:e.viewState,set:r=>{e.options.billing.address2=r},value:e.options?.billing?.address2,form:"conference",options:{}}]])]),n("div",K7,[n("div",Y7,[t[39]||(t[39]=n("label",{class:"paper-field-label",for:"city"},"City",-1)),P(n("input",{type:"text",class:T(["form-control",{"is-invalid":e.conference?.city?.invalid&&(e.conference?.city?.touched||e.conference?.submitted)}]),name:"city",id:"city",required:"",placeholder:"City"},null,2),[[i,{state:e.viewState,set:r=>{e.options.billing.city=r},value:e.options?.billing?.city,form:"conference",options:{}}]])]),n("div",X7,[t[40]||(t[40]=n("label",{class:"paper-field-label",for:"country"},"Country",-1)),P(n("input",{type:"text",class:T(["form-control",{"is-invalid":e.conference?.country?.invalid&&(e.conference?.country?.touched||e.conference?.submitted)}]),name:"country",id:"country",required:"",placeholder:"Country"},null,2),[[i,{state:e.viewState,set:r=>{e.options.billing.country=r},value:e.options?.billing?.country,form:"conference",options:{}}]])]),n("div",Q7,[t[41]||(t[41]=n("label",{class:"paper-field-label",for:"zip"},"Zip",-1)),P(n("input",{type:"text",class:T(["form-control",{"is-invalid":e.conference?.zip?.invalid&&(e.conference?.zip?.touched||e.conference?.submitted)}]),name:"zip",id:"zip",required:"",placeholder:"Zip"},null,2),[[i,{state:e.viewState,set:r=>{e.options.billing.zip=r},value:e.options?.billing?.zip,form:"conference",options:{}}]])])]),n("div",J7,[t[42]||(t[42]=n("label",{class:"paper-field-label",for:"vat"},"VAT number",-1)),P(n("input",{type:"text",class:T(["form-control",{"is-invalid":e.conference?.vat?.invalid&&(e.conference?.vat?.touched||e.conference?.submitted)}]),name:"vat",id:"vat",placeholder:"VAT Number"},null,2),[[i,{state:e.viewState,set:r=>{e.options.billing.vat=r},value:e.options?.billing?.vat,form:"conference",options:{}}]])])])):f("v-if",!0),n("div",Z7,[e.error?(l(),d("div",{key:0,class:"alert alert-danger",role:"alert",textContent:c(e.error)},null,8,x7)):f("v-if",!0),e.message?(l(),d("div",{key:1,class:"alert alert-success",role:"alert",textContent:c(e.message)},null,8,e9)):f("v-if",!0),n("button",{id:"send",disabled:e.saving,type:"submit",class:"btn btn-ink",onClick:t[0]||(t[0]=ue(r=>e.submitForm(r,()=>{e.submit(r)}),["prevent"]))},c(e.saving?e.editionMode?"Updating\u2026":"Creating\u2026":e.editionMode?"Update conference":"Create conference"),9,t9)])])),[[s,e.viewState]])])])}var n9={key:0,class:"dir-card","aria-label":"Repository files"},o9=["onClick"],s9={class:"dir-name"},i9=["href"],r9={class:"dir-name"},a9={class:"dir-meta"},l9={class:"file-card-head"},d9={class:"file-card-path"},u9={class:"breadcrumb paths","aria-label":"Path"},c9={class:"breadcrumb-item breadcrumb-root"},p9=["href","title","textContent"],f9=["aria-current"],h9=["aria-label"],m9={class:"mobile-sub ms"},g9=["title"],v9={class:"ms-item"},y9={key:1,class:"ms-item"},b9={key:2,class:"ms-item"},w9=["aria-label","title"],k9={class:"ui-icon","aria-hidden":"true"},C9=["href"],E9={key:0,class:"file-card-meta"},S9=["title"],N9={class:"meta-extra"},R9={key:1,class:"file-card-meta"},D9=["title"],A9={class:"file-card-actions"},T9={key:0,class:"csv-toggle seg-filter",role:"radiogroup","aria-label":"CSV view"},P9=["aria-checked"],O9=["aria-checked"],I9={key:1,class:"symbols"},M9=["aria-expanded"],_9={key:0,class:"symbols-menu",role:"menu"},V9={class:"symbols-head"},q9=["onClick"],$9={class:"symbols-name"},L9={class:"symbols-line"},U9=["title"],F9={key:3,class:"tb-view",role:"group","aria-label":"View tools"},B9=["title"],z9=["aria-pressed"],H9=["title"],j9={class:"tb-file",role:"group","aria-label":"File actions"},G9=["title","href"],W9=["aria-label","title"],K9={class:"ui-icon","aria-hidden":"true"},Y9=["href"],X9=["href"],Q9=["aria-label"],J9={class:"ui-icon","aria-hidden":"true"},Z9=["href"],x9={key:5,class:"tb-toc-m"},eB=["aria-expanded"],tB=["onClick"],nB={class:"tb-more"},oB=["aria-expanded"],sB={viewBox:"0 0 24 24",class:"ui-icon","aria-hidden":"true",style:{fill:"currentColor",stroke:"none"}},iB={key:0,class:"tb-menu-note"},rB={key:1,class:"tb-menu-note tb-menu-meta"},aB={key:2,class:"tb-menu-sep"},lB={key:4,class:"tb-menu-sep"},dB=["aria-checked"],uB={key:0,class:"tb-menu-check"},cB={class:"ui-icon","aria-hidden":"true"},pB=["href"],fB={key:9,class:"tb-menu-sep"},hB=["href"],mB=["href"],gB=["href"],vB=["href"],yB=["href"],bB=["href"],wB=["placeholder","aria-invalid"],kB=["aria-label"],CB={class:"csv-table"},EB=["aria-label"],SB={class:"csv-rownum"},NB=["aria-label"],RB={key:1,class:"file-card-body"},DB={key:2,class:"md-find-bar",role:"search"},AB=["value"],TB={class:"md-find-nav"},PB=["disabled"],OB=["disabled"],IB={class:"md-find-count","aria-live":"polite"},MB=["aria-pressed"],_B={key:3,class:"reading-layout"},VB=["innerHTML"],qB={key:0,class:"readme-toc","aria-label":"On this page"},$B={class:"toc-rail"},LB=["href","onClick"],UB={class:"file-card-head"},FB={class:"file-card-path"},BB={class:"breadcrumb paths","aria-label":"Path"},zB={class:"breadcrumb-item breadcrumb-root"},HB=["href","title","textContent"],jB=["aria-current"],GB=["aria-label"],WB={class:"mobile-sub ms"},KB=["title"],YB={class:"ms-item"},XB={key:1,class:"ms-item"},QB={key:2,class:"ms-item"},JB=["aria-label","title"],ZB={class:"ui-icon","aria-hidden":"true"},xB=["href"],ez={class:"file-card-meta"},tz=["title"],nz={class:"file-card-actions"},oz={key:0,class:"file-card-state",title:"Files over the size limit can't be previewed or downloaded from this link"},sz={key:1,class:"tb-file",role:"group","aria-label":"File actions"},iz=["title","href"],rz=["href"],az={class:"tb-more"},lz=["aria-expanded"],dz={viewBox:"0 0 24 24",class:"ui-icon","aria-hidden":"true",style:{fill:"currentColor",stroke:"none"}},uz={key:0,class:"tb-menu-note"},cz={key:1,class:"tb-menu-sep"},pz=["href"],fz=["href"],hz=["href"],mz={key:0,class:"media-stage"},gz=["src","alt"],vz={key:1,class:"media-stage"},yz=["src"],bz={key:2,class:"media-stage is-audio"},wz=["src"],kz={key:4,class:"notebook-body"},Cz={key:5,class:"file-state"},Ez={class:"file-state-actions"},Sz=["href"],Nz={key:6,class:"file-state",role:"alert"},Rz={class:"file-state-title"},Dz={key:0,class:"file-state-msg"},Az={key:1,class:"file-state-msg"},Tz={class:"file-state-actions"},Pz=["href"],Oz={key:7,class:"file-state"},Iz={key:4,class:"file-error container d-flex h-100"},Mz={class:"paper-ratelimit-card m-auto",style:{"max-width":"520px"}},_z={class:"paper-error-msg"},Vz={key:5,class:"file-error container d-flex h-100"},qz={class:"viewer-error paper-error-card file-error-card m-auto",role:"alert","aria-labelledby":"viewer-error-title"},$z={id:"viewer-error-title",class:"paper-empty-title"},Lz={class:"paper-error-actions"},Uz={key:0,href:"/",class:"btn btn-sm"},Fz={key:1,href:"/faq",class:"btn btn-sm"},Bz={key:2,class:"btn btn-outline-ink",href:"/dashboard"},zz={key:6,class:"viewer-loading","aria-busy":"true"},Hz={class:"viewer-loading-status",role:"status","aria-live":"polite"},jz={class:"viewer-loading-name sr-only"},Gz={key:0},Wz={class:"viewer-loading-lines","aria-hidden":"true"},Kz={key:7,class:"file-error container d-flex h-100"},Yz={key:8,class:"file-error container d-flex h-100"};function op(e,t){let o=Xe("html-doc"),i=Xe("pdfviewer"),s=Xe("notebook"),r=Te("code-editor");return l(),d(L,null,[e.sidebarHidden&&e.type=="html"&&e.content!=null&&e.paths?.length===1&&/^readme/i.test(e.paths[0]||"")&&e.files?.length?(l(),d("section",n9,[t[44]||(t[44]=n("header",{class:"dir-card-head"},[n("span",{class:"dir-card-title"},"Files"),n("span",{class:"dir-card-sub"},"Snapshot of the repository at review time")],-1)),n("ul",{class:T(["dir-list",{"is-expanded":e.dirExpanded}])},[(l(!0),d(L,null,se(e.rootEntries(),a=>(l(),d("li",{key:a.name},[a.size==null?(l(),d("button",{key:0,type:"button",class:"dir-row",onClick:u=>e.revealFolder(a.name)},[t[41]||(t[41]=n("svg",{class:"dir-icon",viewBox:"0 0 16 16","aria-hidden":"true"},[n("path",{d:"M1.5 3.5h4l1.5 1.5h7.5v8h-13z"})],-1)),n("span",s9,c(a.name),1),t[42]||(t[42]=n("span",{class:"dir-meta"},"Folder",-1))],8,o9)):(l(),d("a",{key:1,class:T(["dir-row",{"is-current":a.name===e.paths[0]}]),href:e.safeUrl("/r/"+e.repoId+"/"+encodeURIComponent(a.name))},[t[43]||(t[43]=n("svg",{class:"dir-icon",viewBox:"0 0 16 16","aria-hidden":"true"},[n("path",{d:"M3.5 1.5h6l3 3v10h-9z"})],-1)),n("span",r9,c(a.name),1),n("span",a9,c(e.formatSize(a.size)),1)],10,i9))]))),128))],2),!e.dirExpanded&&e.files.length>8?(l(),d("button",{key:0,type:"button",class:"dir-more",onClick:t[0]||(t[0]=a=>e.dirExpanded=!0)},"Show all "+c(e.files.length)+" items",1)):f("v-if",!0)])):f("v-if",!0),(e.type=="text"||e.type=="code"||e.type=="html"||e.type=="html-doc"&&e.showSource)&&e.content!=null?(l(),d("section",{key:1,class:T(["file-card",{"is-code":e.type!="html","no-wrap":!e.wrapLines}])},[n("header",l9,[n("div",d9,[n("button",{type:"button",class:T(["btn btn-sm btn-icon-only btn-ghost card-files-btn",{"is-needed":e.sidebarHidden}]),title:"Show file tree",onClick:t[1]||(t[1]=a=>e.sidebarHidden?e.sidebarHidden=!1:e.sidebarCollapsed=!1)},[...t[45]||(t[45]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-sidebar"})],-1),n("span",{class:"card-files-label"},"Files",-1)])],2),n("ol",u9,[n("li",c9,[n("a",{href:e.safeUrl("/r/"+e.repoId+"/"),title:e.repoId,textContent:c(/^[0-9a-f]{8}-[0-9a-f]{4}-/i.test(e.repoId||"")?"repository":e.repoId)},null,8,p9)]),(l(!0),d(L,null,se(e.paths,(a,u)=>(l(),d("li",{class:"breadcrumb-item","aria-current":u===e.paths.length-1?"page":null},[(l(!0),d(L,null,se(e.redactParts(a),(p,y)=>(l(),d(L,{key:y},[p.n?(l(),d("span",{key:0,class:"redact-slot",role:"img","aria-label":"Redacted term "+p.n},[n("i",null,c(p.n),1)],8,h9)):(l(),d(L,{key:1},[v(c(p.t),1)],64))],64))),128))],8,f9))),256))]),n("span",m9,[e.redactionCount()?(l(),d("b",{key:0,class:"ms-item ms-redact",title:e.redactionCount()+" redacted terms"},[v(c(e.redactionCount()),1),t[46]||(t[46]=n("span",{class:"meta-redact-word"}," redacted",-1))],8,g9)):f("v-if",!0),n("span",v9,c(e.type=="html"?"Markdown":e.languageName||"Text"),1),e.fileSize(e.filePath)!=null?(l(),d("span",y9,c(e.formatSize(e.fileSize(e.filePath))),1)):f("v-if",!0),e.type!="html"&&typeof e.content=="string"?(l(),d("span",b9,c(e.fmt?.number(e.content.split(` -`).length))+" lines",1)):f("v-if",!0)]),P(n("button",{type:"button",class:"btn btn-sm btn-icon-only btn-ghost copy-path-btn","aria-label":e.pathCopied?"Path copied":"Copy file path",title:e.pathCopied?"Path copied":"Copy file path",onClick:t[2]||(t[2]=a=>e.copyPath())},[(l(),d("svg",k9,[n("use",{href:e.pathCopied?"#ui-icon-check":"#ui-icon-link"},null,8,C9)]))],8,w9),[[x,e.filePath]])]),e.type!="html"&&typeof e.content=="string"?(l(),d("span",E9,[e.redactionCount()?(l(),d(L,{key:0},[n("span",{class:"meta-redact",title:e.redactionCount()+" redacted terms"},[v(c(e.redactionCount()),1),t[47]||(t[47]=n("span",{class:"meta-redact-word"}," redacted",-1))],8,S9),t[48]||(t[48]=n("span",{class:"sep"},"\xB7",-1))],64)):f("v-if",!0),v(c(e.languageName||"Text"),1),n("span",N9,[t[49]||(t[49]=n("span",{class:"sep"},"\xB7",-1)),v(c(e.content.length<1024?e.content.length+" B":(e.content.length/1024).toFixed(1)+" KB"),1)]),t[50]||(t[50]=n("span",{class:"sep"},"\xB7",-1)),v(c(e.fmt?.number(e.content.split(` -`).length))+" lines",1)])):f("v-if",!0),e.type=="html"?(l(),d("span",R9,[e.redactionCount()?(l(),d(L,{key:0},[n("span",{class:"meta-redact",title:e.redactionCount()+" redacted terms"},[v(c(e.redactionCount()),1),t[51]||(t[51]=n("span",{class:"meta-redact-word"}," redacted",-1))],8,D9),t[52]||(t[52]=n("span",{class:"sep"},"\xB7",-1))],64)):f("v-if",!0),t[54]||(t[54]=v("Markdown",-1)),e.fileSize(e.filePath)!=null?(l(),d(L,{key:1},[t[53]||(t[53]=n("span",{class:"sep"},"\xB7",-1)),v(c(e.formatSize(e.fileSize(e.filePath))),1)],64)):f("v-if",!0)])):f("v-if",!0),n("div",A9,[e.isCsv()?(l(),d("div",T9,[n("button",{type:"button",role:"radio",class:T(["seg-chip",{active:e.csvView==="table"}]),"aria-checked":e.csvView==="table",onClick:t[3]||(t[3]=a=>e.csvView="table")},"Table",10,P9),n("button",{type:"button",role:"radio",class:T(["seg-chip",{active:e.csvView==="raw"}]),"aria-checked":e.csvView==="raw",onClick:t[4]||(t[4]=a=>e.csvView="raw"),title:"Show the file as text with line numbers"},"Text",10,O9)])):f("v-if",!0),e.type!="html"&&e.symbols().length>1?(l(),d("div",I9,[n("button",{type:"button",class:T(["btn btn-sm btn-ghost btn-symbols",{"is-on":e.symbolsOpen}]),"aria-expanded":e.symbolsOpen?"true":"false","aria-haspopup":"true",title:"Symbols in this file",onClick:t[5]||(t[5]=a=>e.symbolsOpen=!e.symbolsOpen)},[...t[55]||(t[55]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-list"})],-1),n("span",{class:"btn-find-label"},"Symbols",-1)])],10,M9),e.symbolsOpen?(l(),d("div",_9,[n("div",V9,c(e.symbols().length)+" "+c(e.symbols().length===1?"symbol":"symbols"),1),(l(!0),d(L,null,se(e.symbols(),a=>(l(),d("button",{type:"button",class:"symbols-item",role:"menuitem",key:a.line+a.name,onClick:u=>e.goToSymbol(a.line)},[n("span",{class:T(["symbols-kind","is-"+a.kind])},c(a.kind==="class"?"C":a.kind==="function"?"\u0192":"v"),3),n("span",$9,c(a.name),1),n("span",L9,c(a.line),1)],8,q9))),128))])):f("v-if",!0)])):f("v-if",!0),e.type=="html"?(l(),d("button",{key:2,type:"button",class:T(["btn btn-sm btn-ghost btn-icon-only btn-find btn-md-find",{"is-on":e.mdFindOpen}]),"aria-label":"Find on this page",title:"Find on this page ("+(e.isMac?"\u2318":"Ctrl+")+"F)",onClick:t[6]||(t[6]=a=>e.toggleMdFind())},[...t[56]||(t[56]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-search"})],-1)])],10,U9)):f("v-if",!0),e.type!="html"&&!(e.isCsv()&&e.csvView==="table")?(l(),d("div",F9,[e.type!="html"?(l(),d("button",{key:0,type:"button",class:"btn btn-sm btn-ghost btn-icon-only btn-goto","aria-label":"Go to line",title:"Go to line ("+(e.isMac?"\u2318":"Ctrl+")+"G)",onClick:t[7]||(t[7]=a=>e.gotoLine())},[...t[57]||(t[57]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-goto"})],-1)])],8,B9)):f("v-if",!0),e.type!="html"?(l(),d("button",{key:1,type:"button",class:T(["btn btn-sm btn-icon-only btn-ghost btn-toggle",{"is-on":e.wrapLines}]),"aria-pressed":e.wrapLines?"true":"false","aria-label":"Wrap lines",title:"Wrap lines (Alt+Z)",onClick:t[8]||(t[8]=a=>e.toggleWrap())},[...t[58]||(t[58]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-wrap"})],-1)])],10,z9)):f("v-if",!0),e.type!="html"?(l(),d("button",{key:2,type:"button",class:"btn btn-sm btn-ghost btn-icon-only btn-find","aria-label":"Find in file",title:"Find in file ("+(e.isMac?"\u2318":"Ctrl+")+"F)",onClick:t[9]||(t[9]=a=>e.findInFile())},[...t[59]||(t[59]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-search"})],-1)])],8,H9)):f("v-if",!0)])):f("v-if",!0),n("div",j9,[n("a",{target:"_self",class:"tb-seg-btn",title:e.type=="html"?"Open the Markdown source":"Open the raw file",href:e.safeUrl(e.url)},"Raw",8,G9),typeof e.content=="string"?(l(),d("button",{key:0,type:"button",class:"tb-seg-btn tb-seg-icon","aria-label":e.contentCopied?"Copied":"Copy file contents",title:e.contentCopied?"Copied":"Copy file contents",onClick:t[10]||(t[10]=a=>e.copyContent())},[(l(),d("svg",K9,[n("use",{href:e.contentCopied?"#ui-icon-check":"#project-icon-copy"},null,8,Y9)]))],8,W9)):f("v-if",!0),n("a",{target:"_self",class:"tb-seg-btn tb-seg-icon","aria-label":"Download file",title:"Download file",href:e.safeUrl(e.url+"&download=true")},[...t[60]||(t[60]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-download"})],-1)])],8,X9)]),typeof e.content=="string"?(l(),d("button",{key:4,type:"button",class:"btn btn-sm btn-icon-only btn-ghost tb-copy-m","aria-label":e.contentCopied?"Copied":"Copy file contents",onClick:t[11]||(t[11]=a=>e.copyContent())},[(l(),d("svg",J9,[n("use",{href:e.contentCopied?"#ui-icon-check":"#project-icon-copy"},null,8,Z9)]))],8,Q9)):f("v-if",!0),e.type=="html"&&e.readmeToc().length>=3?(l(),d("div",x9,[n("button",{type:"button",class:T(["btn btn-sm btn-icon-only btn-ghost tb-toc-btn",{"is-on":e.tocOpen}]),"aria-label":"On this page",title:"On this page","aria-haspopup":"true","aria-expanded":e.tocOpen?"true":"false",onClick:t[12]||(t[12]=ue(a=>{e.tocOpen=!e.tocOpen,e.moreOpen=!1},["stop"]))},[...t[61]||(t[61]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-outline"})],-1)])],10,eB),e.tocOpen?(l(),d("div",{key:0,class:"tb-menu tb-toc-menu",role:"menu",onClick:t[14]||(t[14]=a=>e.tocOpen=!1)},[t[62]||(t[62]=n("div",{class:"tb-menu-label"},"On this page",-1)),n("button",{type:"button",role:"menuitem",class:T(["tb-menu-toc","lvl-2",{"is-active":!e.activeHeading}]),onClick:t[13]||(t[13]=a=>e.scrollToHeading(null))},"Introduction",2),(l(!0),d(L,null,se(e.readmeToc(),a=>(l(),d("button",{type:"button",role:"menuitem",key:"m-"+a.id,class:T(["tb-menu-toc","lvl-"+a.level,{"is-active":e.activeHeading===a.id}]),onClick:u=>e.scrollToHeading(a.id)},c(a.text),11,tB))),128))])):f("v-if",!0)])):f("v-if",!0),n("div",nB,[n("button",{type:"button",class:T(["btn btn-sm btn-icon-only btn-ghost tb-more-btn",{"is-on":e.moreOpen}]),"aria-label":"More actions","aria-haspopup":"true","aria-expanded":e.moreOpen?"true":"false",onClick:t[15]||(t[15]=ue(a=>{e.tocOpen=!1,e.moreOpen=!e.moreOpen},["stop"]))},[(l(),d("svg",sB,[...t[63]||(t[63]=[n("circle",{cx:"5",cy:"12",r:"1.8"},null,-1),n("circle",{cx:"12",cy:"12",r:"1.8"},null,-1),n("circle",{cx:"19",cy:"12",r:"1.8"},null,-1)])]))],10,oB),e.moreOpen?(l(),d("div",{key:0,class:"tb-menu",role:"menu",onClick:t[22]||(t[22]=a=>e.moreOpen=!1)},[e.options?.publishedAt||e.options?.sourceCommitDate||e.options?.anonymizedAt||e.options?.lastUpdateDate?(l(),d("div",iB,[t[64]||(t[64]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-clock"})],-1)),v("Snapshot \xB7 "+c(e.fmt?.date(e.options?.publishedAt||e.options?.sourceCommitDate||e.options?.anonymizedAt||e.options?.lastUpdateDate)),1)])):f("v-if",!0),typeof e.content=="string"?(l(),d("div",rB,[v(c(e.type=="html"?"Markdown":e.languageName||"Text")+" \xB7 "+c(e.type=="html"&&e.fileSize(e.filePath)!=null?e.formatSize(e.fileSize(e.filePath)):e.content.length<1024?e.content.length+" B":(e.content.length/1024).toFixed(1)+" KB"),1),e.type!="html"?(l(),d(L,{key:0},[v(" \xB7 "+c(e.fmt?.number(e.content.split(` -`).length))+" lines",1)],64)):f("v-if",!0)])):f("v-if",!0),e.options?.publishedAt||e.options?.sourceCommitDate||e.options?.anonymizedAt||e.options?.lastUpdateDate?(l(),d("div",aB)):f("v-if",!0),e.type=="html"?(l(),d("button",{key:3,type:"button",role:"menuitem",onClick:t[16]||(t[16]=a=>e.toggleMdFind())},[...t[65]||(t[65]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-search"})],-1),v("Find in file",-1)])])):f("v-if",!0),e.type=="html"?(l(),d("div",lB)):f("v-if",!0),e.type!="html"?(l(),d("button",{key:5,type:"button",role:"menuitem",onClick:t[17]||(t[17]=a=>e.findInFile())},[...t[66]||(t[66]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-search"})],-1),v("Find in file",-1)])])):f("v-if",!0),e.type!="html"?(l(),d("button",{key:6,type:"button",role:"menuitem",onClick:t[18]||(t[18]=a=>e.gotoLine())},[...t[67]||(t[67]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-goto"})],-1),v("Go to line",-1)])])):f("v-if",!0),e.type!="html"?(l(),d("button",{key:7,type:"button",role:"menuitemcheckbox","aria-checked":e.wrapLines?"true":"false",onClick:t[19]||(t[19]=a=>e.toggleWrap())},[t[68]||(t[68]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-wrap"})],-1)),t[69]||(t[69]=v("Wrap lines",-1)),e.wrapLines?(l(),d("span",uB,"\u2713")):f("v-if",!0)],8,dB)):f("v-if",!0),e.isCsv()?(l(),d("button",{key:8,type:"button",role:"menuitem",class:"tb-csv-view",onClick:t[20]||(t[20]=a=>{e.csvView=e.csvView==="table"?"raw":"table",e.moreOpen=!1})},[(l(),d("svg",cB,[n("use",{href:e.csvView==="table"?"#ui-icon-code":"#ui-icon-list"},null,8,pB)])),v(c(e.csvView==="table"?"Show as text":"Show as table"),1)])):f("v-if",!0),e.type!="html"?(l(),d("div",fB)):f("v-if",!0),e.type=="html"?(l(),d("a",{key:10,role:"menuitem",target:"_self",href:e.safeUrl(e.url)},[...t[70]||(t[70]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-code"})],-1),v("View raw",-1)])],8,hB)):f("v-if",!0),e.type!="html"?(l(),d("a",{key:11,role:"menuitem",target:"_self",href:e.safeUrl(e.url)},[...t[71]||(t[71]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-code"})],-1),v("View raw",-1)])],8,mB)):f("v-if",!0),n("a",{role:"menuitem",target:"_self",href:e.safeUrl(e.url+"&download=true")},[...t[72]||(t[72]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-download"})],-1),v("Download file",-1)])],8,gB),e.options?.hasWebsite?(l(),d("a",{key:12,role:"menuitem",target:"_self",href:e.safeUrl("/w/"+e.repoId+"/")},[...t[73]||(t[73]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-globe"})],-1),v("Open website",-1)])],8,vB)):f("v-if",!0),e.options?.isAdmin||e.options?.isOwner?(l(),d("a",{key:13,role:"menuitem",href:e.safeUrl("/anonymize/"+e.repoId)},[...t[74]||(t[74]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-edit"})],-1),v("Edit anonymization",-1)])],8,yB)):f("v-if",!0),e.options?.download?(l(),d("a",{key:14,role:"menuitem",target:"_self",href:e.safeUrl("/api/repo/"+e.repoId+"/zip")},[...t[75]||(t[75]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-archive"})],-1),v("Download ZIP",-1)])],8,bB)):f("v-if",!0),n("button",{type:"button",role:"menuitem",onClick:t[21]||(t[21]=a=>e.copyPath())},[...t[76]||(t[76]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-link"})],-1),v("Copy file path",-1)])]),t[77]||(t[77]=n("div",{class:"tb-menu-sep"},null,-1)),t[78]||(t[78]=n("a",{role:"menuitem",href:"/faq"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-help"})]),v("FAQ")],-1)),t[79]||(t[79]=n("a",{role:"menuitem",href:"https://github.com/tdurieux/anonymous_github/issues/new?template=issue_report.yml",target:"_blank",rel:"noopener"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-bug"})]),v("Report a bug")],-1))])):f("v-if",!0)])]),e.gotoOpen&&e.type!="html"?(l(),d("form",{key:2,class:"goto-pop",role:"dialog","aria-label":"Go to line",onSubmit:t[25]||(t[25]=ue(a=>e.submitGoto(),["prevent"]))},[t[80]||(t[80]=n("label",{class:"goto-label",for:"goto-input"},"Go to line",-1)),P(n("input",{id:"goto-input",class:"goto-input",type:"text",inputmode:"numeric",autocomplete:"off",spellcheck:"false",placeholder:"1\u2013"+e.fmt?.number(typeof e.content=="string"?e.content.split(` -`).length:1),"aria-invalid":e.gotoError?"true":"false","onUpdate:modelValue":t[23]||(t[23]=a=>e.gotoValue=a),onKeydown:t[24]||(t[24]=pt(ue(a=>e.closeGoto(),["prevent","stop"]),["esc"]))},null,40,wB),[[ut,e.gotoValue]]),n("span",{class:T(["goto-hint",{"is-error":e.gotoError}])},c(e.gotoError||"Line, or line:column"),3)],32)):f("v-if",!0)]),e.isCsv()&&e.csvView==="table"?(l(),d("div",{key:0,class:"csv-table-wrap",tabindex:"0",role:"region","aria-label":"Table view of "+(e.paths?.[e.paths.length-1]||"file")},[n("table",CB,[n("thead",null,[n("tr",null,[t[81]||(t[81]=n("th",{class:"csv-rownum",scope:"col"},[n("span",{class:"sr-only"},"Row")],-1)),(l(!0),d(L,null,se(e.csvRows()[0]||[],(a,u)=>(l(),d("th",{scope:"col",key:u,class:T({"is-num":e.csvNumCol(u)})},[(l(!0),d(L,null,se(e.redactParts(a),(p,y)=>(l(),d(L,{key:y},[p.n?(l(),d("span",{key:0,class:"redact-slot",role:"img","aria-label":"Redacted term "+p.n},[n("i",null,c(p.n),1)],8,EB)):(l(),d(L,{key:1},[v(c(p.t),1)],64))],64))),128))],2))),128))])]),n("tbody",null,[(l(!0),d(L,null,se(e.csvRows().slice(1),(a,u)=>(l(),d("tr",{key:u},[n("td",SB,c(u+1),1),(l(!0),d(L,null,se(a,(p,y)=>(l(),d("td",{key:y,class:T({"is-num":e.csvNumCol(y)})},[(l(!0),d(L,null,se(e.redactParts(p),(h,b)=>(l(),d(L,{key:b},[h.n?(l(),d("span",{key:0,class:"redact-slot",role:"img","aria-label":"Redacted term "+h.n},[n("i",null,c(h.n),1)],8,NB)):(l(),d(L,{key:1},[v(c(h.t),1)],64))],64))),128))],2))),128))]))),128))])])],8,kB)):f("v-if",!0),e.type!="html"&&!(e.isCsv()&&e.csvView==="table")?P((l(),d("div",RB,null,512)),[[r,{content:e.content,options:e.aceOption}]]):f("v-if",!0),e.type=="html"&&e.mdFindOpen?(l(),d("div",DB,[n("input",{type:"search",class:"md-find-input",placeholder:"Find on this page","aria-label":"Find on this page",value:e.mdFindQuery,onInput:t[26]||(t[26]=a=>{e.mdFindQuery=a.target.value,e.runMdFind()}),onKeydown:[t[27]||(t[27]=pt(ue(a=>a.shiftKey?e.stepMdFind(-1):e.stepMdFind(1),["prevent"]),["enter"])),t[28]||(t[28]=pt(ue(a=>e.toggleMdFind(!1),["prevent"]),["esc"]))]},null,40,AB),n("span",TB,[n("button",{type:"button","aria-label":"Previous match",onClick:t[29]||(t[29]=a=>e.stepMdFind(-1)),disabled:!e.mdFindTotal},[...t[82]||(t[82]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-chevron-left"})],-1)])],8,PB),n("button",{type:"button","aria-label":"Next match",onClick:t[30]||(t[30]=a=>e.stepMdFind(1)),disabled:!e.mdFindTotal},[...t[83]||(t[83]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-chevron-right"})],-1)])],8,OB)]),n("span",IB,c(e.mdFindQuery?e.mdFindTotal?e.mdFindIndex+1+" of "+e.mdFindTotal:"No results":""),1),n("button",{type:"button",class:T(["md-find-opt",{"is-on":e.mdFindCase}]),"aria-pressed":e.mdFindCase?"true":"false",title:"Match case","aria-label":"Match case",onClick:t[31]||(t[31]=a=>{e.mdFindCase=!e.mdFindCase,e.runMdFind()})},"Aa",10,MB),n("button",{type:"button",class:"md-find-close","aria-label":"Close find",onClick:t[32]||(t[32]=a=>e.toggleMdFind(!1))},"\xD7")])):f("v-if",!0),e.type=="html"?(l(),d("div",_B,[n("div",{class:"file-content markdown-body",innerHTML:e.renderReadme(e.sanitize(e.content))},null,8,VB),e.readmeToc().length>=3?(l(),d("aside",qB,[t[84]||(t[84]=n("div",{class:"readme-toc-head"},"On this page",-1)),n("nav",$B,[n("a",{href:"#",class:T(["lvl-2 toc-top",{"is-active":!e.activeHeading}]),onClick:t[33]||(t[33]=ue(a=>e.scrollToHeading(null),["prevent"]))},"Introduction",2),(l(!0),d(L,null,se(e.readmeToc(),(a,u)=>(l(),d("a",{key:a.id,href:"#"+a.id,class:T(["lvl-"+a.level,{"is-active":e.activeHeading===a.id}]),onClick:ue(p=>e.scrollToHeading(a.id),["prevent"])},c(a.text),11,LB))),128))])])):f("v-if",!0)])):f("v-if",!0)],2)):f("v-if",!0),e.type=="html-doc"&&!e.showSource&&e.content!=null?(l(),un(o,{key:2,content:e.content,"base-url":e.fileBaseUrl,"allow-scripts":e.allowScripts},null,8,["content","base-url","allow-scripts"])):f("v-if",!0),e.fileFrame()?(l(),d("section",{key:3,class:T(["file-card file-card-media","view-"+e.type])},[n("header",UB,[n("div",FB,[n("button",{type:"button",class:T(["btn btn-sm btn-icon-only btn-ghost card-files-btn",{"is-needed":e.sidebarHidden}]),title:"Show file tree",onClick:t[34]||(t[34]=a=>e.sidebarHidden?e.sidebarHidden=!1:e.sidebarCollapsed=!1)},[...t[85]||(t[85]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-sidebar"})],-1),n("span",{class:"card-files-label"},"Files",-1)])],2),n("ol",BB,[n("li",zB,[n("a",{href:e.safeUrl("/r/"+e.repoId+"/"),title:e.repoId,textContent:c(/^[0-9a-f]{8}-[0-9a-f]{4}-/i.test(e.repoId||"")?"repository":e.repoId)},null,8,HB)]),(l(!0),d(L,null,se(e.paths,(a,u)=>(l(),d("li",{class:"breadcrumb-item","aria-current":u===e.paths.length-1?"page":null},[(l(!0),d(L,null,se(e.redactParts(a),(p,y)=>(l(),d(L,{key:y},[p.n?(l(),d("span",{key:0,class:"redact-slot",role:"img","aria-label":"Redacted term "+p.n},[n("i",null,c(p.n),1)],8,GB)):(l(),d(L,{key:1},[v(c(p.t),1)],64))],64))),128))],8,jB))),256))]),n("span",WB,[e.type=="IPython"&&e.redactionCount()?(l(),d("b",{key:0,class:"ms-item ms-redact",title:e.redactionCount()+" redacted terms"},[v(c(e.redactionCount()),1),t[86]||(t[86]=n("span",{class:"meta-redact-word"}," redacted",-1))],8,KB)):f("v-if",!0),n("span",YB,c(e.fileKind()),1),e.imageSize?(l(),d("span",XB,c(e.imageSize),1)):f("v-if",!0),e.fileSize(e.filePath)!=null?(l(),d("span",QB,c(e.formatSize(e.fileSize(e.filePath))),1)):f("v-if",!0)]),P(n("button",{type:"button",class:"btn btn-sm btn-icon-only btn-ghost copy-path-btn","aria-label":e.pathCopied?"Path copied":"Copy file path",title:e.pathCopied?"Path copied":"Copy file path",onClick:t[35]||(t[35]=a=>e.copyPath())},[(l(),d("svg",ZB,[n("use",{href:e.pathCopied?"#ui-icon-check":"#ui-icon-link"},null,8,xB)]))],8,JB),[[x,e.filePath]])]),n("span",ez,[e.type=="IPython"&&e.redactionCount()?(l(),d(L,{key:0},[n("span",{class:"meta-redact",title:e.redactionCount()+" redacted terms"},[v(c(e.redactionCount()),1),t[87]||(t[87]=n("span",{class:"meta-redact-word"}," redacted",-1))],8,tz),t[88]||(t[88]=n("span",{class:"sep"},"\xB7",-1))],64)):f("v-if",!0),v(c(e.fileKind()),1),e.imageSize?(l(),d(L,{key:1},[t[89]||(t[89]=n("span",{class:"sep"},"\xB7",-1)),v(c(e.imageSize),1)],64)):f("v-if",!0),e.fileSize(e.filePath)!=null?(l(),d(L,{key:2},[t[90]||(t[90]=n("span",{class:"sep"},"\xB7",-1)),v(c(e.formatSize(e.fileSize(e.filePath))),1)],64)):f("v-if",!0)]),n("div",nz,[e.type=="error"&&e.content==="file_too_big"?(l(),d("span",oz,[...t[91]||(t[91]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-info"})],-1),v("Over the size limit",-1)])])):f("v-if",!0),e.type!="error"?(l(),d("div",sz,[n("a",{target:"_self",class:"tb-seg-btn",title:e.type=="IPython"?"Open the notebook JSON":"Open the raw file",href:e.safeUrl(e.url)},"Raw",8,iz),n("a",{target:"_self",class:"tb-seg-btn tb-seg-icon","aria-label":"Download file",title:"Download file",href:e.safeUrl(e.url+"&download=true")},[...t[92]||(t[92]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-download"})],-1)])],8,rz)])):f("v-if",!0),n("div",az,[n("button",{type:"button",class:T(["btn btn-sm btn-icon-only btn-ghost tb-more-btn",{"is-on":e.moreOpen}]),"aria-label":"More actions","aria-haspopup":"true","aria-expanded":e.moreOpen?"true":"false",onClick:t[36]||(t[36]=ue(a=>e.moreOpen=!e.moreOpen,["stop"]))},[(l(),d("svg",dz,[...t[93]||(t[93]=[n("circle",{cx:"5",cy:"12",r:"1.8"},null,-1),n("circle",{cx:"12",cy:"12",r:"1.8"},null,-1),n("circle",{cx:"19",cy:"12",r:"1.8"},null,-1)])]))],10,lz),e.moreOpen?(l(),d("div",{key:0,class:"tb-menu",role:"menu",onClick:t[38]||(t[38]=a=>e.moreOpen=!1)},[e.options?.publishedAt||e.options?.sourceCommitDate||e.options?.anonymizedAt||e.options?.lastUpdateDate?(l(),d("div",uz,[t[94]||(t[94]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-clock"})],-1)),v("Snapshot \xB7 "+c(e.fmt?.date(e.options?.publishedAt||e.options?.sourceCommitDate||e.options?.anonymizedAt||e.options?.lastUpdateDate)),1)])):f("v-if",!0),e.options?.publishedAt||e.options?.sourceCommitDate||e.options?.anonymizedAt||e.options?.lastUpdateDate?(l(),d("div",cz)):f("v-if",!0),e.type!="error"?(l(),d("a",{key:2,role:"menuitem",target:"_self",href:e.safeUrl(e.url)},[t[95]||(t[95]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-code"})],-1)),v(c(e.type=="IPython"?"View notebook JSON":"View raw"),1)],8,pz)):f("v-if",!0),e.type!="error"?(l(),d("a",{key:3,role:"menuitem",target:"_self",href:e.safeUrl(e.url+"&download=true")},[...t[96]||(t[96]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-download"})],-1),v("Download file",-1)])],8,fz)):f("v-if",!0),e.options?.download?(l(),d("a",{key:4,role:"menuitem",target:"_self",href:e.safeUrl("/api/repo/"+e.repoId+"/zip")},[...t[97]||(t[97]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-archive"})],-1),v("Download ZIP",-1)])],8,hz)):f("v-if",!0),n("button",{type:"button",role:"menuitem",onClick:t[37]||(t[37]=a=>e.copyPath())},[...t[98]||(t[98]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-link"})],-1),v("Copy file path",-1)])]),t[99]||(t[99]=n("div",{class:"tb-menu-sep"},null,-1)),t[100]||(t[100]=n("a",{role:"menuitem",href:"/faq"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-help"})]),v("FAQ")],-1)),t[101]||(t[101]=n("a",{role:"menuitem",href:"https://github.com/tdurieux/anonymous_github/issues/new?template=issue_report.yml",target:"_blank",rel:"noopener"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-bug"})]),v("Report a bug")],-1))])):f("v-if",!0)])])]),e.type=="image"?(l(),d("div",mz,[n("img",{class:"image-content",src:e.safeUrl(e.url),alt:e.paths[e.paths.length-1],onLoad:t[39]||(t[39]=a=>e.onImageLoad(a))},null,40,gz)])):f("v-if",!0),e.type=="media"?(l(),d("div",vz,[n("video",{class:"video-content",controls:"",preload:"metadata",playsinline:"",src:e.safeUrl(e.url)},null,8,yz)])):f("v-if",!0),e.type=="audio"?(l(),d("div",bz,[n("audio",{controls:"",preload:"metadata",src:e.safeUrl(e.url)},null,8,wz)])):f("v-if",!0),e.type=="pdf"?(l(),un(i,{key:3,src:e.safeUrl(e.url)},null,8,["src"])):f("v-if",!0),e.type=="IPython"?(l(),d("div",kz,[_e(s,{class:"markdown-body",file:e.url,content:e.content},null,8,["file","content"])])):f("v-if",!0),e.type=="binary"?(l(),d("div",Cz,[t[103]||(t[103]=n("svg",{class:"ui-icon file-state-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-file"})],-1)),t[104]||(t[104]=n("h2",{class:"file-state-title"},"No preview for this file",-1)),t[105]||(t[105]=n("p",{class:"file-state-msg"},"This is a binary file. Download it to open it on your computer.",-1)),n("div",Ez,[n("a",{target:"_self",class:"btn btn-primary",href:e.safeUrl(e.url+"&download=true")},[...t[102]||(t[102]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-download"})],-1),v("Download file",-1)])],8,Sz)])])):f("v-if",!0),e.type=="error"?(l(),d("div",Nz,[t[107]||(t[107]=n("svg",{class:"ui-icon file-state-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-warning"})],-1)),n("h2",Rz,c(e.content==="file_too_big"?"This file is too large to preview":"This file can't be shown"),1),e.content==="file_too_big"?(l(),d("p",Dz,"It is over the size limit for anonymized files, so it can't be previewed or downloaded from this link.")):(l(),d("p",Az,c(e.fmt.translate("ERRORS."+e.content)),1)),n("div",Tz,[n("a",{class:"btn btn-primary",href:e.safeUrl("/r/"+e.repoId+"/")},"Back to the repository",8,Pz),t[106]||(t[106]=n("a",{class:"btn btn-outline-ink",href:"/faq#formats"},"Supported files",-1))])])):f("v-if",!0),e.content==null&&e.type!="error"?(l(),d("div",Oz,[...t[108]||(t[108]=[n("svg",{class:"ui-icon file-state-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-file"})],-1),n("h2",{class:"file-state-title"},"This file is empty",-1),n("p",{class:"file-state-msg"},"It has no content in this snapshot.",-1)])])):f("v-if",!0)],2)):f("v-if",!0),e.type=="rate_limited"?(l(),d("div",Iz,[n("div",Mz,[t[111]||(t[111]=Ee('
    Temporarily paused
    GitHub API rate limit reached
    ',1)),n("p",_z,[t[109]||(t[109]=v("This repository will be available in ",-1)),n("strong",null,c(e.rateLimitCountdown),1),t[110]||(t[110]=v(". The page will reload automatically.",-1))])])])):f("v-if",!0),e.type=="error"&&!e.fileFrame()?(l(),d("div",Vz,[n("section",qz,[n("h1",$z,c(e.fmt.translate(e.isSourceAccessError()?"VIEWER_ERRORS.access_title":"VIEWER_ERRORS.title")),1),n("p",null,c(e.fmt.translate("ERRORS."+e.content)),1),e.isSourceAccessError()?(l(),d(L,{key:0},[n("p",null,c(e.fmt.translate("VIEWER_ERRORS.reader_help")),1),n("p",null,c(e.fmt.translate("VIEWER_ERRORS.owner_help")),1)],64)):f("v-if",!0),n("div",Lz,[e.isSourceAccessError()?f("v-if",!0):(l(),d("a",Uz,"Back to home")),e.isSourceAccessError()?f("v-if",!0):(l(),d("a",Fz,"Read the FAQ")),n("button",{type:"button",class:"btn btn-primary",onClick:t[40]||(t[40]=a=>e.retryContent())},c(e.fmt.translate("VIEWER_ERRORS.retry")),1),e.isSourceAccessError()?(l(),d("a",Bz,c(e.fmt.translate("VIEWER_ERRORS.dashboard")),1)):f("v-if",!0)])])])):f("v-if",!0),e.type=="loading"&&!e.error?(l(),d("section",zz,[n("div",Hz,[n("strong",null,c(e.fmt.translate(e.fileReceivedBytes?"VIEWER_LOADING.receiving":"VIEWER_LOADING.loading")),1),n("span",jz,c(e.filePath),1),e.fileLoadingSlow?(l(),d("p",Gz,c(e.fmt.translate("VIEWER_LOADING.slow")),1)):f("v-if",!0)]),n("div",Wz,[(l(),d(L,null,se(10,a=>n("span",{key:a})),64))])])):f("v-if",!0),e.type=="empty"?(l(),d("div",Kz,[...t[112]||(t[112]=[n("h1",{class:"paper-empty-title m-auto"},[v("Empty "),n("em",null,"repository"),v(".")],-1)])])):f("v-if",!0),e.content==null&&!["empty","loading","error","rate_limited"].includes(e.type)&&!e.fileFrame()?(l(),d("div",Yz,[...t[113]||(t[113]=[n("h1",{class:"paper-empty-title m-auto"},[v("Empty "),n("em",null,"file"),v(".")],-1)])])):f("v-if",!0)],64)}var Xz={class:"container page dashboard-page paper-page"},Qz={class:"row"},Jz={class:"w-100"},Zz={class:"w-100","aria-label":"Pull Requests","accept-charset":"UTF-8"},xz={class:"d-flex flex-column flex-md-row align-items-md-center",style:{gap:"8px"}},eH={class:"flex-grow-1"},tH={type:"search",id:"search",class:"form-control","aria-label":"Find a pull request...",placeholder:"Find a pull request...",autocomplete:"off"},nH={class:"d-flex flex-wrap",style:{gap:"6px"}},oH={class:"dropdown"},sH={class:"dropdown-menu","aria-labelledby":"dropdownSort"},iH={class:"form-check dropdown-item"},rH={class:"form-check-input",type:"radio",name:"sort",id:"sortFullName",value:"fullName"},aH={class:"form-check dropdown-item"},lH={class:"form-check-input",type:"radio",name:"sort",id:"sortAnonymizeDate",value:"-anonymizeDate"},dH={class:"form-check dropdown-item"},uH={class:"form-check-input",type:"radio",name:"sort",id:"sortStatus",value:"-status"},cH={class:"form-check dropdown-item"},pH={class:"form-check-input",type:"radio",name:"sort",id:"sortLastView",value:"-lastView"},fH={class:"form-check dropdown-item"},hH={class:"form-check-input",type:"radio",name:"sort",id:"sortPageView",value:"-pageView"},mH={class:"dropdown"},gH={class:"dropdown-menu","aria-labelledby":"dropdownStatus"},vH={class:"form-check dropdown-item"},yH={class:"form-check-input",type:"checkbox",name:"sort",id:"statusReady",value:"ready"},bH={class:"form-check dropdown-item"},wH={class:"form-check-input",type:"checkbox",name:"sort",id:"statusExpired",value:"expired"},kH={class:"form-check dropdown-item"},CH={class:"form-check-input",type:"checkbox",name:"sort",id:"statusRemoved",value:"removed"},EH={class:"d-flex flex-wrap mt-2",style:{gap:"6px"}},SH={class:"filter-chip"},NH=["onClick"],RH={class:"repo-list w-100"},DH={class:"repo-list-item-content"},AH={class:"repo-list-item-main"},TH={class:"repo-list-item-header"},PH=["textContent","href"],OH=["textContent"],IH=["textContent"],MH={class:"repo-source"},_H=["href"],VH={class:"repo-date"},qH={class:"repo-meta"},$H={key:0,title:"Conference"},LH=["title"],UH=["title"],FH=["title"],BH={key:1},zH={class:"repo-list-item-actions"},HH={class:"dropdown"},jH={class:"dropdown-menu dropdown-menu-right"},GH=["href"],WH=["onClick"],KH=["onClick"],YH=["onClick"],XH=["href"],QH={key:0,class:"repo-list-empty"};function sp(e,t){let o=Te("field"),i=Te("form");return l(),d("div",Xz,[n("div",Qz,[n("div",Jz,[t[12]||(t[12]=Ee('
    My work \xA0/\xA0 Pull requests

    Anonymized pull requests

    Track PR mirrors you\u2019ve created and their reviewer traffic.

    ',2)),f(" Search + filters row "),P((l(),d("form",Zz,[n("div",xz,[n("div",eH,[P(n("input",tH,null,512),[[o,{state:e.viewState,set:s=>{e.search=s},value:e.search,form:null,options:{}}]])]),n("div",nH,[n("div",oH,[t[6]||(t[6]=n("button",{class:"btn btn-sm dropdown-toggle",type:"button",id:"dropdownSort","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"}," Sort ",-1)),n("div",sH,[t[5]||(t[5]=n("h6",{class:"dropdown-header"},"Select order",-1)),n("div",iH,[P(n("input",rH,null,512),[[o,{state:e.viewState,set:s=>{e.orderBy=s},value:e.orderBy,form:null,options:{}}]]),t[0]||(t[0]=n("label",{class:"form-check-label",for:"sortFullName"},"Pull Request",-1))]),n("div",aH,[P(n("input",lH,null,512),[[o,{state:e.viewState,set:s=>{e.orderBy=s},value:e.orderBy,form:null,options:{}}]]),t[1]||(t[1]=n("label",{class:"form-check-label",for:"sortAnonymizeDate"},"Anonymize Date",-1))]),n("div",dH,[P(n("input",uH,null,512),[[o,{state:e.viewState,set:s=>{e.orderBy=s},value:e.orderBy,form:null,options:{}}]]),t[2]||(t[2]=n("label",{class:"form-check-label",for:"sortStatus"},"Status",-1))]),n("div",cH,[P(n("input",pH,null,512),[[o,{state:e.viewState,set:s=>{e.orderBy=s},value:e.orderBy,form:null,options:{}}]]),t[3]||(t[3]=n("label",{class:"form-check-label",for:"sortLastView"},"Last View",-1))]),n("div",fH,[P(n("input",hH,null,512),[[o,{state:e.viewState,set:s=>{e.orderBy=s},value:e.orderBy,form:null,options:{}}]]),t[4]||(t[4]=n("label",{class:"form-check-label",for:"sortPageView"},"Page View",-1))])])]),n("div",mH,[t[11]||(t[11]=n("button",{class:"btn btn-sm dropdown-toggle",type:"button",id:"dropdownStatus","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"}," Status ",-1)),n("div",gH,[t[10]||(t[10]=n("h6",{class:"dropdown-header"},"Select status",-1)),n("div",vH,[P(n("input",yH,null,512),[[o,{state:e.viewState,set:s=>{e.filters.status.ready=s},value:e.filters?.status?.ready,form:null,options:{}}]]),t[7]||(t[7]=n("label",{class:"form-check-label",for:"statusReady"},"Ready",-1))]),n("div",bH,[P(n("input",wH,null,512),[[o,{state:e.viewState,set:s=>{e.filters.status.expired=s},value:e.filters?.status?.expired,form:null,options:{}}]]),t[8]||(t[8]=n("label",{class:"form-check-label",for:"statusExpired"},"Expired",-1))]),n("div",kH,[P(n("input",CH,null,512),[[o,{state:e.viewState,set:s=>{e.filters.status.removed=s},value:e.filters?.status?.removed,form:null,options:{}}]]),t[9]||(t[9]=n("label",{class:"form-check-label",for:"statusRemoved"},"Removed",-1))])])])])])])),[[i,e.viewState]]),f(" Active filter chips "),P(n("div",EH,[(l(!0),d(L,null,se(e.filters?.status,(s,r,a)=>P((l(),d("span",SH,[v(c(e.fmt?.title(r))+" ",1),n("button",{type:"button",class:"filter-chip-close","aria-label":"Remove filter",onClick:u=>{e.filters.status[r]=!0}}," \xD7 ",8,NH)],512)),[[x,!s]])),256))],512),[[x,e.filters?.status?.ready===!1||e.filters?.status?.expired===!1||e.filters?.status?.removed===!1]])]),f(" Pull request list "),n("ul",RH,[(l(!0),d(L,null,se(e.filteredPullRequests,(s,r)=>(l(),d("li",{class:T(["repo-list-item",{"repo-inactive":s?.status=="expired"||s?.status=="removed"||s?.status=="error"}])},[n("div",DH,[n("div",AH,[n("div",TH,[n("a",{class:"repo-name",textContent:c(s?.pullRequestId),href:e.safeUrl("/pr/"+s?.pullRequestId)},null,8,PH),n("span",{class:T(["status-badge",{"status-removed":s?.status=="removed"||s?.status=="expired"||s?.status=="removing"||s?.status=="expiring","status-preparing":s?.status=="preparing"||s?.status=="download","status-ready":s?.status=="ready","status-error":s?.status=="error"}])},[n("span",{textContent:c(e.fmt?.title(s?.status))},null,8,OH),s?.status=="error"?(l(),d("span",{key:0,textContent:c(": "+s?.statusMessage)},null,8,IH)):f("v-if",!0)],2)]),n("div",MH,[n("span",null,[t[13]||(t[13]=n("i",{class:"fab fa-github","aria-hidden":"true"},null,-1)),n("a",{href:e.safeUrl("https://github.com/"+s?.source?.repositoryFullName+"/pull/"+s?.source?.pullRequestId)},c(s?.source?.repositoryFullName)+"#"+c(s?.source?.pullRequestId),9,_H)]),n("span",{class:T(["status-badge",{"status-ready":s?.merged,"status-removed":s?.state=="open","status-error":s?.state=="closed"&&!s?.merged}]),style:{"font-size":"10px"}},c(e.fmt?.title(s?.merged?"merged":s?.state)),3),n("span",VH,"anonymized "+c(e.fmt?.humanTime(s?.anonymizeDate)),1)])]),n("div",qH,[s?.conference?(l(),d("span",$H,[t[14]||(t[14]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-conference"})],-1)),v(" "+c(s?.conference),1)])):f("v-if",!0),n("span",{"data-toggle":"tooltip","data-placement":"bottom",title:"Terms: "+s?.options?.terms?.join(", ")},[t[15]||(t[15]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-shield"})],-1)),v(" "+c(e.fmt?.number(s?.options?.terms?.length)),1)],8,LH),n("span",{"data-toggle":"tooltip","data-placement":"bottom",title:"Views: "+e.fmt?.number(s?.pageView)},[t[16]||(t[16]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-eye"})],-1)),v(" "+c(e.fmt?.number(s?.pageView)),1)],8,UH),n("span",{"data-toggle":"tooltip","data-placement":"bottom",title:"Last view: "+e.fmt?.date(s?.lastView)},[t[17]||(t[17]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-calendar"})],-1)),v(" "+c(e.fmt?.humanTime(s?.lastView)),1)],8,FH),s?.options?.expirationMode!="never"&&s?.status=="ready"?(l(),d("span",BH,[t[18]||(t[18]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-clock"})],-1)),v(" Expire: "+c(e.fmt?.humanTime(s?.options?.expirationDate)),1)])):f("v-if",!0)])]),n("div",zH,[n("div",HH,[t[24]||(t[24]=n("button",{class:"btn btn-sm dropdown-toggle",type:"button","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"}," Actions ",-1)),n("div",jH,[n("a",{class:"dropdown-item",href:e.safeUrl("/pull-request-anonymize/"+s?.pullRequestId)},[...t[19]||(t[19]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-edit"})],-1),v(" Edit ",-1)])],8,GH),P(n("a",{class:"dropdown-item",href:"#",onClick:ue(a=>e.updatePullRequest(s),["prevent"])},[...t[20]||(t[20]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-refresh"})],-1),v(" Force update ",-1)])],8,WH),[[x,s?.status=="ready"||s?.status=="error"]]),P(n("a",{class:"dropdown-item",href:"#",onClick:ue(a=>e.updatePullRequest(s),["prevent"])},[...t[21]||(t[21]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-check-circle"})],-1),v(" Enable ",-1)])],8,KH),[[x,s?.status=="removed"]]),P(n("a",{class:"dropdown-item",href:"#",onClick:ue(a=>e.removePullRequest(s),["prevent"])},[...t[22]||(t[22]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-trash"})],-1),v(" Remove ",-1)])],8,YH),[[x,s?.status=="ready"]]),n("a",{class:"dropdown-item",href:e.safeUrl("/pr/"+s?.pullRequestId+"/")},[...t[23]||(t[23]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-eye"})],-1),v(" View PR ",-1)])],8,XH)])])])],2))),256)),e.filteredPullRequests?.length==0?(l(),d("li",QH,[...t[25]||(t[25]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-inbox"})],-1),n("span",null,"No pull requests to display.",-1)])])):f("v-if",!0)])])])}var JH={class:"container paper-page user-settings"},ZH={class:"settings-nav","aria-label":"Settings"},xH=["aria-current","onClick"],ej={class:"settings-row"},tj=["rows"],nj={class:"settings-syntax"},oj={class:"invalid-feedback"},sj={class:"settings-row"},ij={class:"settings-checks"},rj={class:"settings-check"},aj={class:"form-check-input",type:"checkbox",id:"link",name:"link"},lj={class:"settings-check"},dj={class:"form-check-input",type:"checkbox",id:"image",name:"image"},uj={class:"settings-check"},cj={class:"form-check-input",type:"checkbox",id:"pdf",name:"pdf"},pj={class:"settings-check"},fj={class:"form-check-input",type:"checkbox",id:"notebook",name:"notebook"},hj={class:"settings-check"},mj={class:"form-check-input",type:"checkbox",id:"loc",name:"loc"},gj={class:"settings-check"},vj={class:"form-check-input",type:"checkbox",id:"page",name:"page"},yj={class:"settings-row"},bj={class:"settings-check"},wj={class:"form-check-input",type:"checkbox",id:"update",name:"update"},kj={class:"settings-row"},Cj={class:"form-control",id:"expiration",name:"expiration"},Ej={class:"settings-help"},Sj={class:"settings-save"},Nj={class:"settings-save-status draft-status",role:"status"},Rj={key:0},Dj={key:1},Aj={key:2},Tj=["disabled"],Pj={key:1,class:"settings-save-error",role:"alert"},Oj=["aria-busy"],Ij={key:0,role:"status"},Mj={key:1,class:"settings-notice",role:"alert"},_j=["disabled"],Vj={key:2,class:"settings-notice",role:"status"},qj={key:3,class:"settings-notice",role:"status"},$j=["disabled"],Lj={class:"billing-summary"},Uj={class:"billing-summary-head"},Fj={class:"billing-plan-name"},Bj={key:0,class:"billing-plan-meta"},zj={key:1,class:"billing-plan-meta"},Hj={key:0,class:"billing-summary-actions"},jj=["disabled"],Gj={id:"settings-quota"},Wj={key:1,role:"status"},Kj={key:0,class:"settings-notice"},Yj={key:1,class:"settings-notice"},Xj={key:2,class:"settings-notice"},Qj={key:4,class:"billing-section","aria-labelledby":"settings-plan-comparison"},Jj={key:0,class:"billing-offers"},Zj={key:0,class:"billing-offer is-recommended"},xj={class:"billing-offer-price"},eG={class:"billing-offer-list"},tG=["disabled"],nG={key:1,class:"billing-offer"},oG={class:"billing-offer-head"},sG={class:"billing-toggle",role:"radiogroup","aria-label":"Billing frequency"},iG=["aria-checked","onClick"],rG={key:0,class:"billing-toggle-save"},aG={class:"billing-offer-price"},lG={class:"billing-offer-list"},dG=["disabled"],uG={key:1,class:"billing-addons"},cG={class:"billing-addon-rows"},pG={class:"billing-addon-price"},fG=["onClick","disabled"],hG={key:2,class:"billing-buy",id:"settings-addons-title",tabindex:"-1"},mG={class:"billing-buy-info"},gG={class:"billing-offer-price"},vG={class:"billing-offer-list"},yG={class:"billing-buy-form"},bG=["value"],wG=["disabled"],kG={key:1,class:"billing-buy-desc"},CG={key:2,class:"billing-footnote"},EG={class:"billing-compare"},SG={class:"billing-compare-card"},NG={class:"settings-comparison"},RG={key:0,scope:"col",class:"is-recommended"},DG={key:1,scope:"col"},AG={key:0,class:"is-recommended"},TG={key:1},PG={key:0,class:"is-recommended"},OG={key:1},IG={key:0,class:"is-recommended"},MG={key:1},_G={key:0,class:"is-recommended"},VG={key:1},qG={key:0,class:"is-recommended"},$G={key:1},LG={key:0,class:"is-recommended"},UG={key:1},FG={key:3,class:"billing-footnote"},BG={key:5,class:"billing-section"},zG={class:"billing-section-head"},HG=["disabled"],jG={key:0,class:"billing-empty"},GG={key:1,class:"billing-history-head","aria-hidden":"true"},WG={key:2,class:"billing-history"},KG={class:"billing-history-main"},YG=["href"],XG=["href"],QG={class:"billing-history-term"},JG={class:"billing-history-paid"},ZG={class:"billing-history-status"},xG={class:"billing-manage"},eW={key:0},tW={key:1},nW=["disabled"],oW={class:"billing-conference"},sW={id:"settings-account",class:"settings-account-panel"},iW={class:"paper-account-card"},rW=["src"],aW={class:"paper-account-identity"},lW={class:"paper-account-name"},dW=["disabled"],uW={key:0,role:"status"},cW={key:1,class:"paper-inline-alert paper-inline-alert-error",role:"alert"},pW=["disabled"],fW={key:3,role:"status"},hW={class:"paper-danger-zone"},mW={key:0,class:"paper-inline-alert paper-inline-alert-error",role:"alert"},gW=["textContent"],vW=["disabled"],yW={key:1,class:"settings-delete-confirm"},bW={for:"delete-username"},wW={class:"settings-actions"},kW=["disabled"],CW=["disabled"];function ip(e,t){let o=Xe("quota-usage"),i=Te("field"),s=Te("form");return l(),d("div",JH,[t[107]||(t[107]=n("header",{class:"settings-title page-head page-head-main"},[n("h1",null,"Settings"),n("p",{class:"paper-page-lede"},"Defaults for new anonymizations, hosting and your account.")],-1)),n("nav",ZH,[(l(),d(L,null,se([{id:"defaults",label:"Anonymization defaults"},{id:"billing",label:"Hosting & billing"},{id:"account",label:"Account"}],r=>n("button",{type:"button","aria-current":e.settingsTab===r.id?"page":null,onClick:a=>e.settingsTab=r.id},c(r.label),9,xH)),64))]),P(n("div",null,[t[41]||(t[41]=n("p",{class:"settings-scope"},"For new anonymizations only. Existing repositories keep their settings.",-1)),P((l(),d("form",{class:"form needs-validation",name:"defaultsForm",novalidate:"",onInput:t[1]||(t[1]=r=>e.unsavedChanges=!0),onSubmit:t[2]||(t[2]=ue(r=>e.submitForm(r,()=>{e.saveDefault(r)}),["prevent"]))},[n("section",ej,[t[26]||(t[26]=n("div",null,[n("label",{class:"settings-label",for:"terms"},"Terms to redact"),n("p",{class:"settings-help"},"One term per line.")],-1)),n("div",null,[P(n("textarea",{class:"form-control",id:"terms",name:"terms",rows:Math.min(14,Math.max(3,String(e.terms||"").split(` +10 log("epoch %d: %.3f", epoch, loss)
    `,2)])])):(l(),d("div",MF,[...t[21]||(t[21]=[Se('
    ProjectStatusViewsExpires
    DeepLearnUtilspaper-7f2a \xB7 ICSE 2027Ready41Mar 31, 2027
    vision-bench#212pull request \xB7 FSE 2027Ready12Never
    graph-repairgr-91abUpdating5Jan 5, 2027
    JarSiftOOPSLA 2025Expired72Sep 28, 2026
    ',5)])]))],10,PF)])],8,RF)),[[ee,e.feature===i?.key]])),128))])]),f(" FAQ teaser "),t[24]||(t[24]=Se('
    Before you sign in

    The questions that come up most.

    Read the full FAQ \u2192
    What access does GitHub sign-in require?

    The GitHub App has read-only access to gists and the repositories you choose. Legacy OAuth uses broader permissions. Anonymous GitHub never writes to your repositories.

    Which file formats are supported?

    Source code with syntax highlighting, Markdown, Jupyter notebooks, PDFs, images, and GitHub Pages sites. Text files are anonymized; enabled images and PDFs are served unchanged.

    What happens when an anonymized repository expires?

    You choose: the mirror is removed, or visitors are redirected to the original GitHub repository once the review is over.

    Ready for review?

    Create an anonymous mirror in a couple of minutes. Reviewers just open the link.

    ',2)),_e(o,{name:"partials/footer.htm",state:e.viewState},null,8,["state"])])}var _F={class:"paper-empty"},VF={class:"paper-empty-inner"},qF={key:0,class:"paper-eyebrow"},$F={key:1,class:"paper-eyebrow"},LF={key:2,class:"paper-empty-title"},UF=["textContent"];function ep(e,t){return l(),d("div",_F,[n("div",VF,[e.error?f("v-if",!0):(l(),d("div",qF,"Working")),e.error?(l(),d("div",$F,"Error")):f("v-if",!0),e.error?f("v-if",!0):(l(),d("h1",LF,[...t[0]||(t[0]=[v(" Loading",-1),n("span",{class:"dot-anim"},"\u2026",-1)])])),e.error?(l(),d("h1",{key:3,class:"paper-empty-title",textContent:c(e.fmt.translate(e.error))},null,8,UF)):f("v-if",!0)])])}var FF={class:"container paper-page paper-settings"},BF={class:"paper-crumbs"},zF={class:"here"},HF={class:"paper-page-title"},jF={class:"paper-settings-body"},GF={class:"paper-settings-toc"},WF={href:"#conf-billing"},KF={class:"form needs-validation paper-settings-main",name:"conference",novalidate:""},YF={id:"conf-basics",class:"paper-settings-section"},XF={class:"form-group"},QF={class:"invalid-feedback"},JF={class:"invalid-feedback"},ZF={class:"form-group"},xF={class:"invalid-feedback"},e7={class:"form-group"},t7={class:"invalid-feedback"},n7={class:"invalid-feedback"},o7={id:"conf-window",class:"paper-settings-section"},s7={class:"form-grid-2"},i7={class:"form-group"},r7={class:"invalid-feedback"},a7={class:"invalid-feedback"},l7={class:"form-group"},d7={class:"invalid-feedback"},u7={class:"invalid-feedback"},c7={id:"conf-rendering",class:"paper-settings-section"},p7={class:"form-check"},f7={class:"form-check-input",type:"checkbox",id:"link",name:"link"},h7={class:"form-check"},m7={class:"form-check-input",type:"checkbox",id:"image",name:"image"},g7={class:"form-check"},v7={class:"form-check-input",type:"checkbox",id:"pdf",name:"pdf"},y7={class:"form-check"},b7={class:"form-check-input",type:"checkbox",id:"notebook",name:"notebook"},w7={id:"conf-features",class:"paper-settings-section"},k7={class:"form-check"},C7={class:"form-check-input",type:"checkbox",id:"update",name:"update"},E7={class:"form-check"},S7={class:"form-check-input",type:"checkbox",id:"page",name:"page"},N7={id:"conf-plan",class:"paper-settings-section"},R7={key:0,class:"paper-section-copy"},D7={class:"conference-tiers",role:"radiogroup","aria-label":"Review package size"},A7=["value","checked","onChange"],T7={class:"conference-tier-head"},P7={key:0,class:"conference-tier-pill"},O7={class:"conference-tier-who"},I7={key:0,class:"conference-tier-price"},M7={class:"conference-tier-size"},_7={key:1,class:"conference-tier-per"},V7={key:2,class:"paper-plan-grid"},q7=["value"],$7=["textContent"],L7={class:"paper-plan-price"},U7=["innerHTML"],F7={key:3,class:"settings-notice",role:"status"},B7={key:0,id:"conf-billing",class:"paper-settings-section"},z7={class:"form-group"},H7={class:"form-group"},j7={class:"form-group"},G7={class:"form-group"},W7={class:"form-grid-3"},K7={class:"form-group"},Y7={class:"form-group"},X7={class:"form-group"},Q7={class:"form-group"},J7={class:"paper-settings-footer"},Z7=["textContent"],x7=["textContent"],e9=["disabled"];function tp(e,t){let o=Ae("paper-scrollspy"),i=Ae("field"),s=Ae("form");return l(),d("div",FF,[n("div",BF,[t[1]||(t[1]=n("a",{href:"/dashboard"},"My work",-1)),t[2]||(t[2]=v(" \xA0/\xA0 ",-1)),t[3]||(t[3]=n("a",{href:"/conferences"},"Conferences",-1)),t[4]||(t[4]=v(" \xA0/\xA0 ",-1)),n("span",zF,c(e.editionMode?"Edit":"New"),1)]),n("h1",HF,[v(c(e.editionMode?"Edit":"Create a")+" ",1),t[5]||(t[5]=n("em",null,"conference",-1))]),t[44]||(t[44]=n("p",{class:"paper-page-lede"}," Give chairs access to every anonymization submitted to a venue. One payment hosts every submission, so authors don't pay during the review window. ",-1)),n("div",jF,[O((l(),d("aside",GF,[t[7]||(t[7]=n("div",{class:"paper-settings-toc-head"},"On this page",-1)),n("nav",null,[t[6]||(t[6]=Se('BasicsReview windowRendering defaultsFeaturesPlan',5)),O(n("a",WF,"Billing",512),[[ee,e.plan?.pricePerRepo>0]])])])),[[o]]),O((l(),d("form",KF,[n("section",YF,[t[12]||(t[12]=n("div",{class:"paper-section-eyebrow"},"Basics",-1)),n("div",XF,[t[8]||(t[8]=n("label",{class:"paper-field-label",for:"name"},"Conference name",-1)),O(n("input",{type:"text",class:T(["form-control",{"is-invalid":e.conference?.name?.invalid&&(e.conference?.name?.touched||e.conference?.submitted)}]),name:"name",id:"name",required:"",placeholder:"e.g. International Conference on Software Engineering"},null,2),[[i,{state:e.viewState,set:r=>{e.options.name=r},value:e.options?.name,form:"conference",options:{}}]]),O(n("div",QF," The name of the conference is invalid. ",512),[[ee,e.conference?.name?.errors?.invalid]]),O(n("div",JF," The name of the conference is required. ",512),[[ee,e.conference?.name?.errors?.required]])]),n("div",ZF,[t[9]||(t[9]=n("label",{class:"paper-field-label",for:"url"},"Website",-1)),O(n("input",{type:"url",class:T(["form-control",{"is-invalid":e.conference?.url?.invalid&&(e.conference?.url?.touched||e.conference?.submitted)}]),name:"url",id:"url",placeholder:"https://example.org"},null,2),[[i,{state:e.viewState,set:r=>{e.options.url=r},value:e.options?.url,form:"conference",options:{}}]]),O(n("div",xF," The url of the conference is invalid. ",512),[[ee,e.conference?.url?.errors?.url]])]),n("div",e7,[t[10]||(t[10]=n("label",{class:"paper-field-label",for:"conferenceID"},"Conference ID",-1)),O(n("input",{type:"text",class:T(["form-control",{"is-invalid":e.conference?.conferenceID?.invalid&&(e.conference?.conferenceID?.touched||e.conference?.submitted)}]),name:"conferenceID",id:"conferenceID",required:"",pattern:"[a-zA-Z0-9\\-_]{3,10}",placeholder:"ICSE26"},null,2),[[i,{state:e.viewState,set:r=>{e.options.conferenceID=r},value:e.options?.conferenceID,form:"conference",options:{}}]]),t[11]||(t[11]=n("small",{class:"form-text text-muted"},[v("3\u201310 characters, letters, numbers, "),n("code",null,"-"),v(" and "),n("code",null,"_"),v(". Authors reference this when they anonymize.")],-1)),O(n("div",{class:"invalid-feedback"}," The conference ID '"+c(e.options?.conferenceID)+"' is already used. ",513),[[ee,e.conference?.conferenceID?.errors?.used]]),O(n("div",t7," The conference ID is required. ",512),[[ee,e.conference?.conferenceID?.errors?.required]]),O(n("div",n7," The format of the conference ID is incorrect ([a-zA-Z0-9-_]{3,10}). ",512),[[ee,e.conference?.conferenceID?.errors?.pattern]])])]),n("section",o7,[t[17]||(t[17]=n("div",{class:"paper-section-eyebrow"},"Review window",-1)),n("div",s7,[n("div",i7,[t[13]||(t[13]=n("label",{class:"paper-field-label",for:"startDate"},"Start date",-1)),O(n("input",{type:"date",class:T(["form-control",{"is-invalid":e.conference?.startDate?.invalid&&(e.conference?.startDate?.touched||e.conference?.submitted)}]),name:"startDate",id:"startDate",required:""},null,2),[[i,{state:e.viewState,set:r=>{e.options.startDate=r},value:e.options?.startDate,form:"conference",options:{}}]]),t[14]||(t[14]=n("small",{class:"form-text text-muted"},"Beginning of the review process.",-1)),O(n("div",r7," Start date is required. ",512),[[ee,e.conference?.startDate?.errors?.required]]),O(n("div",a7," Start date must be before end date. ",512),[[ee,e.conference?.startDate?.errors?.invalid]])]),n("div",l7,[t[15]||(t[15]=n("label",{class:"paper-field-label",for:"endDate"},"End date",-1)),O(n("input",{type:"date",class:T(["form-control",{"is-invalid":e.conference?.endDate?.invalid&&(e.conference?.endDate?.touched||e.conference?.submitted)}]),name:"endDate",id:"endDate",required:""},null,2),[[i,{state:e.viewState,set:r=>{e.options.endDate=r},value:e.options?.endDate,form:"conference",options:{}}]]),t[16]||(t[16]=n("small",{class:"form-text text-muted"},"All repositories expire on this date.",-1)),O(n("div",d7," End date is required. ",512),[[ee,e.conference?.endDate?.errors?.required]]),O(n("div",u7," End date is invalid. ",512),[[ee,e.conference?.endDate?.errors?.invalid]])])])]),n("section",c7,[t[26]||(t[26]=n("div",{class:"paper-section-eyebrow"},"Rendering defaults",-1)),n("div",p7,[O(n("input",f7,null,512),[[i,{state:e.viewState,set:r=>{e.options.options.link=r},value:e.options?.options?.link,form:"conference",options:{}}]]),t[18]||(t[18]=n("label",{class:"form-check-label",for:"link"},"Keep links",-1)),t[19]||(t[19]=n("small",{class:"form-text text-muted"},"Keep or remove all links from text files.",-1))]),n("div",h7,[O(n("input",m7,null,512),[[i,{state:e.viewState,set:r=>{e.options.options.image=r},value:e.options?.options?.image,form:"conference",options:{}}]]),t[20]||(t[20]=n("label",{class:"form-check-label",for:"image"},"Display images",-1)),t[21]||(t[21]=n("small",{class:"form-text text-muted"},"Images are not anonymized.",-1))]),n("div",g7,[O(n("input",v7,null,512),[[i,{state:e.viewState,set:r=>{e.options.options.pdf=r},value:e.options?.options?.pdf,form:"conference",options:{}}]]),t[22]||(t[22]=n("label",{class:"form-check-label",for:"pdf"},"Display PDFs",-1)),t[23]||(t[23]=n("small",{class:"form-text text-muted"},"PDFs are not anonymized.",-1))]),n("div",y7,[O(n("input",b7,null,512),[[i,{state:e.viewState,set:r=>{e.options.options.notebook=r},value:e.options?.options?.notebook,form:"conference",options:{}}]]),t[24]||(t[24]=n("label",{class:"form-check-label",for:"notebook"},"Display notebooks",-1)),t[25]||(t[25]=n("small",{class:"form-text text-muted"},"Render Jupyter notebooks instead of raw JSON.",-1))])]),n("section",w7,[t[31]||(t[31]=n("div",{class:"paper-section-eyebrow"},"Features",-1)),n("div",k7,[O(n("input",C7,null,512),[[i,{state:e.viewState,set:r=>{e.options.options.update=r},value:e.options?.options?.update,form:"conference",options:{}}]]),t[27]||(t[27]=n("label",{class:"form-check-label",for:"update"},"Auto-update from GitHub",-1)),t[28]||(t[28]=n("small",{class:"form-text text-muted"},"Pull the latest commit automatically (hourly maximum).",-1))]),n("div",E7,[O(n("input",S7,null,512),[[i,{state:e.viewState,set:r=>{e.options.options.page=r},value:e.options?.options?.page,form:"conference",options:{}}]]),t[29]||(t[29]=n("label",{class:"form-check-label",for:"page"},"GitHub Pages",-1)),t[30]||(t[30]=n("small",{class:"form-text text-muted"},"Enable anonymized GitHub pages.",-1))])]),n("section",N7,[t[35]||(t[35]=n("div",{class:"paper-section-eyebrow"},"Plan",-1)),e.editionMode?(l(),d("p",R7,c(e.conferencePlanName(e.options?.plan?.planID))+". The plan and review dates can't change after creation.",1)):e.conferenceTiers().length?(l(),d(L,{key:1},[t[33]||(t[33]=n("p",{class:"paper-section-copy"},"Pick the package that fits the number of submissions you expect. One payment hosts every submission, so authors don't pay.",-1)),n("div",D7,[(l(!0),d(L,null,ie(e.conferenceTiers(),r=>(l(),d("label",{class:T(["conference-tier",{"is-selected":e.options?.plan?.planID===r.id}]),key:r.id},[n("input",{type:"radio",name:"planPicker",value:r.id,checked:e.options?.plan?.planID===r.id,onChange:a=>e.options.plan.planID=r.id},null,40,A7),n("span",T7,[n("strong",null,c(r.name),1),r.id==="conference"&&e.conferenceTiers().length>1?(l(),d("span",P7,"Most common")):f("v-if",!0)]),n("span",O7,c(e.conferenceAudience(r.id)),1),r.amount!=null?(l(),d("span",I7,[n("strong",null,c(e.conferenceAmount(r)),1),t[32]||(t[32]=v(" once",-1))])):f("v-if",!0),n("span",M7,"Up to "+c(r.repositories)+" papers \xB7 "+c(e.conferenceBytes(r.storage)),1),r.amount!=null&&r.repositories?(l(),d("span",_7,"About "+c(e.conferenceAmount(r,r.amount/r.repositories))+" per paper",1)):f("v-if",!0)],2))),128))]),t[34]||(t[34]=Se('

    Every package includes

    • A review window of up to 180 days
    • Automatic updates for every submission
    • Links stay online until the review window ends
    • A dashboard of every submission for chairs

    Nothing renews \xB7 Tax shown at checkout \xB7 Expecting more submissions? Email tdurieux@anonymous.4open.science

    Create the conference, then pay from its page. Authors can submit once the payment is confirmed.

    ',2))],64)):e.plans.length?(l(),d("div",V7,[(l(!0),d(L,null,ie(e.plans,r=>(l(),d("label",{class:T(["paper-plan-card",{selected:e.options?.plan?.planID==r?.id}]),key:r.id},[O(n("input",{type:"radio",name:"planPicker",value:r?.id},null,8,q7),[[i,{state:e.viewState,set:a=>{e.options.plan.planID=a},value:e.options?.plan?.planID,form:"conference",options:{}}]]),n("div",{class:"paper-plan-head",textContent:c(r?.name)},null,8,$7),n("div",L7,c(r.pricePerRepo>0?e.fmt?.number(r.pricePerRepo,2)+" \u20AC per repository":"Free"),1),n("div",{class:"paper-plan-desc",innerHTML:e.sanitize(r?.description)},null,8,U7)],2))),128))])):e.plansLoaded?(l(),d("p",F7,"New conferences are unavailable right now. Please try again later.")):f("v-if",!0)]),e.plan?.pricePerRepo>0?(l(),d("section",B7,[t[43]||(t[43]=n("div",{class:"paper-section-eyebrow"},"Billing",-1)),n("div",z7,[t[36]||(t[36]=n("label",{class:"paper-field-label",for:"billing_name"},"Name",-1)),O(n("input",{type:"text",class:T(["form-control",{"is-invalid":e.conference?.billing_name?.invalid&&(e.conference?.billing_name?.touched||e.conference?.submitted)}]),name:"billing_name",id:"billing_name",required:"",placeholder:"First & last name"},null,2),[[i,{state:e.viewState,set:r=>{e.options.billing.name=r},value:e.options?.billing?.name,form:"conference",options:{}}]])]),n("div",H7,[t[37]||(t[37]=n("label",{class:"paper-field-label",for:"email"},"Email",-1)),O(n("input",{type:"email",class:T(["form-control",{"is-invalid":e.conference?.email?.invalid&&(e.conference?.email?.touched||e.conference?.submitted)}]),name:"email",id:"email",required:"",placeholder:"you@example.org"},null,2),[[i,{state:e.viewState,set:r=>{e.options.billing.email=r},value:e.options?.billing?.email,form:"conference",options:{}}]])]),n("div",j7,[t[38]||(t[38]=n("label",{class:"paper-field-label",for:"inputAddress"},"Address",-1)),O(n("input",{type:"text",class:T(["form-control",{"is-invalid":e.conference?.inputAddress?.invalid&&(e.conference?.inputAddress?.touched||e.conference?.submitted)}]),name:"inputAddress",id:"inputAddress",required:"",placeholder:"1234 Main St"},null,2),[[i,{state:e.viewState,set:r=>{e.options.billing.address=r},value:e.options?.billing?.address,form:"conference",options:{}}]])]),n("div",G7,[O(n("input",{type:"text",class:T(["form-control",{"is-invalid":e.conference?.inputAddress2?.invalid&&(e.conference?.inputAddress2?.touched||e.conference?.submitted)}]),name:"inputAddress2",id:"inputAddress2",placeholder:"Apartment, studio, or floor"},null,2),[[i,{state:e.viewState,set:r=>{e.options.billing.address2=r},value:e.options?.billing?.address2,form:"conference",options:{}}]])]),n("div",W7,[n("div",K7,[t[39]||(t[39]=n("label",{class:"paper-field-label",for:"city"},"City",-1)),O(n("input",{type:"text",class:T(["form-control",{"is-invalid":e.conference?.city?.invalid&&(e.conference?.city?.touched||e.conference?.submitted)}]),name:"city",id:"city",required:"",placeholder:"City"},null,2),[[i,{state:e.viewState,set:r=>{e.options.billing.city=r},value:e.options?.billing?.city,form:"conference",options:{}}]])]),n("div",Y7,[t[40]||(t[40]=n("label",{class:"paper-field-label",for:"country"},"Country",-1)),O(n("input",{type:"text",class:T(["form-control",{"is-invalid":e.conference?.country?.invalid&&(e.conference?.country?.touched||e.conference?.submitted)}]),name:"country",id:"country",required:"",placeholder:"Country"},null,2),[[i,{state:e.viewState,set:r=>{e.options.billing.country=r},value:e.options?.billing?.country,form:"conference",options:{}}]])]),n("div",X7,[t[41]||(t[41]=n("label",{class:"paper-field-label",for:"zip"},"Zip",-1)),O(n("input",{type:"text",class:T(["form-control",{"is-invalid":e.conference?.zip?.invalid&&(e.conference?.zip?.touched||e.conference?.submitted)}]),name:"zip",id:"zip",required:"",placeholder:"Zip"},null,2),[[i,{state:e.viewState,set:r=>{e.options.billing.zip=r},value:e.options?.billing?.zip,form:"conference",options:{}}]])])]),n("div",Q7,[t[42]||(t[42]=n("label",{class:"paper-field-label",for:"vat"},"VAT number",-1)),O(n("input",{type:"text",class:T(["form-control",{"is-invalid":e.conference?.vat?.invalid&&(e.conference?.vat?.touched||e.conference?.submitted)}]),name:"vat",id:"vat",placeholder:"VAT Number"},null,2),[[i,{state:e.viewState,set:r=>{e.options.billing.vat=r},value:e.options?.billing?.vat,form:"conference",options:{}}]])])])):f("v-if",!0),n("div",J7,[e.error?(l(),d("div",{key:0,class:"alert alert-danger",role:"alert",textContent:c(e.error)},null,8,Z7)):f("v-if",!0),e.message?(l(),d("div",{key:1,class:"alert alert-success",role:"alert",textContent:c(e.message)},null,8,x7)):f("v-if",!0),n("button",{id:"send",disabled:e.saving,type:"submit",class:"btn btn-ink",onClick:t[0]||(t[0]=de(r=>e.submitForm(r,()=>{e.submit(r)}),["prevent"]))},c(e.saving?e.editionMode?"Updating\u2026":"Creating\u2026":e.editionMode?"Update conference":"Create conference"),9,e9)])])),[[s,e.viewState]])])])}var t9={key:0,class:"dir-card","aria-label":"Repository files"},n9=["onClick"],o9={class:"dir-name"},s9=["href"],i9={class:"dir-name"},r9={class:"dir-meta"},a9={class:"file-card-head"},l9={class:"file-card-path"},d9={class:"breadcrumb paths","aria-label":"Path"},u9={class:"breadcrumb-item breadcrumb-root"},c9=["href","title","textContent"],p9=["aria-current"],f9=["aria-label"],h9={class:"mobile-sub ms"},m9=["title"],g9={class:"ms-item"},v9={key:1,class:"ms-item"},y9={key:2,class:"ms-item"},b9=["aria-label","title"],w9={class:"ui-icon","aria-hidden":"true"},k9=["href"],C9={key:0,class:"file-card-meta"},E9=["title"],S9={class:"meta-extra"},N9={key:1,class:"file-card-meta"},R9=["title"],D9={class:"file-card-actions"},A9={key:0,class:"csv-toggle seg-filter",role:"radiogroup","aria-label":"CSV view"},T9=["aria-checked"],P9=["aria-checked"],O9={key:1,class:"symbols"},I9=["aria-expanded"],M9={key:0,class:"symbols-menu",role:"menu"},_9={class:"symbols-head"},V9=["onClick"],q9={class:"symbols-name"},$9={class:"symbols-line"},L9=["title"],U9={key:3,class:"tb-view",role:"group","aria-label":"View tools"},F9=["title"],B9=["aria-pressed"],z9=["title"],H9={class:"tb-file",role:"group","aria-label":"File actions"},j9=["title","href"],G9=["aria-label","title"],W9={class:"ui-icon","aria-hidden":"true"},K9=["href"],Y9=["href"],X9=["aria-label"],Q9={class:"ui-icon","aria-hidden":"true"},J9=["href"],Z9={key:5,class:"tb-toc-m"},x9=["aria-expanded"],eB=["onClick"],tB={class:"tb-more"},nB=["aria-expanded"],oB={viewBox:"0 0 24 24",class:"ui-icon","aria-hidden":"true",style:{fill:"currentColor",stroke:"none"}},sB={key:0,class:"tb-menu-note"},iB={key:1,class:"tb-menu-note tb-menu-meta"},rB={key:2,class:"tb-menu-sep"},aB={key:4,class:"tb-menu-sep"},lB=["aria-checked"],dB={key:0,class:"tb-menu-check"},uB={class:"ui-icon","aria-hidden":"true"},cB=["href"],pB={key:9,class:"tb-menu-sep"},fB=["href"],hB=["href"],mB=["href"],gB=["href"],vB=["href"],yB=["href"],bB=["placeholder","aria-invalid"],wB=["aria-label"],kB={class:"csv-table"},CB=["aria-label"],EB={class:"csv-rownum"},SB=["aria-label"],NB={key:1,class:"file-card-body"},RB={key:2,class:"md-find-bar",role:"search"},DB=["value"],AB={class:"md-find-nav"},TB=["disabled"],PB=["disabled"],OB={class:"md-find-count","aria-live":"polite"},IB=["aria-pressed"],MB={key:3,class:"reading-layout"},_B=["innerHTML"],VB={key:0,class:"readme-toc","aria-label":"On this page"},qB={class:"toc-rail"},$B=["href","onClick"],LB={class:"file-card-head"},UB={class:"file-card-path"},FB={class:"breadcrumb paths","aria-label":"Path"},BB={class:"breadcrumb-item breadcrumb-root"},zB=["href","title","textContent"],HB=["aria-current"],jB=["aria-label"],GB={class:"mobile-sub ms"},WB=["title"],KB={class:"ms-item"},YB={key:1,class:"ms-item"},XB={key:2,class:"ms-item"},QB=["aria-label","title"],JB={class:"ui-icon","aria-hidden":"true"},ZB=["href"],xB={class:"file-card-meta"},ez=["title"],tz={class:"file-card-actions"},nz={key:0,class:"file-card-state",title:"Files over the size limit can't be previewed or downloaded from this link"},oz={key:1,class:"tb-file",role:"group","aria-label":"File actions"},sz=["title","href"],iz=["href"],rz={class:"tb-more"},az=["aria-expanded"],lz={viewBox:"0 0 24 24",class:"ui-icon","aria-hidden":"true",style:{fill:"currentColor",stroke:"none"}},dz={key:0,class:"tb-menu-note"},uz={key:1,class:"tb-menu-sep"},cz=["href"],pz=["href"],fz=["href"],hz={key:0,class:"media-stage"},mz=["src","alt"],gz={key:1,class:"media-stage"},vz=["src"],yz={key:2,class:"media-stage is-audio"},bz=["src"],wz={key:4,class:"notebook-body"},kz={key:5,class:"file-state"},Cz={class:"file-state-actions"},Ez=["href"],Sz={key:6,class:"file-state",role:"alert"},Nz={class:"file-state-title"},Rz={key:0,class:"file-state-msg"},Dz={key:1,class:"file-state-msg"},Az={class:"file-state-actions"},Tz=["href"],Pz={key:7,class:"file-state"},Oz={key:4,class:"file-error container d-flex h-100"},Iz={class:"paper-ratelimit-card m-auto",style:{"max-width":"520px"}},Mz={class:"paper-error-msg"},_z={key:5,class:"file-error container d-flex h-100"},Vz={class:"viewer-error paper-error-card file-error-card m-auto",role:"alert","aria-labelledby":"viewer-error-title"},qz={id:"viewer-error-title",class:"paper-empty-title"},$z={class:"paper-error-actions"},Lz={key:0,href:"/",class:"btn btn-sm"},Uz={key:1,href:"/faq",class:"btn btn-sm"},Fz={key:2,class:"btn btn-outline-ink",href:"/dashboard"},Bz={key:6,class:"viewer-loading","aria-busy":"true"},zz={class:"viewer-loading-status",role:"status","aria-live":"polite"},Hz={class:"viewer-loading-name sr-only"},jz={key:0},Gz={class:"viewer-loading-lines","aria-hidden":"true"},Wz={key:7,class:"file-error container d-flex h-100"},Kz={key:8,class:"file-error container d-flex h-100"};function np(e,t){let o=Xe("html-doc"),i=Xe("pdfviewer"),s=Xe("notebook"),r=Ae("code-editor");return l(),d(L,null,[e.sidebarHidden&&e.type=="html"&&e.content!=null&&e.paths?.length===1&&/^readme/i.test(e.paths[0]||"")&&e.files?.length?(l(),d("section",t9,[t[44]||(t[44]=n("header",{class:"dir-card-head"},[n("span",{class:"dir-card-title"},"Files"),n("span",{class:"dir-card-sub"},"Snapshot of the repository at review time")],-1)),n("ul",{class:T(["dir-list",{"is-expanded":e.dirExpanded}])},[(l(!0),d(L,null,ie(e.rootEntries(),a=>(l(),d("li",{key:a.name},[a.size==null?(l(),d("button",{key:0,type:"button",class:"dir-row",onClick:u=>e.revealFolder(a.name)},[t[41]||(t[41]=n("svg",{class:"dir-icon",viewBox:"0 0 16 16","aria-hidden":"true"},[n("path",{d:"M1.5 3.5h4l1.5 1.5h7.5v8h-13z"})],-1)),n("span",o9,c(a.name),1),t[42]||(t[42]=n("span",{class:"dir-meta"},"Folder",-1))],8,n9)):(l(),d("a",{key:1,class:T(["dir-row",{"is-current":a.name===e.paths[0]}]),href:e.safeUrl("/r/"+e.repoId+"/"+encodeURIComponent(a.name))},[t[43]||(t[43]=n("svg",{class:"dir-icon",viewBox:"0 0 16 16","aria-hidden":"true"},[n("path",{d:"M3.5 1.5h6l3 3v10h-9z"})],-1)),n("span",i9,c(a.name),1),n("span",r9,c(e.formatSize(a.size)),1)],10,s9))]))),128))],2),!e.dirExpanded&&e.files.length>8?(l(),d("button",{key:0,type:"button",class:"dir-more",onClick:t[0]||(t[0]=a=>e.dirExpanded=!0)},"Show all "+c(e.files.length)+" items",1)):f("v-if",!0)])):f("v-if",!0),(e.type=="text"||e.type=="code"||e.type=="html"||e.type=="html-doc"&&e.showSource)&&e.content!=null?(l(),d("section",{key:1,class:T(["file-card",{"is-code":e.type!="html","no-wrap":!e.wrapLines}])},[n("header",a9,[n("div",l9,[n("button",{type:"button",class:T(["btn btn-sm btn-icon-only btn-ghost card-files-btn",{"is-needed":e.sidebarHidden}]),title:"Show file tree",onClick:t[1]||(t[1]=a=>e.sidebarHidden?e.sidebarHidden=!1:e.sidebarCollapsed=!1)},[...t[45]||(t[45]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-sidebar"})],-1),n("span",{class:"card-files-label"},"Files",-1)])],2),n("ol",d9,[n("li",u9,[n("a",{href:e.safeUrl("/r/"+e.repoId+"/"),title:e.repoId,textContent:c(/^[0-9a-f]{8}-[0-9a-f]{4}-/i.test(e.repoId||"")?"repository":e.repoId)},null,8,c9)]),(l(!0),d(L,null,ie(e.paths,(a,u)=>(l(),d("li",{class:"breadcrumb-item","aria-current":u===e.paths.length-1?"page":null},[(l(!0),d(L,null,ie(e.redactParts(a),(p,y)=>(l(),d(L,{key:y},[p.n?(l(),d("span",{key:0,class:"redact-slot",role:"img","aria-label":"Redacted term "+p.n},[n("i",null,c(p.n),1)],8,f9)):(l(),d(L,{key:1},[v(c(p.t),1)],64))],64))),128))],8,p9))),256))]),n("span",h9,[e.redactionCount()?(l(),d("b",{key:0,class:"ms-item ms-redact",title:e.redactionCount()+" redacted terms"},[v(c(e.redactionCount()),1),t[46]||(t[46]=n("span",{class:"meta-redact-word"}," redacted",-1))],8,m9)):f("v-if",!0),n("span",g9,c(e.type=="html"?"Markdown":e.languageName||"Text"),1),e.fileSize(e.filePath)!=null?(l(),d("span",v9,c(e.formatSize(e.fileSize(e.filePath))),1)):f("v-if",!0),e.type!="html"&&typeof e.content=="string"?(l(),d("span",y9,c(e.fmt?.number(e.content.split(` +`).length))+" lines",1)):f("v-if",!0)]),O(n("button",{type:"button",class:"btn btn-sm btn-icon-only btn-ghost copy-path-btn","aria-label":e.pathCopied?"Path copied":"Copy file path",title:e.pathCopied?"Path copied":"Copy file path",onClick:t[2]||(t[2]=a=>e.copyPath())},[(l(),d("svg",w9,[n("use",{href:e.pathCopied?"#ui-icon-check":"#ui-icon-link"},null,8,k9)]))],8,b9),[[ee,e.filePath]])]),e.type!="html"&&typeof e.content=="string"?(l(),d("span",C9,[e.redactionCount()?(l(),d(L,{key:0},[n("span",{class:"meta-redact",title:e.redactionCount()+" redacted terms"},[v(c(e.redactionCount()),1),t[47]||(t[47]=n("span",{class:"meta-redact-word"}," redacted",-1))],8,E9),t[48]||(t[48]=n("span",{class:"sep"},"\xB7",-1))],64)):f("v-if",!0),v(c(e.languageName||"Text"),1),n("span",S9,[t[49]||(t[49]=n("span",{class:"sep"},"\xB7",-1)),v(c(e.content.length<1024?e.content.length+" B":(e.content.length/1024).toFixed(1)+" KB"),1)]),t[50]||(t[50]=n("span",{class:"sep"},"\xB7",-1)),v(c(e.fmt?.number(e.content.split(` +`).length))+" lines",1)])):f("v-if",!0),e.type=="html"?(l(),d("span",N9,[e.redactionCount()?(l(),d(L,{key:0},[n("span",{class:"meta-redact",title:e.redactionCount()+" redacted terms"},[v(c(e.redactionCount()),1),t[51]||(t[51]=n("span",{class:"meta-redact-word"}," redacted",-1))],8,R9),t[52]||(t[52]=n("span",{class:"sep"},"\xB7",-1))],64)):f("v-if",!0),t[54]||(t[54]=v("Markdown",-1)),e.fileSize(e.filePath)!=null?(l(),d(L,{key:1},[t[53]||(t[53]=n("span",{class:"sep"},"\xB7",-1)),v(c(e.formatSize(e.fileSize(e.filePath))),1)],64)):f("v-if",!0)])):f("v-if",!0),n("div",D9,[e.isCsv()?(l(),d("div",A9,[n("button",{type:"button",role:"radio",class:T(["seg-chip",{active:e.csvView==="table"}]),"aria-checked":e.csvView==="table",onClick:t[3]||(t[3]=a=>e.csvView="table")},"Table",10,T9),n("button",{type:"button",role:"radio",class:T(["seg-chip",{active:e.csvView==="raw"}]),"aria-checked":e.csvView==="raw",onClick:t[4]||(t[4]=a=>e.csvView="raw"),title:"Show the file as text with line numbers"},"Text",10,P9)])):f("v-if",!0),e.type!="html"&&e.symbols().length>1?(l(),d("div",O9,[n("button",{type:"button",class:T(["btn btn-sm btn-ghost btn-symbols",{"is-on":e.symbolsOpen}]),"aria-expanded":e.symbolsOpen?"true":"false","aria-haspopup":"true",title:"Symbols in this file",onClick:t[5]||(t[5]=a=>e.symbolsOpen=!e.symbolsOpen)},[...t[55]||(t[55]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-list"})],-1),n("span",{class:"btn-find-label"},"Symbols",-1)])],10,I9),e.symbolsOpen?(l(),d("div",M9,[n("div",_9,c(e.symbols().length)+" "+c(e.symbols().length===1?"symbol":"symbols"),1),(l(!0),d(L,null,ie(e.symbols(),a=>(l(),d("button",{type:"button",class:"symbols-item",role:"menuitem",key:a.line+a.name,onClick:u=>e.goToSymbol(a.line)},[n("span",{class:T(["symbols-kind","is-"+a.kind])},c(a.kind==="class"?"C":a.kind==="function"?"\u0192":"v"),3),n("span",q9,c(a.name),1),n("span",$9,c(a.line),1)],8,V9))),128))])):f("v-if",!0)])):f("v-if",!0),e.type=="html"?(l(),d("button",{key:2,type:"button",class:T(["btn btn-sm btn-ghost btn-icon-only btn-find btn-md-find",{"is-on":e.mdFindOpen}]),"aria-label":"Find on this page",title:"Find on this page ("+(e.isMac?"\u2318":"Ctrl+")+"F)",onClick:t[6]||(t[6]=a=>e.toggleMdFind())},[...t[56]||(t[56]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-search"})],-1)])],10,L9)):f("v-if",!0),e.type!="html"&&!(e.isCsv()&&e.csvView==="table")?(l(),d("div",U9,[e.type!="html"?(l(),d("button",{key:0,type:"button",class:"btn btn-sm btn-ghost btn-icon-only btn-goto","aria-label":"Go to line",title:"Go to line ("+(e.isMac?"\u2318":"Ctrl+")+"G)",onClick:t[7]||(t[7]=a=>e.gotoLine())},[...t[57]||(t[57]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-goto"})],-1)])],8,F9)):f("v-if",!0),e.type!="html"?(l(),d("button",{key:1,type:"button",class:T(["btn btn-sm btn-icon-only btn-ghost btn-toggle",{"is-on":e.wrapLines}]),"aria-pressed":e.wrapLines?"true":"false","aria-label":"Wrap lines",title:"Wrap lines (Alt+Z)",onClick:t[8]||(t[8]=a=>e.toggleWrap())},[...t[58]||(t[58]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-wrap"})],-1)])],10,B9)):f("v-if",!0),e.type!="html"?(l(),d("button",{key:2,type:"button",class:"btn btn-sm btn-ghost btn-icon-only btn-find","aria-label":"Find in file",title:"Find in file ("+(e.isMac?"\u2318":"Ctrl+")+"F)",onClick:t[9]||(t[9]=a=>e.findInFile())},[...t[59]||(t[59]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-search"})],-1)])],8,z9)):f("v-if",!0)])):f("v-if",!0),n("div",H9,[n("a",{target:"_self",class:"tb-seg-btn",title:e.type=="html"?"Open the Markdown source":"Open the raw file",href:e.safeUrl(e.url)},"Raw",8,j9),typeof e.content=="string"?(l(),d("button",{key:0,type:"button",class:"tb-seg-btn tb-seg-icon","aria-label":e.contentCopied?"Copied":"Copy file contents",title:e.contentCopied?"Copied":"Copy file contents",onClick:t[10]||(t[10]=a=>e.copyContent())},[(l(),d("svg",W9,[n("use",{href:e.contentCopied?"#ui-icon-check":"#project-icon-copy"},null,8,K9)]))],8,G9)):f("v-if",!0),n("a",{target:"_self",class:"tb-seg-btn tb-seg-icon","aria-label":"Download file",title:"Download file",href:e.safeUrl(e.url+"&download=true")},[...t[60]||(t[60]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-download"})],-1)])],8,Y9)]),typeof e.content=="string"?(l(),d("button",{key:4,type:"button",class:"btn btn-sm btn-icon-only btn-ghost tb-copy-m","aria-label":e.contentCopied?"Copied":"Copy file contents",onClick:t[11]||(t[11]=a=>e.copyContent())},[(l(),d("svg",Q9,[n("use",{href:e.contentCopied?"#ui-icon-check":"#project-icon-copy"},null,8,J9)]))],8,X9)):f("v-if",!0),e.type=="html"&&e.readmeToc().length>=3?(l(),d("div",Z9,[n("button",{type:"button",class:T(["btn btn-sm btn-icon-only btn-ghost tb-toc-btn",{"is-on":e.tocOpen}]),"aria-label":"On this page",title:"On this page","aria-haspopup":"true","aria-expanded":e.tocOpen?"true":"false",onClick:t[12]||(t[12]=de(a=>{e.tocOpen=!e.tocOpen,e.moreOpen=!1},["stop"]))},[...t[61]||(t[61]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-outline"})],-1)])],10,x9),e.tocOpen?(l(),d("div",{key:0,class:"tb-menu tb-toc-menu",role:"menu",onClick:t[14]||(t[14]=a=>e.tocOpen=!1)},[t[62]||(t[62]=n("div",{class:"tb-menu-label"},"On this page",-1)),n("button",{type:"button",role:"menuitem",class:T(["tb-menu-toc","lvl-2",{"is-active":!e.activeHeading}]),onClick:t[13]||(t[13]=a=>e.scrollToHeading(null))},"Introduction",2),(l(!0),d(L,null,ie(e.readmeToc(),a=>(l(),d("button",{type:"button",role:"menuitem",key:"m-"+a.id,class:T(["tb-menu-toc","lvl-"+a.level,{"is-active":e.activeHeading===a.id}]),onClick:u=>e.scrollToHeading(a.id)},c(a.text),11,eB))),128))])):f("v-if",!0)])):f("v-if",!0),n("div",tB,[n("button",{type:"button",class:T(["btn btn-sm btn-icon-only btn-ghost tb-more-btn",{"is-on":e.moreOpen}]),"aria-label":"More actions","aria-haspopup":"true","aria-expanded":e.moreOpen?"true":"false",onClick:t[15]||(t[15]=de(a=>{e.tocOpen=!1,e.moreOpen=!e.moreOpen},["stop"]))},[(l(),d("svg",oB,[...t[63]||(t[63]=[n("circle",{cx:"5",cy:"12",r:"1.8"},null,-1),n("circle",{cx:"12",cy:"12",r:"1.8"},null,-1),n("circle",{cx:"19",cy:"12",r:"1.8"},null,-1)])]))],10,nB),e.moreOpen?(l(),d("div",{key:0,class:"tb-menu",role:"menu",onClick:t[22]||(t[22]=a=>e.moreOpen=!1)},[e.options?.publishedAt||e.options?.sourceCommitDate||e.options?.anonymizedAt||e.options?.lastUpdateDate?(l(),d("div",sB,[t[64]||(t[64]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-clock"})],-1)),v("Snapshot \xB7 "+c(e.fmt?.date(e.options?.publishedAt||e.options?.sourceCommitDate||e.options?.anonymizedAt||e.options?.lastUpdateDate)),1)])):f("v-if",!0),typeof e.content=="string"?(l(),d("div",iB,[v(c(e.type=="html"?"Markdown":e.languageName||"Text")+" \xB7 "+c(e.type=="html"&&e.fileSize(e.filePath)!=null?e.formatSize(e.fileSize(e.filePath)):e.content.length<1024?e.content.length+" B":(e.content.length/1024).toFixed(1)+" KB"),1),e.type!="html"?(l(),d(L,{key:0},[v(" \xB7 "+c(e.fmt?.number(e.content.split(` +`).length))+" lines",1)],64)):f("v-if",!0)])):f("v-if",!0),e.options?.publishedAt||e.options?.sourceCommitDate||e.options?.anonymizedAt||e.options?.lastUpdateDate?(l(),d("div",rB)):f("v-if",!0),e.type=="html"?(l(),d("button",{key:3,type:"button",role:"menuitem",onClick:t[16]||(t[16]=a=>e.toggleMdFind())},[...t[65]||(t[65]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-search"})],-1),v("Find in file",-1)])])):f("v-if",!0),e.type=="html"?(l(),d("div",aB)):f("v-if",!0),e.type!="html"?(l(),d("button",{key:5,type:"button",role:"menuitem",onClick:t[17]||(t[17]=a=>e.findInFile())},[...t[66]||(t[66]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-search"})],-1),v("Find in file",-1)])])):f("v-if",!0),e.type!="html"?(l(),d("button",{key:6,type:"button",role:"menuitem",onClick:t[18]||(t[18]=a=>e.gotoLine())},[...t[67]||(t[67]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-goto"})],-1),v("Go to line",-1)])])):f("v-if",!0),e.type!="html"?(l(),d("button",{key:7,type:"button",role:"menuitemcheckbox","aria-checked":e.wrapLines?"true":"false",onClick:t[19]||(t[19]=a=>e.toggleWrap())},[t[68]||(t[68]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-wrap"})],-1)),t[69]||(t[69]=v("Wrap lines",-1)),e.wrapLines?(l(),d("span",dB,"\u2713")):f("v-if",!0)],8,lB)):f("v-if",!0),e.isCsv()?(l(),d("button",{key:8,type:"button",role:"menuitem",class:"tb-csv-view",onClick:t[20]||(t[20]=a=>{e.csvView=e.csvView==="table"?"raw":"table",e.moreOpen=!1})},[(l(),d("svg",uB,[n("use",{href:e.csvView==="table"?"#ui-icon-code":"#ui-icon-list"},null,8,cB)])),v(c(e.csvView==="table"?"Show as text":"Show as table"),1)])):f("v-if",!0),e.type!="html"?(l(),d("div",pB)):f("v-if",!0),e.type=="html"?(l(),d("a",{key:10,role:"menuitem",target:"_self",href:e.safeUrl(e.url)},[...t[70]||(t[70]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-code"})],-1),v("View raw",-1)])],8,fB)):f("v-if",!0),e.type!="html"?(l(),d("a",{key:11,role:"menuitem",target:"_self",href:e.safeUrl(e.url)},[...t[71]||(t[71]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-code"})],-1),v("View raw",-1)])],8,hB)):f("v-if",!0),n("a",{role:"menuitem",target:"_self",href:e.safeUrl(e.url+"&download=true")},[...t[72]||(t[72]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-download"})],-1),v("Download file",-1)])],8,mB),e.options?.hasWebsite?(l(),d("a",{key:12,role:"menuitem",target:"_self",href:e.safeUrl("/w/"+e.repoId+"/")},[...t[73]||(t[73]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-globe"})],-1),v("Open website",-1)])],8,gB)):f("v-if",!0),e.options?.isAdmin||e.options?.isOwner?(l(),d("a",{key:13,role:"menuitem",href:e.safeUrl("/anonymize/"+e.repoId)},[...t[74]||(t[74]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-edit"})],-1),v("Edit anonymization",-1)])],8,vB)):f("v-if",!0),e.options?.download?(l(),d("a",{key:14,role:"menuitem",target:"_self",href:e.safeUrl("/api/repo/"+e.repoId+"/zip")},[...t[75]||(t[75]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-archive"})],-1),v("Download ZIP",-1)])],8,yB)):f("v-if",!0),n("button",{type:"button",role:"menuitem",onClick:t[21]||(t[21]=a=>e.copyPath())},[...t[76]||(t[76]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-link"})],-1),v("Copy file path",-1)])]),t[77]||(t[77]=n("div",{class:"tb-menu-sep"},null,-1)),t[78]||(t[78]=n("a",{role:"menuitem",href:"/faq"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-help"})]),v("FAQ")],-1)),t[79]||(t[79]=n("a",{role:"menuitem",href:"https://github.com/tdurieux/anonymous_github/issues/new?template=issue_report.yml",target:"_blank",rel:"noopener"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-bug"})]),v("Report a bug")],-1))])):f("v-if",!0)])]),e.gotoOpen&&e.type!="html"?(l(),d("form",{key:2,class:"goto-pop",role:"dialog","aria-label":"Go to line",onSubmit:t[25]||(t[25]=de(a=>e.submitGoto(),["prevent"]))},[t[80]||(t[80]=n("label",{class:"goto-label",for:"goto-input"},"Go to line",-1)),O(n("input",{id:"goto-input",class:"goto-input",type:"text",inputmode:"numeric",autocomplete:"off",spellcheck:"false",placeholder:"1\u2013"+e.fmt?.number(typeof e.content=="string"?e.content.split(` +`).length:1),"aria-invalid":e.gotoError?"true":"false","onUpdate:modelValue":t[23]||(t[23]=a=>e.gotoValue=a),onKeydown:t[24]||(t[24]=ut(de(a=>e.closeGoto(),["prevent","stop"]),["esc"]))},null,40,bB),[[lt,e.gotoValue]]),n("span",{class:T(["goto-hint",{"is-error":e.gotoError}])},c(e.gotoError||"Line, or line:column"),3)],32)):f("v-if",!0)]),e.isCsv()&&e.csvView==="table"?(l(),d("div",{key:0,class:"csv-table-wrap",tabindex:"0",role:"region","aria-label":"Table view of "+(e.paths?.[e.paths.length-1]||"file")},[n("table",kB,[n("thead",null,[n("tr",null,[t[81]||(t[81]=n("th",{class:"csv-rownum",scope:"col"},[n("span",{class:"sr-only"},"Row")],-1)),(l(!0),d(L,null,ie(e.csvRows()[0]||[],(a,u)=>(l(),d("th",{scope:"col",key:u,class:T({"is-num":e.csvNumCol(u)})},[(l(!0),d(L,null,ie(e.redactParts(a),(p,y)=>(l(),d(L,{key:y},[p.n?(l(),d("span",{key:0,class:"redact-slot",role:"img","aria-label":"Redacted term "+p.n},[n("i",null,c(p.n),1)],8,CB)):(l(),d(L,{key:1},[v(c(p.t),1)],64))],64))),128))],2))),128))])]),n("tbody",null,[(l(!0),d(L,null,ie(e.csvRows().slice(1),(a,u)=>(l(),d("tr",{key:u},[n("td",EB,c(u+1),1),(l(!0),d(L,null,ie(a,(p,y)=>(l(),d("td",{key:y,class:T({"is-num":e.csvNumCol(y)})},[(l(!0),d(L,null,ie(e.redactParts(p),(h,b)=>(l(),d(L,{key:b},[h.n?(l(),d("span",{key:0,class:"redact-slot",role:"img","aria-label":"Redacted term "+h.n},[n("i",null,c(h.n),1)],8,SB)):(l(),d(L,{key:1},[v(c(h.t),1)],64))],64))),128))],2))),128))]))),128))])])],8,wB)):f("v-if",!0),e.type!="html"&&!(e.isCsv()&&e.csvView==="table")?O((l(),d("div",NB,null,512)),[[r,{content:e.content,options:e.aceOption}]]):f("v-if",!0),e.type=="html"&&e.mdFindOpen?(l(),d("div",RB,[n("input",{type:"search",class:"md-find-input",placeholder:"Find on this page","aria-label":"Find on this page",value:e.mdFindQuery,onInput:t[26]||(t[26]=a=>{e.mdFindQuery=a.target.value,e.runMdFind()}),onKeydown:[t[27]||(t[27]=ut(de(a=>a.shiftKey?e.stepMdFind(-1):e.stepMdFind(1),["prevent"]),["enter"])),t[28]||(t[28]=ut(de(a=>e.toggleMdFind(!1),["prevent"]),["esc"]))]},null,40,DB),n("span",AB,[n("button",{type:"button","aria-label":"Previous match",onClick:t[29]||(t[29]=a=>e.stepMdFind(-1)),disabled:!e.mdFindTotal},[...t[82]||(t[82]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-chevron-left"})],-1)])],8,TB),n("button",{type:"button","aria-label":"Next match",onClick:t[30]||(t[30]=a=>e.stepMdFind(1)),disabled:!e.mdFindTotal},[...t[83]||(t[83]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-chevron-right"})],-1)])],8,PB)]),n("span",OB,c(e.mdFindQuery?e.mdFindTotal?e.mdFindIndex+1+" of "+e.mdFindTotal:"No results":""),1),n("button",{type:"button",class:T(["md-find-opt",{"is-on":e.mdFindCase}]),"aria-pressed":e.mdFindCase?"true":"false",title:"Match case","aria-label":"Match case",onClick:t[31]||(t[31]=a=>{e.mdFindCase=!e.mdFindCase,e.runMdFind()})},"Aa",10,IB),n("button",{type:"button",class:"md-find-close","aria-label":"Close find",onClick:t[32]||(t[32]=a=>e.toggleMdFind(!1))},"\xD7")])):f("v-if",!0),e.type=="html"?(l(),d("div",MB,[n("div",{class:"file-content markdown-body",innerHTML:e.renderReadme(e.sanitize(e.content))},null,8,_B),e.readmeToc().length>=3?(l(),d("aside",VB,[t[84]||(t[84]=n("div",{class:"readme-toc-head"},"On this page",-1)),n("nav",qB,[n("a",{href:"#",class:T(["lvl-2 toc-top",{"is-active":!e.activeHeading}]),onClick:t[33]||(t[33]=de(a=>e.scrollToHeading(null),["prevent"]))},"Introduction",2),(l(!0),d(L,null,ie(e.readmeToc(),(a,u)=>(l(),d("a",{key:a.id,href:"#"+a.id,class:T(["lvl-"+a.level,{"is-active":e.activeHeading===a.id}]),onClick:de(p=>e.scrollToHeading(a.id),["prevent"])},c(a.text),11,$B))),128))])])):f("v-if",!0)])):f("v-if",!0)],2)):f("v-if",!0),e.type=="html-doc"&&!e.showSource&&e.content!=null?(l(),dn(o,{key:2,content:e.content,"base-url":e.fileBaseUrl,"allow-scripts":e.allowScripts},null,8,["content","base-url","allow-scripts"])):f("v-if",!0),e.fileFrame()?(l(),d("section",{key:3,class:T(["file-card file-card-media","view-"+e.type])},[n("header",LB,[n("div",UB,[n("button",{type:"button",class:T(["btn btn-sm btn-icon-only btn-ghost card-files-btn",{"is-needed":e.sidebarHidden}]),title:"Show file tree",onClick:t[34]||(t[34]=a=>e.sidebarHidden?e.sidebarHidden=!1:e.sidebarCollapsed=!1)},[...t[85]||(t[85]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-sidebar"})],-1),n("span",{class:"card-files-label"},"Files",-1)])],2),n("ol",FB,[n("li",BB,[n("a",{href:e.safeUrl("/r/"+e.repoId+"/"),title:e.repoId,textContent:c(/^[0-9a-f]{8}-[0-9a-f]{4}-/i.test(e.repoId||"")?"repository":e.repoId)},null,8,zB)]),(l(!0),d(L,null,ie(e.paths,(a,u)=>(l(),d("li",{class:"breadcrumb-item","aria-current":u===e.paths.length-1?"page":null},[(l(!0),d(L,null,ie(e.redactParts(a),(p,y)=>(l(),d(L,{key:y},[p.n?(l(),d("span",{key:0,class:"redact-slot",role:"img","aria-label":"Redacted term "+p.n},[n("i",null,c(p.n),1)],8,jB)):(l(),d(L,{key:1},[v(c(p.t),1)],64))],64))),128))],8,HB))),256))]),n("span",GB,[e.type=="IPython"&&e.redactionCount()?(l(),d("b",{key:0,class:"ms-item ms-redact",title:e.redactionCount()+" redacted terms"},[v(c(e.redactionCount()),1),t[86]||(t[86]=n("span",{class:"meta-redact-word"}," redacted",-1))],8,WB)):f("v-if",!0),n("span",KB,c(e.fileKind()),1),e.imageSize?(l(),d("span",YB,c(e.imageSize),1)):f("v-if",!0),e.fileSize(e.filePath)!=null?(l(),d("span",XB,c(e.formatSize(e.fileSize(e.filePath))),1)):f("v-if",!0)]),O(n("button",{type:"button",class:"btn btn-sm btn-icon-only btn-ghost copy-path-btn","aria-label":e.pathCopied?"Path copied":"Copy file path",title:e.pathCopied?"Path copied":"Copy file path",onClick:t[35]||(t[35]=a=>e.copyPath())},[(l(),d("svg",JB,[n("use",{href:e.pathCopied?"#ui-icon-check":"#ui-icon-link"},null,8,ZB)]))],8,QB),[[ee,e.filePath]])]),n("span",xB,[e.type=="IPython"&&e.redactionCount()?(l(),d(L,{key:0},[n("span",{class:"meta-redact",title:e.redactionCount()+" redacted terms"},[v(c(e.redactionCount()),1),t[87]||(t[87]=n("span",{class:"meta-redact-word"}," redacted",-1))],8,ez),t[88]||(t[88]=n("span",{class:"sep"},"\xB7",-1))],64)):f("v-if",!0),v(c(e.fileKind()),1),e.imageSize?(l(),d(L,{key:1},[t[89]||(t[89]=n("span",{class:"sep"},"\xB7",-1)),v(c(e.imageSize),1)],64)):f("v-if",!0),e.fileSize(e.filePath)!=null?(l(),d(L,{key:2},[t[90]||(t[90]=n("span",{class:"sep"},"\xB7",-1)),v(c(e.formatSize(e.fileSize(e.filePath))),1)],64)):f("v-if",!0)]),n("div",tz,[e.type=="error"&&e.content==="file_too_big"?(l(),d("span",nz,[...t[91]||(t[91]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-info"})],-1),v("Over the size limit",-1)])])):f("v-if",!0),e.type!="error"?(l(),d("div",oz,[n("a",{target:"_self",class:"tb-seg-btn",title:e.type=="IPython"?"Open the notebook JSON":"Open the raw file",href:e.safeUrl(e.url)},"Raw",8,sz),n("a",{target:"_self",class:"tb-seg-btn tb-seg-icon","aria-label":"Download file",title:"Download file",href:e.safeUrl(e.url+"&download=true")},[...t[92]||(t[92]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-download"})],-1)])],8,iz)])):f("v-if",!0),n("div",rz,[n("button",{type:"button",class:T(["btn btn-sm btn-icon-only btn-ghost tb-more-btn",{"is-on":e.moreOpen}]),"aria-label":"More actions","aria-haspopup":"true","aria-expanded":e.moreOpen?"true":"false",onClick:t[36]||(t[36]=de(a=>e.moreOpen=!e.moreOpen,["stop"]))},[(l(),d("svg",lz,[...t[93]||(t[93]=[n("circle",{cx:"5",cy:"12",r:"1.8"},null,-1),n("circle",{cx:"12",cy:"12",r:"1.8"},null,-1),n("circle",{cx:"19",cy:"12",r:"1.8"},null,-1)])]))],10,az),e.moreOpen?(l(),d("div",{key:0,class:"tb-menu",role:"menu",onClick:t[38]||(t[38]=a=>e.moreOpen=!1)},[e.options?.publishedAt||e.options?.sourceCommitDate||e.options?.anonymizedAt||e.options?.lastUpdateDate?(l(),d("div",dz,[t[94]||(t[94]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-clock"})],-1)),v("Snapshot \xB7 "+c(e.fmt?.date(e.options?.publishedAt||e.options?.sourceCommitDate||e.options?.anonymizedAt||e.options?.lastUpdateDate)),1)])):f("v-if",!0),e.options?.publishedAt||e.options?.sourceCommitDate||e.options?.anonymizedAt||e.options?.lastUpdateDate?(l(),d("div",uz)):f("v-if",!0),e.type!="error"?(l(),d("a",{key:2,role:"menuitem",target:"_self",href:e.safeUrl(e.url)},[t[95]||(t[95]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-code"})],-1)),v(c(e.type=="IPython"?"View notebook JSON":"View raw"),1)],8,cz)):f("v-if",!0),e.type!="error"?(l(),d("a",{key:3,role:"menuitem",target:"_self",href:e.safeUrl(e.url+"&download=true")},[...t[96]||(t[96]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-download"})],-1),v("Download file",-1)])],8,pz)):f("v-if",!0),e.options?.download?(l(),d("a",{key:4,role:"menuitem",target:"_self",href:e.safeUrl("/api/repo/"+e.repoId+"/zip")},[...t[97]||(t[97]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-archive"})],-1),v("Download ZIP",-1)])],8,fz)):f("v-if",!0),n("button",{type:"button",role:"menuitem",onClick:t[37]||(t[37]=a=>e.copyPath())},[...t[98]||(t[98]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-link"})],-1),v("Copy file path",-1)])]),t[99]||(t[99]=n("div",{class:"tb-menu-sep"},null,-1)),t[100]||(t[100]=n("a",{role:"menuitem",href:"/faq"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-help"})]),v("FAQ")],-1)),t[101]||(t[101]=n("a",{role:"menuitem",href:"https://github.com/tdurieux/anonymous_github/issues/new?template=issue_report.yml",target:"_blank",rel:"noopener"},[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-bug"})]),v("Report a bug")],-1))])):f("v-if",!0)])])]),e.type=="image"?(l(),d("div",hz,[n("img",{class:"image-content",src:e.safeUrl(e.url),alt:e.paths[e.paths.length-1],onLoad:t[39]||(t[39]=a=>e.onImageLoad(a))},null,40,mz)])):f("v-if",!0),e.type=="media"?(l(),d("div",gz,[n("video",{class:"video-content",controls:"",preload:"metadata",playsinline:"",src:e.safeUrl(e.url)},null,8,vz)])):f("v-if",!0),e.type=="audio"?(l(),d("div",yz,[n("audio",{controls:"",preload:"metadata",src:e.safeUrl(e.url)},null,8,bz)])):f("v-if",!0),e.type=="pdf"?(l(),dn(i,{key:3,src:e.safeUrl(e.url)},null,8,["src"])):f("v-if",!0),e.type=="IPython"?(l(),d("div",wz,[_e(s,{class:"markdown-body",file:e.url,content:e.content},null,8,["file","content"])])):f("v-if",!0),e.type=="binary"?(l(),d("div",kz,[t[103]||(t[103]=n("svg",{class:"ui-icon file-state-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-file"})],-1)),t[104]||(t[104]=n("h2",{class:"file-state-title"},"No preview for this file",-1)),t[105]||(t[105]=n("p",{class:"file-state-msg"},"This is a binary file. Download it to open it on your computer.",-1)),n("div",Cz,[n("a",{target:"_self",class:"btn btn-primary",href:e.safeUrl(e.url+"&download=true")},[...t[102]||(t[102]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-download"})],-1),v("Download file",-1)])],8,Ez)])])):f("v-if",!0),e.type=="error"?(l(),d("div",Sz,[t[107]||(t[107]=n("svg",{class:"ui-icon file-state-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-warning"})],-1)),n("h2",Nz,c(e.content==="file_too_big"?"This file is too large to preview":"This file can't be shown"),1),e.content==="file_too_big"?(l(),d("p",Rz,"It is over the size limit for anonymized files, so it can't be previewed or downloaded from this link.")):(l(),d("p",Dz,c(e.fmt.translate("ERRORS."+e.content)),1)),n("div",Az,[n("a",{class:"btn btn-primary",href:e.safeUrl("/r/"+e.repoId+"/")},"Back to the repository",8,Tz),t[106]||(t[106]=n("a",{class:"btn btn-outline-ink",href:"/faq#formats"},"Supported files",-1))])])):f("v-if",!0),e.content==null&&e.type!="error"?(l(),d("div",Pz,[...t[108]||(t[108]=[n("svg",{class:"ui-icon file-state-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-file"})],-1),n("h2",{class:"file-state-title"},"This file is empty",-1),n("p",{class:"file-state-msg"},"It has no content in this snapshot.",-1)])])):f("v-if",!0)],2)):f("v-if",!0),e.type=="rate_limited"?(l(),d("div",Oz,[n("div",Iz,[t[111]||(t[111]=Se('
    Temporarily paused
    GitHub API rate limit reached
    ',1)),n("p",Mz,[t[109]||(t[109]=v("This repository will be available in ",-1)),n("strong",null,c(e.rateLimitCountdown),1),t[110]||(t[110]=v(". The page will reload automatically.",-1))])])])):f("v-if",!0),e.type=="error"&&!e.fileFrame()?(l(),d("div",_z,[n("section",Vz,[n("h1",qz,c(e.fmt.translate(e.isSourceAccessError()?"VIEWER_ERRORS.access_title":"VIEWER_ERRORS.title")),1),n("p",null,c(e.fmt.translate("ERRORS."+e.content)),1),e.isSourceAccessError()?(l(),d(L,{key:0},[n("p",null,c(e.fmt.translate("VIEWER_ERRORS.reader_help")),1),n("p",null,c(e.fmt.translate("VIEWER_ERRORS.owner_help")),1)],64)):f("v-if",!0),n("div",$z,[e.isSourceAccessError()?f("v-if",!0):(l(),d("a",Lz,"Back to home")),e.isSourceAccessError()?f("v-if",!0):(l(),d("a",Uz,"Read the FAQ")),n("button",{type:"button",class:"btn btn-primary",onClick:t[40]||(t[40]=a=>e.retryContent())},c(e.fmt.translate("VIEWER_ERRORS.retry")),1),e.isSourceAccessError()?(l(),d("a",Fz,c(e.fmt.translate("VIEWER_ERRORS.dashboard")),1)):f("v-if",!0)])])])):f("v-if",!0),e.type=="loading"&&!e.error?(l(),d("section",Bz,[n("div",zz,[n("strong",null,c(e.fmt.translate(e.fileReceivedBytes?"VIEWER_LOADING.receiving":"VIEWER_LOADING.loading")),1),n("span",Hz,c(e.filePath),1),e.fileLoadingSlow?(l(),d("p",jz,c(e.fmt.translate("VIEWER_LOADING.slow")),1)):f("v-if",!0)]),n("div",Gz,[(l(),d(L,null,ie(10,a=>n("span",{key:a})),64))])])):f("v-if",!0),e.type=="empty"?(l(),d("div",Wz,[...t[112]||(t[112]=[n("h1",{class:"paper-empty-title m-auto"},[v("Empty "),n("em",null,"repository"),v(".")],-1)])])):f("v-if",!0),e.content==null&&!["empty","loading","error","rate_limited"].includes(e.type)&&!e.fileFrame()?(l(),d("div",Kz,[...t[113]||(t[113]=[n("h1",{class:"paper-empty-title m-auto"},[v("Empty "),n("em",null,"file"),v(".")],-1)])])):f("v-if",!0)],64)}var Yz={class:"container page dashboard-page paper-page"},Xz={class:"row"},Qz={class:"w-100"},Jz={class:"w-100","aria-label":"Pull Requests","accept-charset":"UTF-8"},Zz={class:"d-flex flex-column flex-md-row align-items-md-center",style:{gap:"8px"}},xz={class:"flex-grow-1"},eH={type:"search",id:"search",class:"form-control","aria-label":"Find a pull request...",placeholder:"Find a pull request...",autocomplete:"off"},tH={class:"d-flex flex-wrap",style:{gap:"6px"}},nH={class:"dropdown"},oH={class:"dropdown-menu","aria-labelledby":"dropdownSort"},sH={class:"form-check dropdown-item"},iH={class:"form-check-input",type:"radio",name:"sort",id:"sortFullName",value:"fullName"},rH={class:"form-check dropdown-item"},aH={class:"form-check-input",type:"radio",name:"sort",id:"sortAnonymizeDate",value:"-anonymizeDate"},lH={class:"form-check dropdown-item"},dH={class:"form-check-input",type:"radio",name:"sort",id:"sortStatus",value:"-status"},uH={class:"form-check dropdown-item"},cH={class:"form-check-input",type:"radio",name:"sort",id:"sortLastView",value:"-lastView"},pH={class:"form-check dropdown-item"},fH={class:"form-check-input",type:"radio",name:"sort",id:"sortPageView",value:"-pageView"},hH={class:"dropdown"},mH={class:"dropdown-menu","aria-labelledby":"dropdownStatus"},gH={class:"form-check dropdown-item"},vH={class:"form-check-input",type:"checkbox",name:"sort",id:"statusReady",value:"ready"},yH={class:"form-check dropdown-item"},bH={class:"form-check-input",type:"checkbox",name:"sort",id:"statusExpired",value:"expired"},wH={class:"form-check dropdown-item"},kH={class:"form-check-input",type:"checkbox",name:"sort",id:"statusRemoved",value:"removed"},CH={class:"d-flex flex-wrap mt-2",style:{gap:"6px"}},EH={class:"filter-chip"},SH=["onClick"],NH={class:"repo-list w-100"},RH={class:"repo-list-item-content"},DH={class:"repo-list-item-main"},AH={class:"repo-list-item-header"},TH=["textContent","href"],PH=["textContent"],OH=["textContent"],IH={class:"repo-source"},MH=["href"],_H={class:"repo-date"},VH={class:"repo-meta"},qH={key:0,title:"Conference"},$H=["title"],LH=["title"],UH=["title"],FH={key:1},BH={class:"repo-list-item-actions"},zH={class:"dropdown"},HH={class:"dropdown-menu dropdown-menu-right"},jH=["href"],GH=["onClick"],WH=["onClick"],KH=["onClick"],YH=["href"],XH={key:0,class:"repo-list-empty"};function op(e,t){let o=Ae("field"),i=Ae("form");return l(),d("div",Yz,[n("div",Xz,[n("div",Qz,[t[12]||(t[12]=Se('
    My work \xA0/\xA0 Pull requests

    Anonymized pull requests

    Track PR mirrors you\u2019ve created and their reviewer traffic.

    ',2)),f(" Search + filters row "),O((l(),d("form",Jz,[n("div",Zz,[n("div",xz,[O(n("input",eH,null,512),[[o,{state:e.viewState,set:s=>{e.search=s},value:e.search,form:null,options:{}}]])]),n("div",tH,[n("div",nH,[t[6]||(t[6]=n("button",{class:"btn btn-sm dropdown-toggle",type:"button",id:"dropdownSort","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"}," Sort ",-1)),n("div",oH,[t[5]||(t[5]=n("h6",{class:"dropdown-header"},"Select order",-1)),n("div",sH,[O(n("input",iH,null,512),[[o,{state:e.viewState,set:s=>{e.orderBy=s},value:e.orderBy,form:null,options:{}}]]),t[0]||(t[0]=n("label",{class:"form-check-label",for:"sortFullName"},"Pull Request",-1))]),n("div",rH,[O(n("input",aH,null,512),[[o,{state:e.viewState,set:s=>{e.orderBy=s},value:e.orderBy,form:null,options:{}}]]),t[1]||(t[1]=n("label",{class:"form-check-label",for:"sortAnonymizeDate"},"Anonymize Date",-1))]),n("div",lH,[O(n("input",dH,null,512),[[o,{state:e.viewState,set:s=>{e.orderBy=s},value:e.orderBy,form:null,options:{}}]]),t[2]||(t[2]=n("label",{class:"form-check-label",for:"sortStatus"},"Status",-1))]),n("div",uH,[O(n("input",cH,null,512),[[o,{state:e.viewState,set:s=>{e.orderBy=s},value:e.orderBy,form:null,options:{}}]]),t[3]||(t[3]=n("label",{class:"form-check-label",for:"sortLastView"},"Last View",-1))]),n("div",pH,[O(n("input",fH,null,512),[[o,{state:e.viewState,set:s=>{e.orderBy=s},value:e.orderBy,form:null,options:{}}]]),t[4]||(t[4]=n("label",{class:"form-check-label",for:"sortPageView"},"Page View",-1))])])]),n("div",hH,[t[11]||(t[11]=n("button",{class:"btn btn-sm dropdown-toggle",type:"button",id:"dropdownStatus","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"}," Status ",-1)),n("div",mH,[t[10]||(t[10]=n("h6",{class:"dropdown-header"},"Select status",-1)),n("div",gH,[O(n("input",vH,null,512),[[o,{state:e.viewState,set:s=>{e.filters.status.ready=s},value:e.filters?.status?.ready,form:null,options:{}}]]),t[7]||(t[7]=n("label",{class:"form-check-label",for:"statusReady"},"Ready",-1))]),n("div",yH,[O(n("input",bH,null,512),[[o,{state:e.viewState,set:s=>{e.filters.status.expired=s},value:e.filters?.status?.expired,form:null,options:{}}]]),t[8]||(t[8]=n("label",{class:"form-check-label",for:"statusExpired"},"Expired",-1))]),n("div",wH,[O(n("input",kH,null,512),[[o,{state:e.viewState,set:s=>{e.filters.status.removed=s},value:e.filters?.status?.removed,form:null,options:{}}]]),t[9]||(t[9]=n("label",{class:"form-check-label",for:"statusRemoved"},"Removed",-1))])])])])])])),[[i,e.viewState]]),f(" Active filter chips "),O(n("div",CH,[(l(!0),d(L,null,ie(e.filters?.status,(s,r,a)=>O((l(),d("span",EH,[v(c(e.fmt?.title(r))+" ",1),n("button",{type:"button",class:"filter-chip-close","aria-label":"Remove filter",onClick:u=>{e.filters.status[r]=!0}}," \xD7 ",8,SH)],512)),[[ee,!s]])),256))],512),[[ee,e.filters?.status?.ready===!1||e.filters?.status?.expired===!1||e.filters?.status?.removed===!1]])]),f(" Pull request list "),n("ul",NH,[(l(!0),d(L,null,ie(e.filteredPullRequests,(s,r)=>(l(),d("li",{class:T(["repo-list-item",{"repo-inactive":s?.status=="expired"||s?.status=="removed"||s?.status=="error"}])},[n("div",RH,[n("div",DH,[n("div",AH,[n("a",{class:"repo-name",textContent:c(s?.pullRequestId),href:e.safeUrl("/pr/"+s?.pullRequestId)},null,8,TH),n("span",{class:T(["status-badge",{"status-removed":s?.status=="removed"||s?.status=="expired"||s?.status=="removing"||s?.status=="expiring","status-preparing":s?.status=="preparing"||s?.status=="download","status-ready":s?.status=="ready","status-error":s?.status=="error"}])},[n("span",{textContent:c(e.fmt?.title(s?.status))},null,8,PH),s?.status=="error"?(l(),d("span",{key:0,textContent:c(": "+s?.statusMessage)},null,8,OH)):f("v-if",!0)],2)]),n("div",IH,[n("span",null,[t[13]||(t[13]=n("i",{class:"fab fa-github","aria-hidden":"true"},null,-1)),n("a",{href:e.safeUrl("https://github.com/"+s?.source?.repositoryFullName+"/pull/"+s?.source?.pullRequestId)},c(s?.source?.repositoryFullName)+"#"+c(s?.source?.pullRequestId),9,MH)]),n("span",{class:T(["status-badge",{"status-ready":s?.merged,"status-removed":s?.state=="open","status-error":s?.state=="closed"&&!s?.merged}]),style:{"font-size":"10px"}},c(e.fmt?.title(s?.merged?"merged":s?.state)),3),n("span",_H,"anonymized "+c(e.fmt?.humanTime(s?.anonymizeDate)),1)])]),n("div",VH,[s?.conference?(l(),d("span",qH,[t[14]||(t[14]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-conference"})],-1)),v(" "+c(s?.conference),1)])):f("v-if",!0),n("span",{"data-toggle":"tooltip","data-placement":"bottom",title:"Terms: "+s?.options?.terms?.join(", ")},[t[15]||(t[15]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-shield"})],-1)),v(" "+c(e.fmt?.number(s?.options?.terms?.length)),1)],8,$H),n("span",{"data-toggle":"tooltip","data-placement":"bottom",title:"Views: "+e.fmt?.number(s?.pageView)},[t[16]||(t[16]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-eye"})],-1)),v(" "+c(e.fmt?.number(s?.pageView)),1)],8,LH),n("span",{"data-toggle":"tooltip","data-placement":"bottom",title:"Last view: "+e.fmt?.date(s?.lastView)},[t[17]||(t[17]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-calendar"})],-1)),v(" "+c(e.fmt?.humanTime(s?.lastView)),1)],8,UH),s?.options?.expirationMode!="never"&&s?.status=="ready"?(l(),d("span",FH,[t[18]||(t[18]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-clock"})],-1)),v(" Expire: "+c(e.fmt?.humanTime(s?.options?.expirationDate)),1)])):f("v-if",!0)])]),n("div",BH,[n("div",zH,[t[24]||(t[24]=n("button",{class:"btn btn-sm dropdown-toggle",type:"button","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"}," Actions ",-1)),n("div",HH,[n("a",{class:"dropdown-item",href:e.safeUrl("/pull-request-anonymize/"+s?.pullRequestId)},[...t[19]||(t[19]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-edit"})],-1),v(" Edit ",-1)])],8,jH),O(n("a",{class:"dropdown-item",href:"#",onClick:de(a=>e.updatePullRequest(s),["prevent"])},[...t[20]||(t[20]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-refresh"})],-1),v(" Force update ",-1)])],8,GH),[[ee,s?.status=="ready"||s?.status=="error"]]),O(n("a",{class:"dropdown-item",href:"#",onClick:de(a=>e.updatePullRequest(s),["prevent"])},[...t[21]||(t[21]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-check-circle"})],-1),v(" Enable ",-1)])],8,WH),[[ee,s?.status=="removed"]]),O(n("a",{class:"dropdown-item",href:"#",onClick:de(a=>e.removePullRequest(s),["prevent"])},[...t[22]||(t[22]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-trash"})],-1),v(" Remove ",-1)])],8,KH),[[ee,s?.status=="ready"]]),n("a",{class:"dropdown-item",href:e.safeUrl("/pr/"+s?.pullRequestId+"/")},[...t[23]||(t[23]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-eye"})],-1),v(" View PR ",-1)])],8,YH)])])])],2))),256)),e.filteredPullRequests?.length==0?(l(),d("li",XH,[...t[25]||(t[25]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-inbox"})],-1),n("span",null,"No pull requests to display.",-1)])])):f("v-if",!0)])])])}var QH={class:"container paper-page user-settings"},JH={class:"settings-nav","aria-label":"Settings"},ZH=["aria-current","onClick"],xH={class:"settings-row"},ej=["rows"],tj={class:"settings-syntax"},nj={class:"invalid-feedback"},oj={class:"settings-row"},sj={class:"settings-checks"},ij={class:"settings-check"},rj={class:"form-check-input",type:"checkbox",id:"link",name:"link"},aj={class:"settings-check"},lj={class:"form-check-input",type:"checkbox",id:"image",name:"image"},dj={class:"settings-check"},uj={class:"form-check-input",type:"checkbox",id:"pdf",name:"pdf"},cj={class:"settings-check"},pj={class:"form-check-input",type:"checkbox",id:"notebook",name:"notebook"},fj={class:"settings-check"},hj={class:"form-check-input",type:"checkbox",id:"loc",name:"loc"},mj={class:"settings-check"},gj={class:"form-check-input",type:"checkbox",id:"page",name:"page"},vj={class:"settings-row"},yj={class:"settings-check"},bj={class:"form-check-input",type:"checkbox",id:"update",name:"update"},wj={class:"settings-row"},kj={class:"form-control",id:"expiration",name:"expiration"},Cj={class:"settings-help"},Ej={class:"settings-save"},Sj={class:"settings-save-status draft-status",role:"status"},Nj={key:0},Rj={key:1},Dj={key:2},Aj=["disabled"],Tj={key:1,class:"settings-save-error",role:"alert"},Pj=["aria-busy"],Oj={key:0,role:"status"},Ij={key:1,class:"settings-notice",role:"alert"},Mj=["disabled"],_j={key:2,class:"settings-notice",role:"status"},Vj={key:3,class:"settings-notice",role:"status"},qj=["disabled"],$j={class:"billing-summary"},Lj={class:"billing-summary-head"},Uj={class:"billing-plan-name"},Fj={key:0,class:"billing-plan-meta"},Bj={key:1,class:"billing-plan-meta"},zj={key:0,class:"billing-summary-actions"},Hj=["disabled"],jj={id:"settings-quota"},Gj={key:1,role:"status"},Wj={key:0,class:"settings-notice"},Kj={key:1,class:"settings-notice"},Yj={key:2,class:"settings-notice"},Xj={key:4,class:"billing-section","aria-labelledby":"settings-plan-comparison"},Qj={key:0,class:"billing-offers"},Jj={key:0,class:"billing-offer is-recommended"},Zj={class:"billing-offer-price"},xj={class:"billing-offer-list"},eG=["disabled"],tG={key:1,class:"billing-offer"},nG={class:"billing-offer-head"},oG={class:"billing-toggle",role:"radiogroup","aria-label":"Billing frequency"},sG=["aria-checked","onClick"],iG={key:0,class:"billing-toggle-save"},rG={class:"billing-offer-price"},aG={class:"billing-offer-list"},lG=["disabled"],dG={key:1,class:"billing-addons"},uG={class:"billing-addon-rows"},cG={class:"billing-addon-price"},pG=["onClick","disabled"],fG={key:2,class:"billing-buy",id:"settings-addons-title",tabindex:"-1"},hG={class:"billing-buy-info"},mG={class:"billing-offer-price"},gG={class:"billing-offer-list"},vG={class:"billing-buy-form"},yG=["value"],bG=["disabled"],wG={key:1,class:"billing-buy-desc"},kG={key:2,class:"billing-footnote"},CG={class:"billing-compare"},EG={class:"billing-compare-card"},SG={class:"settings-comparison"},NG={key:0,scope:"col",class:"is-recommended"},RG={key:1,scope:"col"},DG={key:0,class:"is-recommended"},AG={key:1},TG={key:0,class:"is-recommended"},PG={key:1},OG={key:0,class:"is-recommended"},IG={key:1},MG={key:0,class:"is-recommended"},_G={key:1},VG={key:0,class:"is-recommended"},qG={key:1},$G={key:0,class:"is-recommended"},LG={key:1},UG={key:3,class:"billing-footnote"},FG={key:5,class:"billing-section"},BG={class:"billing-section-head"},zG=["disabled"],HG={key:0,class:"billing-empty"},jG={key:1,class:"billing-history-head","aria-hidden":"true"},GG={key:2,class:"billing-history"},WG={class:"billing-history-main"},KG=["href"],YG=["href"],XG={class:"billing-history-term"},QG={class:"billing-history-paid"},JG={class:"billing-history-status"},ZG={class:"billing-manage"},xG={key:0},eW={key:1},tW=["disabled"],nW={class:"billing-conference"},oW={id:"settings-account",class:"settings-account-panel"},sW={class:"paper-account-card"},iW=["src"],rW={class:"paper-account-identity"},aW={class:"paper-account-name"},lW=["disabled"],dW={key:0,role:"status"},uW={key:1,class:"paper-inline-alert paper-inline-alert-error",role:"alert"},cW=["disabled"],pW={key:3,role:"status"},fW={class:"paper-danger-zone"},hW={key:0,class:"paper-inline-alert paper-inline-alert-error",role:"alert"},mW=["textContent"],gW=["disabled"],vW={key:1,class:"settings-delete-confirm"},yW={for:"delete-username"},bW={class:"settings-actions"},wW=["disabled"],kW=["disabled"];function sp(e,t){let o=Xe("quota-usage"),i=Ae("field"),s=Ae("form");return l(),d("div",QH,[t[107]||(t[107]=n("header",{class:"settings-title page-head page-head-main"},[n("h1",null,"Settings"),n("p",{class:"paper-page-lede"},"Defaults for new anonymizations, hosting and your account.")],-1)),n("nav",JH,[(l(),d(L,null,ie([{id:"defaults",label:"Anonymization defaults"},{id:"billing",label:"Hosting & billing"},{id:"account",label:"Account"}],r=>n("button",{type:"button","aria-current":e.settingsTab===r.id?"page":null,onClick:a=>e.settingsTab=r.id},c(r.label),9,ZH)),64))]),O(n("div",null,[t[41]||(t[41]=n("p",{class:"settings-scope"},"For new anonymizations only. Existing repositories keep their settings.",-1)),O((l(),d("form",{class:"form needs-validation",name:"defaultsForm",novalidate:"",onInput:t[1]||(t[1]=r=>e.unsavedChanges=!0),onSubmit:t[2]||(t[2]=de(r=>e.submitForm(r,()=>{e.saveDefault(r)}),["prevent"]))},[n("section",xH,[t[26]||(t[26]=n("div",null,[n("label",{class:"settings-label",for:"terms"},"Terms to redact"),n("p",{class:"settings-help"},"One term per line.")],-1)),n("div",null,[O(n("textarea",{class:"form-control",id:"terms",name:"terms",rows:Math.min(14,Math.max(3,String(e.terms||"").split(` `).length+1)),placeholder:`Jane Smith MIT CSAIL -jane.smith@example.org`},null,8,tj),[[i,{state:e.viewState,set:r=>{e.terms=r},value:e.terms,form:"defaultsForm",options:{debounce:250}}]]),n("details",nj,[t[25]||(t[25]=n("summary",null,"Regex & replacement syntax",-1)),n("p",null,[t[21]||(t[21]=v("Matches become ",-1)),n("code",null,c(e.site_options?.ANONYMIZATION_MASK||"XXX")+"-[N]",1),t[22]||(t[22]=v(". Use ",-1)),t[23]||(t[23]=n("code",null,"term=>replacement",-1)),t[24]||(t[24]=v(" for a custom replacement. Regex is supported.",-1))])]),P(n("div",oj,"Terms are in an invalid format.",512),[[x,e.defaultsForm?.terms?.errors?.format]])])]),n("section",sj,[t[35]||(t[35]=n("h2",null,"Reviewer display",-1)),n("div",null,[n("div",ij,[n("label",rj,[P(n("input",aj,null,512),[[i,{state:e.viewState,set:r=>{e.options.link=r},value:e.options?.link,form:"defaultsForm",options:{}}]]),t[27]||(t[27]=v("Keep links",-1))]),n("label",lj,[P(n("input",dj,null,512),[[i,{state:e.viewState,set:r=>{e.options.image=r},value:e.options?.image,form:"defaultsForm",options:{}}]]),t[28]||(t[28]=v("Display images",-1))]),n("label",uj,[P(n("input",cj,null,512),[[i,{state:e.viewState,set:r=>{e.options.pdf=r},value:e.options?.pdf,form:"defaultsForm",options:{}}]]),t[29]||(t[29]=v("Display PDFs",-1))]),n("label",pj,[P(n("input",fj,null,512),[[i,{state:e.viewState,set:r=>{e.options.notebook=r},value:e.options?.notebook,form:"defaultsForm",options:{}}]]),t[30]||(t[30]=v("Display notebooks",-1))]),n("label",hj,[P(n("input",mj,null,512),[[i,{state:e.viewState,set:r=>{e.options.loc=r},value:e.options?.loc,form:"defaultsForm",options:{}}]]),t[31]||(t[31]=v("Show line counts",-1))]),n("label",gj,[P(n("input",vj,null,512),[[i,{state:e.viewState,set:r=>{e.options.page=r},value:e.options?.page,form:"defaultsForm",options:{}}]]),t[32]||(t[32]=v("GitHub Pages",-1))])]),t[33]||(t[33]=n("p",{class:"settings-help"},"Images and PDFs are not anonymized.",-1)),t[34]||(t[34]=n("p",{class:"settings-help"},"GitHub Pages must use the anonymized branch.",-1))])]),n("section",yj,[t[38]||(t[38]=n("h2",null,"Source updates",-1)),n("div",null,[n("label",bj,[P(n("input",wj,null,512),[[i,{state:e.viewState,set:r=>{e.options.update=r},value:e.options?.update,form:"defaultsForm",options:{}}]]),t[36]||(t[36]=v("Auto-update from GitHub",-1))]),t[37]||(t[37]=n("p",{class:"settings-help"},"Latest commit, at most once an hour.",-1))])]),n("section",kj,[t[40]||(t[40]=n("label",{class:"settings-label",for:"expiration"},"On expiration",-1)),n("div",null,[P((l(),d("select",Cj,[...t[39]||(t[39]=[n("option",{value:"redirect"},"Redirect visitors to the GitHub repository",-1),n("option",{value:"remove",selected:""},"Remove the anonymized repository",-1)])])),[[i,{state:e.viewState,set:r=>{e.options.expirationMode=r},value:e.options?.expirationMode,form:"defaultsForm",options:{}}]]),n("p",Ej,c(e.options.expirationMode==="redirect"?"Redirecting reveals the original repository. Choose the date per anonymization.":"Set the expiration date for each repository."),1)])]),n("footer",Sj,[n("div",Nj,[e.draftRestored?(l(),d("span",Rj,"Your unsaved draft was restored.")):e.unsavedChanges?(l(),d("span",Dj,"Unsaved changes"+c(e.draftSaved?" \xB7 Draft saved in this tab":""),1)):(l(),d("span",Aj,c(e.message?"Defaults saved":"No unsaved changes"),1))]),e.draftRestored||e.unsavedChanges?(l(),d("button",{key:0,type:"button",class:"draft-discard",onClick:t[0]||(t[0]=r=>e.discardDraft())},"Discard changes")):f("v-if",!0),n("button",{id:"save",type:"submit",class:T(["btn btn-ink",{"is-saving":e.saving}]),disabled:e.saving||!(e.unsavedChanges||e.draftRestored)},c(e.saving?"Saving\u2026":"Save defaults"),11,Tj),e.error?(l(),d("div",Pj,c(e.error),1)):f("v-if",!0)])],32)),[[s,e.viewState]])],512),[[x,e.settingsTab==="defaults"]]),P(n("section",{id:"settings-billing","aria-busy":e.billingLoading||e.billingBusy},[t[95]||(t[95]=n("p",{class:"settings-scope"},"Your plan and usage. Reviewer access is always free.",-1)),e.billingLoading?(l(),d("p",Ij,"Loading billing\u2026")):f("v-if",!0),e.billingError?(l(),d("div",Mj,[v(c(e.billingError)+" ",1),n("button",{type:"button",class:"btn btn-outline-ink",onClick:t[3]||(t[3]=r=>e.loadBilling()),disabled:e.billingBusy},"Try again",8,_j)])):f("v-if",!0),e.billingNotice?(l(),d("p",Vj,c(e.billingNotice),1)):f("v-if",!0),e.billingPending?(l(),d("div",qj,[t[42]||(t[42]=n("strong",null,"Confirming your payment",-1)),t[43]||(t[43]=n("p",null,"Your allowance will update after confirmation. Please do not pay again.",-1)),n("button",{type:"button",class:"btn btn-outline-ink",onClick:t[4]||(t[4]=r=>e.refreshBilling()),disabled:e.billingBusy},"Check payment status",8,$j)])):f("v-if",!0),n("section",Lj,[n("div",Uj,[n("div",null,[t[44]||(t[44]=n("p",{class:"billing-eyebrow"},"Current plan",-1)),n("h2",Fj,c(e.profileAuthorGrant()?e.profileGrantName(e.profileAuthorGrant()):e.billing?.enabled?"Free":"Account allowance"),1),e.profileAuthorGrant()?(l(),d("p",Bj,[v(c(e.profileAuthorGrant().cancelAtPeriodEnd?"Renewal cancelled \xB7 access until ":"Renews ")+c(e.billingDate(e.profileAuthorGrant().until)),1),e.profileAuthorPurchase()?.amount!=null?(l(),d(L,{key:0},[v(" \xB7 "+c(e.billingPrice(e.profileAuthorPurchase())),1)],64)):f("v-if",!0)])):e.billing?.allowance?(l(),d("p",zj,c(e.billing.allowance.repositories)+" repositories \xB7 "+c(e.billingBytes(e.billing.allowance.storage))+" \xB7 links up to "+c(e.billing.freeExpirationMonths||5)+" months",1)):f("v-if",!0)]),e.profileAuthorGrant()&&e.billing?.portal?(l(),d("div",Hj,[n("button",{type:"button",class:"btn btn-outline-ink",onClick:t[5]||(t[5]=r=>e.billingPortal()),disabled:e.billingBusy},c(e.profileAuthorGrant().cancelAtPeriodEnd?"Resume renewal":"Change or cancel plan"),9,jj)])):f("v-if",!0)]),n("div",Gj,[e.quota?(l(),un(o,{key:0,quota:e.quota,fmt:e.fmt},null,8,["quota","fmt"])):(l(),d("p",Wj,"Loading usage\u2026"))]),e.quota?.repository&&!e.quota.repository.unlimited&&e.quota.repository.used>=e.quota.repository.total?(l(),d("p",Kj,[v("Your free repositories are used up. Add the next one for "+c(e.profileSlotPlan()?e.billingPrice(e.profileSlotPlan()):"a one-time payment")+" when you create it, or ",1),t[45]||(t[45]=n("a",{href:"/dashboard"},"remove work you no longer need",-1)),t[46]||(t[46]=v(".",-1))])):f("v-if",!0),e.profileAuthorGrant()?.status==="past_due"?(l(),d("p",Yj,"A subscription payment is overdue. Update your payment details in Manage billing and invoices.")):f("v-if",!0),e.profilePastSubscription()?(l(),d("p",Xj,[...t[47]||(t[47]=[v("Your previous subscription has ended. Never-expiring repositories stay online for a 90-day grace period. ",-1),n("a",{href:"/dashboard"},"Review expiration dates",-1),v(".",-1)])])):f("v-if",!0),t[48]||(t[48]=n("p",{class:"billing-footnote"},"Co-authored, paid and conference repositories aren't counted here.",-1))]),e.billing?.enabled&&!e.profileAuthorGrant()&&(e.profilePackPlan()||e.profileAuthorPlans().length)?(l(),d("section",Qj,[t[85]||(t[85]=n("h2",{class:"billing-section-title",id:"settings-plan-comparison",tabindex:"-1"},"Get more",-1)),e.showRepositoryPass&&e.profileAddon()&&!e.billingPending?f("v-if",!0):(l(),d("div",Jj,[e.profilePackPlan()?(l(),d("article",Zj,[t[54]||(t[54]=n("span",{class:"billing-offer-pill"},"Recommended",-1)),t[55]||(t[55]=n("div",{class:"billing-offer-head"},[n("p",{class:"billing-eyebrow"},"For one paper")],-1)),t[56]||(t[56]=n("h3",null,"Paper pack",-1)),n("p",xj,[n("strong",null,c(e.billingAmount(e.profilePackPlan())),1),t[49]||(t[49]=v(" once",-1))]),n("ul",eG,[t[50]||(t[50]=n("li",null,"One more repository, outside your free ones",-1)),n("li",null,"Its own "+c(e.billingBytes(e.profileSlotPlan()?.storage||e.profilePassPlan()?.storage))+" of storage",1),t[51]||(t[51]=n("li",null,"Automatic updates for 180 days",-1)),t[52]||(t[52]=n("li",null,"Online for up to a year",-1)),t[53]||(t[53]=n("li",null,"No subscription",-1))]),n("button",{type:"button",class:"btn btn-ink",onClick:t[6]||(t[6]=r=>e.openProfileAddon("repo_pack")),disabled:e.billingPending||e.billing.checkoutEnabled===!1},"Buy a Paper pack",8,tG)])):f("v-if",!0),e.profileAuthorPlans().length?(l(),d("article",nG,[n("div",oG,[t[57]||(t[57]=n("p",{class:"billing-eyebrow"},"For many papers",-1)),n("div",sG,[(l(!0),d(L,null,se(e.profileAuthorPlansByValue(),r=>(l(),d("button",{type:"button",role:"radio",key:r.id,"aria-checked":e.profileSelectedPlan()?.id===r.id?"true":"false",class:T({"is-on":e.profileSelectedPlan()?.id===r.id}),onClick:a=>e.profilePlan=r.id},[v(c(r.interval==="year"?"Yearly":"Monthly"),1),r.interval==="year"&&e.profileAnnualSavings()?(l(),d("span",rG,"\u2212"+c(e.profileAnnualSavings())+"%",1)):f("v-if",!0)],10,iG))),128))])]),t[62]||(t[62]=n("h3",null,"Author subscription",-1)),n("p",aG,[n("strong",null,c(e.billingAmount(e.profileSelectedPlan())),1),v(" per "+c(e.profileSelectedPlan()?.interval==="year"?"year":"month"),1)]),n("ul",lG,[n("li",null,c(e.profileSelectedPlan()?.repositories)+" repositories, "+c(e.billingBytes(e.profileSelectedPlan()?.storage)),1),t[58]||(t[58]=n("li",null,"Automatic updates",-1)),t[59]||(t[59]=n("li",null,"Links that never expire",-1)),t[60]||(t[60]=n("li",null,"Coauthors included",-1)),t[61]||(t[61]=n("li",null,"Cancel renewal anytime",-1))]),n("button",{type:"button",class:"btn btn-outline-ink",disabled:e.billingBusy||e.billing.checkoutEnabled===!1,onClick:t[7]||(t[7]=r=>e.checkout(e.profileSelectedPlan().id))},c(e.billingBusy?"Please wait\u2026":"Subscribe"),9,dG)])):f("v-if",!0)])),e.profileSingleAddons().length&&!(e.showRepositoryPass&&e.profileAddon()&&!e.billingPending)?(l(),d("div",uG,[t[63]||(t[63]=n("div",{class:"billing-addons-head"},[n("h3",{class:"billing-subtitle"},"Or pay for one thing"),n("span",null,"One-time")],-1)),n("ul",cG,[(l(!0),d(L,null,se(e.profileSingleAddons(),r=>(l(),d("li",{key:r.id},[n("div",null,[n("strong",null,c(r.name),1),n("span",null,c(e.profileAddonBlurb(r.id)),1)]),n("span",pG,c(e.billingAmount(r)),1),n("button",{type:"button",class:"settings-text-button",onClick:a=>e.openProfileAddon(r.id),disabled:e.billingPending||e.billing.checkoutEnabled===!1},"Buy",8,fG)]))),128))])])):f("v-if",!0),e.showRepositoryPass&&e.profileAddon()&&!e.billingPending?(l(),d("div",hG,[n("div",mG,[n("button",{type:"button",class:"btn btn-outline-ink billing-back",onClick:t[8]||(t[8]=r=>e.showRepositoryPass=!1)},"\u2190 All options"),n("h3",null,c(e.profileAddon().name),1),n("p",gG,[n("strong",null,c(e.billingAmount(e.profileAddon())),1),t[64]||(t[64]=v(" once",-1))]),n("ul",vG,[(l(!0),d(L,null,se(e.profileAddonFeatures(e.profileAddon().id),r=>(l(),d("li",{key:r},c(r),1))),128))])]),n("div",yG,[e.profileRepositories().length?(l(),d(L,{key:0},[t[66]||(t[66]=n("label",{class:"paper-field-label",for:"billing-repository"},"Which repository?",-1)),P(n("select",{id:"billing-repository",class:"form-control","onUpdate:modelValue":t[9]||(t[9]=r=>e.billingRepository=r)},[t[65]||(t[65]=n("option",{value:"",disabled:""},"Choose a repository",-1)),(l(!0),d(L,null,se(e.profileRepositories(),r=>(l(),d("option",{key:r.repoId,value:r.repoId},c(r.repoId)+" \xB7 "+c(e.profileRepositoryExpiry(r)),9,bG))),128))],512),[[pn,e.billingRepository]]),n("button",{type:"button",class:"btn btn-ink",disabled:e.billingBusy||!e.billingRepository||e.billing.checkoutEnabled===!1,onClick:t[10]||(t[10]=r=>e.checkout(e.profileAddon().id,e.billingRepository))},c(e.billingBusy?"Please wait\u2026":"Continue to checkout"),9,wG),t[67]||(t[67]=n("p",{class:"billing-footnote"},"One-time payment. Tax shown at checkout.",-1))],64)):(l(),d("p",kG,[...t[68]||(t[68]=[v("You have no repositories yet. ",-1),n("a",{href:"/anonymize"},"Create one",-1),v(" first.",-1)])])),["repo_slot","repo_pack"].includes(e.profileAddon().id)?(l(),d("p",CG,[...t[69]||(t[69]=[v("Adding a new repository? ",-1),n("a",{href:"/anonymize"},"Start creating it",-1),v("; the form offers this once your free repositories are in use.",-1)])])):f("v-if",!0)])])):f("v-if",!0),n("details",EG,[t[84]||(t[84]=n("summary",null,"Compare all features",-1)),n("div",SG,[n("table",NG,[t[83]||(t[83]=n("caption",{class:"sr-only"},"Free, Paper pack and Author hosting",-1)),n("thead",null,[n("tr",null,[t[72]||(t[72]=n("th",{scope:"col"},[n("span",{class:"sr-only"},"Feature")],-1)),t[73]||(t[73]=n("th",{scope:"col"},[v("Free"),n("small",null,"\u20AC0")],-1)),e.profilePackPlan()?(l(),d("th",RG,[t[70]||(t[70]=v("Paper pack",-1)),n("small",null,c(e.billingPrice(e.profilePackPlan())),1)])):f("v-if",!0),e.profileAuthorPlans().length?(l(),d("th",DG,[t[71]||(t[71]=v("Author",-1)),n("small",null,c(e.billingPrice(e.profileSelectedPlan())),1)])):f("v-if",!0)])]),n("tbody",null,[n("tr",null,[t[74]||(t[74]=n("th",{scope:"row"},"Repositories",-1)),n("td",null,c(e.billing.allowance?.repositories),1),e.profilePackPlan()?(l(),d("td",AG,"+1")):f("v-if",!0),e.profileAuthorPlans().length?(l(),d("td",TG,c(e.profileSelectedPlan()?.repositories),1)):f("v-if",!0)]),n("tr",null,[t[75]||(t[75]=n("th",{scope:"row"},"Source storage",-1)),n("td",null,c(e.billingBytes(e.billing.allowance?.storage))+" total",1),e.profilePackPlan()?(l(),d("td",PG,c(e.billingBytes(e.profileSlotPlan()?.storage||e.profilePassPlan()?.storage))+" for it",1)):f("v-if",!0),e.profileAuthorPlans().length?(l(),d("td",OG,c(e.billingBytes(e.profileSelectedPlan()?.storage))+" total",1)):f("v-if",!0)]),n("tr",null,[t[76]||(t[76]=n("th",{scope:"row"},"Latest expiration",-1)),n("td",null,c(e.billing.freeExpirationMonths||5)+" months ahead",1),e.profilePackPlan()?(l(),d("td",IG,"1 year after purchase")):f("v-if",!0),e.profileAuthorPlans().length?(l(),d("td",MG,"Never")):f("v-if",!0)]),n("tr",null,[t[77]||(t[77]=n("th",{scope:"row"},"Automatic updates",-1)),t[78]||(t[78]=n("td",null,"No",-1)),e.profilePackPlan()?(l(),d("td",_G,"180 days")):f("v-if",!0),e.profileAuthorPlans().length?(l(),d("td",VG,"Yes")):f("v-if",!0)]),n("tr",null,[t[79]||(t[79]=n("th",{scope:"row"},"Renews",-1)),t[80]||(t[80]=n("td",null,"No",-1)),e.profilePackPlan()?(l(),d("td",qG,"No")):f("v-if",!0),e.profileAuthorPlans().length?(l(),d("td",$G,"Until cancelled")):f("v-if",!0)]),n("tr",null,[t[81]||(t[81]=n("th",{scope:"row"},"Reviewer access",-1)),t[82]||(t[82]=n("td",null,"Free",-1)),e.profilePackPlan()?(l(),d("td",LG,"Free")):f("v-if",!0),e.profileAuthorPlans().length?(l(),d("td",UG,"Free")):f("v-if",!0)])])])])]),e.billing.checkoutEnabled===!1?(l(),d("p",FG,"New purchases are not available right now. Existing billing can still be managed below.")):f("v-if",!0)])):f("v-if",!0),e.billing?.enabled?(l(),d("section",BG,[n("div",zG,[t[86]||(t[86]=n("h2",{class:"billing-section-title"},"Purchases",-1)),e.billingPending?f("v-if",!0):(l(),d("button",{key:0,type:"button",class:"settings-text-button",onClick:t[11]||(t[11]=r=>e.refreshBilling()),disabled:e.billingBusy},"Refresh payment status",8,HG))]),(e.billing.purchases||[]).length?f("v-if",!0):(l(),d("p",jG,"No purchases yet.")),(e.billing.purchases||[]).length?(l(),d("div",GG,[...t[87]||(t[87]=[n("span",null,"Purchase",-1),n("span",null,"Period",-1),n("span",null,"Amount",-1),n("span",null,"Status",-1)])])):f("v-if",!0),(e.billing.purchases||[]).length?(l(),d("ul",WG,[(l(!0),d(L,null,se(e.profilePurchases(!0).concat(e.profilePurchases(!1)),r=>(l(),d("li",{class:T(["billing-history-row",{"is-ended":!["active","overdue"].includes(r.status)}]),key:r.id},[n("div",KG,[n("strong",null,[v(c(e.profileGrantName(r)),1),r.repoId?(l(),d(L,{key:0},[t[88]||(t[88]=v(" \xB7 ",-1)),n("a",{href:"/anonymize/"+encodeURIComponent(r.repoId)},c(r.repoId),9,YG)],64)):r.conference?(l(),d(L,{key:1},[t[89]||(t[89]=v(" \xB7 ",-1)),n("a",{href:"/conference/"+encodeURIComponent(r.conference)},c(r.conference),9,XG)],64)):f("v-if",!0)]),n("span",null,c([r.purchasedAt?"Bought "+e.billingDate(r.purchasedAt):"",r.parts.length?e.profilePackSummary(r):["refunded","disputed"].includes(r.status)?"Payment "+r.status+", so what it paid for has ended":r.recurring?"Account subscription":""].filter(Boolean).join(" \xB7 ")),1)]),n("div",QG,c(e.profilePurchaseTerm(r)),1),n("div",JG,c(r.amount!=null?e.billingPrice(r):""),1),n("div",ZG,[n("span",{class:T(["settings-status","is-"+r.status])},c(e.profilePurchaseStatus(r)),3)])],2))),128))])):f("v-if",!0),n("div",xG,[n("div",null,[t[90]||(t[90]=n("strong",null,"Invoices and payment details",-1)),e.billing.portal?(l(),d("p",eW,"Download receipts, update your card or change renewal in Stripe.")):(l(),d("p",tW,"Invoices appear here after your first purchase.")),t[91]||(t[91]=n("p",null,[v("Need a refund? "),n("a",{href:"mailto:tdurieux@anonymous.4open.science"},"Email the maintainer"),v(" with the payment date, or read the "),n("a",{href:"/faq#faq-plans"},"refund policy"),v(".")],-1))]),e.billing.portal?(l(),d("button",{key:0,type:"button",class:"btn btn-outline-ink",onClick:t[12]||(t[12]=r=>e.billingPortal()),disabled:e.billingBusy},"Manage billing and invoices",8,nW)):f("v-if",!0)])])):f("v-if",!0),n("p",oW,[t[92]||(t[92]=v("Organizing a conference? ",-1)),e.profileConferencePlan()?(l(),d(L,{key:0},[v("Review packages start at "+c(e.billingAmount(e.profileConferencePlan()))+" once for up to "+c(e.profileConferencePlan().repositories)+" submissions, and authors pay nothing.",1)],64)):(l(),d(L,{key:1},[v("One payment hosts every submission, and authors pay nothing.")],64)),t[93]||(t[93]=v()),t[94]||(t[94]=n("a",{href:"/conference/new"},"Create a conference",-1))])],8,Oj),[[x,e.settingsTab==="billing"]]),P(n("section",sW,[t[105]||(t[105]=n("p",{class:"settings-scope"},"Your identity, repository access, and account.",-1)),n("div",iW,[e.user?.photo?(l(),d("img",{key:0,width:"40",height:"40",class:"rounded-circle",alt:"",src:e.safeUrl(e.user?.photo)},null,8,rW)):f("v-if",!0),n("div",aW,[n("div",lW,"@"+c(e.user?.username),1),t[96]||(t[96]=n("div",{class:"paper-account-meta"},"Signed in with GitHub. Anonymous GitHub only reads your repositories.",-1))]),t[97]||(t[97]=n("a",{class:"btn btn-outline-ink",href:"/api/user/logout",target:"_self"},"Sign out",-1))]),n("form",{class:"paper-account-email",onSubmit:t[16]||(t[16]=ue(r=>e.saveAccountEmail(),["prevent"]))},[t[98]||(t[98]=n("label",{class:"paper-field-label",for:"account-email"},"Email address",-1)),t[99]||(t[99]=n("p",{id:"account-email-help",class:"paper-section-copy"},"Used for account alerts. Your address is never shown on anonymous pages.",-1)),P(n("input",{id:"account-email",class:"form-control",type:"email",autocomplete:"email",maxlength:"254",required:"","onUpdate:modelValue":t[13]||(t[13]=r=>e.accountEmail=r),"aria-describedby":"account-email-help",disabled:e.emailLoading||e.emailSaving||!e.emailCSRFReady,onInput:t[14]||(t[14]=r=>e.emailSaved=!1)},null,40,dW),[[ut,e.accountEmail]]),e.emailLoading?(l(),d("p",uW,"Loading your email address\u2026")):f("v-if",!0),e.emailError?(l(),d("p",cW,c(e.emailError),1)):f("v-if",!0),!e.emailCSRFReady&&!e.emailLoading?(l(),d("button",{key:2,class:"btn btn-outline-ink mt-2",type:"button",onClick:t[15]||(t[15]=r=>e.loadAccountEmail())},"Try again")):f("v-if",!0),n("button",{class:"btn btn-ink mt-2",type:"submit",disabled:e.emailLoading||e.emailSaving||!e.emailCSRFReady},c(e.emailSaving?"Saving\u2026":"Save email address"),9,pW),e.emailSaved?(l(),d("p",fW,"Email address saved.")):f("v-if",!0)],32),t[106]||(t[106]=n("a",{class:"paper-settings-connection-link",href:"/connections"},[n("i",{class:"fab fa-github","aria-hidden":"true"}),n("span",null,[v("GitHub connections"),n("small",null,"Manage repository access and legacy OAuth.")]),n("span",{"aria-hidden":"true"},"\u2192")],-1)),n("div",hW,[t[103]||(t[103]=n("div",{class:"paper-danger-head"},"Delete account",-1)),t[104]||(t[104]=n("p",{class:"paper-danger-copy"}," Removes all your anonymized repositories, gists, and pull requests, revokes the application's access to your GitHub account, and erases your personal data (username, email, access tokens). This cannot be undone. ",-1)),e.deleteError?(l(),d("div",mW,[t[100]||(t[100]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-info"})],-1)),t[101]||(t[101]=v()),n("span",{textContent:c(e.deleteError)},null,8,gW)])):f("v-if",!0),n("button",{type:"button",class:"btn btn-outline-danger",onClick:t[17]||(t[17]=r=>e.confirmDeleteAccount=!0),disabled:e.deletingAccount},[t[102]||(t[102]=n("svg",{class:"ui-icon mr-1","aria-hidden":"true"},[n("use",{href:"#ui-icon-trash"})],-1)),v(c(e.deletingAccount?"Deleting\u2026":"Delete my account"),1)],8,vW),e.confirmDeleteAccount?(l(),d("div",yW,[n("label",bW,"Type "+c(e.user?.username)+" to confirm",1),P(n("input",{id:"delete-username",class:"form-control","onUpdate:modelValue":t[18]||(t[18]=r=>e.deleteUsername=r),autocomplete:"off"},null,512),[[ut,e.deleteUsername]]),n("div",wW,[n("button",{type:"button",class:"btn btn-outline-danger",onClick:t[19]||(t[19]=r=>e.deleteAccount()),disabled:e.deletingAccount||e.deleteUsername!==e.user?.username},c(e.deletingAccount?"Deleting\u2026":"Delete permanently"),9,kW),n("button",{type:"button",class:"btn btn-outline-ink",onClick:t[20]||(t[20]=r=>{e.confirmDeleteAccount=!1,e.deleteUsername=""}),disabled:e.deletingAccount},"Cancel",8,CW)])])):f("v-if",!0)])],512),[[x,e.settingsTab==="account"]])])}var EW={class:"pr-page"},SW={class:"container paper-page pr-page-inner"},NW={class:"pr-header"},RW={class:"pr-title-row"},DW={class:"paper-page-title pr-title"},AW=["textContent"],TW={key:1,class:"text-muted"},PW=["href"],OW={class:"pr-header-meta"},IW={key:0,class:"pr-meta-item"},MW=["textContent"],_W={key:1,class:"pr-meta-item"},VW=["textContent"],qW={key:2,class:"pr-meta-item"},$W=["textContent"],LW={key:0,class:"pr-body-card"},UW={key:1,class:"paper-tabs",role:"tablist"},FW=["aria-selected","tabindex"],BW=["aria-selected","tabindex"],zW=["textContent"],HW={class:"paper-tab-content"},jW={key:0,role:"tabpanel",id:"pr-diff-panel","aria-labelledby":"pr-diff-tab"},GW=["innerHTML"],WW={key:1,role:"tabpanel",id:"pr-comments-panel","aria-labelledby":"pr-comments-tab"},KW={class:"pr-comments"},YW={class:"pr-comment"},XW={class:"pr-comment-head"},QW={key:0,class:"pr-comment-author"},JW=["textContent"],ZW=["textContent"],xW={key:0,class:"pr-comment-body"},eK={key:0,class:"paper-table-empty"};function rp(e,t){let o=Xe("markdown");return l(),d("div",EW,[n("div",SW,[t[17]||(t[17]=n("div",{class:"paper-crumbs"},[n("a",{href:"/dashboard"},"Reviewer"),v(" \xA0/\xA0 "),n("span",{class:"here"},"Pull request")],-1)),n("header",NW,[n("div",RW,[n("h1",DW,[e.details?.title?(l(),d("span",{key:0,textContent:c(e.details?.title)},null,8,AW)):f("v-if",!0),e.details?.title?f("v-if",!0):(l(),d("span",TW,"Untitled pull request"))]),e.options?.isAdmin||e.options?.isOwner?(l(),d("a",{key:0,class:"btn btn-sm","aria-label":"Edit",href:e.safeUrl("/pull-request-anonymize/"+e.pullRequestId)},[...t[4]||(t[4]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-edit"})],-1),n("span",{class:"d-none d-md-inline"}," Edit",-1)])],8,PW)):f("v-if",!0)]),n("div",OW,[n("span",{class:T(["paper-pill",{good:e.details?.merged,warn:e.details?.state=="open",bad:e.details?.state=="closed"&&!e.details?.merged}])},[n("span",{class:T(["status-dot",{"status-ready":e.details?.merged,"status-error":e.details?.state=="closed"&&!e.details?.merged}])},null,2),v(" "+c(e.details?.merged?"Merged":e.fmt.title(e.details?.state)),1)],2),e.details?.baseRepositoryFullName?(l(),d("span",IW,[t[5]||(t[5]=n("i",{class:"fab fa-github"},null,-1)),t[6]||(t[6]=v()),n("span",{textContent:c(e.details?.baseRepositoryFullName)},null,8,MW)])):f("v-if",!0),e.details?.updatedDate?(l(),d("span",_W,[t[7]||(t[7]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-clock"})],-1)),t[8]||(t[8]=v()),n("span",{textContent:c(e.fmt?.date(e.details?.updatedDate))},null,8,VW)])):f("v-if",!0),e.details?.anonymizeDate?(l(),d("span",qW,[t[9]||(t[9]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-shield"})],-1)),t[10]||(t[10]=v(" Anonymized ",-1)),n("span",{textContent:c(e.fmt?.date(e.details?.anonymizeDate))},null,8,$W)])):f("v-if",!0)])]),e.details?.body?(l(),d("section",LW,[t[11]||(t[11]=n("div",{class:"paper-section-eyebrow"},"Description",-1)),_e(o,{content:e.details?.body},null,8,["content"])])):f("v-if",!0),e.details?.diff||e.details?.comments?(l(),d("nav",UW,[e.details?.diff?(l(),d("button",{key:0,class:T(["paper-tab",{active:e.tabState?.active=="diff"}]),type:"button",role:"tab",id:"pr-diff-tab","aria-selected":e.tabState?.active==="diff","aria-controls":"pr-diff-panel",tabindex:e.tabState?.active==="diff"?0:-1,onKeydown:t[0]||(t[0]=i=>e.previewTabKeydown(i)),onClick:t[1]||(t[1]=i=>e.tabState.active="diff")},[...t[12]||(t[12]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-code"})],-1),v(" Diff ",-1)])],42,FW)):f("v-if",!0),e.details?.comments?(l(),d("button",{key:1,class:T(["paper-tab",{active:e.tabState?.active=="comments"}]),type:"button",role:"tab",id:"pr-comments-tab","aria-selected":e.tabState?.active==="comments","aria-controls":"pr-comments-panel",tabindex:e.tabState?.active==="comments"?0:-1,onKeydown:t[2]||(t[2]=i=>e.previewTabKeydown(i)),onClick:t[3]||(t[3]=i=>e.tabState.active="comments")},[t[13]||(t[13]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-comment"})],-1)),n("span",{textContent:c(e.fmt.plural(e.details?.comments?.length,{0:"No comments",one:"1 comment",other:"{} comments"}))},null,8,zW)],42,BW)):f("v-if",!0)])):f("v-if",!0),n("div",HW,[e.details?.diff&&e.tabState?.active=="diff"?(l(),d("div",jW,[n("div",{class:"pr-diff",innerHTML:e.sanitize(e.fmt?.diff(e.details?.diff))},null,8,GW)])):f("v-if",!0),e.details?.comments&&e.tabState?.active=="comments"?(l(),d("div",WW,[n("ul",KW,[(l(!0),d(L,null,se(e.details?.comments,(i,s)=>(l(),d("li",YW,[n("div",XW,[i?.author?(l(),d("span",QW,[t[14]||(t[14]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-user"})],-1)),t[15]||(t[15]=v(" @",-1)),n("span",{textContent:c(i?.author)},null,8,JW)])):f("v-if",!0),i?.updatedDate?(l(),d("span",{key:1,class:"pr-comment-date",textContent:c(e.fmt?.date(i?.updatedDate))},null,8,ZW)):f("v-if",!0)]),i?.body?(l(),d("div",xW,[_e(o,{content:i?.body},null,8,["content"])])):f("v-if",!0)]))),256)),e.details?.comments?.length?f("v-if",!0):(l(),d("li",eK,[...t[16]||(t[16]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-comment"})],-1),n("span",null,"No comments on this pull request.",-1)])]))])])):f("v-if",!0)])])])}var tK={class:"repository-task status-page"},nK={class:"page-head-main"},oK={class:"task-lede"},sK={class:"task-columns"},iK={class:"task-preparation","aria-label":"Repository preparation"},rK={key:0,class:"text-danger",role:"alert"},aK={key:1,class:"paper-section-copy"},lK={key:2,class:"paper-ratelimit-card",role:"status"},dK={class:"paper-error-msg"},uK=["aria-valuenow"],cK={class:"paper-progress-label"},pK=["textContent"],fK={key:0},hK=["textContent"],mK={class:"paper-progress-pct"},gK={key:4,class:"paper-error-card",role:"alert"},vK={key:0,class:"paper-error-msg"},yK={key:1,class:"paper-error-msg"},bK={key:2},wK=["href"],kK={class:"paper-error-actions"},CK=["href"],EK={key:5,class:"share-link"},SK={class:"share-link-row"},NK={class:"share-link-buttons"},RK={class:"ui-icon","aria-hidden":"true"},DK=["href"],AK=["textContent"],TK=["href"],PK={class:"share-link-note"},OK=["href"],IK={class:"share-link-next"},MK={class:"share-link-next-actions"},_K=["href"],VK={class:"task-summary","aria-label":"Repository summary"},qK=["title"],$K={key:1};function ap(e,t){return l(),d("div",tK,[n("header",{class:T(["page-head",{"task-ready":e.repo?.status==="ready"}])},[t[3]||(t[3]=n("div",{class:"paper-crumbs"},[n("a",{href:"/dashboard"},"My work"),v(" \xA0/\xA0 "),n("span",{class:"here"},"Review link")],-1)),n("div",nK,[n("div",null,[n("h1",null,c(e.repo?.status==="ready"?"Your review link is ready":"Prepare your anonymous review link"),1),n("p",oK,c(e.repo?.status==="ready"?"Share this link with reviewers in your submission.":"Your settings are saved. Track preparation before sharing the link."),1)])]),t[4]||(t[4]=n("ol",{class:"task-trail flow-trail","aria-label":"Repository progress"},[n("li",null,"1. Repository"),n("li",null,"2. Review and hosting"),n("li",{"aria-current":"step"},"3. Review link")],-1))],2),n("div",sK,[n("section",iK,[e.error?(l(),d("p",rK,[t[5]||(t[5]=v("Unable to load repository status. ",-1)),n("button",{type:"button",class:"task-text-button",onClick:t[0]||(t[0]=o=>e.getStatus())},"Try again")])):f("v-if",!0),e.repo?.status!=="ready"?(l(),d("p",aK,[...t[6]||(t[6]=[v(" The repository will take a few minutes to get ready, depending on its size. Visit the ",-1),n("a",{href:"/faq"},"FAQ",-1),v(" for more information. ",-1)])])):f("v-if",!0),e.rateLimitResetAt?(l(),d("div",lK,[t[9]||(t[9]=Ee('
    Temporarily paused
    GitHub API rate limit reached
    ',1)),n("p",dK,[t[7]||(t[7]=v("Anonymization will resume automatically in ",-1)),n("strong",null,c(e.rateLimitCountdown),1),t[8]||(t[8]=v(". No action needed \u2014 the job is queued and will continue where it left off.",-1))])])):f("v-if",!0),e.repo?.status!=="ready"&&e.repo?.status!="error"&&!e.rateLimitResetAt?(l(),d("div",{key:3,class:T(["paper-progress",{"paper-progress-ready":e.repo?.status=="ready"}]),role:"progressbar","aria-valuemin":"0","aria-valuemax":"100","aria-valuenow":e.progress},[n("div",{class:"paper-progress-bar",style:Ve("width: "+e.progress+"%;")},null,4),n("div",cK,[n("span",{textContent:c(e.fmt?.title(e.repo?.status))},null,8,pK),e.repo?.statusMessage?(l(),d("span",fK,[t[10]||(t[10]=v("\xA0\xB7\xA0",-1)),n("span",{textContent:c(e.repo?.statusMessage)},null,8,hK)])):f("v-if",!0),n("span",mK,c(e.progress||0)+"%",1)])],10,uK)):f("v-if",!0),e.repo?.status=="error"&&!e.rateLimitResetAt?(l(),d("div",gK,[t[14]||(t[14]=Ee('
    Anonymization failed
    Something went wrong while preparing this repository.
    ',1)),e.repo?.statusMessage?(l(),d("p",vK,c(e.fmt?.translate("ERRORS."+e.repo?.statusMessage)),1)):f("v-if",!0),e.repo?.statusMessage?f("v-if",!0):(l(),d("p",yK,"No additional details were reported. The most common causes are private repositories, missing branches, and rate limits.")),e.repo?.statusMessage==="quota_exceeded"?(l(),d("p",bK,[n("a",{href:e.safeUrl("/anonymize/"+e.repoId)},"Review this repository\u2019s hosting",8,wK),t[11]||(t[11]=v(", then retry preparation.",-1))])):f("v-if",!0),t[15]||(t[15]=n("ul",{class:"paper-error-hints"},[n("li",null,"Make sure the source URL points to a repository or pull request you can access."),n("li",null,"Check that the chosen branch and commit still exist on GitHub."),n("li",null,"If you just signed in, the access token may need a moment to propagate \u2014 try again.")],-1)),n("div",kK,[n("a",{class:"btn btn-primary",href:e.safeUrl("/anonymize/"+e.repoId)},[...t[12]||(t[12]=[n("svg",{class:"ui-icon mr-1","aria-hidden":"true"},[n("use",{href:"#ui-icon-edit"})],-1),v(" Edit anonymization",-1)])],8,CK),t[13]||(t[13]=Ee(' Read the FAQ Report a bug in Anonymous GitHub',2))])])):f("v-if",!0),e.repo?.status=="ready"?(l(),d("div",EK,[t[24]||(t[24]=n("div",{class:"share-link-label",id:"share-url-label"},"Review link",-1)),n("div",SK,[n("code",{id:"share-url",class:"share-link-url",tabindex:"0",role:"textbox","aria-readonly":"true","aria-labelledby":"share-url-label",onFocus:t[1]||(t[1]=o=>e.selectShareUrl(o))},c(e.shareUrl),33),n("div",NK,[n("button",{type:"button",class:"btn btn-primary share-copy",onClick:t[2]||(t[2]=o=>e.copyShareUrl())},[(l(),d("svg",RK,[n("use",{href:e.copied?"#ui-icon-check":"#project-icon-copy"},null,8,DK)])),n("span",{"aria-live":"polite",textContent:c(e.copied?"Copied":"Copy link")},null,8,AK)]),n("a",{class:"btn share-open",target:"_self",href:e.safeUrl("/r/"+e.repoId+"/")},[...t[16]||(t[16]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-eye"})],-1),v(" Open repository ",-1)])],8,TK)])]),n("p",PK,[v(c(e.repo?.options?.expirationMode!=="never"&&e.repo?.options?.expirationDate?"Expires "+e.fmt.date(e.repo.options.expirationDate):"Never expires"),1),t[18]||(t[18]=n("span",{"aria-hidden":"true"}," \xB7 ",-1)),t[19]||(t[19]=v("Reviewers don\u2019t need an account",-1)),e.repo?.options?.page?(l(),d(L,{key:0},[t[17]||(t[17]=n("span",{"aria-hidden":"true"}," \xB7 ",-1)),n("a",{target:"_self",href:e.safeUrl("/w/"+e.repoId+"/")},"Open GitHub page",8,OK)],64)):f("v-if",!0)]),n("div",IK,[t[22]||(t[22]=n("h2",null,"Need to change something?",-1)),t[23]||(t[23]=n("p",null,"Edit the redacted terms or the expiry at any time. The link stays the same.",-1)),n("p",MK,[n("a",{href:e.safeUrl("/anonymize/"+e.repoId)},"Edit anonymization",8,_K),t[20]||(t[20]=n("span",{"aria-hidden":"true"},"\xB7",-1)),t[21]||(t[21]=n("a",{href:"/dashboard"},"Go to My work",-1))])])])):f("v-if",!0)]),n("aside",VK,[n("dl",null,[t[28]||(t[28]=n("dt",null,"Source",-1)),e.repo?.source?.fullName?(l(),d("dd",{key:0,class:"task-source",title:"https://github.com/"+e.repo.source.fullName},[t[25]||(t[25]=v("github.com/",-1)),t[26]||(t[26]=n("wbr",null,null,-1)),v(c(e.repo.source.fullName.split("/")[0])+"/",1),t[27]||(t[27]=n("wbr",null,null,-1)),v(c(e.repo.source.fullName.split("/").slice(1).join("/")),1)],8,qK)):(l(),d("dd",$K,"Loading\u2026")),t[29]||(t[29]=n("dt",null,"Lifetime",-1)),n("dd",null,c(e.repo?.options?.expirationMode==="never"?"Never expire while subscribed":e.repo?.options?.expirationDate?"Until "+e.fmt.date(e.repo.options.expirationDate):"Loading\u2026"),1),t[30]||(t[30]=n("dt",null,"Review access",-1)),t[31]||(t[31]=n("dd",null,"Anonymous and free",-1))])])])])}var LK={class:"paper-footer"},UK={class:"paper-footer-inner"},FK={class:"paper-footer-col"},BK={key:0,href:"/dashboard"},zK={key:1,href:"/conferences"},HK={class:"paper-footer-foot"};function lp(e,t){return l(),d("footer",LK,[n("div",UK,[t[3]||(t[3]=n("div",{class:"paper-footer-brand"},[n("div",{class:"paper-footer-mark"},[v("Anonymous "),n("em",null,"GitHub")]),n("p",{class:"paper-footer-tag"}," A read-only, identity-stripped mirror of your repository, built for double-anonymous peer review. ")],-1)),n("div",FK,[t[0]||(t[0]=n("div",{class:"paper-footer-head"},"Product",-1)),t[1]||(t[1]=n("a",{href:"/anonymize"},"Anonymize",-1)),e.user?(l(),d("a",BK,"My work")):f("v-if",!0),e.user?(l(),d("a",zK,"Conferences")):f("v-if",!0),t[2]||(t[2]=n("a",{href:"/faq"},"FAQ",-1))]),t[4]||(t[4]=Ee('',2))]),t[6]||(t[6]=n("div",{class:"paper-footer-rule"},null,-1)),n("div",HK,[n("span",null,"\xA9 "+c(e.year||new Date().getFullYear())+" Anonymous GitHub \xB7 GPL-3.0 licensed",1),t[5]||(t[5]=n("span",{class:"paper-footer-meta"},"Built for reviewers, by researchers.",-1))])])}var Yi={"partials/reviewConsent.htm":Mc,"partials/connections.htm":_c,"partials/signin.htm":Vc,"partials/404.htm":qc,"partials/admin/conferences.htm":$c,"partials/admin/errors.htm":Lc,"partials/admin/overview.htm":Uc,"partials/admin/queues.htm":Fc,"partials/admin/repositories.htm":Bc,"partials/admin/user.htm":zc,"partials/admin/users.htm":Hc,"partials/anonymize.htm":jc,"partials/anonymizePullRequest.htm":Gc,"partials/claim.htm":Wc,"partials/conference.htm":Kc,"partials/conferences.htm":Yc,"partials/dashboard.htm":Xc,"partials/explorer.htm":Qc,"partials/faq.htm":Jc,"partials/gist.htm":Zc,"partials/header.htm":xc,"partials/home.htm":ep,"partials/loading.htm":tp,"partials/newConference.htm":np,"partials/pageView.htm":op,"partials/pr-dashboard.htm":sp,"partials/profile.htm":ip,"partials/pullRequest.htm":rp,"partials/status.htm":ap,"partials/footer.htm":lp};var jK={class:"ui-icon-definitions","aria-hidden":"true",focusable:"false"};function dp(e,t){return l(),d("svg",jK,[...t[0]||(t[0]=[Ee('',1)])])}function up(e,t){e==="partials/explorer.htm"&&(t.sidebarCollapsed=window.matchMedia?.("(max-width: 767px)").matches||!1,t.sidebarHidden=!1,t.dirExpanded=!1,t.moreOpen=!1,t.tocOpen=!1,t.gotoOpen=!1,t.gotoValue="",t.gotoError="",t.mdFindOpen=!1,t.mdFindQuery="",t.mdFindTotal=0,t.mdFindIndex=0,t.mdFindCase=!1,t.accountOpen=!1,t.helpOpen=!1,t.sidebarWidth=Math.min(520,Math.max(220,Number(localStorage.getItem("sidebarWidth"))||(window.innerWidth>=1280?320:280))),document.documentElement.style.setProperty("--sidebar-w",t.sidebarWidth+"px"),t.startSidebarResize=s=>{s.preventDefault();let r=s.clientX,a=t.sidebarWidth,u=y=>{t.sidebarWidth=Math.min(520,Math.max(220,a+y.clientX-r)),document.documentElement.style.setProperty("--sidebar-w",t.sidebarWidth+"px")},p=()=>{window.removeEventListener("pointermove",u),window.removeEventListener("pointerup",p),document.body.classList.remove("is-resizing"),localStorage.setItem("sidebarWidth",String(t.sidebarWidth))};document.body.classList.add("is-resizing"),window.addEventListener("pointermove",u),window.addEventListener("pointerup",p)}),e==="partials/anonymize.htm"&&(t.prTabState={active:t.options.diff?"diff":"comments"},t.watchGroup(["options.diff","options.comments"],()=>{t.options[t.prTabState.active]||(t.prTabState.active=t.options.diff?"diff":t.options.comments?"comments":null)})),e==="partials/gist.htm"&&(t.tabState={active:t.details?.files?"files":"comments"}),["partials/conferences.htm","partials/conference.htm"].includes(e)&&(t.statusLabels={ready:"Ready",expired:"Expired",removed:"Removed"});let i={"partials/dashboard.htm":["filteredItems",()=>t.items,"itemFilter"],"partials/conferences.htm":["filteredConferences",()=>t.conferences,"conferenceFilter"],"partials/conference.htm":["filteredRepositories",()=>t.conference?.repositories,"repoFiler"],"partials/admin/repositories.htm":["filteredRepositories",()=>t.repositories,"repoFiler"],"partials/admin/user.htm":["filteredRepositories",()=>t.repositories,"repoFiler"],"partials/admin/users.htm":["filteredUsers",()=>t.users,"userFiler"],"partials/admin/conferences.htm":["filteredConferences",()=>t.conferences]}[e];if(i){let s=Nt(()=>t.fmt.orderBy(t.fmt.filter(i[1](),t[i[2]]),t.orderBy));Object.defineProperty(t,i[0],{configurable:!0,get:()=>s.value})}}function cp(e=(...t)=>fetch(...t)){async function t(i,s,r,a={}){let u=new URL(s,window.location.href);for(let[h,b]of Object.entries(a.params||{}))if(b!=null)for(let m of Array.isArray(b)?b:[b])u.searchParams.append(h,typeof m=="object"?JSON.stringify(m):m);let p=new AbortController,y;a.timeout?.then?a.timeout.then(()=>p.abort()):a.timeout&&(y=setTimeout(()=>p.abort(),a.timeout));try{let h={Accept:"application/json, text/plain, */*",...a.headers},b=document.cookie.match(/(?:^|;\s*)XSRF-TOKEN=([^;]*)/);b&&u.origin===window.location.origin&&(h["X-XSRF-TOKEN"]=decodeURIComponent(b[1]));let m;r!==void 0&&(r instanceof FormData?m=r:(h["Content-Type"]||(h["Content-Type"]="application/json;charset=utf-8"),m=JSON.stringify(r)));let w=await e(u.href,{method:i,headers:h,body:m,credentials:"same-origin",signal:p.signal}),A;if(a.onDownloadProgress&&w.ok&&w.body?.getReader&&typeof TextDecoder<"u"){let g=w.body.getReader(),C=new TextDecoder,I=[],V=0;try{for(;;){let{value:q,done:j}=await g.read();if(j)break;I.push(C.decode(q,{stream:!0})),V+=q.byteLength,a.onDownloadProgress(V)}I.push(C.decode()),A=I.join("")}finally{g.releaseLock()}}else A=await w.text();let S=A;if(a.transformResponse)S=a.transformResponse(A);else if(A&&(/json/i.test(w.headers.get("content-type")||"")||/^[\[{]/.test(A.trim())))try{S=JSON.parse(A)}catch{}let R={data:S,status:w.status,headers:g=>w.headers.get(g)};if(!w.ok)throw R;return R}catch(h){throw h.name==="AbortError"?{status:-1,data:null}:h}finally{clearTimeout(y)}}let o={};for(let i of["get","delete","head"])o[i]=(s,r)=>t(i.toUpperCase(),s,void 0,r);for(let i of["post","put","patch"])o[i]=(s,r,a)=>t(i.toUpperCase(),s,r,a);return o}var pp={resolve:e=>Promise.resolve(e),reject:e=>Promise.reject(e),all:e=>Promise.all(e),defer(){let e,t;return{promise:new Promise((i,s)=>{e=i,t=s}),resolve:e,reject:t}}};var fp=function(e){function t(o){return o=o||{used:0,total:0},o.unlimited=!o.total,o.percent=o.unlimited?0:Math.min(100,o.used*100/o.total),o.level=o.unlimited?"unlimited":o.percent>=95?"danger":o.percent>=80?"warn":"ok",o}return{decorate:t,load:function(){return e.get("/api/user/quota").then(o=>{let i=o.data||{};return i.storage=t(i.storage),i.file=t(i.file),i.repository=t(i.repository),i})}}};function hp(e){let t=[],o=0,i=/\bXXXX-(\d+)\b/g,s;for(;s=i.exec(e);)s.index>o&&t.push(e.slice(o,s.index)),t.push(Pe("span",{class:"redact-slot",role:"img","aria-label":"Redacted term "+s[1]},[Pe("i",null,s[1])])),o=s.index+s[0].length;return t.length?(o{o.push(r),a=1024&&iKK(e.file)),a=()=>"/"+(Array.isArray(t.params.path)?t.params.path.join("/"):t.params.path||"");rt(()=>[t.params.repoId,t.params.path],()=>{let m="";a().split("/").filter(Boolean).forEach(w=>{m+="/"+w,i[m]=!0})},{immediate:!0});let u=Nt(()=>{if(!e.searchQuery||!e.searchResults)return null;let m=new Set,w=new Set;return e.searchResults.forEach(A=>{m.add(A.path?`${A.path}/${A.name}`:A.name);let S="";(A.path||"").split("/").filter(Boolean).forEach(R=>{S=S?S+"/"+R:R,w.add(S)})}),{files:m,folders:w}}),p=()=>[...o.value.querySelectorAll("li > a")],y=m=>{o.value.querySelector(".tree-focused")?.classList.remove("tree-focused"),m&&(s=m.dataset.path,m.classList.add("tree-focused"),m.scrollIntoView?.({block:"nearest"}),o.value.focus())};function h(m){let w=p(),A=o.value.querySelector(".tree-focused")||w[0],S=w.indexOf(A);if(!["ArrowDown","ArrowUp","ArrowRight","ArrowLeft","Enter"].includes(m.key)||(m.preventDefault(),m.key==="ArrowDown"&&y(w[(S+1)%w.length]),m.key==="ArrowUp"&&y(w[(S-1+w.length)%w.length]),!A))return;let R=A.closest("li");m.key==="ArrowRight"&&R.classList.contains("folder")&&(R.classList.contains("open")?y(R.querySelector(":scope > ul > li > a")):A.click()),m.key==="ArrowLeft"&&(R.classList.contains("folder")&&R.classList.contains("open")?A.click():y(R.parentElement.closest("li.folder")?.querySelector(":scope > a"))),m.key==="Enter"&&A.click()}function b(m,w=""){let A=[...m].sort((S,R)=>+!!R.children-+!!S.children||S.name.localeCompare(R.name));return Pe("ul",A.flatMap(S=>{let R=S,g=R.name,C=(w+"/"+g).slice(1);if(u.value&&!u.value.files.has(C)&&!u.value.folders.has(C))return[];for(;R.children?.length===1&&R.children[0].children&&e.page?.loadedFolders?.[(w+"/"+g).slice(1)];)R=R.children[0],g+="/"+R.name;let I=w+"/"+g,V=!!R.children,q=u.value?i[I]!==!1:!!i[I],j=V&&e.page?.options?.truncatedFolders?.includes(I.slice(1)),te=Pe("span",{class:V?"tree-icon-folder":"far fa-file tree-icon-file","aria-hidden":"true"},V?Pe("svg",{viewBox:"0 0 14 12",focusable:"false"},Pe("path",{d:"M1.5 10.5v-9h4l1.5 2h5.5v7z"})):null),Y=!1,oe=g,Ce="",D="";if(g.length>80){let ke=g.length-12;for(let de=g.length-18;de<=g.length-6;de++)if(de>0&&"-_. ".includes(g[de])){ke=de;break}if(Y=!/XXXX-\d+/.test(g.slice(Math.max(0,ke-12))),oe=g.slice(0,ke).trimEnd(),Ce=g.slice(ke).trimStart(),Y){let de=Math.max(8,30-Ce.length-1);if(oe.length>de&&!/XXXX-\d+/.test(oe)){let ie=-1;for(let Ae=Math.min(de,oe.length);Ae>=4;Ae--)if(".-_".includes(oe[Ae])){ie=Ae;break}let be=g.slice(0,g.length-Ce.length);oe=(ie>0?oe.slice(0,ie):oe.slice(0,de)).trimEnd(),D=be.slice(oe.length)}}}let ee=Pe("span",{class:{"tree-name":!0,"tree-name-split":Y,"tree-name-wrap":!Y},title:g.replace(/\bXXXX-(\d+)\b/g,"[redacted term $1]")},Y?[Pe("span",{class:{"tree-name-head":!0,"is-cut":!!D}},hp(oe)),D?Pe("span",{class:"tree-name-middle"},D):null,Pe("span",{class:"tree-name-tail"},Ce)]:GK(g)),ce=ke=>{y(ke.currentTarget),V&&(ke.preventDefault(),i[I]=!q,i[I]&&!R.children.length&&e.page.getFiles(I.slice(1)),Je(()=>y(p().find(de=>de.dataset.path===s))))},Oe=Pe("a",{"data-path":I,href:V?void 0:`/r/${encodeURIComponent(t.params.repoId)}${encodePathForUrl(I)}`,class:{"tree-focused":s===I},onClick:ce},[V?Pe("span",{class:"tree-toggle"}):Pe("span",{class:"tree-spacer"}),te,ee,j?Pe("span",{class:"truncated-warning",title:e.page.fmt.translate("WARNINGS.folder_truncated")},Pe("i",{class:"fas fa-exclamation-triangle"})):null]);return Pe("li",{key:I,class:{file:!0,folder:V,open:q,active:a()===I,truncated:j},title:V?"":`Size: ${WK(R.size||0)}`},[Oe,V&&q?R.children.length||!e.page?.loadedFolders?.[I.slice(1)]?b(R.children,I):Pe("ul",Pe("li",{class:"tree-empty"},"Empty folder")):null])}))}return()=>Pe("tree",{ref:o,tabindex:0,onKeydown:h},e.file?.length?u.value?.files.size===0?Pe("div",{class:"tree-search-empty"},"No files found"):b(r.value):"Empty repository")}};function vp(){return st({errors:{},dirty:!1,touched:!1,submitted:!1,get invalid(){return Object.values(this.errors).some(Boolean)},setValidity(e,t){this.errors[e]=!t},setDirty(){this.dirty=!0}})}function yp(e,t){if(!e[t]){let o=vp();Object.defineProperty(o,"invalid",{get(){return Object.values(o.errors).some(Boolean)||Object.keys(o).some(i=>i!=="invalid"&&o[i]&&typeof o[i]=="object"&&o[i].invalid)}}),e[t]=o}return e[t]}var bp={beforeMount(e,{value:t}){e._formState=yp(t,e.name),e.addEventListener("submit",o=>o.preventDefault())}};function YK(e){return e instanceof Date?isNaN(e)?"":`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}`:e||""}function gp(e){let t=e._field.binding.value;e.type==="checkbox"?e.checked=!!t:e.type==="radio"?e.checked=t==(e._value??e.value):e._field.timer||(e.value=e.type==="date"?YK(t):t??""),Pa(e)}function Pa(e){let t=e._field.validation;if(!t)return;let o=e.validity;for(let[i,s]of Object.entries({required:o.valueMissing,pattern:o.patternMismatch,min:o.rangeUnderflow,max:o.rangeOverflow,date:o.badInput,email:o.typeMismatch&&e.type==="email",url:o.typeMismatch&&e.type==="url"}))t.setValidity(i,e.disabled||!s)}var wp={beforeMount(e,{value:t}){var a;let o=t.form&&yp(t.state,t.form),i=o&&e.name?o[a=e.name]||(o[a]=vp()):null;e._field={binding:t,validation:i,timer:null};let s=()=>{clearTimeout(e._field.timer),e._field.timer=null;let u=e._field.binding,p=e.type==="checkbox"?e.checked:e._value??e.value;if(!(e.type==="radio"&&!e.checked)){if((e.type==="number"||e.type==="range")&&(p=e.value===""?null:Number(e.value)),e.type==="date"&&(p=e.value?new Date(e.value+"T00:00:00"):null),i){i.setDirty();for(let y of Object.keys(i.errors))i.setValidity(y,!0)}u.set(p),Pa(e),u.change?.()}};e._field.commit=s;let r=u=>{let p=e._field.binding.options?.debounce||0,y=typeof p=="number"?p:p[u.type]??p.default??0;clearTimeout(e._field.timer),y?e._field.timer=setTimeout(s,y):s()};e.addEventListener(e.tagName==="SELECT"||["checkbox","radio","date"].includes(e.type)?"change":"input",r),e.addEventListener("blur",()=>{i&&(i.touched=!0),e._field.timer&&s()})},mounted:gp,updated(e,{value:t}){e._field.binding=t,gp(e)},beforeUnmount(e){clearTimeout(e._field.timer);let{binding:t,validation:o}=e._field,i=t.form&&t.state[t.form];i&&i[e.name]===o&&delete i[e.name]}};function kp(e,t){let o=e.target.closest("form");if(o?._formState&&(o._formState.submitted=!0),o?.querySelectorAll("input, select, textarea").forEach(i=>{i._field?.timer&&i._field.commit(),i._field&&Pa(i)}),o&&!o.checkValidity()){let i=o.querySelector("input:invalid, select:invalid, textarea:invalid");i?.scrollIntoView?.({block:"center"}),i?.focus(),o.reportValidity();return}return t()}var Cp=Symbol("session"),XK=/^\/(w|api|github)(\/|$)/;function Ep(e,t={}){let o=e?.split(".").reduce((i,s)=>i?.[s],fo);return o==null&&e?.startsWith("ERRORS.")&&(o=fo.ERRORS.unknown_error),String(o??e??"").replace(/{{\s*([^}]+?)\s*}}/g,(i,s)=>t[s]??"")}var QK={...ea,translate:Ep};function JK(e){if(e==null||e==="")return e;try{let t=new URL(e,window.location.href);return["http:","https:","mailto:","tel:","blob:"].includes(t.protocol)?e:void 0}catch{return}}function ZK(e="#app",t={}){let o=!!document.querySelector('meta[name="review-consent-page"][content="1"]'),i=o&&window.location.pathname==="/review-link"?Va(window):null,s=()=>{let m=i;return i=null,m};!t.history&&window.location.pathname==="/"&&/^#!\/r\/[^/?#]+/.test(window.location.hash)&&window.history.replaceState(window.history.state,"",window.location.hash.slice(2));let r=new Map,a=cp(t.fetch),u,p;function y(){let m=Tt(),w={url(S){return S===void 0?p.currentRoute.value.fullPath:(p.push(S),w)},replace(S){return p.replace(S)},path(){return p.currentRoute.value.path},search(){return p.currentRoute.value.query}},A=new Proxy({},{get(S,R){let g=p.currentRoute.value.params[R];return Array.isArray(g)?g.join("/"):g}});return{takeReviewHandoff:s,http:a,...m,location:w,params:A,window,promises:pp,html:{trustAsHtml:S=>S},translate:(S,R)=>Promise.resolve(Ep(S,R)),quotaService:fp(a)}}function h(m){return{name:m.template,setup(){let w=Xr(_t(Cp),r);m.setup(w,y()),up(m.template,w);let A=[];return()=>Yi[m.template](w,A)}}}p=cu({history:t.history||lu(),routes:Ic.map(m=>m.redirect?m:{path:m.path,component:h(m),meta:{title:m.title,preserveExplorer:m.preserveExplorer}})});let b=Td({setup(){u=Xr(null,r),u.fmt=QK,u.window=window,u.Math=Math,u.sanitize=S=>DOMPurify.sanitize(S??""),u.highlightRedactions=S=>(u.site_options,vc(S)),u.submitForm=kp,u.safeUrl=JK;let m=y();yc(u,m.http,m.location,m.timeout),Qn(Cp,u),rt(()=>u.title,S=>{document.title=S||"Anonymous GitHub"});let w=[],A=S=>{let R=S.target.closest?.("a[href]");if(S.defaultPrevented||S.button!==0||S.metaKey||S.ctrlKey||S.shiftKey||S.altKey||!R||R.hasAttribute("download")||R.target&&R.target!=="_self"||R.dataset.toggle||R.getAttribute("href").startsWith("#"))return;let C=new URL(R.href,window.location.href);o||/^\/review-link\/?$/i.test(C.pathname)||C.origin!==window.location.origin||XK.test(C.pathname)||(S.preventDefault(),p.push(C.pathname+C.search+C.hash),$("#navbarSupportedContent.show").collapse("hide"))};return document.addEventListener("click",A),Jn(()=>document.removeEventListener("click",A)),()=>[dp(u,[]),o||/^\/(r|repository)\//.test(u.path||"")?null:Pe("header",{class:["app-header",{"is-contained":u.path==="/"||u.path==="/faq","is-signin":u.path==="/signin"}]},Yi["partials/header.htm"](u,w)),Pe("main",{class:"app-view align-items-stretch w-100"},Pe(Yr,null,{default:({Component:S,route:R})=>S?Pe(S,{key:R.meta.preserveExplorer?R.matched[0]?.path:R.path}):null})),Pe("div",{class:"position-fixed p-3",style:{zIndex:999999999,right:0,bottom:0}},u.toasts.map((S,R)=>Pe("div",{class:"toast show",role:"alert","aria-live":"assertive","aria-atomic":"true",key:R},[Pe("div",{class:"toast-header"},[Pe("strong",{class:"mr-auto"},S.title),Pe("button",{type:"button",class:"ml-2 mb-1 close","aria-label":"Close",onClick:()=>u.removeToast(S)},"\xD7")]),Pe("div",{class:"toast-body"},S.body)])))]}});for(let[m,w]of Object.entries(Tu))b.component(m,w);return b.component("Tree",mp),b.component("PartialView",{props:["name","state"],setup(m){let w=[];return()=>Yi[m.name](m.state,w)}}),b.directive("field",wp),b.directive("form",bp),b.directive("code-editor",Pu),b.directive("paper-scrollspy",Ou),b.use(p),p.beforeEach(async m=>{if(m.path==="/review-link"&&!o||o&&m.path!=="/review-link")return window.location.assign(m.fullPath),!1;u?.emit("routeLeave"),/^\/(r|repository|anonymize|pull-request-anonymize|gist-anonymize|pr|gist)(\/|$)/.test(m.path)&&await zn("markdown"),/^\/(r|repository)\//.test(m.path)&&await zn("org")}),p.afterEach(m=>{if(!u)return;u.title=m.meta.title,u.emit("routeChange",{title:m.meta.title}),u.emit("routeUpdate",{title:m.meta.title});let w=document.querySelector(".app-view");!m.meta.preserveExplorer&&w&&(w.scrollTop=0)}),b.mount(e),{app:b,router:p,state:u}}document.querySelector("#app")&&(window.anonymousApp=ZK());})(); +jane.smith@example.org`},null,8,ej),[[i,{state:e.viewState,set:r=>{e.terms=r},value:e.terms,form:"defaultsForm",options:{debounce:250}}]]),n("details",tj,[t[25]||(t[25]=n("summary",null,"Regex & replacement syntax",-1)),n("p",null,[t[21]||(t[21]=v("Matches become ",-1)),n("code",null,c(e.site_options?.ANONYMIZATION_MASK||"XXX")+"-[N]",1),t[22]||(t[22]=v(". Use ",-1)),t[23]||(t[23]=n("code",null,"term=>replacement",-1)),t[24]||(t[24]=v(" for a custom replacement. Regex is supported.",-1))])]),O(n("div",nj,"Terms are in an invalid format.",512),[[ee,e.defaultsForm?.terms?.errors?.format]])])]),n("section",oj,[t[35]||(t[35]=n("h2",null,"Reviewer display",-1)),n("div",null,[n("div",sj,[n("label",ij,[O(n("input",rj,null,512),[[i,{state:e.viewState,set:r=>{e.options.link=r},value:e.options?.link,form:"defaultsForm",options:{}}]]),t[27]||(t[27]=v("Keep links",-1))]),n("label",aj,[O(n("input",lj,null,512),[[i,{state:e.viewState,set:r=>{e.options.image=r},value:e.options?.image,form:"defaultsForm",options:{}}]]),t[28]||(t[28]=v("Display images",-1))]),n("label",dj,[O(n("input",uj,null,512),[[i,{state:e.viewState,set:r=>{e.options.pdf=r},value:e.options?.pdf,form:"defaultsForm",options:{}}]]),t[29]||(t[29]=v("Display PDFs",-1))]),n("label",cj,[O(n("input",pj,null,512),[[i,{state:e.viewState,set:r=>{e.options.notebook=r},value:e.options?.notebook,form:"defaultsForm",options:{}}]]),t[30]||(t[30]=v("Display notebooks",-1))]),n("label",fj,[O(n("input",hj,null,512),[[i,{state:e.viewState,set:r=>{e.options.loc=r},value:e.options?.loc,form:"defaultsForm",options:{}}]]),t[31]||(t[31]=v("Show line counts",-1))]),n("label",mj,[O(n("input",gj,null,512),[[i,{state:e.viewState,set:r=>{e.options.page=r},value:e.options?.page,form:"defaultsForm",options:{}}]]),t[32]||(t[32]=v("GitHub Pages",-1))])]),t[33]||(t[33]=n("p",{class:"settings-help"},"Images and PDFs are not anonymized.",-1)),t[34]||(t[34]=n("p",{class:"settings-help"},"GitHub Pages must use the anonymized branch.",-1))])]),n("section",vj,[t[38]||(t[38]=n("h2",null,"Source updates",-1)),n("div",null,[n("label",yj,[O(n("input",bj,null,512),[[i,{state:e.viewState,set:r=>{e.options.update=r},value:e.options?.update,form:"defaultsForm",options:{}}]]),t[36]||(t[36]=v("Auto-update from GitHub",-1))]),t[37]||(t[37]=n("p",{class:"settings-help"},"Latest commit, at most once an hour.",-1))])]),n("section",wj,[t[40]||(t[40]=n("label",{class:"settings-label",for:"expiration"},"On expiration",-1)),n("div",null,[O((l(),d("select",kj,[...t[39]||(t[39]=[n("option",{value:"redirect"},"Redirect visitors to the GitHub repository",-1),n("option",{value:"remove",selected:""},"Remove the anonymized repository",-1)])])),[[i,{state:e.viewState,set:r=>{e.options.expirationMode=r},value:e.options?.expirationMode,form:"defaultsForm",options:{}}]]),n("p",Cj,c(e.options.expirationMode==="redirect"?"Redirecting reveals the original repository. Choose the date per anonymization.":"Set the expiration date for each repository."),1)])]),n("footer",Ej,[n("div",Sj,[e.draftRestored?(l(),d("span",Nj,"Your unsaved draft was restored.")):e.unsavedChanges?(l(),d("span",Rj,"Unsaved changes"+c(e.draftSaved?" \xB7 Draft saved in this tab":""),1)):(l(),d("span",Dj,c(e.message?"Defaults saved":"No unsaved changes"),1))]),e.draftRestored||e.unsavedChanges?(l(),d("button",{key:0,type:"button",class:"draft-discard",onClick:t[0]||(t[0]=r=>e.discardDraft())},"Discard changes")):f("v-if",!0),n("button",{id:"save",type:"submit",class:T(["btn btn-ink",{"is-saving":e.saving}]),disabled:e.saving||!(e.unsavedChanges||e.draftRestored)},c(e.saving?"Saving\u2026":"Save defaults"),11,Aj),e.error?(l(),d("div",Tj,c(e.error),1)):f("v-if",!0)])],32)),[[s,e.viewState]])],512),[[ee,e.settingsTab==="defaults"]]),O(n("section",{id:"settings-billing","aria-busy":e.billingLoading||e.billingBusy},[t[95]||(t[95]=n("p",{class:"settings-scope"},"Your plan and usage. Reviewer access is always free.",-1)),e.billingLoading?(l(),d("p",Oj,"Loading billing\u2026")):f("v-if",!0),e.billingError?(l(),d("div",Ij,[v(c(e.billingError)+" ",1),n("button",{type:"button",class:"btn btn-outline-ink",onClick:t[3]||(t[3]=r=>e.loadBilling()),disabled:e.billingBusy},"Try again",8,Mj)])):f("v-if",!0),e.billingNotice?(l(),d("p",_j,c(e.billingNotice),1)):f("v-if",!0),e.billingPending?(l(),d("div",Vj,[t[42]||(t[42]=n("strong",null,"Confirming your payment",-1)),t[43]||(t[43]=n("p",null,"Your allowance will update after confirmation. Please do not pay again.",-1)),n("button",{type:"button",class:"btn btn-outline-ink",onClick:t[4]||(t[4]=r=>e.refreshBilling()),disabled:e.billingBusy},"Check payment status",8,qj)])):f("v-if",!0),n("section",$j,[n("div",Lj,[n("div",null,[t[44]||(t[44]=n("p",{class:"billing-eyebrow"},"Current plan",-1)),n("h2",Uj,c(e.profileAuthorGrant()?e.profileGrantName(e.profileAuthorGrant()):e.billing?.enabled?"Free":"Account allowance"),1),e.profileAuthorGrant()?(l(),d("p",Fj,[v(c(e.profileAuthorGrant().cancelAtPeriodEnd?"Renewal cancelled \xB7 access until ":"Renews ")+c(e.billingDate(e.profileAuthorGrant().until)),1),e.profileAuthorPurchase()?.amount!=null?(l(),d(L,{key:0},[v(" \xB7 "+c(e.billingPrice(e.profileAuthorPurchase())),1)],64)):f("v-if",!0)])):e.billing?.allowance?(l(),d("p",Bj,c(e.billing.allowance.repositories)+" repositories \xB7 "+c(e.billingBytes(e.billing.allowance.storage))+" \xB7 links up to "+c(e.billing.freeExpirationMonths||5)+" months",1)):f("v-if",!0)]),e.profileAuthorGrant()&&e.billing?.portal?(l(),d("div",zj,[n("button",{type:"button",class:"btn btn-outline-ink",onClick:t[5]||(t[5]=r=>e.billingPortal()),disabled:e.billingBusy},c(e.profileAuthorGrant().cancelAtPeriodEnd?"Resume renewal":"Change or cancel plan"),9,Hj)])):f("v-if",!0)]),n("div",jj,[e.quota?(l(),dn(o,{key:0,quota:e.quota,fmt:e.fmt},null,8,["quota","fmt"])):(l(),d("p",Gj,"Loading usage\u2026"))]),e.quota?.repository&&!e.quota.repository.unlimited&&e.quota.repository.used>=e.quota.repository.total?(l(),d("p",Wj,[v("Your free repositories are used up. Add the next one for "+c(e.profileSlotPlan()?e.billingPrice(e.profileSlotPlan()):"a one-time payment")+" when you create it, or ",1),t[45]||(t[45]=n("a",{href:"/dashboard"},"remove work you no longer need",-1)),t[46]||(t[46]=v(".",-1))])):f("v-if",!0),e.profileAuthorGrant()?.status==="past_due"?(l(),d("p",Kj,"A subscription payment is overdue. Update your payment details in Manage billing and invoices.")):f("v-if",!0),e.profilePastSubscription()?(l(),d("p",Yj,[...t[47]||(t[47]=[v("Your previous subscription has ended. Never-expiring repositories stay online for a 90-day grace period. ",-1),n("a",{href:"/dashboard"},"Review expiration dates",-1),v(".",-1)])])):f("v-if",!0),t[48]||(t[48]=n("p",{class:"billing-footnote"},"Co-authored, paid and conference repositories aren't counted here.",-1))]),e.billing?.enabled&&!e.profileAuthorGrant()&&(e.profilePackPlan()||e.profileAuthorPlans().length)?(l(),d("section",Xj,[t[85]||(t[85]=n("h2",{class:"billing-section-title",id:"settings-plan-comparison",tabindex:"-1"},"Get more",-1)),e.showRepositoryPass&&e.profileAddon()&&!e.billingPending?f("v-if",!0):(l(),d("div",Qj,[e.profilePackPlan()?(l(),d("article",Jj,[t[54]||(t[54]=n("span",{class:"billing-offer-pill"},"Recommended",-1)),t[55]||(t[55]=n("div",{class:"billing-offer-head"},[n("p",{class:"billing-eyebrow"},"For one paper")],-1)),t[56]||(t[56]=n("h3",null,"Paper pack",-1)),n("p",Zj,[n("strong",null,c(e.billingAmount(e.profilePackPlan())),1),t[49]||(t[49]=v(" once",-1))]),n("ul",xj,[t[50]||(t[50]=n("li",null,"One more repository, outside your free ones",-1)),n("li",null,"Its own "+c(e.billingBytes(e.profileSlotPlan()?.storage||e.profilePassPlan()?.storage))+" of storage",1),t[51]||(t[51]=n("li",null,"Automatic updates for 180 days",-1)),t[52]||(t[52]=n("li",null,"Online for up to a year",-1)),t[53]||(t[53]=n("li",null,"No subscription",-1))]),n("button",{type:"button",class:"btn btn-ink",onClick:t[6]||(t[6]=r=>e.openProfileAddon("repo_pack")),disabled:e.billingPending||e.billing.checkoutEnabled===!1},"Buy a Paper pack",8,eG)])):f("v-if",!0),e.profileAuthorPlans().length?(l(),d("article",tG,[n("div",nG,[t[57]||(t[57]=n("p",{class:"billing-eyebrow"},"For many papers",-1)),n("div",oG,[(l(!0),d(L,null,ie(e.profileAuthorPlansByValue(),r=>(l(),d("button",{type:"button",role:"radio",key:r.id,"aria-checked":e.profileSelectedPlan()?.id===r.id?"true":"false",class:T({"is-on":e.profileSelectedPlan()?.id===r.id}),onClick:a=>e.profilePlan=r.id},[v(c(r.interval==="year"?"Yearly":"Monthly"),1),r.interval==="year"&&e.profileAnnualSavings()?(l(),d("span",iG,"\u2212"+c(e.profileAnnualSavings())+"%",1)):f("v-if",!0)],10,sG))),128))])]),t[62]||(t[62]=n("h3",null,"Author subscription",-1)),n("p",rG,[n("strong",null,c(e.billingAmount(e.profileSelectedPlan())),1),v(" per "+c(e.profileSelectedPlan()?.interval==="year"?"year":"month"),1)]),n("ul",aG,[n("li",null,c(e.profileSelectedPlan()?.repositories)+" repositories, "+c(e.billingBytes(e.profileSelectedPlan()?.storage)),1),t[58]||(t[58]=n("li",null,"Automatic updates",-1)),t[59]||(t[59]=n("li",null,"Links that never expire",-1)),t[60]||(t[60]=n("li",null,"Coauthors included",-1)),t[61]||(t[61]=n("li",null,"Cancel renewal anytime",-1))]),n("button",{type:"button",class:"btn btn-outline-ink",disabled:e.billingBusy||e.billing.checkoutEnabled===!1,onClick:t[7]||(t[7]=r=>e.checkout(e.profileSelectedPlan().id))},c(e.billingBusy?"Please wait\u2026":"Subscribe"),9,lG)])):f("v-if",!0)])),e.profileSingleAddons().length&&!(e.showRepositoryPass&&e.profileAddon()&&!e.billingPending)?(l(),d("div",dG,[t[63]||(t[63]=n("div",{class:"billing-addons-head"},[n("h3",{class:"billing-subtitle"},"Or pay for one thing"),n("span",null,"One-time")],-1)),n("ul",uG,[(l(!0),d(L,null,ie(e.profileSingleAddons(),r=>(l(),d("li",{key:r.id},[n("div",null,[n("strong",null,c(r.name),1),n("span",null,c(e.profileAddonBlurb(r.id)),1)]),n("span",cG,c(e.billingAmount(r)),1),n("button",{type:"button",class:"settings-text-button",onClick:a=>e.openProfileAddon(r.id),disabled:e.billingPending||e.billing.checkoutEnabled===!1},"Buy",8,pG)]))),128))])])):f("v-if",!0),e.showRepositoryPass&&e.profileAddon()&&!e.billingPending?(l(),d("div",fG,[n("div",hG,[n("button",{type:"button",class:"btn btn-outline-ink billing-back",onClick:t[8]||(t[8]=r=>e.showRepositoryPass=!1)},"\u2190 All options"),n("h3",null,c(e.profileAddon().name),1),n("p",mG,[n("strong",null,c(e.billingAmount(e.profileAddon())),1),t[64]||(t[64]=v(" once",-1))]),n("ul",gG,[(l(!0),d(L,null,ie(e.profileAddonFeatures(e.profileAddon().id),r=>(l(),d("li",{key:r},c(r),1))),128))])]),n("div",vG,[e.profileRepositories().length?(l(),d(L,{key:0},[t[66]||(t[66]=n("label",{class:"paper-field-label",for:"billing-repository"},"Which repository?",-1)),O(n("select",{id:"billing-repository",class:"form-control","onUpdate:modelValue":t[9]||(t[9]=r=>e.billingRepository=r)},[t[65]||(t[65]=n("option",{value:"",disabled:""},"Choose a repository",-1)),(l(!0),d(L,null,ie(e.profileRepositories(),r=>(l(),d("option",{key:r.repoId,value:r.repoId},c(r.repoId)+" \xB7 "+c(e.profileRepositoryExpiry(r)),9,yG))),128))],512),[[cn,e.billingRepository]]),n("button",{type:"button",class:"btn btn-ink",disabled:e.billingBusy||!e.billingRepository||e.billing.checkoutEnabled===!1,onClick:t[10]||(t[10]=r=>e.checkout(e.profileAddon().id,e.billingRepository))},c(e.billingBusy?"Please wait\u2026":"Continue to checkout"),9,bG),t[67]||(t[67]=n("p",{class:"billing-footnote"},"One-time payment. Tax shown at checkout.",-1))],64)):(l(),d("p",wG,[...t[68]||(t[68]=[v("You have no repositories yet. ",-1),n("a",{href:"/anonymize"},"Create one",-1),v(" first.",-1)])])),["repo_slot","repo_pack"].includes(e.profileAddon().id)?(l(),d("p",kG,[...t[69]||(t[69]=[v("Adding a new repository? ",-1),n("a",{href:"/anonymize"},"Start creating it",-1),v("; the form offers this once your free repositories are in use.",-1)])])):f("v-if",!0)])])):f("v-if",!0),n("details",CG,[t[84]||(t[84]=n("summary",null,"Compare all features",-1)),n("div",EG,[n("table",SG,[t[83]||(t[83]=n("caption",{class:"sr-only"},"Free, Paper pack and Author hosting",-1)),n("thead",null,[n("tr",null,[t[72]||(t[72]=n("th",{scope:"col"},[n("span",{class:"sr-only"},"Feature")],-1)),t[73]||(t[73]=n("th",{scope:"col"},[v("Free"),n("small",null,"\u20AC0")],-1)),e.profilePackPlan()?(l(),d("th",NG,[t[70]||(t[70]=v("Paper pack",-1)),n("small",null,c(e.billingPrice(e.profilePackPlan())),1)])):f("v-if",!0),e.profileAuthorPlans().length?(l(),d("th",RG,[t[71]||(t[71]=v("Author",-1)),n("small",null,c(e.billingPrice(e.profileSelectedPlan())),1)])):f("v-if",!0)])]),n("tbody",null,[n("tr",null,[t[74]||(t[74]=n("th",{scope:"row"},"Repositories",-1)),n("td",null,c(e.billing.allowance?.repositories),1),e.profilePackPlan()?(l(),d("td",DG,"+1")):f("v-if",!0),e.profileAuthorPlans().length?(l(),d("td",AG,c(e.profileSelectedPlan()?.repositories),1)):f("v-if",!0)]),n("tr",null,[t[75]||(t[75]=n("th",{scope:"row"},"Source storage",-1)),n("td",null,c(e.billingBytes(e.billing.allowance?.storage))+" total",1),e.profilePackPlan()?(l(),d("td",TG,c(e.billingBytes(e.profileSlotPlan()?.storage||e.profilePassPlan()?.storage))+" for it",1)):f("v-if",!0),e.profileAuthorPlans().length?(l(),d("td",PG,c(e.billingBytes(e.profileSelectedPlan()?.storage))+" total",1)):f("v-if",!0)]),n("tr",null,[t[76]||(t[76]=n("th",{scope:"row"},"Latest expiration",-1)),n("td",null,c(e.billing.freeExpirationMonths||5)+" months ahead",1),e.profilePackPlan()?(l(),d("td",OG,"1 year after purchase")):f("v-if",!0),e.profileAuthorPlans().length?(l(),d("td",IG,"Never")):f("v-if",!0)]),n("tr",null,[t[77]||(t[77]=n("th",{scope:"row"},"Automatic updates",-1)),t[78]||(t[78]=n("td",null,"No",-1)),e.profilePackPlan()?(l(),d("td",MG,"180 days")):f("v-if",!0),e.profileAuthorPlans().length?(l(),d("td",_G,"Yes")):f("v-if",!0)]),n("tr",null,[t[79]||(t[79]=n("th",{scope:"row"},"Renews",-1)),t[80]||(t[80]=n("td",null,"No",-1)),e.profilePackPlan()?(l(),d("td",VG,"No")):f("v-if",!0),e.profileAuthorPlans().length?(l(),d("td",qG,"Until cancelled")):f("v-if",!0)]),n("tr",null,[t[81]||(t[81]=n("th",{scope:"row"},"Reviewer access",-1)),t[82]||(t[82]=n("td",null,"Free",-1)),e.profilePackPlan()?(l(),d("td",$G,"Free")):f("v-if",!0),e.profileAuthorPlans().length?(l(),d("td",LG,"Free")):f("v-if",!0)])])])])]),e.billing.checkoutEnabled===!1?(l(),d("p",UG,"New purchases are not available right now. Existing billing can still be managed below.")):f("v-if",!0)])):f("v-if",!0),e.billing?.enabled?(l(),d("section",FG,[n("div",BG,[t[86]||(t[86]=n("h2",{class:"billing-section-title"},"Purchases",-1)),e.billingPending?f("v-if",!0):(l(),d("button",{key:0,type:"button",class:"settings-text-button",onClick:t[11]||(t[11]=r=>e.refreshBilling()),disabled:e.billingBusy},"Refresh payment status",8,zG))]),(e.billing.purchases||[]).length?f("v-if",!0):(l(),d("p",HG,"No purchases yet.")),(e.billing.purchases||[]).length?(l(),d("div",jG,[...t[87]||(t[87]=[n("span",null,"Purchase",-1),n("span",null,"Period",-1),n("span",null,"Amount",-1),n("span",null,"Status",-1)])])):f("v-if",!0),(e.billing.purchases||[]).length?(l(),d("ul",GG,[(l(!0),d(L,null,ie(e.profilePurchases(!0).concat(e.profilePurchases(!1)),r=>(l(),d("li",{class:T(["billing-history-row",{"is-ended":!["active","overdue"].includes(r.status)}]),key:r.id},[n("div",WG,[n("strong",null,[v(c(e.profileGrantName(r)),1),r.repoId?(l(),d(L,{key:0},[t[88]||(t[88]=v(" \xB7 ",-1)),n("a",{href:"/anonymize/"+encodeURIComponent(r.repoId)},c(r.repoId),9,KG)],64)):r.conference?(l(),d(L,{key:1},[t[89]||(t[89]=v(" \xB7 ",-1)),n("a",{href:"/conference/"+encodeURIComponent(r.conference)},c(r.conference),9,YG)],64)):f("v-if",!0)]),n("span",null,c([r.purchasedAt?"Bought "+e.billingDate(r.purchasedAt):"",r.parts.length?e.profilePackSummary(r):["refunded","disputed"].includes(r.status)?"Payment "+r.status+", so what it paid for has ended":r.recurring?"Account subscription":""].filter(Boolean).join(" \xB7 ")),1)]),n("div",XG,c(e.profilePurchaseTerm(r)),1),n("div",QG,c(r.amount!=null?e.billingPrice(r):""),1),n("div",JG,[n("span",{class:T(["settings-status","is-"+r.status])},c(e.profilePurchaseStatus(r)),3)])],2))),128))])):f("v-if",!0),n("div",ZG,[n("div",null,[t[90]||(t[90]=n("strong",null,"Invoices and payment details",-1)),e.billing.portal?(l(),d("p",xG,"Download receipts, update your card or change renewal in Stripe.")):(l(),d("p",eW,"Invoices appear here after your first purchase.")),t[91]||(t[91]=n("p",null,[v("Need a refund? "),n("a",{href:"mailto:tdurieux@anonymous.4open.science"},"Email the maintainer"),v(" with the payment date, or read the "),n("a",{href:"/faq#faq-plans"},"refund policy"),v(".")],-1))]),e.billing.portal?(l(),d("button",{key:0,type:"button",class:"btn btn-outline-ink",onClick:t[12]||(t[12]=r=>e.billingPortal()),disabled:e.billingBusy},"Manage billing and invoices",8,tW)):f("v-if",!0)])])):f("v-if",!0),n("p",nW,[t[92]||(t[92]=v("Organizing a conference? ",-1)),e.profileConferencePlan()?(l(),d(L,{key:0},[v("Review packages start at "+c(e.billingAmount(e.profileConferencePlan()))+" once for up to "+c(e.profileConferencePlan().repositories)+" submissions, and authors pay nothing.",1)],64)):(l(),d(L,{key:1},[v("One payment hosts every submission, and authors pay nothing.")],64)),t[93]||(t[93]=v()),t[94]||(t[94]=n("a",{href:"/conference/new"},"Create a conference",-1))])],8,Pj),[[ee,e.settingsTab==="billing"]]),O(n("section",oW,[t[105]||(t[105]=n("p",{class:"settings-scope"},"Your identity, repository access, and account.",-1)),n("div",sW,[e.user?.photo?(l(),d("img",{key:0,width:"40",height:"40",class:"rounded-circle",alt:"",src:e.safeUrl(e.user?.photo)},null,8,iW)):f("v-if",!0),n("div",rW,[n("div",aW,"@"+c(e.user?.username),1),t[96]||(t[96]=n("div",{class:"paper-account-meta"},"Signed in with GitHub. Anonymous GitHub only reads your repositories.",-1))]),t[97]||(t[97]=n("a",{class:"btn btn-outline-ink",href:"/api/user/logout",target:"_self"},"Sign out",-1))]),n("form",{class:"paper-account-email",onSubmit:t[16]||(t[16]=de(r=>e.saveAccountEmail(),["prevent"]))},[t[98]||(t[98]=n("label",{class:"paper-field-label",for:"account-email"},"Email address",-1)),t[99]||(t[99]=n("p",{id:"account-email-help",class:"paper-section-copy"},"Used for account alerts. Your address is never shown on anonymous pages.",-1)),O(n("input",{id:"account-email",class:"form-control",type:"email",autocomplete:"email",maxlength:"254",required:"","onUpdate:modelValue":t[13]||(t[13]=r=>e.accountEmail=r),"aria-describedby":"account-email-help",disabled:e.emailLoading||e.emailSaving||!e.emailCSRFReady,onInput:t[14]||(t[14]=r=>e.emailSaved=!1)},null,40,lW),[[lt,e.accountEmail]]),e.emailLoading?(l(),d("p",dW,"Loading your email address\u2026")):f("v-if",!0),e.emailError?(l(),d("p",uW,c(e.emailError),1)):f("v-if",!0),!e.emailCSRFReady&&!e.emailLoading?(l(),d("button",{key:2,class:"btn btn-outline-ink mt-2",type:"button",onClick:t[15]||(t[15]=r=>e.loadAccountEmail())},"Try again")):f("v-if",!0),n("button",{class:"btn btn-ink mt-2",type:"submit",disabled:e.emailLoading||e.emailSaving||!e.emailCSRFReady},c(e.emailSaving?"Saving\u2026":"Save email address"),9,cW),e.emailSaved?(l(),d("p",pW,"Email address saved.")):f("v-if",!0)],32),t[106]||(t[106]=n("a",{class:"paper-settings-connection-link",href:"/connections"},[n("i",{class:"fab fa-github","aria-hidden":"true"}),n("span",null,[v("GitHub connections"),n("small",null,"Manage repository access and legacy OAuth.")]),n("span",{"aria-hidden":"true"},"\u2192")],-1)),n("div",fW,[t[103]||(t[103]=n("div",{class:"paper-danger-head"},"Delete account",-1)),t[104]||(t[104]=n("p",{class:"paper-danger-copy"}," Removes all your anonymized repositories, gists, and pull requests, revokes the application's access to your GitHub account, and erases your personal data (username, email, access tokens). This cannot be undone. ",-1)),e.deleteError?(l(),d("div",hW,[t[100]||(t[100]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-info"})],-1)),t[101]||(t[101]=v()),n("span",{textContent:c(e.deleteError)},null,8,mW)])):f("v-if",!0),n("button",{type:"button",class:"btn btn-outline-danger",onClick:t[17]||(t[17]=r=>e.confirmDeleteAccount=!0),disabled:e.deletingAccount},[t[102]||(t[102]=n("svg",{class:"ui-icon mr-1","aria-hidden":"true"},[n("use",{href:"#ui-icon-trash"})],-1)),v(c(e.deletingAccount?"Deleting\u2026":"Delete my account"),1)],8,gW),e.confirmDeleteAccount?(l(),d("div",vW,[n("label",yW,"Type "+c(e.user?.username)+" to confirm",1),O(n("input",{id:"delete-username",class:"form-control","onUpdate:modelValue":t[18]||(t[18]=r=>e.deleteUsername=r),autocomplete:"off"},null,512),[[lt,e.deleteUsername]]),n("div",bW,[n("button",{type:"button",class:"btn btn-outline-danger",onClick:t[19]||(t[19]=r=>e.deleteAccount()),disabled:e.deletingAccount||e.deleteUsername!==e.user?.username},c(e.deletingAccount?"Deleting\u2026":"Delete permanently"),9,wW),n("button",{type:"button",class:"btn btn-outline-ink",onClick:t[20]||(t[20]=r=>{e.confirmDeleteAccount=!1,e.deleteUsername=""}),disabled:e.deletingAccount},"Cancel",8,kW)])])):f("v-if",!0)])],512),[[ee,e.settingsTab==="account"]])])}var CW={class:"pr-page"},EW={class:"container paper-page pr-page-inner"},SW={class:"pr-header"},NW={class:"pr-title-row"},RW={class:"paper-page-title pr-title"},DW=["textContent"],AW={key:1,class:"text-muted"},TW=["href"],PW={class:"pr-header-meta"},OW={key:0,class:"pr-meta-item"},IW=["textContent"],MW={key:1,class:"pr-meta-item"},_W=["textContent"],VW={key:2,class:"pr-meta-item"},qW=["textContent"],$W={key:0,class:"pr-body-card"},LW={key:1,class:"paper-tabs",role:"tablist"},UW=["aria-selected","tabindex"],FW=["aria-selected","tabindex"],BW=["textContent"],zW={class:"paper-tab-content"},HW={key:0,role:"tabpanel",id:"pr-diff-panel","aria-labelledby":"pr-diff-tab"},jW=["innerHTML"],GW={key:1,role:"tabpanel",id:"pr-comments-panel","aria-labelledby":"pr-comments-tab"},WW={class:"pr-comments"},KW={class:"pr-comment"},YW={class:"pr-comment-head"},XW={key:0,class:"pr-comment-author"},QW=["textContent"],JW=["textContent"],ZW={key:0,class:"pr-comment-body"},xW={key:0,class:"paper-table-empty"};function ip(e,t){let o=Xe("markdown");return l(),d("div",CW,[n("div",EW,[t[17]||(t[17]=n("div",{class:"paper-crumbs"},[n("a",{href:"/dashboard"},"Reviewer"),v(" \xA0/\xA0 "),n("span",{class:"here"},"Pull request")],-1)),n("header",SW,[n("div",NW,[n("h1",RW,[e.details?.title?(l(),d("span",{key:0,textContent:c(e.details?.title)},null,8,DW)):f("v-if",!0),e.details?.title?f("v-if",!0):(l(),d("span",AW,"Untitled pull request"))]),e.options?.isAdmin||e.options?.isOwner?(l(),d("a",{key:0,class:"btn btn-sm","aria-label":"Edit",href:e.safeUrl("/pull-request-anonymize/"+e.pullRequestId)},[...t[4]||(t[4]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-edit"})],-1),n("span",{class:"d-none d-md-inline"}," Edit",-1)])],8,TW)):f("v-if",!0)]),n("div",PW,[n("span",{class:T(["paper-pill",{good:e.details?.merged,warn:e.details?.state=="open",bad:e.details?.state=="closed"&&!e.details?.merged}])},[n("span",{class:T(["status-dot",{"status-ready":e.details?.merged,"status-error":e.details?.state=="closed"&&!e.details?.merged}])},null,2),v(" "+c(e.details?.merged?"Merged":e.fmt.title(e.details?.state)),1)],2),e.details?.baseRepositoryFullName?(l(),d("span",OW,[t[5]||(t[5]=n("i",{class:"fab fa-github"},null,-1)),t[6]||(t[6]=v()),n("span",{textContent:c(e.details?.baseRepositoryFullName)},null,8,IW)])):f("v-if",!0),e.details?.updatedDate?(l(),d("span",MW,[t[7]||(t[7]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-clock"})],-1)),t[8]||(t[8]=v()),n("span",{textContent:c(e.fmt?.date(e.details?.updatedDate))},null,8,_W)])):f("v-if",!0),e.details?.anonymizeDate?(l(),d("span",VW,[t[9]||(t[9]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-shield"})],-1)),t[10]||(t[10]=v(" Anonymized ",-1)),n("span",{textContent:c(e.fmt?.date(e.details?.anonymizeDate))},null,8,qW)])):f("v-if",!0)])]),e.details?.body?(l(),d("section",$W,[t[11]||(t[11]=n("div",{class:"paper-section-eyebrow"},"Description",-1)),_e(o,{content:e.details?.body},null,8,["content"])])):f("v-if",!0),e.details?.diff||e.details?.comments?(l(),d("nav",LW,[e.details?.diff?(l(),d("button",{key:0,class:T(["paper-tab",{active:e.tabState?.active=="diff"}]),type:"button",role:"tab",id:"pr-diff-tab","aria-selected":e.tabState?.active==="diff","aria-controls":"pr-diff-panel",tabindex:e.tabState?.active==="diff"?0:-1,onKeydown:t[0]||(t[0]=i=>e.previewTabKeydown(i)),onClick:t[1]||(t[1]=i=>e.tabState.active="diff")},[...t[12]||(t[12]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-code"})],-1),v(" Diff ",-1)])],42,UW)):f("v-if",!0),e.details?.comments?(l(),d("button",{key:1,class:T(["paper-tab",{active:e.tabState?.active=="comments"}]),type:"button",role:"tab",id:"pr-comments-tab","aria-selected":e.tabState?.active==="comments","aria-controls":"pr-comments-panel",tabindex:e.tabState?.active==="comments"?0:-1,onKeydown:t[2]||(t[2]=i=>e.previewTabKeydown(i)),onClick:t[3]||(t[3]=i=>e.tabState.active="comments")},[t[13]||(t[13]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-comment"})],-1)),n("span",{textContent:c(e.fmt.plural(e.details?.comments?.length,{0:"No comments",one:"1 comment",other:"{} comments"}))},null,8,BW)],42,FW)):f("v-if",!0)])):f("v-if",!0),n("div",zW,[e.details?.diff&&e.tabState?.active=="diff"?(l(),d("div",HW,[n("div",{class:"pr-diff",innerHTML:e.sanitize(e.fmt?.diff(e.details?.diff))},null,8,jW)])):f("v-if",!0),e.details?.comments&&e.tabState?.active=="comments"?(l(),d("div",GW,[n("ul",WW,[(l(!0),d(L,null,ie(e.details?.comments,(i,s)=>(l(),d("li",KW,[n("div",YW,[i?.author?(l(),d("span",XW,[t[14]||(t[14]=n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-user"})],-1)),t[15]||(t[15]=v(" @",-1)),n("span",{textContent:c(i?.author)},null,8,QW)])):f("v-if",!0),i?.updatedDate?(l(),d("span",{key:1,class:"pr-comment-date",textContent:c(e.fmt?.date(i?.updatedDate))},null,8,JW)):f("v-if",!0)]),i?.body?(l(),d("div",ZW,[_e(o,{content:i?.body},null,8,["content"])])):f("v-if",!0)]))),256)),e.details?.comments?.length?f("v-if",!0):(l(),d("li",xW,[...t[16]||(t[16]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#ui-icon-comment"})],-1),n("span",null,"No comments on this pull request.",-1)])]))])])):f("v-if",!0)])])])}var eK={class:"repository-task status-page"},tK={class:"page-head-main"},nK={class:"task-lede"},oK={class:"task-columns"},sK={class:"task-preparation","aria-label":"Repository preparation"},iK={key:0,class:"text-danger",role:"alert"},rK={key:1,class:"paper-section-copy"},aK={key:2,class:"paper-ratelimit-card",role:"status"},lK={class:"paper-error-msg"},dK=["aria-valuenow"],uK={class:"paper-progress-label"},cK=["textContent"],pK={key:0},fK=["textContent"],hK={class:"paper-progress-pct"},mK={key:4,class:"paper-error-card",role:"alert"},gK={key:0,class:"paper-error-msg"},vK={key:1,class:"paper-error-msg"},yK={key:2},bK=["href"],wK={class:"paper-error-actions"},kK=["href"],CK={key:5,class:"share-link"},EK={class:"share-link-row"},SK={class:"share-link-buttons"},NK={class:"ui-icon","aria-hidden":"true"},RK=["href"],DK=["textContent"],AK=["href"],TK={class:"share-link-note"},PK=["href"],OK={class:"share-link-next"},IK={class:"share-link-next-actions"},MK=["href"],_K={class:"task-summary","aria-label":"Repository summary"},VK=["title"],qK={key:1};function rp(e,t){return l(),d("div",eK,[n("header",{class:T(["page-head",{"task-ready":e.repo?.status==="ready"}])},[t[3]||(t[3]=n("div",{class:"paper-crumbs"},[n("a",{href:"/dashboard"},"My work"),v(" \xA0/\xA0 "),n("span",{class:"here"},"Review link")],-1)),n("div",tK,[n("div",null,[n("h1",null,c(e.repo?.status==="ready"?"Your review link is ready":"Prepare your anonymous review link"),1),n("p",nK,c(e.repo?.status==="ready"?"Share this link with reviewers in your submission.":"Your settings are saved. Track preparation before sharing the link."),1)])]),t[4]||(t[4]=n("ol",{class:"task-trail flow-trail","aria-label":"Repository progress"},[n("li",null,"1. Repository"),n("li",null,"2. Review and hosting"),n("li",{"aria-current":"step"},"3. Review link")],-1))],2),n("div",oK,[n("section",sK,[e.error?(l(),d("p",iK,[t[5]||(t[5]=v("Unable to load repository status. ",-1)),n("button",{type:"button",class:"task-text-button",onClick:t[0]||(t[0]=o=>e.getStatus())},"Try again")])):f("v-if",!0),e.repo?.status!=="ready"?(l(),d("p",rK,[...t[6]||(t[6]=[v(" The repository will take a few minutes to get ready, depending on its size. Visit the ",-1),n("a",{href:"/faq"},"FAQ",-1),v(" for more information. ",-1)])])):f("v-if",!0),e.rateLimitResetAt?(l(),d("div",aK,[t[9]||(t[9]=Se('
    Temporarily paused
    GitHub API rate limit reached
    ',1)),n("p",lK,[t[7]||(t[7]=v("Anonymization will resume automatically in ",-1)),n("strong",null,c(e.rateLimitCountdown),1),t[8]||(t[8]=v(". No action needed \u2014 the job is queued and will continue where it left off.",-1))])])):f("v-if",!0),e.repo?.status!=="ready"&&e.repo?.status!="error"&&!e.rateLimitResetAt?(l(),d("div",{key:3,class:T(["paper-progress",{"paper-progress-ready":e.repo?.status=="ready"}]),role:"progressbar","aria-valuemin":"0","aria-valuemax":"100","aria-valuenow":e.progress},[n("div",{class:"paper-progress-bar",style:Ve("width: "+e.progress+"%;")},null,4),n("div",uK,[n("span",{textContent:c(e.fmt?.title(e.repo?.status))},null,8,cK),e.repo?.statusMessage?(l(),d("span",pK,[t[10]||(t[10]=v("\xA0\xB7\xA0",-1)),n("span",{textContent:c(e.repo?.statusMessage)},null,8,fK)])):f("v-if",!0),n("span",hK,c(e.progress||0)+"%",1)])],10,dK)):f("v-if",!0),e.repo?.status=="error"&&!e.rateLimitResetAt?(l(),d("div",mK,[t[14]||(t[14]=Se('
    Anonymization failed
    Something went wrong while preparing this repository.
    ',1)),e.repo?.statusMessage?(l(),d("p",gK,c(e.fmt?.translate("ERRORS."+e.repo?.statusMessage)),1)):f("v-if",!0),e.repo?.statusMessage?f("v-if",!0):(l(),d("p",vK,"No additional details were reported. The most common causes are private repositories, missing branches, and rate limits.")),e.repo?.statusMessage==="quota_exceeded"?(l(),d("p",yK,[n("a",{href:e.safeUrl("/anonymize/"+e.repoId)},"Review this repository\u2019s hosting",8,bK),t[11]||(t[11]=v(", then retry preparation.",-1))])):f("v-if",!0),t[15]||(t[15]=n("ul",{class:"paper-error-hints"},[n("li",null,"Make sure the source URL points to a repository or pull request you can access."),n("li",null,"Check that the chosen branch and commit still exist on GitHub."),n("li",null,"If you just signed in, the access token may need a moment to propagate \u2014 try again.")],-1)),n("div",wK,[n("a",{class:"btn btn-primary",href:e.safeUrl("/anonymize/"+e.repoId)},[...t[12]||(t[12]=[n("svg",{class:"ui-icon mr-1","aria-hidden":"true"},[n("use",{href:"#ui-icon-edit"})],-1),v(" Edit anonymization",-1)])],8,kK),t[13]||(t[13]=Se(' Read the FAQ Report a bug in Anonymous GitHub',2))])])):f("v-if",!0),e.repo?.status=="ready"?(l(),d("div",CK,[t[24]||(t[24]=n("div",{class:"share-link-label",id:"share-url-label"},"Review link",-1)),n("div",EK,[n("code",{id:"share-url",class:"share-link-url",tabindex:"0",role:"textbox","aria-readonly":"true","aria-labelledby":"share-url-label",onFocus:t[1]||(t[1]=o=>e.selectShareUrl(o))},c(e.shareUrl),33),n("div",SK,[n("button",{type:"button",class:"btn btn-primary share-copy",onClick:t[2]||(t[2]=o=>e.copyShareUrl())},[(l(),d("svg",NK,[n("use",{href:e.copied?"#ui-icon-check":"#project-icon-copy"},null,8,RK)])),n("span",{"aria-live":"polite",textContent:c(e.copied?"Copied":"Copy link")},null,8,DK)]),n("a",{class:"btn share-open",target:"_self",href:e.safeUrl("/r/"+e.repoId+"/")},[...t[16]||(t[16]=[n("svg",{class:"ui-icon","aria-hidden":"true"},[n("use",{href:"#project-icon-eye"})],-1),v(" Open repository ",-1)])],8,AK)])]),n("p",TK,[v(c(e.repo?.options?.expirationMode!=="never"&&e.repo?.options?.expirationDate?"Expires "+e.fmt.date(e.repo.options.expirationDate):"Never expires"),1),t[18]||(t[18]=n("span",{"aria-hidden":"true"}," \xB7 ",-1)),t[19]||(t[19]=v("Reviewers don\u2019t need an account",-1)),e.repo?.options?.page?(l(),d(L,{key:0},[t[17]||(t[17]=n("span",{"aria-hidden":"true"}," \xB7 ",-1)),n("a",{target:"_self",href:e.safeUrl("/w/"+e.repoId+"/")},"Open GitHub page",8,PK)],64)):f("v-if",!0)]),n("div",OK,[t[22]||(t[22]=n("h2",null,"Need to change something?",-1)),t[23]||(t[23]=n("p",null,"Edit the redacted terms or the expiry at any time. The link stays the same.",-1)),n("p",IK,[n("a",{href:e.safeUrl("/anonymize/"+e.repoId)},"Edit anonymization",8,MK),t[20]||(t[20]=n("span",{"aria-hidden":"true"},"\xB7",-1)),t[21]||(t[21]=n("a",{href:"/dashboard"},"Go to My work",-1))])])])):f("v-if",!0)]),n("aside",_K,[n("dl",null,[t[28]||(t[28]=n("dt",null,"Source",-1)),e.repo?.source?.fullName?(l(),d("dd",{key:0,class:"task-source",title:"https://github.com/"+e.repo.source.fullName},[t[25]||(t[25]=v("github.com/",-1)),t[26]||(t[26]=n("wbr",null,null,-1)),v(c(e.repo.source.fullName.split("/")[0])+"/",1),t[27]||(t[27]=n("wbr",null,null,-1)),v(c(e.repo.source.fullName.split("/").slice(1).join("/")),1)],8,VK)):(l(),d("dd",qK,"Loading\u2026")),t[29]||(t[29]=n("dt",null,"Lifetime",-1)),n("dd",null,c(e.repo?.options?.expirationMode==="never"?"Never expire while subscribed":e.repo?.options?.expirationDate?"Until "+e.fmt.date(e.repo.options.expirationDate):"Loading\u2026"),1),t[30]||(t[30]=n("dt",null,"Review access",-1)),t[31]||(t[31]=n("dd",null,"Anonymous and free",-1))])])])])}var $K={class:"paper-footer"},LK={class:"paper-footer-inner"},UK={class:"paper-footer-col"},FK={key:0,href:"/dashboard"},BK={key:1,href:"/conferences"},zK={class:"paper-footer-foot"};function ap(e,t){return l(),d("footer",$K,[n("div",LK,[t[3]||(t[3]=n("div",{class:"paper-footer-brand"},[n("div",{class:"paper-footer-mark"},[v("Anonymous "),n("em",null,"GitHub")]),n("p",{class:"paper-footer-tag"}," A read-only, identity-stripped mirror of your repository, built for double-anonymous peer review. ")],-1)),n("div",UK,[t[0]||(t[0]=n("div",{class:"paper-footer-head"},"Product",-1)),t[1]||(t[1]=n("a",{href:"/anonymize"},"Anonymize",-1)),e.user?(l(),d("a",FK,"My work")):f("v-if",!0),e.user?(l(),d("a",BK,"Conferences")):f("v-if",!0),t[2]||(t[2]=n("a",{href:"/faq"},"FAQ",-1))]),t[4]||(t[4]=Se('',2))]),t[6]||(t[6]=n("div",{class:"paper-footer-rule"},null,-1)),n("div",zK,[n("span",null,"\xA9 "+c(e.year||new Date().getFullYear())+" Anonymous GitHub \xB7 GPL-3.0 licensed",1),t[5]||(t[5]=n("span",{class:"paper-footer-meta"},"Built for reviewers, by researchers.",-1))])])}var Ki={"partials/reviewConsent.htm":Ic,"partials/connections.htm":Mc,"partials/signin.htm":_c,"partials/404.htm":Vc,"partials/admin/conferences.htm":qc,"partials/admin/errors.htm":$c,"partials/admin/overview.htm":Lc,"partials/admin/queues.htm":Uc,"partials/admin/repositories.htm":Fc,"partials/admin/user.htm":Bc,"partials/admin/users.htm":zc,"partials/anonymize.htm":Hc,"partials/anonymizePullRequest.htm":jc,"partials/claim.htm":Gc,"partials/conference.htm":Wc,"partials/conferences.htm":Kc,"partials/dashboard.htm":Yc,"partials/explorer.htm":Xc,"partials/faq.htm":Qc,"partials/gist.htm":Jc,"partials/header.htm":Zc,"partials/home.htm":xc,"partials/loading.htm":ep,"partials/newConference.htm":tp,"partials/pageView.htm":np,"partials/pr-dashboard.htm":op,"partials/profile.htm":sp,"partials/pullRequest.htm":ip,"partials/status.htm":rp,"partials/footer.htm":ap};var HK={class:"ui-icon-definitions","aria-hidden":"true",focusable:"false"};function lp(e,t){return l(),d("svg",HK,[...t[0]||(t[0]=[Se('',1)])])}function dp(e,t){e==="partials/explorer.htm"&&(t.sidebarCollapsed=window.matchMedia?.("(max-width: 767px)").matches||!1,t.sidebarHidden=!1,t.dirExpanded=!1,t.moreOpen=!1,t.tocOpen=!1,t.gotoOpen=!1,t.gotoValue="",t.gotoError="",t.mdFindOpen=!1,t.mdFindQuery="",t.mdFindTotal=0,t.mdFindIndex=0,t.mdFindCase=!1,t.accountOpen=!1,t.helpOpen=!1,t.sidebarWidth=Math.min(520,Math.max(220,Number(localStorage.getItem("sidebarWidth"))||(window.innerWidth>=1280?320:280))),document.documentElement.style.setProperty("--sidebar-w",t.sidebarWidth+"px"),t.startSidebarResize=s=>{s.preventDefault();let r=s.clientX,a=t.sidebarWidth,u=y=>{t.sidebarWidth=Math.min(520,Math.max(220,a+y.clientX-r)),document.documentElement.style.setProperty("--sidebar-w",t.sidebarWidth+"px")},p=()=>{window.removeEventListener("pointermove",u),window.removeEventListener("pointerup",p),document.body.classList.remove("is-resizing"),localStorage.setItem("sidebarWidth",String(t.sidebarWidth))};document.body.classList.add("is-resizing"),window.addEventListener("pointermove",u),window.addEventListener("pointerup",p)}),e==="partials/anonymize.htm"&&(t.prTabState={active:t.options.diff?"diff":"comments"},t.watchGroup(["options.diff","options.comments"],()=>{t.options[t.prTabState.active]||(t.prTabState.active=t.options.diff?"diff":t.options.comments?"comments":null)})),e==="partials/gist.htm"&&(t.tabState={active:t.details?.files?"files":"comments"}),["partials/conferences.htm","partials/conference.htm"].includes(e)&&(t.statusLabels={ready:"Ready",expired:"Expired",removed:"Removed"});let i={"partials/dashboard.htm":["filteredItems",()=>t.items,"itemFilter"],"partials/conferences.htm":["filteredConferences",()=>t.conferences,"conferenceFilter"],"partials/conference.htm":["filteredRepositories",()=>t.conference?.repositories,"repoFiler"],"partials/admin/repositories.htm":["filteredRepositories",()=>t.repositories,"repoFiler"],"partials/admin/user.htm":["filteredRepositories",()=>t.repositories,"repoFiler"],"partials/admin/users.htm":["filteredUsers",()=>t.users,"userFiler"],"partials/admin/conferences.htm":["filteredConferences",()=>t.conferences]}[e];if(i){let s=Nt(()=>t.fmt.orderBy(t.fmt.filter(i[1](),t[i[2]]),t.orderBy));Object.defineProperty(t,i[0],{configurable:!0,get:()=>s.value})}}function up(e=(...t)=>fetch(...t)){async function t(i,s,r,a={}){let u=new URL(s,window.location.href);for(let[h,b]of Object.entries(a.params||{}))if(b!=null)for(let m of Array.isArray(b)?b:[b])u.searchParams.append(h,typeof m=="object"?JSON.stringify(m):m);let p=new AbortController,y;a.timeout?.then?a.timeout.then(()=>p.abort()):a.timeout&&(y=setTimeout(()=>p.abort(),a.timeout));try{let h={Accept:"application/json, text/plain, */*",...a.headers},b=document.cookie.match(/(?:^|;\s*)XSRF-TOKEN=([^;]*)/);b&&u.origin===window.location.origin&&(h["X-XSRF-TOKEN"]=decodeURIComponent(b[1]));let m;r!==void 0&&(r instanceof FormData?m=r:(h["Content-Type"]||(h["Content-Type"]="application/json;charset=utf-8"),m=JSON.stringify(r)));let w=await e(u.href,{method:i,headers:h,body:m,credentials:"same-origin",signal:p.signal}),A;if(a.onDownloadProgress&&w.ok&&w.body?.getReader&&typeof TextDecoder<"u"){let g=w.body.getReader(),C=new TextDecoder,M=[],V=0;try{for(;;){let{value:q,done:j}=await g.read();if(j)break;M.push(C.decode(q,{stream:!0})),V+=q.byteLength,a.onDownloadProgress(V)}M.push(C.decode()),A=M.join("")}finally{g.releaseLock()}}else A=await w.text();let S=A;if(a.transformResponse)S=a.transformResponse(A);else if(A&&(/json/i.test(w.headers.get("content-type")||"")||/^[\[{]/.test(A.trim())))try{S=JSON.parse(A)}catch{}let R={data:S,status:w.status,headers:g=>w.headers.get(g)};if(!w.ok)throw R;return R}catch(h){throw h.name==="AbortError"?{status:-1,data:null}:h}finally{clearTimeout(y)}}let o={};for(let i of["get","delete","head"])o[i]=(s,r)=>t(i.toUpperCase(),s,void 0,r);for(let i of["post","put","patch"])o[i]=(s,r,a)=>t(i.toUpperCase(),s,r,a);return o}var cp={resolve:e=>Promise.resolve(e),reject:e=>Promise.reject(e),all:e=>Promise.all(e),defer(){let e,t;return{promise:new Promise((i,s)=>{e=i,t=s}),resolve:e,reject:t}}};var pp=function(e){function t(o){return o=o||{used:0,total:0},o.unlimited=!o.total,o.percent=o.unlimited?0:Math.min(100,o.used*100/o.total),o.level=o.unlimited?"unlimited":o.percent>=95?"danger":o.percent>=80?"warn":"ok",o}return{decorate:t,load:function(){return e.get("/api/user/quota").then(o=>{let i=o.data||{};return i.storage=t(i.storage),i.file=t(i.file),i.repository=t(i.repository),i})}}};function fp(e){let t=[],o=0,i=/\bXXXX-(\d+)\b/g,s;for(;s=i.exec(e);)s.index>o&&t.push(e.slice(o,s.index)),t.push(Te("span",{class:"redact-slot",role:"img","aria-label":"Redacted term "+s[1]},[Te("i",null,s[1])])),o=s.index+s[0].length;return t.length?(o{o.push(r),a=1024&&iWK(e.file)),a=()=>"/"+(Array.isArray(t.params.path)?t.params.path.join("/"):t.params.path||"");it(()=>[t.params.repoId,t.params.path],()=>{let m="";a().split("/").filter(Boolean).forEach(w=>{m+="/"+w,i[m]=!0})},{immediate:!0});let u=Nt(()=>{if(!e.searchQuery||!e.searchResults)return null;let m=new Set,w=new Set;return e.searchResults.forEach(A=>{m.add(A.path?`${A.path}/${A.name}`:A.name);let S="";(A.path||"").split("/").filter(Boolean).forEach(R=>{S=S?S+"/"+R:R,w.add(S)})}),{files:m,folders:w}}),p=()=>[...o.value.querySelectorAll("li > a")],y=m=>{o.value.querySelector(".tree-focused")?.classList.remove("tree-focused"),m&&(s=m.dataset.path,m.classList.add("tree-focused"),m.scrollIntoView?.({block:"nearest"}),o.value.focus())};function h(m){let w=p(),A=o.value.querySelector(".tree-focused")||w[0],S=w.indexOf(A);if(!["ArrowDown","ArrowUp","ArrowRight","ArrowLeft","Enter"].includes(m.key)||(m.preventDefault(),m.key==="ArrowDown"&&y(w[(S+1)%w.length]),m.key==="ArrowUp"&&y(w[(S-1+w.length)%w.length]),!A))return;let R=A.closest("li");m.key==="ArrowRight"&&R.classList.contains("folder")&&(R.classList.contains("open")?y(R.querySelector(":scope > ul > li > a")):A.click()),m.key==="ArrowLeft"&&(R.classList.contains("folder")&&R.classList.contains("open")?A.click():y(R.parentElement.closest("li.folder")?.querySelector(":scope > a"))),m.key==="Enter"&&A.click()}function b(m,w=""){let A=[...m].sort((S,R)=>+!!R.children-+!!S.children||S.name.localeCompare(R.name));return Te("ul",A.flatMap(S=>{let R=S,g=R.name,C=(w+"/"+g).slice(1);if(u.value&&!u.value.files.has(C)&&!u.value.folders.has(C))return[];for(;R.children?.length===1&&R.children[0].children&&e.page?.loadedFolders?.[(w+"/"+g).slice(1)];)R=R.children[0],g+="/"+R.name;let M=w+"/"+g,V=!!R.children,q=u.value?i[M]!==!1:!!i[M],j=V&&e.page?.options?.truncatedFolders?.includes(M.slice(1)),ne=Te("span",{class:V?"tree-icon-folder":"far fa-file tree-icon-file","aria-hidden":"true"},V?Te("svg",{viewBox:"0 0 14 12",focusable:"false"},Te("path",{d:"M1.5 10.5v-9h4l1.5 2h5.5v7z"})):null),Y=!1,oe=g,Ce="",D="";if(g.length>80){let we=g.length-12;for(let J=g.length-18;J<=g.length-6;J++)if(J>0&&"-_. ".includes(g[J])){we=J;break}if(Y=!/XXXX-\d+/.test(g.slice(Math.max(0,we-12))),oe=g.slice(0,we).trimEnd(),Ce=g.slice(we).trimStart(),Y){let J=Math.max(8,30-Ce.length-1);if(oe.length>J&&!/XXXX-\d+/.test(oe)){let ce=-1;for(let De=Math.min(J,oe.length);De>=4;De--)if(".-_".includes(oe[De])){ce=De;break}let ke=g.slice(0,g.length-Ce.length);oe=(ce>0?oe.slice(0,ce):oe.slice(0,J)).trimEnd(),D=ke.slice(oe.length)}}}let te=Te("span",{class:{"tree-name":!0,"tree-name-split":Y,"tree-name-wrap":!Y},title:g.replace(/\bXXXX-(\d+)\b/g,"[redacted term $1]")},Y?[Te("span",{class:{"tree-name-head":!0,"is-cut":!!D}},fp(oe)),D?Te("span",{class:"tree-name-middle"},D):null,Te("span",{class:"tree-name-tail"},Ce)]:jK(g)),ue=we=>{y(we.currentTarget),V&&(we.preventDefault(),i[M]=!q,i[M]&&!R.children.length&&e.page.getFiles(M.slice(1)),xe(()=>y(p().find(J=>J.dataset.path===s))))},Pe=Te("a",{"data-path":M,href:V?void 0:`/r/${encodeURIComponent(t.params.repoId)}${encodePathForUrl(M)}`,class:{"tree-focused":s===M},onClick:ue},[V?Te("span",{class:"tree-toggle"}):Te("span",{class:"tree-spacer"}),ne,te,j?Te("span",{class:"truncated-warning",title:e.page.fmt.translate("WARNINGS.folder_truncated")},Te("i",{class:"fas fa-exclamation-triangle"})):null]);return Te("li",{key:M,class:{file:!0,folder:V,open:q,active:a()===M,truncated:j},title:V?"":`Size: ${GK(R.size||0)}`},[Pe,V&&q?R.children.length||!e.page?.loadedFolders?.[M.slice(1)]?b(R.children,M):Te("ul",Te("li",{class:"tree-empty"},"Empty folder")):null])}))}return()=>Te("tree",{ref:o,tabindex:0,onKeydown:h},e.file?.length?u.value?.files.size===0?Te("div",{class:"tree-search-empty"},"No files found"):b(r.value):"Empty repository")}};function gp(){return ot({errors:{},dirty:!1,touched:!1,submitted:!1,get invalid(){return Object.values(this.errors).some(Boolean)},setValidity(e,t){this.errors[e]=!t},setDirty(){this.dirty=!0}})}function vp(e,t){if(!e[t]){let o=gp();Object.defineProperty(o,"invalid",{get(){return Object.values(o.errors).some(Boolean)||Object.keys(o).some(i=>i!=="invalid"&&o[i]&&typeof o[i]=="object"&&o[i].invalid)}}),e[t]=o}return e[t]}var yp={beforeMount(e,{value:t}){e._formState=vp(t,e.name),e.addEventListener("submit",o=>o.preventDefault())}};function KK(e){return e instanceof Date?isNaN(e)?"":`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}`:e||""}function mp(e){let t=e._field.binding.value;e.type==="checkbox"?e.checked=!!t:e.type==="radio"?e.checked=t==(e._value??e.value):e._field.timer||(e.value=e.type==="date"?KK(t):t??""),Ta(e)}function Ta(e){let t=e._field.validation;if(!t)return;let o=e.validity;for(let[i,s]of Object.entries({required:o.valueMissing,pattern:o.patternMismatch,min:o.rangeUnderflow,max:o.rangeOverflow,date:o.badInput,email:o.typeMismatch&&e.type==="email",url:o.typeMismatch&&e.type==="url"}))t.setValidity(i,e.disabled||!s)}var bp={beforeMount(e,{value:t}){var a;let o=t.form&&vp(t.state,t.form),i=o&&e.name?o[a=e.name]||(o[a]=gp()):null;e._field={binding:t,validation:i,timer:null};let s=()=>{clearTimeout(e._field.timer),e._field.timer=null;let u=e._field.binding,p=e.type==="checkbox"?e.checked:e._value??e.value;if(!(e.type==="radio"&&!e.checked)){if((e.type==="number"||e.type==="range")&&(p=e.value===""?null:Number(e.value)),e.type==="date"&&(p=e.value?new Date(e.value+"T00:00:00"):null),i){i.setDirty();for(let y of Object.keys(i.errors))i.setValidity(y,!0)}u.set(p),Ta(e),u.change?.()}};e._field.commit=s;let r=u=>{let p=e._field.binding.options?.debounce||0,y=typeof p=="number"?p:p[u.type]??p.default??0;clearTimeout(e._field.timer),y?e._field.timer=setTimeout(s,y):s()};e.addEventListener(e.tagName==="SELECT"||["checkbox","radio","date"].includes(e.type)?"change":"input",r),e.addEventListener("blur",()=>{i&&(i.touched=!0),e._field.timer&&s()})},mounted:mp,updated(e,{value:t}){e._field.binding=t,mp(e)},beforeUnmount(e){clearTimeout(e._field.timer);let{binding:t,validation:o}=e._field,i=t.form&&t.state[t.form];i&&i[e.name]===o&&delete i[e.name]}};function wp(e,t){let o=e.target.closest("form");if(o?._formState&&(o._formState.submitted=!0),o?.querySelectorAll("input, select, textarea").forEach(i=>{i._field?.timer&&i._field.commit(),i._field&&Ta(i)}),o&&!o.checkValidity()){let i=o.querySelector("input:invalid, select:invalid, textarea:invalid");i?.scrollIntoView?.({block:"center"}),i?.focus(),o.reportValidity();return}return t()}var kp=Symbol("session"),YK=/^\/(w|api|github)(\/|$)/;function Cp(e,t={}){let o=e?.split(".").reduce((i,s)=>i?.[s],po);return o==null&&e?.startsWith("ERRORS.")&&(o=po.ERRORS.unknown_error),String(o??e??"").replace(/{{\s*([^}]+?)\s*}}/g,(i,s)=>t[s]??"")}var XK={...xr,translate:Cp};function QK(e){if(e==null||e==="")return e;try{let t=new URL(e,window.location.href);return["http:","https:","mailto:","tel:","blob:"].includes(t.protocol)?e:void 0}catch{return}}function JK(e="#app",t={}){let o=!!document.querySelector('meta[name="review-consent-page"][content="1"]'),i=o&&window.location.pathname==="/review-link"?_a(window):null,s=()=>{let m=i;return i=null,m};!t.history&&window.location.pathname==="/"&&/^#!\/r\/[^/?#]+/.test(window.location.hash)&&window.history.replaceState(window.history.state,"",window.location.hash.slice(2));let r=new Map,a=up(t.fetch),u,p;function y(){let m=Tt(),w={url(S){return S===void 0?p.currentRoute.value.fullPath:(p.push(S),w)},replace(S){return p.replace(S)},path(){return p.currentRoute.value.path},search(){return p.currentRoute.value.query}},A=new Proxy({},{get(S,R){let g=p.currentRoute.value.params[R];return Array.isArray(g)?g.join("/"):g}});return{takeReviewHandoff:s,http:a,...m,location:w,params:A,window,promises:cp,html:{trustAsHtml:S=>S},translate:(S,R)=>Promise.resolve(Cp(S,R)),quotaService:pp(a)}}function h(m){return{name:m.template,setup(){let w=Yr(Mt(kp),r);m.setup(w,y()),dp(m.template,w);let A=[];return()=>Ki[m.template](w,A)}}}p=uu({history:t.history||au(),routes:Oc.map(m=>m.redirect?m:{path:m.path,component:h(m),meta:{title:m.title,preserveExplorer:m.preserveExplorer}})});let b=Ad({setup(){u=Yr(null,r),u.fmt=XK,u.window=window,u.Math=Math,u.sanitize=S=>DOMPurify.sanitize(S??""),u.highlightRedactions=S=>(u.site_options,gc(S)),u.submitForm=wp,u.safeUrl=QK;let m=y();vc(u,m.http,m.location,m.timeout),Xn(kp,u),it(()=>u.title,S=>{document.title=S||"Anonymous GitHub"});let w=[],A=S=>{let R=S.target.closest?.("a[href]");if(S.defaultPrevented||S.button!==0||S.metaKey||S.ctrlKey||S.shiftKey||S.altKey||!R||R.hasAttribute("download")||R.target&&R.target!=="_self"||R.dataset.toggle||R.getAttribute("href").startsWith("#"))return;let C=new URL(R.href,window.location.href);o||/^\/review-link\/?$/i.test(C.pathname)||C.origin!==window.location.origin||YK.test(C.pathname)||(S.preventDefault(),p.push(C.pathname+C.search+C.hash),$("#navbarSupportedContent.show").collapse("hide"))};return document.addEventListener("click",A),Qn(()=>document.removeEventListener("click",A)),()=>[lp(u,[]),o||/^\/(r|repository)\//.test(u.path||"")?null:Te("header",{class:["app-header",{"is-contained":u.path==="/"||u.path==="/faq","is-signin":u.path==="/signin"}]},Ki["partials/header.htm"](u,w)),Te("main",{class:"app-view align-items-stretch w-100"},Te(Kr,null,{default:({Component:S,route:R})=>S?Te(S,{key:R.meta.preserveExplorer?R.matched[0]?.path:R.path}):null})),Te("div",{class:"position-fixed p-3",style:{zIndex:999999999,right:0,bottom:0}},u.toasts.map((S,R)=>Te("div",{class:"toast show",role:"alert","aria-live":"assertive","aria-atomic":"true",key:R},[Te("div",{class:"toast-header"},[Te("strong",{class:"mr-auto"},S.title),Te("button",{type:"button",class:"ml-2 mb-1 close","aria-label":"Close",onClick:()=>u.removeToast(S)},"\xD7")]),Te("div",{class:"toast-body"},S.body)])))]}});for(let[m,w]of Object.entries(Au))b.component(m,w);return b.component("Tree",hp),b.component("PartialView",{props:["name","state"],setup(m){let w=[];return()=>Ki[m.name](m.state,w)}}),b.directive("field",bp),b.directive("form",yp),b.directive("code-editor",Tu),b.directive("paper-scrollspy",Pu),b.use(p),p.beforeEach(async m=>{if(m.path==="/review-link"&&!o||o&&m.path!=="/review-link")return window.location.assign(m.fullPath),!1;u?.emit("routeLeave"),/^\/(r|repository|anonymize|pull-request-anonymize|gist-anonymize|pr|gist)(\/|$)/.test(m.path)&&await Bn("markdown"),/^\/(r|repository)\//.test(m.path)&&await Bn("org")}),p.afterEach(m=>{if(!u)return;u.title=m.meta.title,u.emit("routeChange",{title:m.meta.title}),u.emit("routeUpdate",{title:m.meta.title});let w=document.querySelector(".app-view");!m.meta.preserveExplorer&&w&&(w.scrollTop=0)}),b.mount(e),{app:b,router:p,state:u}}document.querySelector("#app")&&(window.anonymousApp=JK());})(); /*! Bundled license information: @vue/shared/dist/shared.esm-bundler.js: