const url=new URL(location),parameters=JSON.parse(url.searchParams.get("param"));self.addEventListener("install",e=>{self.skipWaiting(),parameters.clearOldCache&&caches.keys().then(e=>{e.filter(e=>e!=parameters.version).forEach(e=>{caches.delete(e)})}),e.waitUntil(caches.open(parameters.version).then(e=>e.addAll(parameters.ressourceList)))}),self.addEventListener("fetch",e=>{(parameters.cacheExternalRequests||e.request.url.startsWith(url.origin)||parameters.ressourceList.includes(e.request.url))&&"POST"!=e.request.method?e.respondWith(caches.open(parameters.version).then(t=>t.match(e.request).then(r=>r||fetch(e.request).then(r=>(t.put(e.request,r.clone()),r)).catch(()=>caches.match(e.request))))):e.respondWith(fetch(e.request))});