!function(){"use strict";const e="single-file-response-fetch";function r(r){return new Promise(((t,a)=>{var s,n,i,d;s=new CustomEvent("single-file-request-fetch",{detail:r}),window.dispatchEvent(s),n=e,i=function s(n){var i,d,o;n.detail?n.detail.url==r&&(i=e,d=s,o=!1,window.removeEventListener(i,d,o),n.detail.response?t({status:n.detail.status,headers:new Map(n.detail.headers),arrayBuffer:async()=>n.detail.response}):a(n.detail.error)):a()},d=!1,window.addEventListener(n,i,d)}))}browser.runtime.onMessage.addListener((e=>{if("singlefile.fetchFrame"==e.method&&window.frameId&&window.frameId==e.frameId)return async function(e){try{let s=await(t=e.url,a={cache:"force-cache",headers:e.headers},window.fetch(t,a));return 401!=s.status&&403!=s.status&&404!=s.status||(s=await Promise.race([r(e.url),new Promise(((e,r)=>setTimeout((()=>r()),5e3)))])),{status:s.status,headers:[...s.headers],array:Array.from(new Uint8Array(await s.arrayBuffer()))}}catch(e){return{error:e&&e.toString()}}var t,a}(e)}))}();