PageSourceSearch

https://neetcode.io/2167.aa74369b2793804c.js

js neetcode.io collected 2026-10-02 07:15:48 UTC 27,993 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkangular_client=self.webpackChunkangular_client||[]).push([[2167],{82167:(Y,x,s)=>{s.r(x),s.d(x,{VersusQueueComponent:()=>X});var d=s(10467),e=s(54438),C=s(60177),A=s(345),p=s(93121),F=s(21413),y=s(40605),M=s(56977),I=s(25621),P=s(20060),l=s(45383),h=s(26704),w=s(59550),S=s(78605),u=s(21019),R=s(40485),D=s(7318);function L(i,c){if(1&i&&(e.j41(0,"article",1)(1,"div",5)(2,"span",6),e.nrm(3,"fa-icon",7),e.k0s()(),e.j41(4,"div",8)(5,"h1",9),e.EFF(6,"Checking your queue"),e.k0s(),e.j41(7,"p",10),e.EFF(8,"Verifying your session before searching."),e.k0s()()()),2&i){const t=e.XpG();e.R7$(3),e.Y8G("icon",t.faBolt)}}function q(i,c){if(1&i&&(e.j41(0,"article",2)(1,"div",11),e.nrm(2,"span",12)(3,"span",13)(4,"fa-icon",14),e.k0s(),e.j41(5,"h1"),e.EFF(6,"Match found!"),e.k0s(),e.j41(7,"p"),e.EFF(8,"Loading the arena..."),e.k0s()()),2&i){const t=e.XpG();e.R7$(4),e.Y8G("icon",t.faBolt)}}function j(i,c){if(1&i&&(e.j41(0,"p",15),e.nrm(1,"fa-icon",19),e.EFF(2," Your device is offline. We'll resume the moment the network's back. "),e.k0s()),2&i){const t=e.XpG(2);e.R7$(),e.Y8G("icon",t.faSignal)}}function $(i,c){if(1&i){const t=e.RV6();e.j41(0,"div",3)(1,"h2"),e.EFF(2,"Connection paused"),e.k0s(),e.j41(3,"p"),e.EFF(4),e.k0s(),e.DNE(5,j,3,1,"p",15),e.j41(6,"div",16)(7,"a",17),e.EFF(8,"Back to lobby"),e.k0s(),e.j41(9,"button",18),e.bIt("click",function(){e.eBV(t);const r=e.XpG();return e.Njj(r.cancel())}),e.EFF(10," Leave the queue "),e.k0s()()()}if(2&i){const t=e.XpG();e.R7$(4),e.JRh(t.errorMessage()),e.R7$(),e.vxM(t.online()?-1:5)}}function U(i,c){if(1&i&&(e.j41(0,"span",26),e.EFF(1,"\xb7"),e.k0s(),e.j41(2,"span",25),e.nrm(3,"fa-icon",19),e.EFF(4),e.k0s()),2&i){const t=e.XpG(2);e.R7$(3),e.Y8G("icon",t.faTag),e.R7$(),e.SpI(" ",t.topic()," ")}}function B(i,c){if(1&i&&(e.j41(0,"div",31),e.nrm(1,"fa-icon",19),e.EFF(2," Offline \u2014 search resumes when the network's back. "),e.k0s()),2&i){const t=e.XpG(2);e.R7$(),e.Y8G("icon",t.faSignal)}}function W(i,c){1&i&&e.EFF(0," Cancelling... ")}function V(i,c){1&i&&e.EFF(0," Click again to confirm ")}function z(i,c){1&i&&e.EFF(0," Cancel search ")}function N(i,c){if(1&i){const t=e.RV6();e.j41(0,"article",4)(1,"div",5),e.nrm(2,"span",20)(3,"span",21)(4,"span",22),e.j41(5,"span",6),e.nrm(6,"fa-icon",7),e.k0s()(),e.j41(7,"div",23)(8,"h1",9),e.EFF(9),e.k0s(),e.j41(10,"p",10),e.EFF(11),e.k0s()(),e.j41(12,"div",24)(13,"span",25),e.EFF(14),e.k0s(),e.j41(15,"span",26),e.EFF(16,"\xb7"),e.k0s(),e.j41(17,"span",25),e.nrm(18,"fa-icon",19),e.EFF(19),e.k0s(),e.j41(20,"span",26),e.EFF(21,"\xb7"),e.k0s(),e.j41(22,"span",25),e.nrm(23,"fa-icon",19),e.EFF(24),e.k0s(),e.DNE(25,U,5,2),e.k0s(),e.j41(26,"dl",27)(27,"div",28)(28,"dt",29),e.EFF(29,"Position"),e.k0s(),e.j41(30,"dd",30),e.EFF(31),e.k0s()(),e.j41(32,"div",28)(33,"dt",29),e.EFF(34,"Nearby"),e.k0s(),e.j41(35,"dd",30),e.EFF(36),e.k0s()(),e.j41(37,"div",28)(38,"dt",29),e.EFF(39,"Elapsed"),e.k0s(),e.j41(40,"dd",30),e.EFF(41),e.k0s()()(),e.DNE(42,B,3,1,"div",31),e.j41(43,"button",32),e.bIt("click",function(){e.eBV(t);const r=e.XpG();return e.Njj(r.cancel())}),e.nrm(44,"fa-icon",19),e.DNE(45,W,1,0)(46,V,1,0)(47,z,1,0),e.k0s(),e.j41(48,"div",33)(49,"a",34),e.nrm(50,"fa-icon",19),e.EFF(51," Need a warm-up? Browse practice problems "),e.k0s(),e.j41(52,"p",35),e.EFF(53," Press "),e.j41(54,"kbd"),e.EFF(55,"Esc"),e.k0s(),e.EFF(56," to cancel "),e.k0s()()()}if(2&i){const t=e.XpG();e.R7$(6),e.Y8G("icon",t.faBolt),e.R7$(3),e.JRh(t.headline()),e.R7$(2),e.JRh(t.tagline()),e.R7$(2),e.HbH(t.tierCssClass()),e.R7$(),e.SpI(" ",t.tierLabel()," "),e.R7$(4),e.Y8G("icon",t.faCode),e.R7$(),e.SpI(" ",t.languageLabel()," "),e.R7$(4),e.Y8G("icon",t.faStopwatch),e.R7$(),e.SpI(" ",t.durationLabel()," "),e.R7$(),e.vxM(t.topic()?25:-1),e.R7$(6),e.JRh(t.positionDisplay()),e.R7$(5),e.JRh(t.nearbyDisplay()),e.R7$(5),e.JRh(t.elapsedDisplay()),e.R7$(),e.vxM(t.online()?-1:42),e.R7$(),e.AVh("btn-secondary",!t.cancelArmed())("btn-danger",t.cancelArmed())("armed",t.cancelArmed()),e.Y8G("disabled",t.cancelling()),e.BMQ("aria-busy",t.cancelling()?"true":null),e.R7$(),e.Y8G("icon",t.cancelArmed()?t.faCheck:t.faTimes),e.R7$(),e.vxM(t.cancelling()?45:t.cancelArmed()?46:47),e.R7$(5),e.Y8G("icon",t.faGraduationCap)}}const E={easy:"Easy",medium:"Medium",hard:"Hard"},Q={python:"Python",java:"Java",javascript:"JavaScript",typescript:"TypeScript",cpp:"C++",csharp:"C#"},f=["easy","medium","hard"],G=["easy","medium","hard"];let X=(()=>
1{class i{static{this.MAX_CONSECUTIVE_POLL_ERRORS=3}static{this.POLL_INTERVAL_MS=3e3}static{this.MATCH_FOUND_DELAY_MS=700}static{this.MIN_QUEUE_DWELL_MS=1500}static{this.CONFIRM_AFTER_SECONDS=60}static{this.ARM_RESET_MS=3e3}constructor(t){this.platformId=t,this.route=(0,e.WQX)(p.nX),this.router=(0,e.WQX)(p.Ix),this.api=(0,e.WQX)(w.E),this.auth=(0,e.WQX)(I.Nj),this.httpCallable=(0,e.WQX)(R.w),this.queueMonitor=(0,e.WQX)(D.fq),this.toast=(0,e.WQX)(S.f),this.title=(0,e.WQX)(A.hE),this.injector=(0,e.WQX)(e.zZn),this.destroy$=new F.B,this.pollSub=null,this.clockSub=null,this.cancelArmTimer=null,this.routeTimer=null,this.unloadAuthToken=null,this.originalTitle=null,this.faBolt=l.zm_,this.faTimes=l.GRI,this.faCheck=l.e68,this.faCode=l.jTw,this.faStopwatch=l.nwU,this.faSignal=l.M1s,this.faGraduationCap=l.eST,this.faTag=l._2z,this.queueId=(0,e.vPA)(null),this.enqueuedAtMs=(0,e.vPA)(Date.now()),this.nowMs=(0,e.vPA)(Date.now()),this.position=(0,e.vPA)(null),this.similarTierCount=(0,e.vPA)(0),this.cancelling=(0,e.vPA)(!1),this.errorMessage=(0,e.vPA)(null),this.authChecking=(0,e.vPA)(!0),this.preferredTiers=(0,e.vPA)([]),this.tier=(0,e.vPA)(null),this.language=(0,e.vPA)(null),this.topic=(0,e.vPA)(null),this.matchFoundId=(0,e.vPA)(null),this.cancelArmed=(0,e.vPA)(!1),this.online=(0,e.vPA)(!0),this.consecutiveErrors=0,this.inflightPoll=!1,this.elapsedSeconds=(0,e.EWP)(()=>Math.max(0,Math.floor((this.nowMs()-this.enqueuedAtMs())/1e3))),this.stage=(0,e.EWP)(()=>{const n=this.elapsedSeconds();return n<15?"nearby":n<30?"expanding":"wide"}),this.headline=(0,e.EWP)(()=>{switch(this.stage()){case"nearby":return"Finding an opponent";case"expanding":return"Widening the search";case"wide":return"Final search"}}),this.tagline=(0,e.EWP)(()=>{switch(this.stage()){case"nearby":return"Looking for the closest compatible opponent for a fair race.";case"expanding":return"Prioritizing a close match while checking the wider queue.";case"wide":return"Matching you with the best available compatible player."}}),this.elapsedDisplay=(0,e.EWP)(()=>{const n=this.elapsedSeconds();return`${Math.floor(n/60)}:${(n%60).toString().padStart(2,"0")}`}),this.positionDisplay=(0,e.EWP)(()=>{const n=this.position();if(null===n)return"...";const r=n%100;if(r>=11&&r<=13)return`${n}th`;const o=n%10;return`${n}${1===o?"st":2===o?"nd":3===o?"rd":"th"}`}),this.nearbyDisplay=(0,e.EWP)(()=>{const n=this.similarTierCount();return 0===n?"just you":n.toString()}),this.needsCancelConfirm=(0,e.EWP)(()=>this.elapsedSeconds()>=i.CONFIRM_AFTER_SECONDS),this.tierLabel=(0,e.EWP)(()=>{const n=this.preferredTiers();return 0===n.length?"Random tier":n.length===f.length?"Any difficulty":1===n.length?E[n[0]]:n.map(r=>E[r]).join(", ")}),this.languageLabel=(0,e.EWP)(()=>{const n=this.language();return n?Q[n]:"Random language"}),this.durationLabel=(0,e.EWP)(()=>{const n=this.preferredTiers().map(a=>h.bY[a]);if(0===n.length)return"Auto timer";const r=Math.min(...n),o=Math.max(...n);return r===o?`${r} min`:`${r}-${o} min`}),this.tierCssClass=(0,e.EWP)(()=>{const n=this.preferredTiers();return 1===n.length?`tier-${n[0]}`:"tier-medium"}),this.onOnline=()=>{this.online.set(!0),null===this.pollSub&&this.queueId()&&!this.matchFoundId()&&!this.cancelling()&&(this.consecutiveErrors=0,this.errorMessage.set(null),this.applyTitle(),this.startPoll())},this.onOffline=()=>this.online.set(!1)}ngOnInit(){var t=this;return(0,d.A)(function*(){if(!(0,C.UE)(t.platformId))return;const n=t.route.snapshot.queryParamMap,r=n.get("queueId"),o=n.get("enqueuedAt"),a=n.get("tier"),g=t.parseTiersParam(n.getAll("tiers")),m=n.get("language"),_=n.get("topic");if(!r)return void t.router.navigateByUrl("/versus");const k=t.waitForInitialAuth();if(k&&(yield k),!t.auth.currentUser)return t.authChecking.set(!1),t.toast.showToast$("Sign in to join the Versus queue.",u.C.error,4e3),void t.router.navigateByUrl("/versus");if(t.queueId.set(r),t.refreshUnloadAuthToken(),o){const T=new Date(o).getTime();Number.isNaN(T)||t.enqueuedAtMs.set(T)}const b=g.length>
10?g:a&&f.includes(a)?[a]:[];b.length>0&&(t.preferredTiers.set(b),t.tier.set(b[0])),m&&h.OV.includes(m)&&t.language.set(m),_&&(0,h.s8)(_)&&t.topic.set(_);const O=t.topic();t.queueMonitor.watchQueue({queueId:r,enqueuedAt:o??(new Date).toISOString(),preferredTiers:t.preferredTiers().length>0?t.preferredTiers():G,language:t.language()??"python",...O?{preferredTopic:O}:{}}),t.originalTitle=t.title.getTitle(),window.addEventListener("online",t.onOnline),window.addEventListener("offline",t.onOffline);const v=n.get("matchId");if(v)return t.matchFoundId.set(v),t.startClock(),t.startTitleSync(),t.routeTimer=setTimeout(()=>t.router.navigateByUrl(`/versus/match/${v}`),i.MIN_QUEUE_DWELL_MS),void t.authChecking.set(!1);t.authChecking.set(!1),t.startPoll(),t.startClock(),t.startTitleSync()})()}ngOnDestroy(){(0,C.UE)(this.platformId)&&(window.removeEventListener("online",this.onOnline),window.removeEventListener("offline",this.onOffline),null!==this.originalTitle&&(this.title.setTitle(this.originalTitle),this.originalTitle=null)),null!==this.cancelArmTimer&&(clearTimeout(this.cancelArmTimer),this.cancelArmTimer=null),null!==this.routeTimer&&(clearTimeout(this.routeTimer),this.routeTimer=null),this.destroy$.next(),this.destroy$.complete(),this.pollSub?.unsubscribe(),this.clockSub?.unsubscribe()}parseTiersParam(t){const n=[];for(const r of t)for(const o of r.split(",")){const a=o.trim();f.includes(a)&&!n.includes(a)&&n.push(a)}return n}onEscape(t){this.matchFoundId()||this.cancelling()||this.errorMessage()||(t.preventDefault(),this.cancel())}onBeforeUnload(t){!this.queueId()||this.matchFoundId()||this.cancelling()||(t.preventDefault(),t.returnValue="You are still in the Versus queue. Leave the queue before closing?")}onPageHide(t){if(t?.persisted)return;const n=this.queueId(),r=this.unloadAuthToken;!n||!r||this.matchFoundId()||this.cancelling()||fetch(`${this.httpCallable.getBaseUrl()}/callableFunctionHttp`,{method:"POST",keepalive:!0,headers:{"Content-Type":"application/json",Authorization:`Bearer ${r}`},body:JSON.stringify({functionId:"cancelVersusEnqueue",queueId:n})}).catch(()=>{})}startClock(){this.clockSub=(0,y.Y)(500).pipe((0,M.Q)(this.destroy$)).subscribe(()=>this.nowMs.set(Date.now()))}startTitleSync(){this.applyTitle(),(0,e.QZP)(()=>{this.elapsedDisplay(),this.matchFoundId(),this.errorMessage(),this.applyTitle()},{injector:this.injector,allowSignalWrites:!1})}applyTitle(){this.matchFoundId()?this.title.setTitle("Match found! \xb7 Versus | NeetCode"):this.errorMessage()?this.title.setTitle("Search paused \xb7 Versus | NeetCode"):this.title.setTitle(`Searching... ${this.elapsedDisplay()} \xb7 Versus | NeetCode`)}startPoll(){this.poll(),this.pollSub=(0,y.Y)(i.POLL_INTERVAL_MS).pipe((0,M.Q)(this.destroy$)).subscribe(()=>{this.poll()})}poll(){var t=this;return(0,d.A)(function*(){const n=t.queueId();if(n&&!t.matchFoundId()&&!t.inflightPoll){t.inflightPoll=!0;try{const r=yield t.api.getQueueState({queueId:n});if(t.matchFoundId()||!t.queueId())return;if(t.consecutiveErrors=0,t.online.set(!0),r.matchId){t.matchFoundId.set(r.matchId),t.queueMonitor.markMatchFound(r.matchId),t.applyTitle(),t.pollSub?.unsubscribe(),t.pollSub=null;const o=Date.now()-t.enqueuedAtMs(),a=Math.max(0,i.MIN_QUEUE_DWELL_MS-o);return void(t.routeTimer=setTimeout(()=>{t.routeTimer=null,t.router.navigateByUrl(`/versus/match/${r.matchId}`)},i.MATCH_FOUND_DELAY_MS+a))}if(0===r.queuePositionApprox&&0===r.similarTierCount&&t.elapsedSeconds()>5)return t.toast.showToast$("Search expired (network blip). Start a new search to keep going.",u.C.error,5e3),t.pollSub?.unsubscribe(),t.pollSub=null,void t.router.navigateByUrl("/versus");t.position.set(r.queuePositionApprox),t.similarTierCount.set(r.similarTierCount)}catch(r){if(t.isUnauthenticatedError(r))return t.pollSub?.unsubscribe(),t.pollSub=null,t.queueId.set(null),t.toast.showToast$("Sign in to join the Versus queue.",u.C.error,4e3),void t.router.navigateByUrl("/versus");t.consecutiveErrors+=1;const o=r;t.consecutiveErrors>=i.MAX_CONSECUTIVE_POLL_ERRORS&&(t.errorMessage.set(`${"string"==typeof o.error?.message?o.error.message:"string"==typeof o.message?o.message:"Queue lookup failed."} Polling paused after ${t.consecutiveErrors} failed attempts. Leave the queue or refresh to retry.`),t.applyTitle(),t.pollSub?.unsubscribe(),t.pollSub=null)}finally{t.inflightPoll=!1}}})()}refreshUnloadAuthToken(){var t=this;return(0,d.A)(function*(){try{t.unloadAuthToken=(yield t.auth.currentUser?.getIdToken())??null}catch{t.unloadAuthToken=null}})()}waitForInitialAuth(){const t=this.auth;if("function"==typeof t.authStateReady)return t.authStateReady().catch(()=>{})}isUnauthenticatedError(t){const n=t,r=(n.error?.status??n.status??n.code??"").toString().toLowerCase(),o=(n.error?.message??n.message??"").toString().toLowerCase();return"unauthenticated"===r||"401"===r||o.includes("sign in")}cancel(){var t=this;return(0,d.A)(function*(){const n=t.queueId();
1if(n&&!t.cancelling()&&!t.matchFoundId()){if(t.needsCancelConfirm()&&!t.cancelArmed())return t.cancelArmed.set(!0),null!==t.cancelArmTimer&&clearTimeout(t.cancelArmTimer),void(t.cancelArmTimer=setTimeout(()=>{t.cancelArmed.set(!1),t.cancelArmTimer=null},i.ARM_RESET_MS));null!==t.cancelArmTimer&&(clearTimeout(t.cancelArmTimer),t.cancelArmTimer=null),t.cancelArmed.set(!1),t.cancelling.set(!0);try{const r=yield t.api.cancelQueue({queueId:n});if(r?.matchId)return t.toast.showToast$("Match found while you were cancelling.",u.C.success,3e3),void t.router.navigateByUrl(`/versus/match/${r.matchId}`);t.toast.showToast$("Left the queue.",u.C.success,2500),t.queueMonitor.clear(),t.router.navigateByUrl("/versus")}catch(r){t.toast.showToast$(r?.error?.message??r?.message??"Cancel failed.",u.C.error,3500),t.cancelling.set(!1)}}})()}static{this.\u0275fac=function(n){return new(n||i)(e.rXU(e.Agw))}}static{this.\u0275cmp=e.VBU({type:i,selectors:[["app-versus-queue"]],hostBindings:function(n,r){1&n&&e.bIt("keydown.escape",function(a){return r.onEscape(a)},!1,e.tSv)("beforeunload",function(a){return r.onBeforeUnload(a)},!1,e.tSv)("pagehide",function(a){return r.onPageHide(a)},!1,e.tSv)},standalone:!0,features:[e.aNF],decls:5,vars:9,consts:[[1,"queue-stage"],["aria-live","polite",1,"queue-card","app-surface-card","text-foreground"],["role","status","aria-live","assertive",1,"match-found-transient","app-surface-card","text-foreground"],["role","alert","aria-live","assertive",1,"queue-error","app-surface-card","text-foreground"],[1,"queue-card","app-surface-card","text-foreground"],["aria-hidden","true",1,"radar"],[1,"radar-center"],[3,"icon"],[1,"queue-status"],[1,"queue-headline"],[1,"queue-tagline"],["aria-hidden","true",1,"found-burst"],[1,"burst-ring","ring-1"],[1,"burst-ring","ring-2"],[1,"found-bolt",3,"icon"],[1,"connection-note"],[1,"queue-error-actions"],["routerLink","/versus",1,"btn","btn-secondary"],["type","button",1,"btn","btn-primary",3,"click"],["aria-hidden","true",3,"icon"],[1,"radar-ring","ring-1"],[1,"radar-ring","ring-2"],[1,"radar-ring","ring-3"],["aria-live","polite",1,"queue-status"],["aria-label","Match criteria",1,"queue-criteria"],[1,"criteria-chip"],["aria-hidden","true",1,"criteria-dot"],["aria-live","off",1,"queue-stats"],[1,"stat"],[1,"stat-label"],[1,"stat-value"],["role","status",1,"connection-pill","offline"],["type","button",1,"btn","cancel-btn",3,"click","disabled"],[1,"queue-aside"],["routerLink","/practice",1,"practice-link"],[1,"keyboard-hint"]],template:function(n,r){1&n&&(e.j41(0,"section",0),e.DNE(1,L,9,1,"article",1)(2,q,9,1,"article",2)(3,$,11,2,"div",3)(4,N,57,26,"article",4),e.k0s()),2&n&&(e.AVh("stage-nearby","nearby"===r.stage())("stage-expanding","expanding"===r.stage())("stage-wide","wide"===r.stage())("match-found",null!==r.matchFoundId()),e.R7$(),e.vxM(r.authChecking()?1:r.matchFoundId()?2:r.errorMessage()?3:4))},dependencies:[p.Wk,P.dX,P.aY],styles:['@charset "UTF-8";[_nghost-%COMP%]{--body-background: var(--surface-page);--body-background-2: var(--surface-sunken);--navbar-background: var(--card);--text-color: var(--foreground);--text-color-light: var(--foreground-secondary);--text-color-light-2: var(--muted-foreground);--card-background: var(--card);--card-background-hover: var(--accent);--card-border-color: var(--border);--accordion-button-background: var(--muted);--divider-background-color: var(--border);--code-editor-background-color: var(--card);--code-block-border-color: var(--border);--code-block1-background-color: var(--card);--code-inline-background-color: var(--code-sample-background-color);--code-inline-color: var(--foreground);--code-inline-border-color: var(--border);--hover-background-color: var(--control-hover-background);--input-background-color: var(--card);--border-color: var(--border);--primary-color: var(--primary);--link-color: var(--primary);--link-color-light: color-mix(in oklab, var(--primary) 14%, transparent);--selected-background-color: color-mix( in oklab, var(--primary) 16%, transparent );--editor-toolbar-border-color: var(--border);--text-muted-color: var(--muted-foreground);--accordion-button-background-invert: var(--accent);--sidebar-item-background: color-mix( in oklab, var(--app-surface-card-bg) 65%, var(--card-background-hover) );--tab-link-background: var(--control-selected-background);
1--code-editor-dragger-background-color: var(--background);--code-editor-language-btn-background-color: var(--muted);--table-background-color: var(--muted);--tabs-border-color: var(--border);--tabs-active-border-color: var(--foreground);--code-copy-clipboard-border-color: var(--border);--prompt-code-block-background-color: var(--code-sample-background-color);--monaco-btn-color: var(--muted);--code-container-background: var(--background);--test-case-btn-background-color: var(--muted);--lang-dropdown-background-color: var(--muted);--activity-item-background-color: var(--card);--skeleton-bg: color-mix(in oklab, var(--foreground) 12%, var(--muted));--skeleton-code-bg: var(--muted);display:block;background:var(--body-background);color:var(--text-color);min-height:100vh}.queue-stage[_ngcontent-%COMP%]{position:relative;display:flex;align-items:center;justify-content:center;min-height:80vh;padding:32px 16px;isolation:isolate}.queue-stage[_ngcontent-%COMP%]:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;transition:background 1.5s ease-out;background:radial-gradient(ellipse at 50% 35%,rgba(var(--difficulty-easy-rgb),.08),transparent 60%)}.queue-stage.stage-expanding[_ngcontent-%COMP%]:before{background:radial-gradient(ellipse at 50% 35%,rgba(var(--difficulty-medium-rgb),.12),transparent 60%)}.queue-stage.stage-wide[_ngcontent-%COMP%]:before{background:radial-gradient(ellipse at 50% 35%,rgba(var(--difficulty-hard-rgb),.14),transparent 60%)}.queue-stage.match-found[_ngcontent-%COMP%]:before{background:radial-gradient(ellipse at 50% 35%,rgba(var(--difficulty-medium-rgb),.32),transparent 70%)}@media (prefers-reduced-motion: reduce){.queue-stage[_ngcontent-%COMP%]:before{transition:none}}.queue-card[_ngcontent-%COMP%]{--app-surface-card-radius: 18px;position:relative;z-index:1;padding:32px 36px 26px;max-width:480px;width:100%;display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center}@media (max-width: 600px){.queue-card[_ngcontent-%COMP%]{--app-surface-card-radius: 14px;padding:22px 18px 18px;gap:14px}}.queue-card[_ngcontent-%COMP%]:before{content:"";position:absolute;inset:0;background:radial-gradient(closest-side at 50% 0%,rgba(var(--difficulty-medium-rgb),.18),transparent 65%);pointer-events:none}.queue-card[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{position:relative;z-index:1}.radar[_ngcontent-%COMP%]{width:200px;height:200px;position:relative;margin:0 auto}.radar-ring[_ngcontent-%COMP%]{position:absolute;inset:0;border-radius:50%;border:2px solid var(--difficulty-medium);opacity:0;animation:_ngcontent-%COMP%_radar-pulse 2s ease-out infinite}.radar-ring.ring-1[_ngcontent-%COMP%]{animation-delay:0s}.radar-ring.ring-2[_ngcontent-%COMP%]{animation-delay:.6s}.radar-ring.ring-3[_ngcontent-%COMP%]{animation-delay:1.2s}.radar-center[_ngcontent-%COMP%]{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:48px;color:var(--difficulty-medium);filter:drop-shadow(0 0 18px rgba(var(--difficulty-medium-rgb),.4));animation:_ngcontent-%COMP%_radar-bolt 1.6s ease-in-out infinite}@keyframes _ngcontent-%COMP%_radar-pulse{0%{transform:scale(.4);opacity:.65}to{transform:scale(1);opacity:0}}@keyframes _ngcontent-%COMP%_radar-bolt{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@media (prefers-reduced-motion: reduce){.radar-ring[_ngcontent-%COMP%], .radar-center[_ngcontent-%COMP%]{animation:none!important}.radar-ring[_ngcontent-%COMP%]{opacity:.4;transform:scale(.8)}}.queue-status[_ngcontent-%COMP%]{display:contents}.queue-headline[_ngcontent-%COMP%]{font-size:22px;font-weight:800;margin:0;color:var(--text-color)}.queue-tagline[_ngcontent-%COMP%]{margin:0;color:var(--text-color-light);font-size:14px;line-height:1.5;max-width:380px}.queue-criteria[_ngcontent-%COMP%]{display:inline-flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:6px 10px;margin:0}.criteria-chip[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;font-size:12px;font-weight:700;background:var(--body-background-2);border:1px solid var(--card-border-color);color:var(--text-color-light);letter-spacing:.2px}.criteria-chip[_ngcontent-%COMP%]   fa-icon[_ngcontent-%COMP%]{font-size:11px;color:var(--text-color-light-2)}.criteria-chip.tier-easy[_ngcontent-%COMP%]{background:rgba(var(--difficulty-easy-rgb),.12);border-color:rgba(var(--difficulty-easy-rgb),.4);color:var(--difficulty-easy)}
1.criteria-chip.tier-medium[_ngcontent-%COMP%]{background:rgba(var(--difficulty-medium-rgb),.12);border-color:rgba(var(--difficulty-medium-rgb),.4);color:var(--difficulty-medium)}.criteria-chip.tier-hard[_ngcontent-%COMP%]{background:rgba(var(--difficulty-hard-rgb),.12);border-color:rgba(var(--difficulty-hard-rgb),.4);color:var(--difficulty-hard)}.criteria-dot[_ngcontent-%COMP%]{color:var(--text-color-light-2);font-weight:700}.queue-stats[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;width:100%;margin:4px 0 0}.stat[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:4px;background:var(--body-background-2);border:1px solid var(--card-border-color);border-radius:10px;padding:10px 12px;margin:0}.stat-label[_ngcontent-%COMP%]{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-color-light);font-weight:700;margin:0}.stat-value[_ngcontent-%COMP%]{font-size:18px;font-weight:800;font-variant-numeric:tabular-nums;margin:0;color:var(--text-color)}.cancel-btn[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:8px;margin-top:4px;transition:all .18s ease-out}.cancel-btn.armed[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_cancel-armed-pulse 1.2s ease-in-out infinite;box-shadow:0 0 0 4px rgba(var(--difficulty-hard-rgb),.16)}@keyframes _ngcontent-%COMP%_cancel-armed-pulse{0%,to{box-shadow:0 0 0 4px rgba(var(--difficulty-hard-rgb),.16)}50%{box-shadow:0 0 0 8px rgba(var(--difficulty-hard-rgb),.08)}}@media (prefers-reduced-motion: reduce){.cancel-btn[_ngcontent-%COMP%], .cancel-btn.armed[_ngcontent-%COMP%]{animation:none!important;transition:none}}
1.cancel-btn[_ngcontent-%COMP%]:focus-visible{outline:2px solid var(--link-color);outline-offset:2px}.queue-aside[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:4px;padding-top:14px;width:100%;border-top:1px solid var(--divider-background-color)}.practice-link[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--link-color);font-weight:600;text-decoration:none;transition:color .12s ease-out}.practice-link[_ngcontent-%COMP%]   fa-icon[_ngcontent-%COMP%]{font-size:11px}.practice-link[_ngcontent-%COMP%]:hover{color:var(--link-color);text-decoration:underline}.practice-link[_ngcontent-%COMP%]:focus-visible{outline:2px solid var(--link-color);outline-offset:2px;border-radius:4px}.keyboard-hint[_ngcontent-%COMP%]{margin:0;font-size:10px;color:var(--text-color-light-2)}.keyboard-hint[_ngcontent-%COMP%]   kbd[_ngcontent-%COMP%]{display:inline-block;padding:1px 5px;border-radius:3px;background:var(--body-background-2);border:1px solid var(--card-border-color);font-size:10px;font-family:ui-monospace,SF Mono,Menlo,monospace;color:var(--text-color-light)}.connection-pill[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;font-size:11px;font-weight:700;background:rgba(var(--difficulty-hard-rgb),.12);border:1px solid rgba(var(--difficulty-hard-rgb),.35);color:var(--difficulty-hard);letter-spacing:.3px}.connection-pill[_ngcontent-%COMP%]   fa-icon[_ngcontent-%COMP%]{font-size:10px}.match-found-transient[_ngcontent-%COMP%]{--app-surface-card-radius: 18px;position:relative;z-index:1;padding:40px 48px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;max-width:420px;animation:_ngcontent-%COMP%_match-found-enter .32s cubic-bezier(.2,.8,.2,1)}.match-found-transient[_ngcontent-%COMP%]   h1[_ngcontent-%COMP%]{font-size:26px;font-weight:800;margin:0;color:var(--text-color)}.match-found-transient[_ngcontent-%COMP%]   p[_ngcontent-%COMP%]{font-size:14px;color:var(--text-color-light);margin:0}.found-burst[_ngcontent-%COMP%]{position:relative;width:96px;height:96px;display:flex;align-items:center;justify-content:center}.found-bolt[_ngcontent-%COMP%]{font-size:56px;color:var(--difficulty-medium);filter:drop-shadow(0 0 16px rgba(var(--difficulty-medium-rgb),.55));animation:_ngcontent-%COMP%_found-bolt-pop .32s cubic-bezier(.2,1.4,.4,1) forwards;z-index:1}.burst-ring[_ngcontent-%COMP%]{position:absolute;inset:0;border-radius:50%;border:2px solid var(--difficulty-medium);animation:_ngcontent-%COMP%_burst-expand .7s cubic-bezier(.16,1,.3,1) forwards}.burst-ring.ring-2[_ngcontent-%COMP%]{animation-delay:.12s}@keyframes _ngcontent-%COMP%_match-found-enter{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes _ngcontent-%COMP%_found-bolt-pop{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}@keyframes _ngcontent-%COMP%_burst-expand{0%{transform:scale(.4);opacity:.8}to{transform:scale(2.2);opacity:0}
1}@media (prefers-reduced-motion: reduce){.match-found-transient[_ngcontent-%COMP%], .found-bolt[_ngcontent-%COMP%], .burst-ring[_ngcontent-%COMP%]{animation:none!important}.burst-ring[_ngcontent-%COMP%]{opacity:0}.found-bolt[_ngcontent-%COMP%]{transform:scale(1);opacity:1}}.queue-error[_ngcontent-%COMP%]{--app-surface-card-radius: 16px;position:relative;z-index:1;padding:28px 32px;max-width:440px;text-align:center}.queue-error[_ngcontent-%COMP%]   h2[_ngcontent-%COMP%]{margin:0 0 12px;color:var(--text-color)}.queue-error[_ngcontent-%COMP%]   p[_ngcontent-%COMP%]{color:var(--text-color-light);margin:0 0 12px;line-height:1.5}.connection-note[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-color-light-2);background:var(--body-background-2);padding:8px 12px;border-radius:8px}.connection-note[_ngcontent-%COMP%]   fa-icon[_ngcontent-%COMP%]{font-size:11px}.queue-error-actions[_ngcontent-%COMP%]{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:18px}.queue-error-actions[_ngcontent-%COMP%]   .btn[_ngcontent-%COMP%]:focus-visible{outline:2px solid var(--link-color);outline-offset:2px}']})}}return i})()}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.