1const p="https://skyscanner.pxf.io/c/200980/2415706/13416",S="https://www.skyscanner.net/transport/flights",A="sponsored noopener noreferrer",I="https://go.saily.site/aff_c?offer_id=101&aff_id=16396";function u(r){return String(r||"").replace(/[^A-Za-z0-9_-]+/g,"-").replace(/^-+|-+$/g,"").slice(0,64)}function f(r){const t=String(r||"").trim().toLowerCase();return/^[a-z]{3}$/.test(t)?t:""}function d(r){if(!r)return"";const t=String(r).match(/^(\d{4})-(\d{2})-(\d{2})/);if(t)return`${t[1].slice(2)}${t[2]}${t[3]}`;const e=new Date(r);return Number.isNaN(e.getTime())?"":[String(e.getUTCFullYear()).slice(2),String(e.getUTCMonth()+1).padStart(2,"0"),String(e.getUTCDate()).padStart(2,"0")].join("")}function L(r){const t=f(r.origin),e=f(r.destination),n=d(r.departureDate),s=d(r.returnDate),a=[S];t&&a.push(t),t&&e&&a.push(e),t&&e&&n&&a.push(n),t&&e&&n&&s&&a.push(s);const m=`${a.join("/")}/`,i=new URL(p);i.searchParams.set("u",m),i.searchParams.set("partnerpropertyid","257212"),r.subIds?.slice(0,3).forEach((l,g)=>{const c=u(l);c&&i.searchParams.set(`subId${g+1}`,c)});const o=u(r.dealId);return o&&i.searchParams.set("subId3",o),i.toString()}function y(r){if(!r)return null;const t=String(r).match(/\/search\/([A-Z]{3})(\d{2})(\d{2})([A-Z]{3})(?:(\d{2})(\d{2}))?1(?:[/?]|$)/i);return t?{origin:t[1].toUpperCase(),destination:t[4].toUpperCase(),departureDayMonth:`${t[2]}${t[3]}`,returnDayMonth:t[5]&&t[6]?`${t[5]}${t[6]}`:void 0}:null}function N(r,t="USD",e="en-US"){const n=Number.isFinite(r)?r:0,s={style:"currency",currency:/^[A-Z]{3}$/.test(t)?t:"USD",maximumFractionDigits:Number.isInteger(n)?0:2};try{return new Intl.NumberFormat(e,s).format(n)}catch{return new Intl.NumberFormat("en-US",s).format(n)}}const h="152511";function U(r){const t=String(r||"").replace(/[^A-Za-z0-9_]+/g,"_").replace(/^_+|_+$/g,"").slice(0,64);return t?`${h}.${t}`:h}function b(r){try{const{hostname:t}=new URL(r||"");return t==="booking.com"||t.endsWith(".booking.com")}catch{return!1}}function _(r,t){if(!r)return"";try{new URL(r)}catch{return""}const e=new URL("https://tp.media/r");return e.searchParams.set("marker",U(t)),e.searchParams.set("p","4115"),e.searchParams.set("u",r),e.toString()}function D(r,t={}){const e=(r??"").trim();if(!e)return"";const n=new URL("https://www.booking.com/searchresults.html");return n.searchParams.set("ss",e),_(n.toString(),t.subId)}export{A,I as S,D as a,L as b,y as e,N as f,b as i,_ as t};
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.