1;!function(){try { var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof global?global:"undefined"!=typeof window?window:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&((e._debugIds|| (e._debugIds={}))[n]="3a8a2d07-2de8-099c-8eeb-71dc76204339")}catch(e){}}(); 2(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,591249,e=>{"use strict";function t(){return"https://api.findsnug.com".replace(/\/+$/,"")}e.s(["publicApiBaseUrl",()=>t])},846605,(e,t,n)=>{"use strict";function r(e,t){let{totalPrice:n,serviceFee:r,hostFeeRateSnapshot:i}=e,o=(e,n,r)=>n>0||e<=0?n:Math.round(e*(r??t)),a=e.refundAmount,u=Math.max(0,n-(a??0)),s=null!=a?u>0?Math.min(u,o(u,0,i)):0:o(n,r,i);return{guestRefundAmount:a,serviceFee:s,hostSettlement:Math.max(0,u-s)}}Object.defineProperty(n,"__esModule",{value:!0}),n.resolveSettlementAmounts=r,n.legacySettlementWithoutRefund=function(e,t){return e-t},n.settlementDiscrepancy=function(e,t){let n=r(e,t).hostSettlement,i=e.totalPrice-e.serviceFee;return{correct:n,legacy:i,difference:i-n}}},737411,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0})},370642,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.BED_COUNT_KEYS=n.REFUND_POLICY_PRESETS=n.GENDER_RULES=n.USAGE_TYPES=n.BUILDING_TYPES=n.ACCOMMODATION_TYPES=void 0,n.normalizeBedCounts=i,n.sumBedCounts=function(e){return Object.values(i(e)).reduce((e,t)=>e+(t??0),0)},n.ACCOMMODATION_TYPES=["ENTIRE","PRIVATE","SHARED"],n.BUILDING_TYPES=["APARTMENT","OFFICETEL","VILLA","HOUSE","URBAN_RESIDENTIAL","RESIDENCE","CO_LIVING","MICRO_HOUSING","HOTEL","MOTEL","HOSTEL","HANOK","PENSION","GUEST_HOUSE"],n.USAGE_TYPES=["STAY","SHORT_TERM"],n.GENDER_RULES=["MALE_ONLY","FEMALE_ONLY","PET_ALLOWED"],n.REFUND_POLICY_PRESETS=["VERY_STRICT","STRICT","FLEXIBLE","VERY_FLEXIBLE"],n.BED_COUNT_KEYS=["king","queen","double","single","superSingle","bunkBed","sofaBed"];let r={king:"king",queen:"queen",double:"double",single:"single",supersingle:"superSingle",bunk:"bunkBed",bunkbed:"bunkBed",sofa:"sofaBed",sofabed:"sofaBed"};function i(e){if(!e||"object"!=typeof e)return{};let t={};for(let[n,i]of Object.entries(e)){let e=r[n.toLowerCase().replace(/[_\s-]/g,"")];if(!e)continue;let o=Number(i);Number.isFinite(o)&&Number.isInteger(o)&&!(o<0)&&(t[e]=(t[e]??0)+o)}return t}},190861,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.AMENITIES=void 0,n.AMENITIES=["wifi","aircon","heating","washer","dryer","refrigerator","microwave","tv","desk","closet","bed","sofa","kitchen","bathroom_private","balcony","elevator","parking","security","cctv","intercom","pet_allowed","smoking_allowed"]},477172,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0})},220728,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.ContractStatus=void 0,n.ContractStatus={INQUIRY:"INQUIRY",PENDING:"PENDING",CONFIRMED:"CONFIRMED",CANCEL_REQUEST:"CANCEL_REQUEST",MOVE_IN_SCHEDULED:"MOVE_IN_SCHEDULED",CHECKIN_SOON:"CHECKIN_SOON",STAYING:"STAYING",CHECKOUT_SOON:"CHECKOUT_SOON",COMPLETED:"COMPLETED",REJECTED:"REJECTED",CANCELLED:"CANCELLED"}},962598,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.DEFAULT_CHAT_BANNED_KEYWORDS=n.CHAT_BANNED_KEYWORD_CATEGORIES=void 0,n.CHAT_BANNED_KEYWORD_CATEGORIES=["EXTERNAL_TRADE","PROHIBITED"],n.DEFAULT_CHAT_BANNED_KEYWORDS=["ê³ì¢","ê³ì¢ë²í¸","ì ê¸","ì¡ê¸","ì´ì²´","ì§ê±°ë","ì¹´ì¹´ì¤í¡","ì¹´í¡","í ë ê·¸ë¨","ìì±","ìì¸ ì±","telegram","whatsapp","wechat","kakao","paypal"].map(e=>({keyword:e,category:"EXTERNAL_TRADE",enabled:!0}))},837979,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0})},703765,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.NOTIFICATION_TYPE=void 0,n.NOTIFICATION_TYPE={CHAT:"CHAT",CONTRACT_PENDING:"CONTRACT_PENDING",CONTRACT_STATUS:"CONTRACT_STATUS",PAYMENT_COMPLETED:"PAYMENT_COMPLETED",PAYMENT_REFUND:"PAYMENT_REFUND"}},212649,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0})},289456,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0})},953726,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0})},388545,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.SEARCH_PLACE_TYPES=void 0,n.SEARCH_PLACE_TYPES=["SUBWAY_STATION","UNIVERSITY","ATTRACTION","COMMERCIAL_AREA","BEACH","LANDMARK","PARK","TRANSPORT_HUB","OTHER"]},499035,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}
2),n.ALL_ADMIN_PERMISSIONS=n.ADMIN_ROLE_PRESETS=n.ADMIN_NAV_PERMISSION=n.ADMIN_PAGE_PERMISSION=n.AdminPermission=void 0,n.hasPermission=function(e,t){return e.includes(t)},n.hasAnyPermission=function(e,t){return t.some(t=>e.includes(t))},n.AdminPermission={CHAT_ACCESS:"CHAT_ACCESS",ACCOMMODATIONS_VIEW:"ACCOMMODATIONS_VIEW",ACCOMMODATIONS_MANAGE:"ACCOMMODATIONS_MANAGE",INVITATIONS_VIEW:"INVITATIONS_VIEW",INVITATIONS_MANAGE:"INVITATIONS_MANAGE",USERS_VIEW:"USERS_VIEW",USERS_MANAGE:"USERS_MANAGE",CONTRACTS_VIEW:"CONTRACTS_VIEW",CONTRACTS_MANAGE:"CONTRACTS_MANAGE",PAYMENTS_VIEW:"PAYMENTS_VIEW",SETTLEMENTS_VIEW:"SETTLEMENTS_VIEW",SETTLEMENTS_MANAGE:"SETTLEMENTS_MANAGE",DISPUTES_VIEW:"DISPUTES_VIEW",DISPUTES_MANAGE:"DISPUTES_MANAGE",SETTINGS_VIEW:"SETTINGS_VIEW",SETTINGS_MANAGE:"SETTINGS_MANAGE",BANNERS_MANAGE:"BANNERS_MANAGE",POPULAR_SEARCHES_MANAGE:"POPULAR_SEARCHES_MANAGE",HOME_SECTIONS_VIEW:"HOME_SECTIONS_VIEW",HOME_SECTIONS_MANAGE:"HOME_SECTIONS_MANAGE",EXCHANGE_RATES_MANAGE:"EXCHANGE_RATES_MANAGE",ANALYTICS_VIEW:"ANALYTICS_VIEW",AUDIT_LOGS_VIEW:"AUDIT_LOGS_VIEW",NOTIFICATION_LOGS_VIEW:"NOTIFICATION_LOGS_VIEW",NOTIFICATION_LOGS_RESEND:"NOTIFICATION_LOGS_RESEND",GUIDE_VIEW:"GUIDE_VIEW",GUIDE_MANAGE:"GUIDE_MANAGE",NOTICES_MANAGE:"NOTICES_MANAGE",SALES_MANAGE:"SALES_MANAGE",ADMIN_MANAGE:"ADMIN_MANAGE"},n.ADMIN_PAGE_PERMISSION={chat:n.AdminPermission.CHAT_ACCESS,accommodations:n.AdminPermission.ACCOMMODATIONS_VIEW,invitations:n.AdminPermission.INVITATIONS_VIEW,users:n.AdminPermission.USERS_VIEW,contracts:n.AdminPermission.CONTRACTS_VIEW,disputes:n.AdminPermission.DISPUTES_VIEW,payments:n.AdminPermission.PAYMENTS_VIEW,settlements:n.AdminPermission.SETTLEMENTS_VIEW,analytics:n.AdminPermission.ANALYTICS_VIEW,"audit-logs":n.AdminPermission.AUDIT_LOGS_VIEW,"notification-logs":n.AdminPermission.NOTIFICATION_LOGS_VIEW,banners:n.AdminPermission.BANNERS_MANAGE,"popular-searches":n.AdminPermission.POPULAR_SEARCHES_MANAGE,"home-sections":n.AdminPermission.HOME_SECTIONS_VIEW,"home-featured":n.AdminPermission.HOME_SECTIONS_VIEW,settings:n.AdminPermission.SETTINGS_VIEW,"exchange-rates":n.AdminPermission.EXCHANGE_RATES_MANAGE,guide:n.AdminPermission.GUIDE_VIEW,notices:n.AdminPermission.NOTICES_MANAGE,permissions:n.AdminPermission.ADMIN_MANAGE},n.ADMIN_NAV_PERMISSION={"/admin":null,"/admin/analytics":n.AdminPermission.ANALYTICS_VIEW,"/admin/chat":n.AdminPermission.CHAT_ACCESS,"/admin/accommodations":n.AdminPermission.ACCOMMODATIONS_VIEW,"/admin/invitations":n.AdminPermission.INVITATIONS_VIEW,"/admin/users":n.AdminPermission.USERS_VIEW,"/admin/contracts":n.AdminPermission.CONTRACTS_VIEW,"/admin/disputes":n.AdminPermission.DISPUTES_VIEW,"/admin/permissions":n.AdminPermission.ADMIN_MANAGE,"/admin/payments":n.AdminPermission.PAYMENTS_VIEW,"/admin/settlements":n.AdminPermission.SETTLEMENTS_VIEW,"/admin/settings":n.AdminPermission.SETTINGS_VIEW,"/admin/refund-policy":n.AdminPermission.SETTINGS_VIEW,"/admin/exchange-rates":n.AdminPermission.EXCHANGE_RATES_MANAGE,"/admin/banners":n.AdminPermission.BANNERS_MANAGE,"/admin/popular-searches":n.AdminPermission.POPULAR_SEARCHES_MANAGE,"/admin/home-sections":n.AdminPermission.HOME_SECTIONS_VIEW,"/admin/home-featured":n.AdminPermission.HOME_SECTIONS_VIEW,"/admin/host-resources":n.AdminPermission.HOME_SECTIONS_VIEW,"/admin/audit-logs":n.AdminPermission.AUDIT_LOGS_VIEW,"/admin/notification-logs":n.AdminPermission.NOTIFICATION_LOGS_VIEW,"/admin/guide":n.AdminPermission.GUIDE_VIEW,"/admin/notices":n.AdminPermission.NOTICES_MANAGE},n.ADMIN_ROLE_PRESETS={SUPER_ADMIN:Object.values(n.AdminPermission),MANAGER:Object.values(n.AdminPermission).filter(e=>e!==n.AdminPermission.ADMIN_MANAGE&&e!==n.AdminPermission.EXCHANGE_RATES_MANAGE&&e!==n.AdminPermission.SETTINGS_MANAGE),OPERATOR:[n.AdminPermission.CHAT_ACCESS,n.AdminPermission.ACCOMMODATIONS_VIEW,n.AdminPermission.ACCOMMODATIONS_MANAGE,n.AdminPermission.INVITATIONS_VIEW,n.AdminPermission.INVITATIONS_MANAGE],CHAT_AGENT:[n.AdminPermission.CHAT_ACCESS]},n.ALL_ADMIN_PERMISSIONS=Object.values(n.AdminPermission)},492149,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.HomeSectionSlot=n.HomeSectionLayout=void 0,n.HomeSectionLayout={TILE_4COL:"TILE_4COL",PERSONA_CIRCLE:"PERSONA_CIRCLE",ROOM_ROW:"ROOM_ROW",PROMO_STRIP:"PROMO_STRIP",BANNER:"BANNER"},n.HomeSectionSlot={CATEGORY:"home.category",PERSONA:"home.persona",FEATURED:"home.featured",POPULAR:"home.popular",RECENT:"home.recent",BANNER_CAROUSEL:"home.banner-carousel",PROMO_STRIP_GUEST:"home.promo-strip.guest",PROMO_STRIP_HOST:"home.promo-strip.host"}},104527,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.HOME_FEATURED_LIMIT=n.HomeFeaturedSection=void 0,n.HomeFeaturedSection={RECENT:"RECENT",POPULAR:"POPULAR"},n.HOME_FEATURED_LIMIT=4},864712,(e,t,n)=>{"use strict";var r=e.e&&e.e.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);
2(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),i=e.e&&e.e.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||r(t,e,n)};Object.defineProperty(n,"__esModule",{value:!0}),i(e.r(737411),n),i(e.r(370642),n),i(e.r(190861),n),i(e.r(477172),n),i(e.r(220728),n),i(e.r(962598),n),i(e.r(837979),n),i(e.r(703765),n),i(e.r(212649),n),i(e.r(289456),n),i(e.r(953726),n),i(e.r(388545),n),i(e.r(499035),n),i(e.r(492149),n),i(e.r(104527),n)},328597,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.canTransitionContractStatus=a,n.allowedContractTransitions=u,n.canRequestContractCancellation=function(e){return a(e,r.ContractStatus.CANCEL_REQUEST)},n.isTerminalContractStatus=function(e){return 0===u(e).length};let r=e.r(864712),i={[r.ContractStatus.CONFIRMED]:[r.ContractStatus.CHECKIN_SOON,r.ContractStatus.STAYING,r.ContractStatus.CHECKOUT_SOON,r.ContractStatus.COMPLETED],[r.ContractStatus.MOVE_IN_SCHEDULED]:[r.ContractStatus.STAYING,r.ContractStatus.CHECKOUT_SOON,r.ContractStatus.COMPLETED],[r.ContractStatus.CHECKIN_SOON]:[r.ContractStatus.CHECKOUT_SOON,r.ContractStatus.COMPLETED],[r.ContractStatus.STAYING]:[r.ContractStatus.COMPLETED]},o={[r.ContractStatus.INQUIRY]:[r.ContractStatus.PENDING,r.ContractStatus.CANCELLED],[r.ContractStatus.PENDING]:[r.ContractStatus.MOVE_IN_SCHEDULED,r.ContractStatus.REJECTED,r.ContractStatus.CANCELLED,r.ContractStatus.CANCEL_REQUEST],[r.ContractStatus.CONFIRMED]:[r.ContractStatus.MOVE_IN_SCHEDULED,...i[r.ContractStatus.CONFIRMED]],[r.ContractStatus.CANCEL_REQUEST]:[r.ContractStatus.CANCELLED,r.ContractStatus.MOVE_IN_SCHEDULED,r.ContractStatus.CHECKIN_SOON,r.ContractStatus.STAYING],[r.ContractStatus.MOVE_IN_SCHEDULED]:[r.ContractStatus.CHECKIN_SOON,r.ContractStatus.CANCEL_REQUEST,...i[r.ContractStatus.MOVE_IN_SCHEDULED]],[r.ContractStatus.CHECKIN_SOON]:[r.ContractStatus.STAYING,r.ContractStatus.CANCEL_REQUEST,...i[r.ContractStatus.CHECKIN_SOON]],[r.ContractStatus.STAYING]:[r.ContractStatus.CHECKOUT_SOON,...i[r.ContractStatus.STAYING]],[r.ContractStatus.CHECKOUT_SOON]:[r.ContractStatus.COMPLETED],[r.ContractStatus.COMPLETED]:[],[r.ContractStatus.REJECTED]:[],[r.ContractStatus.CANCELLED]:[]};function a(e,t){return o[e]?.includes(t)??!1}function u(e){return o[e]??[]}},74004,(e,t,n)=>{"use strict";function r(e){return"number"==typeof e&&Number.isFinite(e)&&e>=0}function i(e){return r(e.contractSnapshot)?e.contractSnapshot:r(e.hostOverride)?e.hostOverride:r(e.activeVersionRatePercent)?e.activeVersionRatePercent/100:r(e.platformDefault)?e.platformDefault:n.FALLBACK_FEE_RATE}Object.defineProperty(n,"__esModule",{value:!0}),n.FALLBACK_FEE_RATE=void 0,n.resolveFeeRate=i,n.resolveEffectiveFeeRate=function(e){return i({...e,contractSnapshot:null})},n.FALLBACK_FEE_RATE=.1},466558,(e,t,n)=>{"use strict";function r(e){return(e??[]).some(e=>"SHORT_TERM"===String(e).toUpperCase())?"RENTAL":"STAY"}function i(e){if("string"==typeof e){let t=e.match(/^(\d{4})-(\d{2})-(\d{2})/);if(t)return new Date(Date.UTC(Number(t[1]),Number(t[2])-1,Number(t[3])));let n=new Date(e);return Number.isNaN(n.getTime())?n:new Date(Date.UTC(n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate()))}return new Date(Number.isNaN(e.getTime())?NaN:Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()))}function o(e){return"number"==typeof e&&e>=1?Math.floor(e):1}Object.defineProperty(n,"__esModule",{value:!0}),n.resolveBookingUsageKind=r,n.toCalendarDate=function(e){return[e.getUTCFullYear(),String(e.getUTCMonth()+1).padStart(2,"0"),String(e.getUTCDate()).padStart(2,"0")].join("-")},n.localCalendarDate=function(e){return[e.getFullYear(),String(e.getMonth()+1).padStart(2,"0"),String(e.getDate()).padStart(2,"0")].join("-")},n.buildBookingPeriod=function(e){if(!e.checkIn||!e.checkOut)return null;let t=i(e.checkIn),n=i(e.checkOut);if(Number.isNaN(t.getTime())||Number.isNaN(n.getTime()))return null;let o=Math.round((n.getTime()-t.getTime())/864e5),a=r(e.usageTypes);return"RENTAL"===a?o<0?null:{kind:a,checkIn:t,checkOut:n,days:o+1}:o<1?null:{kind:a,checkIn:t,checkOut:n,nights:o}},n.occupiedEndExclusive=function(e,t){let n=i(t);return"STAY"===r(e)||n.setUTCDate(n.getUTCDate()+1),n},n.billableUnits=function(e){return"RENTAL"===e.kind?e.days:e.nights},n.minBillableUnits=function(e,t){return o(t)},n.minCalendarNights=function(e,t){let n=o(t);return"RENTAL"===r(e)?Math.max(0,n-1):n}
2,n.bookingPeriodFromUnits=function(e){let t=Math.floor(e.units);if(!Number.isFinite(t)||t<1)return null;let n=i(e.checkIn);if(Number.isNaN(n.getTime()))return null;let o=r(e.usageTypes),a=new Date(n);return a.setUTCDate(a.getUTCDate()+("RENTAL"===o?t-1:t)),"RENTAL"===o?{kind:o,checkIn:n,checkOut:a,days:t}:{kind:o,checkIn:n,checkOut:a,nights:t}}},126759,(e,t,n)=>{"use strict";function r(e){let{weekendPrice:t,weekendDays:n,weekendIncludesHoliday:r}=e;return null!=t&&((n?.length??0)>0||!!r)}Object.defineProperty(n,"__esModule",{value:!0}),n.WEEKEND_DAY_KEYS=void 0,n.hasWeekendRate=r,n.calculateWeekendAwareNightly=function(e){let{checkInDate:t,nights:i,basePrice:o,weekendPrice:a,weekendDays:u,weekendIncludesHoliday:s}=e,l=Math.max(0,Math.floor(i));if(!t||0===l||!r({weekendPrice:a,weekendDays:u,weekendIncludesHoliday:s}))return o*l;let E=new Date(t);if(Number.isNaN(E.getTime()))return o*l;let c=new Set((u??[]).map(e=>e.toLowerCase())),T=0;for(let t=0;t<l;t+=1){let r=new Date(E);r.setUTCDate(E.getUTCDate()+t);let i=c.has(n.WEEKEND_DAY_KEYS[r.getUTCDay()]),u=!!s&&!!e.isHoliday?.(r);T+=i||u?a:o}return T},n.WEEKEND_DAY_KEYS=["sun","mon","tue","wed","thu","fri","sat"]},749455,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.MAX_WEEKLY_TIERS=n.MAX_DISCOUNT_PERCENT=n.LADDER_PRICING_ALGORITHM_VERSION=n.PRICING_ALGORITHM_VERSION=n.DEVIATION_WARN_PCT=n.MONTHLY_RENT_MAX_MULTIPLIER=n.MONTHLY_RENT_MIN_MULTIPLIER=n.WEEKLY_RATE_MAX_MULTIPLIER=n.WEEKLY_RATE_MIN_MULTIPLIER=n.PLATFORM_WEEK_NIGHTS_STAY=n.PLATFORM_WEEK_DAYS=n.PLATFORM_MONTH_DAYS_V2=n.PLATFORM_MONTH_DAYS=void 0,n.scaleLadderPricingResult=u,n.toUsageBillableUnits=function(e,t){return(t??[]).some(e=>"SHORT_TERM"===String(e).toUpperCase())?e+1:e},n.calculateTieredPrice=l,n.validatePriceDeviation=function(e){let{basePrice:t,weeklyRate:r,monthlyRent:i,primaryPriceUnit:o,usageTypes:a}=e,u=[],s=[];if((!Number.isFinite(t)||t<=0)&&u.push("basePrice must be positive"),null!=r){if(!Number.isFinite(r)||r<0)u.push("weeklyRate must be non-negative");else if(t>0){let e=t*n.WEEKLY_RATE_MIN_MULTIPLIER,i=t*n.WEEKLY_RATE_MAX_MULTIPLIER;(r<e||r>i)&&u.push(`weeklyRate must be within [${e}, ${i}] (basePrice\xd7${n.WEEKLY_RATE_MIN_MULTIPLIER} ~ \xd7${n.WEEKLY_RATE_MAX_MULTIPLIER})`)}}if(null!=i){if(!Number.isFinite(i)||i<0)u.push("monthlyRent must be non-negative");else if(t>0){let e=t*n.MONTHLY_RENT_MIN_MULTIPLIER,r=t*n.MONTHLY_RENT_MAX_MULTIPLIER;(i<e||i>r)&&u.push(`monthlyRent must be within [${e}, ${r}] (basePrice\xd7${n.MONTHLY_RENT_MIN_MULTIPLIER} ~ \xd7${n.MONTHLY_RENT_MAX_MULTIPLIER})`)}}"MONTH"===o&&(null==i&&u.push("primaryPriceUnit=MONTH requires monthlyRent"),a.includes("STAY")||u.push("primaryPriceUnit=MONTH requires usageTypes to include STAY"));if("WEEK"===o&&null==r&&u.push("primaryPriceUnit=WEEK requires weeklyRate"),a.length>0&&a.every(e=>"SHORT_TERM"===e)&&"MONTH"===o&&u.push("SHORT_TERM only accommodation cannot have primaryPriceUnit=MONTH"),t>0){if(null!=r&&r>=0){let e=t*n.PLATFORM_WEEK_DAYS;if(e>0){let t=Math.abs(r-e)/e;t>n.DEVIATION_WARN_PCT&&s.push(`weeklyRate deviates ${(100*t).toFixed(1)}% from basePrice\xd7${n.PLATFORM_WEEK_DAYS} (${e})`)}}if(null!=i&&i>=0){let e=t*n.PLATFORM_MONTH_DAYS;if(e>0){let t=Math.abs(i-e)/e;t>n.DEVIATION_WARN_PCT&&s.push(`monthlyRent deviates ${(100*t).toFixed(1)}% from basePrice\xd7${n.PLATFORM_MONTH_DAYS} (${e})`)}}}return{valid:0===u.length,errors:u,warnings:s}},n.buildDisplayPrices=function(e){let{basePrice:t,weeklyRate:n,monthlyRent:r,nights:i}=e,o={nightly:{amount:t}};if(null!=n&&(o.weekly={amount:n}),null!=r&&(o.monthly={amount:r}),null!=i&&i>0){let{total:e}=l({nights:i,basePrice:t,weeklyRate:n??null,monthlyRent:r??null});o.periodTotal={amount:e,nights:i}}return o},n.buildCardSummary=function(e){let{basePrice:t,usageTypes:n,minReservationDays:r,cleaningFee:i,beddingFee:o,weeklyTiers:a=[],monthlyTier:u,guestFeeRate:s=0}=e,l=n.includes("SHORT_TERM"),E="number"==typeof r&&r>=1?Math.floor(r):7,c=l?E:1,T=Number.isFinite(t)&&t>0?t:0;return{unit:l?"DAY":"NIGHT",average:T,minPeriodDays:c,total:T*c}},n.measureCalendarMonths=function(e){let t=T(e),n=E(e.checkInDate),r=E(e.checkOutDate);if(!t||!n||!r)return null;let i=Math.max(0,Math.round(((e.isStay?r:new Date(r.getTime()+864e5)).getTime()-n.getTime())/864e5)-t.appliedNights),o=t.months,a=c(n,t.months),u=i;for(;u>0;){let e=A(a),t=Math.min(u,e-a.getUTCDate()+1);o+=t/e,u-=t,a=new Date(Date.UTC(a.getUTCFullYear(),a.getUTCMonth(),a.getUTCDate()+t))}return{months:t.months,monthDays:t.appliedNights,leftoverDays:i,monthsFraction:o}},n.calculateLadderPrice=d,n.priceStay=m,n.priceRental=N,n.priceBookingUnits=function(e){let t=(0,r.resolveBookingUsageKind)(e.usageTypes);return S({accommodation:{...e.accommodation,usageTypes:"RENTAL"===t?["SHORT_TERM"]:["STAY"]},nights:e.units})},n.priceBooking=O,n.validateDiscountTiers=function(e){let{tiers:t,isStay:r=!1}=e,i=[],o=r?n.PLATFORM_WEEK_NIGHTS_STAY:n.PLATFORM_WEEK_DAYS,a=t.filter(e=>"WEEK"===e.kind),u=t.filter(e=>"MONTH"===e.kind);for(let e of(a.length>n.MAX_WEEKLY_TIERS&&i.push("TOO_MANY_WEEKLY_TIERS"),u.length>1&&i.push("TOO_MANY_MONTHLY_TIERS"),t))(!Number.isInteger(e.minUnits)||e.minUnits<1)&&i.push("INVALID_MIN_UNITS"),"W
2EEK"===e.kind&&e.minUnits<o&&i.push("WEEKLY_TIER_TOO_SHORT"),(!Number.isFinite(e.discountPercent)||e.discountPercent<0||e.discountPercent>n.MAX_DISCOUNT_PERCENT)&&i.push("DISCOUNT_OUT_OF_RANGE");let s=new Set;for(let e of t){let t=`${e.kind}:${e.minUnits}`;s.has(t)&&i.push("DUPLICATE_TIER"),s.add(t)}let l=[...a].sort((e,t)=>e.minUnits-t.minUnits),E=-1/0;for(let e of l){if(e.discountPercent<E){i.push("NON_MONOTONIC_TIERS");break}E=e.discountPercent}return{valid:0===i.length,errors:Array.from(new Set(i))}},n.buildLadderDisplayPrices=function(e){let{basePrice:t,weeklyTiers:r,monthlyTier:i,nights:o,isStay:a=!1}=e,u={nightly:{amount:t}};if(r.length>0&&t>0){let e=[...r].sort((e,t)=>e.minUnits-t.minUnits)[0];if(e){let n=e.minUnits*t,r=Math.round(n*(e.discountPercent/100));u.weeklyPreview={nights:e.minUnits,minNights:e.minUnits,discountPercent:e.discountPercent,baseAmount:n,discountAmount:r,appliedAmount:n-r}}}if(i&&t>0){let e=a?i.minUnits*n.PLATFORM_MONTH_DAYS_V2-1:i.minUnits*n.PLATFORM_MONTH_DAYS_V2,r=e*t,o=Math.round(r*(i.discountPercent/100));u.monthlyPreview={nights:e,minMonths:i.minUnits,discountPercent:i.discountPercent,baseAmount:r,discountAmount:o,appliedAmount:r-o}}if(Number.isFinite(o)&&o>0){let e=d({nights:o,basePrice:t,weeklyTiers:r,monthlyTier:i??null,isStay:a});u.periodTotal={nights:o,total:e.total,breakdown:e.breakdown}}return u},n.resolveLadderDiscount=I,n.buildPriceQuote=function(e){let t=(0,r.buildBookingPeriod)({usageTypes:e.usageTypes,checkIn:f(e.checkIn),checkOut:f(e.checkOut)});if(!t)return null;let n=(0,r.billableUnits)(t);if(n<=0)return null;let i=O(t,{basePrice:e.basePrice,weeklyRate:e.weeklyRate??null,monthlyRent:e.monthlyRent??null,usageTypes:e.usageTypes,discountTiers:e.discountTiers??[],dailyPrices:e.dailyPrices??void 0}),o=Math.max(0,Math.round(i.basePrice)),a=Math.max(0,e.cleaningFee??0),u=Math.max(0,e.beddingFee??0),s=o+a+u,l=Math.round(s*Math.max(0,e.guestFeeRate)),E=I(i.priceBreakdown),c=s+l;return{units:n,unitKind:"STAY"===t.kind?"NIGHT":"DAY",perUnit:Math.round(o/n),subtotal:o,cleaningFee:a,beddingFee:u,serviceFee:l,total:c,discount:E,originalTotal:E?c+E.amount:null}};let r=e.r(466558),i=e.r(126759);function o(e){let t=e instanceof Date?e:new Date(e);return[t.getUTCFullYear(),String(t.getUTCMonth()+1).padStart(2,"0"),String(t.getUTCDate()).padStart(2,"0")].join("-")}function a(e){let{total:t,basePrice:n,nights:r,checkInDate:i,dailyPrices:a}=e;if(!i||r<=0||!a?.length)return t;let u=new Map(a.filter(e=>null!==e.price).map(e=>[o(e.date),e.price]));if(0===u.size)return t;let s=i instanceof Date?i:new Date(i),l=0,E=!1;for(let e=0;e<r;e+=1){let t=new Date(s);t.setUTCDate(s.getUTCDate()+e);let r=u.get(o(t));l+=r??n,E||=void 0!==r}if(!E)return t;let c=n*r;return Math.round(l*(c>0?t/c:1))}function u(e,t){if(e.total===t||e.total<=0)return e;let n=t/e.total,r=e.breakdown.monthly?{...e.breakdown.monthly,baseAmount:Math.round(e.breakdown.monthly.baseAmount*n),discountAmount:Math.round(e.breakdown.monthly.discountAmount*n),appliedAmount:Math.round(e.breakdown.monthly.appliedAmount*n)}:void 0,i=e.breakdown.weekly?{...e.breakdown.weekly,baseAmount:Math.round(e.breakdown.weekly.baseAmount*n),discountAmount:Math.round(e.breakdown.weekly.discountAmount*n),appliedAmount:Math.round(e.breakdown.weekly.appliedAmount*n)}:void 0,o=e.breakdown.nightly?{...e.breakdown.nightly,subtotal:Math.round(e.breakdown.nightly.subtotal*n)}:void 0,a=t-((r?.appliedAmount??0)+(i?.appliedAmount??0)+(o?.subtotal??0));return 0!==a&&(o?o.subtotal+=a:i?(i.appliedAmount+=a,i.discountAmount=i.baseAmount-i.appliedAmount):r&&(r.appliedAmount+=a,r.discountAmount=r.baseAmount-r.appliedAmount)),{...e,total:t,breakdown:{monthly:r,weekly:i,nightly:o}}}n.PLATFORM_MONTH_DAYS=30,n.PLATFORM_MONTH_DAYS_V2=28,n.PLATFORM_WEEK_DAYS=7,n.PLATFORM_WEEK_NIGHTS_STAY=6,n.WEEKLY_RATE_MIN_MULTIPLIER=4,n.WEEKLY_RATE_MAX_MULTIPLIER=7,n.MONTHLY_RENT_MIN_MULTIPLIER=15,n.MONTHLY_RENT_MAX_MULTIPLIER=30,n.DEVIATION_WARN_PCT=.15,n.PRICING_ALGORITHM_VERSION="greedy-v1";let s=e=>Number.isFinite(e)&&e>=0;function l(e){let{nights:t,basePrice:r,weeklyRate:o,monthlyRent:a,monthDays:u=n.PLATFORM_MONTH_DAYS,weekDays:l=n.PLATFORM_WEEK_DAYS,checkInDate:d,checkOutDate:_,isStay:S=!1,weekendPrice:m,weekendDays:N,weekendIncludesHoliday:O,isHoliday:f}=e;if(!Number.isFinite(t)||t<=0)throw Error("nights must be positive");if(!Number.isFinite(r)||r<0)throw Error("basePrice must be non-negative");if(null!=o&&(!Number.isFinite(o)||o<0))throw Error("weeklyRate must be non-negative");if(null!=a&&(!Number.isFinite(a)||a<0))throw Error("monthlyRent must be non-negative");if(!s(u)||u<=0)throw Error("monthDays must be positive");if(!s(l)||l<=0)throw Error("weekDays must be positive");let I=Math.floor(t),C=[],P=null!=a&&!S&&!!d&&!!_,R=P?function(e){let t=T({checkInDate:e.checkInDate,checkOutDate:e.checkOutDate,isStay:!1});if(!t||t.months<=0)return null;let n=E(e.checkInDate);if(!n)return null;let r=[{unit:"MONTH",unitPrice:e.monthlyRent,count:t.months,subtotal:t.months*e.monthlyRent}],i=c(n,t.months),o=Math.max(0,e.billableDays-t.appliedNights);for(;o>0;){let t=A(i),n=Math.min(o,t-i.getUTCDate()+1),a=Math.round(e.monthlyRent/t);r.push({unit:"NIGHT",unitPrice:a,count:n,subtotal:a*n}),o-=n,i=new Date(Date.UTC(i.getUTCFullYear(),i.getUTCMonth(),i.getUTCDate()+n))}return{lines:r,consumedDays:e.billableDays}}({checkInDate:d,checkOutDate:_,monthlyRent:a,billableDays:I}):null;if(R)C.push(...R.lines),I-=R.consumedDays;else if(!P&&null!=a&&I>=u){let e=Math.floor(I/u);e>0&&(C.push({unit:"MONTH",unitPrice:a,count:e,subtotal:e*a}),I-=e*u)}if(null!=o&&I>=l){let e=Math.floor(I/l);e>0&&(C.push({unit:"WEEK",unitPrice:o,count:e,subtotal:e*o}),I-=e*l)}if(I>0){let e=function(e,t){if(!e)return null;let n=new Date(e);return Number.isNaN(n.getTime())?null:(n.setUTCDate(n.getUTCDate()+Math.max(0,t)),n)}(d,Math.floor(t)-I),n=S&&(0,i.hasWeekendRate)({weekendPrice:m,weekendDays:N,weekendIncludesHoliday:O})&&null!==e?(0,i.calculateWeekendAwareNightly)({checkInDate:e,nights:I,basePrice:r,weekendPrice:m,weekendDays:N,weekendIncludesHoliday:O,isHoliday:f}):I*r;C.push({unit:"NIGHT",unitPrice:I>0?Math.round(n/I):r,count:I,subtotal:n})}return{total:C.reduce((e,t)=>
2e+t.subtotal,0),breakdown:C,algorithmVersion:n.PRICING_ALGORITHM_VERSION}}function E(e){if(!e)return null;let t=e instanceof Date?e:new Date(e);return Number.isNaN(t.getTime())?null:new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate()))}function c(e,t){let n=e.getUTCFullYear(),r=e.getUTCMonth()+t,i=new Date(Date.UTC(n,r+1,0)).getUTCDate();return new Date(Date.UTC(n,r,Math.min(e.getUTCDate(),i)))}function T(e){let t=E(e.checkInDate),n=E(e.checkOutDate);if(!t||!n)return null;let r=e.isStay?n:new Date(n.getTime()+864e5);if(r<=t)return null;let i=(r.getUTCFullYear()-t.getUTCFullYear())*12+r.getUTCMonth()-t.getUTCMonth();for(;i>0&&c(t,i)>r;)i-=1;for(;c(t,i+1)<=r;)i+=1;let o=c(t,i);return{months:i,appliedNights:Math.round((o.getTime()-t.getTime())/864e5)}}function A(e){return new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth()+1,0)).getUTCDate()}function d(e){let{nights:t,basePrice:r,weeklyTiers:i,monthlyTier:o,monthDays:a=n.PLATFORM_MONTH_DAYS_V2,weekDays:u=n.PLATFORM_WEEK_DAYS,isStay:s=!1,checkInDate:l,checkOutDate:E}=e;if(!Number.isFinite(t)||t<=0)throw Error("nights must be positive");if(!Number.isFinite(r)||r<0)throw Error("basePrice must be non-negative");if(!Number.isFinite(a)||a<=0)throw Error("monthDays must be positive");if(!Number.isFinite(u)||u<=0)throw Error("weekDays must be positive");let c=Math.floor(t),A={},d=0;if(o&&o.minUnits>0){let e=T({checkInDate:l,checkOutDate:E,isStay:s}),t=s?o.minUnits*a-1:o.minUnits*a;if(e?e.months>=o.minUnits:c>=t){let t=e?e.months:s?Math.floor((c+1)/a):Math.floor(c/a);if(t>0){let n=Math.min(c,e?.appliedNights??(s?t*a-1:t*a)),i=n*r,u=Math.round(i*(o.discountPercent/100)),l=i-u;A.monthly={kind:"MONTH",count:t,appliedNights:n,baseAmount:i,discountAmount:u,appliedAmount:l,tier:{...o}},d+=l,c-=n}}}if(c>0&&i.length>0){let e,t=s?n.PLATFORM_WEEK_NIGHTS_STAY:u;for(let n of[...i].sort((e,t)=>e.minUnits-t.minUnits))n.minUnits<=c&&n.minUnits>=t&&(e=n);if(e){let t=c,n=t*r,i=Math.round(n*(e.discountPercent/100)),o=n-i;A.weekly={kind:"WEEK",count:1,appliedNights:t,baseAmount:n,discountAmount:i,appliedAmount:o,tier:{...e}},d+=o,c=0}}if(c>0){let e=c*r;A.nightly={nights:c,subtotal:e},d+=e}return{total:d,breakdown:A,algorithmVersion:n.LADDER_PRICING_ALGORITHM_VERSION}}function _(e,t){if(e.total===t||e.total<=0)return e;let n=t/e.total,r=e.breakdown.map(e=>({...e,subtotal:Math.round(e.subtotal*n),unitPrice:e.count>0?Math.round(e.subtotal*n/e.count):e.unitPrice})),i=t-r.reduce((e,t)=>e+t.subtotal,0),o=r[r.length-1];return 0!==i&&o&&(o.subtotal+=i,o.count>0&&(o.unitPrice=Math.round(o.subtotal/o.count))),{...e,total:t,breakdown:r}}function S(e){let{accommodation:t,nights:n,checkInDate:r,checkOutDate:i}=e,o=(t.usageTypes??[]).some(e=>"SHORT_TERM"===String(e).toUpperCase()),s=l({nights:n,basePrice:t.basePrice,weeklyRate:t.weeklyRate??null,monthlyRent:t.monthlyRent??null,checkInDate:r,checkOutDate:i,isStay:!o,weekendPrice:t.weekendPrice??null,weekendDays:t.weekendDays??null,weekendIncludesHoliday:t.weekendIncludesHoliday??null,isHoliday:e.isHoliday}),E=t.discountTiers??[];if(0===E.length){let e=a({total:s.total,basePrice:t.basePrice,nights:n,checkInDate:r,dailyPrices:t.dailyPrices});return{basePrice:e,preDailyPriceTotal:s.total,tierPricing:_(s,e),priceBreakdown:null}}let c=E.filter(e=>"WEEK"===e.kind).map(e=>({minUnits:e.minUnits,discountPercent:e.discountPercent})),T=E.find(e=>"MONTH"===e.kind),A=T?{minUnits:T.minUnits,discountPercent:T.discountPercent}:null,S=(t.usageTypes??[]).includes("STAY"),m=d({nights:n,basePrice:t.basePrice,weeklyTiers:c,monthlyTier:A,isStay:S,checkInDate:r,checkOutDate:i}),N=Math.max(0,t.basePrice)*Math.max(0,n),O=N>0?1-m.total/N:0,f=Math.round(s.total*(1-O)),I=a({total:f,basePrice:t.basePrice,nights:n,checkInDate:r,dailyPrices:t.dailyPrices}),C=u(m,I);return{basePrice:I,preDailyPriceTotal:f,tierPricing:_(s,I),priceBreakdown:C}}function m(e,t){return S({accommodation:{...t,usageTypes:["STAY"]},nights:e.nights,checkInDate:e.checkIn,checkOutDate:e.checkOut})}function N(e,t){return S({accommodation:{...t,usageTypes:["SHORT_TERM"]},nights:e.days,checkInDate:e.checkIn,checkOutDate:e.checkOut})}function O(e,t){return"RENTAL"===e.kind?N(e,t):m(e,t)}function f(e){return"string"==typeof e?e:[e.getFullYear(),String(e.getMonth()+1).padStart(2,"0"),Str
2ing(e.getDate()).padStart(2,"0")].join("-")}function I(e){let t=e?.breakdown?.monthly?.discountAmount??0,n=Math.max(0,t+(e?.breakdown?.weekly?.discountAmount??0));return n<=0?null:{amount:n,kind:t>0?"MONTH":"WEEK"}}n.LADDER_PRICING_ALGORITHM_VERSION="ladder-v2-calendar-month",n.MAX_DISCOUNT_PERCENT=99,n.MAX_WEEKLY_TIERS=5},389809,(e,t,n)=>{"use strict";function r(e=new Date){return new Date(e.getTime()+324e5).toISOString().slice(0,10)}Object.defineProperty(n,"__esModule",{value:!0}),n.kstCalendarDate=r,n.kstTodayUtcMidnight=function(e=new Date){return new Date(`${r(e)}T00:00:00.000Z`)}},376912,(e,t,n)=>{"use strict";function r(e,t=n.REFUND_SLA_BUSINESS_DAYS){let i=new Date(e.getTime()),o=Math.max(0,Math.floor(t));for(;o>0;)i.setUTCDate(i.getUTCDate()+1),function(e){let t=e.getUTCDay();return 0!==t&&6!==t}(i)&&(o-=1);return i}function i(e){return"REQUESTED"===e||"HOLD"===e}Object.defineProperty(n,"__esModule",{value:!0}),n.REFUND_SLA_BUSINESS_DAYS=void 0,n.resolveRefundDueAt=r,n.isRefundOverdue=function(e,t=new Date){return!!i(e.status)&&t.getTime()>r(e.createdAt).getTime()},n.isPendingDecision=i,n.resolveRefundAmount=function(e){let t=e.approvedAmount;return"number"==typeof t&&Number.isFinite(t)&&t>=0?Math.floor(t):Math.max(0,Math.floor(e.requestedAmount))},n.validateApprovedAmount=function(e,t){return Number.isFinite(e)&&Number.isInteger(e)?e<0?{valid:!1,reason:"íë¶ ê¸ì¡ì 0 ì´ìì´ì´ì¼ í©ëë¤."}:e>t?{valid:!1,reason:`íë¶ ê¸ì¡ì´ ê²°ì ì¡(${t.toLocaleString("ko-KR")}ì)ì ëì ì ììµëë¤.`}:{valid:!0}:{valid:!1,reason:"íë¶ ê¸ì¡ì ì ìì¬ì¼ í©ëë¤."}},n.isPartialRefund=function(e,t){return e<t},n.canTransitionRefundStatus=a,n.statusForDecision=function(e){return"APPROVE"===e?"APPROVED":"REJECT"===e?"REJECTED":"HOLD"},n.canExecuteRefund=function(e){return a(e,"PROCESSING")},n.resolveRefundStage=function(e,t,n){if(!t)return"PRE";let r=e=>Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()),i=r(e);return i<r(t)?"PRE":n&&i>r(n)?"POST":"STAYING"},n.REFUND_SLA_BUSINESS_DAYS=2;let o={REQUESTED:["APPROVED","REJECTED","HOLD"],HOLD:["APPROVED","REJECTED"],APPROVED:["PROCESSING"],PROCESSING:["COMPLETED","FAILED"],FAILED:["PROCESSING","REJECTED","HOLD"],COMPLETED:[],REJECTED:[]};function a(e,t){return o[e]?.includes(t)??!1}},186349,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.OfferPriceBelowHostPayoutError=void 0,n.resolveOfferMoney=function(e){let t=i(e.totalPrice,"totalPrice"),n=i(e.finalPrice,"finalPrice"),a=o(e.hostFeeRate,"hostFeeRate");o(e.guestFeeRate,"guestFeeRate");let u=Math.round(t*a),s=t-u;if(n<s)throw new r(n,s);let l=n>=t?0:t-n,E=t-l,c=n-E,T=E-s;return{discount:l,totalPrice:E,guestServiceFee:c,serviceFee:T,hostPayout:s,platformRevenue:n-s,hostFeeRateSnapshot:E>0?T/E:0,guestFeeRateSnapshot:E>0?c/E:0}};class r extends Error{constructor(e,t){super(`finalPrice ${e} is below the host payout ${t}; the discount must come out of the platform fee only`),this.finalPrice=e,this.minFinalPrice=t,this.code="OFFER_PRICE_BELOW_HOST_PAYOUT",this.name="OfferPriceBelowHostPayoutError"}}function i(e,t){if(!Number.isInteger(e)||e<0)throw Error(`${t} must be a non-negative integer (got ${e})`);return e}function o(e,t){if(!Number.isFinite(e)||e<0)throw Error(`${t} must be a non-negative finite rate (got ${e})`);return e}n.OfferPriceBelowHostPayoutError=r},521121,(e,t,n)=>{"use strict";var r=e.e&&e.e.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),i=e.e&&e.e.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||r(t,e,n)};Object.defineProperty(n,"__esModule",{value:!0}),n.OfferPriceBelowHostPayoutError=n.resolveOfferMoney=n.resolveRefundStage=n.canExecuteRefund=n.statusForDecision=n.canTransitionRefundStatus=n.isPartialRefund=n.validateApprovedAmount=n.resolveRefundAmount=n.isPendingDecision=n.isRefundOverdue=n.resolveRefundDueAt=n.REFUND_SLA_BUSINESS_DAYS=n.FALLBACK_FEE_RATE=n.resolveEffectiveFeeRate=n.resolveFeeRate=n.isTerminalContractStatus=n.canRequestContractCancellation=n.allowedContractTransitions=n.canTransitionContractStatus=n.settlementDiscrepancy=n.legacySettlementWithoutRefund=n.resolveSettlementAmounts=void 0;var o=e.r(846605);Object.defineProperty(n,"resolveSettlementAmounts",{enumerable:!0,get:function(){return o.resolveSettlementAmounts}}),Object.defineProperty(n,"legacySettlementWithoutRefund",{enumerable:!0,get:function(){return o.legacySettlementWithoutRefund}}),Object.defineProperty(n,"settlementDiscrepancy",{enumerable:!0,get:function(){return o.settlementDiscrepancy}});var a=e.r(328597);Object.defineProperty(n,"canTransitionContractStatus",{enumerable:!0,get:function(){return a.canTransitionContractStatus}}),Object.defineProperty(n,"allowedContractTransitions",{enumerable:!0,get:function(){return a.allowedContractTransitions}}),Object.defineProperty(n,"canRequestContractCancellation",{enumerable:!0,get:function(){return a.canRequestContractCancellation}}),Object.defineProperty(n,"isTerminalContractStatus",{enumerable:!0,get:function(){return a.isTerminalContractStatus}});var u=e.r(74004);Object.defineProperty(n,"resolveFeeRate",{enumerable:!0,get:function(){return u.resolveFeeRate}}),Object.defineProperty(n,"resolveEffectiveFeeRate",{enumerable:!0,get:function(){return u.resolveEffectiveFeeRate}}),Object.defineProperty(n,"FALLBACK_FEE_RATE",{enumerable:!0,get:function(){return u.FALLBACK_FEE_RATE}}),i(e.r(749455),n),i(e.r(466558),n),i(e.r(389809),n),i(e.r(126759),n);var s=e.r(376912);Object.defineProperty(n,"REFUND_SLA_BUSINESS_DAYS",{enumerable:!0,get:function(){return s.REFUND_SLA_BUSINESS_DAYS}}),Object.defineProperty(n,"resolveRefundDueAt",{enumerable:!0,get:function(){return s.resolveRefundDueAt}}),Object.defineProperty(n,"isRefundOverdue",{enumerable:!0,get:function(){return s.isRefundOverdue}}),Object.defineProperty(n,"isPendingDecision",{enumerable:!0,get:function(){return s.isPendingDecision}}),Object.defineProperty(n,"resolveRefundAmount",{enumerable:!0,get:function(){return s.resolveRefundAmount}}),Object.defineProperty(n,"validateApprovedAmount",{enumerable:!0,get:function(){return s.validateApprovedAmount}}),Object.defineProperty(n,"isPartialRefund",{enumerable:!0,get:function(){return s.isPartialRefund}}),Object.defineProperty(n,"canTransitionRefundStatus",{enumerable:!0,get:function(){return s.canTransitionRefundStatus}}),Object.defineProperty(n,"statusForDecision",{enumerable:!0,get:function(){return s.statusForDecision}}),Object.defineProperty(n,"canExecuteRefund",{enumerable:!0,get:function(){return s.canExecuteRefund}}),Object.defineProperty(n,"resolveRefundStage",{enumerable:!0,get:function(){return s.resolveRefundStage}});var l=e.r(186349);Object.defineProperty(n,"resolveOfferMoney",{enumerable:!0,get:function(){return l.resolveOfferMoney}}),Object.defineProperty(n,"OfferPriceBelowHostPayoutError",{enumerable:!0,get:function(){return l.OfferPriceBelowHostPayoutError}})},687929,983814,e=>{"use strict";var t=e.i(570217),n=e.i(591249),r=e.i(521121);function i(e){let t=(0,r.validatePriceDeviation)({basePrice:e.basePrice,weeklyRate:e.weeklyRate,monthlyRent:e.monthlyRent,primaryPriceUnit:"NIGHT",usageTypes:["STAY"]});return{errors:t.errors,warnings:t.warnings}}e.s(["checkPriceDeviation",()=>i],983814);
2let o={app:{name:"Snug",url:"https://findsnug.com"},api:{baseUrl:(0,n.publicApiBaseUrl)(),wsUrl:t.default.env.NEXT_PUBLIC_WS_URL||"ws://localhost:4000"},supabase:{url:t.default.env.NEXT_PUBLIC_SUPABASE_URL||"",anonKey:t.default.env.NEXT_PUBLIC_SUPABASE_ANON_KEY||""},i18n:{defaultLocale:t.default.env.NEXT_PUBLIC_DEFAULT_LOCALE||"en",supportedLocales:"en,ko,zh,ja,vi,th".split(",")}};e.s(["config",0,o],687929)},314550,62650,e=>{"use strict";let t;var n=e.i(687929),r=e.i(150224);let i="snug.auth.guestSession",o="snug.auth.guestToken";function a(e){if("undefined"==typeof document)return;let t="https:"===window.location.protocol?"; Secure":"";if(!e){document.cookie=`${o}=; Path=/; Max-Age=0; SameSite=Lax${t}`;return}let n=Math.max(0,Math.floor((e.expiresAt-Date.now())/1e3));document.cookie=`${o}=${encodeURIComponent(e.token)}; Path=/; Max-Age=${n}; SameSite=Lax${t}`}function u(){let e=function(e){if("undefined"!=typeof document)for(let t of document.cookie.split(";")){let[n,...r]=t.trim().split("=");if(n===e)return decodeURIComponent(r.join("="))}}(o);if(!e)return null;let t=function(e){let[,t]=e.split(".");if(!t)return null;try{let e=window.atob(t.replace(/-/g,"+").replace(/_/g,"/")),n=JSON.parse(e);if("string"!=typeof n.sub||"number"!=typeof n.exp)return null;return{userId:n.sub,expiresAt:1e3*n.exp}}catch{return null}}(e);return t&&t.expiresAt>Date.now()?{token:e,userId:t.userId,expiresAt:t.expiresAt}:null}function s(){try{let e=window.localStorage.getItem(i);if(!e)return u();let t=JSON.parse(e);if(!t?.token||!(t.expiresAt>Date.now()))return u();return t}catch{return u()}}function l(e){try{window.localStorage.setItem(i,JSON.stringify(e))}catch{}a(e)}function E(e){a(e)}function c(){return s()?.token??void 0}function T(){return s()?.userId??void 0}function A(){try{window.localStorage.removeItem(i)}catch{}a(null)}e.s(["clearGuestSession",()=>A,"getGuestToken",()=>c,"getGuestUserId",()=>T,"readGuestSession",()=>s,"refreshGuestCookie",()=>E,"writeGuestSession",()=>l],62650);let d="snug.auth.session",_="snug.auth.token";function S(){try{let e=window.localStorage.getItem(d);if(!e)return null;let t=JSON.parse(e);if(!t?.accessToken||!t?.refreshToken)return null;return m(t),t}catch{return null}}function m(e){if("undefined"==typeof document)return;let t="https:"===window.location.protocol?"; Secure":"";if(!e){document.cookie=`${_}=; Path=/; Max-Age=0; SameSite=Lax${t}`;return}let n=Math.max(0,Math.floor((e.expiresAt-Date.now())/1e3));document.cookie=`${_}=${encodeURIComponent(e.accessToken)}; Path=/; Max-Age=${n}; SameSite=Lax${t}`}function N(e){try{e?window.localStorage.setItem(d,JSON.stringify(e)):window.localStorage.removeItem(d)}catch{}m(e)}let O=null;function f(e){N(t={accessToken:e.accessToken,refreshToken:e.refreshToken,expiresAt:Date.now()+1e3*e.expiresIn})}function I(){t=null,N(null),A()}function C(){return void 0===t&&(t=S()),null!==t}async function P(e){return O||(O=(async()=>{try{let r=await fetch(`${n.config.api.baseUrl}/auth/refresh`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({refreshToken:e.refreshToken})});if(!r.ok)return I(),null;let i=await r.json(),o=i.data?.tokens;if(!o?.accessToken)return I(),null;return f({accessToken:o.accessToken,refreshToken:o.refreshToken||e.refreshToken,expiresIn:o.expiresIn}),t??null}catch(t){return r.appLogger.warn("[Auth] í í° ê°±ì ì¤í¨",{error:t}),e}finally{O=null}})())}async function R(){if(void 0===t&&(t=S()),!t)return c();if(t.expiresAt-Date.now()>6e4)return t.accessToken;let e=await P(t);return e?.accessToken}e.s(["ACCESS_TOKEN_COOKIE",0,_,"clearSession",()=>I,"getAccessToken",()=>R,"hasApiSession",()=>C,"saveSession",()=>f],314550)}]); 3 4//# debugId=3a8a2d07-2de8-099c-8eeb-71dc76204339
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.