1(()=>{"use strict";let e,t,a,r={googleAnalytics:"googleAnalytics",precache:"precache-v2",prefix:"serwist",runtime:"runtime",suffix:"undefined"!=typeof registration?registration.scope:""},s=e=>[r.prefix,e,r.suffix].filter(e=>e&&e.length>0).join("-"),i={updateDetails:e=>{var t=t=>{let a=e[t];"string"==typeof a&&(r[t]=a)};for(let e of Object.keys(r))t(e)},getGoogleAnalyticsName:e=>e||s(r.googleAnalytics),getPrecacheName:e=>e||s(r.precache),getRuntimeName:e=>e||s(r.runtime)};var n=class extends Error{details;constructor(e,t){super(((e,...t)=>{let a=e;return t.length>0&&(a+=` :: ${JSON.stringify(t)}`),a})(e,t)),this.name=e,this.details=t}};function c(e){return new Promise(t=>setTimeout(t,e))}let o=new Set;function l(e,t){let a=new URL(e);for(let e of t)a.searchParams.delete(e);return a.href}async function h(e,t,a,r){let s=l(t.url,a);if(t.url===s)return e.match(t,r);let i={...r,ignoreSearch:!0};for(let n of(await e.keys(t,i)))if(s===l(n.url,a))return e.match(n,r)}var u=class{promise;resolve;reject;constructor(){this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}};let d=async()=>{for(let e of o)await e()},f="-precache-",p=async(e,t=f)=>{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},m=(e,t)=>{let a=t();return e.waitUntil(a),a},g=(e,t)=>t.some(t=>e instanceof t),w=new WeakMap,y=new WeakMap,_=new WeakMap,b={get(e,t,a){if(e instanceof IDBTransaction){if("done"===t)return w.get(e);if("store"===t)return a.objectStoreNames[1]?void 0:a.objectStore(a.objectStoreNames[0])}return R(e[t])},set:(e,t,a)=>(e[t]=a,!0),has:(e,t)=>e instanceof IDBTransaction&&("done"===t||"store"===t)||t in e};function R(e){if(e instanceof IDBRequest){let t=new Promise((t,a)=>{let r=()=>{e.removeEventListener("success",s),e.removeEventListener("error",i)},s=()=>{t(R(e.result)),r()},i=()=>{a(e.error),r()};e.addEventListener("success",s),e.addEventListener("error",i)});return _.set(t,e),t}if(y.has(e))return y.get(e);let r=function(e){if("function"==typeof e)return(a||(a=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(e)?function(...t){return e.apply(v(this),t),R(this.request)}:function(...t){return R(e.apply(v(this),t))};return(e instanceof IDBTransaction&&function(e){if(w.has(e))return;let t=new Promise((t,a)=>{let r=()=>{e.removeEventListener("complete",s),e.removeEventListener("error",i),e.removeEventListener("abort",i)},s=()=>{t(),r()},i=()=>{a(e.error||new DOMException("AbortError","AbortError")),r()};e.addEventListener("complete",s),e.addEventListener("error",i),e.addEventListener("abort",i)});w.set(e,t)}(e),g(e,t||(t=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])))?new Proxy(e,b):e}(e);return r!==e&&(y.set(e,r),_.set(r,e)),r}let v=e=>_.get(e);function q(e,t,{blocked:a,upgrade:r,blocking:s,terminated:i}={}){let n=indexedDB.open(e,t),c=R(n);return r&&n.addEventListener("upgradeneeded",e=>{r(R(n.result),e.oldVersion,e.newVersion,R(n.transaction),e)}),a&&n.addEventListener("blocked",e=>a(e.oldVersion,e.newVersion,e)),c.then(e=>{i&&e.addEventListener("close",()=>i()),s&&e.addEventListener("versionchange",e=>s(e.oldVersion,e.newVersion,e))}).catch(()=>{}),c}let E=["get","getKey","getAll","getAllKeys","count"],D=["put","add","delete","clear"],x=new Map;function S(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&"string"==typeof t))return;if(x.get(t))return x.get(t);let a=t.replace(/FromIndex$/,""),r=t!==a,s=D.includes(a);if(!(a in(r?IDBIndex:IDBObjectStore).prototype)||!(s||E.includes(a)))return;let i=async function(e,...t){let i=this.transaction(e,s?"readwrite":"readonly"),n=i.store;return r&&(n=n.index(t.shift())),(await Promise.all([n[a](...t),s&&i.done]))[0]};return x.set(t,i),i}b=(e=>({...e,get:(t,a,r)=>S(t,a)||e.get(t,a,r),has:(t,a)=>!!S(t,a)||e.has(t,a)}))(b);let P=["continue","continuePrimaryKey","advance"],C={},k=new WeakMap,T=new WeakMap,N={get(e,t){if(!P.includes(t))return e[t];let a=C[t];return a||(a=C[t]=function(...e){k.set(this,T.get(this)[t](...e))}),a}};async function*I(...e){let t=this;if(t instanceof IDBCursor||(t=await t.openCursor(...e)),!t)return;let a=new Proxy(t,N);for(T.set(a,t),_.set(a,v(t));t;)yield a,t=await (k.get(a)||t.continue()),k.delete(a)}function L(e,t){return t===Symbol.asyncIterator&&g(e,[IDBIndex,IDBObjectStore,IDBCursor])||"iterate"===t&&g(e,[IDBIndex,IDBObjectStore])}b=(e=>({...e,get:(t,a,r)=>L(t,a)?I:e.get(t,a,r),has:(t,a)=>L(t,a)||e.has(t,a)}))(b);let U=async(t,a)=>{let r=null;if(t.url&&(r=new URL(t.url).origin),r!==self.location.origin)throw new n("cross-origin-copy-response",{origin:r});let s=t.clone(),i={headers:new Headers(s.headers),status:s.status,statusText:s.statusText},c=a?a(i):i,o=!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 s.blob():s.body;return new Response(o,c)},A="requests",O="queueName";var M=class{_db=null;async addEntry(e){let t=(await this.getDb()).transaction(A,"readwrite",{durability:"relaxed"});await t.store.add(e),await t.done}async getFirstEntryId(){return(await (await this.getDb()).transaction(A).store.openCursor())?.value.id}async getAllEntriesByQueueName(e){return await (await this.getDb()).getAllFromIndex(A,O,IDBKeyRange.only(e))||[]}async getEntryCountByQueueName(e){return(await this.getDb()).countFromIndex(A,O,IDBKeyRange.only(e))}async deleteEntry(e){await (await this.getDb()).delete(A,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(A).store.index(O).openCursor(e,t))?.value}async getDb(){return this._db||(this._db=await q("serwist-background-sync",3,{upgrade:this._upgradeDb})),this._db}_upgradeDb(e,t){t>0&&t<3&&e.objectStoreNames.contains(A)&&e.deleteObjectStore(A),e.createObjectStore(A,{autoIncrement:!0,keyPath:"id"}).createIndex(O,O,{unique:!1})}},B=class{_queueName;_queueDb;constructor(e){this._queueName=e,this._queueDb=new M}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 K=["method","referrer","referrerPolicy","mode","credentials","cache","redirect","integrity","keepalive"];var F=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}),K))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 W="serwist-background-sync",j=new Set,H=e=>{let t={request:new F(e.requestData).toRequest(),timestamp:e.timestamp};return e.metadata&&(t.metadata=e.metadata),t};var $=class{_name;_onSync;_maxRetentionTime;_queueStore;_forceSyncFallback;_syncInProgress=!1;_requestsAddedDuringSync=!1;constructor(e,{forceSyncFallback:t,onSync:a,maxRetentionTime:r}={}){if(j.has(e))throw new n("duplicate-queue-name",{name:e});j.add(e),this._name=e,this._onSync=a||this.replayRequests,this._maxRetentionTime=r||10080,this._forceSyncFallback=!!t,this._queueStore=new B(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 r of e){let e=60*this._maxRetentionTime*1e3;t-r.timestamp>e?await this._queueStore.deleteEntry(r.id):a.push(H(r))}return a}async size(){return await this._queueStore.size()}async _addRequest({request:e,metadata:t,timestamp:a=Date.now()},r){let s={requestData:(await F.fromRequest(e.clone())).toObject(),timestamp:a};switch(t&&(s.metadata=t),r){case"push":await this._queueStore.pushEntry(s);break;case"unshift":await this._queueStore.unshiftEntry(s)}this._syncInProgress?this._requestsAddedDuringSync=!0:await this.registerSync()}async _removeRequest(e){let t,a=Date.now();switch(e){case"pop":t=await this._queueStore.popEntry();break;case"shift":t=await this._queueStore.shiftEntry()}if(t){let r=60*this._maxRetentionTime*1e3;return a-t.timestamp>r?this._removeRequest(e):H(t)}}async replayRequests(){let e;for(;e=await this.shiftRequest();)try{await fetch(e.request.clone())}catch{throw await this.unshiftRequest(e),new n("queue-replay-failed",{name:this._name})}}async registerSync(){if("sync"in self.registration&&!this._forceSyncFallback)try{await self.registration.sync.register(`${W}:${this._name}`)}catch(e){}}_addSyncListener(){"sync"in self.registration&&!this._forceSyncFallback?self.addEventListener("sync",e=>{if(e.tag===`${W}:${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 j}},G=class{_queue;constructor(e,t){this._queue=new $(e,t)}async fetchDidFail({request:e}){await this._queue.pushRequest({request:e})}};let Q={cacheWillUpdate:async({response:e})=>200===e.status||0===e.status?e:null};function V(e){return"string"==typeof e?new Request(e):e}var z=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 u,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=V(e),r=await this.getPreloadResponse();if(r)return r;let s=this.hasCallback("fetchDidFail")?a.clone():null;try{for(let e of this.iterateCallbacks("requestWillFetch"))a=await e({request:a.clone(),event:t})}catch(e){if(e instanceof Error)throw new n("plugin-error-request-will-fetch",{thrownErrorMessage:e.message})}let i=a.clone();try{let e;
1for(let r of(e=await fetch(a,"navigate"===a.mode?void 0:this._strategy.fetchOptions),this.iterateCallbacks("fetchDidSucceed")))e=await r({event:t,request:i,response:e});return e}catch(e){throw s&&await this.runCallbacks("fetchDidFail",{error:e,event:t,originalRequest:s.clone(),request:i.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,a=V(e),{cacheName:r,matchOptions:s}=this._strategy,i=await this.getCacheKey(a,"read"),n={...s,cacheName:r};for(let e of(t=await caches.match(i,n),this.iterateCallbacks("cachedResponseWillBeUsed")))t=await e({cacheName:r,matchOptions:s,cachedResponse:t,request:i,event:this.event})||void 0;return t}async cachePut(e,t){let a=V(e);await c(0);let r=await this.getCacheKey(a,"write");if(!t)throw new n("cache-put-with-no-response",{url:new URL(String(r.url),location.href).href.replace(RegExp(`^${location.origin}`),"")});let s=await this._ensureResponseSafeToCache(t);if(!s)return!1;let{cacheName:i,matchOptions:o}=this._strategy,l=await self.caches.open(i),u=this.hasCallback("cacheDidUpdate"),f=u?await h(l,r.clone(),["__WB_REVISION__"],o):null;try{await l.put(r,u?s.clone():s)}catch(e){if(e instanceof Error)throw"QuotaExceededError"===e.name&&await d(),e}for(let e of this.iterateCallbacks("cacheDidUpdate"))await e({cacheName:i,oldResponse:f,newResponse:s.clone(),request:r,event:this.event});return!0}async getCacheKey(e,t){let a=`${e.url} | ${t}`;if(!this._cacheKeys[a]){let r=e;for(let e of this.iterateCallbacks("cacheKeyWillBeUsed"))r=V(await e({mode:t,request:r,event:this.event,params:this.params}));this._cacheKeys[a]=r}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),r=r=>{let s={...r,state:a};return t[e](s)};yield r}}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}},J=class{cacheName;plugins;fetchOptions;matchOptions;constructor(e={}){this.cacheName=i.getRuntimeName(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,r=new z(this,e.url?{event:t,request:a,url:e.url,params:e.params}:{event:t,request:a}),s=this._getResponse(r,a,t);return[s,this._awaitComplete(s,r,a,t)]}async _getResponse(e,t,a){let r;await e.runCallbacks("handlerWillStart",{event:a,request:t});try{if(r=await this._handle(t,e),void 0===r||"error"===r.type)throw new n("no-response",{url:t.url})}catch(s){if(s instanceof Error){for(let i of e.iterateCallbacks("handlerDidError"))if(void 0!==(r=await i({error:s,event:a,request:t})))break}if(!r)throw s}for(let s of e.iterateCallbacks("handlerWillRespond"))r=await s({event:a,request:t,response:r});return r}async _awaitComplete(e,t,a,r){let s,i;try{s=await e}catch{}try{await t.runCallbacks("handlerDidRespond",{event:r,request:a,response:s}),await t.doneWaiting()}catch(e){e instanceof Error&&(i=e)}if(await t.runCallbacks("handlerDidComplete",{event:r,request:a,response:s,error:i}),t.destroy(),i)throw i}},X=class extends J{_networkTimeoutSeconds;constructor(e={}){super(e),this.plugins.some(e=>"cacheWillUpdate"in e)||this.plugins.unshift(Q),this._networkTimeoutSeconds=e.networkTimeoutSeconds||0}async _handle(e,t){let a,r=[],s=[];if(this._networkTimeoutSeconds){let{id:i,promise:n}=this._getTimeoutPromise({request:e,logs:r,handler:t});a=i,s.push(n)}let i=this._getNetworkPromise({timeoutId:a,request:e,logs:r,handler:t});s.push(i);let c=await t.waitUntil((async()=>await t.waitUntil(Promise.race(s))||await i)());if(!c)throw new n("no-response",{url:e.url});return c}_getTimeoutPromise({request:e,logs:t,handler:a}){let r;return{promise:new Promise(t=>{r=setTimeout(async()=>{t(await a.cacheMatch(e))},1e3*this._networkTimeoutSeconds)}),id:r}}async _getNetworkPromise({timeoutId:e,request:t,logs:a,handler:r}){let s,i;try{i=await r.fetchAndCachePut(t)}catch(e){e instanceof Error&&(s=e)}return e&&clearTimeout(e),(s||!i)&&(i=await r.cacheMatch(t)),i}},Y=class extends J{_networkTimeoutSeconds;constructor(e={}){super(e),this._networkTimeoutSeconds=e.networkTimeoutSeconds||0}async _handle(e,t){let a,r;try{let a=[t.fetch(e)];if(this._networkTimeoutSeconds){let e=c(1e3*this._networkTimeoutSeconds);a.push(e)}if(!(r=await Promise.race(a)))throw Error(`Timed out the network response after ${this._networkTimeoutSeconds} seconds.`)}catch(e){e instanceof Error&&(a=e)}if(!r)throw new n("no-response",{url:e.url,error:a});return r}};let Z=e=>e&&"object"==typeof e?e:{handle:e};var ee=class{handler;match;method;catchHandler;constructor(e,t,a="GET"){this.handler=Z(t),this.match=e,this.method=a}setCatchHandler(e){this.catchHandler=Z(e)}},et=class e extends J{_fallbackToNetwork;static defaultPrecacheCacheabilityPlugin={cacheWillUpdate:async({response:e})=>!e||e.status>=400?null:e};static copyRedirectedCacheableResponsesPlugin={cacheWillUpdate:async({response:e})=>e.redirected?await U(e):e};constructor(t={}
1){t.cacheName=i.getPrecacheName(t.cacheName),super(t),this._fallbackToNetwork=!1!==t.fallbackToNetwork,this.plugins.push(e.copyRedirectedCacheableResponsesPlugin)}async _handle(e,t){let a=await t.getPreloadResponse();if(a)return a;let r=await t.cacheMatch(e);return r||(t.event&&"install"===t.event.type?await this._handleInstall(e,t):await this._handleFetch(e,t))}async _handleFetch(e,t){let a,r=t.params||{};if(this._fallbackToNetwork){let s=r.integrity,i=e.integrity,n=!i||i===s;a=await t.fetch(new Request(e,{integrity:"no-cors"!==e.mode?i||s:void 0})),s&&n&&"no-cors"!==e.mode&&(this._useDefaultCacheabilityPluginIfNeeded(),await t.cachePut(e,a.clone()))}else throw new n("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 n("bad-precaching-response",{url:e.url,status:a.status});return a}_useDefaultCacheabilityPluginIfNeeded(){let t=null,a=0;for(let[r,s]of this.plugins.entries())s!==e.copyRedirectedCacheableResponsesPlugin&&(s===e.defaultPrecacheCacheabilityPlugin&&(t=r),s.cacheWillUpdate&&a++);0===a?this.plugins.push(e.defaultPrecacheCacheabilityPlugin):a>1&&null!==t&&this.plugins.splice(t,1)}},ea=class extends ee{_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))}},er=class extends ee{constructor(e,t,a){super(({url:t})=>{let a=e.exec(t.href);if(a)return t.origin!==location.origin&&0!==a.index?void 0:a.slice(1)},t,a)}};let es=e=>{if(!e)throw new n("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 n("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 r=new URL(a,location.href),s=new URL(a,location.href);return r.searchParams.set("__WB_REVISION__",t),{cacheKey:r.href,url:s.href}};var ei=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 en=async(e,t,a)=>{let r=t.map((e,t)=>({index:t,item:e})),s=async e=>{let t=[];for(;;){let s=r.pop();if(!s)return e(t);let i=await a(s.item);t.push({result:i,index:s.index})}},i=Array.from({length:e},()=>new Promise(s));return(await Promise.all(i)).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 ec="cache-entries",eo=e=>{let t=new URL(e,location.href);return t.hash="",t.href};var el=class{_cacheName;_db=null;constructor(e){this._cacheName=e}_getId(e){return`${this._cacheName}|${eo(e)}`}_upgradeDb(e){let t=e.createObjectStore(ec,{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)),R(a).then(()=>void 0)}(this._cacheName)}async setTimestamp(e,t){e=eo(e);let a={id:this._getId(e),cacheName:this._cacheName,url:e,timestamp:t},r=(await this.getDb()).transaction(ec,"readwrite",{durability:"relaxed"});await r.store.put(a),await r.done}async getTimestamp(e){return(await (await this.getDb()).get(ec,this._getId(e)))?.timestamp}async expireEntries(e,t){let a=await (await this.getDb()).transaction(ec,"readwrite").store.index("timestamp").openCursor(null,"prev"),r=[],s=0;for(;a;){let i=a.value;i.cacheName===this._cacheName&&(e&&i.timestamp<e||t&&s>=t?(a.delete(),r.push(i.url)):s++),a=await a.continue()}return r}async getDb(){return this._db||(this._db=await q("serwist-expiration",1,{upgrade:this._upgradeDbAndDeleteOldDbs.bind(this)})),this._db}},eh=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 el(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(1/0)}},eu=class{_config;_cacheExpirations;constructor(e={}){var t;this._config=e,this._cacheExpirations=new Map,this._config.maxAgeFrom||(this._config.maxAgeFrom="last-fetched"),this._config.purgeOnQuotaError&&(t=()=>
1this.deleteCacheAndMetadata(),o.add(t))}_getCacheExpiration(e){if(e===i.getRuntimeName())throw new n("expire-custom-caches-only");let t=this._cacheExpirations.get(e);return t||(t=new eh(e,this._config),this._cacheExpirations.set(e,t)),t}cachedResponseWillBeUsed({event:e,cacheName:t,request:a,cachedResponse:r}){if(!r)return null;let s=this._isResponseDateFresh(r),i=this._getCacheExpiration(t),n="last-used"===this._config.maxAgeFrom,c=(async()=>{n&&await i.updateTimestamp(a.url),await i.expireEntries()})();try{e.waitUntil(c)}catch{}return s?r: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 ed=/^\/(\w+\/)?collect/,ef=({serwist:e,cacheName:t,...a})=>{let r=i.getGoogleAnalyticsName(t),s=new G("serwist-google-analytics",{maxRetentionTime:2880,onSync:(e=>async({queue:t})=>{let a;for(;a=await t.shiftRequest();){let{request:r,timestamp:s}=a,i=new URL(r.url);try{let t="POST"===r.method?new URLSearchParams(await r.clone().text()):i.searchParams,a=s-(Number(t.get("qt"))||0),n=Date.now()-a;if(t.set("qt",String(n)),e.parameterOverrides)for(let a of Object.keys(e.parameterOverrides)){let r=e.parameterOverrides[a];t.set(a,r)}"function"==typeof e.hitFilter&&e.hitFilter.call(null,t),await fetch(new Request(i.origin+i.pathname,{body:t.toString(),method:"POST",mode:"cors",credentials:"omit",headers:{"Content-Type":"text/plain"}}))}catch(e){throw await t.unshiftRequest(a),e}}})(a)});for(let t of[new ee(({url:e})=>"www.googletagmanager.com"===e.hostname&&"/gtm.js"===e.pathname,new X({cacheName:r}),"GET"),new ee(({url:e})=>"www.google-analytics.com"===e.hostname&&"/analytics.js"===e.pathname,new X({cacheName:r}),"GET"),new ee(({url:e})=>"www.googletagmanager.com"===e.hostname&&"/gtag/js"===e.pathname,new X({cacheName:r}),"GET"),...(e=>{let t=({url:e})=>"www.google-analytics.com"===e.hostname&&ed.test(e.pathname),a=new Y({plugins:[e]});return[new ee(t,a,"GET"),new ee(t,a,"POST")]})(s)])e.registerRoute(t)};var ep=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}}},em=class extends J{async _handle(e,t){let a,r=await t.cacheMatch(e);if(r);else try{r=await t.fetchAndCachePut(e)}catch(e){e instanceof Error&&(a=e)}if(!r)throw new n("no-response",{url:e.url,error:a});return r}},eg=class extends ee{constructor(e,t){super(({request:a})=>{let r=e.getUrlsToPrecacheKeys();for(let s of function*(e,{directoryIndex:t="index.html",ignoreURLParametersMatching:a=[/^utm_/,/^fbclid$/],cleanURLs:r=!0,urlManipulation:s}={}){let i=new URL(e,location.href);i.hash="",yield i.href;let n=((e,t=[])=>{for(let a of[...e.searchParams.keys()])t.some(e=>e.test(a))&&e.searchParams.delete(a);return e})(i,a);if(yield n.href,t&&n.pathname.endsWith("/")){let e=new URL(n.href);e.pathname+=t,yield e.href}if(r){let e=new URL(n.href);e.pathname+=".html",yield e.href}if(s)for(let e of s({url:i}))yield e.href}(a.url,t)){let t=r.get(s);if(t)return{cacheKey:t,integrity:e.getIntegrityForPrecacheKey(t)}}},e.precacheStrategy)}},ew=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}};new 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:r,navigationPreload:s=!1,cacheId:n,clientsClaim:c=!1,runtimeCaching:o,offlineAnalyticsConfig:l,disableDevLogs:h=!1,fallbacks:u,requestRules:d}={}){var f,m;let{precacheStrategyOptions:g,precacheRouteOptions:w,precacheMiscOptions:y}=((e,t={})=>{let{cacheName:a,plugins:r=[],fetchOptions:s,matchOptions:n,fallbackToNetwork:c,directoryIndex:o,ignoreURLParametersMatching:l,cleanURLs:h,urlManipulation:u,cleanupOutdatedCaches:d,concurrency:f=10,navigateFallback:p,navigateFallbackAllowlist:m,navigateFallbackDenylist:g}=t??{};
1return{precacheStrategyOptions:{cacheName:i.getPrecacheName(a),plugins:[...r,new ew({precacheController:e})],fetchOptions:s,matchOptions:n,fallbackToNetwork:c},precacheRouteOptions:{directoryIndex:o,ignoreURLParametersMatching:l,cleanURLs:h,urlManipulation:u},precacheMiscOptions:{cleanupOutdatedCaches:d,concurrency:f,navigateFallback:p,navigateFallbackAllowlist:m,navigateFallbackDenylist:g}}})(this,t);if(this._concurrentPrecaching=y.concurrency,this._precacheStrategy=new et(g),this._routes=new Map,this._defaultHandlerMap=new Map,this._requestRules=d,this.handleInstall=this.handleInstall.bind(this),this.handleActivate=this.handleActivate.bind(this),this.handleFetch=this.handleFetch.bind(this),this.handleCache=this.handleCache.bind(this),r&&r.length>0&&self.importScripts(...r),s&&self.registration?.navigationPreload&&self.addEventListener("activate",e=>{e.waitUntil(self.registration.navigationPreload.enable().then(()=>{}))}),void 0!==n&&(f={prefix:n},i.updateDetails(f)),a?self.skipWaiting():self.addEventListener("message",e=>{e.data&&"SKIP_WAITING"===e.data.type&&self.skipWaiting()}),c&&self.addEventListener("activate",()=>self.clients.claim()),e&&e.length>0&&this.addToPrecacheList(e),y.cleanupOutdatedCaches&&(m=g.cacheName,self.addEventListener("activate",e=>{e.waitUntil(p(i.getPrecacheName(m)).then(e=>{}))})),this.registerRoute(new eg(this,w)),y.navigateFallback&&this.registerRoute(new ea(this.createHandlerBoundToUrl(y.navigateFallback),{allowlist:y.navigateFallbackAllowlist,denylist:y.navigateFallbackDenylist})),void 0!==l&&("boolean"==typeof l?l&&ef({serwist:this}):ef({...l,serwist:this})),void 0!==o){if(void 0!==u){let e=new ep({fallbackUrls:u.entries,serwist:this});o.forEach(t=>{t.handler instanceof J&&!t.handler.plugins.some(e=>"handlerDidError"in e)&&t.handler.plugins.push(e)})}for(let e of o)this.registerCapture(e.matcher,e.handler,e.method)}h&&(self.__WB_DISABLE_DEV_LOGS=!0)}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:r}=es(a),s="string"!=typeof a&&a.revision?"reload":"default";if(this._urlsToCacheKeys.has(r)&&this._urlsToCacheKeys.get(r)!==e)throw new n("add-to-cache-list-conflicting-entries",{firstEntry:this._urlsToCacheKeys.get(r),secondEntry:e});if("string"!=typeof a&&a.integrity){if(this._cacheKeysToIntegrities.has(e)&&this._cacheKeysToIntegrities.get(e)!==a.integrity)throw new n("add-to-cache-list-conflicting-integrities",{url:r});this._cacheKeysToIntegrities.set(e,a.integrity)}this._urlsToCacheKeys.set(r,e),this._urlsToCacheModes.set(r,s)}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),m(e,async()=>{let t=new ei;this.precacheStrategy.plugins.push(t),await en(this._concurrentPrecaching,Array.from(this._urlsToCacheKeys.entries()),async([t,a])=>{let r=this._cacheKeysToIntegrities.get(a),s=this._urlsToCacheModes.get(t),i=new Request(t,{integrity:r,cache:s,credentials:"same-origin"});await Promise.all(this.precacheStrategy.handleAll({event:e,request:i,url:new URL(i.url),params:{cacheKey:a}}))});let{updatedURLs:a,notUpdatedURLs:r}=t;return{updatedURLs:a,notUpdatedURLs:r}})}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 m(e,async()=>{let e=await self.caches.open(this.precacheStrategy.cacheName),t=await e.keys(),a=new Set(this._urlsToCacheKeys.values()),r=[];for(let s of t)a.has(s.url)||(await e.delete(s),r.push(s.url));return{deletedCacheRequests:r}})}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}
2=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,Z(e))}setCatchHandler(e){this._catchHandler=Z(e)}registerCapture(e,t,a){let r=((e,t,a)=>{if("string"==typeof e){let r=new URL(e,location.href);return new ee(({url:e})=>e.href===r.href,t,a)}if(e instanceof RegExp)return new er(e,t,a);if("function"==typeof e)return new ee(e,t,a);if(e instanceof ee)return e;throw new n("unsupported-route-type",{moduleName:"serwist",funcName:"parseRoute",paramName:"capture"})})(e,t,a);return this.registerRoute(r),r}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 n("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 n("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 n("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,r=new URL(e.url,location.href);if(!r.protocol.startsWith("http"))return;let s=r.origin===location.origin,{params:i,route:n}=this.findMatchingRoute({event:t,request:e,sameOrigin:s,url:r}),c=n?.handler,o=e.method;if(!c&&this._defaultHandlerMap.has(o)&&(c=this._defaultHandlerMap.get(o)),!c)return;try{a=c.handle({url:r,request:e,event:t,params:i})}catch(e){a=Promise.reject(e)}let l=n?.catchHandler;return a instanceof Promise&&(this._catchHandler||l)&&(a=a.catch(async a=>{if(l)try{return await l.handle({url:r,request:e,event:t,params:i})}catch(e){e instanceof Error&&(a=e)}if(this._catchHandler)return this._catchHandler.handle({url:r,request:e,event:t});throw a})),a}findMatchingRoute({url:e,sameOrigin:t,request:a,event:r}){for(let s of this._routes.get(a.method)||[]){let i,n=s.match({url:e,sameOrigin:t,request:a,event:r});if(n)return Array.isArray(i=n)&&0===i.length||n.constructor===Object&&0===Object.keys(n).length?i=void 0:"boolean"==typeof n&&(i=void 0),{route:s,params:i}}return{}}}({precacheEntries:[{'revision':'2c8e976c7c6861e283879982bdaf1908','url':'/_next/static/WWSM7kS2QYJXh32HGibjR/_buildManifest.js'},{'revision':'b6652df95db52feb4daf4eca35380933','url':'/_next/static/WWSM7kS2QYJXh32HGibjR/_ssgManifest.js'},{'revision':null,'url':'/_next/static/chunks/02fd6415.6101a2ceee1cd562.js'},{'revision':null,'url':'/_next/static/chunks/1092-10d1d607a42ce900.js'},{'revision':null,'url':'/_next/static/chunks/1739-74f52751b1f307af.js'},{'revision':null,'url':'/_next/static/chunks/1809-0c001e9b6118a38a.js'},{'revision':null,'url':'/_next/static/chunks/3508-78618ae28165f957.js'},{'revision':null,'url':'/_next/static/chunks/3706-c27d090c49c1a1e5.js'},{'revision':null,'url':'/_next/static/chunks/3939-a3744adb7a33a525.js'},{'revision':null,'url':'/_next/static/chunks/4073-73381f25d31caaf4.js'},{'revision':null,'url':'/_next/static/chunks/4572-26e221cbe9751976.js'},{'revision':null,'url':'/_next/static/chunks/586-8a4767bb0639b19c.js'},{'revision':null,'url':'/_next/static/chunks/6574-de4e7a49f10c8460.js'},{'revision':null,'url':'/_next/static/chunks/6749-a86480d9559958e1.js'},{'revision':null,'url':'/_next/static/chunks/6976-d4d21d9b9519485e.js'},{'revision':null,'url':'/_next/static/chunks/7367-5622257600426837.js'},{'revision':null,'url':'/_next/static/chunks/7385-7354c39fdad8ad40.js'},{'revision':null,'url':'/_next/static/chunks/7598-a615ca686ad7ca0e.js'},{'revision':null,'url':'/_next/static/chunks/7777-9e3203945a4eff64.js'},{'revision':null,'url':'/_next/static/chunks/8259-3afc6c36ba688b98.js'},{'revision':null,'url':'/_next/static/chunks/8659-ab757b527f43792b.js'},{'revision':null,'url':'/_next/static/chunks/991cd08a-1b87750cbb0a6cb3.js'},{'revision':null,'url':'/_next/static/chunks/app/%5Blocale%5D/(hotel)/bons-cadeaux/layout-c64417062e5a17b4.js'},{'revision':null,'url':'/_next/static/chunks/app/%5Blocale%5D/(hotel)/bons-cadeaux/page-0dc35aaefe9402d7.js'},{'revision':null,'url':'/_next/static/chunks/app/%5Blocale%5D/(hotel)/cgv/page-c64417062e5a17b4.js'},{'revision':null,'url':'/_next/static/chunks/app/%5Blocale%5D/(hotel)/chambres/%5Bslug%5D/page-6b98078b0f9c0100.js'},{'revision':null,'url':'/_next/static/chunks/app/%5Blocale%5D/(hotel)/chambres/page-9fa98f11e451c9b3.js'},{'revision':null,'url':'/_next/static/chunks/app/%5Blocale%5D/(hotel)/charlieu/layout-c64417062e5a17b4.js'},{'revision':null,'url':'/_next/static/chunks/app/%5Blocale%5D/(hotel)/charlieu/page-0dc35aaefe9402d7.js'},{'revision':null,'url':'/_next/static/chunks/app/%5Blocale%5D/(hotel)/error-cf6f7f92df8aab5f.js'},{'revision':null,'url':'/_next/static/chunks/app/%5Blocale%5D/(hotel)/galerie/layout-c64417062e5a17b4.js'},{'revision':null,'url':'/_next/static/chunks/app/%5Blocale%5D/(hotel)/galerie/page-19140c1bbbf5ee6c.js'},{'revision':null,'url':'/_next/static/chunks/app/%5Blocale%5D/(hotel)/infos-pratiques/layout-c64417062e5a17b4.js'},{'revision':null,'url':'/_next/static/chunks/app/%5Blocale%5D/(hotel)/infos-pratiques/page-fc7d3923a8d9cca7.js'},{'revision':null,'url':'/_next/static/chunks/app/%5Blocale%5D/(hotel)/layout-a2e27b8b995e9f3d.js'},{'revision':null,'url':'/_next/static/chunks/app/%5Blocale%5D/(hotel)/mentions-legales/page-c64417062e5a17b4.js'},{'revision':null,'url':'/_next/static/chunks/app/%5Blocale%5D/(hotel)/page-0dc35aaefe9402d7.js'},{'revision':null,'url':'/_next/static/chunks/app/%5Blocale%5D/(hotel)/politique-de-confidentialite/page-c64417062e5a17b4.js'},{'revision':null,'url':'/_next/static/chunks/app/%5Blocale%5D/(hotel)/seminaires/layout-c64417062e5a17b4.js'},{'revision':null,'url':'/_next/static/chunks/app/%5Blocale%5D/(hotel)/seminaires/page-8480a4ed42b5fdb7.js'},{'revision':null,'url':'/_next/static/chunks/app/%5Blocale%5D/(restaurant)/carte-des-vins/page-c63a22b759215805.js'},{'revision':null,'url':'/_next/static/chunks/app/%5Blocale%5D/(restaurant)/layout-9730aca855cd19ff.js'},{'revision':null,'url':'/_next/static/chunks/app/%5Blocale%5D/(restaurant)/restaurant/allergenes/page-0dc35aaefe9402d7.js'},{'revision':null,'url':'/_next/static/chunks/app/%5Blocale%5D/(restaurant)/restaurant/boissons/page-0dc35aaefe9402d7.js'},{'revision':null,'url':'/_next/static/chunks/app/%5Blocale%5D/(restaurant)/restaurant/page-0dc35aaefe9402d7.js'},{'revision':null,'url':'/_next/static/chunks/app/%5Blocale%5D/layout-92b32a1d133b1d2b.js'},{'revision':null,'url':'/_next/static/chunks/app/(welcome-root)/%5Blocale%5D/welcome/arrival/page-ee482ec3746ce900.js'},{'revision':null,'url':'/_next/static/chunks/app/(welcome-root)/%5Blocale%5D/welcome/breakfast/page-10ef00a5d8427e0a.js'},{'revision':null,'url':'/_next/static/chunks/app/(welcome-root)/%5Blocale%5D/welcome/layout-809321da2266f77f.js'},{'revision':null,'url':'/_next/static/chunks/app/(welcome-root)/%5Blocale%5D/welcome/page-85960ff326d78317.js'},{'revision':null,'url':'/_next/static/chunks/app/(welcome-root)/%5Blocale%5D/welcome/phone/page-fb7a15bf18894e1d.js'},{'revision':null,'url':'/_next/static/chunks/app/(welcome-root)/%5Blocale%5D/welcome/restaurant/page-20b89aa3f98479a0.js'},{'revision':null,'url':'/_next/static/chunks/app/(welcome-root)/%5Blocale%5D/welcome/services/page-d2f4bf9e139c3c9a.js'},{'revision':null,'url':'/_next/static/chunks/app/(welcome-root)/%5Blocale%5D/welcome/tv/page-2e401534633a37ca.js'},{'revision':null,'url':'/_next/static/chunks/app/(welcome-root)/%5Blocale%5D/welcome/visits/page-0a2ac1a7c3b12bee.js'},{'revision':null,'url':'/_next/static/chunks/app/(welcome-root)/%5Blocale%5D/welcome/wifi/page-cbd795549b9b2f9b.js'},{'revision':null,'url':'/_next/static/chunks/app/_not-found/page-e0248833fe8797a3.js'},{'revision':null,'url':'/_next/static/chunks/app/admin/dashboard/allergenes/page-1e0655b327d19208.js'},{'revision':null,'url':'/_next/static/chunks/app/admin/dashboard/boissons/page-15087e025ea17dbe.js'},{'revision':null,'url':'/_next/static/chunks/app/admin/dashboard/images/page-f0c28cd8012bb8b1.js'},{'revision':null,'url':'/_next/static/chunks/app/admin/dashboard/layout-33688de16cbb6878.js'},{'revision':null,'url':'/_next/static/chunks/app/admin/dashboard/llms-editorial/page-2f62a3e870a200d7.js'},{'revision':null,'url':'/_next/static/chunks/app/admin/dashboard/menu-images/page-d5e4c3c8be6a13b7.js'},{'revision':null,'url':'/_next/static/chunks/app/admin/dashboard/offers/page-d6fe8830e27f7220.js'},{'revision':null,'url':'/_next/static/chunks/app/admin/dashboard/page-4cea393ce9cdfbae.js'},{'revision':null,'url':'/_next/static/chunks/app/admin/dashboard/pricing/page-e6b677501248faea.js'},{'revision':null,'url':'/_next/static/chunks/app/admin/dashboard/restaurant/demi-pension/page-1b47bba8bfa8a44a.js'},{'revision':null,'url':'/_next/static/chunks/app/admin/dashboard/restaurant/page-c64417062e5a17b4.js'},{'revision':null,'url':'/_next/static/chunks/app/admin/dashboard/restaurant/presentation/page-c2001836cef45ff7.js'},{'revision':null,'url':'/_next/static/chunks/app/admin/dashboard/rooms/page-73a9f28f2f262238.js'},{'revision':null,'url':'/_next/static/chunks/app/admin/dashboard/texts/page-507bfbf7b49fb9f8.js'},{'revision':null,'url':'/_next/static/chunks/app/admin/dashboard/welcome/arrival/page-d6fd17d4c82f9c74.js'},{'revision':null,'url':'/_next/static/chunks/app/admin/dashboard/welcome/breakfast/page-8fcba5565c9e762c.js'},{'revision':null,'url':'/_next/static/chunks/app/admin/dashboard/welcome/home/page-ae27719079c854f2.js'},{'revision':null,'url':'/_next/static/chunks/app/admin/dashboard/welcome/phone/page-6d37db2da918e804.js'},{'revision':null,'url':'/_next/static/chunks/app/admin/dashboard/welcome/restaurant/page-23aec7793261e2a0.js'},{'revision':null,'url':'/_next/static/chunks/app/admin/dashboard/welcome/services/page-d075f7b0f02420cb.js'},{'revision':null,'url':'/_next/static/chunks/app/admin/dashboard/welcome/tv/page-69edb7a12a9cd160.js'},{'revision':null,'url':'/_next/static/chunks/app/admin/dashboard/welcome/visits/page-09ca434a218bc43a.js'},{'revision':null,'url':'/_next/static/chunks/app/admin/dashboard/welcome/wifi/page-7d896cce857da6db.js'},{'revision':null,'url':'/_next/static/chunks/app/admin/dashboard/wines/page-0fa1eef67a997d2f.js'},{'revision':null,'url':'/_next/static/chunks/app/admin/layout-c64417062e5a17b4.js'},{'revision':null,'url':'/_next/static/chunks/app/admin/page-75342945780c833b.js'},{'revision':null,'url':'/_next/static/chunks/app/api/admin/allergenes/route-c64417062e5a17b4.js'},{'revision':null,'url':'/_next/static/chunks/app/api/admin/auth/route-c64417062e5a17b4.js'},{'revision':null,'url':'/_next/static/chunks/app/api/admin/boissons/ex
2port/route-c64417062e5a17b4.js'},{'revision':null,'url':'/_next/static/chunks/app/api/admin/boissons/route-c64417062e5a17b4.js'},{'revision':null,'url':'/_next/static/chunks/app/api/admin/boissons/upload/route-c64417062e5a17b4.js'},{'revision':null,'url':'/_next/static/chunks/app/api/admin/content/route-c64417062e5a17b4.js'},{'revision':null,'url':'/_next/static/chunks/app/api/admin/images/route-c64417062e5a17b4.js'},{'revision':null,'url':'/_next/static/chunks/app/api/admin/llms-editorial/route-c64417062e5a17b4.js'},{'revision':null,'url':'/_next/static/chunks/app/api/admin/menu-images/extract/route-c64417062e5a17b4.js'},{'revision':null,'url':'/_next/static/chunks/app/api/admin/menu-images/route-c64417062e5a17b4.js'},{'revision':null,'url':'/_next/static/chunks/app/api/admin/menu-images/upload/route-c64417062e5a17b4.js'},{'revision':null,'url':'/_next/static/chunks/app/api/admin/menus/route-c64417062e5a17b4.js'},{'revision':null,'url':'/_next/static/chunks/app/api/admin/offers/route-c64417062e5a17b4.js'},{'revision':null,'url':'/_next/static/chunks/app/api/admin/pricing/route-c64417062e5a17b4.js'},{'revision':null,'url':'/_next/static/chunks/app/api/admin/publish/route-c64417062e5a17b4.js'},{'revision':null,'url':'/_next/static/chunks/app/api/admin/rooms/route-c64417062e5a17b4.js'},{'revision':null,'url':'/_next/static/chunks/app/api/admin/translate/route-c64417062e5a17b4.js'},{'revision':null,'url':'/_next/static/chunks/app/api/admin/welcome-arrival/route-c64417062e5a17b4.js'},{'revision':null,'url':'/_next/static/chunks/app/api/admin/welcome-breakfast/route-c64417062e5a17b4.js'},{'revision':null,'url':'/_next/static/chunks/app/api/admin/welcome-home/route-c64417062e5a17b4.js'},{'revision':null,'url':'/_next/static/chunks/app/api/admin/welcome-phone/route-c64417062e5a17b4.js'},{'revision':null,'url':'/_next/static/chunks/app/api/admin/welcome-restaurant/route-c64417062e5a17b4.js'},{'revision':null,'url':'/_next/static/chunks/app/api/admin/welcome-services/route-c64417062e5a17b4.js'},{'revision':null,'url':'/_next/static/chunks/app/api/admin/welcome-tv/route-c64417062e5a17b4.js'},{'revision':null,'url':'/_next/static/chunks/app/api/admin/welcome-visits/route-c64417062e5a17b4.js'},{'revision':null,'url':'/_next/static/chunks/app/api/admin/welcome-wifi/route-c64417062e5a17b4.js'},{'revision':null,'url':'/_next/static/chunks/app/api/admin/wines/export/route-c64417062e5a17b4.js'},{'revision':null,'url':'/_next/static/chunks/app/api/admin/wines/upload/route-c64417062e5a17b4.js'},{'revision':null,'url':'/_next/static/chunks/app/api/allergenes/route-c64417062e5a17b4.js'},{'revision':null,'url':'/_next/static/chunks/app/api/cron/warm-tarifs/route-c64417062e5a17b4.js'},{'revision':null,'url':'/_next/static/chunks/app/api/revalidate/route-c64417062e5a17b4.js'},{'revision':null,'url':'/_next/static/chunks/app/api/tarifs/route-c64417062e5a17b4.js'},{'revision':null,'url':'/_next/static/chunks/app/layout-8d8add328150671b.js'},{'revision':null,'url':'/_next/static/chunks/app/llms-full.txt/route-c64417062e5a17b4.js'},{'revision':null,'url':'/_next/static/chunks/app/llms.txt/route-c64417062e5a17b4.js'},{'revision':null,'url':'/_next/static/chunks/app/qr/book/route-c64417062e5a17b4.js'},{'revision':null,'url':'/_next/static/chunks/app/qr/carte/route-c64417062e5a17b4.js'},{'revision':null,'url':'/_next/static/chunks/app/qr/contact/route-c64417062e5a17b4.js'},{'revision':null,'url':'/_next/static/chunks/app/qr/menu/route-c64417062e5a17b4.js'},{'revision':null,'url':'/_next/static/chunks/app/robots.txt/route-c64417062e5a17b4.js'},{'revision':null,'url':'/_next/static/chunks/app/sitemap.xml/route-c64417062e5a17b4.js'},{'revision':null,'url':'/_next/static/chunks/app/tablette/%5Blang%5D/allergenes/page-0dc35aaefe9402d7.js'},{'revision':null,'url':'/_next/static/chunks/app/tablette/%5Blang%5D/boissons/page-0dc35aaefe9402d7.js'},{'revision':null,'url':'/_next/static/chunks/app/tablette/%5Blang%5D/carte/page-0dc35aaefe9402d7.js'},{'revision':null,'url':'/_next/static/chunks/app/tablette/%5Blang%5D/demi-pension/page-0dc35aaefe9402d7.js'},{'revision':null,'url':'/_next/static/chunks/app/tablette/%5Blang%5D/layout-d1be558e522baa3b.js'},{'revision':null,'url':'/_next/static/chunks/app/tablette/%5Blang%5D/page-7aad3cb21d59fee3.js'},{'revision':null,'url':'/_next/static/chunks/app/tablette/%5Blang%5D/vins/page-ec882037dd778cea.js'},{'revision':null,'url':'/_next/static/chunks/app/tablette/layout-c64417062e5a17b4.js'},{'revision':null,'url':'/_next/static/chunks/app/tablette/page-c64417062e5a17b4.js'},{'revision':null,'url':'/_next/static/chunks/app/tablette/prix/page-c64417062e5a17b4.js'},{'revision':null,'url':'/_next/static/chunks/d01a72ff-92d14e77a331d8d9.js'},{'revision':null,'url':'/_next/static/chunks/ec365bd4-9cf99d8ef7aa54a7.js'},{'revision':null,'url':'/_next/static/chunks/framework-83abde22086d3dbc.js'},{'revision':null,'url':'/_next/static/chunks/main-abe440ad3437002f.js'},{'revision':null,'url':'/_next/static/chunks/main-app-f7a244bbfdeeb8f0.js'},{'revision':null,'url':'/_next/static/chunks/pages/_app-bfb7f2078923ff00.js'},{'revision':null,'url':'/_next/static/chunks/pages/_error-655eb3e3a7efb825.js'},{'revision':'846118c33b2c0e922d7b3a7676f81f6f','url':'/_next/static/chunks/polyfills-42372ed130431b0a.js'},{'revision':null,'url':'/_next/static/chunks/webpack-a6dbd4d4294df664.js'},{'revision':null,'url':'/_next/static/css/7057b35d5a95711c.css'},{'revision':null,'url':'/_next/static/css/86fe6ebdcb3f3396.css'},{'revision':null,'url':'/_next/static/css/f2222705b484e1b6.css'},{'revision':'be7c930fceb794521be0a68e113a71d8','url':'/_next/static/media/034d78ad42e9620c-s.woff2'},{'revision':'b550bca8934bd86812d1f5e28c9cc1de','url':'/_next/static/media/0484562807a97172-s.p.woff2'},{'revision':'b8e2d34878304af0af7552f727e9cca8','url':'/_next/static/media/04c24f78ad5a47d8-s.woff2'},{'revision':'b970cda172e5c105d36642ea0cbbd193','url':'/_next/static/media/0da54fcd0470ea43-s.woff2'},{'revision':'6e493671117e231571a1746987fbaa18','url':'/_next/static/media/13a314e63820922b-s.woff2'},{'revision':'f946408241e6d84e4accbc036abbf435','url':'/_next/static/media/1ef03937eeee17bd-s.woff2'},{'revision':'58f1bb271968fc16131cba266fce1376','url':'/_next/static/media/28485c0de2075f40-s.woff2'},{'revision':'a81e6c6c3493caf3463c36f633996e92','url':'/_next/static/media/28a2004cf8372660-s.woff2'},{'revision':'9e3ecbe4bb4c6f0b71adc1cd481c2bdc','url':'/_next/static/media/29e7bbdce9332268-s.woff2'},{'revision':'6ffaf41555a2cfd84d55fb08dcb642d7','url':'/_next/static/media/37da3febcafd463e-s.woff2'},{'revision':'7f28d9acd0a8a4c1464195d229d07842','url':'/_next/static/media/403511e41efd5e81-s.woff2'},{'revision':'62f762afb90d7743f6916ea0cce473af','url':'/_next/static/media/47f136985ef5b5cb-s.woff2'},{'revision':'774586d4bcb09cb42f38fc490d25b01b','url':'/_next/static/media/4ead58c4dcc3f285-s.woff2'},{'revision':'0533fc3fb6d983441a399f94eb182d81','url':'/_next/static/media/51f6eedf9be77cd7-s.woff2'},{'revision':'b1ee7ba0b4c946e20d7859cddf2aa203','url':'/_next/static/media/5fb25f343c7550ca-s.woff2'},{'revision':'335da181ffc3c425a4abf0e8fc0f1e42','url':'/_next/static/media/6245472ced48d3be-s.p.woff2'}
2,{'revision':'c9890e96868d69cf23857ff02fd06aa8','url':'/_next/static/media/680a7121f7a85e3f-s.woff2'},{'revision':'2115f31b54005ab007df23dcbe14173c','url':'/_next/static/media/6d895190e5187dff-s.woff2'},{'revision':'de2b6fe4e663c0669007e5b501c2026b','url':'/_next/static/media/7db6c35d839a711c-s.p.woff2'},{'revision':'06dac3d9f8a5ed82542f7e51f9eaa120','url':'/_next/static/media/8a1d8947e5852e30-s.p.woff2'},{'revision':'01f355e30be7cae19120d5f796d25b42','url':'/_next/static/media/9e769f40faa52555-s.woff2'},{'revision':'d8b5ed6f46f811fbbdea2d41002eb003','url':'/_next/static/media/a736042c9ebfac04-s.p.woff2'},{'revision':'bdb143282b9fa3a5da7f074b6f81e124','url':'/_next/static/media/b8442747db2a9bad-s.woff2'},{'revision':'5e13deb3df6f4ad52a1ed482edd90bc1','url':'/_next/static/media/c1a1fe1e2bf9b2ee-s.woff2'},{'revision':'5a1b7c983a9dc0a87a2ff138e07ae822','url':'/_next/static/media/c3bc380753a8436c-s.woff2'},{'revision':'ea21aa8efaf84307316a1633d34995d1','url':'/_next/static/media/d6fc113833db48fe-s.woff2'},{'revision':'8027aefd3d59e5fa3da8e3d65e05a4b7','url':'/_next/static/media/e1df014bb05b8510-s.woff2'},{'revision':'23145c7141614ebba8c5dd949478c01e','url':'/_next/static/media/e807dee2426166ad-s.p.woff2'},{'revision':'6da252de0cbc8a69b5d5c2e0e3f67722','url':'/_next/static/media/eaead17c7dbfcd5d-s.p.woff2'},{'revision':'43751174b6b810eb169101a20d8c26f8','url':'/_next/static/media/eafabf029ad39a43-s.p.woff2'},{'revision':'cbf07660501ffa16c4f367492a3bdfd0','url':'/_next/static/media/f5b513e981884070-s.woff2'},{'revision':'f2a04185547c36abfa589651236a9849','url':'/_next/static/media/fe0777f1195381cb-s.woff2'},{'revision':null,'url':'/_next/static/media/pdf.worker.min.f29b0adb.mjs'},{'revision':'d09f95206c3fa0bb9bd9fefabfd0ea71','url':'/file.svg'},{'revision':'2aaafa6a49b6563925fe440891e32717','url':'/globe.svg'},{'revision':'5c99fb15c36f68f68b1655f1dfe7bbe7','url':'/images/breakfast/pdj-buffet.webp'},{'revision':'73c23d21dc8ee1295fed204582dbed97','url':'/images/breakfast/pdj-croissant.webp'},{'revision':'36151ce13b25c63ebffffcc1c7958301','url':'/images/breakfast/pdj-salle.webp'},{'revision':'5d6e1c0b8f60eae63d89bef64a39d71d','url':'/images/exterior/abbaye-charlieu.webp'},{'revision':'f0aa4df2f9237b606a5d0d7f78d87b8c','url':'/images/exterior/exterieur-automne-1.webp'},{'revision':'86ba62799d7c1a81bde98b106458dfd5','url':'/images/exterior/exterieur-automne-4.webp'},{'revision':'000ba85cca59e807e0e678c06be0af4f','url':'/images/exterior/exterieur-automne-5.webp'},{'revision':'6bd2e0032c512cd21e699a165de1602a','url':'/images/exterior/exterieur-detail-3.webp'},{'revision':'eec8d9afd8048e6b3fd41348baae91a8','url':'/images/exterior/jardin.webp'},{'revision':'90c7c4253497d36e000bbe128c2bc648','url':'/images/exterior/piscine.webp'},{'revision':'cec358b98ae1e5f196f09029aee643a0','url':'/images/exterior/terrasse.webp'},{'revision':'6417c1af6f313541e7848c0ed52c6e93','url':'/images/exterior/vue-automne-1.webp'},{'revision':'135c3bfd5e326d2e7dddee7467233524','url':'/images/exterior/vue-automne-2.webp'},{'revision':'17a2d01b2d18b3ca972de4cea27fdb6f','url':'/images/gallery/gallery-1.webp'},{'revision':'091367b488e6b6ad587ee8abb7253492','url':'/images/gallery/gallery-2.webp'},{'revision':'9d1016492672fd5d33b8ce0e3d56ffdf','url':'/images/gallery/gallery-3.webp'},{'revision':'a9d01cef9b1a6a7864a13e93b1d0b031','url':'/images/gallery/gallery-4.webp'},{'revision':'e9f42ba11bf60fbb34429306a01e9779','url':'/images/gallery/gallery-5.webp'},{'revision':'8aa1d1c874f5f5352ab8f38f7da3cd2b','url':'/images/gallery/gallery-6.webp'},{'revision':'84d78487c53debce53d3cb499aec766f','url':'/images/gallery/gallery-7.webp'},{'revision':'15c102b6c8716bcfbfbfcd939cf09ccb','url':'/images/hotel/booking.webp'},{'revision':'667b5518c02413fb28fb117635eeeeb6','url':'/images/hotel/decoration-interieur.webp'},{'revision':'f986fca5fd5427a0dda5a665c8240be2','url':'/images/hotel/facade-hotel.webp'},{'revision':'cf3c651f7454512d663706abab0b0024','url':'/images/hotel/google-reviews.webp'},{'revision':'90c7c4253497d36e000bbe128c2bc648','url':'/images/hotel/hero-charlieu.webp'},{'revision':'667b5518c02413fb28fb117635eeeeb6','url':'/images/hotel/hero-main.webp'},{'revision':'f6151ab29c5e9ed03b01399b14710e07','url':'/images/hotel/hero-nature.webp'},{'revision':'4e35e05a42a95b8053fb1454883ff8c4','url':'/images/hotel/logis-certification.webp'},{'revision':'7ba84524507bb211d812a521a48785f7','url':'/images/hotel/logo-instagram.jpg'},{'revision':'f43f18e28af19436e21623e81159a2fc','url':'/images/hotel/logo.svg'},{'revision':'38171d328e348864dd478db9ddc6f81e','url':'/images/hotel/maitres-restaurateurs.webp'},{'revision':'b9bf65dcc28d8f5c559c487b10d7e09f','url':'/images/hotel/photo-hotel-new-1.webp'},{'revision':'f4a1f1bafdb8c4d765da106ee4777f1c','url':'/images/hotel/photo-hotel-new-2.webp'},{'revision':'d8c0e3aa2cb12d34d55e02cce151580a','url':'/images/hotel/qualite-tourisme.webp'},{'revision':'909449ae409788c7131ce76ed72002b4','url':'/images/hotel/reception.webp'},{'revision':'fe5f32c9a39655a2d12a5acbb53f0b71','url':'/images/hotel/seminaire-salle.webp'},{'revision':'2f7af3d118bed6dc86419d9b5a65b333','url':'/images/hotel/tripadvisor.webp'},{'revision':'c81e9c7e4642b01f30e99e06955f54c7','url':'/images/offers/bon-cadeau-banner.webp'},{'revision':'fdb279ffb793ce96ecf4bbc78e1e442d','url':'/images/restaurant/cave-vins.webp'},{'revision':'1be17c0de29b53653a2e1de90b04dde5','url':'/images/restaurant/dessert.webp'},{'revision':'21f1087c11803a7664979db4facf573a','url':'/images/restaurant/plat-automne-1.webp'},{'revision':'1661533fe6085802371010a5bec89b41','url':'/images/restaurant/plat-automne-2.webp'},{'revision':'1a46c288226021747579c22876c08893','url':'/images/restaurant/plat-ete-1.webp'},{'revision':'f3b4f54557092897ccd06ee253a35a99','url':'/images/restaurant/plat-ete-3.webp'},{'revision':'3064614c6f0eb91baf804f99382d01a8','url':'/images/restaurant/plat-gastronomique-1.webp'},{'revision':'a3ce18731520b81ca3a1066145f4495b','url':'/images/restaurant/plat-hiver-1.webp'},{'revision':'4e823290249b032788bfdc27f818079b','url':'/images/restaurant/plat-hiver-2.webp'},{'revision':'e4fbf938fbd610158c0cd69184e8a89e','url':'/images/restaurant/plat-printemps-1.webp'},{'revision':'305b14455735c8d3a0a071cbebf69ea6','url':'/images/restaurant/plat-printemps-2.webp'},{'revision':'8e5e696bc5dde51772fe9fd83c242561','url':'/images/restaurant/plat-saison-1.webp'},{'revision':'429fe98025ee12699b812068ec60e6ac','url':'/images/restaurant/plat-saison-2.webp'},{'revision':'76b2a3b29dc942378edc36ea422a3b53','url':'/images/restaurant/salle-restaurant.webp'},{'revision':'6de0ef6b4e1748def5cc9af6c4c674a5','url':'/images/rooms/chambre-accessible-main.png'},{'revision':'2886b4f6072cb065a74ec5572b743f61','url':'/images/rooms/chambre-duplex.webp'},{'revision':'3d7721c1e494f1e517604bb634aae18d','url':'/images/rooms/chambre-executive-main.jpg'},{'revision':'f6151ab29c5e9ed03b01399b14710e07','url':'/images/rooms/chambre-nature.webp'},{'revision':'7b5e0fa581aa70c38bb71ffe330c491b','url':'/images/rooms/chambre-privilege.png'},{'revision':'ee1e8ff1f76d2c96e9b84ecbe9a32193','url':'/images/rooms/chambre-twin.png'},{'revision':'ce886e26196060ef815445ee57fc9f5b','url':'/images/rooms/gallery-room-1.png'},{'revision':'93c323de0c85fcf088413a46f25b4f70','url':'/images/rooms/gallery-room-10.png'},{'revision':'009dba2c50f1d52dfc6d2b0a78c51474','url':'/images/rooms/gallery-room-11.png'},{'revision':'298c09bcbb0cc412ea04052e17739251','url':'/images/rooms/gallery-room-12.png'},{'revision':'fbeaf0c77bf41ddfaaa1b36c61df6957','url':'/images/rooms/gallery-room-13.png'},{'revision':'1399f212175c4018161a406d5f72cb1e','url':'/images/rooms/gallery-room-14.png'},{'revision':'b5965d56ce7e54d040ebe2206375935f','url':'/images/rooms/gallery-room-2.png'},{'revision':'c611de804f5641b3d73e1bac15aed438','url':'/images/rooms/gallery-room-3.png'},{'revision':'6934e0a6c05fb78dfb04613044e389af','url':'/images/rooms/gallery-room-4.png'},{'revision':'0f687ddb22a3ee666ca04ef83ed9eeb0','url':'/images/rooms/gallery-room-5.png'},{'revision':'f3b658ad33f3f290293f6eb86b36d296','url':'/images/rooms/gallery-room-6.png'},{'revision':'5d7fcdf92eafaf3009440b8528174605','url':'/images/rooms/gallery-room-8.png'},{'revision':'26d63974a99846f629d81a21bb29293b','url':'/images/rooms/hd/accessible-1.jpg'},{'revision':'fdb1635e14159e0306273eb85d93b2a6','url':'/images/rooms/hd/accessible-2.png'},{'revision':'5f49c843f823323b2887a098253a0f43','url':'/images/rooms/hd/accessible-3.png'},{'revision':'1bb3cc427007e6e8568df7c598783bb4','url':'/images/rooms/hd/accessible-4.png'},{'revision':'e8cb311a29dc659b0169edb484a1245f','url':'/images/rooms/hd/booking/charlieu-abbey-exterior.webp'},{'revision':'462e79d3b546d38832e5e0654c833761','url':'/images/rooms/hd/booking/h
2otel-balcony-view.webp'},{'revision':'d9beef8fa28aa8398b97da587fe93f72','url':'/images/rooms/hd/booking/hotel-exterior-facade-restaurant.webp'},{'revision':'df68457e3d732031fb29fbbd8ffecf50','url':'/images/rooms/hd/booking/hotel-exterior-rendering.jpg'},{'revision':'a5f2d80feea282582c0738092ad8ace5','url':'/images/rooms/hd/booking/restaurant-gourmet-dish.webp'},{'revision':'f994a58c9e10eac09ee5f26faa68215d','url':'/images/rooms/hd/booking/restaurant-terrace-glassware.jpg'},{'revision':'758997a04b82f719f57feab6816c3dc5','url':'/images/rooms/hd/booking/room-attic-bed-skylight.jpg'},{'revision':'8318efb77ee4abdf44eec807da072c38','url':'/images/rooms/hd/booking/room-duplex-suite-living-staircase.webp'},{'revision':'521750ea774038e7b721341db80093eb','url':'/images/rooms/hd/booking/room-duplex-suite-staircase.jpg'},{'revision':'b5965d56ce7e54d040ebe2206375935f','url':'/images/rooms/hd/booking/room-executive-amenities-kettle-safe.png'},{'revision':'ce886e26196060ef815445ee57fc9f5b','url':'/images/rooms/hd/booking/room-executive-bathroom-bathtub.png'},{'revision':'0f687ddb22a3ee666ca04ef83ed9eeb0','url':'/images/rooms/hd/booking/room-executive-bed-2.png'},{'revision':'f3b658ad33f3f290293f6eb86b36d296','url':'/images/rooms/hd/booking/room-executive-bed-3.png'},{'revision':'6934e0a6c05fb78dfb04613044e389af','url':'/images/rooms/hd/booking/room-executive-bed-terrace.png'},{'revision':'50414c549fa516a8547518d8c76cd054','url':'/images/rooms/hd/booking/room-executive-bed-yellow-headboard.webp'},{'revision':'c611de804f5641b3d73e1bac15aed438','url':'/images/rooms/hd/booking/room-executive-desk-window.png'},{'revision':'3d7721c1e494f1e517604bb634aae18d','url':'/images/rooms/hd/booking/room-executive-terrace-door.jpg'},{'revision':'298c09bcbb0cc412ea04052e17739251','url':'/images/rooms/hd/booking/room-privilege-bathroom-modern.png'},{'revision':'7b5e0fa581aa70c38bb71ffe330c491b','url':'/images/rooms/hd/booking/room-privilege-bathroom-vessel-sink.png'},{'revision':'009dba2c50f1d52dfc6d2b0a78c51474','url':'/images/rooms/hd/booking/room-privilege-bed-2.png'},{'revision':'93c323de0c85fcf088413a46f25b4f70','url':'/images/rooms/hd/booking/room-privilege-bed.png'},{'revision':'5d7fcdf92eafaf3009440b8528174605','url':'/images/rooms/hd/booking/room-twin-bathroom-bathtub.png'},{'revision':'ee1e8ff1f76d2c96e9b84ecbe9a32193','url':'/images/rooms/hd/booking/room-twin-beds.png'},{'revision':'3d7721c1e494f1e517604bb634aae18d','url':'/images/rooms/hd/executive-1.jpg'},{'revision':'50414c549fa516a8547518d8c76cd054','url':'/images/rooms/hd/gallery-1.webp'},{'revision':'8318efb77ee4abdf44eec807da072c38','url':'/images/rooms/hd/gallery-2.webp'},{'revision':'462e79d3b546d38832e5e0654c833761','url':'/images/rooms/hd/gallery-3.webp'},{'revision':'dc5e144693fd9b0cf5b284a477a5d4f8','url':'/images/rooms/hd/logis/booking-photo-1.jpg'},{'revision':'496b8edf5ff979791560a71d31d5fee4','url':'/images/rooms/hd/logis/booking-photo-10.jpg'},{'revision':'d81215c1f28fc8a31b170192afb12c53','url':'/images/rooms/hd/logis/booking-photo-11.jpg'},{'revision':'46efec7dc7d3dbdf396bc0a2c0b490c7','url':'/images/rooms/hd/logis/booking-photo-12.jpg'},{'revision':'2c7003047d63446094acb9afa8a054ca','url':'/images/rooms/hd/logis/booking-photo-13.jpg'},{'revision':'de96c0cbd0991b3c056da1e0ec8f6c46','url':'/images/rooms/hd/logis/booking-photo-14.jpg'},{'revision':'85e6f1fbb3751d720261de01e9f0e430','url':'/images/rooms/hd/logis/booking-photo-15.jpg'},{'revision':'c1334206399a10f19b6ecd2f1c2f519a','url':'/images/rooms/hd/logis/booking-photo-16.jpg'},{'revision':'ca15ca53bc5fb756d7dcc8d52407fd20','url':'/images/rooms/hd/logis/booking-photo-17.jpg'},{'revision':'dee2bd643d83ed3e53978fb2f4d453f6','url':'/images/rooms/hd/logis/booking-photo-18.jpg'},{'revision':'5494304cd341e41736e89dbd94aedfa7','url':'/images/rooms/hd/logis/booking-photo-19.jpg'},{'revision':'145c66719744d988c095e38dd554cdc2','url':'/images/rooms/hd/logis/booking-photo-2.jpg'},{'revision':'64d637fc56122a4235a8a41ea69d4bbf','url':'/images/rooms/hd/logis/booking-photo-20.jpg'},{'revision':'d56018c3444bd95c25f076443fad68f2','url':'/images/rooms/hd/logis/booking-photo-21.jpg'},{'revision':'c8722f46ca7940583c5e6da4085f92c4','url':'/images/rooms/hd/logis/booking-photo-22.jpg'},{'revision':'fc66dd89f44955be05cfb7c9d86935b9','url':'/images/rooms/hd/logis/booking-photo-23.jpg'},{'revision':'1c55fdbe9ed46f80eaf311422796a0b7','url':'/images/rooms/hd/logis/booking-photo-24.jpg'},{'revision':'93738ba27554992fceac30f1ada52c1b','url':'/images/rooms/hd/logis/booking-photo-25.jpg'},{'revision':'d56a179912e12f4dddcbc20c465db2b9','url':'/images/rooms/hd/logis/booking-photo-26.jpg'},{'revision':'f174fd3628ca6834ab0b21c26a357d39','url':'/images/rooms/hd/logis/booking-photo-27.jpg'},{'revision':'5a36b88c781cd41c83135dfc07933ed5','url':'/images/rooms/hd/logis/booking-photo-28.jpg'},{'revision':'35d6fd32714d7180f91c08a128177682','url':'/images/rooms/hd/logis/booking-photo-29.jpg'},{'revision':'c1f40c2c3e962835044e295624c70b86','url':'/images/rooms/hd/logis/booking-photo-3.jpg'},{'revision':'1da6d79d5850debc46ec83e6838035ba','url':'/images/rooms/hd/logis/booking-photo-30.jpg'},{'revision':'4a612fe4e067e8680ca19332403c49bb','url':'/images/rooms/hd/logis/booking-photo-31.jpg'},{'revision':'4d05a104ee1d07ecbea2b7cb4d48db9c','url':'/images/rooms/hd/logis/booking-photo-32.jpg'},{'revision':'a67aac26bd3c5c97b1afe18a9b275a0e','url':'/images/rooms/hd/logis/booking-photo-33.jpg'},{'revision':'aa05c10d93cda26600b90d0125f786bf','url':'/images/rooms/hd/logis/booking-photo-4.jpg'},{'revision':'a8d2e633f73f58ed43313a8036299aed','url':'/images/rooms/hd/logis/booking-photo-5.jpg'},{'revision':'3078af9de28a8f19bf1323d203c6df81','url':'/images/rooms/hd/logis/booking-photo-6.jpg'},{'revision':'b59eaac3fbeaa44e7b817bd19a225675','url':'/images/rooms/hd/logis/booking-photo-7.jpg'},{'revision':'d6cdcfac57debcabc2fef4f586b4d3e9','url':'/images/rooms/hd/logis/booking-photo-8.jpg'},{'revision':'a9c9d10a9d109c99278dd871a6868253','url':'/images/rooms/hd/logis/booking-photo-9.jpg'},{'revision':'c0d4d0dbc2f28e68961c5d57f0680313','url':'/images/rooms/hd/logis/logis-bar-1.jpg'},{'revision':'d796bd720204c5c149d6437db752877e','url':'/images/rooms/hd/logis/logis-bar-2.jpg'},{'revision':'3435340cf27f57ce7d128fd90afb83b3','url':'/images/rooms/hd/logis/logis-bar-3.jpg'},{'revision':'62df64920c598c69ca689fb523f1b885','url':'/images/rooms/hd/logis/logis-bar-4.jpg'},{'revision':'3898fae84e0faf955c1e341a5498988d','url':'/images/rooms/hd/logis/logis-bathroom-1.jpg'},{'revision':'5ddb0cccc3e3f8d9a1111124737b61f3','url':'/images/rooms/hd/logis/logis-bathroom-2.jpg'},{'revision':'74f72d96cf74d0fb82d7df5735c73d33','url':'/images/rooms/hd/logis/logis-breakfast-1.jpg'},{'revision':'07f9bee5d3cf3d2d70b3fefa82877cfd','url':'/images/rooms/hd/logis/logis-breakfast-2.jpg'},{'revision':'eabf23e114b9349ae700d22d250936c6','url':'/images/rooms/hd/logis/logis-facade-1.jpg'},{'revision':'cfbb948976b8f675625828d311e68102','url':'/images/rooms/hd/logis/logis-food-1.jpg'},{'revision':'dae54a29ff6732371fe677dcfd86326e','url':'/images/rooms/hd/logis/logis-food-2.jpg'},{'revision':'5199a2b0a7fdd7c1e21129cb2ccfb9ff','url':'/images/rooms/hd/logis/logis-food-3.jpg'},{'revision':'7c985400fb20e55a325b78440bdb4450','url':'/images/rooms/hd/logis/logis-food-4.jpg'},{'revision':'d4fa766aee1cf4e24e953018518ada90','url':'/images/rooms/hd/logis/logis-food-5.jpg'},{'revision':'9bcd0f6596e15a6fedb428df8cc248b7','url':'/images/rooms/hd/logis/logis-food-6.jpg'},{'revision':'0a993228cce7977b55cea8f07479f919','url':'/images/rooms/hd/logis/logis-food-7.jpg'},{'revision':'b68657c46c43eeab1fcaba0f445f0636','url':'/images/rooms/hd/logis/logis-food-8.jpg'},{'revision':'b1aee9e9a0f4b373fb9f773ba653aa11','url':'/images/rooms/hd/logis/logis-food-9.jpg'}
2,{'revision':'080ac6859578a0c2fea24b4e5ad07ad1','url':'/images/rooms/hd/logis/logis-premium-rate-1.png'},{'revision':'e0cbe43b47ee84b15ce88520b0036df8','url':'/images/rooms/hd/logis/logis-premium-rate-2.png'},{'revision':'65236664cf34e9c3204286e525ffd70e','url':'/images/rooms/hd/logis/logis-restaurant-1.jpg'},{'revision':'5baae79a4b540a045bdef9dded3607c5','url':'/images/rooms/hd/logis/logis-restaurant-2.jpg'},{'revision':'c6b1566d64b8c7a4d8adc621e4d70bea','url':'/images/rooms/hd/logis/logis-restaurant-3.jpg'},{'revision':'6f879cbb866b9b4111a59490b823708b','url':'/images/rooms/hd/logis/logis-restaurant-4.jpg'},{'revision':'bbf33dac210a53df8e98d5724d7effe1','url':'/images/rooms/hd/logis/logis-restaurant-5.jpg'},{'revision':'1c6b049b19269f9c9316f920a6bcbbe5','url':'/images/rooms/hd/logis/logis-room-1.jpg'},{'revision':'a9353d74c35ccb81341370ac699d77e1','url':'/images/rooms/hd/logis/logis-room-2.jpg'},{'revision':'640c6b11990e1afcf9641078a9eb9a0c','url':'/images/rooms/hd/logis/logis-room-3.jpg'},{'revision':'d560eafe5110875aaf4cec9683172674','url':'/images/rooms/hd/logis/logis-room-4.jpg'},{'revision':'457c7fd77ad91f0d8e896c0788d1ae0d','url':'/images/rooms/hd/logis/logis-room-5.jpg'},{'revision':'1abfa8bb8e59605b3b0762acae8dbad0','url':'/images/rooms/hd/logis/logis-room-6.jpg'},{'revision':'8698cd8250e983dc168d8c0dbb3746e7','url':'/images/rooms/hd/logis/logis-room-7.jpg'},{'revision':'49390a2a135ac93e6b6ccdb5dbf71b23','url':'/images/rooms/hd/logis/logis-room-8.jpg'},{'revision':'c3924e2661717a58b5a150741fb48af6','url':'/images/rooms/hd/logis/logis-seminar-1.jpg'},{'revision':'cba7c8b537579cb5e2bc9829059b3bfc','url':'/images/rooms/hd/logis/logis-seminar-2.jpg'},{'revision':'8be886786460c7ce1772e22b240b9986','url':'/images/rooms/hd/logis/logis-seminar-3.jpg'},{'revision':'fd07f948c6f8afea4eedd3f4a70076b2','url':'/images/rooms/hd/logis/official-content-1.png'},{'revision':'5f462789175257e9519dfb0803c13112','url':'/images/rooms/hd/logis/official-content-2.png'},{'revision':'3bcf9c4fe54b9d9bc2452b4b72fd6969','url':'/images/rooms/hd/logis/official-content-3.png'},{'revision':'04fc95eca81ad7a5601104e983e0585a','url':'/images/rooms/hd/logis/official-content-4.png'},{'revision':'0cbf5034429218acefbd46e760b99781','url':'/images/rooms/hd/logis/official-content-5.png'},{'revision':'8961b91a10ca580cf5ac24ec3fa7c793','url':'/images/rooms/hd/logis/official-content-7.png'},{'revision':'590e720f5127fdb59bc10056fb372ee9','url':'/images/rooms/hd/logis/official-content-8.png'},{'revision':'c28e821dc5dab525b7f29f02dc699bb5','url':'/images/rooms/hd/logis/official-gallery-1.webp'},{'revision':'d9beef8fa28aa8398b97da587fe93f72','url':'/images/rooms/hd/logis/official-main-1.webp'},{'revision':'a95f3f95a7b84f29556cbf0fb2ddf6b6','url':'/images/rooms/hd/logis/official-main-2.webp'},{'revision':'e8cb311a29dc659b0169edb484a1245f','url':'/images/rooms/hd/logis/official-main-3.webp'},{'revision':'50414c549fa516a8547518d8c76cd054','url':'/images/rooms/hd/logis/official-main-4.webp'},{'revision':'d01e750d735fc149f5bcbf3b22238c3e','url':'/images/rooms/hd/logis/official-main-5.webp'},{'revision':'462e79d3b546d38832e5e0654c833761','url':'/images/rooms/hd/logis/official-main-6.webp'},{'revision':'a5f2d80feea282582c0738092ad8ace5','url':'/images/rooms/hd/logis/official-main-7.webp'},{'revision':'fd7b314a3282a0808006747d0c495bb3','url':'/images/rooms/hd/logis/official-main-8.webp'},{'revision':'8b69e5c3128d58ab52448b92321fe38d','url':'/images/rooms/hd/logis/official-room-1.webp'},{'revision':'0c3c921d8b0c10e00c4681e4a0af1825','url':'/images/rooms/hd/logis/official-room-2.webp'},{'revision':'cb1bf9e74ac79406b61d4f9047314460','url':'/images/rooms/hd/logis/official-room-3.webp'},{'revision':'2dc9d78ab0ce6ee9d1372d13b6767692','url':'/images/rooms/hd/logis/official-room-4.webp'},{'revision':'3c91126e0d6230e57ffb3b02b2fe1520','url':'/images/rooms/hd/logis/official-room-5.webp'},{'revision':'72a92902ee0bc49b32bd5079c82e84cc','url':'/images/rooms/hd/logis/official-room-6.webp'},{'revision':'2a3103778366ff845077185c889e995a','url':'/images/rooms/hd/logis/official-room-7.webp'},{'revision':'f07d4d9650b07cd5d4240899be21cc40','url':'/images/rooms/hd/logis/official-room-8.webp'},{'revision':'44992d86da81c5f5b3947673d8a243f9','url':'/images/rooms/hd/logis/official-room-9.webp'},{'revision':'7b5e0fa581aa70c38bb71ffe330c491b','url':'/images/rooms/hd/privilege-1.png'},{'revision':'93c323de0c85fcf088413a46f25b4f70','url':'/images/rooms/hd/privilege-2.png'},{'revision':'009dba2c50f1d52dfc6d2b0a78c51474','url':'/images/rooms/hd/privilege-3.png'},{'revision':'298c09bcbb0cc412ea04052e17739251','url':'/images/rooms/hd/privilege-4.png'},{'revision':'fbeaf0c77bf41ddfaaa1b36c61df6957','url':'/images/rooms/hd/privilege-5.png'},{'revision':'1399f212175c4018161a406d5f72cb1e','url':'/images/rooms/hd/privilege-6.png'},{'revision':'3dd36c3f8d4e09e3bcef7a71a3868869','url':'/images/rooms/hd/reservit/monsamm-uploads/044d63d5d440f7d665de63cc06366721657237da.png'},{'revision':'dcbd4e53da8b5a3002708e04a5fd4fa5','url':'/images/rooms/hd/reservit/monsamm-uploads/0cb1dd3cf6bbc57bfd6257ca543f68dcf4aff621.png'},{'revision':'6baf9f66740351613bb81edb0cd0a9a1','url':'/images/rooms/hd/reservit/monsamm-uploads/161cabd60a6fc400001ba68eca6056fbfb1311c2.png'},{'revision':'fd07f948c6f8afea4eedd3f4a70076b2','url':'/images/rooms/hd/reservit/monsamm-uploads/447e42e1f53d187e922b2fef6f40289b59ad340b.png'},{'revision':'79b12f4959af263de5d5d37ea7b932d2','url':'/images/rooms/hd/reservit/monsamm-uploads/70515d4a91f87be3c5f61b7ac67b70db369caefc.png'}
2,{'revision':'297b4a62017cac253fc0b6eafd6b8996','url':'/images/rooms/hd/reservit/monsamm-uploads/7160be04f8f7c170b667679e98d3cbe8b69ca9ce.png'},{'revision':'69748658fa06db715f3c8fcfa398b567','url':'/images/rooms/hd/reservit/monsamm-uploads/9224eac23d5c2bc7c133e910c4ba8972c3e056d4.png'},{'revision':'110396b7748d5dcc02dde6d9413f1a12','url':'/images/rooms/hd/reservit/monsamm-uploads/d997d0a12ac0f4ff00d4616d2f37dd89bf805ca9.png'},{'revision':'83e2f9fbc1b8b16a1a7530b066d8309f','url':'/images/rooms/hd/reservit/monsamm-uploads/ffd1fd63c2363f7d3afb8a2e00de0f5408acdbc9.png'},{'revision':'d9beef8fa28aa8398b97da587fe93f72','url':'/images/rooms/hd/reservit/monsamm-xl/62b5c964a6ed39.49304919-xl.webp'},{'revision':'c28e821dc5dab525b7f29f02dc699bb5','url':'/images/rooms/hd/reservit/monsamm-xl/62b5c9bf16acb8.30299015-xl.webp'},{'revision':'a95f3f95a7b84f29556cbf0fb2ddf6b6','url':'/images/rooms/hd/reservit/monsamm-xl/62b5c9eea26839.54410425-xl.webp'},{'revision':'e8cb311a29dc659b0169edb484a1245f','url':'/images/rooms/hd/reservit/monsamm-xl/62b5ca08830317.84996099-xl.webp'},{'revision':'8b69e5c3128d58ab52448b92321fe38d','url':'/images/rooms/hd/reservit/monsamm-xl/62b5ca6f5e70a2.15821495-xl.webp'},{'revision':'0c3c921d8b0c10e00c4681e4a0af1825','url':'/images/rooms/hd/reservit/monsamm-xl/62b5ca717157a7.24305322-xl.webp'},{'revision':'cb1bf9e74ac79406b61d4f9047314460','url':'/images/rooms/hd/reservit/monsamm-xl/62b5ca73024003.60966065-xl.webp'},{'revision':'2dc9d78ab0ce6ee9d1372d13b6767692','url':'/images/rooms/hd/reservit/monsamm-xl/62b5ca751c3e04.87876636-xl.webp'},{'revision':'50414c549fa516a8547518d8c76cd054','url':'/images/rooms/hd/reservit/monsamm-xl/62b98165e1e010.66851801-xl.webp'},{'revision':'3f59b46769b87ae5729462dc4f8b2285','url':'/images/rooms/hd/reservit/monsamm-xl/62b982f0ab4aa1.60788811-xl.webp'},{'revision':'6e9fc28bfa8ce6c89e462bb299c44c43','url':'/images/rooms/hd/reservit/monsamm-xl/62d14e69687905.73066238-xl.webp'},{'revision':'bce59f23eb03083f65bd861bc7f19619','url':'/images/rooms/hd/reservit/monsamm-xl/62d15750171be9.46874058-xl.webp'},{'revision':'961f96f7997ca62dc8309e0bcc07d01e','url':'/images/rooms/hd/reservit/monsamm-xl/62d158661a5040.48637782-xl.webp'},{'revision':'8318efb77ee4abdf44eec807da072c38','url':'/images/rooms/hd/reservit/monsamm-xl/62d2b96722fc63.25943285-xl.webp'},{'revision':'462e79d3b546d38832e5e0654c833761','url':'/images/rooms/hd/reservit/monsamm-xl/62d2b9adc66922.06236582-xl.webp'},{'revision':'665b50389ccdf8ea11d36acadda63d2d','url':'/images/rooms/hd/reservit/monsamm-xl/630c7145b2c072.67616080-xl.webp'},{'revision':'be51c32c140b5901e09139c1ffec44d6','url':'/images/rooms/hd/reservit/monsamm-xl/6310d3a75fb632.58250615-xl.webp'},{'revision':'804ce7cf3f001ba31ee5d76f3d922f2b','url':'/images/rooms/hd/reservit/monsamm-xl/6310d3ad543a30.63460151-xl.webp'},{'revision':'bc3038fdca0e33dd5b9d253eaad6f088','url':'/images/rooms/hd/reservit/monsamm-xl/6310d502f0f2a9.98477399-xl.webp'},{'revision':'fad2b56e947bdea98fc8770011a6b5ce','url':'/images/rooms/hd/reservit/monsamm-xl/6438ec052e2f21.20200106-xl.webp'},{'revision':'00d05967cf7fa5c8e86b21aa390d14ef','url':'/images/rooms/hd/reservit/monsamm-xl/6438ec419019b3.73340303-xl.webp'},{'revision':'c6a781ee2a5b720e12f8b9f1d22cb8b0','url':'/images/rooms/hd/reservit/monsamm-xl/64f2070dbf11b6.08137871-xl.webp'},{'revision':'5d315478d9efc0a561e9ea634860a32c','url':'/images/rooms/hd/reservit/monsamm-xl/64f6e48e56bd16.35641838-xl.webp'},{'revision':'2a3103778366ff845077185c889e995a','url':'/images/rooms/hd/reservit/monsamm-xl/6557736a59b0a9.09916933-xl.webp'},{'revision':'f07d4d9650b07cd5d4240899be21cc40','url':'/images/rooms/hd/reservit/monsamm-xl/655773971be159.14358993-xl.webp'},{'revision':'44992d86da81c5f5b3947673d8a243f9','url':'/images/rooms/hd/reservit/monsamm-xl/655b40da5213b3.83219520-xl.webp'},{'revision':'21439ece68f813f2656ae9bc20045cfe','url':'/images/rooms/hd/reservit/monsamm-xl/65c1ee7f6a9ee9.45044086-xl.webp'},{'revision':'8b96de0c2a151cda01f3ad9c55b1f87f','url':'/images/rooms/hd/reservit/monsamm-xl/65c1eea649c2b8.96581809-xl.webp'},{'revision':'108d21d3e411aba95180ccd5323f0201','url':'/images/rooms/hd/reservit/monsamm-xl/670233df544c00.60046230-xl.webp'},{'revision':'e5638eb424fb8c391738f52b6894427c','url':'/images/rooms/hd/reservit/monsamm-xl/670234016b31a1.37421234-xl.webp'},{'revision':'8d3e587236c02f2ca4e8622c7074665f','url':'/images/rooms/hd/reservit/monsamm-xl/6703cad5494215.15832333-xl.webp'},{'revision':'26672eb1c357181e63c43c3fcb56e8c7','url':'/images/rooms/hd/reservit/monsamm-xl/6703cafd15fd26.88539806-xl.webp'},{'revision':'f9d908f8cf5c03821619fc122947d8b6','url':'/images/rooms/hd/reservit/monsamm-xl/6703cb406b8787.47160591-xl.webp'},{'revision':'501ebee5df7b776ba86c24366f1f9ca3','url':'/images/rooms/hd/reservit/monsamm-xl/6703cb5366b5c0.9
21650095-xl.webp'},{'revision':'b97b559ec813a3e4e5f593917749a327','url':'/images/rooms/hd/reservit/monsamm-xl/6703cb6cdfaa56.98716553-xl.webp'},{'revision':'7dbee31576702299f2c399fe856f60f4','url':'/images/rooms/hd/reservit/monsamm-xl/6703ccab396c68.94891981-xl.webp'},{'revision':'ff0af36bdd08c1e1b076003e6d52e70c','url':'/images/rooms/hd/reservit/monsamm-xl/6703cd8ace6732.61129272-xl.webp'},{'revision':'9756f90fd7af11980bb95bb85002cf05','url':'/images/rooms/hd/reservit/monsamm-xl/6703cdff435654.37721241-xl.webp'},{'revision':'b3d1bb26c8d0159768087c18f6ad9065','url':'/images/rooms/hd/reservit/monsamm-xl/6703ce1a3b0be8.74276657-xl.webp'},{'revision':'6b1f4aa59727fb3837783c99d103e6d2','url':'/images/rooms/hd/reservit/monsamm-xl/6703ce3ba89ad5.61644868-xl.webp'},{'revision':'754cf7b8ce84eb314106cff5c3e83e53','url':'/images/rooms/hd/reservit/monsamm-xl/6703d87ece99e7.50020327-xl.webp'},{'revision':'5d2363915723b6f1c1f6eb25d6f4a907','url':'/images/rooms/hd/reservit/monsamm-xl/67dd89af3a5a63.27737158-xl.webp'},{'revision':'07d9d664fbdaaea260ce9d5d8cb3dd7e','url':'/images/rooms/hd/reservit/monsamm-xl/67dd89c559bb04.91852563-xl.webp'},{'revision':'2a72f6daace2d7ad9060cc3e8b3da4c8','url':'/images/rooms/hd/reservit/monsamm-xl/67dd93adc28389.33000036-xl.webp'},{'revision':'7e2fd8f90a45114c906452f7c95f1320','url':'/images/rooms/hd/reservit/monsamm-xl/67dd93c434d191.62849756-xl.webp'},{'revision':'27eaa6aede0ef5bf48637fa8352f736c','url':'/images/rooms/hd/reservit/monsamm-xl/67dd94c4745c82.53140000-xl.webp'},{'revision':'a5f2d80feea282582c0738092ad8ace5','url':'/images/rooms/hd/reservit/monsamm-xl/67de6a9f112358.14633840-xl.webp'},{'revision':'fe5c2819d6d2d2792471f8fcda095851','url':'/images/rooms/hd/reservit/reservit-gallery/233-1821-111951330.png'},{'revision':'fe5c2819d6d2d2792471f8fcda095851','url':'/images/rooms/hd/reservit/reservit-gallery/233-1821-111951331.png'},{'revision':'ee1e8ff1f76d2c96e9b84ecbe9a32193','url':'/images/rooms/hd/reservit/reservit-gallery/233-1821-563858670.png'},{'revision':'1bb3cc427007e6e8568df7c598783bb4','url':'/images/rooms/hd/reservit/reservit-gallery/233-1821-563861277.png'},{'revision':'ce886e26196060ef815445ee57fc9f5b','url':'/images/rooms/hd/reservit/reservit-gallery/233-1821-796206546.png'},{'revision':'b5965d56ce7e54d040ebe2206375935f','url':'/images/rooms/hd/reservit/reservit-gallery/233-1821-796209359.png'},{'revision':'5d7fcdf92eafaf3009440b8528174605','url':'/images/rooms/hd/reservit/reservit-gallery/233-1821-796209360.png'},{'revision':'6c0e4d0db0a88ce70af6370936a32fbe','url':'/images/rooms/hd/reservit/reservit-gallery/233-1821-796210090.png'},{'revision':'4da8588cb06cc7c42727ab1b652938ce','url':'/images/rooms/hd/reservit/reservit-gallery/233-1821-796210135.png'},{'revision':'1399f212175c4018161a406d5f72cb1e','url':'/images/rooms/hd/reservit/reservit-gallery/233-1821-796210242.png'},{'revision':'7b5e0fa581aa70c38bb71ffe330c491b','url':'/images/rooms/hd/reservit/reservit-gallery/233-1821-796216175.png'},{'revision':'93c323de0c85fcf088413a46f25b4f70','url':'/images/rooms/hd/reservit/reservit-gallery/233-1821-796216863.png'},{'revision':'c611de804f5641b3d73e1bac15aed438','url':'/images/rooms/hd/reservit/reservit-gallery/233-1821-796218217.png'},{'revision':'f3b658ad33f3f290293f6eb86b36d296','url':'/images/rooms/hd/reservit/reservit-gallery/233-1821-89872673.png'},{'revision':'6934e0a6c05fb78dfb04613044e389af','url':'/images/rooms/hd/reservit/reservit-gallery/233-1821-89872917.png'},{'revision':'0f687ddb22a3ee666ca04ef83ed9eeb0','url':'/images/rooms/hd/reservit/reservit-gallery/233-1821-89882821.png'},{'revision':'009dba2c50f1d52dfc6d2b0a78c51474','url':'/images/rooms/hd/reservit/reservit-gallery/233-1821-89898710.png'},{'revision':'298c09bcbb0cc412ea04052e17739251','url':'/images/rooms/hd/reservit/reservit-gallery/233-1821-89898711.png'},{'revision':'fbeaf0c77bf41ddfaaa1b36c61df6957','url':'/images/rooms/hd/reservit/reservit-gallery/233-1821-89898719.png'},{'revision':'fdb1635e14159e0306273eb85d93b2a6','url':'/images/rooms/hd/reservit/reservit-gallery/233-1821-89898720.png'},{'revision':'5f49c843f823323b2887a098253a0f43','url':'/images/rooms/hd/reservit/reservit-gallery/233-1821-89898721.png'},{'revision':'6de0ef6b4e1748def5cc9af6c4c674a5','url':'/images/rooms/hd/reservit/reservit-gallery/233-1821-89898744.png'},{'revision':'3d7721c1e494f1e517604bb634aae18d','url':'/images/rooms/hd/reservit/reservit-rooms/executive-105604-390207_1.jpg'},{'revision':'26d63974a99846f629d81a21bb29293b','url':'/images/rooms/hd/reservit/reservit-rooms/pmr-442149-1044922.jpg'},{'revision':'960e11ce0849c0283933b54cafaaaeaf','url':'/images/rooms/hd/reservit/reservit-rooms/room-442148-1044920.jpg'},{'revision':'521750ea774038e7b721341db80093eb','url':'/images/rooms/hd/reservit/reservit-rooms/suite-duplex-105599.jpg'},{'revision':'faa2b6830f43a3824d3d5b9e1552f5e3','url':'/images/rooms/hd/reservit/reservit-rooms/twin-105610-390203_3.jpg'},{'revision':'521750ea774038e7b721341db80093eb','url':'/images/rooms/hd/suite-duplex-1.jpg'},{'revision':'ce886e26196060ef815445ee57fc9f5b','url':'/images/rooms/hd/suite-duplex-2.png'},{'revision':'b5965d56ce7e54d040ebe2206375935f','url':'/images/rooms/hd/suite-duplex-3.png'},{'revision':'c611de804f5641b3d73e1bac15aed438','url':'/images/rooms/hd/suite-duplex-4.png'},{'revision':'6934e0a6c05fb78dfb04613044e389af','url':'/images/rooms/hd/suite-duplex-5.png'},{'revision':'0f687ddb22a3ee666ca04ef83ed9eeb0','url':'/images/rooms/hd/suite-duplex-6.png'},{'revision':'f3b658ad33f3f290293f6eb86b36d296','url':'/images/rooms/hd/suite-duplex-7.png'},{'revision':'ee1e8ff1f76d2c96e9b84ecbe9a32193','url':'/images/rooms/hd/twin-1.png'},{'revision':'5d7fcdf92eafaf3009440b8528174605','url':'/images/rooms/hd/twin-2.png'},{'revision':'521750ea774038e7b721341db80093eb','url':'/images/rooms/suite-duplex-main.jpg'},{'revision':'bf6d6dfd66dbfad52c2498fc632f90f2','url':'/images/welcome/visits/CREDITS.md'},{'revision':'bb61dc26ce73cb96f1643c6a33400828','url':'/images/welcome/visits/abbaye-benedictine.webp'},{'revision':'ebdfcda618d3275cc74ec5f4853e6d18','url':'/images/welcome/visits/couvent-cordeliers.webp'},{'revision':'d1fe80585417df90c153029c5a73a5d1','url':'/images/welcome/visits/grand-couvert.webp'},{'revision':'e082307149e60c45413636f9395329fb','url':'/images/welcome/visits/marches-locaux.webp'},{'revision':'bda24de6de4286f2f5b44cf4f378b3f2','url':'/images/welcome/visits/musee-hospitalier.webp'},{'revision':'9c0256c750ad809719ca22b13a62f69c','url':'/images/welcome/visits/musee-soierie.webp'},{'revision':'4fcf1051c43d9e978983032884a427aa','url':'/images/welcome/visits/port-briennon.webp'},{'revision':'b06ef76f842ba8afd0755c76c4a9f2a0','url':'/images/welcome/visits/voie-verte.webp'},{'revision':'8e061864f388b47f33a1c3780831193e','url':'/next.svg'},{'revision':'30b70cdc18356601c2e732e3f6a4437c','url':'/qr/welcome.png'},{'revision':'47268c9a11e4cb28bfa11a3a814f16f6','url':'/tablette.webmanifest'},{'revision':'c0af2f507b369b085b35ef4bbe3bcf1e','url':'/vercel.svg'},{'revision':'b644eb68245f0d7296a8c363c682dc78','url':'/videos/hero-charlieu.mp4'},{'revision':'a2760511c65806022ad20adf74370ff3','url':'/window.svg'}],skipWaiting:!0,clientsClaim:!0,navigationPreload:!1,disableDevLogs:!0,runtimeCaching:[{matcher:e=>{let{url:t,sameOrigin:a}=e;return a&&function(e){return!("/tablette/prix"===e.pathname||e.pathname.startsWith("/tablette/prix/"))&&("/tablette"===e.pathname||e.pathname.startsWith("/tablette/"))}(t)},handler:new X({cacheName:"kiosk-pages",networkTimeoutSeconds:5,plugins:[new eu({maxEntries:64,maxAgeSeconds:604800})]})},{matcher:e=>{let{url:t}=e;return t.hostname.endsWith(".public.blob.vercel-storage.com")},handler:new em({cacheName:"kiosk-menu-images",plugins:[new eu({maxEntries:60,maxAgeSeconds:2592e3,purgeOnQuotaError:!0})]})}]}).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.