1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,24519,e=>{"use strict";var t=e.i(43476),r=e.i(71645),n=e.i(81968),a=e.i(86172);e.s(["default",0,function(e){let{placement:o}=e,{id:l,variant:u}=n.AD_SLOTS[o],s=(0,r.useRef)(!1);if((0,r.useEffect)(()=>{if(l&&!s.current){s.current=!0;try{(window.adsbygoogle=window.adsbygoogle||[]).push({})}catch{}}},[l]),!l)return null;let i="banner"===u;return(0,t.jsx)("div",{className:`ad-slot ad-${u}`,children:(0,t.jsx)("ins",{className:"adsbygoogle",style:i?{display:"block",width:"100%"}:{display:"inline-block"},"data-ad-client":a.SITE.adsClient,"data-ad-slot":l,...i?{"data-ad-format":"horizontal","data-full-width-responsive":"true"}:{}})})}])},30197,e=>{"use strict";var t=e.i(18566),r=e.i(71645);e.s(["default",0,function(){let e=(0,t.usePathname)();return(0,r.useEffect)(()=>{if(window.location.hash)return;let e=document.documentElement,t=e.style.scrollBehavior;e.style.scrollBehavior="auto",window.scrollTo(0,0),e.style.scrollBehavior=t},[e]),null}])},70738,e=>{"use strict";var t=e.i(43476),r=e.i(22016),n=e.i(71645);let a=null;e.s(["default",0,function(){let[e,o]=(0,n.useState)(""),[l,u]=(0,n.useState)(!1),s=(function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:8,n=t.trim().toLowerCase();return n.length<1?[]:e.filter(e=>e.key.includes(n)).sort((e,t)=>e.key.indexOf(n)-t.key.indexOf(n)||e.key.length-t.key.length).slice(0,r)})(function(e){let[t,r]=(0,n.useState)([]);return(0,n.useEffect)(()=>{if(!e||t.length)return;let n=!0;return(!a&&(a=fetch("/search-index.json").then(e=>e.ok?e.json():[]).then(e=>e.map(e=>{let[t,r,n,a,o]=e;return{slug:t,name:r,category:n,thumbnail:a||null,href:o,key:`${r} ${n}`.toLowerCase()}})).catch(()=>(a=null,[]))),a).then(e=>{n&&r(e)}),()=>{n=!1}},[e,t.length]),t}(l),e).map(e=>({slug:e.slug,href:e.href,name:e.name,thumb:e.thumbnail}));return(0,t.jsxs)("div",{className:"s-searchwrap relative min-w-0 flex-1",children:[(0,t.jsxs)("div",{className:"s-search flex h-9 items-center gap-2 rounded-lg border-2 border-ink bg-card px-3",children:[(0,t.jsxs)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",className:"flex-shrink-0 text-muted","aria-hidden":!0,children:[(0,t.jsx)("circle",{cx:"11",cy:"11",r:"7"}),(0,t.jsx)("path",{d:"m20 20-3.5-3.5"})]}),(0,t.jsx)("input",{type:"search",value:e,onChange:e=>o(e.target.value),onFocus:()=>u(!0),onBlur:()=>setTimeout(()=>u(!1),150),placeholder:"Search gamesâ¦","aria-label":"Search games",className:"min-w-0 flex-1 bg-transparent text-sm text-ink outline-none placeholder:text-muted"})]}),l&&s.length>0&&(0,t.jsx)("ul",{className:"absolute left-0 right-0 top-12 z-50 overflow-hidden rounded-card border-2 border-ink bg-card shadow-sketch",children:s.map(e=>(0,t.jsx)("li",{children:(0,t.jsxs)(r.default,{href:e.href,className:"flex items-center gap-3 px-3 py-2 transition-colors hover:bg-raise",children:[e.thumb&&(0,t.jsx)("img",{src:e.thumb,alt:"",width:32,height:32,className:"h-8 w-8 rounded-md object-cover"}),(0,t.jsx)("span",{className:"truncate font-hand text-[16px]",children:e.name})]})},e.slug))})]})}],70738)},81968,86172,e=>{"use strict";let t=e.i(84964).default,r={...t,url:`https://${t.domain}`,brand:t.brand??t.name,email:t.email??`contact@${t.domain}`,template:t.template??"arcade",ugcApi:"https://g.w3technic.com/api/ugc.php",reportApi:"https://g.w3technic.com/api/report.php"};e.s(["SITE",0,r],86172);let n={header:"banner","home-below-player":"leader","home-sidebar":"rect","game-below-player":"leader","article-end":"leader","games-top":"leader"},a=Object.fromEntries(Object.keys(n).map(e=>[e,{id:r.adSlots?.[e]??"",variant:n[e]}]));e.s(["AD_SLOTS",0,a,"thumbSmall",0,function(e){return!e||!e.startsWith("/thumbs/")||e.startsWith("/thumbs/s/")?null:e.replace("/thumbs/","/thumbs/s/")}],81968)},84964,(e,t,r)=>{t.exports={domain:"tanktrouble.org",name:"Tank Trouble",tagline:"Tank Trouble 2 online â maze tank battles for up to four players at one keyboard, plus a shelf of two-player brawlers and tank games",adsClient:"ca-pub-3720612299124178",themeColor:"#1b1b1b",template:"paper",serve:"origin",developer:"JPTR",lane:"The rest of the site stays close to the hero: tank games, two-player brawlers made for one keyboard, arena shooters and a few two-player sports games, each with its own page describing what it is, how it controls and what makes it worth the time.",since:null,selfHosted:!0,heroPortrait:!1,palette:{paper:"#f4f4f2",card:"#fcfcfc",raise:"#dededc",line:"#c4c4c3",grid:"#ebebe9",ink:"#1b1b1b",muted:"#6d6d6d",accent:"#4c7a2a",accent_dark:"#3e6422",marker:"#e53935",prose:"#3e3e3d",title_color:"#1b1b1b",glow_rgb:"76, 122, 42"},keywords:["tank trouble","tank trouble 2","tank trouble online","tank trouble 2 player","tank trouble 3 player","tank trouble 4 player","tank maze game","play tank trouble"],text:{title:"Tank Trouble 2 â Play the Maze Tank Battle Free Online",description:"Play Tank Trouble 2 free in y
1our browser on tanktrouble.org: random mazes, ricocheting shells, weapon crates and up to four players on one keyboard, or one player against the computer. Plus tank games, two-player brawlers and arena shooters.",footerBlurb:"Tank Trouble 2, served from this site, and a hand-picked shelf of tank games, one-keyboard brawlers, arena shooters and two-player sports that play straight in the browser. No installs, no sign-ups.",footerLegal:"tanktrouble.org is an independent game site. Tank Trouble is a trademark of Tank Trouble ApS; Tank Trouble 2 is an independent fan-made game by JPTR, and this site is not affiliated with, endorsed by or sponsored by Tank Trouble ApS or any game developer listed. All game titles, artwork and trademarks shown here remain the property of their respective owners.",gamesTitle:"All Games â Tank Battles, Two-Player Brawls and Arena Shooters",gamesDescription:"Every game on tanktrouble.org: Tank Trouble 2, the tank games next to it, two-player brawlers for one keyboard, arena shooters and a couple of two-player sports games. Free in the browser, no download.",gamesIntro:"Tank Trouble 2 is a game you play with someone on the same keyboard, so the shelf leans that way: tank games, one-keyboard brawlers that last seconds a round, arena shooters for when you are on your own, and two-player sports for a change of pace. {n} of them, all free and all playable in the page, each with its own guide.",blogTitle:"Tank Trouble Blog â Ricochet Aiming, Four-Player Setups and the Game's History",blogDescription:"How the bounce works and how to aim a shot round a corner, how to seat three or four players at one keyboard without the keys ghosting, and what Tank Trouble 2 keeps and changes from the original.",blogBlurb:"Ricochet aiming, one-keyboard seating plans, and where the game came from.",blogHomeHeading:"Tank Trouble Guides",moreHeading:"More Tank and Two-Player Games",aboutIntro:"tanktrouble.org is a small independent game site built around Tank Trouble 2, the maze tank duel with ricocheting shells, playable in the browser for one to four players. The site was rebuilt in September 2026 as a static site so it loads quickly on a school laptop and does not depend on a database.",aboutLane:"The rest of the site stays close to the hero: tank games, two-player brawlers made for one keyboard, arena shooters and a few two-player sports games, each with its own page describing what it is, how it controls and what makes it worth the time.",aboutHow:"Tank Trouble 2 is an HTML5 build served from this domain, so it loads with the page and talks to nothing else. The other games are HTML5 builds embedded from the game host that serves our sites. Nothing installs, no account is needed, and nothing loads until you press Play.",aboutRights:"Tank Trouble is a trademark of Tank Trouble ApS and the original game by Mads Purup lives at tanktrouble.com. Tank Trouble 2 is an independent fan-made game by JPTR, and this site is not affiliated with, endorsed by or sponsored by Tank Trouble ApS or any developer listed. The other games belong to their developers.",contactHeroNote:"Tank Trouble 2 is served from this domain, so if a round will not start or a tank stops answering its keys, tell us how many players you chose and which keys were held and we can reproduce it."},game:{description:"Tank Trouble 2 is a top-down tank duel in a small random maze: shells bounce off the walls, one hit is a kill, and weapon crates hand out lasers, homing missiles and mines. One player against the computer or two, three or four people on one keyboard, free in your browser.",genre:["Tank","Maze","Local Multiplayer"],alternateName:["Tank Trouble 2 Online","Tank Trouble Game","TankTrouble 2","tanktrouble.org"],playMode:"MultiPlayer",websiteDescription:"Play Tank Trouble 2 free in your browser on tanktrouble.org: random mazes, ricocheting shells, weapon crates and up to four players on one keyboard, or one player against the computer. No download.",datePublished:"2016"},trailingSlash:!1,sitemap:"rankmath",palette_before_skin:{paper:"#f4f4f2",card:"#ffffff",raise:"#e9e9e6",line:"#d2d2cd",grid:"#e6e6e6",ink:"#1b1b1b",muted:"#5c5f5c",accent:"#1e9e2c",accent_dark:"#157a20",marker:"#e0201f",glow_rgb:"30, 158, 44",prose:"#33362f",title_color:"#1b1b1b"},skin:{font:"saira-condensed",weight:800,mode:"light",radius:[2,2,2],border:2,borderColor:"#1b1b1b",shadow:"hard",bg:"none",header:"ink",caps:!0,scale:1.1,onAccent:"#ffffff",n
1ameLines:2},seoKeyword:"unblocked",seoHome:{name:"Tank Trouble"}}},22016,(e,t,r)=>{"use strict";e.i(47167),Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return y},useLinkStatus:function(){return v}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o=e.r(90809),l=e.r(43476),u=o._(e.r(71645)),s=e.r(95057),i=e.r(8372),c=e.r(18581),d=e.r(18967),f=e.r(5550),p=e.r(88540),h=e.r(91949),b=e.r(73668),m=e.r(9396);function y(t){var r;let n,a,o,[y,v]=(0,u.useOptimistic)(h.IDLE_LINK_STATUS),_=(0,u.useRef)(null),{href:P,as:T,children:w,prefetch:j=null,passHref:k,replace:O,shallow:x,scroll:S,onClick:C,onMouseEnter:E,onTouchStart:R,legacyBehavior:M=!1,onNavigate:N,transitionTypes:A,ref:L,unstable_dynamicOnHover:I,...F}=t;n=w,M&&("string"==typeof n||"number"==typeof n)&&(n=(0,l.jsx)("a",{children:n}));let B=u.default.useContext(i.AppRouterContext),D=!1!==j,H=!1===j?"none":!0===j?"full":"auto",U="none"!==H?"auto"===H?m.FetchStrategy.PPR:m.FetchStrategy.Full:m.FetchStrategy.PPR,$="string"==typeof(r=T||P)?r:(0,s.formatUrl)(r);if(M){if(n?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});a=u.default.Children.only(n)}let z=M?a&&"object"==typeof a&&a.ref:L,K,V=u.default.useCallback(e=>(null!==B&&(_.current=(0,h.mountLinkInstance)(e,$,B,U,D,v,K)),()=>{_.current&&((0,h.unmountLinkForCurrentNavigation)(_.current),_.current=null),(0,h.unmountPrefetchableInstance)(e)}),[D,$,B,U,v,K]),q={ref:(0,c.useMergedRef)(V,z),onClick(t){M||"function"!=typeof C||C(t),M&&a.props&&"function"==typeof a.props.onClick&&a.props.onClick(t),!B||t.defaultPrevented||function(t,r,n,a,o,l,s){let i=arguments.length>7&&void 0!==arguments[7]?arguments[7]:"none";if("u">typeof window){let c,{nodeName:d}=t.currentTarget;if("A"===d.toUpperCase()&&((c=t.currentTarget.getAttribute("target"))&&"_self"!==c||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,b.isLocalURL)(r)){a&&(t.preventDefault(),location.replace(r));return}if(t.preventDefault(),l){let e=!1;if(l({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:f}=e.r(99781);u.default.startTransition(()=>{f(r,a?"replace":"push",!1===o?p.ScrollBehavior.NoScroll:p.ScrollBehavior.Default,n.current,s,i)})}}(t,$,_,O,S,N,A,H)},onMouseEnter(e){M||"function"!=typeof E||E(e),M&&a.props&&"function"==typeof a.props.onMouseEnter&&a.props.onMouseEnter(e),B&&D&&(0,h.onNavigationIntent)(e.currentTarget,!0===I)},onTouchStart:function(e){M||"function"!=typeof R||R(e),M&&a.props&&"function"==typeof a.props.onTouchStart&&a.props.onTouchStart(e),B&&D&&(0,h.onNavigationIntent)(e.currentTarget,!0===I)}};return(0,d.isAbsoluteUrl)($)?q.href=$:M&&!k&&("a"!==a.type||"href"in a.props)||(q.href=(0,f.addBasePath)($)),o=M?u.default.cloneElement(a,q):(0,l.jsx)("a",{...F,...q,children:n}),(0,l.jsx)(g.Provider,{value:y,children:o})}let g=(0,u.createContext)(h.IDLE_LINK_STATUS),v=()=>(0,u.useContext)(g);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},28298,(e,t,r)=>{"use strict";e.i(47167),Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useRouterBFCache",{enumerable:!0,get:function(){return a}});let n=e.r(71645);function a(e,t,r){let[a,o]=(0,n.useState)(()=>({tree:e,cacheNode:t,stateKey:r,next:null}));if(a.tree===e)return a;let l={tree:e,cacheNode:t,stateKey:r,next:null},u=1,s=a,i=l;for(;null!==s&&u<1;){if(s.stateKey===r){i.next=s.next;break}{u++;let e={tree:s.tree,cacheNode:s.cacheNode,stateKey:s.stateKey,next:null};i.next=e,i=e}s=s.next}return o(l),l}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esMo
1dule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},47257,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ClientPageRoot",{enumerable:!0,get:function(){return i}});let n=e.r(43476),a=e.r(8372),o=e.r(71645),l=e.r(33906),u=e.r(61994),s=e.r(15783);function i(e){let t,r,{Component:i,serverProvidedParams:c}=e;if(null!==c)t=c.searchParams,r=c.params;else{let e=(0,o.use)(a.LayoutRouterContext);r=null!==e?e.parentParams:{},t=(0,l.urlSearchParamsToParsedUrlQuery)((0,o.use)(u.SearchParamsContext))}let d=(0,s.createClientSearchParams)(t),f=(0,s.createClientParams)(r);return(0,n.jsx)(i,{params:f,searchParams:d})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},92825,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ClientSegmentRoot",{enumerable:!0,get:function(){return u}});let n=e.r(43476),a=e.r(8372),o=e.r(71645),l=e.r(15783);function u(e){let t,{Component:r,slots:u,serverProvidedParams:s}=e;if(null!==s)t=s.params;else{let e=(0,o.use)(a.LayoutRouterContext);t=null!==e?e.parentParams:{}}let i=(0,l.createClientParams)(t);return(0,n.jsx)(r,{...u,params:i})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},68017,(e,t,r)=>{"use strict";e.i(47167),Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"HTTPAccessFallbackBoundary",{enumerable:!0,get:function(){return c}});let n=e.r(90809),a=e.r(43476),o=n._(e.r(71645)),l=e.r(90373),u=e.r(54394),s=e.r(8372);class i extends o.default.Component{constructor(e){super(e),this.state={triggeredStatus:void 0,previousPathname:e.pathname}}componentDidCatch(){}static getDerivedStateFromError(e){if((0,u.isHTTPAccessFallbackError)(e))return{triggeredStatus:(0,u.getAccessFallbackHTTPStatus)(e)};throw e}static getDerivedStateFromProps(e,t){return e.pathname!==t.previousPathname&&t.triggeredStatus?{triggeredStatus:void 0,previousPathname:e.pathname}:{triggeredStatus:t.triggeredStatus,previousPathname:e.pathname}}render(){let{notFound:e,forbidden:t,unauthorized:r,children:n}=this.props,{triggeredStatus:o}=this.state,l={[u.HTTPAccessErrorStatus.NOT_FOUND]:e,[u.HTTPAccessErrorStatus.FORBIDDEN]:t,[u.HTTPAccessErrorStatus.UNAUTHORIZED]:r};if(o){let s=o===u.HTTPAccessErrorStatus.NOT_FOUND&&e,i=o===u.HTTPAccessErrorStatus.FORBIDDEN&&t,c=o===u.HTTPAccessErrorStatus.UNAUTHORIZED&&r;return s||i||c?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("meta",{name:"robots",content:"noindex"}),!1,l[o]]}):n}return n}}function c(e){let{notFound:t,forbidden:r,unauthorized:n,children:u}=e,c=(0,l.useUntrackedPathname)(),d=(0,o.useContext)(s.MissingSlotContext);return t||r||n?(0,a.jsx)(i,{pathname:c,notFound:t,forbidden:r,unauthorized:n,missingSlots:d,children:u}):(0,a.jsx)(a.Fragment,{children:u})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},22976,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={InstantValidationBoundaryContext:function(){return o},PlaceValidationBoundaryBelowThisLevel:function(){return l},RenderValidationBoundaryAtThisLevel:function(){return u},SlotMarker:function(){return s}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o=null,l=null,u=null,s=null;("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},77694,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={InstantValidationBoundaryContext:function(){return o.InstantValidationBoundaryContext},PlaceValidationBoundaryBelowThisLevel:function(){return o.PlaceValidationBoundaryBelowThisLevel}
1,RenderValidationBoundaryAtThisLevel:function(){return o.RenderValidationBoundaryAtThisLevel},SlotMarker:function(){return o.SlotMarker}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o=e.r(22976);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},39756,(e,t,r)=>{"use strict";e.i(47167),Object.defineProperty(r,"__esModule",{value:!0});var n={LoadingBoundaryProvider:function(){return k},default:function(){return x}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o=e.r(55682),l=e.r(90809),u=e.r(43476),s=l._(e.r(71645)),i=o._(e.r(74080)),c=e.r(8372),d=e.r(1244),f=e.r(72383),p=e.r(91915),h=e.r(58442),b=e.r(68017);e.r(77694);let m=e.r(70725),y=e.r(28298);e.r(74180);let g=e.r(61994),v=e.r(33906),_=e.r(95871);i.default.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function P(e,t,r){let n=e.getClientRects();if(0===n.length)return 0;let a=1/0;for(let e=0;e<n.length;e++){let t=n[e];t.top<a&&(a=t.top)}return a>=r()&&a<=t?1:2}s.default.Component;let T=function(e){let t=s.default.useRef(null);return(0,s.useLayoutEffect)(()=>{let{focusAndScrollRef:r,cacheNode:n}=e,a=r.forceScroll?r.scrollRef:n.scrollRef;if(null===a||!a.current)return;let o=null,l=r.hashFragment;if(l){var u;if(null===(o="top"===(u=l)?document.body:document.getElementById(u)??document.getElementsByName(u)[0]??null)){a.current=!1,r.onlyHashChange=!1,r.hashFragment=null;return}}else o=t.current;if(null===o)return;let s=!1;(0,p.disableSmoothScrollDuringRouteTransition)(()=>{let e=document.documentElement,t=null,r=null,n=null,u=()=>{var r,a;let o,l;return null===n&&(r=e,a=t,n=!Number.isFinite(l=Number.parseFloat(o=getComputedStyle(r).scrollPaddingTop))||l<0?0:o.endsWith("px")?l:o.endsWith("%")?l/100*a:0),n};(l||(t=e.clientHeight,0!==(r=P(o,t,u))))&&((s=!0,a.current=!1,l)?o.scrollIntoView():1!==r&&(e.scrollTop=0,2===P(o,t,u)&&o.scrollIntoView()))},{dontForceLayout:!0,onlyHashChange:r.onlyHashChange}),s&&(r.onlyHashChange=!1,r.hashFragment=null)},void 0),(0,u.jsx)(s.Fragment,{ref:t,children:e.children})};function w(e){let{children:t,cacheNode:r}=e,n=(0,s.useContext)(c.GlobalLayoutRouterContext);if(!n)throw Object.defineProperty(Error("invariant global layout router not mounted"),"__NEXT_ERROR_CODE",{value:"E473",enumerable:!1,configurable:!0});return(0,u.jsx)(T,{focusAndScrollRef:n.focusAndScrollRef,cacheNode:r,children:t})}function j(e){let t,{tree:r,segmentPath:n,debugNameContext:a,cacheNode:o,params:l,url:i,isActive:f}=e,p=(0,s.useContext)(c.GlobalLayoutRouterContext);if((0,s.useContext)(g.NavigationPromisesContext),!p)throw Object.defineProperty(Error("invariant global layout router not mounted"),"__NEXT_ERROR_CODE",{value:"E473",enumerable:!1,configurable:!0});let h=null!==o?o:(0,s.use)(d.unresolvedThenable),b=null!==h.prefetchRsc?h.prefetchRsc:h.rsc,m=(0,s.useDeferredValue)(h.rsc,b);if((0,_.isDeferredRsc)(m)){let e=(0,s.use)(m);null===e&&(0,s.use)(d.unresolvedThenable),t=e}else null===m&&(0,s.use)(d.unresolvedThenable),t=m;let y=t;return(0,u.jsx)(c.LayoutRouterContext.Provider,{value:{parentTree:r,parentCacheNode:h,parentSegmentPath:n,parentParams:l,parentLoadingData:null,debugNameContext:a,url:i,isActive:f},children:y})}function k(e){let{loading:t,children:r}=e,n=(0,s.use)(c.LayoutRouterContext);return null===n?r:(0,u.jsx)(c.LayoutRouterContext.Provider,{value:{parentTree:n.parentTree,parentCacheNode:n.parentCacheNode,parentSegmentPath:n.parentSegmentPath,parentParams:n.parentParams,parentLoadingData:t,debugNameContext:n.debugNameContext,url:n.url,isActive:n.isActive},children:r})}function O(e){let{name:t,loading:r,children:n}=e;if(null!==r){let e=r[0],a=r[1],o=r[2];return(0,u.jsx)(s.Suspense,{name:t,fallback:(0,u.jsxs)(u.Fragment,{children:[a,o,e]}),children:n})}return(0,u.jsx)(u.Fragment,{children:n})}function x(e){let{parallelRouterKey:t,error:r,errorStyles:n,errorScripts:a,templateStyles:o,templateScripts:l,template:i,notFound:p,forbidden:g,unauthorized:_,segmentViewBoundaries:P}=e,T=(0,s.useContext)(c.LayoutRouterContext);if(!T)throw Object.defineProperty(Error("invariant expected layout router to be mou
1nted"),"__NEXT_ERROR_CODE",{value:"E56",enumerable:!1,configurable:!0});let{parentTree:k,parentCacheNode:x,parentSegmentPath:S,parentParams:C,parentLoadingData:E,url:R,isActive:M,debugNameContext:N}=T,A=k[0],L=null===S?[t]:S.concat([A,t]),I=k[1][t],F=x.slots;(void 0===I||null===F)&&(0,s.use)(d.unresolvedThenable);let B=I[0],D=F[t]??null,H=(0,m.createRouterCacheKey)(B,!0),U=(0,y.useRouterBFCache)(I,D,H),$=[];do{let e=U.tree,t=U.cacheNode,s=U.stateKey,d=e[0],m=C;if(Array.isArray(d)){let e=d[0],t=d[1],r=d[2],n=(0,v.getParamValueFromCacheKey)(t,r);null!==n&&(m={...C,[e]:n})}let y=function(e){if("/"===e)return"/";if("string"==typeof e)if("(__SLOT__)"===e)return;else return e+"/";return e[1]+"/"}(d),P=y??N,T=void 0===y?void 0:N,k=(0,u.jsxs)(w,{cacheNode:t,children:[(0,u.jsx)(f.ErrorBoundary,{errorComponent:r,errorStyles:n,errorScripts:a,children:(0,u.jsx)(O,{name:T,loading:E,children:(0,u.jsx)(b.HTTPAccessFallbackBoundary,{notFound:p,forbidden:g,unauthorized:_,children:(0,u.jsxs)(h.RedirectBoundary,{children:[(0,u.jsx)(j,{url:R,tree:e,params:m,cacheNode:t,segmentPath:L,debugNameContext:P,isActive:M&&s===H}),null]})})})}),null]}),x=(0,u.jsxs)(c.TemplateContext.Provider,{value:k,children:[o,l,i]},s);$.push(x),U=U.next}while(null!==U)return $}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},37457,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return u}});let n=e.r(90809),a=e.r(43476),o=n._(e.r(71645)),l=e.r(8372);function u(){let e=(0,o.useContext)(l.TemplateContext);return(0,a.jsx)(a.Fragment,{children:e})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},8341,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={cancelIdleCallback:function(){return l},requestIdleCallback:function(){return o}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o="u">typeof self&&self.requestIdleCallback&&self.requestIdleCallback.bind(window)||function(e){let t=Date.now();return self.setTimeout(function(){e({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-t))}})},1)},l="u">typeof self&&self.cancelIdleCallback&&self.cancelIdleCallback.bind(window)||function(e){return clearTimeout(e)};("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},19083,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={ESCAPE_REGEX:function(){return l},htmlEscapeAttributeString:function(){return c},htmlEscapeJsonString:function(){return i}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o={"&":"\\u0026",">":"\\u003e","<":"\\u003c","\u2028":"\\u2028","\u2029":"\\u2029"},l=/[&><\u2028\u2029]/g,u={"&":"&",'"':""","'":"'","<":"<",">":">"},s=/[&"'<>]/g;function i(e){return e.replace(l,e=>o[e])}function c(e){return e.replace(s,e=>u[e])}},79520,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return _},handleClientScriptLoad:function(){return y},initScriptLoader:function(){return g}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o=e.r(55682),l=e.r(90809),u=e.r(43476),s=o._(e.r(74080)),i=l._(e.r(71645)),c=e.r(42732),d=e.r(22737),f=e.r(8341),p=e.r(19083),h=new Map,b=new Set,m=e=>{let{src:t,id:r,onLoad:n=()=>{},onReady:a=null,dangerouslySetInnerHTML:o,children:l="",strategy:u="afterInteractive",onError:i,stylesheets:c}=e,f=r||t;if(f&&b.has(f))return;if(h.has(t)){b.add(f),h.get(t).then(n,i);return}let p=()=>{a&&a(),b.add(f)},m=document.createElement("script"),y=new Promise((e,t)=>{m.addEventListener("load",function(t){e(),n&&n.call(this,t),p()}),m.addEventListener("error",function(e){t(e)})}).catch(function(e){i&&i(e)});o?(m.innerHTML=o.__html||"",p()):l?(m.textContent="string"==typeof l?l:Array.isArray(l)?l.
1join(""):"",p()):t&&(m.src=t,h.set(t,y)),(0,d.setAttributesFromProps)(m,e),"worker"===u&&m.setAttribute("type","text/partytown"),m.setAttribute("data-nscript",u),c&&(e=>{if(s.default.preinit)return e.forEach(e=>{s.default.preinit(e,{as:"style"})});if("u">typeof window){let t=document.head;e.forEach(e=>{let r=document.createElement("link");r.type="text/css",r.rel="stylesheet",r.href=e,t.appendChild(r)})}})(c),document.body.appendChild(m)};function y(e){let{strategy:t="afterInteractive"}=e;"lazyOnload"===t?window.addEventListener("load",()=>{(0,f.requestIdleCallback)(()=>m(e))}):m(e)}function g(e){e.forEach(y),[...document.querySelectorAll('[data-nscript="beforeInteractive"]'),...document.querySelectorAll('[data-nscript="beforePageRender"]')].forEach(e=>{let t=e.id||e.getAttribute("src");b.add(t)})}function v(e){let{id:t,src:r="",onLoad:n=()=>{},onReady:a=null,strategy:o="afterInteractive",onError:l,stylesheets:d,...h}=e,{updateScripts:y,scripts:g,getIsSsr:v,appDir:_,nonce:P}=(0,i.useContext)(c.HeadManagerContext);P=h.nonce||P;let T=(0,i.useRef)(!1);(0,i.useEffect)(()=>{let e=t||r;T.current||(a&&e&&b.has(e)&&a(),T.current=!0)},[a,t,r]);let w=(0,i.useRef)(!1);if((0,i.useEffect)(()=>{if(!w.current){if("afterInteractive"===o)m(e);else"lazyOnload"===o&&("complete"===document.readyState?(0,f.requestIdleCallback)(()=>m(e)):window.addEventListener("load",()=>{(0,f.requestIdleCallback)(()=>m(e))}));w.current=!0}},[e,o]),("beforeInteractive"===o||"worker"===o)&&(y?(g[o]=(g[o]||[]).concat([{id:t,src:r,onLoad:n,onReady:a,onError:l,...h,nonce:P}]),y(g)):v&&v()?b.add(t||r):v&&!v()&&m({...e,nonce:P})),_){if(d&&d.forEach(e=>{s.default.preinit(e,{as:"style"})}),"beforeInteractive"===o)if(!r)return h.dangerouslySetInnerHTML&&(h.children=h.dangerouslySetInnerHTML.__html,delete h.dangerouslySetInnerHTML),(0,u.jsx)("script",{nonce:P,dangerouslySetInnerHTML:{__html:`(self.__next_s=self.__next_s||[]).push(${(0,p.htmlEscapeJsonString)(JSON.stringify([0,{...h,id:t}]))})`}});else return s.default.preload(r,h.integrity?{as:"script",integrity:h.integrity,nonce:P,crossOrigin:h.crossOrigin}:{as:"script",nonce:P,crossOrigin:h.crossOrigin}),(0,u.jsx)("script",{nonce:P,dangerouslySetInnerHTML:{__html:`(self.__next_s=self.__next_s||[]).push(${(0,p.htmlEscapeJsonString)(JSON.stringify([r,{...h,id:t}]))})`}});"afterInteractive"===o&&r&&s.default.preload(r,h.integrity?{as:"script",integrity:h.integrity,nonce:P,crossOrigin:h.crossOrigin}:{as:"script",nonce:P,crossOrigin:h.crossOrigin})}return null}Object.defineProperty(v,"__nextScript",{value:!0});let _=v;("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},6831,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"createRenderParamsFromClient",{enumerable:!0,get:function(){return a}});let n=new WeakMap;function a(e){let t=n.get(e);if(t)return t;let r=Promise.resolve(e);return n.set(e,r),r}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},97689,(e,t,r)=>{"use strict";e.i(47167),Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"createRenderParamsFromClient",{enumerable:!0,get:function(){return n}});let n=e.r(6831).createRenderParamsFromClient;("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},93504,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"createRenderSearchParamsFromClient",{enumerable:!0,get:function(){return a}});let n=new WeakMap;function a(e){let t=n.get(e);if(t)return t;let r=Promise.resolve(e);return n.set(e,r),r}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esMo
1dule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},66996,(e,t,r)=>{"use strict";e.i(47167),Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"createRenderSearchParamsFromClient",{enumerable:!0,get:function(){return n}});let n=e.r(93504).createRenderSearchParamsFromClient;("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},15783,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={createClientParams:function(){return o.createRenderParamsFromClient},createClientSearchParams:function(){return l.createRenderSearchParamsFromClient}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o=e.r(97689),l=e.r(66996);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},18581,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return a}});let n=e.r(71645);function a(e,t){let r=(0,n.useRef)(null),a=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=a.current;t&&(a.current=null,t())}else e&&(r.current=o(e,n)),t&&(a.current=o(t,n))},[e,t])}function o(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},18967,(e,t,r)=>{"use strict";e.i(47167),Object.defineProperty(r,"__esModule",{value:!0});var n={DecodeError:function(){return y},MiddlewareNotFoundError:function(){return P},MissingStaticPage:function(){return _},NormalizeError:function(){return g},PageNotFoundError:function(){return v},SP:function(){return b},ST:function(){return m},WEB_VITALS:function(){return o},execOnce:function(){return l},getDisplayName:function(){return d},getLocationOrigin:function(){return i},getURL:function(){return c},isAbsoluteUrl:function(){return s},isResSent:function(){return f},loadGetInitialProps:function(){return h},normalizeRepeatedSlashes:function(){return p},stringifyError:function(){return T}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o=["CLS","FCP","FID","INP","LCP","TTFB"];function l(e){let t,r=!1;return function(){for(var n=arguments.length,a=Array(n),o=0;o<n;o++)a[o]=arguments[o];return r||(r=!0,t=e(...a)),t}}let u=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,s=e=>{let t=e.charCodeAt(0);return!!(t>=65&&t<=90||t>=97&&t<=122)&&u.test(e)};function i(){let{protocol:e,hostname:t,port:r}=window.location;return`${e}//${t}${r?":"+r:""}`}function c(){let{href:e}=window.location,t=i();return e.substring(t.length)}function d(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function f(e){return e.finished||e.headersSent}function p(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function h(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await h(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&f(r))return n;if(!n)throw Object.defineProperty(Error(`"${d(e)}.getInitialProps()" should resolve to an object. But found "${n}" instead.`),"__NEXT_ERROR_CODE",{value:"E1025",enumerable:!1,configurable:!0});return n}let b="u">typeof performance,m=b&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class y extends Error{}class g extends Error{}class v extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class _ extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}
1class P extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function T(e){return JSON.stringify({message:e.message,stack:e.stack})}},27201,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"IconMark",{enumerable:!0,get:function(){return a}});let n=e.r(43476),a=()=>"u">typeof window?null:(0,n.jsx)("meta",{name:"«nxt-icon»"})},91915,(e,t,r)=>{"use strict";function n(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(t.onlyHashChange)return void e();let r=document.documentElement;if("smooth"!==r.dataset.scrollBehavior)return void e();let n=r.style.scrollBehavior;r.style.scrollBehavior="auto",t.dontForceLayout||r.getClientRects(),e(),r.style.scrollBehavior=n}e.i(47167),Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"disableSmoothScrollDuringRouteTransition",{enumerable:!0,get:function(){return n}})},73668,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return o}});let n=e.r(18967),a=e.r(52817);function o(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,a.hasBasePath)(r.pathname)}catch(e){return!1}}},98183,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={assign:function(){return s},searchParamsToUrlQuery:function(){return o},urlQueryToSearchParams:function(){return u}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});function o(e){let t={};for(let[r,n]of e.entries()){let e=t[r];void 0===e?t[r]=n:Array.isArray(e)?e.push(n):t[r]=[e,n]}return t}function l(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function u(e){let t=new URLSearchParams;for(let[r,n]of Object.entries(e))if(Array.isArray(n))for(let e of n)t.append(r,l(e));else t.set(r,l(n));return t}function s(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];for(let t of r){for(let r of t.keys())e.delete(r);for(let[r,n]of t.entries())e.append(r,n)}return e}},95057,(e,t,r)=>{"use strict";e.i(47167),Object.defineProperty(r,"__esModule",{value:!0});var n={formatUrl:function(){return u},formatWithValidation:function(){return i},urlObjectKeys:function(){return s}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o=e.r(90809)._(e.r(98183)),l=/https?|ftp|gopher|file/;function u(e){let{auth:t,hostname:r}=e,n=e.protocol||"",a=e.pathname||"",u=e.hash||"",s=e.query||"",i=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?i=t+e.host:r&&(i=t+(~r.indexOf(":")?`[${r}]`:r),e.port&&(i+=":"+e.port)),s&&"object"==typeof s&&(s=String(o.urlQueryToSearchParams(s)));let c=e.search||s&&`?${s}`||"";return n&&!n.endsWith(":")&&(n+=":"),e.slashes||(!n||l.test(n))&&!1!==i?(i="//"+(i||""),a&&"/"!==a[0]&&(a="/"+a)):i||(i=""),u&&"#"!==u[0]&&(u="#"+u),c&&"?"!==c[0]&&(c="?"+c),a=a.replace(/[?#]/g,encodeURIComponent),c=c.replace("#","%23"),`${n}${i}${a}${c}${u}`}let s=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function i(e){return u(e)}},18566,(e,t,r)=>{t.exports=e.r(76562)}]);
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.