1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,75830,86318,e=>{"use strict";var t=e.i(71645),r=e.i(30030),n=e.i(20783),o=e.i(91918),i=e.i(43476),l=Object.defineProperty,a=(e,t)=>l(e,"name",{value:t,configurable:!0});function s(e){let l=e+"CollectionProvider",[s,u]=(0,r.createContextScope)(l),[c,d]=s(l,{collectionRef:{current:null},itemMap:new Map}),f=a(e=>{let{scope:r,children:n}=e,o=t.useRef(null),l=t.useRef(new Map).current;return(0,i.jsx)(c,{scope:r,itemMap:l,collectionRef:o,children:n})},"CollectionProvider");f.displayName=l;let p=e+"CollectionSlot",m=(0,o.createSlot)(p),g=t.forwardRef((e,t)=>{let{scope:r,children:o}=e,l=d(p,r),a=(0,n.useComposedRefs)(t,l.collectionRef);return(0,i.jsx)(m,{ref:a,children:o})});g.displayName=p;let h=e+"CollectionItemSlot",y="data-radix-collection-item",b=(0,o.createSlot)(h),k=t.forwardRef((e,r)=>{let{scope:o,children:l,...a}=e,s=t.useRef(null),u=(0,n.useComposedRefs)(r,s),c=d(h,o);return t.useEffect(()=>(c.itemMap.set(s,{ref:s,...a}),()=>void c.itemMap.delete(s))),(0,i.jsx)(b,{...{[y]:""},ref:u,children:l})});function S(r){let n=d(e+"CollectionConsumer",r);return t.useCallback(()=>{let e=n.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${y}]`));return Array.from(n.itemMap.values()).sort((e,r)=>t.indexOf(e.ref.current)-t.indexOf(r.ref.current))},[n.collectionRef,n.itemMap])}return k.displayName=h,a(S,"useCollection"),[{Provider:f,Slot:g,ItemSlot:k},S,u]}a(s,"createCollection");var u=new WeakMap,c=class e extends Map{static{a(this,"OrderedDict")}#e;constructor(e){super(e),this.#e=[...super.keys()],u.set(this,!0)}set(e,t){return u.get(this)&&(this.has(e)?this.#e[this.#e.indexOf(e)]=e:this.#e.push(e)),super.set(e,t),this}insert(e,t,r){let n,o=this.has(t),i=this.#e.length,l=p(e),a=l>=0?l:i+l,s=a<0||a>=i?-1:a;if(s===this.size||o&&s===this.size-1||-1===s)return this.set(t,r),this;let u=this.size+ +!o;l<0&&a++;let c=[...this.#e],d=!1;for(let e=a;e<u;e++)if(a===e){let i=c[e];c[e]===t&&(i=c[e+1]),o&&this.delete(t),n=this.get(i),this.set(t,r)}else{d||c[e-1]!==t||(d=!0);let r=c[d?e:e-1],o=n;n=this.get(r),this.delete(r),this.set(r,o)}return this}with(t,r,n){let o=new e(this);return o.insert(t,r,n),o}before(e){let t=this.#e.indexOf(e)-1;if(!(t<0))return this.entryAt(t)}setBefore(e,t,r){let n=this.#e.indexOf(e);return -1===n?this:this.insert(n,t,r)}after(e){let t=this.#e.indexOf(e);if(-1!==(t=-1===t||t===this.size-1?-1:t+1))return this.entryAt(t)}setAfter(e,t,r){let n=this.#e.indexOf(e);return -1===n?this:this.insert(n+1,t,r)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return this.#e=[],super.clear()}delete(e){let t=super.delete(e);return t&&this.#e.splice(this.#e.indexOf(e),1),t}deleteAt(e){let t=this.keyAt(e);return void 0!==t&&this.delete(t)}at(e){let t=d(this.#e,e);if(void 0!==t)return this.get(t)}entryAt(e){let t=d(this.#e,e);if(void 0!==t)return[t,this.get(t)]}indexOf(e){return this.#e.indexOf(e)}keyAt(e){return d(this.#e,e)}from(e,t){let r=this.indexOf(e);if(-1===r)return;let n=r+t;return n<0&&(n=0),n>=this.size&&(n=this.size-1),this.at(n)}keyFrom(e,t){let r=this.indexOf(e);if(-1===r)return;let n=r+t;return n<0&&(n=0),n>=this.size&&(n=this.size-1),this.keyAt(n)}find(e,t){let r=0;for(let n of this){if(Reflect.apply(e,t,[n,r,this]))return n;r++}}findIndex(e,t){let r=0;for(let n of this){if(Reflect.apply(e,t,[n,r,this]))return r;r++}return -1}filter(t,r){let n=[],o=0;for(let e of this)Reflect.apply(t,r,[e,o,this])&&n.push(e),o++;return new e(n)}map(t,r){let n=[],o=0;for(let e of this)n.push([e[0],Reflect.apply(t,r,[e,o,this])]),o++;return new e(n)}reduce(...e){let[t,r]=e,n=0,o=r??this.at(0);for(let r of this)o=0===n&&1===e.length?r:Reflect.apply(t,this,[o,r,n,this]),n++;return o}reduceRight(...e){let[t,r]=e,n=r??this.at(-1);for(let r=this.size-1;r>=0;r--){let o=this.at(r);n=r===this.size-1&&1===e.length?o:Reflect.apply(t,this,[n,o,r,this])}return n}toSorted(t){return new e([...this.entries()].sort(t))}toReversed(){let t=new e;for(let e=this.size-1;e>=0;e--){let r=this.keyAt(e),n=this.get(r);t.set(r,n)}return t}toSpliced(...t){let r=[...this.entries()];return r.splice(...t),new e(r)}slice(t,r){let n=new e,o=this.size-1;if(void 0===t)return n;t<0&&(t+=this.size),void 0!==r&&r>0&&(o=r-1);for(let e=t;e<=o;e++){let t=this.keyAt(e),r=this.get(t);n.set(t,r)}return n}every(e,t){let r=0;for(let n of this){if(!Reflect.apply(e,t,[n,r,this]))return!1;r++}return!0}some(e,t){let r=0;for(let n of this){if(Reflect.apply(e,t,[n,r,this]))return!0;r++}return!1}};function d(e,t){if("at"in Array.prototype)return Array.prototype.at.call(e,t);let r=f(e,t);return -1===r?void 0:e[r]}function f(e,t){let r=e.length,n=p(t),o=n>=0?n:r+n;return o<0||o>=r?-1:o}function p(e){return e!=e||0===e?0:Math.trunc(e)}function m(e,t){if(e===t)return!0;
1if("object"!=typeof e||"object"!=typeof t||null==e||null==t)return!1;let r=Object.keys(e),n=Object.keys(t);if(r.length!==n.length)return!1;for(let n of r)if(!Object.prototype.hasOwnProperty.call(t,n)||e[n]!==t[n])return!1;return!0}function g(e,t){return!!(t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_PRECEDING)}function h(e,t){return e[1].element&&t[1].element?g(e[1].element,t[1].element)?-1:1:0}function y(e){return new MutationObserver(t=>{for(let r of t)if("childList"===r.type)return void e()})}a(d,"at"),a(f,"toSafeIndex"),a(p,"toSafeInteger"),a(function(e){let l=e+"CollectionProvider",[s,u]=(0,r.createContextScope)(l),[d,f]=s(l,{collectionElement:null,collectionRef:{current:null},collectionRefObject:{current:null},itemMap:new c,setItemMap:a(()=>void 0,"setItemMap")}),p=a(({state:e,...t})=>e?(0,i.jsx)(b,{...t,state:e}):(0,i.jsx)(g,{...t}),"CollectionProvider");p.displayName=l;let g=a(e=>{let t=O();return(0,i.jsx)(b,{...e,state:t})},"CollectionInit");g.displayName=l+"Init";let b=a(e=>{let{scope:r,children:o,state:l}=e,a=t.useRef(null),[s,u]=t.useState(null),c=(0,n.useComposedRefs)(a,u),[f,p]=l;return t.useEffect(()=>{if(!s)return;let e=y(()=>{});return e.observe(s,{childList:!0,subtree:!0}),()=>{e.disconnect()}},[s]),(0,i.jsx)(d,{scope:r,itemMap:f,setItemMap:p,collectionRef:c,collectionRefObject:a,collectionElement:s,children:o})},"CollectionProviderImpl");b.displayName=l+"Impl";let k=e+"CollectionSlot",S=(0,o.createSlot)(k),P=t.forwardRef((e,t)=>{let{scope:r,children:o}=e,l=f(k,r),a=(0,n.useComposedRefs)(t,l.collectionRef);return(0,i.jsx)(S,{ref:a,children:o})});P.displayName=k;let v=e+"CollectionItemSlot",E=(0,o.createSlot)(v),D=t.forwardRef((e,r)=>{let{scope:o,children:l,...a}=e,s=t.useRef(null),[u,d]=t.useState(null),p=(0,n.useComposedRefs)(r,s,d),{setItemMap:g}=f(v,o),y=t.useRef(a);m(y.current,a)||(y.current=a);let b=y.current;return t.useEffect(()=>(g(e=>u?e.has(u)?e.set(u,{...b,element:u}).toSorted(h):(e.set(u,{...b,element:u}),e.toSorted(h)):e),()=>{g(e=>u&&e.has(u)?(e.delete(u),new c(e)):e)}),[u,b,g]),(0,i.jsx)(E,{"data-radix-collection-item":"",ref:p,children:l})});function O(){return t.useState(new c)}function I(t){let{itemMap:r}=f(e+"CollectionConsumer",t);return r}return D.displayName=v,a(O,"useInitCollection"),a(I,"useCollection"),[{Provider:p,Slot:P,ItemSlot:D},{createCollectionScope:u,useCollection:I,useInitCollection:O}]},"createCollection"),a(m,"shallowEqual"),a(g,"isElementPreceding"),a(h,"sortByDocumentPosition"),a(y,"getChildListObserver"),e.s(["createCollection",0,s],75830);var b=Object.defineProperty,k=t.createContext(void 0);function S(e){let r=t.useContext(k);return e||r||"ltr"}b(S,"name",{value:"useDirection",configurable:!0}),e.s(["useDirection",0,S],86318)},78784,78745,e=>{"use strict";let t=(0,e.i(75254).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);e.s(["default",0,t],78745),e.s(["CheckIcon",0,t],78784)},37727,e=>{"use strict";var t=e.i(41947);e.s(["X",()=>t.default])},22016,(e,t,r)=>{"use strict";e.i(47167),Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return y},useLinkStatus:function(){return k}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let i=e.r(90809),l=e.r(43476),a=i._(e.r(71645)),s=e.r(95057),u=e.r(8372),c=e.r(18581),d=e.r(18967),f=e.r(5550),p=e.r(88540),m=e.r(91949),g=e.r(73668),h=e.r(9396);function y(t){var r;let n,o,i,[y,k]=(0,a.useOptimistic)(m.IDLE_LINK_STATUS),S=(0,a.useRef)(null),{href:P,as:v,children:E,prefetch:D=null,passHref:O,replace:I,shallow:C,scroll:B,onClick:_,onMouseEnter:R,onTouchStart:A,legacyBehavior:N=!1,onNavigate:L,transitionTypes:w,ref:F,unstable_dynamicOnHover:x,...T}=t;n=E,N&&("string"==typeof n||"number"==typeof n)&&(n=(0,l.jsx)("a",{children:n}));let M=a.default.useContext(u.AppRouterContext),U=!1!==D,j=!1===D?"none":!0===D?"full":"auto",z="none"!==j?"auto"===j?h.FetchStrategy.PPR:h.FetchStrategy.Full:h.FetchStrategy.PPR,G="string"==typeof(r=v||P)?r:(0,s.formatUrl)(r);if(N){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>
1` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});o=a.default.Children.only(n)}let $=N?o&&"object"==typeof o&&o.ref:F,W,H=a.default.useCallback(e=>(null!==M&&(S.current=(0,m.mountLinkInstance)(e,G,M,z,U,k,W)),()=>{S.current&&((0,m.unmountLinkForCurrentNavigation)(S.current),S.current=null),(0,m.unmountPrefetchableInstance)(e)}),[U,G,M,z,k,W]),K={ref:(0,c.useMergedRef)(H,$),onClick(t){N||"function"!=typeof _||_(t),N&&o.props&&"function"==typeof o.props.onClick&&o.props.onClick(t),!M||t.defaultPrevented||function(t,r,n,o,i,l,s,u="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,g.isLocalURL)(r)){o&&(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);a.default.startTransition(()=>{f(r,o?"replace":"push",!1===i?p.ScrollBehavior.NoScroll:p.ScrollBehavior.Default,n.current,s,u)})}}(t,G,S,I,B,L,w,j)},onMouseEnter(e){N||"function"!=typeof R||R(e),N&&o.props&&"function"==typeof o.props.onMouseEnter&&o.props.onMouseEnter(e),M&&U&&(0,m.onNavigationIntent)(e.currentTarget,!0===x)},onTouchStart:function(e){N||"function"!=typeof A||A(e),N&&o.props&&"function"==typeof o.props.onTouchStart&&o.props.onTouchStart(e),M&&U&&(0,m.onNavigationIntent)(e.currentTarget,!0===x)}};return(0,d.isAbsoluteUrl)(G)?K.href=G:N&&!O&&("a"!==o.type||"href"in o.props)||(K.href=(0,f.addBasePath)(G)),i=N?a.default.cloneElement(o,K):(0,l.jsx)("a",{...T,...K,children:n}),(0,l.jsx)(b.Provider,{value:y,children:i})}let b=(0,a.createContext)(m.IDLE_LINK_STATUS),k=()=>(0,a.useContext)(b);("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)},73668,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return i}});let n=e.r(18967),o=e.r(52817);function i(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,o.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 i},urlQueryToSearchParams:function(){return a}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});function i(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 a(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,...t){for(let r of t){for(let t of r.keys())e.delete(t);for(let[t,n]of r.entries())e.append(t,n)}return e}},95057,(e,t,r)=>{"use strict";e.i(47167),Object.defineProperty(r,"__esModule",{value:!0});var n={formatUrl:function(){return a},formatWithValidation:function(){return u},urlObjectKeys:function(){return s}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let i=e.r(90809)._(e.r(98183)),l=/https?|ftp|gopher|file/;function a(e){let{auth:t,hostname:r}=e,n=e.protocol||"",o=e.pathname||"",a=e.hash||"",s=e.query||"",u=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?u=t+e.host:r&&(u=t+(~r.indexOf(":")?`[${r}]`:r),e.port&&(u+=":"+e.port)),s&&"object"==typeof s&&(s=String(i.urlQueryToSearchParams(s)));let c=e.search||s&&`?${s}`||"";return n&&!n.endsWith(":")&&(n+=":"),e.slashes||(!n||l.test(n))&&!1!==u?(u="//"+(u||""),o&&"/"!==o[0]&&(o="/"+o)):u||(u=""),a&&"#"!==a[0]&&(a="#"+a),c&&"?"!==c[0]&&(c="?"+c),o=o.replace(/[?#]/g,encodeURIComponent),c=c.replace("#","%23"),`${n}${u}${o}${c}${a}`}let s=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function u(e){return a(e)}},18967,(e,t,r)=>{"use strict";
1e.i(47167),Object.defineProperty(r,"__esModule",{value:!0});var n={DecodeError:function(){return y},MiddlewareNotFoundError:function(){return P},MissingStaticPage:function(){return S},NormalizeError:function(){return b},PageNotFoundError:function(){return k},SP:function(){return g},ST:function(){return h},WEB_VITALS:function(){return i},execOnce:function(){return l},getDisplayName:function(){return d},getLocationOrigin:function(){return u},getURL:function(){return c},isAbsoluteUrl:function(){return s},isResSent:function(){return f},loadGetInitialProps:function(){return m},normalizeRepeatedSlashes:function(){return p},stringifyError:function(){return v}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let i=["CLS","FCP","FID","INP","LCP","TTFB"];function l(e){let t,r=!1;return(...n)=>(r||(r=!0,t=e(...n)),t)}let a=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,s=e=>{let t=e.charCodeAt(0);return!!(t>=65&&t<=90||t>=97&&t<=122)&&a.test(e)};function u(){let{protocol:e,hostname:t,port:r}=window.location;return`${e}//${t}${r?":"+r:""}`}function c(){let{href:e}=window.location,t=u();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 m(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await m(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 g="u">typeof performance,h=g&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class y extends Error{}class b extends Error{}class k extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class S extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class P extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function v(e){return JSON.stringify({message:e.message,stack:e.stack})}},92592,44225,e=>{"use strict";let t={en:"en-GB",de:"de-DE",es:"es-ES",zh:"zh-CN",tr:"tr-TR"};function r(...e){for(let t of e)if(null!=t){if("number"==typeof t&&Number.isFinite(t))return t;if(""!==t){let e=Number(t);if(Number.isFinite(e))return e}}}e.s(["BOOKING_FORM_DATE_LOCALE_BY_APP",0,t],44225);let n=[{title:"Booking Summary",desc:"Enter your personal details so we know who you are and how to contact you."},{title:"ID Verification",desc:"Verify your identity securely via our partner PXL â All you need is your ID or passport for verification."},{title:"Personal Details",desc:"Complete your profile, emergency contact, and declarations."},{title:"Document upload",desc:"Upload enrolment proof and any other required documents."},{title:"Sign Contract",desc:"Review and sign your tenancy agreement electronically."},{title:"Prepayment",desc:"Confirm your booking by paying the service fee and deposit."}];function o(e){let t=Math.trunc(Number(e));return Number.isFinite(t)?Math.min(4,Math.max(1,t)):1}function i(e){return!!e&&("verified"===e.verificationStatus||void 0===e.verificationStatus&&"boolean"==typeof e.verified&&!0===e.verified)}e.s(["BOOKING_FLOW_STEP_MAX",0,4,"BOOKING_ONE_TIME_TOTAL_FACTOR",0,.94,"BOOKING_SIX_MONTH_TOTAL_FACTOR",0,.97,"bookingDetailIdentityVerificationFailed",0,function(e){return e?.verificationStatus==="failed"},"bookingDetailIsIdentityVerified",0,i,"bookingServerStepToUrlStep",0,function(e){if(null==e)return 1;let t=Math.trunc(Number(e));return!Number.isFinite(t)||t<0||0===t?1:t>4?o(4):o(t)},"clampBookingFlowStep",0,o,"formatBookingDate",0,function(e,r){if(!e)return"â";let n=new Date(e);return Number.isNaN(n.getTime())?e:n.toLocaleDateString(t[r]??"en-GB",{day:"numeric",month:"short",year:"numeric"})},"formatBookingEur",0,function(e,r){let n=t[r]??"de-DE",o=2*(Math.round(100*e)%100!=0);return new Intl.NumberFormat(n,{style:"currency",currency:"EUR",minimumFractionDigits:o,maximumFractionDigits:o}).format(e)},"getSessionExpiredMessage",0,function(e,t){return e?t?.sessionExpiredMessageAuth??"Your room reservation has expired. Your details are saved â please select a room again.":t?.sessionExpiredMessageGuest??"Your booking session has expired. Please select a room again."}
1,"maxBookingFlowStepForDetail",0,function(e){if(!e)return null;let t=Math.trunc(Number(e.currentStep)),r=!Number.isFinite(t)||t<1?1:t>4?4:t;return i(e)?Math.max(r,3):r},"normalizePathwaySteps",0,function(e){return e?.length&&e.length>=6?e.slice(0,6):[...n]},"resolveRoomDetailsFromBookingDetail",0,function(e){if(!e)return{};let t=e.room&&"object"==typeof e.room&&!Array.isArray(e.room)?e.room:null,n=t?.location&&"object"==typeof t.location&&!Array.isArray(t.location)?t.location:null,o=t?.rate&&"object"==typeof t.rate&&!Array.isArray(t.rate)?t.rate:t?.roomRate&&"object"==typeof t.roomRate&&!Array.isArray(t.roomRate)?t.roomRate:null,i=e.term&&"object"==typeof e.term&&!Array.isArray(e.term)?e.term:t?.term&&"object"==typeof t.term&&!Array.isArray(t.term)?t.term:null,l=(...e)=>{for(let t of e)if("string"==typeof t&&t.trim())return t.trim();return""},a=(...e)=>{for(let t of e){if("number"==typeof t&&Number.isFinite(t))return t;let e=Number(t);if(Number.isFinite(e)&&e>0)return e}return 0},s=(e,t,r=4)=>{let n=[],o=new WeakSet,i=(e,l)=>{if(!(l>r)&&e&&"object"==typeof e){if(Array.isArray(e)){for(let t of e)i(t,l+1);return}if(!o.has(e)){for(let r of(o.add(e),t))r in e&&n.push(e[r]);for(let t of Object.values(e))i(t,l+1)}}};return i(e,0),n},u=l(e.locationName,e.roomLocationName,t?.locationName,t?.name,t?.roomLocationName,n?.name,n?.title,n?.locationName,...s(e,["locationName","roomLocationName"])),c=l(e.roomDisplayName,e.roomName,e.roomTitle,t?.roomDisplayName,t?.displayName,t?.name,t?.title,t?.roomName,t?.typeName,t?.roomTypeName,t?.roomType,t?.label,...s(e,["roomDisplayName","roomName","displayName","title","label"])),d=l(e.arrivalDate,e.termStartDate,t?.arrivalDate,t?.termStartDate,i?.startDate,i?.termStartDate,i?.from,...s(e,["arrivalDate","termStartDate","startDate","from"])),f=l(e.departureDate,e.termEndDate,t?.departureDate,t?.termEndDate,i?.endDate,i?.termEndDate,i?.to,...s(e,["departureDate","termEndDate","endDate","to"])),p=a(e.pricePerMonth,e.monthlyRate,e.monthlyPrice,e.rentPerMonth,e.roomRate,t?.pricePerMonth,t?.monthlyRate,t?.monthlyPrice,t?.rentPerMonth,t?.roomRate,t?.price,o?.pricePerMonth,o?.monthlyRate,o?.monthlyPrice,o?.rate,o?.price,...s(e,["pricePerMonth","monthlyRate","monthlyPrice","roomRate","price"])),m=l(e.roomLocationSlug,e.locationSlug,t?.roomLocationSlug,t?.locationSlug,n?.slug,n?.locationSlug,...s(e,["roomLocationSlug","locationSlug","slug"])),g="string"==typeof t?.energyCertificateLink&&t.energyCertificateLink?t.energyCertificateLink:void 0,h=r(t?.serviceFee),y=r(t?.discountedPricePerMonth),b=r(t?.depositFee),k=r(t?.cleaningFeeAtMovingOut),S=a(t?.parkingPrice,t?.parking_price,t?.parkingFee),P=Number.isFinite(S)&&S>0?S:void 0,v=a(t?.basementUnitPrice,t?.basement_unit_price),E=Number.isFinite(v)&&v>0?v:void 0,D=a(t?.basementUnitsAvailable,t?.basement_units_available),O=Number.isFinite(D)&&D>=0?D:void 0,I=a(t?.communityFee,t?.community_fee),C=Number.isFinite(I)&&I>0?I:void 0,B=t?.garentiiDepositEnabled===!0||t?.garentii_deposit_enabled===!0;return{roomId:"string"==typeof t?.roomId?t.roomId.trim()||void 0:"number"==typeof t?.roomId?String(t.roomId):void 0,locationName:u,roomDisplayName:c,arrivalDate:d,departureDate:f,pricePerMonth:Number.isFinite(p)&&p>0?p:void 0,discountedPricePerMonth:y??null,roomLocationSlug:m,energyCertificateLink:g,serviceFee:h,depositFee:b,cleaningFeeAtMovingOut:k,parkingPrice:P,basementUnitPrice:E,basementUnitsAvailable:O,communityFee:C,garentiiDepositEnabled:B,isPromoted:t?.isPromoted===!0}},"toAbsoluteRedirectUrl",0,function(e){let t=(e??"").trim();if(!t||/^https?:\/\//i.test(t))return t;if(t.startsWith("//"))return`${window.location.protocol}${t}`;try{return new URL(t,window.location.origin).href}catch{return t}}],92592)},53347,e=>{"use strict";var t=e.i(68834),r=e.i(81949);e.i(84447);var n=e.i(97290),o=e.i(92592),i=e.i(56185);let l="Verification not completed yet. Please try again shortly.",a="Identity verification was not completed successfully.",s={bookingDetail:null,bookingDetailLoading:!1,bookingDetailError:null,personalDetails:null,uploadedDocuments:null,verificationUrl:null,transactionCode:null,reservationPortalUrl:null,bookingFlowStep:1,roomHeldUntil:null,sessionExpiredPopup:!1,sessionExpiredMessage:null,expiryWarningOpen:!1,holdExtendCount:0},u={completeBookingDetail:null,completeBookingLoading:!1,completeBookingError:null},c={lookups:null,lookupsLoading:!1,lookupsError:null},d={...s,...u,...c,bookingSummary:null,bookingId:null},f=(0,t.create)((e,t)=>({...d,setBookingFlowStep:t=>{e({bookingFlowStep:(0,o.clampBookingFlowStep)(t)})},fetchBookingDetailById:async(t,s)=>{let u=s?.trackLoading===!0,c=s?.populateCompleteBookingDetail===!0;
1u&&e({bookingDetailLoading:!0,bookingDetailError:null}),c&&e({completeBookingLoading:!0,completeBookingError:null,completeBookingDetail:null});try{let r=await (0,i.fetchBookingById)(t.trim(),{success:s?.success});if(r.data){let t=(0,n.normalizeBookingDetailData)(r.data),o=(0,n.bookingStoredDocumentsToRegistrationMap)(t.documents);e(e=>({bookingDetail:t,roomHeldUntil:t.roomHeldUntil??null,holdExtendCount:t.holdExtendCount??0,...o?{uploadedDocuments:{...o,...e.uploadedDocuments}}:{}}))}if(c&&(r.status&&r.data?e({completeBookingDetail:r.data,completeBookingLoading:!1,completeBookingError:null}):e({completeBookingError:r.message??"Booking could not be confirmed after identity check.",completeBookingDetail:null,completeBookingLoading:!1})),u){let t,n=r.data,i=!!(n&&(0,o.bookingDetailIsIdentityVerified)(n)),u=!!(n&&(0,o.bookingDetailIdentityVerificationFailed)(n));t=r.status&&i?null:r.status&&u?r.message&&r.message.trim()||s?.verificationFailedHint||a:r.status?r.message&&r.message.trim()||s?.verificationPendingHint||l:r.message&&r.message.trim()||(u?s?.verificationFailedHint||a:s?.verificationPendingHint||l)||s?.bookingLoadErrorFallback||null,e({bookingDetailLoading:!1,bookingDetailError:t})}return r}catch(o){let n=(0,i.getBookingFetchErrorMessage)(o);
1return r.default.isAxiosError(o)&&(o.response?.status===410||o.response?.status===404)&&e(e=>e.bookingId?.trim()!==t.trim()?{}:{sessionExpiredPopup:!0,sessionExpiredMessage:o.response?.data?.message??null}),c&&e({completeBookingError:n,completeBookingDetail:null,completeBookingLoading:!1}),u&&e({bookingDetailLoading:!1,bookingDetailError:s?.bookingLoadErrorFallback??n}),{status:!1,message:n}}},setBookingSummary:t=>{e({bookingSummary:t})},setPersonalDetails:t=>{e({personalDetails:t})},setUploadedDocuments:t=>{e({uploadedDocuments:t})},setBookingId:t=>{e({bookingId:t?.trim()||null})},setVerificationUrl:t=>{e({verificationUrl:t?.trim()||null})},setTransactionCode:t=>{e({transactionCode:t?.trim()||null})},clearBookingSession:()=>e({...s,bookingId:null}),clearBookingSummary:()=>{e({bookingSummary:null})},clearPersonalDetails:()=>{e({personalDetails:null})},clearUploadedDocuments:()=>{e({uploadedDocuments:null})},createBooking:async e=>(0,i.createBookingAPI)(e),saveBookingUserInfo:async(e,r)=>{let n=await (0,i.saveBookingUserInfoAPI)(e,r);return await t().fetchBookingDetailById(e.trim()),n},saveBookingRegistrationDetails:async(e,r)=>{let n=await (0,i.saveBookingRegistrationDetailsAPI)(e,r);return await t().fetchBookingDetailById(e.trim()),n},submitBookingToStarRez:async(t,r)=>{let n=await (0,i.submitBookingToStarRezAPI)(t,r),o=n.data.URL?.trim();return o&&e({reservationPortalUrl:o}),n},uploadBookingDocument:async(t,r,n)=>{let o=await (0,i.uploadStarRezDocumentAPI)(t,r,n);return e(e=>({uploadedDocuments:{...e.uploadedDocuments??{},[n]:o}})),o},removeBookingDocument:async(t,r)=>{await (0,i.deleteStarRezDocumentAPI)(t,r),e(e=>{let t=e.uploadedDocuments;if(!t?.[r])return{};let n={...t};delete n[r];let o=Object.keys(n).length?n:null,i=e.bookingDetail,l=i;if(i?.documents?.length){let e=i.documents.filter(e=>(e.type??"").trim()!==r);e.length!==i.documents.length&&(l={...i,documents:e})}return{uploadedDocuments:o,bookingDetail:l}})},uploadProfilePicture:async(t,r)=>{let n=await (0,i.uploadProfilePictureAPI)(t,r);return e(e=>({bookingDetail:e.bookingDetail?{...e.bookingDetail,profilePicture:n}:e.bookingDetail})),n},fetchBookingLookups:async()=>{e({lookupsLoading:!0,lookupsError:null});try{let t=await (0,i.getBookingLookupsAPI)();e({lookups:t,lookupsLoading:!1,lookupsError:null})}catch(t){e({lookupsLoading:!1,lookupsError:(0,i.getBookingMutationErrorMessage)(t)})}},clearCompleteBookingDetail:()=>e(u),clearBookingLookups:()=>e(c),updateBookingStep:async(e,r)=>{await (0,i.updateBookingCurrentStep)(e,r),await t().fetchBookingDetailById(e.trim())},updateBookingPreferences:async(e,t)=>{await (0,i.updateBookingPreferencesAPI)(e,t)},setRoomHeldUntil:t=>{e({roomHeldUntil:t})},extendBookingSession:async()=>{let{bookingId:r,holdExtendCount:n}=t();if(!r||n>=2)return;let{roomHeldUntil:o,holdExtendCount:l}=await (0,i.extendBookingHoldAPI)(r);e({roomHeldUntil:o,holdExtendCount:l})},showSessionExpiredPopup:t=>{e({sessionExpiredPopup:!0,sessionExpiredMessage:t})},dismissSessionExpiredPopup:()=>{e({sessionExpiredPopup:!1,sessionExpiredMessage:null})},showExpiryWarningPopup:()=>{e({expiryWarningOpen:!0})},dismissExpiryWarningPopup:()=>{e({expiryWarningOpen:!1})}}));e.s(["useBookingStore",0,f])},24612,42655,e=>{"use strict";var t=e.i(68834),r=e.i(81949),n=e.i(51);let o=["berlin-clay","berlin-oak","berlin-yard","berlin-yard-2","dresden-south1","dresden-north1","stuttgart-urban","stuttgart-central"],i={"berlin-clay":"berlin-oak","berlin-oak":"berlin-clay","berlin-yard":"berlin-yard-2","berlin-yard-2":"berlin-yard","dresden-south1":"dresden-north1","dresden-north1":"dresden-south1","stuttgart-urban":"stuttgart-central","stuttgart-central":"stuttgart-urban"},l=["berlin","stuttgart","dresden"],a={berlin:["berlin-clay","berlin-oak","berlin-yard","berlin-yard-2"],stuttgart:["stuttgart-central","stuttgart-urban"],dresden:["dresden-north1","dresden-south1"]};function s(e){return l.includes(e?.toLowerCase())}async function u(e){let t=s(e)?a[e.toLowerCase()]?.join(",")??e:e,r=`/room/filters?locations=${encodeURIComponent(t)}`,{data:o}=await n.apiClient.get(r);if(o?.status===!1)throw Error(o.message??"Failed to fetch filters");let i=o.data;return{sizes:i.sizes,occupancies:i.occupancies,features:i.features,livingStyles:i.livingStyles,terms:i.terms,genders:i.genders?.map(e=>
1({value:e.value,name:e.name,title:e.title,description:e.description,frontImage:e.frontImage,backImage:e.backImage,backText:e.backText}))??[]}}e.s(["FULL_PAYMENT_DISABLED_LOCATION_SLUGS",0,["ludwigsburg","halle"],"GENDER_REQUIRED_LOCATIONS",0,["Bochum","Ludwigsburg"],"GENDER_REQUIRED_LOCATION_SLUGS",0,["bochum","ludwigsburg"],"GROUPED_LOCATION_SLUG_TO_NAME",0,{"berlin-clay":"Berlin Clay","berlin-oak":"Berlin Oak","berlin-yard":"Berlin Yard","berlin-yard-2":"Berlin Yard II","stuttgart-central":"Stuttgart Central","stuttgart-urban":"Stuttgart Urban","dresden-north1":"Dresden North","dresden-south1":"Dresden South"},"GROUPED_PAGE_DISPLAY_NAMES",0,{berlin:"Berlin",stuttgart:"Stuttgart",dresden:"Dresden"},"GROUPED_PAGE_SLUGS",0,l,"GROUP_SLUG_TO_LOCATION_SLUGS",0,a,"LOCATIONS_WITH_OPTIONAL_FEATURES",0,["Pamplona","Bonn","Berlin Clay","Berlin Yard","Berlin Yard II","Bochum","Bremen","Dresden North","Dresden South","Essen","Kiel","Ludwigsburg","Stuttgart Central","Stuttgart Urban","Frankfurt"],"LOCATION_SLUG_PARTS_WITH_AGENCY_FIELD",0,["berlin-clay","berlin-oak","berlin-yard","berlin-yard-2","bochum","bonn","bremen","dresden-north1","dresden-south1","essen","halle","kiel","munich","ludwigsburg","stuttgart-central","stuttgart-urban","frankfurt"],"LOCATION_SLUG_PARTS_WITH_PROMO_FIELD",0,["pamplona"],"ROOM_LOCATION_TO_SLUG",0,{"Berlin Clay":"berlin-clay","Berlin Oak":"berlin-oak","Berlin Yard":"berlin-yard","Berlin Yard II":"berlin-yard-2","Dresden North":"dresden-north1","Dresden South":"dresden-south1","Stuttgart Central":"stuttgart-central","Stuttgart Urban":"stuttgart-urban"},"TERM_EXEMPT_LOCATIONS",0,["Bremen","Pamplona"],"TWO_INSTALLMENTS_DISABLED_LOCATION_SLUGS",0,["ludwigsburg","halle"],"getPartnerLocationSlug",0,function(e){return i[e.toLowerCase()]||""},"isGroupedPage",0,s,"shouldShowHaventFoundRoomCard",0,function(e){return o.includes(e.toLowerCase())}],42655);let c={filterOptions:{sizes:[],occupancies:[],features:[],livingStyles:[],terms:[],genders:[]},selectedFilters:{gender:"",term:"",livingStyle:[],occupancy:[],feature:[],size:[],termStartDate:"",termEndDate:"",sort:"price-low",budget:"",locations:[]},loading:!1,error:null,showPercentageBadge:!1},d=(0,t.create)((e,t)=>({...c,fetchFilterOptions:async({roomLocationSlug:t})=>{e({loading:!0,error:null});try{let r=await u(t);e({filterOptions:r,loading:!1})}catch(t){e({error:r.default.isAxiosError(t)&&t.response?.data?.message?t.response.data.message:`Failed to fetch filters: ${t}`,loading:!1})}},trackFilterEvent:(e,t,r,n)=>{let o={event_category:"filter",filter_type:e,filter_name:t,filter_value:r};n&&(o.location_name=n.locationName,o.location_slug=n.locationSlug)},setSelectedFilter:(t,r)=>{e(e=>({selectedFilters:{...e.selectedFilters,[t]:r},showPercentageBadge:!1}))},clearAllFilters:()=>{t().trackFilterEvent("all","Clear All","clear"),e({selectedFilters:{...c.selectedFilters,termLocations:void 0}})},resetFilters:()=>{e({selectedFilters:c.selectedFilters})},clearFiltersExceptGenderAndTerm:()=>{t().trackFilterEvent("partial","Clear Filters Except Gender and Term","clear"),e(e=>({selectedFilters:{...e.selectedFilters,livingStyle:c.selectedFilters.livingStyle,size:c.selectedFilters.size,feature:c.selectedFilters.feature,sort:c.selectedFilters.sort,budget:c.selectedFilters.budget,locations:c.selectedFilters.locations}}))},setSort:t=>{e(e=>({selectedFilters:{...e.selectedFilters,sort:t}}))},setShowPercentageBadge:t=>{e({showPercentageBadge:t})},hidePercentageBadge:()=>{e({showPercentageBadge:!1})}}));e.s(["useFilterStore",0,d],24612)}]);
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.