diff options
Diffstat (limited to 'out')
-rw-r--r-- | out/404.html | 6 | ||||
-rw-r--r-- | out/_next/static/chunks/pages/index-5cea1a6a4f484642ff08.js (renamed from out/_next/static/chunks/pages/index-e63523b4f2b01b501b4a.js) | 221 | ||||
-rw-r--r-- | out/_next/static/sqy183jmJB5HZRA44nlqt/_buildManifest.js | 12 | ||||
-rw-r--r-- | out/_next/static/sqy183jmJB5HZRA44nlqt/_ssgManifest.js | 1 | ||||
-rw-r--r-- | out/index.html | 8 | ||||
-rw-r--r-- | out/sw.js | 267 | ||||
-rw-r--r-- | out/workbox-ea903bce.js | 1023 |
7 files changed, 1423 insertions, 115 deletions
diff --git a/out/404.html b/out/404.html index 85ed61c..75f7719 100644 --- a/out/404.html +++ b/out/404.html @@ -18,8 +18,8 @@ <script src="/_next/static/chunks/main-1b0f1fd287f08bad6012.js" defer=""></script> <script src="/_next/static/chunks/pages/_app-fbd69a3b63bd43d7f1b0.js" defer=""></script> <script src="/_next/static/chunks/pages/_error-a0e21b9b223f827fe1f2.js" defer=""></script> - <script src="/_next/static/Uwb-EHm-AvunyFLIbBaQf/_buildManifest.js" defer=""></script> - <script src="/_next/static/Uwb-EHm-AvunyFLIbBaQf/_ssgManifest.js" defer=""></script> + <script src="/_next/static/sqy183jmJB5HZRA44nlqt/_buildManifest.js" defer=""></script> + <script src="/_next/static/sqy183jmJB5HZRA44nlqt/_ssgManifest.js" defer=""></script> </head> <body> <div id="__next"> @@ -753,7 +753,7 @@ "props": { "pageProps": { "statusCode": 404 } }, "page": "/_error", "query": {}, - "buildId": "Uwb-EHm-AvunyFLIbBaQf", + "buildId": "sqy183jmJB5HZRA44nlqt", "nextExport": true, "isFallback": false, "gip": true, diff --git a/out/_next/static/chunks/pages/index-e63523b4f2b01b501b4a.js b/out/_next/static/chunks/pages/index-5cea1a6a4f484642ff08.js index c28b350..b4b355e 100644 --- a/out/_next/static/chunks/pages/index-e63523b4f2b01b501b4a.js +++ b/out/_next/static/chunks/pages/index-5cea1a6a4f484642ff08.js @@ -2316,7 +2316,12 @@ children: (0, l.jsx)( je, de( - { ref: K, nodeById: L.current, linksByNodeId: B.current }, + { + ref: K, + nodeById: L.current, + linksByNodeId: B.current, + webSocket: J.current, + }, { physics: t, graphData: v, @@ -2349,14 +2354,17 @@ v = (e.behavior, e.mouse), y = e.scope, C = e.setScope, - k = (0, x.iP)(), - S = (0, a.Z)(k, 2), - I = S[0], - O = S[1], - N = (0, d.useState)(null), - z = N[0], - R = N[1], - T = function (e, n) { + k = e.webSocket, + S = (0, x.iP)(), + I = (0, a.Z)(S, 2), + O = I[0], + N = I[1], + z = (0, d.useState)(null), + R = z[0], + T = z[1], + D = (0, j.useTheme)(), + H = (0, d.useContext)(ee.N).emacsTheme, + E = function (e, n) { switch (e) { case v.local: if (y.nodeIds.includes(n.id)) break @@ -2365,24 +2373,24 @@ }) break case v.follow: - window.open('org-protocol://roam-node?node=' + n.id, '_self') + k.send(n.id) } }, - D = (0, d.useRef)(null) + Z = (0, d.useRef)(null) ;(0, d.useEffect)( function () { - p && R(m[p]) + p && T(m[p]) }, [p], ), - (D.current = z) - var H = (0, d.useMemo)( + (Z.current = R) + var P = (0, d.useMemo)( function () { - if (!D.current) return {} - var e = u[D.current.id] + if (!Z.current) return {} + var e = u[Z.current.id] return e ? Object.fromEntries( - [D.current.id] + [Z.current.id] .concat( (0, s.Z)( e.flatMap(function (e) { @@ -2396,9 +2404,9 @@ ) : {} }, - [D.current, u], + [Z.current, u], ), - E = (0, d.useMemo)( + F = (0, d.useMemo)( function () { var e = i.nodes.filter(function (e) { var n, @@ -2480,46 +2488,43 @@ }, [t], ) - var Z = (0, d.useRef)(0), - P = (0, d.useState)(1), - F = P[0], - L = P[1], - B = (0, f._7)( + var L = (0, d.useRef)(0), + B = (0, d.useState)(1), + M = B[0], + W = B[1], + X = (0, f._7)( function (e) { - return L(e) + return W(e) }, { duration: b.animationSpeed, algorithm: w[b.algorithmName] }, ), - M = (0, a.Z)(B, 2), - W = M[0], - X = M[1], - A = (0, f._7)( + A = (0, a.Z)(X, 2), + _ = A[0], + q = A[1], + U = (0, f._7)( function (e) { - return L(Math.min(F, -1 * (e - 1))) + return W(Math.min(M, -1 * (e - 1))) }, { duration: b.animationSpeed, algorithm: w[b.algorithmName] }, ), - _ = (0, a.Z)(A, 2), - q = _[0], - U = _[1], - Q = (0, d.useRef)(null) + Q = (0, a.Z)(U, 2), + V = Q[0], + K = Q[1], + J = (0, d.useRef)(null) ;(0, d.useEffect)( function () { - if ((z && (Q.current = z), !b.highlightAnim)) return L(z ? 1 : 0) - z ? W() : (X(), F > 0.5 ? q() : L(0)) + if ((R && (J.current = R), !b.highlightAnim)) return W(R ? 1 : 0) + R ? _() : (q(), M > 0.5 ? V() : W(0)) }, - [z], + [R], ) - var V = (0, j.useTheme)(), - K = - ((0, d.useContext)(ee.N), - function (e) { - if (V) - return e.split('.').reduce(function (e, n) { - return e[n] - }, V.colors) - }), - J = (0, d.useMemo)( + var Y = function (e) { + if (D) + return e.split('.').reduce(function (e, n) { + return e[n] + }, D.colors) + }, + G = (0, d.useMemo)( function () { var e = b.nodeColorScheme.concat( b.linkColorScheme || [], @@ -2528,28 +2533,28 @@ ) return Object.fromEntries( e.map(function (n) { - var t = K(n), + var t = Y(n), i = e.map(function (e) { - return [e, g.Z(t, K(e))] + return [e, g.Z(t, Y(e))] }) return [n, Object.fromEntries(i)] }), ) }, - [b.nodeColorScheme, b.linkHighlight, b.nodeHighlight, b.linkColorScheme], + [b.nodeColorScheme, b.linkHighlight, b.nodeHighlight, b.linkColorScheme, H], ), - Y = (0, d.useMemo)( + $ = (0, d.useMemo)( function () { var e, n, t, i = - null !== (e = u[null === (n = Q.current) || void 0 === n ? void 0 : n.id]) && + null !== (e = u[null === (n = J.current) || void 0 === n ? void 0 : n.id]) && void 0 !== e ? e : [] return Object.fromEntries( - [null === (t = Q.current) || void 0 === t ? void 0 : t.id] + [null === (t = J.current) || void 0 === t ? void 0 : t.id] .concat( (0, s.Z)( i.flatMap(function (e) { @@ -2562,9 +2567,9 @@ }), ) }, - [JSON.stringify(z), Q.current], + [JSON.stringify(R), J.current], ), - G = function (e) { + ne = function (e) { var n, t, i, @@ -2588,10 +2593,10 @@ ((r = a), (o = 0), (l = b.nodeColorScheme.length - 1), Math.min(Math.max(r, o), l)) ] }, - $ = function (e, n) { - return u[e] > u[n] ? G(e) : G(n) + te = function (e, n) { + return u[e] > u[n] ? ne(e) : ne(n) }, - ne = function (e, n) { + ie = function (e, n) { return ( 'rgba(' + (e = e.replace('#', '')) @@ -2604,34 +2609,34 @@ ')' ) }, - te = (0, d.useMemo)( + re = (0, d.useMemo)( function () { - return K(b.labelTextColor) + return Y(b.labelTextColor) }, - [b.labelTextColor], + [b.labelTextColor, H], ), - ie = (0, d.useMemo)( + oe = (0, d.useMemo)( function () { - return K(b.labelBackgroundColor) + return Y(b.labelBackgroundColor) }, - [b.labelBackgroundColor], + [b.labelBackgroundColor, H], ), - re = { - graphData: E, - width: I, - height: O, - backgroundColor: V.colors.gray[b.backgroundColor], + le = { + graphData: F, + width: O, + height: N, + backgroundColor: D.colors.gray[b.backgroundColor], nodeLabel: function (e) { return e.title }, nodeColor: function (e) { return (function (e) { - var n = H[e.id] || Y[e.id] + var n = P[e.id] || $[e.id] return b.emacsNodeColor && e.id === p - ? K(b.emacsNodeColor) + ? Y(b.emacsNodeColor) : n && b.nodeHighlight - ? J[G(e.id)][b.nodeHighlight](F) - : K(G(e.id)) + ? G[ne(e.id)][b.nodeHighlight](M) + : Y(ne(e.id)) })(e) }, nodeRelSize: b.nodeRel, @@ -2645,13 +2650,13 @@ : 0 return ( (3 + t.length - (h.parents ? 0 : i)) * - (H[e.id] || Y[e.id] ? 1 + F * (b.highlightNodeSize - 1) : 1) + (P[e.id] || $[e.id] ? 1 + M * (b.highlightNodeSize - 1) : 1) ) }, nodeCanvasObject: function (e, n, t) { if (e && b.labels) { - var i = Y[e.id] - if (!(t <= b.labelScale || 1 === b.labels) || H[e.id] || i) { + var i = $[e.id] + if (!(t <= b.labelScale || 1 === b.labels) || P[e.id] || i) { var r = e.title, o = r.substring(0, Math.min(r.length, 40)), l = 12 / t, @@ -2661,20 +2666,20 @@ a = Math.min((3 * (t - b.labelScale)) / b.labelScale, 1), d = function () { return 1 === b.labels || t <= b.labelScale - ? F - : H[e.id] || Y[e.id] - ? Math.max(a, F) - : 1 * a * (-1 * (0.5 * F - 1)) + ? M + : P[e.id] || $[e.id] + ? Math.max(a, M) + : 1 * a * (-1 * (0.5 * M - 1)) } if (b.labelBackgroundColor && b.labelBackgroundOpacity) { var u = d() * b.labelBackgroundOpacity, - h = ne(ie, u) + h = ie(oe, u) ;(n.fillStyle = h), n.fillRect.apply(n, [e.x - c[0] / 2, e.y - c[1] / 2].concat((0, s.Z)(c))) } var g = d() ;(n.textAlign = 'center'), (n.textBaseline = 'middle') - var x = ne(te, g) + var x = ie(re, g) ;(n.fillStyle = x), (n.font = ''.concat(l, 'px Sans-Serif')), n.fillText(o, e.x, e.y) @@ -2688,54 +2693,54 @@ linkColor: function (e) { var n = 'object' === typeof e.source ? e.source.id : e.source, t = 'object' === typeof e.target ? e.target.id : e.target, - i = pe(e, D.current), - r = pe(e, Q.current) + i = pe(e, Z.current), + r = pe(e, J.current) return (function (e, n, t) { if (!b.linkHighlight && !b.linkColorScheme && !t) { - var i = $(e, n) - return K(i) + var i = te(e, n) + return Y(i) } if (!t && !b.linkColorScheme) { - var r = $(e, n) - return K(r) + var r = te(e, n) + return Y(r) } - if (!t) return K(b.linkColorScheme) + if (!t) return Y(b.linkColorScheme) if (!b.linkHighlight && !b.linkColorScheme) { - var o = $(e, n) - return K(o) + var o = te(e, n) + return Y(o) } return b.linkHighlight ? b.linkColorScheme - ? J[b.linkColorScheme][b.linkHighlight](F) - : J[$(e, n)][b.linkHighlight](F) - : K(b.linkColorScheme) + ? G[b.linkColorScheme][b.linkHighlight](M) + : G[te(e, n)][b.linkHighlight](M) + : Y(b.linkColorScheme) })(n, t, i || r) }, linkWidth: function (e) { - var n = pe(e, D.current), - t = pe(e, Q.current) - return n || t ? b.linkWidth * (1 + F * (b.highlightLinkSize - 1)) : b.linkWidth + var n = pe(e, Z.current), + t = pe(e, J.current) + return n || t ? b.linkWidth * (1 + M * (b.highlightLinkSize - 1)) : b.linkWidth }, linkDirectionalParticleWidth: b.particlesWidth, d3AlphaDecay: t.alphaDecay, d3AlphaMin: t.alphaMin, d3VelocityDecay: t.velocityDecay, onNodeClick: function (e, n) { - var t = n.timeStamp - Z.current < 400 - return (Z.current = n.timeStamp), T(t ? 'double' : 'click', e) + var t = n.timeStamp - L.current < 400 + return (L.current = n.timeStamp), E(t ? 'double' : 'click', e) }, onBackgroundClick: function () { - R(null), + T(null), 0 !== y.nodeIds.length && C(function (e) { return de(de({}, e), {}, { nodeIds: [] }) }) }, onNodeHover: function (e) { - b.highlight && (z || (U(), L(0)), R(e)) + b.highlight && (R || (K(), W(0)), T(e)) }, onNodeRightClick: function (e) { - T('right', e) + E('right', e) }, } return (0, l.jsx)('div', { @@ -2743,20 +2748,20 @@ ? (0, l.jsx)( ge, de( - de({ ref: n }, re), + de({ ref: n }, le), {}, { nodeThreeObjectExtend: !0, - backgroundColor: V.colors.white, + backgroundColor: D.colors.white, nodeOpacity: b.nodeOpacity, nodeResolution: b.nodeResolution, linkOpacity: b.linkOpacity, nodeThreeObject: function (e) { - if (b.labels && (!(b.labels < 3) || H[e.id])) { + if (b.labels && (!(b.labels < 3) || P[e.id])) { var n = new se.Z(e.title.substring(0, 40)) return ( - (n.color = K(b.labelTextColor)), - (n.backgroundColor = K(b.labelBackgroundColor)), + (n.color = Y(b.labelTextColor)), + (n.backgroundColor = Y(b.labelBackgroundColor)), (n.padding = 2), (n.textHeight = 8), n @@ -2766,7 +2771,7 @@ }, ), ) - : (0, l.jsx)(he, de({ ref: n }, re)), + : (0, l.jsx)(he, de({ ref: n }, le)), }) }) function pe(e, n) { diff --git a/out/_next/static/sqy183jmJB5HZRA44nlqt/_buildManifest.js b/out/_next/static/sqy183jmJB5HZRA44nlqt/_buildManifest.js new file mode 100644 index 0000000..7670619 --- /dev/null +++ b/out/_next/static/sqy183jmJB5HZRA44nlqt/_buildManifest.js @@ -0,0 +1,12 @@ +;(self.__BUILD_MANIFEST = { + __rewrites: { beforeFiles: [], afterFiles: [], fallback: [] }, + '/': [ + 'static/chunks/fb7d5399-0d6001c72a29ebec41eb.js', + 'static/chunks/d25bd147-65fcc4c92edba8b370fb.js', + 'static/chunks/906-f789bd1954ec4d176da1.js', + 'static/chunks/pages/index-5cea1a6a4f484642ff08.js', + ], + '/_error': ['static/chunks/pages/_error-a0e21b9b223f827fe1f2.js'], + sortedPages: ['/', '/_app', '/_error'], +}), + self.__BUILD_MANIFEST_CB && self.__BUILD_MANIFEST_CB() diff --git a/out/_next/static/sqy183jmJB5HZRA44nlqt/_ssgManifest.js b/out/_next/static/sqy183jmJB5HZRA44nlqt/_ssgManifest.js new file mode 100644 index 0000000..82bedd6 --- /dev/null +++ b/out/_next/static/sqy183jmJB5HZRA44nlqt/_ssgManifest.js @@ -0,0 +1 @@ +;(self.__SSG_MANIFEST = new Set()), self.__SSG_MANIFEST_CB && self.__SSG_MANIFEST_CB() diff --git a/out/index.html b/out/index.html index 7f2aef0..716c52f 100644 --- a/out/index.html +++ b/out/index.html @@ -19,9 +19,9 @@ <script src="/_next/static/chunks/fb7d5399-0d6001c72a29ebec41eb.js" defer=""></script> <script src="/_next/static/chunks/d25bd147-65fcc4c92edba8b370fb.js" defer=""></script> <script src="/_next/static/chunks/906-f789bd1954ec4d176da1.js" defer=""></script> - <script src="/_next/static/chunks/pages/index-e63523b4f2b01b501b4a.js" defer=""></script> - <script src="/_next/static/Uwb-EHm-AvunyFLIbBaQf/_buildManifest.js" defer=""></script> - <script src="/_next/static/Uwb-EHm-AvunyFLIbBaQf/_ssgManifest.js" defer=""></script> + <script src="/_next/static/chunks/pages/index-5cea1a6a4f484642ff08.js" defer=""></script> + <script src="/_next/static/sqy183jmJB5HZRA44nlqt/_buildManifest.js" defer=""></script> + <script src="/_next/static/sqy183jmJB5HZRA44nlqt/_ssgManifest.js" defer=""></script> </head> <body> <div id="__next"> @@ -697,7 +697,7 @@ "props": { "pageProps": {} }, "page": "/", "query": {}, - "buildId": "Uwb-EHm-AvunyFLIbBaQf", + "buildId": "sqy183jmJB5HZRA44nlqt", "nextExport": true, "autoExport": true, "isFallback": false, diff --git a/out/sw.js b/out/sw.js new file mode 100644 index 0000000..dcbb3a6 --- /dev/null +++ b/out/sw.js @@ -0,0 +1,267 @@ +if (!self.define) { + const e = (e) => { + 'require' !== e && (e += '.js') + let s = Promise.resolve() + return ( + n[e] || + (s = new Promise(async (s) => { + if ('document' in self) { + const n = document.createElement('script') + ;(n.src = e), document.head.appendChild(n), (n.onload = s) + } else importScripts(e), s() + })), + s.then(() => { + if (!n[e]) throw new Error(`Module ${e} didn’t register its module`) + return n[e] + }) + ) + }, + s = (s, n) => { + Promise.all(s.map(e)).then((e) => n(1 === e.length ? e[0] : e)) + }, + n = { require: Promise.resolve(s) } + self.define = (s, t, r) => { + n[s] || + (n[s] = Promise.resolve().then(() => { + let n = {} + const a = { uri: location.origin + s.slice(1) } + return Promise.all( + t.map((s) => { + switch (s) { + case 'exports': + return n + case 'module': + return a + default: + return e(s) + } + }), + ).then((e) => { + const s = r(...e) + return n.default || (n.default = s), n + }) + })) + } +} +define('./sw.js', ['./workbox-ea903bce'], function (e) { + 'use strict' + importScripts(), + self.skipWaiting(), + e.clientsClaim(), + e.precacheAndRoute( + [ + { + url: '/_next/static/chunks/4.2dee5d830195ddd06029.js', + revision: 'sqy183jmJB5HZRA44nlqt', + }, + { + url: '/_next/static/chunks/906-f789bd1954ec4d176da1.js', + revision: 'sqy183jmJB5HZRA44nlqt', + }, + { + url: '/_next/static/chunks/d25bd147-65fcc4c92edba8b370fb.js', + revision: 'sqy183jmJB5HZRA44nlqt', + }, + { + url: '/_next/static/chunks/fb7d5399-0d6001c72a29ebec41eb.js', + revision: 'sqy183jmJB5HZRA44nlqt', + }, + { + url: '/_next/static/chunks/framework-2191d16384373197bc0a.js', + revision: 'sqy183jmJB5HZRA44nlqt', + }, + { + url: '/_next/static/chunks/main-1b0f1fd287f08bad6012.js', + revision: 'sqy183jmJB5HZRA44nlqt', + }, + { + url: '/_next/static/chunks/pages/_app-fbd69a3b63bd43d7f1b0.js', + revision: 'sqy183jmJB5HZRA44nlqt', + }, + { + url: '/_next/static/chunks/pages/_error-a0e21b9b223f827fe1f2.js', + revision: 'sqy183jmJB5HZRA44nlqt', + }, + { + url: '/_next/static/chunks/pages/index-5cea1a6a4f484642ff08.js', + revision: 'sqy183jmJB5HZRA44nlqt', + }, + { + url: '/_next/static/chunks/polyfills-a54b4f32bdc1ef890ddd.js', + revision: 'sqy183jmJB5HZRA44nlqt', + }, + { + url: '/_next/static/chunks/webpack-a1ea085630ce50807058.js', + revision: 'sqy183jmJB5HZRA44nlqt', + }, + { url: '/_next/static/css/331301db207a91d407e5.css', revision: 'sqy183jmJB5HZRA44nlqt' }, + { + url: '/_next/static/sqy183jmJB5HZRA44nlqt/_buildManifest.js', + revision: 'sqy183jmJB5HZRA44nlqt', + }, + { + url: '/_next/static/sqy183jmJB5HZRA44nlqt/_ssgManifest.js', + revision: 'sqy183jmJB5HZRA44nlqt', + }, + { url: '/favicon.ico', revision: 'c30c7d42707a47a3f4591831641e50dc' }, + { url: '/vercel.svg', revision: '4b4f1876502eb6721764637fe5c41702' }, + ], + { ignoreURLParametersMatching: [] }, + ), + e.cleanupOutdatedCaches(), + e.registerRoute( + '/', + new e.NetworkFirst({ + cacheName: 'start-url', + plugins: [ + { + cacheWillUpdate: async ({ request: e, response: s, event: n, state: t }) => + s && 'opaqueredirect' === s.type + ? new Response(s.body, { status: 200, statusText: 'OK', headers: s.headers }) + : s, + }, + ], + }), + 'GET', + ), + e.registerRoute( + /^https:\/\/fonts\.(?:gstatic)\.com\/.*/i, + new e.CacheFirst({ + cacheName: 'google-fonts-webfonts', + plugins: [ + new e.ExpirationPlugin({ maxEntries: 4, maxAgeSeconds: 31536e3, purgeOnQuotaError: !0 }), + ], + }), + 'GET', + ), + e.registerRoute( + /^https:\/\/fonts\.(?:googleapis)\.com\/.*/i, + new e.StaleWhileRevalidate({ + cacheName: 'google-fonts-stylesheets', + plugins: [ + new e.ExpirationPlugin({ maxEntries: 4, maxAgeSeconds: 604800, purgeOnQuotaError: !0 }), + ], + }), + 'GET', + ), + e.registerRoute( + /\.(?:eot|otf|ttc|ttf|woff|woff2|font.css)$/i, + new e.StaleWhileRevalidate({ + cacheName: 'static-font-assets', + plugins: [ + new e.ExpirationPlugin({ maxEntries: 4, maxAgeSeconds: 604800, purgeOnQuotaError: !0 }), + ], + }), + 'GET', + ), + e.registerRoute( + /\.(?:jpg|jpeg|gif|png|svg|ico|webp)$/i, + new e.StaleWhileRevalidate({ + cacheName: 'static-image-assets', + plugins: [ + new e.ExpirationPlugin({ maxEntries: 64, maxAgeSeconds: 86400, purgeOnQuotaError: !0 }), + ], + }), + 'GET', + ), + e.registerRoute( + /\/_next\/image\?url=.+$/i, + new e.StaleWhileRevalidate({ + cacheName: 'next-image', + plugins: [ + new e.ExpirationPlugin({ maxEntries: 64, maxAgeSeconds: 86400, purgeOnQuotaError: !0 }), + ], + }), + 'GET', + ), + e.registerRoute( + /\.(?:mp3|mp4)$/i, + new e.StaleWhileRevalidate({ + cacheName: 'static-media-assets', + plugins: [ + new e.ExpirationPlugin({ maxEntries: 32, maxAgeSeconds: 86400, purgeOnQuotaError: !0 }), + ], + }), + 'GET', + ), + e.registerRoute( + /\.(?:js)$/i, + new e.StaleWhileRevalidate({ + cacheName: 'static-js-assets', + plugins: [ + new e.ExpirationPlugin({ maxEntries: 32, maxAgeSeconds: 86400, purgeOnQuotaError: !0 }), + ], + }), + 'GET', + ), + e.registerRoute( + /\.(?:css|less)$/i, + new e.StaleWhileRevalidate({ + cacheName: 'static-style-assets', + plugins: [ + new e.ExpirationPlugin({ maxEntries: 32, maxAgeSeconds: 86400, purgeOnQuotaError: !0 }), + ], + }), + 'GET', + ), + e.registerRoute( + /\/_next\/data\/.+\/.+\.json$/i, + new e.StaleWhileRevalidate({ + cacheName: 'next-data', + plugins: [ + new e.ExpirationPlugin({ maxEntries: 32, maxAgeSeconds: 86400, purgeOnQuotaError: !0 }), + ], + }), + 'GET', + ), + e.registerRoute( + /\.(?:json|xml|csv)$/i, + new e.NetworkFirst({ + cacheName: 'static-data-assets', + plugins: [ + new e.ExpirationPlugin({ maxEntries: 32, maxAgeSeconds: 86400, purgeOnQuotaError: !0 }), + ], + }), + 'GET', + ), + e.registerRoute( + ({ url: e }) => { + if (!(self.origin === e.origin)) return !1 + const s = e.pathname + return !s.startsWith('/api/auth/') && !!s.startsWith('/api/') + }, + new e.NetworkFirst({ + cacheName: 'apis', + networkTimeoutSeconds: 10, + plugins: [ + new e.ExpirationPlugin({ maxEntries: 16, maxAgeSeconds: 86400, purgeOnQuotaError: !0 }), + ], + }), + 'GET', + ), + e.registerRoute( + ({ url: e }) => { + if (!(self.origin === e.origin)) return !1 + return !e.pathname.startsWith('/api/') + }, + new e.NetworkFirst({ + cacheName: 'others', + networkTimeoutSeconds: 10, + plugins: [ + new e.ExpirationPlugin({ maxEntries: 32, maxAgeSeconds: 86400, purgeOnQuotaError: !0 }), + ], + }), + 'GET', + ), + e.registerRoute( + ({ url: e }) => !(self.origin === e.origin), + new e.NetworkFirst({ + cacheName: 'cross-origin', + networkTimeoutSeconds: 10, + plugins: [ + new e.ExpirationPlugin({ maxEntries: 32, maxAgeSeconds: 3600, purgeOnQuotaError: !0 }), + ], + }), + 'GET', + ) +}) diff --git a/out/workbox-ea903bce.js b/out/workbox-ea903bce.js new file mode 100644 index 0000000..1d33a59 --- /dev/null +++ b/out/workbox-ea903bce.js @@ -0,0 +1,1023 @@ +define('./workbox-ea903bce.js', ['exports'], function (t) { + 'use strict' + try { + self['workbox:core:6.1.5'] && _() + } catch (t) {} + const e = (t, ...e) => { + let s = t + return e.length > 0 && (s += ` :: ${JSON.stringify(e)}`), s + } + class s extends Error { + constructor(t, s) { + super(e(t, s)), (this.name = t), (this.details = s) + } + } + try { + self['workbox:routing:6.1.5'] && _() + } catch (t) {} + const n = (t) => (t && 'object' == typeof t ? t : { handle: t }) + class i { + constructor(t, e, s = 'GET') { + ;(this.handler = n(e)), (this.match = t), (this.method = s) + } + setCatchHandler(t) { + this.catchHandler = n(t) + } + } + class r extends i { + constructor(t, e, s) { + super( + ({ url: e }) => { + const s = t.exec(e.href) + if (s && (e.origin === location.origin || 0 === s.index)) return s.slice(1) + }, + e, + s, + ) + } + } + class a { + constructor() { + ;(this.t = new Map()), (this.i = new Map()) + } + get routes() { + return this.t + } + addFetchListener() { + self.addEventListener('fetch', (t) => { + const { request: e } = t, + s = this.handleRequest({ request: e, event: t }) + s && t.respondWith(s) + }) + } + addCacheListener() { + self.addEventListener('message', (t) => { + if (t.data && 'CACHE_URLS' === t.data.type) { + const { payload: e } = t.data, + s = Promise.all( + e.urlsToCache.map((e) => { + 'string' == typeof e && (e = [e]) + const s = new Request(...e) + return this.handleRequest({ request: s, event: t }) + }), + ) + t.waitUntil(s), t.ports && t.ports[0] && s.then(() => t.ports[0].postMessage(!0)) + } + }) + } + handleRequest({ request: t, event: e }) { + const s = new URL(t.url, location.href) + if (!s.protocol.startsWith('http')) return + const n = s.origin === location.origin, + { params: i, route: r } = this.findMatchingRoute({ + event: e, + request: t, + sameOrigin: n, + url: s, + }) + let a = r && r.handler + const c = t.method + if ((!a && this.i.has(c) && (a = this.i.get(c)), !a)) return + let o + try { + o = a.handle({ url: s, request: t, event: e, params: i }) + } catch (t) { + o = Promise.reject(t) + } + const h = r && r.catchHandler + return ( + o instanceof Promise && + (this.o || h) && + (o = o.catch(async (n) => { + if (h) + try { + return await h.handle({ url: s, request: t, event: e, params: i }) + } catch (t) { + n = t + } + if (this.o) return this.o.handle({ url: s, request: t, event: e }) + throw n + })), + o + ) + } + findMatchingRoute({ url: t, sameOrigin: e, request: s, event: n }) { + const i = this.t.get(s.method) || [] + for (const r of i) { + let i + const a = r.match({ url: t, sameOrigin: e, request: s, event: n }) + if (a) + return ( + (i = a), + ((Array.isArray(a) && 0 === a.length) || + (a.constructor === Object && 0 === Object.keys(a).length) || + 'boolean' == typeof a) && + (i = void 0), + { route: r, params: i } + ) + } + return {} + } + setDefaultHandler(t, e = 'GET') { + this.i.set(e, n(t)) + } + setCatchHandler(t) { + this.o = n(t) + } + registerRoute(t) { + this.t.has(t.method) || this.t.set(t.method, []), this.t.get(t.method).push(t) + } + unregisterRoute(t) { + if (!this.t.has(t.method)) + throw new s('unregister-route-but-not-found-with-method', { method: t.method }) + const e = this.t.get(t.method).indexOf(t) + if (!(e > -1)) throw new s('unregister-route-route-not-registered') + this.t.get(t.method).splice(e, 1) + } + } + let c + const o = () => (c || ((c = new a()), c.addFetchListener(), c.addCacheListener()), c) + function h(t, e, n) { + let a + if ('string' == typeof t) { + const s = new URL(t, location.href) + a = new i(({ url: t }) => t.href === s.href, e, n) + } else if (t instanceof RegExp) a = new r(t, e, n) + else if ('function' == typeof t) a = new i(t, e, n) + else { + if (!(t instanceof i)) + throw new s('unsupported-route-type', { + moduleName: 'workbox-routing', + funcName: 'registerRoute', + paramName: 'capture', + }) + a = t + } + return o().registerRoute(a), a + } + try { + self['workbox:strategies:6.1.5'] && _() + } catch (t) {} + const u = { + cacheWillUpdate: async ({ response: t }) => (200 === t.status || 0 === t.status ? t : null), + }, + l = { + googleAnalytics: 'googleAnalytics', + precache: 'precache-v2', + prefix: 'workbox', + runtime: 'runtime', + suffix: 'undefined' != typeof registration ? registration.scope : '', + }, + f = (t) => [l.prefix, t, l.suffix].filter((t) => t && t.length > 0).join('-'), + w = (t) => t || f(l.precache), + d = (t) => t || f(l.runtime) + function p() { + return (p = + Object.assign || + function (t) { + for (var e = 1; e < arguments.length; e++) { + var s = arguments[e] + for (var n in s) Object.prototype.hasOwnProperty.call(s, n) && (t[n] = s[n]) + } + return t + }).apply(this, arguments) + } + function y(t, e) { + const s = new URL(t) + for (const t of e) s.searchParams.delete(t) + return s.href + } + class m { + constructor() { + this.promise = new Promise((t, e) => { + ;(this.resolve = t), (this.reject = e) + }) + } + } + const g = new Set() + function R(t) { + return 'string' == typeof t ? new Request(t) : t + } + class v { + constructor(t, e) { + ;(this.h = {}), + Object.assign(this, e), + (this.event = e.event), + (this.u = t), + (this.l = new m()), + (this.p = []), + (this.m = [...t.plugins]), + (this.g = new Map()) + for (const t of this.m) this.g.set(t, {}) + this.event.waitUntil(this.l.promise) + } + async fetch(t) { + const { event: e } = this + let n = R(t) + if ('navigate' === n.mode && e instanceof FetchEvent && e.preloadResponse) { + const t = await e.preloadResponse + if (t) return t + } + const i = this.hasCallback('fetchDidFail') ? n.clone() : null + try { + for (const t of this.iterateCallbacks('requestWillFetch')) + n = await t({ request: n.clone(), event: e }) + } catch (t) { + throw new s('plugin-error-request-will-fetch', { thrownError: t }) + } + const r = n.clone() + try { + let t + t = await fetch(n, 'navigate' === n.mode ? void 0 : this.u.fetchOptions) + for (const s of this.iterateCallbacks('fetchDidSucceed')) + t = await s({ event: e, request: r, response: t }) + return t + } catch (t) { + throw ( + (i && + (await this.runCallbacks('fetchDidFail', { + error: t, + event: e, + originalRequest: i.clone(), + request: r.clone(), + })), + t) + ) + } + } + async fetchAndCachePut(t) { + const e = await this.fetch(t), + s = e.clone() + return this.waitUntil(this.cachePut(t, s)), e + } + async cacheMatch(t) { + const e = R(t) + let s + const { cacheName: n, matchOptions: i } = this.u, + r = await this.getCacheKey(e, 'read'), + a = p({}, i, { cacheName: n }) + s = await caches.match(r, a) + for (const t of this.iterateCallbacks('cachedResponseWillBeUsed')) + s = + (await t({ + cacheName: n, + matchOptions: i, + cachedResponse: s, + request: r, + event: this.event, + })) || void 0 + return s + } + async cachePut(t, e) { + const n = R(t) + var i + await ((i = 0), new Promise((t) => setTimeout(t, i))) + const r = await this.getCacheKey(n, 'write') + if (!e) + throw new s('cache-put-with-no-response', { + url: + ((a = r.url), + new URL(String(a), location.href).href.replace(new RegExp(`^${location.origin}`), '')), + }) + var a + const c = await this.R(e) + if (!c) return !1 + const { cacheName: o, matchOptions: h } = this.u, + u = await self.caches.open(o), + l = this.hasCallback('cacheDidUpdate'), + f = l + ? await (async function (t, e, s, n) { + const i = y(e.url, s) + if (e.url === i) return t.match(e, n) + const r = p({}, n, { ignoreSearch: !0 }), + a = await t.keys(e, r) + for (const e of a) if (i === y(e.url, s)) return t.match(e, n) + })(u, r.clone(), ['__WB_REVISION__'], h) + : null + try { + await u.put(r, l ? c.clone() : c) + } catch (t) { + throw ( + ('QuotaExceededError' === t.name && + (await (async function () { + for (const t of g) await t() + })()), + t) + ) + } + for (const t of this.iterateCallbacks('cacheDidUpdate')) + await t({ + cacheName: o, + oldResponse: f, + newResponse: c.clone(), + request: r, + event: this.event, + }) + return !0 + } + async getCacheKey(t, e) { + if (!this.h[e]) { + let s = t + for (const t of this.iterateCallbacks('cacheKeyWillBeUsed')) + s = R(await t({ mode: e, request: s, event: this.event, params: this.params })) + this.h[e] = s + } + return this.h[e] + } + hasCallback(t) { + for (const e of this.u.plugins) if (t in e) return !0 + return !1 + } + async runCallbacks(t, e) { + for (const s of this.iterateCallbacks(t)) await s(e) + } + *iterateCallbacks(t) { + for (const e of this.u.plugins) + if ('function' == typeof e[t]) { + const s = this.g.get(e), + n = (n) => { + const i = p({}, n, { state: s }) + return e[t](i) + } + yield n + } + } + waitUntil(t) { + return this.p.push(t), t + } + async doneWaiting() { + let t + for (; (t = this.p.shift()); ) await t + } + destroy() { + this.l.resolve() + } + async R(t) { + let e = t, + s = !1 + for (const t of this.iterateCallbacks('cacheWillUpdate')) + if ( + ((e = (await t({ request: this.request, response: e, event: this.event })) || void 0), + (s = !0), + !e) + ) + break + return s || (e && 200 !== e.status && (e = void 0)), e + } + } + class q { + constructor(t = {}) { + ;(this.cacheName = d(t.cacheName)), + (this.plugins = t.plugins || []), + (this.fetchOptions = t.fetchOptions), + (this.matchOptions = t.matchOptions) + } + handle(t) { + const [e] = this.handleAll(t) + return e + } + handleAll(t) { + t instanceof FetchEvent && (t = { event: t, request: t.request }) + const e = t.event, + s = 'string' == typeof t.request ? new Request(t.request) : t.request, + n = 'params' in t ? t.params : void 0, + i = new v(this, { event: e, request: s, params: n }), + r = this.v(i, s, e) + return [r, this.q(r, i, s, e)] + } + async v(t, e, n) { + let i + await t.runCallbacks('handlerWillStart', { event: n, request: e }) + try { + if (((i = await this.U(e, t)), !i || 'error' === i.type)) + throw new s('no-response', { url: e.url }) + } catch (s) { + for (const r of t.iterateCallbacks('handlerDidError')) + if (((i = await r({ error: s, event: n, request: e })), i)) break + if (!i) throw s + } + for (const s of t.iterateCallbacks('handlerWillRespond')) + i = await s({ event: n, request: e, response: i }) + return i + } + async q(t, e, s, n) { + let i, r + try { + i = await t + } catch (r) {} + try { + await e.runCallbacks('handlerDidRespond', { event: n, request: s, response: i }), + await e.doneWaiting() + } catch (t) { + r = t + } + if ( + (await e.runCallbacks('handlerDidComplete', { + event: n, + request: s, + response: i, + error: r, + }), + e.destroy(), + r) + ) + throw r + } + } + function U(t) { + t.then(() => {}) + } + class x { + constructor(t, e, { onupgradeneeded: s, onversionchange: n } = {}) { + ;(this._ = null), + (this.L = t), + (this.N = e), + (this.C = s), + (this.D = n || (() => this.close())) + } + get db() { + return this._ + } + async open() { + if (!this._) + return ( + (this._ = await new Promise((t, e) => { + let s = !1 + setTimeout(() => { + ;(s = !0), e(new Error('The open request was blocked and timed out')) + }, this.OPEN_TIMEOUT) + const n = indexedDB.open(this.L, this.N) + ;(n.onerror = () => e(n.error)), + (n.onupgradeneeded = (t) => { + s + ? (n.transaction.abort(), n.result.close()) + : 'function' == typeof this.C && this.C(t) + }), + (n.onsuccess = () => { + const e = n.result + s ? e.close() : ((e.onversionchange = this.D.bind(this)), t(e)) + }) + })), + this + ) + } + async getKey(t, e) { + return (await this.getAllKeys(t, e, 1))[0] + } + async getAll(t, e, s) { + return await this.getAllMatching(t, { query: e, count: s }) + } + async getAllKeys(t, e, s) { + return (await this.getAllMatching(t, { query: e, count: s, includeKeys: !0 })).map( + (t) => t.key, + ) + } + async getAllMatching( + t, + { index: e, query: s = null, direction: n = 'next', count: i, includeKeys: r = !1 } = {}, + ) { + return await this.transaction([t], 'readonly', (a, c) => { + const o = a.objectStore(t), + h = e ? o.index(e) : o, + u = [], + l = h.openCursor(s, n) + l.onsuccess = () => { + const t = l.result + t ? (u.push(r ? t : t.value), i && u.length >= i ? c(u) : t.continue()) : c(u) + } + }) + } + async transaction(t, e, s) { + return ( + await this.open(), + await new Promise((n, i) => { + const r = this._.transaction(t, e) + ;(r.onabort = () => i(r.error)), (r.oncomplete = () => n()), s(r, (t) => n(t)) + }) + ) + } + async T(t, e, s, ...n) { + return await this.transaction([e], s, (s, i) => { + const r = s.objectStore(e), + a = r[t].apply(r, n) + a.onsuccess = () => i(a.result) + }) + } + close() { + this._ && (this._.close(), (this._ = null)) + } + } + x.prototype.OPEN_TIMEOUT = 2e3 + const b = { + readonly: ['get', 'count', 'getKey', 'getAll', 'getAllKeys'], + readwrite: ['add', 'put', 'clear', 'delete'], + } + for (const [t, e] of Object.entries(b)) + for (const s of e) + s in IDBObjectStore.prototype && + (x.prototype[s] = async function (e, ...n) { + return await this.T(s, e, t, ...n) + }) + try { + self['workbox:expiration:6.1.5'] && _() + } catch (t) {} + const L = 'cache-entries', + N = (t) => { + const e = new URL(t, location.href) + return (e.hash = ''), e.href + } + class C { + constructor(t) { + ;(this.P = t), + (this._ = new x('workbox-expiration', 1, { onupgradeneeded: (t) => this.k(t) })) + } + k(t) { + const e = t.target.result.createObjectStore(L, { keyPath: 'id' }) + e.createIndex('cacheName', 'cacheName', { unique: !1 }), + e.createIndex('timestamp', 'timestamp', { unique: !1 }), + (async (t) => { + await new Promise((e, s) => { + const n = indexedDB.deleteDatabase(t) + ;(n.onerror = () => { + s(n.error) + }), + (n.onblocked = () => { + s(new Error('Delete blocked')) + }), + (n.onsuccess = () => { + e() + }) + }) + })(this.P) + } + async setTimestamp(t, e) { + const s = { url: (t = N(t)), timestamp: e, cacheName: this.P, id: this.K(t) } + await this._.put(L, s) + } + async getTimestamp(t) { + return (await this._.get(L, this.K(t))).timestamp + } + async expireEntries(t, e) { + const s = await this._.transaction(L, 'readwrite', (s, n) => { + const i = s.objectStore(L).index('timestamp').openCursor(null, 'prev'), + r = [] + let a = 0 + i.onsuccess = () => { + const s = i.result + if (s) { + const n = s.value + n.cacheName === this.P && + ((t && n.timestamp < t) || (e && a >= e) ? r.push(s.value) : a++), + s.continue() + } else n(r) + } + }), + n = [] + for (const t of s) await this._.delete(L, t.id), n.push(t.url) + return n + } + K(t) { + return this.P + '|' + N(t) + } + } + class E { + constructor(t, e = {}) { + ;(this.O = !1), + (this.W = !1), + (this.M = e.maxEntries), + (this.A = e.maxAgeSeconds), + (this.S = e.matchOptions), + (this.P = t), + (this.I = new C(t)) + } + async expireEntries() { + if (this.O) return void (this.W = !0) + this.O = !0 + const t = this.A ? Date.now() - 1e3 * this.A : 0, + e = await this.I.expireEntries(t, this.M), + s = await self.caches.open(this.P) + for (const t of e) await s.delete(t, this.S) + ;(this.O = !1), this.W && ((this.W = !1), U(this.expireEntries())) + } + async updateTimestamp(t) { + await this.I.setTimestamp(t, Date.now()) + } + async isURLExpired(t) { + if (this.A) { + return (await this.I.getTimestamp(t)) < Date.now() - 1e3 * this.A + } + return !1 + } + async delete() { + ;(this.W = !1), await this.I.expireEntries(1 / 0) + } + } + function D(t, e) { + const s = e() + return t.waitUntil(s), s + } + try { + self['workbox:precaching:6.1.5'] && _() + } catch (t) {} + function T(t) { + if (!t) throw new s('add-to-cache-list-unexpected-type', { entry: t }) + if ('string' == typeof t) { + const e = new URL(t, location.href) + return { cacheKey: e.href, url: e.href } + } + const { revision: e, url: n } = t + if (!n) throw new s('add-to-cache-list-unexpected-type', { entry: t }) + if (!e) { + const t = new URL(n, location.href) + return { cacheKey: t.href, url: t.href } + } + const i = new URL(n, location.href), + r = new URL(n, location.href) + return i.searchParams.set('__WB_REVISION__', e), { cacheKey: i.href, url: r.href } + } + class P { + constructor() { + ;(this.updatedURLs = []), + (this.notUpdatedURLs = []), + (this.handlerWillStart = async ({ request: t, state: e }) => { + e && (e.originalRequest = t) + }), + (this.cachedResponseWillBeUsed = async ({ event: t, state: e, cachedResponse: s }) => { + if ('install' === t.type) { + const t = e.originalRequest.url + s ? this.notUpdatedURLs.push(t) : this.updatedURLs.push(t) + } + return s + }) + } + } + class k { + constructor({ precacheController: t }) { + ;(this.cacheKeyWillBeUsed = async ({ request: t, params: e }) => { + const s = (e && e.cacheKey) || this.j.getCacheKeyForURL(t.url) + return s ? new Request(s) : t + }), + (this.j = t) + } + } + let K, O + async function W(t, e) { + let n = null + if (t.url) { + n = new URL(t.url).origin + } + if (n !== self.location.origin) throw new s('cross-origin-copy-response', { origin: n }) + const i = t.clone(), + r = { headers: new Headers(i.headers), status: i.status, statusText: i.statusText }, + a = e ? e(r) : r, + c = (function () { + if (void 0 === K) { + const t = new Response('') + if ('body' in t) + try { + new Response(t.body), (K = !0) + } catch (t) { + K = !1 + } + K = !1 + } + return K + })() + ? i.body + : await i.blob() + return new Response(c, a) + } + class M extends q { + constructor(t = {}) { + ;(t.cacheName = w(t.cacheName)), + super(t), + (this.F = !1 !== t.fallbackToNetwork), + this.plugins.push(M.copyRedirectedCacheableResponsesPlugin) + } + async U(t, e) { + const s = await e.cacheMatch(t) + return s || (e.event && 'install' === e.event.type ? await this.B(t, e) : await this.H(t, e)) + } + async H(t, e) { + let n + if (!this.F) throw new s('missing-precache-entry', { cacheName: this.cacheName, url: t.url }) + return (n = await e.fetch(t)), n + } + async B(t, e) { + this.$() + const n = await e.fetch(t) + if (!(await e.cachePut(t, n.clone()))) + throw new s('bad-precaching-response', { url: t.url, status: n.status }) + return n + } + $() { + let t = null, + e = 0 + for (const [s, n] of this.plugins.entries()) + n !== M.copyRedirectedCacheableResponsesPlugin && + (n === M.defaultPrecacheCacheabilityPlugin && (t = s), n.cacheWillUpdate && e++) + 0 === e + ? this.plugins.push(M.defaultPrecacheCacheabilityPlugin) + : e > 1 && null !== t && this.plugins.splice(t, 1) + } + } + ;(M.defaultPrecacheCacheabilityPlugin = { + cacheWillUpdate: async ({ response: t }) => (!t || t.status >= 400 ? null : t), + }), + (M.copyRedirectedCacheableResponsesPlugin = { + cacheWillUpdate: async ({ response: t }) => (t.redirected ? await W(t) : t), + }) + class A { + constructor({ cacheName: t, plugins: e = [], fallbackToNetwork: s = !0 } = {}) { + ;(this.G = new Map()), + (this.V = new Map()), + (this.J = new Map()), + (this.u = new M({ + cacheName: w(t), + plugins: [...e, new k({ precacheController: this })], + fallbackToNetwork: s, + })), + (this.install = this.install.bind(this)), + (this.activate = this.activate.bind(this)) + } + get strategy() { + return this.u + } + precache(t) { + this.addToCacheList(t), + this.X || + (self.addEventListener('install', this.install), + self.addEventListener('activate', this.activate), + (this.X = !0)) + } + addToCacheList(t) { + const e = [] + for (const n of t) { + 'string' == typeof n ? e.push(n) : n && void 0 === n.revision && e.push(n.url) + const { cacheKey: t, url: i } = T(n), + r = 'string' != typeof n && n.revision ? 'reload' : 'default' + if (this.G.has(i) && this.G.get(i) !== t) + throw new s('add-to-cache-list-conflicting-entries', { + firstEntry: this.G.get(i), + secondEntry: t, + }) + if ('string' != typeof n && n.integrity) { + if (this.J.has(t) && this.J.get(t) !== n.integrity) + throw new s('add-to-cache-list-conflicting-integrities', { url: i }) + this.J.set(t, n.integrity) + } + if ((this.G.set(i, t), this.V.set(i, r), e.length > 0)) { + const t = `Workbox is precaching URLs without revision info: ${e.join( + ', ', + )}\nThis is generally NOT safe. Learn more at https://bit.ly/wb-precache` + console.warn(t) + } + } + } + install(t) { + return D(t, async () => { + const e = new P() + this.strategy.plugins.push(e) + for (const [e, s] of this.G) { + const n = this.J.get(s), + i = this.V.get(e), + r = new Request(e, { integrity: n, cache: i, credentials: 'same-origin' }) + await Promise.all( + this.strategy.handleAll({ params: { cacheKey: s }, request: r, event: t }), + ) + } + const { updatedURLs: s, notUpdatedURLs: n } = e + return { updatedURLs: s, notUpdatedURLs: n } + }) + } + activate(t) { + return D(t, async () => { + const t = await self.caches.open(this.strategy.cacheName), + e = await t.keys(), + s = new Set(this.G.values()), + n = [] + for (const i of e) s.has(i.url) || (await t.delete(i), n.push(i.url)) + return { deletedURLs: n } + }) + } + getURLsToCacheKeys() { + return this.G + } + getCachedURLs() { + return [...this.G.keys()] + } + getCacheKeyForURL(t) { + const e = new URL(t, location.href) + return this.G.get(e.href) + } + async matchPrecache(t) { + const e = t instanceof Request ? t.url : t, + s = this.getCacheKeyForURL(e) + if (s) { + return (await self.caches.open(this.strategy.cacheName)).match(s) + } + } + createHandlerBoundToURL(t) { + const e = this.getCacheKeyForURL(t) + if (!e) throw new s('non-precached-url', { url: t }) + return (s) => ( + (s.request = new Request(t)), + (s.params = p({ cacheKey: e }, s.params)), + this.strategy.handle(s) + ) + } + } + const S = () => (O || (O = new A()), O) + class I extends i { + constructor(t, e) { + super(({ request: s }) => { + const n = t.getURLsToCacheKeys() + for (const t of (function* ( + t, + { + ignoreURLParametersMatching: e = [/^utm_/, /^fbclid$/], + directoryIndex: s = 'index.html', + cleanURLs: n = !0, + urlManipulation: i, + } = {}, + ) { + const r = new URL(t, location.href) + ;(r.hash = ''), yield r.href + const a = (function (t, e = []) { + for (const s of [...t.searchParams.keys()]) + e.some((t) => t.test(s)) && t.searchParams.delete(s) + return t + })(r, e) + if ((yield a.href, s && a.pathname.endsWith('/'))) { + const t = new URL(a.href) + ;(t.pathname += s), yield t.href + } + if (n) { + const t = new URL(a.href) + ;(t.pathname += '.html'), yield t.href + } + if (i) { + const t = i({ url: r }) + for (const e of t) yield e.href + } + })(s.url, e)) { + const e = n.get(t) + if (e) return { cacheKey: e } + } + }, t.strategy) + } + } + ;(t.CacheFirst = class extends q { + async U(t, e) { + let n, + i = await e.cacheMatch(t) + if (!i) + try { + i = await e.fetchAndCachePut(t) + } catch (t) { + n = t + } + if (!i) throw new s('no-response', { url: t.url, error: n }) + return i + } + }), + (t.ExpirationPlugin = class { + constructor(t = {}) { + var e + ;(this.cachedResponseWillBeUsed = async ({ + event: t, + request: e, + cacheName: s, + cachedResponse: n, + }) => { + if (!n) return null + const i = this.Y(n), + r = this.Z(s) + U(r.expireEntries()) + const a = r.updateTimestamp(e.url) + if (t) + try { + t.waitUntil(a) + } catch (t) {} + return i ? n : null + }), + (this.cacheDidUpdate = async ({ cacheName: t, request: e }) => { + const s = this.Z(t) + await s.updateTimestamp(e.url), await s.expireEntries() + }), + (this.tt = t), + (this.A = t.maxAgeSeconds), + (this.et = new Map()), + t.purgeOnQuotaError && ((e = () => this.deleteCacheAndMetadata()), g.add(e)) + } + Z(t) { + if (t === d()) throw new s('expire-custom-caches-only') + let e = this.et.get(t) + return e || ((e = new E(t, this.tt)), this.et.set(t, e)), e + } + Y(t) { + if (!this.A) return !0 + const e = this.st(t) + if (null === e) return !0 + return e >= Date.now() - 1e3 * this.A + } + st(t) { + if (!t.headers.has('date')) return null + const e = t.headers.get('date'), + s = new Date(e).getTime() + return isNaN(s) ? null : s + } + async deleteCacheAndMetadata() { + for (const [t, e] of this.et) await self.caches.delete(t), await e.delete() + this.et = new Map() + } + }), + (t.NetworkFirst = class extends q { + constructor(t = {}) { + super(t), + this.plugins.some((t) => 'cacheWillUpdate' in t) || this.plugins.unshift(u), + (this.nt = t.networkTimeoutSeconds || 0) + } + async U(t, e) { + const n = [], + i = [] + let r + if (this.nt) { + const { id: s, promise: a } = this.it({ request: t, logs: n, handler: e }) + ;(r = s), i.push(a) + } + const a = this.rt({ timeoutId: r, request: t, logs: n, handler: e }) + i.push(a) + const c = await e.waitUntil( + (async () => (await e.waitUntil(Promise.race(i))) || (await a))(), + ) + if (!c) throw new s('no-response', { url: t.url }) + return c + } + it({ request: t, logs: e, handler: s }) { + let n + return { + promise: new Promise((e) => { + n = setTimeout(async () => { + e(await s.cacheMatch(t)) + }, 1e3 * this.nt) + }), + id: n, + } + } + async rt({ timeoutId: t, request: e, logs: s, handler: n }) { + let i, r + try { + r = await n.fetchAndCachePut(e) + } catch (t) { + i = t + } + return t && clearTimeout(t), (!i && r) || (r = await n.cacheMatch(e)), r + } + }), + (t.StaleWhileRevalidate = class extends q { + constructor(t) { + super(t), this.plugins.some((t) => 'cacheWillUpdate' in t) || this.plugins.unshift(u) + } + async U(t, e) { + const n = e.fetchAndCachePut(t).catch(() => {}) + let i, + r = await e.cacheMatch(t) + if (r); + else + try { + r = await n + } catch (t) { + i = t + } + if (!r) throw new s('no-response', { url: t.url, error: i }) + return r + } + }), + (t.cleanupOutdatedCaches = function () { + self.addEventListener('activate', (t) => { + const e = w() + t.waitUntil( + (async (t, e = '-precache-') => { + const s = (await self.caches.keys()).filter( + (s) => s.includes(e) && s.includes(self.registration.scope) && s !== t, + ) + return await Promise.all(s.map((t) => self.caches.delete(t))), s + })(e).then((t) => {}), + ) + }) + }), + (t.clientsClaim = function () { + self.addEventListener('activate', () => self.clients.claim()) + }), + (t.precacheAndRoute = function (t, e) { + !(function (t) { + S().precache(t) + })(t), + (function (t) { + const e = S() + h(new I(e, t)) + })(e) + }), + (t.registerRoute = h) +}) |