PageSourceSearch

https://navisavitravel.com/sw.js

js navisavitravel.com collected 2026-10-09 22:41:35 UTC 56,027 bytes, 2 lines download raw bytes

1!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="4f779652-ce6b-4f50-987e-90156a41f08b",e._sentryDebugIdIdentifier="sentry-dbid-4f779652-ce6b-4f50-987e-90156a41f08b")}catch(e){}}(),function(){"use strict";let e,t,a,s,r;let n={googleAnalytics:"googleAnalytics",precache:"precache-v2",prefix:"serwist",runtime:"runtime",suffix:"undefined"!=typeof registration?registration.scope:""},i=e=>[n.prefix,e,n.suffix].filter(e=>e&&e.length>0).join("-"),c=e=>{for(let t of Object.keys(n))e(t)},o=e=>{c(t=>{let a=e[t];"string"==typeof a&&(n[t]=a)})},l=e=>e||i(n.googleAnalytics),h=e=>e||i(n.precache),u=e=>e||i(n.runtime),d=(e,...t)=>{let a=e;return t.length>0&&(a+=` :: ${JSON.stringify(t)}`),a};var m=class extends Error{details;constructor(e,t){super(d(e,t)),this.name=e,this.details=t}};let f=e=>new URL(String(e),location.href).href.replace(RegExp(`^${location.origin}`),"");function g(e){return new Promise(t=>setTimeout(t,e))}let w=new Set;function p(e,t){let a=new URL(e);for(let e of t)a.searchParams.delete(e);return a.href}async function y(e,t,a,s){let r=p(t.url,a);if(t.url===r)return e.match(t,s);let n={...s,ignoreSearch:!0};for(let i of(await e.keys(t,n)))if(r===p(i.url,a))return e.match(i,s)}var _=class{promise;resolve;reject;
1constructor(){this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}};let b=async()=>{for(let e of w)await e()},x="-precache-",v=async(e,t=x)=>{let a=(await self.caches.keys()).filter(a=>a.includes(t)&&a.includes(self.registration.scope)&&a!==e);return await Promise.all(a.map(e=>self.caches.delete(e))),a},E=e=>{self.addEventListener("activate",t=>{t.waitUntil(v(h(e)).then(e=>{}))})},R=()=>{self.addEventListener("activate",()=>self.clients.claim())},q=(e,t)=>{let a=t();return e.waitUntil(a),a},S=(e,t)=>t.some(t=>e instanceof t),D=new WeakMap,N=new WeakMap,C=new WeakMap,T={get(e,t,a){if(e instanceof IDBTransaction){if("done"===t)return D.get(e);if("store"===t)return a.objectStoreNames[1]?void 0:a.objectStore(a.objectStoreNames[0])}return P(e[t])},set:(e,t,a)=>(e[t]=a,!0),has:(e,t)=>e instanceof IDBTransaction&&("done"===t||"store"===t)||t in e};function P(e){var s;if(e instanceof IDBRequest)return function(e){let t=new Promise((t,a)=>{let s=()=>{e.removeEventListener("success",r),e.removeEventListener("error",n)},r=()=>{t(P(e.result)),s()},n=()=>{a(e.error),s()};e.addEventListener("success",r),e.addEventListener("error",n)});return C.set(t,e),t}(e);if(N.has(e))return N.get(e);let r="function"==typeof(s=e)?(a||(a=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(s)?function(...e){return s.apply(k(this),e),P(this.request)}:function(...e){return P(s.apply(k(this),e))}:(s instanceof IDBTransaction&&function(e){if(D.has(e))return;let t=new Promise((t,a)=>{let s=()=>{e.removeEventListener("complete",r),e.removeEventListener("error",n),e.removeEventListener("abort",n)},r=()=>{t(),s()},n=()=>{a(e.error||new DOMException("AbortError","AbortError")),s()};e.addEventListener("complete",r),e.addEventListener("error",n),e.addEventListener("abort",n)});D.set(e,t)}(s),S(s,t||(t=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])))?new Proxy(s,T):s;return r!==e&&(N.set(e,r),C.set(r,e)),r}let k=e=>C.get(e);function I(e,t,{blocked:a,upgrade:s,blocking:r,terminated:n}={}){let i=indexedDB.open(e,t),c=P(i);return s&&i.addEventListener("upgradeneeded",e=>{s(P(i.result),e.oldVersion,e.newVersion,P(i.transaction),e)}),a&&i.addEventListener("blocked",e=>a(e.oldVersion,e.newVersion,e)),c.then(e=>{n&&e.addEventListener("close",()=>n()),r&&e.addEventListener("versionchange",e=>r(e.oldVersion,e.newVersion,e))}).catch(()=>{}),c}let A=["get","getKey","getAll","getAllKeys","count"],U=["put","add","delete","clear"],L=new Map;function F(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&"string"==typeof t))return;if(L.get(t))return L.get(t);let a=t.replace(/FromIndex$/,""),s=t!==a,r=U.includes(a);if(!(a in(s?IDBIndex:IDBObjectStore).prototype)||!(r||A.includes(a)))return;let n=async function(e,...t){let n=this.transaction(e,r?"readwrite":"readonly"),i=n.store;return s&&(i=i.index(t.shift())),(await Promise.all([i[a](...t),r&&n.done]))[0]};return L.set(t,n),n}T={...s=T,get:(e,t,a)=>F(e,t)||s.get(e,t,a),has:(e,t)=>!!F(e,t)||s.has(e,t)};let O=["continue","continuePrimaryKey","advance"],M={},B=new WeakMap,K=new WeakMap,W={get(e,t){if(!O.includes(t))return e[t];let a=M[t];return a||(a=M[t]=function(...e){B.set(this,K.get(this)[t](...e))}),a}};async function*j(...e){let t=this;if(t instanceof IDBCursor||(t=await t.openCursor(...e)),!t)return;let a=new Proxy(t,W);for(K.set(a,t),C.set(a,k(t));t;)yield a,t=await (B.get(a)||t.continue()),B.delete(a)}function $(e,t){return t===Symbol.asyncIterator&&S(e,[IDBIndex,IDBObjectStore,IDBCursor])||"iterate"===t&&S(e,[IDBIndex,IDBObjectStore])}T={...r=T,get:(e,t,a)=>$(e,t)?j:r.get(e,t,a),has:(e,t)=>$(e,t)||r.has(e,t)};let H=async(t,a)=>{let s=null;if(t.url&&(s=new URL(t.url).origin),s!==self.location.origin)throw new m("cross-origin-copy-response",{origin:s});let r=t.clone(),n={headers:new Headers(r.headers),status:r.status,statusText:r.statusText},i=a?a(n):n,c=!function(){if(void 0===e){let t=new Response("");if("body"in t)try{new Response(t.body),e=!0}catch{e=!1}e=!1}return e}()?await r.blob():r.body;return new Response(c,i)},V=()=>{self.__WB_DISABLE_DEV_LOGS=!0},G="requests",Q="queueName";var z=class{_db=null;async addEntry(e){let t=(await this.getDb()).transaction(G,"readwrite",{durability:"relaxed"});await t.store.add(e),await t.done}async getFirstEntryId(){return(await (await this.getDb()).transaction(G).store.openCursor())?.value.id}async getAllEntriesByQueueName(e){return await (await this.getDb()).getAllFromIndex(G,Q,IDBKeyRange.only(e))||[]}async getEntryCountByQueueName(e){return(await this.getDb()).countFromIndex(G,Q,IDBKeyRange.only(e))}async deleteEntry(e){await (await this.getDb()).delete(G,e)}async getFirstEntryByQueueName(e){return await this.getEndEntryFromIndex(IDBKeyRange.only(e),"next")}async getLastEntryByQueueName(e){return await this.getEndEntryFromIndex(IDBKeyRange.only(e),"prev")}async getEndEntryFromIndex(e,t){return(await (await this.getDb()).transaction(G).store.index(Q).openCursor(e,t))?.value}async getDb(){return this._db||(this._db=await I("serwist-background-sync",3,{upgrade:this._upgradeDb})),this._db}_upgradeDb(e,t){t>0&&t<3&&e.objectStoreNames.contains(G)&&e.deleteObjectStore(G),e.createObjectStore(G,{autoIncrement:!0,keyPath:"id"}).createIndex(Q,Q,{unique:!1})}},J=class{_queueName;_queueDb;constructor(e){this._queueName=e,this._queueDb=new z}async pushEntry(e){delete e.id,e.queueName=this._queueName,await this._queueDb.addEntry(e)}async unshiftEntry(e){let t=await this._queueDb.getFirstEntryId();t?e.id=t-1:delete e.id,e.queueName=this._queueName,await this._queueDb.addEntry(e)}async popEntry(){return this._removeEntry(await this._queueDb.getLastEntryByQueueName(this._queueName))}async shiftEntry(){return this._removeEntry(await this._queueDb.getFirstEntryByQueueName(this._queueName))}async getAll(){return await this._queueDb.getAllEntriesByQueueName(this._queueName)}async size(){return await this._queueDb.getEntryCountByQueueName(this._queueName)}async deleteEntry(e){await this._queueDb.deleteEntry(e)}async _removeEntry(e){return e&&await this.deleteEntry(e.id),e}};let Y=["method","referrer","referrerPolicy","mode","credentials","cache","redirect","integrity","keepalive"];var X=class e{_requestData;
1static async fromRequest(t){let a={url:t.url,headers:{}};for(let e of("GET"!==t.method&&(a.body=await t.clone().arrayBuffer()),t.headers.forEach((e,t)=>{a.headers[t]=e}),Y))void 0!==t[e]&&(a[e]=t[e]);return new e(a)}constructor(e){"navigate"===e.mode&&(e.mode="same-origin"),this._requestData=e}toObject(){let e=Object.assign({},this._requestData);return e.headers=Object.assign({},this._requestData.headers),e.body&&(e.body=e.body.slice(0)),e}toRequest(){return new Request(this._requestData.url,this._requestData)}clone(){return new e(this.toObject())}};let Z="serwist-background-sync",ee=new Set,et=e=>{let t={request:new X(e.requestData).toRequest(),timestamp:e.timestamp};return e.metadata&&(t.metadata=e.metadata),t};var ea=class{_name;_onSync;_maxRetentionTime;_queueStore;_forceSyncFallback;_syncInProgress=!1;_requestsAddedDuringSync=!1;constructor(e,{forceSyncFallback:t,onSync:a,maxRetentionTime:s}={}){if(ee.has(e))throw new m("duplicate-queue-name",{name:e});ee.add(e),this._name=e,this._onSync=a||this.replayRequests,this._maxRetentionTime=s||10080,this._forceSyncFallback=!!t,this._queueStore=new J(this._name),this._addSyncListener()}get name(){return this._name}async pushRequest(e){await this._addRequest(e,"push")}async unshiftRequest(e){await this._addRequest(e,"unshift")}async popRequest(){return this._removeRequest("pop")}async shiftRequest(){return this._removeRequest("shift")}async getAll(){let e=await this._queueStore.getAll(),t=Date.now(),a=[];for(let s of e){let e=6e4*this._maxRetentionTime;t-s.timestamp>e?await this._queueStore.deleteEntry(s.id):a.push(et(s))}return a}async size(){return await this._queueStore.size()}async _addRequest({request:e,metadata:t,timestamp:a=Date.now()},s){let r={requestData:(await X.fromRequest(e.clone())).toObject(),timestamp:a};switch(t&&(r.metadata=t),s){case"push":await this._queueStore.pushEntry(r);break;case"unshift":await this._queueStore.unshiftEntry(r)}this._syncInProgress?this._requestsAddedDuringSync=!0:await this.registerSync()}async _removeRequest(e){let t;let a=Date.now();switch(e){case"pop":t=await this._queueStore.popEntry();break;case"shift":t=await this._queueStore.shiftEntry()}if(t){let s=6e4*this._maxRetentionTime;return a-t.timestamp>s?this._removeRequest(e):et(t)}}async replayRequests(){let e;for(;e=await this.shiftRequest();)try{await fetch(e.request.clone())}catch{throw await this.unshiftRequest(e),new m("queue-replay-failed",{name:this._name})}}async registerSync(){if("sync"in self.registration&&!this._forceSyncFallback)try{await self.registration.sync.register(`${Z}:${this._name}`)}catch(e){}}_addSyncListener(){"sync"in self.registration&&!this._forceSyncFallback?self.addEventListener("sync",e=>{if(e.tag===`${Z}:${this._name}`){let t=async()=>{let t;this._syncInProgress=!0;try{await this._onSync({queue:this})}catch(e){if(e instanceof Error)throw e}finally{this._requestsAddedDuringSync&&!(t&&!e.lastChance)&&await this.registerSync(),this._syncInProgress=!1,this._requestsAddedDuringSync=!1}};e.waitUntil(t())}}):this._onSync({queue:this})}static get _queueNames(){return ee}},es=class{_queue;constructor(e,t){this._queue=new ea(e,t)}async fetchDidFail({request:e}){await this._queue.pushRequest({request:e})}};let er={cacheWillUpdate:async({response:e})=>200===e.status||0===e.status?e:null};function en(e){return"string"==typeof e?new Request(e):e}var ei=class{event;request;url;params;_cacheKeys={};_strategy;_handlerDeferred;_extendLifetimePromises;_plugins;_pluginStateMap;constructor(e,t){for(let a of(this.event=t.event,this.request=t.request,t.url&&(this.url=t.url,this.params=t.params),this._strategy=e,this._handlerDeferred=new _,this._extendLifetimePromises=[],this._plugins=[...e.plugins],this._pluginStateMap=new Map,this._plugins))this._pluginStateMap.set(a,{});this.event.waitUntil(this._handlerDeferred.promise)}async fetch(e){let{event:t}=this,a=en(e),s=await this.getPreloadResponse();if(s)return s;let r=this.hasCallback("fetchDidFail")?a.clone():null;try{for(let e of this.iterateCallbacks("requestWillFetch"))a=await e({request:a.clone(),event:t})}
1catch(e){if(e instanceof Error)throw new m("plugin-error-request-will-fetch",{thrownErrorMessage:e.message})}let n=a.clone();try{let e;for(let s of(e=await fetch(a,"navigate"===a.mode?void 0:this._strategy.fetchOptions),this.iterateCallbacks("fetchDidSucceed")))e=await s({event:t,request:n,response:e});return e}catch(e){throw r&&await this.runCallbacks("fetchDidFail",{error:e,event:t,originalRequest:r.clone(),request:n.clone()}),e}}async fetchAndCachePut(e){let t=await this.fetch(e),a=t.clone();return this.waitUntil(this.cachePut(e,a)),t}async cacheMatch(e){let t;let a=en(e),{cacheName:s,matchOptions:r}=this._strategy,n=await this.getCacheKey(a,"read"),i={...r,cacheName:s};for(let e of(t=await caches.match(n,i),this.iterateCallbacks("cachedResponseWillBeUsed")))t=await e({cacheName:s,matchOptions:r,cachedResponse:t,request:n,event:this.event})||void 0;return t}async cachePut(e,t){let a=en(e);await g(0);let s=await this.getCacheKey(a,"write");if(!t)throw new m("cache-put-with-no-response",{url:f(s.url)});let r=await this._ensureResponseSafeToCache(t);if(!r)return!1;let{cacheName:n,matchOptions:i}=this._strategy,c=await self.caches.open(n),o=this.hasCallback("cacheDidUpdate"),l=o?await y(c,s.clone(),["__WB_REVISION__"],i):null;try{await c.put(s,o?r.clone():r)}catch(e){if(e instanceof Error)throw"QuotaExceededError"===e.name&&await b(),e}for(let e of this.iterateCallbacks("cacheDidUpdate"))await e({cacheName:n,oldResponse:l,newResponse:r.clone(),request:s,event:this.event});return!0}async getCacheKey(e,t){let a=`${e.url} | ${t}`;if(!this._cacheKeys[a]){let s=e;for(let e of this.iterateCallbacks("cacheKeyWillBeUsed"))s=en(await e({mode:t,request:s,event:this.event,params:this.params}));this._cacheKeys[a]=s}return this._cacheKeys[a]}hasCallback(e){for(let t of this._strategy.plugins)if(e in t)return!0;return!1}async runCallbacks(e,t){for(let a of this.iterateCallbacks(e))await a(t)}*iterateCallbacks(e){for(let t of this._strategy.plugins)if("function"==typeof t[e]){let a=this._pluginStateMap.get(t),s=s=>{let r={...s,state:a};return t[e](r)};yield s}}waitUntil(e){return this._extendLifetimePromises.push(e),e}async doneWaiting(){let e;for(;e=this._extendLifetimePromises.shift();)await e}destroy(){this._handlerDeferred.resolve(null)}async getPreloadResponse(){if(this.event instanceof FetchEvent&&"navigate"===this.event.request.mode&&"preloadResponse"in this.event)try{let e=await this.event.preloadResponse;if(e)return e}catch(e){return}}async _ensureResponseSafeToCache(e){let t=e,a=!1;for(let e of this.iterateCallbacks("cacheWillUpdate"))if(t=await e({request:this.request,response:t,event:this.event})||void 0,a=!0,!t)break;return!a&&t&&200!==t.status&&(t=void 0),t}},ec=class{cacheName;plugins;fetchOptions;matchOptions;constructor(e={}){this.cacheName=u(e.cacheName),this.plugins=e.plugins||[],this.fetchOptions=e.fetchOptions,this.matchOptions=e.matchOptions}handle(e){let[t]=this.handleAll(e);return t}handleAll(e){e instanceof FetchEvent&&(e={event:e,request:e.request});let t=e.event,a="string"==typeof e.request?new Request(e.request):e.request,s=new ei(this,e.url?{event:t,request:a,url:e.url,params:e.params}:{event:t,request:a}),r=this._getResponse(s,a,t);return[r,this._awaitComplete(r,s,a,t)]}async _getResponse(e,t,a){let s;await e.runCallbacks("handlerWillStart",{event:a,request:t});try{if(s=await this._handle(t,e),void 0===s||"error"===s.type)throw new m("no-response",{url:t.url})}catch(r){if(r instanceof Error){for(let n of e.iterateCallbacks("handlerDidError"))if(void 0!==(s=await n({error:r,event:a,request:t})))break}if(!s)throw r}for(let r of e.iterateCallbacks("handlerWillRespond"))s=await r({event:a,request:t,response:s});return s}async _awaitComplete(e,t,a,s){let r,n;try{r=await e}catch{}try{await t.runCallbacks("handlerDidRespond",{event:s,request:a,response:r}),await t.doneWaiting()}catch(e){e instanceof Error&&(n=e)}if(await t.runCallbacks("handlerDidComplete",{event:s,request:a,response:r,error:n}),t.destroy(),n)throw n}},eo=class extends ec{_networkTimeoutSeconds;constructor(e={}){super(e),this.plugins.some(e=>"cacheWillUpdate"in e)||this.plugins.unshift(er),this._networkTimeoutSeconds=e.networkTimeoutSeconds||0}async _handle(e,t){let a;let s=[],r=[];if(this._networkTimeoutSeconds){let{id:n,promise:i}=this._getTimeoutPromise({request:e,logs:s,handler:t});a=n,r.push(i)}let n=this._getNetworkPromise({timeoutId:a,request:e,logs:s,handler:t});r.push(n);let i=await t.waitUntil((async()=>await t.waitUntil(Promise.race(r))||await n)());
1if(!i)throw new m("no-response",{url:e.url});return i}_getTimeoutPromise({request:e,logs:t,handler:a}){let s;return{promise:new Promise(t=>{s=setTimeout(async()=>{t(await a.cacheMatch(e))},1e3*this._networkTimeoutSeconds)}),id:s}}async _getNetworkPromise({timeoutId:e,request:t,logs:a,handler:s}){let r,n;try{n=await s.fetchAndCachePut(t)}catch(e){e instanceof Error&&(r=e)}return e&&clearTimeout(e),(r||!n)&&(n=await s.cacheMatch(t)),n}},el=class extends ec{_networkTimeoutSeconds;constructor(e={}){super(e),this._networkTimeoutSeconds=e.networkTimeoutSeconds||0}async _handle(e,t){let a,s;try{let a=[t.fetch(e)];if(this._networkTimeoutSeconds){let e=g(1e3*this._networkTimeoutSeconds);a.push(e)}if(!(s=await Promise.race(a)))throw Error(`Timed out the network response after ${this._networkTimeoutSeconds} seconds.`)}catch(e){e instanceof Error&&(a=e)}if(!s)throw new m("no-response",{url:e.url,error:a});return s}};let eh=e=>e&&"object"==typeof e?e:{handle:e};var eu=class{handler;match;method;catchHandler;constructor(e,t,a="GET"){this.handler=eh(t),this.match=e,this.method=a}setCatchHandler(e){this.catchHandler=eh(e)}},ed=class e extends ec{_fallbackToNetwork;static defaultPrecacheCacheabilityPlugin={cacheWillUpdate:async({response:e})=>!e||e.status>=400?null:e};static copyRedirectedCacheableResponsesPlugin={cacheWillUpdate:async({response:e})=>e.redirected?await H(e):e};constructor(t={}){t.cacheName=h(t.cacheName),super(t),this._fallbackToNetwork=!1!==t.fallbackToNetwork,this.plugins.push(e.copyRedirectedCacheableResponsesPlugin)}async _handle(e,t){let a=await t.getPreloadResponse();return a?a:await t.cacheMatch(e)||(t.event&&"install"===t.event.type?await this._handleInstall(e,t):await this._handleFetch(e,t))}async _handleFetch(e,t){let a;let s=t.params||{};if(this._fallbackToNetwork){let r=s.integrity,n=e.integrity,i=!n||n===r;a=await t.fetch(new Request(e,{integrity:"no-cors"!==e.mode?n||r:void 0})),r&&i&&"no-cors"!==e.mode&&(this._useDefaultCacheabilityPluginIfNeeded(),await t.cachePut(e,a.clone()))}else throw new m("missing-precache-entry",{cacheName:this.cacheName,url:e.url});return a}async _handleInstall(e,t){this._useDefaultCacheabilityPluginIfNeeded();let a=await t.fetch(e);if(!await t.cachePut(e,a.clone()))throw new m("bad-precaching-response",{url:e.url,status:a.status});return a}_useDefaultCacheabilityPluginIfNeeded(){let t=null,a=0;for(let[s,r]of this.plugins.entries())r!==e.copyRedirectedCacheableResponsesPlugin&&(r===e.defaultPrecacheCacheabilityPlugin&&(t=s),r.cacheWillUpdate&&a++);0===a?this.plugins.push(e.defaultPrecacheCacheabilityPlugin):a>1&&null!==t&&this.plugins.splice(t,1)}},em=class extends eu{_allowlist;_denylist;constructor(e,{allowlist:t=[/./],denylist:a=[]}={}){super(e=>this._match(e),e),this._allowlist=t,this._denylist=a}_match({url:e,request:t}){if(t&&"navigate"!==t.mode)return!1;let a=e.pathname+e.search;for(let e of this._denylist)if(e.test(a))return!1;return!!this._allowlist.some(e=>e.test(a))}};let ef=()=>!!self.registration?.navigationPreload,eg=e=>{ef()&&self.addEventListener("activate",t=>{t.waitUntil(self.registration.navigationPreload.enable().then(()=>{e&&self.registration.navigationPreload.setHeaderValue(e)}))})},ew=(e,t=[])=>{for(let a of[...e.searchParams.keys()])t.some(e=>e.test(a))&&e.searchParams.delete(a);return e};var ep=class extends eu{constructor(e,t,a){super(({url:t})=>{let a=e.exec(t.href);if(a){if(t.origin!==location.origin&&0!==a.index)return;return a.slice(1)}},t,a)}};let ey=e=>{o(e)},e_=e=>{if(!e)throw new m("add-to-cache-list-unexpected-type",{entry:e});if("string"==typeof e){let t=new URL(e,location.href);return{cacheKey:t.href,url:t.href}}let{revision:t,url:a}=e;if(!a)throw new m("add-to-cache-list-unexpected-type",{entry:e});if(!t){let e=new URL(a,location.href);return{cacheKey:e.href,url:e.href}}let s=new URL(a,location.href),r=new URL(a,location.href);return s.searchParams.set("__WB_REVISION__",t),{cacheKey:s.href,url:r.href}};var eb=class{updatedURLs=[];notUpdatedURLs=[];handlerWillStart=async({request:e,state:t})=>{t&&(t.originalRequest=e)};cachedResponseWillBeUsed=async({event:e,state:t,cachedResponse:a})=>{if("install"===e.type&&t?.originalRequest&&t.originalRequest instanceof Request){let e=t.originalRequest.url;a?this.notUpdatedURLs.push(e):this.updatedURLs.push(e)}return a}};let ex=(e,t,a)=>{if("string"==typeof e){let s=new URL(e,location.href);return new eu(({url:e})=>e.href===s.href,t,a)}if(e instanceof RegExp)return new ep(e,t,a);if("function"==typeof e)return new eu(e,t,a);if(e instanceof eu)return e;
1throw new m("unsupported-route-type",{moduleName:"serwist",funcName:"parseRoute",paramName:"capture"})},ev=async(e,t,a)=>{let s=t.map((e,t)=>({index:t,item:e})),r=async e=>{let t=[];for(;;){let r=s.pop();if(!r)return e(t);let n=await a(r.item);t.push({result:n,index:r.index})}},n=Array.from({length:e},()=>new Promise(r));return(await Promise.all(n)).flat().sort((e,t)=>e.index<t.index?-1:1).map(e=>e.result)};"undefined"!=typeof navigator&&/^((?!chrome|android).)*safari/i.test(navigator.userAgent);let eE="cache-entries",eR=e=>{let t=new URL(e,location.href);return t.hash="",t.href};var eq=class{_cacheName;_db=null;constructor(e){this._cacheName=e}_getId(e){return`${this._cacheName}|${eR(e)}`}_upgradeDb(e){let t=e.createObjectStore(eE,{keyPath:"id"});t.createIndex("cacheName","cacheName",{unique:!1}),t.createIndex("timestamp","timestamp",{unique:!1})}_upgradeDbAndDeleteOldDbs(e){this._upgradeDb(e),this._cacheName&&function(e,{blocked:t}={}){let a=indexedDB.deleteDatabase(e);t&&a.addEventListener("blocked",e=>t(e.oldVersion,e)),P(a).then(()=>void 0)}(this._cacheName)}async setTimestamp(e,t){e=eR(e);let a={id:this._getId(e),cacheName:this._cacheName,url:e,timestamp:t},s=(await this.getDb()).transaction(eE,"readwrite",{durability:"relaxed"});await s.store.put(a),await s.done}async getTimestamp(e){return(await (await this.getDb()).get(eE,this._getId(e)))?.timestamp}async expireEntries(e,t){let a=await (await this.getDb()).transaction(eE,"readwrite").store.index("timestamp").openCursor(null,"prev"),s=[],r=0;for(;a;){let n=a.value;n.cacheName===this._cacheName&&(e&&n.timestamp<e||t&&r>=t?(a.delete(),s.push(n.url)):r++),a=await a.continue()}return s}async getDb(){return this._db||(this._db=await I("serwist-expiration",1,{upgrade:this._upgradeDbAndDeleteOldDbs.bind(this)})),this._db}},eS=class{_isRunning=!1;_rerunRequested=!1;_maxEntries;_maxAgeSeconds;_matchOptions;_cacheName;_timestampModel;constructor(e,t={}){this._maxEntries=t.maxEntries,this._maxAgeSeconds=t.maxAgeSeconds,this._matchOptions=t.matchOptions,this._cacheName=e,this._timestampModel=new eq(e)}async expireEntries(){if(this._isRunning){this._rerunRequested=!0;return}this._isRunning=!0;let e=this._maxAgeSeconds?Date.now()-1e3*this._maxAgeSeconds:0,t=await this._timestampModel.expireEntries(e,this._maxEntries),a=await self.caches.open(this._cacheName);for(let e of t)await a.delete(e,this._matchOptions);this._isRunning=!1,this._rerunRequested&&(this._rerunRequested=!1,this.expireEntries())}async updateTimestamp(e){await this._timestampModel.setTimestamp(e,Date.now())}async isURLExpired(e){if(!this._maxAgeSeconds)return!1;let t=await this._timestampModel.getTimestamp(e),a=Date.now()-1e3*this._maxAgeSeconds;return void 0===t||t<a}async delete(){this._rerunRequested=!1,await this._timestampModel.expireEntries(Number.POSITIVE_INFINITY)}};let eD=e=>{w.add(e)};var eN=class{_config;_cacheExpirations;constructor(e={}){this._config=e,this._cacheExpirations=new Map,this._config.maxAgeFrom||(this._config.maxAgeFrom="last-fetched"),this._config.purgeOnQuotaError&&eD(()=>
1this.deleteCacheAndMetadata())}_getCacheExpiration(e){if(e===u())throw new m("expire-custom-caches-only");let t=this._cacheExpirations.get(e);return t||(t=new eS(e,this._config),this._cacheExpirations.set(e,t)),t}cachedResponseWillBeUsed({event:e,cacheName:t,request:a,cachedResponse:s}){if(!s)return null;let r=this._isResponseDateFresh(s),n=this._getCacheExpiration(t),i="last-used"===this._config.maxAgeFrom,c=(async()=>{i&&await n.updateTimestamp(a.url),await n.expireEntries()})();try{e.waitUntil(c)}catch{}return r?s:null}_isResponseDateFresh(e){if("last-used"===this._config.maxAgeFrom)return!0;let t=Date.now();if(!this._config.maxAgeSeconds)return!0;let a=this._getDateHeaderTimestamp(e);return null===a||a>=t-1e3*this._config.maxAgeSeconds}_getDateHeaderTimestamp(e){if(!e.headers.has("date"))return null;let t=new Date(e.headers.get("date")).getTime();return Number.isNaN(t)?null:t}async cacheDidUpdate({cacheName:e,request:t}){let a=this._getCacheExpiration(e);await a.updateTimestamp(t.url),await a.expireEntries()}async deleteCacheAndMetadata(){for(let[e,t]of this._cacheExpirations)await self.caches.delete(e),await t.delete();this._cacheExpirations=new Map}};let eC=/^\/(\w+\/)?collect/,eT=e=>async({queue:t})=>{let a;for(;a=await t.shiftRequest();){let{request:s,timestamp:r}=a,n=new URL(s.url);try{let t="POST"===s.method?new URLSearchParams(await s.clone().text()):n.searchParams,a=r-(Number(t.get("qt"))||0),i=Date.now()-a;if(t.set("qt",String(i)),e.parameterOverrides)for(let a of Object.keys(e.parameterOverrides)){let s=e.parameterOverrides[a];t.set(a,s)}"function"==typeof e.hitFilter&&e.hitFilter.call(null,t),await fetch(new Request(n.origin+n.pathname,{body:t.toString(),method:"POST",mode:"cors",credentials:"omit",headers:{"Content-Type":"text/plain"}}))}catch(e){throw await t.unshiftRequest(a),e}}},eP=e=>{let t=({url:e})=>"www.google-analytics.com"===e.hostname&&eC.test(e.pathname),a=new el({plugins:[e]});return[new eu(t,a,"GET"),new eu(t,a,"POST")]},ek=e=>new eu(({url:e})=>"www.google-analytics.com"===e.hostname&&"/analytics.js"===e.pathname,new eo({cacheName:e}),"GET"),eI=e=>new eu(({url:e})=>"www.googletagmanager.com"===e.hostname&&"/gtag/js"===e.pathname,new eo({cacheName:e}),"GET"),eA=e=>new eu(({url:e})=>"www.googletagmanager.com"===e.hostname&&"/gtm.js"===e.pathname,new eo({cacheName:e}),"GET"),eU=({serwist:e,cacheName:t,...a})=>{let s=l(t),r=new es("serwist-google-analytics",{maxRetentionTime:2880,onSync:eT(a)});for(let t of[eA(s),ek(s),eI(s),...eP(r)])e.registerRoute(t)};var eL=class{_fallbackUrls;_serwist;constructor({fallbackUrls:e,serwist:t}){this._fallbackUrls=e,this._serwist=t}async handlerDidError(e){for(let t of this._fallbackUrls)if("string"==typeof t){let e=await this._serwist.matchPrecache(t);if(void 0!==e)return e}else if(t.matcher(e)){let e=await this._serwist.matchPrecache(t.url);if(void 0!==e)return e}}};let eF=(e,t,a)=>{let s,r;let n=e.size;if(a&&a>n||t&&t<0)throw new m("range-not-satisfiable",{size:n,end:a,start:t});return void 0!==t&&void 0!==a?(s=t,r=a+1):void 0!==t&&void 0===a?(s=t,r=n):void 0!==a&&void 0===t&&(s=n-a,r=n),{start:s,end:r}},eO=e=>{let t=e.trim().toLowerCase();if(!t.startsWith("bytes="))throw new m("unit-must-be-bytes",{normalizedRangeHeader:t});if(t.includes(","))throw new m("single-range-only",{normalizedRangeHeader:t});let a=/(\d*)-(\d*)/.exec(t);if(!a||!(a[1]||a[2]))throw new m("invalid-range-values",{normalizedRangeHeader:t});return{start:""===a[1]?void 0:Number(a[1]),end:""===a[2]?void 0:Number(a[2])}},eM=async(e,t)=>{try{if(206===t.status)return t;let a=e.headers.get("range");if(!a)throw new m("no-range-header");let s=eO(a),r=await t.blob(),n=eF(r,s.start,s.end),i=r.slice(n.start,n.end),c=i.size,o=new Response(i,{status:206,statusText:"Partial Content",headers:t.headers});return o.headers.set("Content-Length",String(c)),o.headers.set("Content-Range",`bytes ${n.start}-${n.end-1}/${r.size}`),o}catch(e){return new Response("",{status:416,statusText:"Range Not Satisfiable"})}};var eB=class{cachedResponseWillBeUsed=async({request:e,cachedResponse:t})=>t&&e.headers.has("range")?await eM(e,t):t},eK=class extends ec{async _handle(e,t){let a;
1let s=await t.cacheMatch(e);if(s);else try{s=await t.fetchAndCachePut(e)}catch(e){e instanceof Error&&(a=e)}if(!s)throw new m("no-response",{url:e.url,error:a});return s}},eW=class extends ec{constructor(e={}){super(e),this.plugins.some(e=>"cacheWillUpdate"in e)||this.plugins.unshift(er)}async _handle(e,t){let a;let s=t.fetchAndCachePut(e).catch(()=>{});t.waitUntil(s);let r=await t.cacheMatch(e);if(r);else try{r=await s}catch(e){e instanceof Error&&(a=e)}if(!r)throw new m("no-response",{url:e.url,error:a});return r}},ej=class extends eu{constructor(e,t){super(({request:a})=>{let s=e.getUrlsToPrecacheKeys();for(let r of function*(e,{directoryIndex:t="index.html",ignoreURLParametersMatching:a=[/^utm_/,/^fbclid$/],cleanURLs:s=!0,urlManipulation:r}={}){let n=new URL(e,location.href);n.hash="",yield n.href;let i=ew(n,a);if(yield i.href,t&&i.pathname.endsWith("/")){let e=new URL(i.href);e.pathname+=t,yield e.href}if(s){let e=new URL(i.href);e.pathname+=".html",yield e.href}if(r)for(let e of r({url:n}))yield e.href}(a.url,t)){let t=s.get(r);if(t)return{cacheKey:t,integrity:e.getIntegrityForPrecacheKey(t)}}},e.precacheStrategy)}},e$=class{_precacheController;constructor({precacheController:e}){this._precacheController=e}cacheKeyWillBeUsed=async({request:e,params:t})=>{let a=t?.cacheKey||this._precacheController.getPrecacheKeyForUrl(e.url);return a?new Request(a,{headers:e.headers}):e}};let eH=(e,t={})=>{let{cacheName:a,plugins:s=[],fetchOptions:r,matchOptions:n,fallbackToNetwork:i,directoryIndex:c,ignoreURLParametersMatching:o,cleanURLs:l,urlManipulation:u,cleanupOutdatedCaches:d,concurrency:m=10,navigateFallback:f,navigateFallbackAllowlist:g,navigateFallbackDenylist:w}=t??{};return{precacheStrategyOptions:{cacheName:h(a),plugins:[...s,new e$({precacheController:e})],fetchOptions:r,matchOptions:n,fallbackToNetwork:i},precacheRouteOptions:{directoryIndex:c,ignoreURLParametersMatching:o,cleanURLs:l,urlManipulation:u},precacheMiscOptions:{cleanupOutdatedCaches:d,concurrency:m,navigateFallback:f,navigateFallbackAllowlist:g,navigateFallbackDenylist:w}}};var eV=class{_urlsToCacheKeys=new Map;_urlsToCacheModes=new Map;_cacheKeysToIntegrities=new Map;_concurrentPrecaching;_precacheStrategy;_routes;_defaultHandlerMap;_catchHandler;_requestRules;constructor({precacheEntries:e,precacheOptions:t,skipWaiting:a=!1,importScripts:s,navigationPreload:r=!1,cacheId:n,clientsClaim:i=!1,runtimeCaching:c,offlineAnalyticsConfig:o,disableDevLogs:l=!1,fallbacks:h,requestRules:u}={}){let{precacheStrategyOptions:d,precacheRouteOptions:m,precacheMiscOptions:f}=eH(this,t);if(this._concurrentPrecaching=f.concurrency,this._precacheStrategy=new ed(d),this._routes=new Map,this._defaultHandlerMap=new Map,this._requestRules=u,this.handleInstall=this.handleInstall.bind(this),this.handleActivate=this.handleActivate.bind(this),this.handleFetch=this.handleFetch.bind(this),this.handleCache=this.handleCache.bind(this),s&&s.length>0&&self.importScripts(...s),r&&eg(),void 0!==n&&ey({prefix:n}),a?self.skipWaiting():self.addEventListener("message",e=>{e.data&&"SKIP_WAITING"===e.data.type&&self.skipWaiting()}),i&&R(),e&&e.length>0&&this.addToPrecacheList(e),f.cleanupOutdatedCaches&&E(d.cacheName),this.registerRoute(new ej(this,m)),f.navigateFallback&&this.registerRoute(new em(this.createHandlerBoundToUrl(f.navigateFallback),{allowlist:f.navigateFallbackAllowlist,denylist:f.navigateFallbackDenylist})),void 0!==o&&("boolean"==typeof o?o&&eU({serwist:this}):eU({...o,serwist:this})),void 0!==c){if(void 0!==h){let e=new eL({fallbackUrls:h.entries,serwist:this});c.forEach(t=>{t.handler instanceof ec&&!t.handler.plugins.some(e=>"handlerDidError"in e)&&t.handler.plugins.push(e)})}for(let e of c)this.registerCapture(e.matcher,e.handler,e.method)}l&&V()}get precacheStrategy(){return this._precacheStrategy}get routes(){return this._routes}addEventListeners(){self.addEventListener("install",this.handleInstall),self.addEventListener("activate",this.handleActivate),self.addEventListener("fetch",this.handleFetch),self.addEventListener("message",this.handleCache)}addToPrecacheList(e){let t=[];for(let a of e){"string"==typeof a?t.push(a):a&&!a.integrity&&void 0===a.revision&&t.push(a.url);let{cacheKey:e,url:s}=e_(a),r="string"!=typeof a&&a.revision?"reload":"default";if(this._urlsToCacheKeys.has(s)&&this._urlsToCacheKeys.get(s)!==e)throw new m
1("add-to-cache-list-conflicting-entries",{firstEntry:this._urlsToCacheKeys.get(s),secondEntry:e});if("string"!=typeof a&&a.integrity){if(this._cacheKeysToIntegrities.has(e)&&this._cacheKeysToIntegrities.get(e)!==a.integrity)throw new m("add-to-cache-list-conflicting-integrities",{url:s});this._cacheKeysToIntegrities.set(e,a.integrity)}this._urlsToCacheKeys.set(s,e),this._urlsToCacheModes.set(s,r)}t.length>0&&console.warn(`Serwist is precaching URLs without revision info: ${t.join(", ")}
2This is generally NOT safe. Learn more at https://bit.ly/wb-precache`)}handleInstall(e){return this.registerRequestRules(e),q(e,async()=>{let t=new eb;this.precacheStrategy.plugins.push(t),await ev(this._concurrentPrecaching,Array.from(this._urlsToCacheKeys.entries()),async([t,a])=>{let s=this._cacheKeysToIntegrities.get(a),r=this._urlsToCacheModes.get(t),n=new Request(t,{integrity:s,cache:r,credentials:"same-origin"});await Promise.all(this.precacheStrategy.handleAll({event:e,request:n,url:new URL(n.url),params:{cacheKey:a}}))});let{updatedURLs:a,notUpdatedURLs:s}=t;return{updatedURLs:a,notUpdatedURLs:s}})}async registerRequestRules(e){if(this._requestRules&&e?.addRoutes)try{await e.addRoutes(this._requestRules),this._requestRules=void 0}catch(e){throw e}}handleActivate(e){return q(e,async()=>{let e=await self.caches.open(this.precacheStrategy.cacheName),t=await e.keys(),a=new Set(this._urlsToCacheKeys.values()),s=[];for(let r of t)a.has(r.url)||(await e.delete(r),s.push(r.url));return{deletedCacheRequests:s}})}handleFetch(e){let{request:t}=e,a=this.handleRequest({request:t,event:e});a&&e.respondWith(a)}handleCache(e){if(e.data&&"CACHE_URLS"===e.data.type){let{payload:t}=e.data,a=Promise.all(t.urlsToCache.map(t=>{let a;return a="string"==typeof t?new Request(t):new Request(...t),this.handleRequest({request:a,event:e})}));e.waitUntil(a),e.ports?.[0]&&a.then(()=>e.ports[0].postMessage(!0))}}setDefaultHandler(e,t="GET"){this._defaultHandlerMap.set(t,eh(e))}setCatchHandler(e){this._catchHandler=eh(e)}registerCapture(e,t,a){let s=ex(e,t,a);return this.registerRoute(s),s}registerRoute(e){this._routes.has(e.method)||this._routes.set(e.method,[]),this._routes.get(e.method).push(e)}unregisterRoute(e){if(!this._routes.has(e.method))throw new m("unregister-route-but-not-found-with-method",{method:e.method});let t=this._routes.get(e.method).indexOf(e);if(t>-1)this._routes.get(e.method).splice(t,1);else throw new m("unregister-route-route-not-registered")}getUrlsToPrecacheKeys(){return this._urlsToCacheKeys}getPrecachedUrls(){return[...this._urlsToCacheKeys.keys()]}getPrecacheKeyForUrl(e){let t=new URL(e,location.href);return this._urlsToCacheKeys.get(t.href)}getIntegrityForPrecacheKey(e){return this._cacheKeysToIntegrities.get(e)}async matchPrecache(e){let t=e instanceof Request?e.url:e,a=this.getPrecacheKeyForUrl(t);if(a)return(await self.caches.open(this.precacheStrategy.cacheName)).match(a)}createHandlerBoundToUrl(e){let t=this.getPrecacheKeyForUrl(e);if(!t)throw new m("non-precached-url",{url:e});return a=>(a.request=new Request(e),a.params={cacheKey:t,...a.params},this.precacheStrategy.handle(a))}handleRequest({request:e,event:t}){let a;let s=new URL(e.url,location.href);if(!s.protocol.startsWith("http"))return;let r=s.origin===location.origin,{params:n,route:i}=this.findMatchingRoute({event:t,request:e,sameOrigin:r,url:s}),c=i?.handler,o=e.method;if(!c&&this._defaultHandlerMap.has(o)&&(c=this._defaultHandlerMap.get(o)),!c)return;try{a=c.handle({url:s,request:e,event:t,params:n})}catch(e){a=Promise.reject(e)}let l=i?.catchHandler;return a instanceof Promise&&(this._catchHandler||l)&&(a=a.catch(async a=>{if(l)try{return await l.handle({url:s,request:e,event:t,params:n})}catch(e){e instanceof Error&&(a=e)}if(this._catchHandler)return this._catchHandler.handle({url:s,request:e,event:t});throw a})),a}findMatchingRoute({url:e,sameOrigin:t,request:a,event:s}){for(let r of this._routes.get(a.method)||[]){let n;let i=r.match({url:e,sameOrigin:t,request:a,event:s});if(i)return Array.isArray(n=i)&&0===n.length?n=void 0:i.constructor===Object&&0===Object.keys(i).length?n=void 0:"boolean"==typeof i&&(n=void 0),{route:r,params:n}}return{}}};let eG=[{matcher:/^https:\/\/fonts\.(?:gstatic)\.com\/.*/i,handler:new eK({cacheName:"google-fonts-webfonts",plugins:[new eN({maxEntries:4,maxAgeSeconds:31536e3,maxAgeFrom:"last-used"})]})},{matcher:/^https:\/\/fonts\.(?:googleapis)\.com\/.*/i,handler:new eW({cacheName:"google-fonts-stylesheets",plugins:[new eN({maxEntries:4,maxAgeSeconds:604800,maxAgeFrom:"last-used"})]})},{matcher:/\.(?:eot|otf|ttc|ttf|woff|woff2|font.css)$/i,handler:new eW({cacheName:"static-font-assets",plugins:[new eN({maxEntries:4,maxAgeSeconds:604800,maxAgeFrom:"last-used"})]})},{matcher:/\.(?:jpg|jpeg|gif|png|svg|ico|webp)$/i,handler:new eW({cacheName:"static-image-assets",plugins:[new eN({maxEntries:64,maxAgeSeconds:2592e3,maxAgeFrom:"last-used"})]})},{matcher:/\/_next\/static.+\.js$/i,handler:new eK({cacheName:"next-static-js-assets",plugins:[new eN({maxEntries:64,maxAgeSeconds:86400,maxAgeFrom:"last-used"})]})},{matcher:/\/_next\/image\?url=.+$/i,handler:new eW({cacheName:"next-image",plugins:[new eN({maxEntries:64,maxAgeSeconds:86400,maxAgeFrom:"last-used"})]})},{matcher:/\.(?:mp3|wav|ogg)$/i,handler:new eK({cacheName:"static-audio-assets",plugins:[new eN({maxEntries:32,maxAgeSeconds:86400,maxAgeFrom:"last-used"}),new eB]})},{matcher:/\.(?:mp4|webm)$/i,handler:new eK({cacheName:"static-video-assets",plugins:[new eN({maxEntries:32,maxAgeSeconds:86400,maxAgeFrom:"last-used"}),new eB]})},{matcher:/\.(?:js)$/i,handler:new eW({cacheName:"static-js-assets",plugins:[new eN({maxEntries:48,maxAgeSeconds:86400,maxAgeFrom:"last-used"})]})},{matcher:/\.(?:css|less)$/i,handler:new eW({cacheName:"static-style-assets",plugins:[new eN({maxEntries:32,maxAgeSeconds:86400,maxAgeFrom:"last-used"})]})}
2,{matcher:/\/_next\/data\/.+\/.+\.json$/i,handler:new eo({cacheName:"next-data",plugins:[new eN({maxEntries:32,maxAgeSeconds:86400,maxAgeFrom:"last-used"})]})},{matcher:/\.(?:json|xml|csv)$/i,handler:new eo({cacheName:"static-data-assets",plugins:[new eN({maxEntries:32,maxAgeSeconds:86400,maxAgeFrom:"last-used"})]})},{matcher:/\/api\/auth\/.*/,handler:new el({networkTimeoutSeconds:10})},{matcher:({sameOrigin:e,url:{pathname:t}})=>e&&t.startsWith("/api/"),method:"GET",handler:new eo({cacheName:"apis",plugins:[new eN({maxEntries:16,maxAgeSeconds:86400,maxAgeFrom:"last-used"})],networkTimeoutSeconds:10})},{matcher:({request:e,url:{pathname:t},sameOrigin:a})=>"1"===e.headers.get("RSC")&&"1"===e.headers.get("Next-Router-Prefetch")&&a&&!t.startsWith("/api/"),handler:new eo({cacheName:"pages-rsc-prefetch",plugins:[new eN({maxEntries:32,maxAgeSeconds:86400})]})},{matcher:({request:e,url:{pathname:t},sameOrigin:a})=>"1"===e.headers.get("RSC")&&a&&!t.startsWith("/api/"),handler:new eo({cacheName:"pages-rsc",plugins:[new eN({maxEntries:32,maxAgeSeconds:86400})]})},{matcher:({request:e,url:{pathname:t},sameOrigin:a})=>e.headers.get("Content-Type")?.includes("text/html")&&a&&!t.startsWith("/api/"),handler:new eo({cacheName:"pages",plugins:[new eN({maxEntries:32,maxAgeSeconds:86400})]})},{matcher:({url:{pathname:e},sameOrigin:t})=>t&&!e.startsWith("/api/"),handler:new eo({cacheName:"others",plugins:[new eN({maxEntries:32,maxAgeSeconds:86400})]})},{matcher:({sameOrigin:e})=>!e,handler:new eo({cacheName:"cross-origin",plugins:[new eN({maxEntries:32,maxAgeSeconds:3600})],networkTimeoutSeconds:10})},{matcher:/.*/i,method:"GET",handler:new el}];new eV({precacheEntries:[{'revision':'01160f7098a022f5ab48cbc51ad5c6f2','url':'/TrendingArrow.png'},{'revision':'8f0e18d7c4dd15d3839857f50062d2ee','url':'/_next/static/C4ti0lCp1-_R-s4DCbkd4/_buildManifest.js'},{'revision':'b6652df95db52feb4daf4eca35380933','url':'/_next/static/C4ti0lCp1-_R-s4DCbkd4/_ssgManifest.js'},{'revision':null,'url':'/_next/static/chunks/1292-62a283ce5e5f1519.js'},{'revision':null,'url':'/_next/static/chunks/1323.967e69161c590d92.js'},{'revision':null,'url':'/_next/static/chunks/1636.56475c1d156b9b82.js'},{'revision':null,'url':'/_next/static/chunks/1939.d32070243726663c.js'},{'revision':null,'url':'/_next/static/chunks/1956-235d61a9fc30a21a.js'},{'revision':null,'url':'/_next/static/chunks/29107295-2f2cdd0bb8d6b68b.js'},{'revision':null,'url':'/_next/static/chunks/2936.fbec9b3bbc4a9253.js'},{'revision':null,'url':'/_next/static/chunks/2b7b2d2a-870596fce3541940.js'},{'revision':null,'url':'/_next/static/chunks/3134-74d11c2671cecf5f.js'},{'revision':null,'url':'/_next/static/chunks/3359-23627ec1bc496876.js'},{'revision':null,'url':'/_next/static/chunks/3698-d2a8fac86c7bd3d0.js'},{'revision':null,'url':'/_next/static/chunks/4097-b3fd50723b5f74ec.js'},{'revision':null,'url':'/_next/static/chunks/429-0f05be0d98a12bc3.js'},{'revision':null,'url':'/_next/static/chunks/441.f463a8011efaa38c.js'},{'revision':null,'url':'/_next/static/chunks/4982-260841decd0dd805.js'},{'revision':null,'url':'/_next/static/chunks/5102-14cb9717aec1b603.js'},{'revision':null,'url':'/_next/static/chunks/5168-56c9494fa388f326.js'},{'revision':null,'url':'/_next/static/chunks/6736-58cfa1dfc4aa5fef.js'},{'revision':null,'url':'/_next/static/chunks/7515-40ee7a772a6429f3.js'},{'revision':null,'url':'/_next/static/chunks/7636-a585d0cf3eec69e8.js'},{'revision':null,'url':'/_next/static/chunks/8028.12c151628f1bf9d6.js'},{'revision':null,'url':'/_next/static/chunks/8157.718f90084d8dbafa.js'},{'revision':null,'url':'/_next/static/chunks/8674-db874ac79a1715a2.js'},{'revision':null,'url':'/_next/static/chunks/8686-5cdbb557ee29c90c.js'},{'revision':null,'url':'/_next/static/chunks/8894-89e8f80e28cf5a74.js'},{'revision':null,'url':'/_next/static/chunks/9013-2c518140a4c6acda.js'},{'revision':null,'url':'/_next/static/chunks/9184-69d256cd36afd56f.js'},{'revision':null,'url':'/_next/static/chunks/9332-b3748fc71f49d221.js'},{'revision':null,'url':'/_next/static/chunks/9661-e110074d0ba76bb1.js'},{'revision':null,'url':'/_next/static/chunks/9775-ffe7c06347e50abb.js'},{'revision':null,'url':'/_next/static/chunks/framework-faac8c5d070c705a.js'},{'revision':null,'url':'/_next/static/chunks/main-80c9129d22b06f3e.js'},{'revision':null,'url':'/_next/static/chunks/pages/404-97c463faf6381ad1.js'},{'revision':null,'url':'/_next/static/chunks/pages/_app-bf482663653d1d5e.js'},{'revision':null,'url':'/_next/static/chunks/pages/_b2b/_b2b-269234220d428e4e.js'},{'revision':null,'url':'/_next/static/chunks/pages/_error-bbafaf9fe2dd9497.js'},{'revision':null,'url':'/_next/static/chunks/pages/about-0e2fabfe0422ba72.js'},{'revision':null,'url':'/_next/static/chunks/pages/advancedsearch-890f3f310fa487ed.js'},{'revision':null,'url':'/_next/static/chunks/pages/api-access-640051bc50d9dd69.js'},{'revision':null,'url':'/_next/static/chunks/pages/auth-e10ca8f358f76b15.js'},{'revision':null,'url':'/_next/static/chunks/pages/cart-1c2b027ca811e49d.js'},{'revision':null,'url':'/_next/static/chunks/pages/checkout-94a8d92065390cbe.js'},{'revision':null,'url':'/_next/static/chunks/pages/contact-2dec136c97dd8052.js'},{'revision':null,'url':'/_next/static/chunks/pages/creators-dc128d84908da0ce.js'},{'revision':null,'url':'/_next/static/chunks/pages/dashboard-981b434c0a7f5037.js'},{'revision':null,'url':'/_next/static/chunks/pages/dashboard/downloads-e7c2fd2853781733.js'},{'revision':null,'url':'/_next/static/chunks/pages/dashboard/favorites-141d7258dc7ebde3.js'},{'revision':null,'url':'/_next/static/chunks/pages/dashboard/my-videos-7f5e1cf6940d3612.js'},{'revision':null,'url':'/_next/static/chunks/pages/dashboard/playlists-a9ba3be1c34ff2f7.js'},{'revision':null,'url':'/_next/static/chunks/pages/dashboard/playlists/%5BplaylistId%5D-e656d54bfff9f697.js'},{'revision':null,'url':'/_next/static/chunks/pages/dashboard/playlists/%5BplaylistId%5D/download-4edc05db99d904b3.js'},{'revision':null,'url':'/_next/static/chunks/pages/dashboard/settings-250ae637cf95365d.js'},{'revision':null,'url':'/_next/static/chunks/pages/dashboard/settings/account-e7398041bc025ffa.js'},{'revision':null,'url':'/_next/static/chunks/pages/dashboard/settings/cart-f0d16749c19b053b.js'},{'revision':null,'url':'/_next/static/chunks/pages/dashboard/settings/purchase-history-d49da8e0c7fb545b.js'},{'revision':null,'url':'/_next/static/chunks/pages/dashboard/settings/user-13af6584d332be84.js'},{'revision':null,'url':'/_next/static/chunks/pages/dashboard/support-7bfd356ff1560bb8.js'},{'revision':null,'url':'/_next/static/chunks/pages/details/%5Bvideo-id%5D-aee28f36b6896f27.js'},{'revision':null,'url':'/_next/static/chunks/pages/download-faf106aad3928a65.js'},{'revision':null,'url':'/_next/static/chunks/pages/faq-6aebc73657fc7f26.js'},{'revision':null,'url':'/_next/static/chunks/pages/index-b6251da9b4ba9ad1.js'},{'revision':null,'url':'/_next/static/chunks/pages/moats-59bf5c611c2175fe.js'},{'revision':null,'url':'/_next/static/chunks/pages/payment-verfification-81400cc52db91f50.js'},{'revision':null,'url':'/_next/static/chunks/pages/playlist/%5Bslug%5D-9e5e705bf3aa010a.js'},{'revision':null,'url':'/_next/static/chunks/pages/preview/%5Bvideo-id%5D-452f3881937b41e2.js'},{'revision':null,'url':'/_next/static/chunks/pages/pricing-af714bfd02322f98.js'},{'revision':null,'url':'/_next/static/chunks/pages/privacy-d9c8d2fdc01e7304.js'},{'revision':null,'url':'/_next/static/chunks/pages/register-66983c4903fa2e63.js'},{'revision':null,'url':'/_next/static/chunks/pages/reset-password-b6494d
274be5f3c4e.js'},{'revision':null,'url':'/_next/static/chunks/pages/search-30b85dfc89e6fad6.js'},{'revision':null,'url':'/_next/static/chunks/pages/sign-in-d2561ca2cfe07baa.js'},{'revision':null,'url':'/_next/static/chunks/pages/terms-ca17a4f2f482e10f.js'},{'revision':null,'url':'/_next/static/chunks/pages/thank-you-b57b079a816a8d29.js'},{'revision':null,'url':'/_next/static/chunks/pages/verify-email-3a1dd4ebf3345d37.js'},{'revision':null,'url':'/_next/static/chunks/pages/video/%5BvideoId%5D-b06f47f0c6a9c163.js'},{'revision':'79330112775102f91e1010318bae2bd3','url':'/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js'},{'revision':null,'url':'/_next/static/chunks/webpack-e699f2f849ac5c8f.js'},{'revision':null,'url':'/_next/static/css/2d30baf67cbf4d14.css'},{'revision':null,'url':'/_next/static/css/7df6036f1792ad3c.css'},{'revision':'a7a07e7f06f7f684948562bb2e7d1cbd','url':'/_next/static/media/03a726e65a3a362a-s.p.otf'},{'revision':'ffe4b8482bce8bdc826b817b9612d606','url':'/_next/static/media/1d77494a144234a8-s.p.otf'},{'revision':'f921b2e97a9a70806ff539c3bafe282a','url':'/_next/static/media/1f5216a4bf9407b9-s.p.otf'},{'revision':'4c86b87fb0fd338e52aae5de4b72e469','url':'/_next/static/media/2dd26f51d1a550b0-s.p.otf'},{'revision':'68f5348d5147581a97a837f49acd03eb','url':'/_next/static/media/2e1eef8d68113f1d-s.p.otf'},{'revision':'64553da1d29c9b599f994559552dfbb9','url':'/_next/static/media/37f446e777bdea38-s.p.otf'},{'revision':'bc3fde4acd3913435833d080f50cbd40','url':'/_next/static/media/3eae7135f83ff05a-s.p.otf'},{'revision':'fc959e662b9ec9579ab6e88ca89db966','url':'/_next/static/media/5ad2fd04ba6df805-s.p.otf'},{'revision':'fbae3b0a55709c6b1ddada0b7e795ff6','url':'/_next/static/media/6e22a38aba8f7bc4-s.p.otf'},{'revision':'735cd067e10239c2c054324b539ad893','url':'/_next/static/media/894d738f7479a472-s.p.otf'},{'revision':'8de2d0df5e09af3f2b32a9f70f05340f','url':'/_next/static/media/8be1ef471758b793-s.p.otf'},{'revision':'a5ee153fb1f7b7c3b7ad574e9813717d','url':'/_next/static/media/98b5a8d49b40ea68-s.p.otf'},{'revision':'142bd743125257ba6942b96fd99feb63','url':'/_next/static/media/b014e6138b65cb7e-s.p.otf'},{'revision':'6387f57283edec714960cf5a1a0ae0e5','url':'/_next/static/media/e740082ad75b2445-s.p.otf'},{'revision':'5b2c5b8b701c394645b79829213a0f2d','url':'/_next/static/media/ead233483b4d2a98-s.p.otf'},{'revision':'62072dad87a6e6297ca922dc718028d7','url':'/_next/static/media/ec126ad2bb356ab0-s.p.otf'},{'revision':'04046232ec02423c48c197dd9353e0fc','url':'/android-chrome-192x192.png'},{'revision':'d928a483c30c7db586841c0bf7570d57','url':'/android-chrome-512x512.png'},{'revision':'2c19b9f0919d3cbe7153751e283923e5','url':'/assets/contentful/3b012751fbdea10995a58c396455a84f-Vector.svg'},{'revision':'dc20425d2b9db99821b71f418507aca8','url':'/assets/contentful/Navi_Savi_License_T_C_2024_SHARE.pdf'},{'revision':'311ef1d3a1179556a0b3a48d89765853','url':'/assets/contentful/Vector__2_.svg'},{'revision':'4a51c51518cd60c224bd26f87da75322','url':'/assets/contentful/Vector__3_.svg'},{'revision':'d36cb34779059fd58c10f1b5aaf94ab1','url':'/assets/contentful/Vector__4_.svg'},{'revision':'3791a23980a4320f2d399c3d8b0723ba','url':'/assets/contentful/Vector__5_.svg'},{'revision':'82148485b9bb8097962b8d43c4f7fcfb','url':'/assets/contentful/Vector__6_.svg'},{'revision':'82bac349be15020f666ec559547bb2b0','url':'/assets/contentful/Vector__7_.svg'},{'revision':'8b1655c7eba4bbbf4e3c390d6bcc68f5','url':'/assets/contentful/Vector__8_.svg'},{'revision':'5c88b8fa171d5e290208a1917f211020','url':'/assets/contentful/e8300655a198923aabaad721db5e14d7-Vector.svg'},{'revision':'8c89ef8ab45d47ae9a954822532889f7','url':'/assets/contentful/facebook.png'},{'revision':'5c570427ee23f69853d28aec805eee79','url':'/assets/contentful/instagram.png'},{'revision':'30c453b7f5fbdb09ea0cb42a5dc7a6e5','url':'/assets/contentful/linkedin__1_.png'},{'revision':'77c4308dd3481799c8387b0c2d2cd143','url':'/assets/contentful/logo-navisavi.svg'},{'revision':'c9be58a2d6fd133520f6b0f7022c4fce','url':'/assets/contentful/navisavi.avif'},{'revision':'2430c14438f0b8b93b43959d71ac48a4','url':'/assets/contentful/pinterest.png'},{'revision':'7f52f5210da600292d53d7294e719163','url':'/assets/contentful/powered-by.png'},{'revision':'e30e4714ecadc84324ee6e65ae93d669','url':'/assets/contentful/tik-tok.png'},{'revision':'e84b70246fa64dfe960743ddaa25c1c7','url':'/assets/contentful/tt1_national_parks.jpeg'},{'revision':'83bd06edf646c21bb2bf5b3f5898054e','url':'/assets/contentful/tt2_los_angeles.jpg'},{'revision':'2d8e16a0c0c9cf884062f8c822d7b8ee','url':'/assets/contentful/tt3_museum.jpeg'},{'revision':'200073a2e7fa43db07a199463899e5e9','url':'/assets/contentful/tt4_waterfalls.jpeg'},{'revision':'820040ac81037735acc0f9b8e12f7d48','url':'/assets/contentful/tt5_niagara.jpeg'},{'revision':'8dd27a3e7efcaecfedf349f2bcd44741','url':'/assets/contentful/tt6_yellowstone.webp'},{'revision':'b4199125e50c7a575a5d04b957d241fa','url':'/assets/contentful/tt7_chicago.webp'},{'revision':'3925e989667166b0bbbb1f6d4b07f7bb','url':'/assets/contentful/tt8_ny.jpg'},{'revision':'3e8e7ee8666a9f4e2946f39ff2f806e3','url':'/assets/contentful/twitter.png'},{'revision':'ca6d67e60f758d352745329b283e8f32','url':'/assets/contentful/youtube.png'},{'revision':'252a9e59ff0439ff7455e5ed78da04ab','url':'/cart/plan1.svg'},{'revision':'3ddb6339bc9adb113e3063dcca525255','url':'/cart/plan10.svg'},{'revision':'870c114e3115d8b980fdc2ec64e3845b','url':'/cart/plan11.svg'},{'revision':'b205e844d41bd0c765dad94430b152f2','url':'/cart/plan12.svg'},{'revision':'a5f094619c69f925fa4af9372bbad165','url':'/cart/plan13.svg'},{'revision':'33371417a00438dc58d7b8d6e24e6386','url':'/cart/plan14.svg'},{'revision':'9c70959061ea232f440ab100b356a503','url':'/cart/plan15.svg'},{'revision':'ff716307dc2d5506bfba4b7fb27dc8c5','url':'/cart/plan16.svg'},{'revision':'096492cd0d1381c3177b9b34228b40ac','url':'/cart/plan2.svg'},{'revision':'4143ff1e318b09900fda804a1cc98135','url':'/cart/plan3.svg'},{'revision':'c5b3383a8228224941fbbe18daeb5c76','url':'/cart/plan4.svg'},{'revision':'13505929a72f8b6548013e42a9d3c946','url':'/cart/plan5.svg'},{'revision':'f171601dd3eef8f0cd6e44d458eb33d2','url':'/cart/plan6.svg'},{'revision':'21badc8f4e29e2b4c47343375c3e0012','url':'/cart/plan7.svg'},{'revision':'6a489945b035cec5218263449d1420bf','url':'/cart/plan8.svg'},{'revision':'92834f742a68bc08f95afa7e5c91ab6d','url':'/cart/plan9.svg'},{'revision':'a6b893da13f95e72cb6a0f08ea5b7159','url':'/citythumbs/barcelona.png'},{'revision':'7f13d19c068da8794b878f341b5eba3a','url':'/citythumbs/capetown.png'},{'revision':'1df550d0bf583f2489d93eca999f7077','url':'/citythumbs/chicago.png'},{'revision':'0a6ffe4caaa5d2d8641e92d3e1726268','url':'/citythumbs/dubai.png'},{'revision':'f649eed14531a286ac57270fa8dd710a','url':'/citythumbs/istanbul.png'},{'revision':'9994c5f98beca6ff582178b49d42b51c','url':'/citythumbs/london.png'},{'revision':'68aad0bc2eb6d0e5b90dc42c631b3f1f','url':'/citythumbs/newyork.png'},{'revision':'c93f230b72ee87179ded411264401e2f','url':'/citythumbs/paris.png'},{'revision':'880455e7e78d54a049e5e3d5b031e234','url':'/citythumbs/singapore.png'},{'revision':'9ef1ffaff5a0a008fe0b0b9a3b02b86a','url':'/citythumbs/tokyo.png'},{'revision':'76710dc7fe43a9c819cb87f002e06a6f','url':'/cityvideos/barcelona.mp4'},{'revision':'75160334f3c7e9f139fa6697d352937e','url':'/cityvideos/capetown.mp4'},{'revision':'bd80a842a9235e8de0fe3f4f2a811e7d','url':'/cityvideos/chicago.mp4'},{'revision':'c44c94f8c307f15bb981e753615cacb6','url':'/cityvideos/dubai.mp4'},{'revision':'6a3a8152d575d5b7731452c2f21d4c9f','url':'/cityvideos/istanbul.mp4'},{'revision':'2863576579b75f8ccbde54ddb691acfd','url':'/cityvideos/london.mp4'},{'revision':'eab8a8d84307f30884fe45915ab0c8af','url':'/cityvideos/newyork.mp4'},{'revision':'bef83d4c637a60bda390d504b252edfc','url':'/cityvideos/paris.mp4'},{'revision':'168aae8c36914472e1a483f9b4d1ae99','url':'/cityvideos/singapore.mp4'},{'revision':'674c04c6593aa244332e91edf8fca70c','url':'/cityvideos/tokyo.mp4'},{'revision':'2040774c9cdc637dbe787316082e05e3','url':'/favicon.ico'},{'revision':'0018972c0d530f8e197ce11a9867b6e2','url':'/images/banner-img.jpg'},{'revision':'fb09c9003a09fa5b6d887a29528694f1','url':'/images/escapes-logo.png'},{'revision':'80989b908121dfae367c7f07f032eec1','url':'/images/internet.png'},{'revision':'ac592616106f92ee75cc7b31a965eb62','url':'/images/mastercard.png'},{'revision':'4915643f4827674f663a5f8bdf466437','url':'/images/pirates-logo.png'},{'revision':'fc5a1d29762882df11cbe7bb9a57a6b5','url':'/images/rakuten-logo.png'},{'revision':'df396f677fbec22451de1dd66d815ce3','url':'/images/saudia-logo.svg'},{'revision':'9b340c7f5ab9a3a725c6300123ba5350','url':'/images/tui-logo.png'},{'revision':'d60cd2c086f48e3575b91d3ed308ba11','url':'/images/visa.png'},{'revision':'833a7c639960eedca911e4c5a9801fa2','url':'/images/vodafone-logo.png'},{'revision':'e9b73a16eb12f84f97256e6c074664d4','url':'/manifest.json'},{'revision':'7be54c2877aeaef43a6e6c8aa003aebb','url':'/navi-logo.png'},{'revision':'d045b69b151c3dd1baec3aa2a4bae11f','url':'/navisavi.png'},{'revision':'6a199cc316493553d40872f4c94cc028','url':'/robots.txt'},{'revision':'b74444591b2e327b6e864bcb82407bd3','url':'/sitemap-0.xml'},{'revision':'32bd084c3248e014e503439b4c5e2c3d','url':'/sitemap.xml'},{'revision':'c5be59d912029394388a08535b6b0e56','url':'/testimages/fallback-card.jpeg'}
2,{'revision':'1e5e345a6533f56724fc0dd0750c8147','url':'/testvideos/login-video.mp4'},{'revision':'968bef36f2c8dfadcea5d3d695496c29','url':'/videos/background-video.mp4'},{'revision':'547cc3424f441ca19ce39c39783bf1ef','url':'/videos/hero-creator-1.mp4'},{'revision':'9d29d3b13a35f662c6b9373ae1de91c6','url':'/videos/hero-creator-2.mp4'},{'revision':'c8579a95703abef84ae8cd6f80c3017c','url':'/videos/hero-creator-3.mp4'},{'revision':'fdb2f7cf3f1c9b19f92ffaf43e78f167','url':'/videos/hero-travel-1.mp4'},{'revision':'5b32e9c47734ff7ef633732618ddff18','url':'/videos/hero-travel-2.mp4'},{'revision':'bdbcde2ecdd9ebdbcc7f5ccfcb02e445','url':'/videos/hero-travel-3.mp4'},{'revision':'70cba840f732e039a975bdd4117c540f','url':'/videos/hero-travel-4.mp4'},{'revision':'dd1da211d669546704d3e2e38b85ff82','url':'/videos/testimonial-1.mp4'}],skipWaiting:!0,clientsClaim:!0,navigationPreload:!0,runtimeCaching:eG}).addEventListeners()}();

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.