Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ncc 0.25.0 upgrade and fixes #18873

Merged
merged 5 commits into from
Nov 6, 2020
Merged

ncc 0.25.0 upgrade and fixes #18873

merged 5 commits into from
Nov 6, 2020

Conversation

guybedford
Copy link
Contributor

@guybedford guybedford commented Nov 6, 2020

This upgrades to ncc@0.25.0 and fixes the previous bugs including:

  • ncc not referenced correctly in build
  • Babel type errors
  • node-fetch, etag, chalk and raw-body dependencies not building with ncc - these have been "un-ncc'd" for now. As they are relatively small dependencies, this doesn't seem too much of an issue and we can follow up in the tracking ncc issue at Webpack 5 upgrade breaks ncc#612.
  • yarn dev issues

Took a lot of bisecting, but the overall diff isn't too bad here in the end.

@ijjk ijjk added create-next-app Related to our CLI tool for quickly starting a new Next.js application. type: next labels Nov 6, 2020
@guybedford
Copy link
Contributor Author

I've rebased this PR to include the revert for #18861, so this PR now includes Babel inlining, ncc updates and fixes all in one.

@ijjk
Copy link
Member

ijjk commented Nov 6, 2020

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary guybedford/next.js ncc-fixes Change
buildDuration 14s 15.3s ⚠️ +1.2s
nodeModulesSize 90 MB 90.7 MB ⚠️ +669 kB
Page Load Tests Overall increase ✓
vercel/next.js canary guybedford/next.js ncc-fixes Change
/ failed reqs 0 0
/ total time (seconds) 2.599 2.567 -0.03
/ avg req/sec 961.94 973.97 +12.03
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.566 1.538 -0.03
/error-in-render avg req/sec 1596.5 1625.93 +29.43
Client Bundles (main, webpack, commons) Overall increase ⚠️
vercel/next.js canary guybedford/next.js ncc-fixes Change
677f882d2ed8..02db.js gzip 11.3 kB 11.3 kB
framework.HASH.js gzip 39 kB 39 kB
main-cea8d7e..ff01.js gzip 7.37 kB 7.39 kB ⚠️ +14 B
webpack-e067..f178.js gzip 751 B 751 B
Overall change 58.4 kB 58.4 kB ⚠️ +14 B
Client Bundles (main, webpack, commons) Modern Overall increase ⚠️
vercel/next.js canary guybedford/next.js ncc-fixes Change
677f882d2ed8..dule.js gzip 7.04 kB 7.04 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-00e5ec9..dule.js gzip 6.37 kB 6.38 kB ⚠️ +7 B
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 53.1 kB 53.1 kB ⚠️ +7 B
Legacy Client Bundles (polyfills)
vercel/next.js canary guybedford/next.js ncc-fixes Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary guybedford/next.js ncc-fixes Change
_app-9a0b9e1..b37e.js gzip 1.28 kB 1.28 kB
_error-ed1b0..8fbd.js gzip 3.44 kB 3.44 kB
hooks-89731c..c609.js gzip 887 B 887 B
index-17468f..5d83.js gzip 227 B 227 B
link-a674d88..ccde.js gzip 1.35 kB 1.35 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.75 kB 7.75 kB
Client Pages Modern
vercel/next.js canary guybedford/next.js ncc-fixes Change
_app-75d3a82..dule.js gzip 625 B 625 B
_error-4469a..dule.js gzip 2.29 kB 2.29 kB
hooks-cbf13f..dule.js gzip 387 B 387 B
index-b9a643..dule.js gzip 226 B 226 B
link-a4469f3..dule.js gzip 1.32 kB 1.32 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.41 kB 5.41 kB
Client Build Manifests Overall decrease ✓
vercel/next.js canary guybedford/next.js ncc-fixes Change
_buildManifest.js gzip 322 B 321 B -1 B
_buildManife..dule.js gzip 330 B 330 B
Overall change 652 B 651 B -1 B
Rendered Page Sizes Overall increase ⚠️
vercel/next.js canary guybedford/next.js ncc-fixes Change
index.html gzip 1 kB 1 kB ⚠️ +2 B
link.html gzip 1.01 kB 1.01 kB ⚠️ +3 B
withRouter.html gzip 994 B 996 B ⚠️ +2 B
Overall change 3 kB 3.01 kB ⚠️ +7 B

Diffs

Diff for _buildManifest.js
@@ -2,10 +2,10 @@ self.__BUILD_MANIFEST = {
   __rewrites: [],
   "/": ["static\u002Fchunks\u002Fpages\u002Findex-283eed3c1520dcc26e8d.js"],
   "/_error": [
-    "static\u002Fchunks\u002Fpages\u002F_error-a0c4519f5ca8e97fa7be.js"
+    "static\u002Fchunks\u002Fpages\u002F_error-9b57cae5694a39479222.js"
   ],
   "/hooks": [
-    "static\u002Fchunks\u002Fpages\u002Fhooks-8001dc76075832ee8949.js"
+    "static\u002Fchunks\u002Fpages\u002Fhooks-bdd2cad07648acf22380.js"
   ],
   "/link": ["static\u002Fchunks\u002Fpages\u002Flink-46fe29f40f6309aec7d7.js"],
   "/routerDirect": [
Diff for main-895fe5a..416647d53.js
@@ -1314,253 +1314,256 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
 
     /***/ p0hA: /***/ function(module, exports, __webpack_require__) {
       /* WEBPACK VAR INJECTION */ (function(__dirname) {
-        module.exports = (function(t, e) {
-          "use strict";
-          var n = {};
-          function __webpack_require__(e) {
-            if (n[e]) {
-              return n[e].exports;
-            }
-            var i = (n[e] = { i: e, l: false, exports: {} });
-            t[e].call(i.exports, i, i.exports, __webpack_require__);
-            i.l = true;
-            return i.exports;
-          }
-          __webpack_require__.ab = __dirname + "/";
-          function startup() {
-            return __webpack_require__(766);
-          }
-          return startup();
-        })({
-          766: function(t, e) {
-            !(function(t, n) {
-              true ? n(e) : undefined;
-            })(this, function(t) {
-              "use strict";
-              var e,
-                n,
-                i = function() {
-                  return ""
-                    .concat(Date.now(), "-")
-                    .concat(Math.floor(8999999999999 * Math.random()) + 1e12);
-                },
-                r = function(t) {
-                  var e =
-                    arguments.length > 1 && void 0 !== arguments[1]
-                      ? arguments[1]
-                      : -1;
-                  return {
-                    name: t,
-                    value: e,
-                    delta: 0,
-                    entries: [],
-                    id: i(),
-                    isFinal: !1
-                  };
-                },
-                a = function(t, e) {
-                  try {
-                    if (PerformanceObserver.supportedEntryTypes.includes(t)) {
-                      var n = new PerformanceObserver(function(t) {
-                        return t.getEntries().map(e);
-                      });
-                      return n.observe({ type: t, buffered: !0 }), n;
-                    }
-                  } catch (t) {}
-                },
-                o = !1,
-                u = !1,
-                s = function(t) {
-                  o = !t.persisted;
-                },
-                c = function() {
-                  addEventListener("pagehide", s),
-                    addEventListener("beforeunload", function() {});
-                },
-                p = function(t) {
-                  var e =
-                    arguments.length > 1 &&
-                    void 0 !== arguments[1] &&
-                    arguments[1];
-                  u || (c(), (u = !0)),
-                    addEventListener(
-                      "visibilitychange",
-                      function(e) {
-                        var n = e.timeStamp;
-                        "hidden" === document.visibilityState &&
-                          t({ timeStamp: n, isUnloading: o });
-                      },
-                      { capture: !0, once: e }
-                    );
-                },
-                f = function(t, e, n, i) {
-                  var r;
-                  return function() {
-                    n && e.isFinal && n.disconnect(),
-                      e.value >= 0 &&
-                        (i ||
-                          e.isFinal ||
-                          "hidden" === document.visibilityState) &&
-                        ((e.delta = e.value - (r || 0)),
-                        (e.delta || e.isFinal || void 0 === r) &&
-                          (t(e), (r = e.value)));
-                  };
-                },
-                l = function() {
-                  return (
-                    void 0 === e &&
-                      ((e = "hidden" === document.visibilityState ? 0 : 1 / 0),
-                      p(function(t) {
-                        var n = t.timeStamp;
-                        return (e = n);
-                      }, !0)),
-                    {
-                      get timeStamp() {
-                        return e;
-                      }
-                    }
-                  );
-                },
-                d = function() {
-                  return (
-                    n ||
-                      (n = new Promise(function(t) {
-                        return ["scroll", "keydown", "pointerdown"].map(
-                          function(e) {
-                            addEventListener(e, t, {
-                              once: !0,
-                              passive: !0,
-                              capture: !0
-                            });
-                          }
-                        );
-                      })),
-                    n
-                  );
-                };
-              (t.getCLS = function(t) {
+        module.exports = (() => {
+          var t = {
+            692: function(t, e) {
+              !(function(t, n) {
+                true ? n(e) : undefined;
+              })(this, function(t) {
+                "use strict";
                 var e,
-                  n =
-                    arguments.length > 1 &&
-                    void 0 !== arguments[1] &&
-                    arguments[1],
-                  i = r("CLS", 0),
-                  o = function(t) {
-                    t.hadRecentInput ||
-                      ((i.value += t.value), i.entries.push(t), e());
+                  n,
+                  i = function() {
+                    return ""
+                      .concat(Date.now(), "-")
+                      .concat(Math.floor(8999999999999 * Math.random()) + 1e12);
                   },
-                  u = a("layout-shift", o);
-                u &&
-                  ((e = f(t, i, u, n)),
-                  p(function(t) {
-                    var n = t.isUnloading;
-                    u.takeRecords().map(o), n && (i.isFinal = !0), e();
-                  }));
-              }),
-                (t.getFCP = function(t) {
-                  var e,
-                    n = r("FCP"),
-                    i = l(),
-                    o = a("paint", function(t) {
-                      "first-contentful-paint" === t.name &&
-                        t.startTime < i.timeStamp &&
-                        ((n.value = t.startTime),
-                        (n.isFinal = !0),
-                        n.entries.push(t),
-                        e());
-                    });
-                  o && (e = f(t, n, o));
-                }),
-                (t.getFID = function(t) {
-                  var e = r("FID"),
-                    n = l(),
-                    i = function(t) {
-                      t.startTime < n.timeStamp &&
-                        ((e.value = t.processingStart - t.startTime),
-                        e.entries.push(t),
-                        (e.isFinal = !0),
-                        u());
-                    },
-                    o = a("first-input", i),
-                    u = f(t, e, o);
-                  o
-                    ? p(function() {
-                        o.takeRecords().map(i), o.disconnect();
-                      }, !0)
-                    : window.perfMetrics &&
-                      window.perfMetrics.onFirstInputDelay &&
-                      window.perfMetrics.onFirstInputDelay(function(t, i) {
-                        i.timeStamp < n.timeStamp &&
-                          ((e.value = t),
-                          (e.isFinal = !0),
-                          (e.entries = [
-                            {
-                              entryType: "first-input",
-                              name: i.type,
-                              target: i.target,
-                              cancelable: i.cancelable,
-                              startTime: i.timeStamp,
-                              processingStart: i.timeStamp + t
+                  a = function(t) {
+                    var e =
+                      arguments.length > 1 && void 0 !== arguments[1]
+                        ? arguments[1]
+                        : -1;
+                    return {
+                      name: t,
+                      value: e,
+                      delta: 0,
+                      entries: [],
+                      id: i(),
+                      isFinal: !1
+                    };
+                  },
+                  r = function(t, e) {
+                    try {
+                      if (PerformanceObserver.supportedEntryTypes.includes(t)) {
+                        var n = new PerformanceObserver(function(t) {
+                          return t.getEntries().map(e);
+                        });
+                        return n.observe({ type: t, buffered: !0 }), n;
+                      }
+                    } catch (t) {}
+                  },
+                  o = !1,
+                  u = !1,
+                  s = function(t) {
+                    o = !t.persisted;
+                  },
+                  c = function() {
+                    addEventListener("pagehide", s),
+                      addEventListener("beforeunload", function() {});
+                  },
+                  p = function(t) {
+                    var e =
+                      arguments.length > 1 &&
+                      void 0 !== arguments[1] &&
+                      arguments[1];
+                    u || (c(), (u = !0)),
+                      addEventListener(
+                        "visibilitychange",
+                        function(e) {
+                          var n = e.timeStamp;
+                          "hidden" === document.visibilityState &&
+                            t({ timeStamp: n, isUnloading: o });
+                        },
+                        { capture: !0, once: e }
+                      );
+                  },
+                  l = function(t, e, n, i) {
+                    var a;
+                    return function() {
+                      n && e.isFinal && n.disconnect(),
+                        e.value >= 0 &&
+                          (i ||
+                            e.isFinal ||
+                            "hidden" === document.visibilityState) &&
+                          ((e.delta = e.value - (a || 0)),
+                          (e.delta || e.isFinal || void 0 === a) &&
+                            (t(e), (a = e.value)));
+                    };
+                  },
+                  f = function() {
+                    return (
+                      void 0 === e &&
+                        ((e =
+                          "hidden" === document.visibilityState ? 0 : 1 / 0),
+                        p(function(t) {
+                          var n = t.timeStamp;
+                          return (e = n);
+                        }, !0)),
+                      {
+                        get timeStamp() {
+                          return e;
+                        }
+                      }
+                    );
+                  },
+                  d = function() {
+                    return (
+                      n ||
+                        (n = new Promise(function(t) {
+                          return ["scroll", "keydown", "pointerdown"].map(
+                            function(e) {
+                              addEventListener(e, t, {
+                                once: !0,
+                                passive: !0,
+                                capture: !0
+                              });
                             }
-                          ]),
-                          u());
-                      });
-                }),
-                (t.getLCP = function(t) {
+                          );
+                        })),
+                      n
+                    );
+                  };
+                (t.getCLS = function(t) {
                   var e,
                     n =
                       arguments.length > 1 &&
                       void 0 !== arguments[1] &&
                       arguments[1],
-                    i = r("LCP"),
-                    o = l(),
-                    u = function(t) {
-                      var n = t.startTime;
-                      n < o.timeStamp
-                        ? ((i.value = n), i.entries.push(t))
-                        : (i.isFinal = !0),
-                        e();
+                    i = a("CLS", 0),
+                    o = function(t) {
+                      t.hadRecentInput ||
+                        ((i.value += t.value), i.entries.push(t), e());
                     },
-                    s = a("largest-contentful-paint", u);
-                  if (s) {
-                    e = f(t, i, s, n);
-                    var c = function() {
-                      i.isFinal ||
-                        (s.takeRecords().map(u), (i.isFinal = !0), e());
-                    };
-                    d().then(c), p(c, !0);
-                  }
+                    u = r("layout-shift", o);
+                  u &&
+                    ((e = l(t, i, u, n)),
+                    p(function(t) {
+                      var n = t.isUnloading;
+                      u.takeRecords().map(o), n && (i.isFinal = !0), e();
+                    }));
                 }),
-                (t.getTTFB = function(t) {
-                  var e,
-                    n = r("TTFB");
-                  (e = function() {
-                    try {
-                      var e =
-                        performance.getEntriesByType("navigation")[0] ||
-                        (function() {
-                          var t = performance.timing,
-                            e = { entryType: "navigation", startTime: 0 };
-                          for (var n in t)
-                            "navigationStart" !== n &&
-                              "toJSON" !== n &&
-                              (e[n] = Math.max(t[n] - t.navigationStart, 0));
-                          return e;
-                        })();
-                      (n.value = n.delta = e.responseStart),
-                        (n.entries = [e]),
-                        (n.isFinal = !0),
-                        t(n);
-                    } catch (t) {}
+                  (t.getFCP = function(t) {
+                    var e,
+                      n = a("FCP"),
+                      i = f(),
+                      o = r("paint", function(t) {
+                        "first-contentful-paint" === t.name &&
+                          t.startTime < i.timeStamp &&
+                          ((n.value = t.startTime),
+                          (n.isFinal = !0),
+                          n.entries.push(t),
+                          e());
+                      });
+                    o && (e = l(t, n, o));
                   }),
-                    "complete" === document.readyState
-                      ? setTimeout(e, 0)
-                      : addEventListener("pageshow", e);
-                }),
-                Object.defineProperty(t, "__esModule", { value: !0 });
-            });
+                  (t.getFID = function(t) {
+                    var e = a("FID"),
+                      n = f(),
+                      i = function(t) {
+                        t.startTime < n.timeStamp &&
+                          ((e.value = t.processingStart - t.startTime),
+                          e.entries.push(t),
+                          (e.isFinal = !0),
+                          u());
+                      },
+                      o = r("first-input", i),
+                      u = l(t, e, o);
+                    o
+                      ? p(function() {
+                          o.takeRecords().map(i), o.disconnect();
+                        }, !0)
+                      : window.perfMetrics &&
+                        window.perfMetrics.onFirstInputDelay &&
+                        window.perfMetrics.onFirstInputDelay(function(t, i) {
+                          i.timeStamp < n.timeStamp &&
+                            ((e.value = t),
+                            (e.isFinal = !0),
+                            (e.entries = [
+                              {
+                                entryType: "first-input",
+                                name: i.type,
+                                target: i.target,
+                                cancelable: i.cancelable,
+                                startTime: i.timeStamp,
+                                processingStart: i.timeStamp + t
+                              }
+                            ]),
+                            u());
+                        });
+                  }),
+                  (t.getLCP = function(t) {
+                    var e,
+                      n =
+                        arguments.length > 1 &&
+                        void 0 !== arguments[1] &&
+                        arguments[1],
+                      i = a("LCP"),
+                      o = f(),
+                      u = function(t) {
+                        var n = t.startTime;
+                        n < o.timeStamp
+                          ? ((i.value = n), i.entries.push(t))
+                          : (i.isFinal = !0),
+                          e();
+                      },
+                      s = r("largest-contentful-paint", u);
+                    if (s) {
+                      e = l(t, i, s, n);
+                      var c = function() {
+                        i.isFinal ||
+                          (s.takeRecords().map(u), (i.isFinal = !0), e());
+                      };
+                      d().then(c), p(c, !0);
+                    }
+                  }),
+                  (t.getTTFB = function(t) {
+                    var e,
+                      n = a("TTFB");
+                    (e = function() {
+                      try {
+                        var e =
+                          performance.getEntriesByType("navigation")[0] ||
+                          (function() {
+                            var t = performance.timing,
+                              e = { entryType: "navigation", startTime: 0 };
+                            for (var n in t)
+                              "navigationStart" !== n &&
+                                "toJSON" !== n &&
+                                (e[n] = Math.max(t[n] - t.navigationStart, 0));
+                            return e;
+                          })();
+                        (n.value = n.delta = e.responseStart),
+                          (n.entries = [e]),
+                          (n.isFinal = !0),
+                          t(n);
+                      } catch (t) {}
+                    }),
+                      "complete" === document.readyState
+                        ? setTimeout(e, 0)
+                        : addEventListener("pageshow", e);
+                  }),
+                  Object.defineProperty(t, "__esModule", { value: !0 });
+              });
+            }
+          };
+          var e = {};
+          function __webpack_require__(n) {
+            if (e[n]) {
+              return e[n].exports;
+            }
+            var i = (e[n] = { exports: {} });
+            var a = true;
+            try {
+              t[n].call(i.exports, i, i.exports, __webpack_require__);
+              a = false;
+            } finally {
+              if (a) delete e[n];
+            }
+            return i.exports;
           }
-        });
+          __webpack_require__.ab = __dirname + "/";
+          return __webpack_require__(692);
+        })();
         /* WEBPACK VAR INJECTION */
       }.call(this, "/"));
Diff for main-b3ad237..b3.module.js
@@ -972,253 +972,256 @@
 
     /***/ p0hA: /***/ function(module, exports, __webpack_require__) {
       /* WEBPACK VAR INJECTION */ (function(__dirname) {
-        module.exports = (function(t, e) {
-          "use strict";
-          var n = {};
-          function __webpack_require__(e) {
-            if (n[e]) {
-              return n[e].exports;
-            }
-            var i = (n[e] = { i: e, l: false, exports: {} });
-            t[e].call(i.exports, i, i.exports, __webpack_require__);
-            i.l = true;
-            return i.exports;
-          }
-          __webpack_require__.ab = __dirname + "/";
-          function startup() {
-            return __webpack_require__(766);
-          }
-          return startup();
-        })({
-          766: function(t, e) {
-            !(function(t, n) {
-              true ? n(e) : undefined;
-            })(this, function(t) {
-              "use strict";
-              var e,
-                n,
-                i = function() {
-                  return ""
-                    .concat(Date.now(), "-")
-                    .concat(Math.floor(8999999999999 * Math.random()) + 1e12);
-                },
-                r = function(t) {
-                  var e =
-                    arguments.length > 1 && void 0 !== arguments[1]
-                      ? arguments[1]
-                      : -1;
-                  return {
-                    name: t,
-                    value: e,
-                    delta: 0,
-                    entries: [],
-                    id: i(),
-                    isFinal: !1
-                  };
-                },
-                a = function(t, e) {
-                  try {
-                    if (PerformanceObserver.supportedEntryTypes.includes(t)) {
-                      var n = new PerformanceObserver(function(t) {
-                        return t.getEntries().map(e);
-                      });
-                      return n.observe({ type: t, buffered: !0 }), n;
-                    }
-                  } catch (t) {}
-                },
-                o = !1,
-                u = !1,
-                s = function(t) {
-                  o = !t.persisted;
-                },
-                c = function() {
-                  addEventListener("pagehide", s),
-                    addEventListener("beforeunload", function() {});
-                },
-                p = function(t) {
-                  var e =
-                    arguments.length > 1 &&
-                    void 0 !== arguments[1] &&
-                    arguments[1];
-                  u || (c(), (u = !0)),
-                    addEventListener(
-                      "visibilitychange",
-                      function(e) {
-                        var n = e.timeStamp;
-                        "hidden" === document.visibilityState &&
-                          t({ timeStamp: n, isUnloading: o });
-                      },
-                      { capture: !0, once: e }
-                    );
-                },
-                f = function(t, e, n, i) {
-                  var r;
-                  return function() {
-                    n && e.isFinal && n.disconnect(),
-                      e.value >= 0 &&
-                        (i ||
-                          e.isFinal ||
-                          "hidden" === document.visibilityState) &&
-                        ((e.delta = e.value - (r || 0)),
-                        (e.delta || e.isFinal || void 0 === r) &&
-                          (t(e), (r = e.value)));
-                  };
-                },
-                l = function() {
-                  return (
-                    void 0 === e &&
-                      ((e = "hidden" === document.visibilityState ? 0 : 1 / 0),
-                      p(function(t) {
-                        var n = t.timeStamp;
-                        return (e = n);
-                      }, !0)),
-                    {
-                      get timeStamp() {
-                        return e;
-                      }
-                    }
-                  );
-                },
-                d = function() {
-                  return (
-                    n ||
-                      (n = new Promise(function(t) {
-                        return ["scroll", "keydown", "pointerdown"].map(
-                          function(e) {
-                            addEventListener(e, t, {
-                              once: !0,
-                              passive: !0,
-                              capture: !0
-                            });
-                          }
-                        );
-                      })),
-                    n
-                  );
-                };
-              (t.getCLS = function(t) {
+        module.exports = (() => {
+          var t = {
+            692: function(t, e) {
+              !(function(t, n) {
+                true ? n(e) : undefined;
+              })(this, function(t) {
+                "use strict";
                 var e,
-                  n =
-                    arguments.length > 1 &&
-                    void 0 !== arguments[1] &&
-                    arguments[1],
-                  i = r("CLS", 0),
-                  o = function(t) {
-                    t.hadRecentInput ||
-                      ((i.value += t.value), i.entries.push(t), e());
+                  n,
+                  i = function() {
+                    return ""
+                      .concat(Date.now(), "-")
+                      .concat(Math.floor(8999999999999 * Math.random()) + 1e12);
                   },
-                  u = a("layout-shift", o);
-                u &&
-                  ((e = f(t, i, u, n)),
-                  p(function(t) {
-                    var n = t.isUnloading;
-                    u.takeRecords().map(o), n && (i.isFinal = !0), e();
-                  }));
-              }),
-                (t.getFCP = function(t) {
-                  var e,
-                    n = r("FCP"),
-                    i = l(),
-                    o = a("paint", function(t) {
-                      "first-contentful-paint" === t.name &&
-                        t.startTime < i.timeStamp &&
-                        ((n.value = t.startTime),
-                        (n.isFinal = !0),
-                        n.entries.push(t),
-                        e());
-                    });
-                  o && (e = f(t, n, o));
-                }),
-                (t.getFID = function(t) {
-                  var e = r("FID"),
-                    n = l(),
-                    i = function(t) {
-                      t.startTime < n.timeStamp &&
-                        ((e.value = t.processingStart - t.startTime),
-                        e.entries.push(t),
-                        (e.isFinal = !0),
-                        u());
-                    },
-                    o = a("first-input", i),
-                    u = f(t, e, o);
-                  o
-                    ? p(function() {
-                        o.takeRecords().map(i), o.disconnect();
-                      }, !0)
-                    : window.perfMetrics &&
-                      window.perfMetrics.onFirstInputDelay &&
-                      window.perfMetrics.onFirstInputDelay(function(t, i) {
-                        i.timeStamp < n.timeStamp &&
-                          ((e.value = t),
-                          (e.isFinal = !0),
-                          (e.entries = [
-                            {
-                              entryType: "first-input",
-                              name: i.type,
-                              target: i.target,
-                              cancelable: i.cancelable,
-                              startTime: i.timeStamp,
-                              processingStart: i.timeStamp + t
+                  a = function(t) {
+                    var e =
+                      arguments.length > 1 && void 0 !== arguments[1]
+                        ? arguments[1]
+                        : -1;
+                    return {
+                      name: t,
+                      value: e,
+                      delta: 0,
+                      entries: [],
+                      id: i(),
+                      isFinal: !1
+                    };
+                  },
+                  r = function(t, e) {
+                    try {
+                      if (PerformanceObserver.supportedEntryTypes.includes(t)) {
+                        var n = new PerformanceObserver(function(t) {
+                          return t.getEntries().map(e);
+                        });
+                        return n.observe({ type: t, buffered: !0 }), n;
+                      }
+                    } catch (t) {}
+                  },
+                  o = !1,
+                  u = !1,
+                  s = function(t) {
+                    o = !t.persisted;
+                  },
+                  c = function() {
+                    addEventListener("pagehide", s),
+                      addEventListener("beforeunload", function() {});
+                  },
+                  p = function(t) {
+                    var e =
+                      arguments.length > 1 &&
+                      void 0 !== arguments[1] &&
+                      arguments[1];
+                    u || (c(), (u = !0)),
+                      addEventListener(
+                        "visibilitychange",
+                        function(e) {
+                          var n = e.timeStamp;
+                          "hidden" === document.visibilityState &&
+                            t({ timeStamp: n, isUnloading: o });
+                        },
+                        { capture: !0, once: e }
+                      );
+                  },
+                  l = function(t, e, n, i) {
+                    var a;
+                    return function() {
+                      n && e.isFinal && n.disconnect(),
+                        e.value >= 0 &&
+                          (i ||
+                            e.isFinal ||
+                            "hidden" === document.visibilityState) &&
+                          ((e.delta = e.value - (a || 0)),
+                          (e.delta || e.isFinal || void 0 === a) &&
+                            (t(e), (a = e.value)));
+                    };
+                  },
+                  f = function() {
+                    return (
+                      void 0 === e &&
+                        ((e =
+                          "hidden" === document.visibilityState ? 0 : 1 / 0),
+                        p(function(t) {
+                          var n = t.timeStamp;
+                          return (e = n);
+                        }, !0)),
+                      {
+                        get timeStamp() {
+                          return e;
+                        }
+                      }
+                    );
+                  },
+                  d = function() {
+                    return (
+                      n ||
+                        (n = new Promise(function(t) {
+                          return ["scroll", "keydown", "pointerdown"].map(
+                            function(e) {
+                              addEventListener(e, t, {
+                                once: !0,
+                                passive: !0,
+                                capture: !0
+                              });
                             }
-                          ]),
-                          u());
-                      });
-                }),
-                (t.getLCP = function(t) {
+                          );
+                        })),
+                      n
+                    );
+                  };
+                (t.getCLS = function(t) {
                   var e,
                     n =
                       arguments.length > 1 &&
                       void 0 !== arguments[1] &&
                       arguments[1],
-                    i = r("LCP"),
-                    o = l(),
-                    u = function(t) {
-                      var n = t.startTime;
-                      n < o.timeStamp
-                        ? ((i.value = n), i.entries.push(t))
-                        : (i.isFinal = !0),
-                        e();
+                    i = a("CLS", 0),
+                    o = function(t) {
+                      t.hadRecentInput ||
+                        ((i.value += t.value), i.entries.push(t), e());
                     },
-                    s = a("largest-contentful-paint", u);
-                  if (s) {
-                    e = f(t, i, s, n);
-                    var c = function() {
-                      i.isFinal ||
-                        (s.takeRecords().map(u), (i.isFinal = !0), e());
-                    };
-                    d().then(c), p(c, !0);
-                  }
+                    u = r("layout-shift", o);
+                  u &&
+                    ((e = l(t, i, u, n)),
+                    p(function(t) {
+                      var n = t.isUnloading;
+                      u.takeRecords().map(o), n && (i.isFinal = !0), e();
+                    }));
                 }),
-                (t.getTTFB = function(t) {
-                  var e,
-                    n = r("TTFB");
-                  (e = function() {
-                    try {
-                      var e =
-                        performance.getEntriesByType("navigation")[0] ||
-                        (function() {
-                          var t = performance.timing,
-                            e = { entryType: "navigation", startTime: 0 };
-                          for (var n in t)
-                            "navigationStart" !== n &&
-                              "toJSON" !== n &&
-                              (e[n] = Math.max(t[n] - t.navigationStart, 0));
-                          return e;
-                        })();
-                      (n.value = n.delta = e.responseStart),
-                        (n.entries = [e]),
-                        (n.isFinal = !0),
-                        t(n);
-                    } catch (t) {}
+                  (t.getFCP = function(t) {
+                    var e,
+                      n = a("FCP"),
+                      i = f(),
+                      o = r("paint", function(t) {
+                        "first-contentful-paint" === t.name &&
+                          t.startTime < i.timeStamp &&
+                          ((n.value = t.startTime),
+                          (n.isFinal = !0),
+                          n.entries.push(t),
+                          e());
+                      });
+                    o && (e = l(t, n, o));
                   }),
-                    "complete" === document.readyState
-                      ? setTimeout(e, 0)
-                      : addEventListener("pageshow", e);
-                }),
-                Object.defineProperty(t, "__esModule", { value: !0 });
-            });
+                  (t.getFID = function(t) {
+                    var e = a("FID"),
+                      n = f(),
+                      i = function(t) {
+                        t.startTime < n.timeStamp &&
+                          ((e.value = t.processingStart - t.startTime),
+                          e.entries.push(t),
+                          (e.isFinal = !0),
+                          u());
+                      },
+                      o = r("first-input", i),
+                      u = l(t, e, o);
+                    o
+                      ? p(function() {
+                          o.takeRecords().map(i), o.disconnect();
+                        }, !0)
+                      : window.perfMetrics &&
+                        window.perfMetrics.onFirstInputDelay &&
+                        window.perfMetrics.onFirstInputDelay(function(t, i) {
+                          i.timeStamp < n.timeStamp &&
+                            ((e.value = t),
+                            (e.isFinal = !0),
+                            (e.entries = [
+                              {
+                                entryType: "first-input",
+                                name: i.type,
+                                target: i.target,
+                                cancelable: i.cancelable,
+                                startTime: i.timeStamp,
+                                processingStart: i.timeStamp + t
+                              }
+                            ]),
+                            u());
+                        });
+                  }),
+                  (t.getLCP = function(t) {
+                    var e,
+                      n =
+                        arguments.length > 1 &&
+                        void 0 !== arguments[1] &&
+                        arguments[1],
+                      i = a("LCP"),
+                      o = f(),
+                      u = function(t) {
+                        var n = t.startTime;
+                        n < o.timeStamp
+                          ? ((i.value = n), i.entries.push(t))
+                          : (i.isFinal = !0),
+                          e();
+                      },
+                      s = r("largest-contentful-paint", u);
+                    if (s) {
+                      e = l(t, i, s, n);
+                      var c = function() {
+                        i.isFinal ||
+                          (s.takeRecords().map(u), (i.isFinal = !0), e());
+                      };
+                      d().then(c), p(c, !0);
+                    }
+                  }),
+                  (t.getTTFB = function(t) {
+                    var e,
+                      n = a("TTFB");
+                    (e = function() {
+                      try {
+                        var e =
+                          performance.getEntriesByType("navigation")[0] ||
+                          (function() {
+                            var t = performance.timing,
+                              e = { entryType: "navigation", startTime: 0 };
+                            for (var n in t)
+                              "navigationStart" !== n &&
+                                "toJSON" !== n &&
+                                (e[n] = Math.max(t[n] - t.navigationStart, 0));
+                            return e;
+                          })();
+                        (n.value = n.delta = e.responseStart),
+                          (n.entries = [e]),
+                          (n.isFinal = !0),
+                          t(n);
+                      } catch (t) {}
+                    }),
+                      "complete" === document.readyState
+                        ? setTimeout(e, 0)
+                        : addEventListener("pageshow", e);
+                  }),
+                  Object.defineProperty(t, "__esModule", { value: !0 });
+              });
+            }
+          };
+          var e = {};
+          function __webpack_require__(n) {
+            if (e[n]) {
+              return e[n].exports;
+            }
+            var i = (e[n] = { exports: {} });
+            var a = true;
+            try {
+              t[n].call(i.exports, i, i.exports, __webpack_require__);
+              a = false;
+            } finally {
+              if (a) delete e[n];
+            }
+            return i.exports;
           }
-        });
+          __webpack_require__.ab = __dirname + "/";
+          return __webpack_require__(692);
+        })();
         /* WEBPACK VAR INJECTION */
       }.call(this, "/"));
Diff for index.html
@@ -6,7 +6,7 @@
     <noscript data-n-css="true"></noscript>
     <link
       rel="preload"
-      href="/_next/static/chunks/main-b3ad237f31305f9a81b3.module.js"
+      href="/_next/static/chunks/main-b03aabf1b0a2ce1f2b03.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -24,7 +24,7 @@
     />
     <link
       rel="preload"
-      href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.883dd050e11a66b09e26.module.js"
+      href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.6b4511cd17e1524c6341.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -85,13 +85,13 @@
       src="/_next/static/chunks/polyfills-f73ba3fc145972ef83e9.js"
     ></script>
     <script
-      src="/_next/static/chunks/main-895fe5a26f0416647d53.js"
+      src="/_next/static/chunks/main-6345d84867d8a2ffb125.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/main-b3ad237f31305f9a81b3.module.js"
+      src="/_next/static/chunks/main-b03aabf1b0a2ce1f2b03.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
@@ -121,19 +121,19 @@
       type="module"
     ></script>
     <script
-      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.5d4f3798f0f226dab197.js"
+      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.978ffbabf17b2be9a27e.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.883dd050e11a66b09e26.module.js"
+      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.6b4511cd17e1524c6341.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
     ></script>
     <script
-      src="/_next/static/chunks/pages/_app-7512045a5b3d9376e2ca.js"
+      src="/_next/static/chunks/pages/_app-265ddf2d03dbe48fa6cb.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
Diff for link.html
@@ -6,7 +6,7 @@
     <noscript data-n-css="true"></noscript>
     <link
       rel="preload"
-      href="/_next/static/chunks/main-b3ad237f31305f9a81b3.module.js"
+      href="/_next/static/chunks/main-b03aabf1b0a2ce1f2b03.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -24,7 +24,7 @@
     />
     <link
       rel="preload"
-      href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.883dd050e11a66b09e26.module.js"
+      href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.6b4511cd17e1524c6341.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -90,13 +90,13 @@
       src="/_next/static/chunks/polyfills-f73ba3fc145972ef83e9.js"
     ></script>
     <script
-      src="/_next/static/chunks/main-895fe5a26f0416647d53.js"
+      src="/_next/static/chunks/main-6345d84867d8a2ffb125.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/main-b3ad237f31305f9a81b3.module.js"
+      src="/_next/static/chunks/main-b03aabf1b0a2ce1f2b03.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
@@ -126,19 +126,19 @@
       type="module"
     ></script>
     <script
-      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.5d4f3798f0f226dab197.js"
+      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.978ffbabf17b2be9a27e.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.883dd050e11a66b09e26.module.js"
+      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.6b4511cd17e1524c6341.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
     ></script>
     <script
-      src="/_next/static/chunks/pages/_app-7512045a5b3d9376e2ca.js"
+      src="/_next/static/chunks/pages/_app-265ddf2d03dbe48fa6cb.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
Diff for withRouter.html
@@ -6,7 +6,7 @@
     <noscript data-n-css="true"></noscript>
     <link
       rel="preload"
-      href="/_next/static/chunks/main-b3ad237f31305f9a81b3.module.js"
+      href="/_next/static/chunks/main-b03aabf1b0a2ce1f2b03.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -24,7 +24,7 @@
     />
     <link
       rel="preload"
-      href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.883dd050e11a66b09e26.module.js"
+      href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.6b4511cd17e1524c6341.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -85,13 +85,13 @@
       src="/_next/static/chunks/polyfills-f73ba3fc145972ef83e9.js"
     ></script>
     <script
-      src="/_next/static/chunks/main-895fe5a26f0416647d53.js"
+      src="/_next/static/chunks/main-6345d84867d8a2ffb125.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/main-b3ad237f31305f9a81b3.module.js"
+      src="/_next/static/chunks/main-b03aabf1b0a2ce1f2b03.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
@@ -121,19 +121,19 @@
       type="module"
     ></script>
     <script
-      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.5d4f3798f0f226dab197.js"
+      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.978ffbabf17b2be9a27e.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.883dd050e11a66b09e26.module.js"
+      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.6b4511cd17e1524c6341.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
     ></script>
     <script
-      src="/_next/static/chunks/pages/_app-7512045a5b3d9376e2ca.js"
+      src="/_next/static/chunks/pages/_app-265ddf2d03dbe48fa6cb.js"
       async=""
       crossorigin="anonymous"
       nomodule=""

Serverless Mode (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary guybedford/next.js ncc-fixes Change
buildDuration 15.6s 17.4s ⚠️ +1.8s
nodeModulesSize 90 MB 90.7 MB ⚠️ +669 kB
Client Bundles (main, webpack, commons) Overall increase ⚠️
vercel/next.js canary guybedford/next.js ncc-fixes Change
677f882d2ed8..02db.js gzip 11.3 kB N/A N/A
framework.HASH.js gzip 39 kB 39 kB
main-cea8d7e..ff01.js gzip 7.37 kB N/A N/A
webpack-e067..f178.js gzip 751 B 751 B
677f882d2ed8..7d3b.js gzip N/A 11.3 kB N/A
main-4066db0..605e.js gzip N/A 7.39 kB N/A
Overall change 58.4 kB 58.4 kB ⚠️ +14 B
Client Bundles (main, webpack, commons) Modern Overall increase ⚠️
vercel/next.js canary guybedford/next.js ncc-fixes Change
677f882d2ed8..dule.js gzip 7.04 kB N/A N/A
framework.HA..dule.js gzip 39 kB 39 kB
main-00e5ec9..dule.js gzip 6.37 kB N/A N/A
webpack-07c5..dule.js gzip 751 B 751 B
677f882d2ed8..dule.js gzip N/A 7.04 kB N/A
main-d0da7fd..dule.js gzip N/A 6.38 kB N/A
Overall change 53.1 kB 53.1 kB ⚠️ +7 B
Legacy Client Bundles (polyfills)
vercel/next.js canary guybedford/next.js ncc-fixes Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary guybedford/next.js ncc-fixes Change
_app-9a0b9e1..b37e.js gzip 1.28 kB N/A N/A
_error-ed1b0..8fbd.js gzip 3.44 kB N/A N/A
hooks-89731c..c609.js gzip 887 B N/A N/A
index-17468f..5d83.js gzip 227 B 227 B
link-a674d88..ccde.js gzip 1.35 kB 1.35 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
_app-7231d4b..5856.js gzip N/A 1.28 kB N/A
_error-fca3d..2eb1.js gzip N/A 3.44 kB N/A
hooks-d4591d..e7c2.js gzip N/A 887 B N/A
Overall change 7.75 kB 7.75 kB
Client Pages Modern
vercel/next.js canary guybedford/next.js ncc-fixes Change
_app-75d3a82..dule.js gzip 625 B 625 B
_error-4469a..dule.js gzip 2.29 kB 2.29 kB
hooks-cbf13f..dule.js gzip 387 B 387 B
index-b9a643..dule.js gzip 226 B 226 B
link-a4469f3..dule.js gzip 1.32 kB 1.32 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.41 kB 5.41 kB
Client Build Manifests Overall decrease ✓
vercel/next.js canary guybedford/next.js ncc-fixes Change
_buildManifest.js gzip 322 B 321 B -1 B
_buildManife..dule.js gzip 330 B 330 B
Overall change 652 B 651 B -1 B
Serverless bundles Overall decrease ✓
vercel/next.js canary guybedford/next.js ncc-fixes Change
_error.js 1.07 MB 914 kB -156 kB
404.html 4.73 kB 4.73 kB
hooks.html 3.92 kB 3.92 kB
index.js 1.07 MB 914 kB -156 kB
link.js 1.12 MB 962 kB -156 kB
routerDirect.js 1.11 MB 956 kB -156 kB
withRouter.js 1.11 MB 956 kB -156 kB
Overall change 5.49 MB 4.71 MB -780 kB
Commit: f234143

@ijjk
Copy link
Member

ijjk commented Nov 6, 2020

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall decrease ✓
vercel/next.js canary guybedford/next.js ncc-fixes Change
buildDuration 12.7s 12.9s ⚠️ +146ms
nodeModulesSize 90 MB 83.2 MB -6.75 MB
Page Load Tests Overall increase ✓
vercel/next.js canary guybedford/next.js ncc-fixes Change
/ failed reqs 0 0
/ total time (seconds) 2.389 2.334 -0.05
/ avg req/sec 1046.35 1070.94 +24.59
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.256 1.243 -0.01
/error-in-render avg req/sec 1989.69 2011.17 +21.48
Client Bundles (main, webpack, commons) Overall increase ⚠️
vercel/next.js canary guybedford/next.js ncc-fixes Change
677f882d2ed8..02db.js gzip 11.3 kB 11.3 kB
framework.HASH.js gzip 39 kB 39 kB
main-cea8d7e..ff01.js gzip 7.37 kB 7.39 kB ⚠️ +14 B
webpack-e067..f178.js gzip 751 B 751 B
Overall change 58.4 kB 58.4 kB ⚠️ +14 B
Client Bundles (main, webpack, commons) Modern Overall increase ⚠️
vercel/next.js canary guybedford/next.js ncc-fixes Change
677f882d2ed8..dule.js gzip 7.04 kB 7.04 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-00e5ec9..dule.js gzip 6.37 kB 6.38 kB ⚠️ +7 B
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 53.1 kB 53.1 kB ⚠️ +7 B
Legacy Client Bundles (polyfills)
vercel/next.js canary guybedford/next.js ncc-fixes Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary guybedford/next.js ncc-fixes Change
_app-9a0b9e1..b37e.js gzip 1.28 kB 1.28 kB
_error-ed1b0..8fbd.js gzip 3.44 kB 3.44 kB
hooks-89731c..c609.js gzip 887 B 887 B
index-17468f..5d83.js gzip 227 B 227 B
link-a674d88..ccde.js gzip 1.35 kB 1.35 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.75 kB 7.75 kB
Client Pages Modern
vercel/next.js canary guybedford/next.js ncc-fixes Change
_app-75d3a82..dule.js gzip 625 B 625 B
_error-4469a..dule.js gzip 2.29 kB 2.29 kB
hooks-cbf13f..dule.js gzip 387 B 387 B
index-b9a643..dule.js gzip 226 B 226 B
link-a4469f3..dule.js gzip 1.32 kB 1.32 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.41 kB 5.41 kB
Client Build Manifests Overall decrease ✓
vercel/next.js canary guybedford/next.js ncc-fixes Change
_buildManifest.js gzip 322 B 321 B -1 B
_buildManife..dule.js gzip 330 B 330 B
Overall change 652 B 651 B -1 B
Rendered Page Sizes Overall increase ⚠️
vercel/next.js canary guybedford/next.js ncc-fixes Change
index.html gzip 1 kB 1 kB ⚠️ +2 B
link.html gzip 1.01 kB 1.01 kB ⚠️ +3 B
withRouter.html gzip 994 B 996 B ⚠️ +2 B
Overall change 3 kB 3.01 kB ⚠️ +7 B

Diffs

Diff for _buildManifest.js
@@ -2,10 +2,10 @@ self.__BUILD_MANIFEST = {
   __rewrites: [],
   "/": ["static\u002Fchunks\u002Fpages\u002Findex-283eed3c1520dcc26e8d.js"],
   "/_error": [
-    "static\u002Fchunks\u002Fpages\u002F_error-a0c4519f5ca8e97fa7be.js"
+    "static\u002Fchunks\u002Fpages\u002F_error-9b57cae5694a39479222.js"
   ],
   "/hooks": [
-    "static\u002Fchunks\u002Fpages\u002Fhooks-8001dc76075832ee8949.js"
+    "static\u002Fchunks\u002Fpages\u002Fhooks-bdd2cad07648acf22380.js"
   ],
   "/link": ["static\u002Fchunks\u002Fpages\u002Flink-46fe29f40f6309aec7d7.js"],
   "/routerDirect": [
Diff for main-895fe5a..416647d53.js
@@ -1314,253 +1314,256 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
 
     /***/ p0hA: /***/ function(module, exports, __webpack_require__) {
       /* WEBPACK VAR INJECTION */ (function(__dirname) {
-        module.exports = (function(t, e) {
-          "use strict";
-          var n = {};
-          function __webpack_require__(e) {
-            if (n[e]) {
-              return n[e].exports;
-            }
-            var i = (n[e] = { i: e, l: false, exports: {} });
-            t[e].call(i.exports, i, i.exports, __webpack_require__);
-            i.l = true;
-            return i.exports;
-          }
-          __webpack_require__.ab = __dirname + "/";
-          function startup() {
-            return __webpack_require__(766);
-          }
-          return startup();
-        })({
-          766: function(t, e) {
-            !(function(t, n) {
-              true ? n(e) : undefined;
-            })(this, function(t) {
-              "use strict";
-              var e,
-                n,
-                i = function() {
-                  return ""
-                    .concat(Date.now(), "-")
-                    .concat(Math.floor(8999999999999 * Math.random()) + 1e12);
-                },
-                r = function(t) {
-                  var e =
-                    arguments.length > 1 && void 0 !== arguments[1]
-                      ? arguments[1]
-                      : -1;
-                  return {
-                    name: t,
-                    value: e,
-                    delta: 0,
-                    entries: [],
-                    id: i(),
-                    isFinal: !1
-                  };
-                },
-                a = function(t, e) {
-                  try {
-                    if (PerformanceObserver.supportedEntryTypes.includes(t)) {
-                      var n = new PerformanceObserver(function(t) {
-                        return t.getEntries().map(e);
-                      });
-                      return n.observe({ type: t, buffered: !0 }), n;
-                    }
-                  } catch (t) {}
-                },
-                o = !1,
-                u = !1,
-                s = function(t) {
-                  o = !t.persisted;
-                },
-                c = function() {
-                  addEventListener("pagehide", s),
-                    addEventListener("beforeunload", function() {});
-                },
-                p = function(t) {
-                  var e =
-                    arguments.length > 1 &&
-                    void 0 !== arguments[1] &&
-                    arguments[1];
-                  u || (c(), (u = !0)),
-                    addEventListener(
-                      "visibilitychange",
-                      function(e) {
-                        var n = e.timeStamp;
-                        "hidden" === document.visibilityState &&
-                          t({ timeStamp: n, isUnloading: o });
-                      },
-                      { capture: !0, once: e }
-                    );
-                },
-                f = function(t, e, n, i) {
-                  var r;
-                  return function() {
-                    n && e.isFinal && n.disconnect(),
-                      e.value >= 0 &&
-                        (i ||
-                          e.isFinal ||
-                          "hidden" === document.visibilityState) &&
-                        ((e.delta = e.value - (r || 0)),
-                        (e.delta || e.isFinal || void 0 === r) &&
-                          (t(e), (r = e.value)));
-                  };
-                },
-                l = function() {
-                  return (
-                    void 0 === e &&
-                      ((e = "hidden" === document.visibilityState ? 0 : 1 / 0),
-                      p(function(t) {
-                        var n = t.timeStamp;
-                        return (e = n);
-                      }, !0)),
-                    {
-                      get timeStamp() {
-                        return e;
-                      }
-                    }
-                  );
-                },
-                d = function() {
-                  return (
-                    n ||
-                      (n = new Promise(function(t) {
-                        return ["scroll", "keydown", "pointerdown"].map(
-                          function(e) {
-                            addEventListener(e, t, {
-                              once: !0,
-                              passive: !0,
-                              capture: !0
-                            });
-                          }
-                        );
-                      })),
-                    n
-                  );
-                };
-              (t.getCLS = function(t) {
+        module.exports = (() => {
+          var t = {
+            692: function(t, e) {
+              !(function(t, n) {
+                true ? n(e) : undefined;
+              })(this, function(t) {
+                "use strict";
                 var e,
-                  n =
-                    arguments.length > 1 &&
-                    void 0 !== arguments[1] &&
-                    arguments[1],
-                  i = r("CLS", 0),
-                  o = function(t) {
-                    t.hadRecentInput ||
-                      ((i.value += t.value), i.entries.push(t), e());
+                  n,
+                  i = function() {
+                    return ""
+                      .concat(Date.now(), "-")
+                      .concat(Math.floor(8999999999999 * Math.random()) + 1e12);
                   },
-                  u = a("layout-shift", o);
-                u &&
-                  ((e = f(t, i, u, n)),
-                  p(function(t) {
-                    var n = t.isUnloading;
-                    u.takeRecords().map(o), n && (i.isFinal = !0), e();
-                  }));
-              }),
-                (t.getFCP = function(t) {
-                  var e,
-                    n = r("FCP"),
-                    i = l(),
-                    o = a("paint", function(t) {
-                      "first-contentful-paint" === t.name &&
-                        t.startTime < i.timeStamp &&
-                        ((n.value = t.startTime),
-                        (n.isFinal = !0),
-                        n.entries.push(t),
-                        e());
-                    });
-                  o && (e = f(t, n, o));
-                }),
-                (t.getFID = function(t) {
-                  var e = r("FID"),
-                    n = l(),
-                    i = function(t) {
-                      t.startTime < n.timeStamp &&
-                        ((e.value = t.processingStart - t.startTime),
-                        e.entries.push(t),
-                        (e.isFinal = !0),
-                        u());
-                    },
-                    o = a("first-input", i),
-                    u = f(t, e, o);
-                  o
-                    ? p(function() {
-                        o.takeRecords().map(i), o.disconnect();
-                      }, !0)
-                    : window.perfMetrics &&
-                      window.perfMetrics.onFirstInputDelay &&
-                      window.perfMetrics.onFirstInputDelay(function(t, i) {
-                        i.timeStamp < n.timeStamp &&
-                          ((e.value = t),
-                          (e.isFinal = !0),
-                          (e.entries = [
-                            {
-                              entryType: "first-input",
-                              name: i.type,
-                              target: i.target,
-                              cancelable: i.cancelable,
-                              startTime: i.timeStamp,
-                              processingStart: i.timeStamp + t
+                  a = function(t) {
+                    var e =
+                      arguments.length > 1 && void 0 !== arguments[1]
+                        ? arguments[1]
+                        : -1;
+                    return {
+                      name: t,
+                      value: e,
+                      delta: 0,
+                      entries: [],
+                      id: i(),
+                      isFinal: !1
+                    };
+                  },
+                  r = function(t, e) {
+                    try {
+                      if (PerformanceObserver.supportedEntryTypes.includes(t)) {
+                        var n = new PerformanceObserver(function(t) {
+                          return t.getEntries().map(e);
+                        });
+                        return n.observe({ type: t, buffered: !0 }), n;
+                      }
+                    } catch (t) {}
+                  },
+                  o = !1,
+                  u = !1,
+                  s = function(t) {
+                    o = !t.persisted;
+                  },
+                  c = function() {
+                    addEventListener("pagehide", s),
+                      addEventListener("beforeunload", function() {});
+                  },
+                  p = function(t) {
+                    var e =
+                      arguments.length > 1 &&
+                      void 0 !== arguments[1] &&
+                      arguments[1];
+                    u || (c(), (u = !0)),
+                      addEventListener(
+                        "visibilitychange",
+                        function(e) {
+                          var n = e.timeStamp;
+                          "hidden" === document.visibilityState &&
+                            t({ timeStamp: n, isUnloading: o });
+                        },
+                        { capture: !0, once: e }
+                      );
+                  },
+                  l = function(t, e, n, i) {
+                    var a;
+                    return function() {
+                      n && e.isFinal && n.disconnect(),
+                        e.value >= 0 &&
+                          (i ||
+                            e.isFinal ||
+                            "hidden" === document.visibilityState) &&
+                          ((e.delta = e.value - (a || 0)),
+                          (e.delta || e.isFinal || void 0 === a) &&
+                            (t(e), (a = e.value)));
+                    };
+                  },
+                  f = function() {
+                    return (
+                      void 0 === e &&
+                        ((e =
+                          "hidden" === document.visibilityState ? 0 : 1 / 0),
+                        p(function(t) {
+                          var n = t.timeStamp;
+                          return (e = n);
+                        }, !0)),
+                      {
+                        get timeStamp() {
+                          return e;
+                        }
+                      }
+                    );
+                  },
+                  d = function() {
+                    return (
+                      n ||
+                        (n = new Promise(function(t) {
+                          return ["scroll", "keydown", "pointerdown"].map(
+                            function(e) {
+                              addEventListener(e, t, {
+                                once: !0,
+                                passive: !0,
+                                capture: !0
+                              });
                             }
-                          ]),
-                          u());
-                      });
-                }),
-                (t.getLCP = function(t) {
+                          );
+                        })),
+                      n
+                    );
+                  };
+                (t.getCLS = function(t) {
                   var e,
                     n =
                       arguments.length > 1 &&
                       void 0 !== arguments[1] &&
                       arguments[1],
-                    i = r("LCP"),
-                    o = l(),
-                    u = function(t) {
-                      var n = t.startTime;
-                      n < o.timeStamp
-                        ? ((i.value = n), i.entries.push(t))
-                        : (i.isFinal = !0),
-                        e();
+                    i = a("CLS", 0),
+                    o = function(t) {
+                      t.hadRecentInput ||
+                        ((i.value += t.value), i.entries.push(t), e());
                     },
-                    s = a("largest-contentful-paint", u);
-                  if (s) {
-                    e = f(t, i, s, n);
-                    var c = function() {
-                      i.isFinal ||
-                        (s.takeRecords().map(u), (i.isFinal = !0), e());
-                    };
-                    d().then(c), p(c, !0);
-                  }
+                    u = r("layout-shift", o);
+                  u &&
+                    ((e = l(t, i, u, n)),
+                    p(function(t) {
+                      var n = t.isUnloading;
+                      u.takeRecords().map(o), n && (i.isFinal = !0), e();
+                    }));
                 }),
-                (t.getTTFB = function(t) {
-                  var e,
-                    n = r("TTFB");
-                  (e = function() {
-                    try {
-                      var e =
-                        performance.getEntriesByType("navigation")[0] ||
-                        (function() {
-                          var t = performance.timing,
-                            e = { entryType: "navigation", startTime: 0 };
-                          for (var n in t)
-                            "navigationStart" !== n &&
-                              "toJSON" !== n &&
-                              (e[n] = Math.max(t[n] - t.navigationStart, 0));
-                          return e;
-                        })();
-                      (n.value = n.delta = e.responseStart),
-                        (n.entries = [e]),
-                        (n.isFinal = !0),
-                        t(n);
-                    } catch (t) {}
+                  (t.getFCP = function(t) {
+                    var e,
+                      n = a("FCP"),
+                      i = f(),
+                      o = r("paint", function(t) {
+                        "first-contentful-paint" === t.name &&
+                          t.startTime < i.timeStamp &&
+                          ((n.value = t.startTime),
+                          (n.isFinal = !0),
+                          n.entries.push(t),
+                          e());
+                      });
+                    o && (e = l(t, n, o));
                   }),
-                    "complete" === document.readyState
-                      ? setTimeout(e, 0)
-                      : addEventListener("pageshow", e);
-                }),
-                Object.defineProperty(t, "__esModule", { value: !0 });
-            });
+                  (t.getFID = function(t) {
+                    var e = a("FID"),
+                      n = f(),
+                      i = function(t) {
+                        t.startTime < n.timeStamp &&
+                          ((e.value = t.processingStart - t.startTime),
+                          e.entries.push(t),
+                          (e.isFinal = !0),
+                          u());
+                      },
+                      o = r("first-input", i),
+                      u = l(t, e, o);
+                    o
+                      ? p(function() {
+                          o.takeRecords().map(i), o.disconnect();
+                        }, !0)
+                      : window.perfMetrics &&
+                        window.perfMetrics.onFirstInputDelay &&
+                        window.perfMetrics.onFirstInputDelay(function(t, i) {
+                          i.timeStamp < n.timeStamp &&
+                            ((e.value = t),
+                            (e.isFinal = !0),
+                            (e.entries = [
+                              {
+                                entryType: "first-input",
+                                name: i.type,
+                                target: i.target,
+                                cancelable: i.cancelable,
+                                startTime: i.timeStamp,
+                                processingStart: i.timeStamp + t
+                              }
+                            ]),
+                            u());
+                        });
+                  }),
+                  (t.getLCP = function(t) {
+                    var e,
+                      n =
+                        arguments.length > 1 &&
+                        void 0 !== arguments[1] &&
+                        arguments[1],
+                      i = a("LCP"),
+                      o = f(),
+                      u = function(t) {
+                        var n = t.startTime;
+                        n < o.timeStamp
+                          ? ((i.value = n), i.entries.push(t))
+                          : (i.isFinal = !0),
+                          e();
+                      },
+                      s = r("largest-contentful-paint", u);
+                    if (s) {
+                      e = l(t, i, s, n);
+                      var c = function() {
+                        i.isFinal ||
+                          (s.takeRecords().map(u), (i.isFinal = !0), e());
+                      };
+                      d().then(c), p(c, !0);
+                    }
+                  }),
+                  (t.getTTFB = function(t) {
+                    var e,
+                      n = a("TTFB");
+                    (e = function() {
+                      try {
+                        var e =
+                          performance.getEntriesByType("navigation")[0] ||
+                          (function() {
+                            var t = performance.timing,
+                              e = { entryType: "navigation", startTime: 0 };
+                            for (var n in t)
+                              "navigationStart" !== n &&
+                                "toJSON" !== n &&
+                                (e[n] = Math.max(t[n] - t.navigationStart, 0));
+                            return e;
+                          })();
+                        (n.value = n.delta = e.responseStart),
+                          (n.entries = [e]),
+                          (n.isFinal = !0),
+                          t(n);
+                      } catch (t) {}
+                    }),
+                      "complete" === document.readyState
+                        ? setTimeout(e, 0)
+                        : addEventListener("pageshow", e);
+                  }),
+                  Object.defineProperty(t, "__esModule", { value: !0 });
+              });
+            }
+          };
+          var e = {};
+          function __webpack_require__(n) {
+            if (e[n]) {
+              return e[n].exports;
+            }
+            var i = (e[n] = { exports: {} });
+            var a = true;
+            try {
+              t[n].call(i.exports, i, i.exports, __webpack_require__);
+              a = false;
+            } finally {
+              if (a) delete e[n];
+            }
+            return i.exports;
           }
-        });
+          __webpack_require__.ab = __dirname + "/";
+          return __webpack_require__(692);
+        })();
         /* WEBPACK VAR INJECTION */
       }.call(this, "/"));
Diff for main-b3ad237..b3.module.js
@@ -972,253 +972,256 @@
 
     /***/ p0hA: /***/ function(module, exports, __webpack_require__) {
       /* WEBPACK VAR INJECTION */ (function(__dirname) {
-        module.exports = (function(t, e) {
-          "use strict";
-          var n = {};
-          function __webpack_require__(e) {
-            if (n[e]) {
-              return n[e].exports;
-            }
-            var i = (n[e] = { i: e, l: false, exports: {} });
-            t[e].call(i.exports, i, i.exports, __webpack_require__);
-            i.l = true;
-            return i.exports;
-          }
-          __webpack_require__.ab = __dirname + "/";
-          function startup() {
-            return __webpack_require__(766);
-          }
-          return startup();
-        })({
-          766: function(t, e) {
-            !(function(t, n) {
-              true ? n(e) : undefined;
-            })(this, function(t) {
-              "use strict";
-              var e,
-                n,
-                i = function() {
-                  return ""
-                    .concat(Date.now(), "-")
-                    .concat(Math.floor(8999999999999 * Math.random()) + 1e12);
-                },
-                r = function(t) {
-                  var e =
-                    arguments.length > 1 && void 0 !== arguments[1]
-                      ? arguments[1]
-                      : -1;
-                  return {
-                    name: t,
-                    value: e,
-                    delta: 0,
-                    entries: [],
-                    id: i(),
-                    isFinal: !1
-                  };
-                },
-                a = function(t, e) {
-                  try {
-                    if (PerformanceObserver.supportedEntryTypes.includes(t)) {
-                      var n = new PerformanceObserver(function(t) {
-                        return t.getEntries().map(e);
-                      });
-                      return n.observe({ type: t, buffered: !0 }), n;
-                    }
-                  } catch (t) {}
-                },
-                o = !1,
-                u = !1,
-                s = function(t) {
-                  o = !t.persisted;
-                },
-                c = function() {
-                  addEventListener("pagehide", s),
-                    addEventListener("beforeunload", function() {});
-                },
-                p = function(t) {
-                  var e =
-                    arguments.length > 1 &&
-                    void 0 !== arguments[1] &&
-                    arguments[1];
-                  u || (c(), (u = !0)),
-                    addEventListener(
-                      "visibilitychange",
-                      function(e) {
-                        var n = e.timeStamp;
-                        "hidden" === document.visibilityState &&
-                          t({ timeStamp: n, isUnloading: o });
-                      },
-                      { capture: !0, once: e }
-                    );
-                },
-                f = function(t, e, n, i) {
-                  var r;
-                  return function() {
-                    n && e.isFinal && n.disconnect(),
-                      e.value >= 0 &&
-                        (i ||
-                          e.isFinal ||
-                          "hidden" === document.visibilityState) &&
-                        ((e.delta = e.value - (r || 0)),
-                        (e.delta || e.isFinal || void 0 === r) &&
-                          (t(e), (r = e.value)));
-                  };
-                },
-                l = function() {
-                  return (
-                    void 0 === e &&
-                      ((e = "hidden" === document.visibilityState ? 0 : 1 / 0),
-                      p(function(t) {
-                        var n = t.timeStamp;
-                        return (e = n);
-                      }, !0)),
-                    {
-                      get timeStamp() {
-                        return e;
-                      }
-                    }
-                  );
-                },
-                d = function() {
-                  return (
-                    n ||
-                      (n = new Promise(function(t) {
-                        return ["scroll", "keydown", "pointerdown"].map(
-                          function(e) {
-                            addEventListener(e, t, {
-                              once: !0,
-                              passive: !0,
-                              capture: !0
-                            });
-                          }
-                        );
-                      })),
-                    n
-                  );
-                };
-              (t.getCLS = function(t) {
+        module.exports = (() => {
+          var t = {
+            692: function(t, e) {
+              !(function(t, n) {
+                true ? n(e) : undefined;
+              })(this, function(t) {
+                "use strict";
                 var e,
-                  n =
-                    arguments.length > 1 &&
-                    void 0 !== arguments[1] &&
-                    arguments[1],
-                  i = r("CLS", 0),
-                  o = function(t) {
-                    t.hadRecentInput ||
-                      ((i.value += t.value), i.entries.push(t), e());
+                  n,
+                  i = function() {
+                    return ""
+                      .concat(Date.now(), "-")
+                      .concat(Math.floor(8999999999999 * Math.random()) + 1e12);
                   },
-                  u = a("layout-shift", o);
-                u &&
-                  ((e = f(t, i, u, n)),
-                  p(function(t) {
-                    var n = t.isUnloading;
-                    u.takeRecords().map(o), n && (i.isFinal = !0), e();
-                  }));
-              }),
-                (t.getFCP = function(t) {
-                  var e,
-                    n = r("FCP"),
-                    i = l(),
-                    o = a("paint", function(t) {
-                      "first-contentful-paint" === t.name &&
-                        t.startTime < i.timeStamp &&
-                        ((n.value = t.startTime),
-                        (n.isFinal = !0),
-                        n.entries.push(t),
-                        e());
-                    });
-                  o && (e = f(t, n, o));
-                }),
-                (t.getFID = function(t) {
-                  var e = r("FID"),
-                    n = l(),
-                    i = function(t) {
-                      t.startTime < n.timeStamp &&
-                        ((e.value = t.processingStart - t.startTime),
-                        e.entries.push(t),
-                        (e.isFinal = !0),
-                        u());
-                    },
-                    o = a("first-input", i),
-                    u = f(t, e, o);
-                  o
-                    ? p(function() {
-                        o.takeRecords().map(i), o.disconnect();
-                      }, !0)
-                    : window.perfMetrics &&
-                      window.perfMetrics.onFirstInputDelay &&
-                      window.perfMetrics.onFirstInputDelay(function(t, i) {
-                        i.timeStamp < n.timeStamp &&
-                          ((e.value = t),
-                          (e.isFinal = !0),
-                          (e.entries = [
-                            {
-                              entryType: "first-input",
-                              name: i.type,
-                              target: i.target,
-                              cancelable: i.cancelable,
-                              startTime: i.timeStamp,
-                              processingStart: i.timeStamp + t
+                  a = function(t) {
+                    var e =
+                      arguments.length > 1 && void 0 !== arguments[1]
+                        ? arguments[1]
+                        : -1;
+                    return {
+                      name: t,
+                      value: e,
+                      delta: 0,
+                      entries: [],
+                      id: i(),
+                      isFinal: !1
+                    };
+                  },
+                  r = function(t, e) {
+                    try {
+                      if (PerformanceObserver.supportedEntryTypes.includes(t)) {
+                        var n = new PerformanceObserver(function(t) {
+                          return t.getEntries().map(e);
+                        });
+                        return n.observe({ type: t, buffered: !0 }), n;
+                      }
+                    } catch (t) {}
+                  },
+                  o = !1,
+                  u = !1,
+                  s = function(t) {
+                    o = !t.persisted;
+                  },
+                  c = function() {
+                    addEventListener("pagehide", s),
+                      addEventListener("beforeunload", function() {});
+                  },
+                  p = function(t) {
+                    var e =
+                      arguments.length > 1 &&
+                      void 0 !== arguments[1] &&
+                      arguments[1];
+                    u || (c(), (u = !0)),
+                      addEventListener(
+                        "visibilitychange",
+                        function(e) {
+                          var n = e.timeStamp;
+                          "hidden" === document.visibilityState &&
+                            t({ timeStamp: n, isUnloading: o });
+                        },
+                        { capture: !0, once: e }
+                      );
+                  },
+                  l = function(t, e, n, i) {
+                    var a;
+                    return function() {
+                      n && e.isFinal && n.disconnect(),
+                        e.value >= 0 &&
+                          (i ||
+                            e.isFinal ||
+                            "hidden" === document.visibilityState) &&
+                          ((e.delta = e.value - (a || 0)),
+                          (e.delta || e.isFinal || void 0 === a) &&
+                            (t(e), (a = e.value)));
+                    };
+                  },
+                  f = function() {
+                    return (
+                      void 0 === e &&
+                        ((e =
+                          "hidden" === document.visibilityState ? 0 : 1 / 0),
+                        p(function(t) {
+                          var n = t.timeStamp;
+                          return (e = n);
+                        }, !0)),
+                      {
+                        get timeStamp() {
+                          return e;
+                        }
+                      }
+                    );
+                  },
+                  d = function() {
+                    return (
+                      n ||
+                        (n = new Promise(function(t) {
+                          return ["scroll", "keydown", "pointerdown"].map(
+                            function(e) {
+                              addEventListener(e, t, {
+                                once: !0,
+                                passive: !0,
+                                capture: !0
+                              });
                             }
-                          ]),
-                          u());
-                      });
-                }),
-                (t.getLCP = function(t) {
+                          );
+                        })),
+                      n
+                    );
+                  };
+                (t.getCLS = function(t) {
                   var e,
                     n =
                       arguments.length > 1 &&
                       void 0 !== arguments[1] &&
                       arguments[1],
-                    i = r("LCP"),
-                    o = l(),
-                    u = function(t) {
-                      var n = t.startTime;
-                      n < o.timeStamp
-                        ? ((i.value = n), i.entries.push(t))
-                        : (i.isFinal = !0),
-                        e();
+                    i = a("CLS", 0),
+                    o = function(t) {
+                      t.hadRecentInput ||
+                        ((i.value += t.value), i.entries.push(t), e());
                     },
-                    s = a("largest-contentful-paint", u);
-                  if (s) {
-                    e = f(t, i, s, n);
-                    var c = function() {
-                      i.isFinal ||
-                        (s.takeRecords().map(u), (i.isFinal = !0), e());
-                    };
-                    d().then(c), p(c, !0);
-                  }
+                    u = r("layout-shift", o);
+                  u &&
+                    ((e = l(t, i, u, n)),
+                    p(function(t) {
+                      var n = t.isUnloading;
+                      u.takeRecords().map(o), n && (i.isFinal = !0), e();
+                    }));
                 }),
-                (t.getTTFB = function(t) {
-                  var e,
-                    n = r("TTFB");
-                  (e = function() {
-                    try {
-                      var e =
-                        performance.getEntriesByType("navigation")[0] ||
-                        (function() {
-                          var t = performance.timing,
-                            e = { entryType: "navigation", startTime: 0 };
-                          for (var n in t)
-                            "navigationStart" !== n &&
-                              "toJSON" !== n &&
-                              (e[n] = Math.max(t[n] - t.navigationStart, 0));
-                          return e;
-                        })();
-                      (n.value = n.delta = e.responseStart),
-                        (n.entries = [e]),
-                        (n.isFinal = !0),
-                        t(n);
-                    } catch (t) {}
+                  (t.getFCP = function(t) {
+                    var e,
+                      n = a("FCP"),
+                      i = f(),
+                      o = r("paint", function(t) {
+                        "first-contentful-paint" === t.name &&
+                          t.startTime < i.timeStamp &&
+                          ((n.value = t.startTime),
+                          (n.isFinal = !0),
+                          n.entries.push(t),
+                          e());
+                      });
+                    o && (e = l(t, n, o));
                   }),
-                    "complete" === document.readyState
-                      ? setTimeout(e, 0)
-                      : addEventListener("pageshow", e);
-                }),
-                Object.defineProperty(t, "__esModule", { value: !0 });
-            });
+                  (t.getFID = function(t) {
+                    var e = a("FID"),
+                      n = f(),
+                      i = function(t) {
+                        t.startTime < n.timeStamp &&
+                          ((e.value = t.processingStart - t.startTime),
+                          e.entries.push(t),
+                          (e.isFinal = !0),
+                          u());
+                      },
+                      o = r("first-input", i),
+                      u = l(t, e, o);
+                    o
+                      ? p(function() {
+                          o.takeRecords().map(i), o.disconnect();
+                        }, !0)
+                      : window.perfMetrics &&
+                        window.perfMetrics.onFirstInputDelay &&
+                        window.perfMetrics.onFirstInputDelay(function(t, i) {
+                          i.timeStamp < n.timeStamp &&
+                            ((e.value = t),
+                            (e.isFinal = !0),
+                            (e.entries = [
+                              {
+                                entryType: "first-input",
+                                name: i.type,
+                                target: i.target,
+                                cancelable: i.cancelable,
+                                startTime: i.timeStamp,
+                                processingStart: i.timeStamp + t
+                              }
+                            ]),
+                            u());
+                        });
+                  }),
+                  (t.getLCP = function(t) {
+                    var e,
+                      n =
+                        arguments.length > 1 &&
+                        void 0 !== arguments[1] &&
+                        arguments[1],
+                      i = a("LCP"),
+                      o = f(),
+                      u = function(t) {
+                        var n = t.startTime;
+                        n < o.timeStamp
+                          ? ((i.value = n), i.entries.push(t))
+                          : (i.isFinal = !0),
+                          e();
+                      },
+                      s = r("largest-contentful-paint", u);
+                    if (s) {
+                      e = l(t, i, s, n);
+                      var c = function() {
+                        i.isFinal ||
+                          (s.takeRecords().map(u), (i.isFinal = !0), e());
+                      };
+                      d().then(c), p(c, !0);
+                    }
+                  }),
+                  (t.getTTFB = function(t) {
+                    var e,
+                      n = a("TTFB");
+                    (e = function() {
+                      try {
+                        var e =
+                          performance.getEntriesByType("navigation")[0] ||
+                          (function() {
+                            var t = performance.timing,
+                              e = { entryType: "navigation", startTime: 0 };
+                            for (var n in t)
+                              "navigationStart" !== n &&
+                                "toJSON" !== n &&
+                                (e[n] = Math.max(t[n] - t.navigationStart, 0));
+                            return e;
+                          })();
+                        (n.value = n.delta = e.responseStart),
+                          (n.entries = [e]),
+                          (n.isFinal = !0),
+                          t(n);
+                      } catch (t) {}
+                    }),
+                      "complete" === document.readyState
+                        ? setTimeout(e, 0)
+                        : addEventListener("pageshow", e);
+                  }),
+                  Object.defineProperty(t, "__esModule", { value: !0 });
+              });
+            }
+          };
+          var e = {};
+          function __webpack_require__(n) {
+            if (e[n]) {
+              return e[n].exports;
+            }
+            var i = (e[n] = { exports: {} });
+            var a = true;
+            try {
+              t[n].call(i.exports, i, i.exports, __webpack_require__);
+              a = false;
+            } finally {
+              if (a) delete e[n];
+            }
+            return i.exports;
           }
-        });
+          __webpack_require__.ab = __dirname + "/";
+          return __webpack_require__(692);
+        })();
         /* WEBPACK VAR INJECTION */
       }.call(this, "/"));
Diff for index.html
@@ -6,7 +6,7 @@
     <noscript data-n-css="true"></noscript>
     <link
       rel="preload"
-      href="/_next/static/chunks/main-b3ad237f31305f9a81b3.module.js"
+      href="/_next/static/chunks/main-b03aabf1b0a2ce1f2b03.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -24,7 +24,7 @@
     />
     <link
       rel="preload"
-      href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.883dd050e11a66b09e26.module.js"
+      href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.6b4511cd17e1524c6341.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -85,13 +85,13 @@
       src="/_next/static/chunks/polyfills-f73ba3fc145972ef83e9.js"
     ></script>
     <script
-      src="/_next/static/chunks/main-895fe5a26f0416647d53.js"
+      src="/_next/static/chunks/main-6345d84867d8a2ffb125.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/main-b3ad237f31305f9a81b3.module.js"
+      src="/_next/static/chunks/main-b03aabf1b0a2ce1f2b03.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
@@ -121,19 +121,19 @@
       type="module"
     ></script>
     <script
-      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.5d4f3798f0f226dab197.js"
+      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.978ffbabf17b2be9a27e.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.883dd050e11a66b09e26.module.js"
+      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.6b4511cd17e1524c6341.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
     ></script>
     <script
-      src="/_next/static/chunks/pages/_app-7512045a5b3d9376e2ca.js"
+      src="/_next/static/chunks/pages/_app-265ddf2d03dbe48fa6cb.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
Diff for link.html
@@ -6,7 +6,7 @@
     <noscript data-n-css="true"></noscript>
     <link
       rel="preload"
-      href="/_next/static/chunks/main-b3ad237f31305f9a81b3.module.js"
+      href="/_next/static/chunks/main-b03aabf1b0a2ce1f2b03.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -24,7 +24,7 @@
     />
     <link
       rel="preload"
-      href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.883dd050e11a66b09e26.module.js"
+      href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.6b4511cd17e1524c6341.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -90,13 +90,13 @@
       src="/_next/static/chunks/polyfills-f73ba3fc145972ef83e9.js"
     ></script>
     <script
-      src="/_next/static/chunks/main-895fe5a26f0416647d53.js"
+      src="/_next/static/chunks/main-6345d84867d8a2ffb125.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/main-b3ad237f31305f9a81b3.module.js"
+      src="/_next/static/chunks/main-b03aabf1b0a2ce1f2b03.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
@@ -126,19 +126,19 @@
       type="module"
     ></script>
     <script
-      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.5d4f3798f0f226dab197.js"
+      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.978ffbabf17b2be9a27e.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.883dd050e11a66b09e26.module.js"
+      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.6b4511cd17e1524c6341.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
     ></script>
     <script
-      src="/_next/static/chunks/pages/_app-7512045a5b3d9376e2ca.js"
+      src="/_next/static/chunks/pages/_app-265ddf2d03dbe48fa6cb.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
Diff for withRouter.html
@@ -6,7 +6,7 @@
     <noscript data-n-css="true"></noscript>
     <link
       rel="preload"
-      href="/_next/static/chunks/main-b3ad237f31305f9a81b3.module.js"
+      href="/_next/static/chunks/main-b03aabf1b0a2ce1f2b03.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -24,7 +24,7 @@
     />
     <link
       rel="preload"
-      href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.883dd050e11a66b09e26.module.js"
+      href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.6b4511cd17e1524c6341.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -85,13 +85,13 @@
       src="/_next/static/chunks/polyfills-f73ba3fc145972ef83e9.js"
     ></script>
     <script
-      src="/_next/static/chunks/main-895fe5a26f0416647d53.js"
+      src="/_next/static/chunks/main-6345d84867d8a2ffb125.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/main-b3ad237f31305f9a81b3.module.js"
+      src="/_next/static/chunks/main-b03aabf1b0a2ce1f2b03.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
@@ -121,19 +121,19 @@
       type="module"
     ></script>
     <script
-      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.5d4f3798f0f226dab197.js"
+      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.978ffbabf17b2be9a27e.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.883dd050e11a66b09e26.module.js"
+      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.6b4511cd17e1524c6341.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
     ></script>
     <script
-      src="/_next/static/chunks/pages/_app-7512045a5b3d9376e2ca.js"
+      src="/_next/static/chunks/pages/_app-265ddf2d03dbe48fa6cb.js"
       async=""
       crossorigin="anonymous"
       nomodule=""

Serverless Mode (Increase detected ⚠️)
General Overall decrease ✓
vercel/next.js canary guybedford/next.js ncc-fixes Change
buildDuration 14.2s 14.4s ⚠️ +213ms
nodeModulesSize 90 MB 83.2 MB -6.75 MB
Client Bundles (main, webpack, commons) Overall increase ⚠️
vercel/next.js canary guybedford/next.js ncc-fixes Change
677f882d2ed8..02db.js gzip 11.3 kB N/A N/A
framework.HASH.js gzip 39 kB 39 kB
main-cea8d7e..ff01.js gzip 7.37 kB N/A N/A
webpack-e067..f178.js gzip 751 B 751 B
677f882d2ed8..7d3b.js gzip N/A 11.3 kB N/A
main-4066db0..605e.js gzip N/A 7.39 kB N/A
Overall change 58.4 kB 58.4 kB ⚠️ +14 B
Client Bundles (main, webpack, commons) Modern Overall increase ⚠️
vercel/next.js canary guybedford/next.js ncc-fixes Change
677f882d2ed8..dule.js gzip 7.04 kB N/A N/A
framework.HA..dule.js gzip 39 kB 39 kB
main-00e5ec9..dule.js gzip 6.37 kB N/A N/A
webpack-07c5..dule.js gzip 751 B 751 B
677f882d2ed8..dule.js gzip N/A 7.04 kB N/A
main-d0da7fd..dule.js gzip N/A 6.38 kB N/A
Overall change 53.1 kB 53.1 kB ⚠️ +7 B
Legacy Client Bundles (polyfills)
vercel/next.js canary guybedford/next.js ncc-fixes Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary guybedford/next.js ncc-fixes Change
_app-9a0b9e1..b37e.js gzip 1.28 kB N/A N/A
_error-ed1b0..8fbd.js gzip 3.44 kB N/A N/A
hooks-89731c..c609.js gzip 887 B N/A N/A
index-17468f..5d83.js gzip 227 B 227 B
link-a674d88..ccde.js gzip 1.35 kB 1.35 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
_app-7231d4b..5856.js gzip N/A 1.28 kB N/A
_error-fca3d..2eb1.js gzip N/A 3.44 kB N/A
hooks-d4591d..e7c2.js gzip N/A 887 B N/A
Overall change 7.75 kB 7.75 kB
Client Pages Modern
vercel/next.js canary guybedford/next.js ncc-fixes Change
_app-75d3a82..dule.js gzip 625 B 625 B
_error-4469a..dule.js gzip 2.29 kB 2.29 kB
hooks-cbf13f..dule.js gzip 387 B 387 B
index-b9a643..dule.js gzip 226 B 226 B
link-a4469f3..dule.js gzip 1.32 kB 1.32 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.41 kB 5.41 kB
Client Build Manifests Overall decrease ✓
vercel/next.js canary guybedford/next.js ncc-fixes Change
_buildManifest.js gzip 322 B 321 B -1 B
_buildManife..dule.js gzip 330 B 330 B
Overall change 652 B 651 B -1 B
Serverless bundles Overall decrease ✓
vercel/next.js canary guybedford/next.js ncc-fixes Change
_error.js 1.07 MB 914 kB -156 kB
404.html 4.73 kB 4.73 kB
hooks.html 3.92 kB 3.92 kB
index.js 1.07 MB 914 kB -156 kB
link.js 1.12 MB 962 kB -156 kB
routerDirect.js 1.11 MB 956 kB -156 kB
withRouter.js 1.11 MB 956 kB -156 kB
Overall change 5.49 MB 4.71 MB -780 kB
Commit: 803c42b

@ijjk
Copy link
Member

ijjk commented Nov 6, 2020

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall decrease ✓
vercel/next.js canary guybedford/next.js ncc-fixes Change
buildDuration 10.8s 10.9s ⚠️ +117ms
nodeModulesSize 90 MB 83.2 MB -6.75 MB
Page Load Tests Overall increase ✓
vercel/next.js canary guybedford/next.js ncc-fixes Change
/ failed reqs 0 0
/ total time (seconds) 2.095 1.994 -0.1
/ avg req/sec 1193.22 1253.94 +60.72
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.127 1.119 -0.01
/error-in-render avg req/sec 2217.96 2234.42 +16.46
Client Bundles (main, webpack, commons) Overall increase ⚠️
vercel/next.js canary guybedford/next.js ncc-fixes Change
677f882d2ed8..02db.js gzip 11.3 kB 11.3 kB
framework.HASH.js gzip 39 kB 39 kB
main-cea8d7e..ff01.js gzip 7.37 kB 7.39 kB ⚠️ +14 B
webpack-e067..f178.js gzip 751 B 751 B
Overall change 58.4 kB 58.4 kB ⚠️ +14 B
Client Bundles (main, webpack, commons) Modern Overall increase ⚠️
vercel/next.js canary guybedford/next.js ncc-fixes Change
677f882d2ed8..dule.js gzip 7.04 kB 7.04 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-00e5ec9..dule.js gzip 6.37 kB 6.38 kB ⚠️ +7 B
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 53.1 kB 53.1 kB ⚠️ +7 B
Legacy Client Bundles (polyfills)
vercel/next.js canary guybedford/next.js ncc-fixes Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary guybedford/next.js ncc-fixes Change
_app-9a0b9e1..b37e.js gzip 1.28 kB 1.28 kB
_error-ed1b0..8fbd.js gzip 3.44 kB 3.44 kB
hooks-89731c..c609.js gzip 887 B 887 B
index-17468f..5d83.js gzip 227 B 227 B
link-a674d88..ccde.js gzip 1.35 kB 1.35 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.75 kB 7.75 kB
Client Pages Modern
vercel/next.js canary guybedford/next.js ncc-fixes Change
_app-75d3a82..dule.js gzip 625 B 625 B
_error-4469a..dule.js gzip 2.29 kB 2.29 kB
hooks-cbf13f..dule.js gzip 387 B 387 B
index-b9a643..dule.js gzip 226 B 226 B
link-a4469f3..dule.js gzip 1.32 kB 1.32 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.41 kB 5.41 kB
Client Build Manifests Overall decrease ✓
vercel/next.js canary guybedford/next.js ncc-fixes Change
_buildManifest.js gzip 322 B 321 B -1 B
_buildManife..dule.js gzip 330 B 330 B
Overall change 652 B 651 B -1 B
Rendered Page Sizes Overall increase ⚠️
vercel/next.js canary guybedford/next.js ncc-fixes Change
index.html gzip 1 kB 1 kB ⚠️ +2 B
link.html gzip 1.01 kB 1.01 kB ⚠️ +3 B
withRouter.html gzip 994 B 996 B ⚠️ +2 B
Overall change 3 kB 3.01 kB ⚠️ +7 B

Diffs

Diff for _buildManifest.js
@@ -2,10 +2,10 @@ self.__BUILD_MANIFEST = {
   __rewrites: [],
   "/": ["static\u002Fchunks\u002Fpages\u002Findex-283eed3c1520dcc26e8d.js"],
   "/_error": [
-    "static\u002Fchunks\u002Fpages\u002F_error-a0c4519f5ca8e97fa7be.js"
+    "static\u002Fchunks\u002Fpages\u002F_error-9b57cae5694a39479222.js"
   ],
   "/hooks": [
-    "static\u002Fchunks\u002Fpages\u002Fhooks-8001dc76075832ee8949.js"
+    "static\u002Fchunks\u002Fpages\u002Fhooks-bdd2cad07648acf22380.js"
   ],
   "/link": ["static\u002Fchunks\u002Fpages\u002Flink-46fe29f40f6309aec7d7.js"],
   "/routerDirect": [
Diff for main-895fe5a..416647d53.js
@@ -1314,253 +1314,256 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
 
     /***/ p0hA: /***/ function(module, exports, __webpack_require__) {
       /* WEBPACK VAR INJECTION */ (function(__dirname) {
-        module.exports = (function(t, e) {
-          "use strict";
-          var n = {};
-          function __webpack_require__(e) {
-            if (n[e]) {
-              return n[e].exports;
-            }
-            var i = (n[e] = { i: e, l: false, exports: {} });
-            t[e].call(i.exports, i, i.exports, __webpack_require__);
-            i.l = true;
-            return i.exports;
-          }
-          __webpack_require__.ab = __dirname + "/";
-          function startup() {
-            return __webpack_require__(766);
-          }
-          return startup();
-        })({
-          766: function(t, e) {
-            !(function(t, n) {
-              true ? n(e) : undefined;
-            })(this, function(t) {
-              "use strict";
-              var e,
-                n,
-                i = function() {
-                  return ""
-                    .concat(Date.now(), "-")
-                    .concat(Math.floor(8999999999999 * Math.random()) + 1e12);
-                },
-                r = function(t) {
-                  var e =
-                    arguments.length > 1 && void 0 !== arguments[1]
-                      ? arguments[1]
-                      : -1;
-                  return {
-                    name: t,
-                    value: e,
-                    delta: 0,
-                    entries: [],
-                    id: i(),
-                    isFinal: !1
-                  };
-                },
-                a = function(t, e) {
-                  try {
-                    if (PerformanceObserver.supportedEntryTypes.includes(t)) {
-                      var n = new PerformanceObserver(function(t) {
-                        return t.getEntries().map(e);
-                      });
-                      return n.observe({ type: t, buffered: !0 }), n;
-                    }
-                  } catch (t) {}
-                },
-                o = !1,
-                u = !1,
-                s = function(t) {
-                  o = !t.persisted;
-                },
-                c = function() {
-                  addEventListener("pagehide", s),
-                    addEventListener("beforeunload", function() {});
-                },
-                p = function(t) {
-                  var e =
-                    arguments.length > 1 &&
-                    void 0 !== arguments[1] &&
-                    arguments[1];
-                  u || (c(), (u = !0)),
-                    addEventListener(
-                      "visibilitychange",
-                      function(e) {
-                        var n = e.timeStamp;
-                        "hidden" === document.visibilityState &&
-                          t({ timeStamp: n, isUnloading: o });
-                      },
-                      { capture: !0, once: e }
-                    );
-                },
-                f = function(t, e, n, i) {
-                  var r;
-                  return function() {
-                    n && e.isFinal && n.disconnect(),
-                      e.value >= 0 &&
-                        (i ||
-                          e.isFinal ||
-                          "hidden" === document.visibilityState) &&
-                        ((e.delta = e.value - (r || 0)),
-                        (e.delta || e.isFinal || void 0 === r) &&
-                          (t(e), (r = e.value)));
-                  };
-                },
-                l = function() {
-                  return (
-                    void 0 === e &&
-                      ((e = "hidden" === document.visibilityState ? 0 : 1 / 0),
-                      p(function(t) {
-                        var n = t.timeStamp;
-                        return (e = n);
-                      }, !0)),
-                    {
-                      get timeStamp() {
-                        return e;
-                      }
-                    }
-                  );
-                },
-                d = function() {
-                  return (
-                    n ||
-                      (n = new Promise(function(t) {
-                        return ["scroll", "keydown", "pointerdown"].map(
-                          function(e) {
-                            addEventListener(e, t, {
-                              once: !0,
-                              passive: !0,
-                              capture: !0
-                            });
-                          }
-                        );
-                      })),
-                    n
-                  );
-                };
-              (t.getCLS = function(t) {
+        module.exports = (() => {
+          var t = {
+            692: function(t, e) {
+              !(function(t, n) {
+                true ? n(e) : undefined;
+              })(this, function(t) {
+                "use strict";
                 var e,
-                  n =
-                    arguments.length > 1 &&
-                    void 0 !== arguments[1] &&
-                    arguments[1],
-                  i = r("CLS", 0),
-                  o = function(t) {
-                    t.hadRecentInput ||
-                      ((i.value += t.value), i.entries.push(t), e());
+                  n,
+                  i = function() {
+                    return ""
+                      .concat(Date.now(), "-")
+                      .concat(Math.floor(8999999999999 * Math.random()) + 1e12);
                   },
-                  u = a("layout-shift", o);
-                u &&
-                  ((e = f(t, i, u, n)),
-                  p(function(t) {
-                    var n = t.isUnloading;
-                    u.takeRecords().map(o), n && (i.isFinal = !0), e();
-                  }));
-              }),
-                (t.getFCP = function(t) {
-                  var e,
-                    n = r("FCP"),
-                    i = l(),
-                    o = a("paint", function(t) {
-                      "first-contentful-paint" === t.name &&
-                        t.startTime < i.timeStamp &&
-                        ((n.value = t.startTime),
-                        (n.isFinal = !0),
-                        n.entries.push(t),
-                        e());
-                    });
-                  o && (e = f(t, n, o));
-                }),
-                (t.getFID = function(t) {
-                  var e = r("FID"),
-                    n = l(),
-                    i = function(t) {
-                      t.startTime < n.timeStamp &&
-                        ((e.value = t.processingStart - t.startTime),
-                        e.entries.push(t),
-                        (e.isFinal = !0),
-                        u());
-                    },
-                    o = a("first-input", i),
-                    u = f(t, e, o);
-                  o
-                    ? p(function() {
-                        o.takeRecords().map(i), o.disconnect();
-                      }, !0)
-                    : window.perfMetrics &&
-                      window.perfMetrics.onFirstInputDelay &&
-                      window.perfMetrics.onFirstInputDelay(function(t, i) {
-                        i.timeStamp < n.timeStamp &&
-                          ((e.value = t),
-                          (e.isFinal = !0),
-                          (e.entries = [
-                            {
-                              entryType: "first-input",
-                              name: i.type,
-                              target: i.target,
-                              cancelable: i.cancelable,
-                              startTime: i.timeStamp,
-                              processingStart: i.timeStamp + t
+                  a = function(t) {
+                    var e =
+                      arguments.length > 1 && void 0 !== arguments[1]
+                        ? arguments[1]
+                        : -1;
+                    return {
+                      name: t,
+                      value: e,
+                      delta: 0,
+                      entries: [],
+                      id: i(),
+                      isFinal: !1
+                    };
+                  },
+                  r = function(t, e) {
+                    try {
+                      if (PerformanceObserver.supportedEntryTypes.includes(t)) {
+                        var n = new PerformanceObserver(function(t) {
+                          return t.getEntries().map(e);
+                        });
+                        return n.observe({ type: t, buffered: !0 }), n;
+                      }
+                    } catch (t) {}
+                  },
+                  o = !1,
+                  u = !1,
+                  s = function(t) {
+                    o = !t.persisted;
+                  },
+                  c = function() {
+                    addEventListener("pagehide", s),
+                      addEventListener("beforeunload", function() {});
+                  },
+                  p = function(t) {
+                    var e =
+                      arguments.length > 1 &&
+                      void 0 !== arguments[1] &&
+                      arguments[1];
+                    u || (c(), (u = !0)),
+                      addEventListener(
+                        "visibilitychange",
+                        function(e) {
+                          var n = e.timeStamp;
+                          "hidden" === document.visibilityState &&
+                            t({ timeStamp: n, isUnloading: o });
+                        },
+                        { capture: !0, once: e }
+                      );
+                  },
+                  l = function(t, e, n, i) {
+                    var a;
+                    return function() {
+                      n && e.isFinal && n.disconnect(),
+                        e.value >= 0 &&
+                          (i ||
+                            e.isFinal ||
+                            "hidden" === document.visibilityState) &&
+                          ((e.delta = e.value - (a || 0)),
+                          (e.delta || e.isFinal || void 0 === a) &&
+                            (t(e), (a = e.value)));
+                    };
+                  },
+                  f = function() {
+                    return (
+                      void 0 === e &&
+                        ((e =
+                          "hidden" === document.visibilityState ? 0 : 1 / 0),
+                        p(function(t) {
+                          var n = t.timeStamp;
+                          return (e = n);
+                        }, !0)),
+                      {
+                        get timeStamp() {
+                          return e;
+                        }
+                      }
+                    );
+                  },
+                  d = function() {
+                    return (
+                      n ||
+                        (n = new Promise(function(t) {
+                          return ["scroll", "keydown", "pointerdown"].map(
+                            function(e) {
+                              addEventListener(e, t, {
+                                once: !0,
+                                passive: !0,
+                                capture: !0
+                              });
                             }
-                          ]),
-                          u());
-                      });
-                }),
-                (t.getLCP = function(t) {
+                          );
+                        })),
+                      n
+                    );
+                  };
+                (t.getCLS = function(t) {
                   var e,
                     n =
                       arguments.length > 1 &&
                       void 0 !== arguments[1] &&
                       arguments[1],
-                    i = r("LCP"),
-                    o = l(),
-                    u = function(t) {
-                      var n = t.startTime;
-                      n < o.timeStamp
-                        ? ((i.value = n), i.entries.push(t))
-                        : (i.isFinal = !0),
-                        e();
+                    i = a("CLS", 0),
+                    o = function(t) {
+                      t.hadRecentInput ||
+                        ((i.value += t.value), i.entries.push(t), e());
                     },
-                    s = a("largest-contentful-paint", u);
-                  if (s) {
-                    e = f(t, i, s, n);
-                    var c = function() {
-                      i.isFinal ||
-                        (s.takeRecords().map(u), (i.isFinal = !0), e());
-                    };
-                    d().then(c), p(c, !0);
-                  }
+                    u = r("layout-shift", o);
+                  u &&
+                    ((e = l(t, i, u, n)),
+                    p(function(t) {
+                      var n = t.isUnloading;
+                      u.takeRecords().map(o), n && (i.isFinal = !0), e();
+                    }));
                 }),
-                (t.getTTFB = function(t) {
-                  var e,
-                    n = r("TTFB");
-                  (e = function() {
-                    try {
-                      var e =
-                        performance.getEntriesByType("navigation")[0] ||
-                        (function() {
-                          var t = performance.timing,
-                            e = { entryType: "navigation", startTime: 0 };
-                          for (var n in t)
-                            "navigationStart" !== n &&
-                              "toJSON" !== n &&
-                              (e[n] = Math.max(t[n] - t.navigationStart, 0));
-                          return e;
-                        })();
-                      (n.value = n.delta = e.responseStart),
-                        (n.entries = [e]),
-                        (n.isFinal = !0),
-                        t(n);
-                    } catch (t) {}
+                  (t.getFCP = function(t) {
+                    var e,
+                      n = a("FCP"),
+                      i = f(),
+                      o = r("paint", function(t) {
+                        "first-contentful-paint" === t.name &&
+                          t.startTime < i.timeStamp &&
+                          ((n.value = t.startTime),
+                          (n.isFinal = !0),
+                          n.entries.push(t),
+                          e());
+                      });
+                    o && (e = l(t, n, o));
                   }),
-                    "complete" === document.readyState
-                      ? setTimeout(e, 0)
-                      : addEventListener("pageshow", e);
-                }),
-                Object.defineProperty(t, "__esModule", { value: !0 });
-            });
+                  (t.getFID = function(t) {
+                    var e = a("FID"),
+                      n = f(),
+                      i = function(t) {
+                        t.startTime < n.timeStamp &&
+                          ((e.value = t.processingStart - t.startTime),
+                          e.entries.push(t),
+                          (e.isFinal = !0),
+                          u());
+                      },
+                      o = r("first-input", i),
+                      u = l(t, e, o);
+                    o
+                      ? p(function() {
+                          o.takeRecords().map(i), o.disconnect();
+                        }, !0)
+                      : window.perfMetrics &&
+                        window.perfMetrics.onFirstInputDelay &&
+                        window.perfMetrics.onFirstInputDelay(function(t, i) {
+                          i.timeStamp < n.timeStamp &&
+                            ((e.value = t),
+                            (e.isFinal = !0),
+                            (e.entries = [
+                              {
+                                entryType: "first-input",
+                                name: i.type,
+                                target: i.target,
+                                cancelable: i.cancelable,
+                                startTime: i.timeStamp,
+                                processingStart: i.timeStamp + t
+                              }
+                            ]),
+                            u());
+                        });
+                  }),
+                  (t.getLCP = function(t) {
+                    var e,
+                      n =
+                        arguments.length > 1 &&
+                        void 0 !== arguments[1] &&
+                        arguments[1],
+                      i = a("LCP"),
+                      o = f(),
+                      u = function(t) {
+                        var n = t.startTime;
+                        n < o.timeStamp
+                          ? ((i.value = n), i.entries.push(t))
+                          : (i.isFinal = !0),
+                          e();
+                      },
+                      s = r("largest-contentful-paint", u);
+                    if (s) {
+                      e = l(t, i, s, n);
+                      var c = function() {
+                        i.isFinal ||
+                          (s.takeRecords().map(u), (i.isFinal = !0), e());
+                      };
+                      d().then(c), p(c, !0);
+                    }
+                  }),
+                  (t.getTTFB = function(t) {
+                    var e,
+                      n = a("TTFB");
+                    (e = function() {
+                      try {
+                        var e =
+                          performance.getEntriesByType("navigation")[0] ||
+                          (function() {
+                            var t = performance.timing,
+                              e = { entryType: "navigation", startTime: 0 };
+                            for (var n in t)
+                              "navigationStart" !== n &&
+                                "toJSON" !== n &&
+                                (e[n] = Math.max(t[n] - t.navigationStart, 0));
+                            return e;
+                          })();
+                        (n.value = n.delta = e.responseStart),
+                          (n.entries = [e]),
+                          (n.isFinal = !0),
+                          t(n);
+                      } catch (t) {}
+                    }),
+                      "complete" === document.readyState
+                        ? setTimeout(e, 0)
+                        : addEventListener("pageshow", e);
+                  }),
+                  Object.defineProperty(t, "__esModule", { value: !0 });
+              });
+            }
+          };
+          var e = {};
+          function __webpack_require__(n) {
+            if (e[n]) {
+              return e[n].exports;
+            }
+            var i = (e[n] = { exports: {} });
+            var a = true;
+            try {
+              t[n].call(i.exports, i, i.exports, __webpack_require__);
+              a = false;
+            } finally {
+              if (a) delete e[n];
+            }
+            return i.exports;
           }
-        });
+          __webpack_require__.ab = __dirname + "/";
+          return __webpack_require__(692);
+        })();
         /* WEBPACK VAR INJECTION */
       }.call(this, "/"));
Diff for main-b3ad237..b3.module.js
@@ -972,253 +972,256 @@
 
     /***/ p0hA: /***/ function(module, exports, __webpack_require__) {
       /* WEBPACK VAR INJECTION */ (function(__dirname) {
-        module.exports = (function(t, e) {
-          "use strict";
-          var n = {};
-          function __webpack_require__(e) {
-            if (n[e]) {
-              return n[e].exports;
-            }
-            var i = (n[e] = { i: e, l: false, exports: {} });
-            t[e].call(i.exports, i, i.exports, __webpack_require__);
-            i.l = true;
-            return i.exports;
-          }
-          __webpack_require__.ab = __dirname + "/";
-          function startup() {
-            return __webpack_require__(766);
-          }
-          return startup();
-        })({
-          766: function(t, e) {
-            !(function(t, n) {
-              true ? n(e) : undefined;
-            })(this, function(t) {
-              "use strict";
-              var e,
-                n,
-                i = function() {
-                  return ""
-                    .concat(Date.now(), "-")
-                    .concat(Math.floor(8999999999999 * Math.random()) + 1e12);
-                },
-                r = function(t) {
-                  var e =
-                    arguments.length > 1 && void 0 !== arguments[1]
-                      ? arguments[1]
-                      : -1;
-                  return {
-                    name: t,
-                    value: e,
-                    delta: 0,
-                    entries: [],
-                    id: i(),
-                    isFinal: !1
-                  };
-                },
-                a = function(t, e) {
-                  try {
-                    if (PerformanceObserver.supportedEntryTypes.includes(t)) {
-                      var n = new PerformanceObserver(function(t) {
-                        return t.getEntries().map(e);
-                      });
-                      return n.observe({ type: t, buffered: !0 }), n;
-                    }
-                  } catch (t) {}
-                },
-                o = !1,
-                u = !1,
-                s = function(t) {
-                  o = !t.persisted;
-                },
-                c = function() {
-                  addEventListener("pagehide", s),
-                    addEventListener("beforeunload", function() {});
-                },
-                p = function(t) {
-                  var e =
-                    arguments.length > 1 &&
-                    void 0 !== arguments[1] &&
-                    arguments[1];
-                  u || (c(), (u = !0)),
-                    addEventListener(
-                      "visibilitychange",
-                      function(e) {
-                        var n = e.timeStamp;
-                        "hidden" === document.visibilityState &&
-                          t({ timeStamp: n, isUnloading: o });
-                      },
-                      { capture: !0, once: e }
-                    );
-                },
-                f = function(t, e, n, i) {
-                  var r;
-                  return function() {
-                    n && e.isFinal && n.disconnect(),
-                      e.value >= 0 &&
-                        (i ||
-                          e.isFinal ||
-                          "hidden" === document.visibilityState) &&
-                        ((e.delta = e.value - (r || 0)),
-                        (e.delta || e.isFinal || void 0 === r) &&
-                          (t(e), (r = e.value)));
-                  };
-                },
-                l = function() {
-                  return (
-                    void 0 === e &&
-                      ((e = "hidden" === document.visibilityState ? 0 : 1 / 0),
-                      p(function(t) {
-                        var n = t.timeStamp;
-                        return (e = n);
-                      }, !0)),
-                    {
-                      get timeStamp() {
-                        return e;
-                      }
-                    }
-                  );
-                },
-                d = function() {
-                  return (
-                    n ||
-                      (n = new Promise(function(t) {
-                        return ["scroll", "keydown", "pointerdown"].map(
-                          function(e) {
-                            addEventListener(e, t, {
-                              once: !0,
-                              passive: !0,
-                              capture: !0
-                            });
-                          }
-                        );
-                      })),
-                    n
-                  );
-                };
-              (t.getCLS = function(t) {
+        module.exports = (() => {
+          var t = {
+            692: function(t, e) {
+              !(function(t, n) {
+                true ? n(e) : undefined;
+              })(this, function(t) {
+                "use strict";
                 var e,
-                  n =
-                    arguments.length > 1 &&
-                    void 0 !== arguments[1] &&
-                    arguments[1],
-                  i = r("CLS", 0),
-                  o = function(t) {
-                    t.hadRecentInput ||
-                      ((i.value += t.value), i.entries.push(t), e());
+                  n,
+                  i = function() {
+                    return ""
+                      .concat(Date.now(), "-")
+                      .concat(Math.floor(8999999999999 * Math.random()) + 1e12);
                   },
-                  u = a("layout-shift", o);
-                u &&
-                  ((e = f(t, i, u, n)),
-                  p(function(t) {
-                    var n = t.isUnloading;
-                    u.takeRecords().map(o), n && (i.isFinal = !0), e();
-                  }));
-              }),
-                (t.getFCP = function(t) {
-                  var e,
-                    n = r("FCP"),
-                    i = l(),
-                    o = a("paint", function(t) {
-                      "first-contentful-paint" === t.name &&
-                        t.startTime < i.timeStamp &&
-                        ((n.value = t.startTime),
-                        (n.isFinal = !0),
-                        n.entries.push(t),
-                        e());
-                    });
-                  o && (e = f(t, n, o));
-                }),
-                (t.getFID = function(t) {
-                  var e = r("FID"),
-                    n = l(),
-                    i = function(t) {
-                      t.startTime < n.timeStamp &&
-                        ((e.value = t.processingStart - t.startTime),
-                        e.entries.push(t),
-                        (e.isFinal = !0),
-                        u());
-                    },
-                    o = a("first-input", i),
-                    u = f(t, e, o);
-                  o
-                    ? p(function() {
-                        o.takeRecords().map(i), o.disconnect();
-                      }, !0)
-                    : window.perfMetrics &&
-                      window.perfMetrics.onFirstInputDelay &&
-                      window.perfMetrics.onFirstInputDelay(function(t, i) {
-                        i.timeStamp < n.timeStamp &&
-                          ((e.value = t),
-                          (e.isFinal = !0),
-                          (e.entries = [
-                            {
-                              entryType: "first-input",
-                              name: i.type,
-                              target: i.target,
-                              cancelable: i.cancelable,
-                              startTime: i.timeStamp,
-                              processingStart: i.timeStamp + t
+                  a = function(t) {
+                    var e =
+                      arguments.length > 1 && void 0 !== arguments[1]
+                        ? arguments[1]
+                        : -1;
+                    return {
+                      name: t,
+                      value: e,
+                      delta: 0,
+                      entries: [],
+                      id: i(),
+                      isFinal: !1
+                    };
+                  },
+                  r = function(t, e) {
+                    try {
+                      if (PerformanceObserver.supportedEntryTypes.includes(t)) {
+                        var n = new PerformanceObserver(function(t) {
+                          return t.getEntries().map(e);
+                        });
+                        return n.observe({ type: t, buffered: !0 }), n;
+                      }
+                    } catch (t) {}
+                  },
+                  o = !1,
+                  u = !1,
+                  s = function(t) {
+                    o = !t.persisted;
+                  },
+                  c = function() {
+                    addEventListener("pagehide", s),
+                      addEventListener("beforeunload", function() {});
+                  },
+                  p = function(t) {
+                    var e =
+                      arguments.length > 1 &&
+                      void 0 !== arguments[1] &&
+                      arguments[1];
+                    u || (c(), (u = !0)),
+                      addEventListener(
+                        "visibilitychange",
+                        function(e) {
+                          var n = e.timeStamp;
+                          "hidden" === document.visibilityState &&
+                            t({ timeStamp: n, isUnloading: o });
+                        },
+                        { capture: !0, once: e }
+                      );
+                  },
+                  l = function(t, e, n, i) {
+                    var a;
+                    return function() {
+                      n && e.isFinal && n.disconnect(),
+                        e.value >= 0 &&
+                          (i ||
+                            e.isFinal ||
+                            "hidden" === document.visibilityState) &&
+                          ((e.delta = e.value - (a || 0)),
+                          (e.delta || e.isFinal || void 0 === a) &&
+                            (t(e), (a = e.value)));
+                    };
+                  },
+                  f = function() {
+                    return (
+                      void 0 === e &&
+                        ((e =
+                          "hidden" === document.visibilityState ? 0 : 1 / 0),
+                        p(function(t) {
+                          var n = t.timeStamp;
+                          return (e = n);
+                        }, !0)),
+                      {
+                        get timeStamp() {
+                          return e;
+                        }
+                      }
+                    );
+                  },
+                  d = function() {
+                    return (
+                      n ||
+                        (n = new Promise(function(t) {
+                          return ["scroll", "keydown", "pointerdown"].map(
+                            function(e) {
+                              addEventListener(e, t, {
+                                once: !0,
+                                passive: !0,
+                                capture: !0
+                              });
                             }
-                          ]),
-                          u());
-                      });
-                }),
-                (t.getLCP = function(t) {
+                          );
+                        })),
+                      n
+                    );
+                  };
+                (t.getCLS = function(t) {
                   var e,
                     n =
                       arguments.length > 1 &&
                       void 0 !== arguments[1] &&
                       arguments[1],
-                    i = r("LCP"),
-                    o = l(),
-                    u = function(t) {
-                      var n = t.startTime;
-                      n < o.timeStamp
-                        ? ((i.value = n), i.entries.push(t))
-                        : (i.isFinal = !0),
-                        e();
+                    i = a("CLS", 0),
+                    o = function(t) {
+                      t.hadRecentInput ||
+                        ((i.value += t.value), i.entries.push(t), e());
                     },
-                    s = a("largest-contentful-paint", u);
-                  if (s) {
-                    e = f(t, i, s, n);
-                    var c = function() {
-                      i.isFinal ||
-                        (s.takeRecords().map(u), (i.isFinal = !0), e());
-                    };
-                    d().then(c), p(c, !0);
-                  }
+                    u = r("layout-shift", o);
+                  u &&
+                    ((e = l(t, i, u, n)),
+                    p(function(t) {
+                      var n = t.isUnloading;
+                      u.takeRecords().map(o), n && (i.isFinal = !0), e();
+                    }));
                 }),
-                (t.getTTFB = function(t) {
-                  var e,
-                    n = r("TTFB");
-                  (e = function() {
-                    try {
-                      var e =
-                        performance.getEntriesByType("navigation")[0] ||
-                        (function() {
-                          var t = performance.timing,
-                            e = { entryType: "navigation", startTime: 0 };
-                          for (var n in t)
-                            "navigationStart" !== n &&
-                              "toJSON" !== n &&
-                              (e[n] = Math.max(t[n] - t.navigationStart, 0));
-                          return e;
-                        })();
-                      (n.value = n.delta = e.responseStart),
-                        (n.entries = [e]),
-                        (n.isFinal = !0),
-                        t(n);
-                    } catch (t) {}
+                  (t.getFCP = function(t) {
+                    var e,
+                      n = a("FCP"),
+                      i = f(),
+                      o = r("paint", function(t) {
+                        "first-contentful-paint" === t.name &&
+                          t.startTime < i.timeStamp &&
+                          ((n.value = t.startTime),
+                          (n.isFinal = !0),
+                          n.entries.push(t),
+                          e());
+                      });
+                    o && (e = l(t, n, o));
                   }),
-                    "complete" === document.readyState
-                      ? setTimeout(e, 0)
-                      : addEventListener("pageshow", e);
-                }),
-                Object.defineProperty(t, "__esModule", { value: !0 });
-            });
+                  (t.getFID = function(t) {
+                    var e = a("FID"),
+                      n = f(),
+                      i = function(t) {
+                        t.startTime < n.timeStamp &&
+                          ((e.value = t.processingStart - t.startTime),
+                          e.entries.push(t),
+                          (e.isFinal = !0),
+                          u());
+                      },
+                      o = r("first-input", i),
+                      u = l(t, e, o);
+                    o
+                      ? p(function() {
+                          o.takeRecords().map(i), o.disconnect();
+                        }, !0)
+                      : window.perfMetrics &&
+                        window.perfMetrics.onFirstInputDelay &&
+                        window.perfMetrics.onFirstInputDelay(function(t, i) {
+                          i.timeStamp < n.timeStamp &&
+                            ((e.value = t),
+                            (e.isFinal = !0),
+                            (e.entries = [
+                              {
+                                entryType: "first-input",
+                                name: i.type,
+                                target: i.target,
+                                cancelable: i.cancelable,
+                                startTime: i.timeStamp,
+                                processingStart: i.timeStamp + t
+                              }
+                            ]),
+                            u());
+                        });
+                  }),
+                  (t.getLCP = function(t) {
+                    var e,
+                      n =
+                        arguments.length > 1 &&
+                        void 0 !== arguments[1] &&
+                        arguments[1],
+                      i = a("LCP"),
+                      o = f(),
+                      u = function(t) {
+                        var n = t.startTime;
+                        n < o.timeStamp
+                          ? ((i.value = n), i.entries.push(t))
+                          : (i.isFinal = !0),
+                          e();
+                      },
+                      s = r("largest-contentful-paint", u);
+                    if (s) {
+                      e = l(t, i, s, n);
+                      var c = function() {
+                        i.isFinal ||
+                          (s.takeRecords().map(u), (i.isFinal = !0), e());
+                      };
+                      d().then(c), p(c, !0);
+                    }
+                  }),
+                  (t.getTTFB = function(t) {
+                    var e,
+                      n = a("TTFB");
+                    (e = function() {
+                      try {
+                        var e =
+                          performance.getEntriesByType("navigation")[0] ||
+                          (function() {
+                            var t = performance.timing,
+                              e = { entryType: "navigation", startTime: 0 };
+                            for (var n in t)
+                              "navigationStart" !== n &&
+                                "toJSON" !== n &&
+                                (e[n] = Math.max(t[n] - t.navigationStart, 0));
+                            return e;
+                          })();
+                        (n.value = n.delta = e.responseStart),
+                          (n.entries = [e]),
+                          (n.isFinal = !0),
+                          t(n);
+                      } catch (t) {}
+                    }),
+                      "complete" === document.readyState
+                        ? setTimeout(e, 0)
+                        : addEventListener("pageshow", e);
+                  }),
+                  Object.defineProperty(t, "__esModule", { value: !0 });
+              });
+            }
+          };
+          var e = {};
+          function __webpack_require__(n) {
+            if (e[n]) {
+              return e[n].exports;
+            }
+            var i = (e[n] = { exports: {} });
+            var a = true;
+            try {
+              t[n].call(i.exports, i, i.exports, __webpack_require__);
+              a = false;
+            } finally {
+              if (a) delete e[n];
+            }
+            return i.exports;
           }
-        });
+          __webpack_require__.ab = __dirname + "/";
+          return __webpack_require__(692);
+        })();
         /* WEBPACK VAR INJECTION */
       }.call(this, "/"));
Diff for index.html
@@ -6,7 +6,7 @@
     <noscript data-n-css="true"></noscript>
     <link
       rel="preload"
-      href="/_next/static/chunks/main-b3ad237f31305f9a81b3.module.js"
+      href="/_next/static/chunks/main-b03aabf1b0a2ce1f2b03.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -24,7 +24,7 @@
     />
     <link
       rel="preload"
-      href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.883dd050e11a66b09e26.module.js"
+      href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.6b4511cd17e1524c6341.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -85,13 +85,13 @@
       src="/_next/static/chunks/polyfills-f73ba3fc145972ef83e9.js"
     ></script>
     <script
-      src="/_next/static/chunks/main-895fe5a26f0416647d53.js"
+      src="/_next/static/chunks/main-6345d84867d8a2ffb125.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/main-b3ad237f31305f9a81b3.module.js"
+      src="/_next/static/chunks/main-b03aabf1b0a2ce1f2b03.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
@@ -121,19 +121,19 @@
       type="module"
     ></script>
     <script
-      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.5d4f3798f0f226dab197.js"
+      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.978ffbabf17b2be9a27e.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.883dd050e11a66b09e26.module.js"
+      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.6b4511cd17e1524c6341.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
     ></script>
     <script
-      src="/_next/static/chunks/pages/_app-7512045a5b3d9376e2ca.js"
+      src="/_next/static/chunks/pages/_app-265ddf2d03dbe48fa6cb.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
Diff for link.html
@@ -6,7 +6,7 @@
     <noscript data-n-css="true"></noscript>
     <link
       rel="preload"
-      href="/_next/static/chunks/main-b3ad237f31305f9a81b3.module.js"
+      href="/_next/static/chunks/main-b03aabf1b0a2ce1f2b03.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -24,7 +24,7 @@
     />
     <link
       rel="preload"
-      href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.883dd050e11a66b09e26.module.js"
+      href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.6b4511cd17e1524c6341.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -90,13 +90,13 @@
       src="/_next/static/chunks/polyfills-f73ba3fc145972ef83e9.js"
     ></script>
     <script
-      src="/_next/static/chunks/main-895fe5a26f0416647d53.js"
+      src="/_next/static/chunks/main-6345d84867d8a2ffb125.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/main-b3ad237f31305f9a81b3.module.js"
+      src="/_next/static/chunks/main-b03aabf1b0a2ce1f2b03.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
@@ -126,19 +126,19 @@
       type="module"
     ></script>
     <script
-      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.5d4f3798f0f226dab197.js"
+      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.978ffbabf17b2be9a27e.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.883dd050e11a66b09e26.module.js"
+      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.6b4511cd17e1524c6341.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
     ></script>
     <script
-      src="/_next/static/chunks/pages/_app-7512045a5b3d9376e2ca.js"
+      src="/_next/static/chunks/pages/_app-265ddf2d03dbe48fa6cb.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
Diff for withRouter.html
@@ -6,7 +6,7 @@
     <noscript data-n-css="true"></noscript>
     <link
       rel="preload"
-      href="/_next/static/chunks/main-b3ad237f31305f9a81b3.module.js"
+      href="/_next/static/chunks/main-b03aabf1b0a2ce1f2b03.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -24,7 +24,7 @@
     />
     <link
       rel="preload"
-      href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.883dd050e11a66b09e26.module.js"
+      href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.6b4511cd17e1524c6341.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -85,13 +85,13 @@
       src="/_next/static/chunks/polyfills-f73ba3fc145972ef83e9.js"
     ></script>
     <script
-      src="/_next/static/chunks/main-895fe5a26f0416647d53.js"
+      src="/_next/static/chunks/main-6345d84867d8a2ffb125.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/main-b3ad237f31305f9a81b3.module.js"
+      src="/_next/static/chunks/main-b03aabf1b0a2ce1f2b03.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
@@ -121,19 +121,19 @@
       type="module"
     ></script>
     <script
-      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.5d4f3798f0f226dab197.js"
+      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.978ffbabf17b2be9a27e.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.883dd050e11a66b09e26.module.js"
+      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.6b4511cd17e1524c6341.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
     ></script>
     <script
-      src="/_next/static/chunks/pages/_app-7512045a5b3d9376e2ca.js"
+      src="/_next/static/chunks/pages/_app-265ddf2d03dbe48fa6cb.js"
       async=""
       crossorigin="anonymous"
       nomodule=""

Serverless Mode (Increase detected ⚠️)
General Overall decrease ✓
vercel/next.js canary guybedford/next.js ncc-fixes Change
buildDuration 12.6s 12.4s -259ms
nodeModulesSize 90 MB 83.2 MB -6.75 MB
Client Bundles (main, webpack, commons) Overall increase ⚠️
vercel/next.js canary guybedford/next.js ncc-fixes Change
677f882d2ed8..02db.js gzip 11.3 kB N/A N/A
framework.HASH.js gzip 39 kB 39 kB
main-cea8d7e..ff01.js gzip 7.37 kB N/A N/A
webpack-e067..f178.js gzip 751 B 751 B
677f882d2ed8..7d3b.js gzip N/A 11.3 kB N/A
main-4066db0..605e.js gzip N/A 7.39 kB N/A
Overall change 58.4 kB 58.4 kB ⚠️ +14 B
Client Bundles (main, webpack, commons) Modern Overall increase ⚠️
vercel/next.js canary guybedford/next.js ncc-fixes Change
677f882d2ed8..dule.js gzip 7.04 kB N/A N/A
framework.HA..dule.js gzip 39 kB 39 kB
main-00e5ec9..dule.js gzip 6.37 kB N/A N/A
webpack-07c5..dule.js gzip 751 B 751 B
677f882d2ed8..dule.js gzip N/A 7.04 kB N/A
main-d0da7fd..dule.js gzip N/A 6.38 kB N/A
Overall change 53.1 kB 53.1 kB ⚠️ +7 B
Legacy Client Bundles (polyfills)
vercel/next.js canary guybedford/next.js ncc-fixes Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary guybedford/next.js ncc-fixes Change
_app-9a0b9e1..b37e.js gzip 1.28 kB N/A N/A
_error-ed1b0..8fbd.js gzip 3.44 kB N/A N/A
hooks-89731c..c609.js gzip 887 B N/A N/A
index-17468f..5d83.js gzip 227 B 227 B
link-a674d88..ccde.js gzip 1.35 kB 1.35 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
_app-7231d4b..5856.js gzip N/A 1.28 kB N/A
_error-fca3d..2eb1.js gzip N/A 3.44 kB N/A
hooks-d4591d..e7c2.js gzip N/A 887 B N/A
Overall change 7.75 kB 7.75 kB
Client Pages Modern
vercel/next.js canary guybedford/next.js ncc-fixes Change
_app-75d3a82..dule.js gzip 625 B 625 B
_error-4469a..dule.js gzip 2.29 kB 2.29 kB
hooks-cbf13f..dule.js gzip 387 B 387 B
index-b9a643..dule.js gzip 226 B 226 B
link-a4469f3..dule.js gzip 1.32 kB 1.32 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.41 kB 5.41 kB
Client Build Manifests Overall decrease ✓
vercel/next.js canary guybedford/next.js ncc-fixes Change
_buildManifest.js gzip 322 B 321 B -1 B
_buildManife..dule.js gzip 330 B 330 B
Overall change 652 B 651 B -1 B
Serverless bundles Overall decrease ✓
vercel/next.js canary guybedford/next.js ncc-fixes Change
_error.js 1.07 MB 914 kB -156 kB
404.html 4.73 kB 4.73 kB
hooks.html 3.92 kB 3.92 kB
index.js 1.07 MB 914 kB -156 kB
link.js 1.12 MB 962 kB -156 kB
routerDirect.js 1.11 MB 956 kB -156 kB
withRouter.js 1.11 MB 956 kB -156 kB
Overall change 5.49 MB 4.71 MB -780 kB
Commit: 02278c2

@ijjk
Copy link
Member

ijjk commented Nov 6, 2020

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall decrease ✓
vercel/next.js canary guybedford/next.js ncc-fixes Change
buildDuration 13s 13.3s ⚠️ +255ms
nodeModulesSize 90 MB 83.2 MB -6.75 MB
Page Load Tests Overall decrease ⚠️
vercel/next.js canary guybedford/next.js ncc-fixes Change
/ failed reqs 0 0
/ total time (seconds) 2.423 2.422 0
/ avg req/sec 1031.76 1032.24 +0.48
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.27 1.285 ⚠️ +0.01
/error-in-render avg req/sec 1968.93 1945.05 ⚠️ -23.88
Client Bundles (main, webpack, commons) Overall increase ⚠️
vercel/next.js canary guybedford/next.js ncc-fixes Change
677f882d2ed8..02db.js gzip 11.3 kB 11.3 kB
framework.HASH.js gzip 39 kB 39 kB
main-cea8d7e..ff01.js gzip 7.37 kB 7.39 kB ⚠️ +14 B
webpack-e067..f178.js gzip 751 B 751 B
Overall change 58.4 kB 58.4 kB ⚠️ +14 B
Client Bundles (main, webpack, commons) Modern Overall increase ⚠️
vercel/next.js canary guybedford/next.js ncc-fixes Change
677f882d2ed8..dule.js gzip 7.04 kB 7.04 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-00e5ec9..dule.js gzip 6.37 kB 6.38 kB ⚠️ +7 B
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 53.1 kB 53.1 kB ⚠️ +7 B
Legacy Client Bundles (polyfills)
vercel/next.js canary guybedford/next.js ncc-fixes Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary guybedford/next.js ncc-fixes Change
_app-9a0b9e1..b37e.js gzip 1.28 kB 1.28 kB
_error-ed1b0..8fbd.js gzip 3.44 kB 3.44 kB
hooks-89731c..c609.js gzip 887 B 887 B
index-17468f..5d83.js gzip 227 B 227 B
link-03d24c6..d1c7.js gzip 1.35 kB 1.35 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.75 kB 7.75 kB
Client Pages Modern
vercel/next.js canary guybedford/next.js ncc-fixes Change
_app-75d3a82..dule.js gzip 625 B 625 B
_error-4469a..dule.js gzip 2.29 kB 2.29 kB
hooks-cbf13f..dule.js gzip 387 B 387 B
index-b9a643..dule.js gzip 226 B 226 B
link-dfbbfbd..dule.js gzip 1.32 kB 1.32 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.41 kB 5.41 kB
Client Build Manifests
vercel/next.js canary guybedford/next.js ncc-fixes Change
_buildManifest.js gzip 322 B 322 B
_buildManife..dule.js gzip 330 B 330 B
Overall change 652 B 652 B
Rendered Page Sizes Overall increase ⚠️
vercel/next.js canary guybedford/next.js ncc-fixes Change
index.html gzip 1 kB 1 kB ⚠️ +2 B
link.html gzip 1.01 kB 1.01 kB ⚠️ +3 B
withRouter.html gzip 994 B 996 B ⚠️ +2 B
Overall change 3 kB 3.01 kB ⚠️ +7 B

Diffs

Diff for _buildManifest.js
@@ -2,10 +2,10 @@ self.__BUILD_MANIFEST = {
   __rewrites: [],
   "/": ["static\u002Fchunks\u002Fpages\u002Findex-283eed3c1520dcc26e8d.js"],
   "/_error": [
-    "static\u002Fchunks\u002Fpages\u002F_error-a0c4519f5ca8e97fa7be.js"
+    "static\u002Fchunks\u002Fpages\u002F_error-9b57cae5694a39479222.js"
   ],
   "/hooks": [
-    "static\u002Fchunks\u002Fpages\u002Fhooks-8001dc76075832ee8949.js"
+    "static\u002Fchunks\u002Fpages\u002Fhooks-bdd2cad07648acf22380.js"
   ],
   "/link": ["static\u002Fchunks\u002Fpages\u002Flink-17a206ac5f5df2421f5d.js"],
   "/routerDirect": [
Diff for main-895fe5a..416647d53.js
@@ -1314,253 +1314,256 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
 
     /***/ p0hA: /***/ function(module, exports, __webpack_require__) {
       /* WEBPACK VAR INJECTION */ (function(__dirname) {
-        module.exports = (function(t, e) {
-          "use strict";
-          var n = {};
-          function __webpack_require__(e) {
-            if (n[e]) {
-              return n[e].exports;
-            }
-            var i = (n[e] = { i: e, l: false, exports: {} });
-            t[e].call(i.exports, i, i.exports, __webpack_require__);
-            i.l = true;
-            return i.exports;
-          }
-          __webpack_require__.ab = __dirname + "/";
-          function startup() {
-            return __webpack_require__(766);
-          }
-          return startup();
-        })({
-          766: function(t, e) {
-            !(function(t, n) {
-              true ? n(e) : undefined;
-            })(this, function(t) {
-              "use strict";
-              var e,
-                n,
-                i = function() {
-                  return ""
-                    .concat(Date.now(), "-")
-                    .concat(Math.floor(8999999999999 * Math.random()) + 1e12);
-                },
-                r = function(t) {
-                  var e =
-                    arguments.length > 1 && void 0 !== arguments[1]
-                      ? arguments[1]
-                      : -1;
-                  return {
-                    name: t,
-                    value: e,
-                    delta: 0,
-                    entries: [],
-                    id: i(),
-                    isFinal: !1
-                  };
-                },
-                a = function(t, e) {
-                  try {
-                    if (PerformanceObserver.supportedEntryTypes.includes(t)) {
-                      var n = new PerformanceObserver(function(t) {
-                        return t.getEntries().map(e);
-                      });
-                      return n.observe({ type: t, buffered: !0 }), n;
-                    }
-                  } catch (t) {}
-                },
-                o = !1,
-                u = !1,
-                s = function(t) {
-                  o = !t.persisted;
-                },
-                c = function() {
-                  addEventListener("pagehide", s),
-                    addEventListener("beforeunload", function() {});
-                },
-                p = function(t) {
-                  var e =
-                    arguments.length > 1 &&
-                    void 0 !== arguments[1] &&
-                    arguments[1];
-                  u || (c(), (u = !0)),
-                    addEventListener(
-                      "visibilitychange",
-                      function(e) {
-                        var n = e.timeStamp;
-                        "hidden" === document.visibilityState &&
-                          t({ timeStamp: n, isUnloading: o });
-                      },
-                      { capture: !0, once: e }
-                    );
-                },
-                f = function(t, e, n, i) {
-                  var r;
-                  return function() {
-                    n && e.isFinal && n.disconnect(),
-                      e.value >= 0 &&
-                        (i ||
-                          e.isFinal ||
-                          "hidden" === document.visibilityState) &&
-                        ((e.delta = e.value - (r || 0)),
-                        (e.delta || e.isFinal || void 0 === r) &&
-                          (t(e), (r = e.value)));
-                  };
-                },
-                l = function() {
-                  return (
-                    void 0 === e &&
-                      ((e = "hidden" === document.visibilityState ? 0 : 1 / 0),
-                      p(function(t) {
-                        var n = t.timeStamp;
-                        return (e = n);
-                      }, !0)),
-                    {
-                      get timeStamp() {
-                        return e;
-                      }
-                    }
-                  );
-                },
-                d = function() {
-                  return (
-                    n ||
-                      (n = new Promise(function(t) {
-                        return ["scroll", "keydown", "pointerdown"].map(
-                          function(e) {
-                            addEventListener(e, t, {
-                              once: !0,
-                              passive: !0,
-                              capture: !0
-                            });
-                          }
-                        );
-                      })),
-                    n
-                  );
-                };
-              (t.getCLS = function(t) {
+        module.exports = (() => {
+          var t = {
+            692: function(t, e) {
+              !(function(t, n) {
+                true ? n(e) : undefined;
+              })(this, function(t) {
+                "use strict";
                 var e,
-                  n =
-                    arguments.length > 1 &&
-                    void 0 !== arguments[1] &&
-                    arguments[1],
-                  i = r("CLS", 0),
-                  o = function(t) {
-                    t.hadRecentInput ||
-                      ((i.value += t.value), i.entries.push(t), e());
+                  n,
+                  i = function() {
+                    return ""
+                      .concat(Date.now(), "-")
+                      .concat(Math.floor(8999999999999 * Math.random()) + 1e12);
                   },
-                  u = a("layout-shift", o);
-                u &&
-                  ((e = f(t, i, u, n)),
-                  p(function(t) {
-                    var n = t.isUnloading;
-                    u.takeRecords().map(o), n && (i.isFinal = !0), e();
-                  }));
-              }),
-                (t.getFCP = function(t) {
-                  var e,
-                    n = r("FCP"),
-                    i = l(),
-                    o = a("paint", function(t) {
-                      "first-contentful-paint" === t.name &&
-                        t.startTime < i.timeStamp &&
-                        ((n.value = t.startTime),
-                        (n.isFinal = !0),
-                        n.entries.push(t),
-                        e());
-                    });
-                  o && (e = f(t, n, o));
-                }),
-                (t.getFID = function(t) {
-                  var e = r("FID"),
-                    n = l(),
-                    i = function(t) {
-                      t.startTime < n.timeStamp &&
-                        ((e.value = t.processingStart - t.startTime),
-                        e.entries.push(t),
-                        (e.isFinal = !0),
-                        u());
-                    },
-                    o = a("first-input", i),
-                    u = f(t, e, o);
-                  o
-                    ? p(function() {
-                        o.takeRecords().map(i), o.disconnect();
-                      }, !0)
-                    : window.perfMetrics &&
-                      window.perfMetrics.onFirstInputDelay &&
-                      window.perfMetrics.onFirstInputDelay(function(t, i) {
-                        i.timeStamp < n.timeStamp &&
-                          ((e.value = t),
-                          (e.isFinal = !0),
-                          (e.entries = [
-                            {
-                              entryType: "first-input",
-                              name: i.type,
-                              target: i.target,
-                              cancelable: i.cancelable,
-                              startTime: i.timeStamp,
-                              processingStart: i.timeStamp + t
+                  a = function(t) {
+                    var e =
+                      arguments.length > 1 && void 0 !== arguments[1]
+                        ? arguments[1]
+                        : -1;
+                    return {
+                      name: t,
+                      value: e,
+                      delta: 0,
+                      entries: [],
+                      id: i(),
+                      isFinal: !1
+                    };
+                  },
+                  r = function(t, e) {
+                    try {
+                      if (PerformanceObserver.supportedEntryTypes.includes(t)) {
+                        var n = new PerformanceObserver(function(t) {
+                          return t.getEntries().map(e);
+                        });
+                        return n.observe({ type: t, buffered: !0 }), n;
+                      }
+                    } catch (t) {}
+                  },
+                  o = !1,
+                  u = !1,
+                  s = function(t) {
+                    o = !t.persisted;
+                  },
+                  c = function() {
+                    addEventListener("pagehide", s),
+                      addEventListener("beforeunload", function() {});
+                  },
+                  p = function(t) {
+                    var e =
+                      arguments.length > 1 &&
+                      void 0 !== arguments[1] &&
+                      arguments[1];
+                    u || (c(), (u = !0)),
+                      addEventListener(
+                        "visibilitychange",
+                        function(e) {
+                          var n = e.timeStamp;
+                          "hidden" === document.visibilityState &&
+                            t({ timeStamp: n, isUnloading: o });
+                        },
+                        { capture: !0, once: e }
+                      );
+                  },
+                  l = function(t, e, n, i) {
+                    var a;
+                    return function() {
+                      n && e.isFinal && n.disconnect(),
+                        e.value >= 0 &&
+                          (i ||
+                            e.isFinal ||
+                            "hidden" === document.visibilityState) &&
+                          ((e.delta = e.value - (a || 0)),
+                          (e.delta || e.isFinal || void 0 === a) &&
+                            (t(e), (a = e.value)));
+                    };
+                  },
+                  f = function() {
+                    return (
+                      void 0 === e &&
+                        ((e =
+                          "hidden" === document.visibilityState ? 0 : 1 / 0),
+                        p(function(t) {
+                          var n = t.timeStamp;
+                          return (e = n);
+                        }, !0)),
+                      {
+                        get timeStamp() {
+                          return e;
+                        }
+                      }
+                    );
+                  },
+                  d = function() {
+                    return (
+                      n ||
+                        (n = new Promise(function(t) {
+                          return ["scroll", "keydown", "pointerdown"].map(
+                            function(e) {
+                              addEventListener(e, t, {
+                                once: !0,
+                                passive: !0,
+                                capture: !0
+                              });
                             }
-                          ]),
-                          u());
-                      });
-                }),
-                (t.getLCP = function(t) {
+                          );
+                        })),
+                      n
+                    );
+                  };
+                (t.getCLS = function(t) {
                   var e,
                     n =
                       arguments.length > 1 &&
                       void 0 !== arguments[1] &&
                       arguments[1],
-                    i = r("LCP"),
-                    o = l(),
-                    u = function(t) {
-                      var n = t.startTime;
-                      n < o.timeStamp
-                        ? ((i.value = n), i.entries.push(t))
-                        : (i.isFinal = !0),
-                        e();
+                    i = a("CLS", 0),
+                    o = function(t) {
+                      t.hadRecentInput ||
+                        ((i.value += t.value), i.entries.push(t), e());
                     },
-                    s = a("largest-contentful-paint", u);
-                  if (s) {
-                    e = f(t, i, s, n);
-                    var c = function() {
-                      i.isFinal ||
-                        (s.takeRecords().map(u), (i.isFinal = !0), e());
-                    };
-                    d().then(c), p(c, !0);
-                  }
+                    u = r("layout-shift", o);
+                  u &&
+                    ((e = l(t, i, u, n)),
+                    p(function(t) {
+                      var n = t.isUnloading;
+                      u.takeRecords().map(o), n && (i.isFinal = !0), e();
+                    }));
                 }),
-                (t.getTTFB = function(t) {
-                  var e,
-                    n = r("TTFB");
-                  (e = function() {
-                    try {
-                      var e =
-                        performance.getEntriesByType("navigation")[0] ||
-                        (function() {
-                          var t = performance.timing,
-                            e = { entryType: "navigation", startTime: 0 };
-                          for (var n in t)
-                            "navigationStart" !== n &&
-                              "toJSON" !== n &&
-                              (e[n] = Math.max(t[n] - t.navigationStart, 0));
-                          return e;
-                        })();
-                      (n.value = n.delta = e.responseStart),
-                        (n.entries = [e]),
-                        (n.isFinal = !0),
-                        t(n);
-                    } catch (t) {}
+                  (t.getFCP = function(t) {
+                    var e,
+                      n = a("FCP"),
+                      i = f(),
+                      o = r("paint", function(t) {
+                        "first-contentful-paint" === t.name &&
+                          t.startTime < i.timeStamp &&
+                          ((n.value = t.startTime),
+                          (n.isFinal = !0),
+                          n.entries.push(t),
+                          e());
+                      });
+                    o && (e = l(t, n, o));
                   }),
-                    "complete" === document.readyState
-                      ? setTimeout(e, 0)
-                      : addEventListener("pageshow", e);
-                }),
-                Object.defineProperty(t, "__esModule", { value: !0 });
-            });
+                  (t.getFID = function(t) {
+                    var e = a("FID"),
+                      n = f(),
+                      i = function(t) {
+                        t.startTime < n.timeStamp &&
+                          ((e.value = t.processingStart - t.startTime),
+                          e.entries.push(t),
+                          (e.isFinal = !0),
+                          u());
+                      },
+                      o = r("first-input", i),
+                      u = l(t, e, o);
+                    o
+                      ? p(function() {
+                          o.takeRecords().map(i), o.disconnect();
+                        }, !0)
+                      : window.perfMetrics &&
+                        window.perfMetrics.onFirstInputDelay &&
+                        window.perfMetrics.onFirstInputDelay(function(t, i) {
+                          i.timeStamp < n.timeStamp &&
+                            ((e.value = t),
+                            (e.isFinal = !0),
+                            (e.entries = [
+                              {
+                                entryType: "first-input",
+                                name: i.type,
+                                target: i.target,
+                                cancelable: i.cancelable,
+                                startTime: i.timeStamp,
+                                processingStart: i.timeStamp + t
+                              }
+                            ]),
+                            u());
+                        });
+                  }),
+                  (t.getLCP = function(t) {
+                    var e,
+                      n =
+                        arguments.length > 1 &&
+                        void 0 !== arguments[1] &&
+                        arguments[1],
+                      i = a("LCP"),
+                      o = f(),
+                      u = function(t) {
+                        var n = t.startTime;
+                        n < o.timeStamp
+                          ? ((i.value = n), i.entries.push(t))
+                          : (i.isFinal = !0),
+                          e();
+                      },
+                      s = r("largest-contentful-paint", u);
+                    if (s) {
+                      e = l(t, i, s, n);
+                      var c = function() {
+                        i.isFinal ||
+                          (s.takeRecords().map(u), (i.isFinal = !0), e());
+                      };
+                      d().then(c), p(c, !0);
+                    }
+                  }),
+                  (t.getTTFB = function(t) {
+                    var e,
+                      n = a("TTFB");
+                    (e = function() {
+                      try {
+                        var e =
+                          performance.getEntriesByType("navigation")[0] ||
+                          (function() {
+                            var t = performance.timing,
+                              e = { entryType: "navigation", startTime: 0 };
+                            for (var n in t)
+                              "navigationStart" !== n &&
+                                "toJSON" !== n &&
+                                (e[n] = Math.max(t[n] - t.navigationStart, 0));
+                            return e;
+                          })();
+                        (n.value = n.delta = e.responseStart),
+                          (n.entries = [e]),
+                          (n.isFinal = !0),
+                          t(n);
+                      } catch (t) {}
+                    }),
+                      "complete" === document.readyState
+                        ? setTimeout(e, 0)
+                        : addEventListener("pageshow", e);
+                  }),
+                  Object.defineProperty(t, "__esModule", { value: !0 });
+              });
+            }
+          };
+          var e = {};
+          function __webpack_require__(n) {
+            if (e[n]) {
+              return e[n].exports;
+            }
+            var i = (e[n] = { exports: {} });
+            var a = true;
+            try {
+              t[n].call(i.exports, i, i.exports, __webpack_require__);
+              a = false;
+            } finally {
+              if (a) delete e[n];
+            }
+            return i.exports;
           }
-        });
+          __webpack_require__.ab = __dirname + "/";
+          return __webpack_require__(692);
+        })();
         /* WEBPACK VAR INJECTION */
       }.call(this, "/"));
Diff for main-b3ad237..b3.module.js
@@ -972,253 +972,256 @@
 
     /***/ p0hA: /***/ function(module, exports, __webpack_require__) {
       /* WEBPACK VAR INJECTION */ (function(__dirname) {
-        module.exports = (function(t, e) {
-          "use strict";
-          var n = {};
-          function __webpack_require__(e) {
-            if (n[e]) {
-              return n[e].exports;
-            }
-            var i = (n[e] = { i: e, l: false, exports: {} });
-            t[e].call(i.exports, i, i.exports, __webpack_require__);
-            i.l = true;
-            return i.exports;
-          }
-          __webpack_require__.ab = __dirname + "/";
-          function startup() {
-            return __webpack_require__(766);
-          }
-          return startup();
-        })({
-          766: function(t, e) {
-            !(function(t, n) {
-              true ? n(e) : undefined;
-            })(this, function(t) {
-              "use strict";
-              var e,
-                n,
-                i = function() {
-                  return ""
-                    .concat(Date.now(), "-")
-                    .concat(Math.floor(8999999999999 * Math.random()) + 1e12);
-                },
-                r = function(t) {
-                  var e =
-                    arguments.length > 1 && void 0 !== arguments[1]
-                      ? arguments[1]
-                      : -1;
-                  return {
-                    name: t,
-                    value: e,
-                    delta: 0,
-                    entries: [],
-                    id: i(),
-                    isFinal: !1
-                  };
-                },
-                a = function(t, e) {
-                  try {
-                    if (PerformanceObserver.supportedEntryTypes.includes(t)) {
-                      var n = new PerformanceObserver(function(t) {
-                        return t.getEntries().map(e);
-                      });
-                      return n.observe({ type: t, buffered: !0 }), n;
-                    }
-                  } catch (t) {}
-                },
-                o = !1,
-                u = !1,
-                s = function(t) {
-                  o = !t.persisted;
-                },
-                c = function() {
-                  addEventListener("pagehide", s),
-                    addEventListener("beforeunload", function() {});
-                },
-                p = function(t) {
-                  var e =
-                    arguments.length > 1 &&
-                    void 0 !== arguments[1] &&
-                    arguments[1];
-                  u || (c(), (u = !0)),
-                    addEventListener(
-                      "visibilitychange",
-                      function(e) {
-                        var n = e.timeStamp;
-                        "hidden" === document.visibilityState &&
-                          t({ timeStamp: n, isUnloading: o });
-                      },
-                      { capture: !0, once: e }
-                    );
-                },
-                f = function(t, e, n, i) {
-                  var r;
-                  return function() {
-                    n && e.isFinal && n.disconnect(),
-                      e.value >= 0 &&
-                        (i ||
-                          e.isFinal ||
-                          "hidden" === document.visibilityState) &&
-                        ((e.delta = e.value - (r || 0)),
-                        (e.delta || e.isFinal || void 0 === r) &&
-                          (t(e), (r = e.value)));
-                  };
-                },
-                l = function() {
-                  return (
-                    void 0 === e &&
-                      ((e = "hidden" === document.visibilityState ? 0 : 1 / 0),
-                      p(function(t) {
-                        var n = t.timeStamp;
-                        return (e = n);
-                      }, !0)),
-                    {
-                      get timeStamp() {
-                        return e;
-                      }
-                    }
-                  );
-                },
-                d = function() {
-                  return (
-                    n ||
-                      (n = new Promise(function(t) {
-                        return ["scroll", "keydown", "pointerdown"].map(
-                          function(e) {
-                            addEventListener(e, t, {
-                              once: !0,
-                              passive: !0,
-                              capture: !0
-                            });
-                          }
-                        );
-                      })),
-                    n
-                  );
-                };
-              (t.getCLS = function(t) {
+        module.exports = (() => {
+          var t = {
+            692: function(t, e) {
+              !(function(t, n) {
+                true ? n(e) : undefined;
+              })(this, function(t) {
+                "use strict";
                 var e,
-                  n =
-                    arguments.length > 1 &&
-                    void 0 !== arguments[1] &&
-                    arguments[1],
-                  i = r("CLS", 0),
-                  o = function(t) {
-                    t.hadRecentInput ||
-                      ((i.value += t.value), i.entries.push(t), e());
+                  n,
+                  i = function() {
+                    return ""
+                      .concat(Date.now(), "-")
+                      .concat(Math.floor(8999999999999 * Math.random()) + 1e12);
                   },
-                  u = a("layout-shift", o);
-                u &&
-                  ((e = f(t, i, u, n)),
-                  p(function(t) {
-                    var n = t.isUnloading;
-                    u.takeRecords().map(o), n && (i.isFinal = !0), e();
-                  }));
-              }),
-                (t.getFCP = function(t) {
-                  var e,
-                    n = r("FCP"),
-                    i = l(),
-                    o = a("paint", function(t) {
-                      "first-contentful-paint" === t.name &&
-                        t.startTime < i.timeStamp &&
-                        ((n.value = t.startTime),
-                        (n.isFinal = !0),
-                        n.entries.push(t),
-                        e());
-                    });
-                  o && (e = f(t, n, o));
-                }),
-                (t.getFID = function(t) {
-                  var e = r("FID"),
-                    n = l(),
-                    i = function(t) {
-                      t.startTime < n.timeStamp &&
-                        ((e.value = t.processingStart - t.startTime),
-                        e.entries.push(t),
-                        (e.isFinal = !0),
-                        u());
-                    },
-                    o = a("first-input", i),
-                    u = f(t, e, o);
-                  o
-                    ? p(function() {
-                        o.takeRecords().map(i), o.disconnect();
-                      }, !0)
-                    : window.perfMetrics &&
-                      window.perfMetrics.onFirstInputDelay &&
-                      window.perfMetrics.onFirstInputDelay(function(t, i) {
-                        i.timeStamp < n.timeStamp &&
-                          ((e.value = t),
-                          (e.isFinal = !0),
-                          (e.entries = [
-                            {
-                              entryType: "first-input",
-                              name: i.type,
-                              target: i.target,
-                              cancelable: i.cancelable,
-                              startTime: i.timeStamp,
-                              processingStart: i.timeStamp + t
+                  a = function(t) {
+                    var e =
+                      arguments.length > 1 && void 0 !== arguments[1]
+                        ? arguments[1]
+                        : -1;
+                    return {
+                      name: t,
+                      value: e,
+                      delta: 0,
+                      entries: [],
+                      id: i(),
+                      isFinal: !1
+                    };
+                  },
+                  r = function(t, e) {
+                    try {
+                      if (PerformanceObserver.supportedEntryTypes.includes(t)) {
+                        var n = new PerformanceObserver(function(t) {
+                          return t.getEntries().map(e);
+                        });
+                        return n.observe({ type: t, buffered: !0 }), n;
+                      }
+                    } catch (t) {}
+                  },
+                  o = !1,
+                  u = !1,
+                  s = function(t) {
+                    o = !t.persisted;
+                  },
+                  c = function() {
+                    addEventListener("pagehide", s),
+                      addEventListener("beforeunload", function() {});
+                  },
+                  p = function(t) {
+                    var e =
+                      arguments.length > 1 &&
+                      void 0 !== arguments[1] &&
+                      arguments[1];
+                    u || (c(), (u = !0)),
+                      addEventListener(
+                        "visibilitychange",
+                        function(e) {
+                          var n = e.timeStamp;
+                          "hidden" === document.visibilityState &&
+                            t({ timeStamp: n, isUnloading: o });
+                        },
+                        { capture: !0, once: e }
+                      );
+                  },
+                  l = function(t, e, n, i) {
+                    var a;
+                    return function() {
+                      n && e.isFinal && n.disconnect(),
+                        e.value >= 0 &&
+                          (i ||
+                            e.isFinal ||
+                            "hidden" === document.visibilityState) &&
+                          ((e.delta = e.value - (a || 0)),
+                          (e.delta || e.isFinal || void 0 === a) &&
+                            (t(e), (a = e.value)));
+                    };
+                  },
+                  f = function() {
+                    return (
+                      void 0 === e &&
+                        ((e =
+                          "hidden" === document.visibilityState ? 0 : 1 / 0),
+                        p(function(t) {
+                          var n = t.timeStamp;
+                          return (e = n);
+                        }, !0)),
+                      {
+                        get timeStamp() {
+                          return e;
+                        }
+                      }
+                    );
+                  },
+                  d = function() {
+                    return (
+                      n ||
+                        (n = new Promise(function(t) {
+                          return ["scroll", "keydown", "pointerdown"].map(
+                            function(e) {
+                              addEventListener(e, t, {
+                                once: !0,
+                                passive: !0,
+                                capture: !0
+                              });
                             }
-                          ]),
-                          u());
-                      });
-                }),
-                (t.getLCP = function(t) {
+                          );
+                        })),
+                      n
+                    );
+                  };
+                (t.getCLS = function(t) {
                   var e,
                     n =
                       arguments.length > 1 &&
                       void 0 !== arguments[1] &&
                       arguments[1],
-                    i = r("LCP"),
-                    o = l(),
-                    u = function(t) {
-                      var n = t.startTime;
-                      n < o.timeStamp
-                        ? ((i.value = n), i.entries.push(t))
-                        : (i.isFinal = !0),
-                        e();
+                    i = a("CLS", 0),
+                    o = function(t) {
+                      t.hadRecentInput ||
+                        ((i.value += t.value), i.entries.push(t), e());
                     },
-                    s = a("largest-contentful-paint", u);
-                  if (s) {
-                    e = f(t, i, s, n);
-                    var c = function() {
-                      i.isFinal ||
-                        (s.takeRecords().map(u), (i.isFinal = !0), e());
-                    };
-                    d().then(c), p(c, !0);
-                  }
+                    u = r("layout-shift", o);
+                  u &&
+                    ((e = l(t, i, u, n)),
+                    p(function(t) {
+                      var n = t.isUnloading;
+                      u.takeRecords().map(o), n && (i.isFinal = !0), e();
+                    }));
                 }),
-                (t.getTTFB = function(t) {
-                  var e,
-                    n = r("TTFB");
-                  (e = function() {
-                    try {
-                      var e =
-                        performance.getEntriesByType("navigation")[0] ||
-                        (function() {
-                          var t = performance.timing,
-                            e = { entryType: "navigation", startTime: 0 };
-                          for (var n in t)
-                            "navigationStart" !== n &&
-                              "toJSON" !== n &&
-                              (e[n] = Math.max(t[n] - t.navigationStart, 0));
-                          return e;
-                        })();
-                      (n.value = n.delta = e.responseStart),
-                        (n.entries = [e]),
-                        (n.isFinal = !0),
-                        t(n);
-                    } catch (t) {}
+                  (t.getFCP = function(t) {
+                    var e,
+                      n = a("FCP"),
+                      i = f(),
+                      o = r("paint", function(t) {
+                        "first-contentful-paint" === t.name &&
+                          t.startTime < i.timeStamp &&
+                          ((n.value = t.startTime),
+                          (n.isFinal = !0),
+                          n.entries.push(t),
+                          e());
+                      });
+                    o && (e = l(t, n, o));
                   }),
-                    "complete" === document.readyState
-                      ? setTimeout(e, 0)
-                      : addEventListener("pageshow", e);
-                }),
-                Object.defineProperty(t, "__esModule", { value: !0 });
-            });
+                  (t.getFID = function(t) {
+                    var e = a("FID"),
+                      n = f(),
+                      i = function(t) {
+                        t.startTime < n.timeStamp &&
+                          ((e.value = t.processingStart - t.startTime),
+                          e.entries.push(t),
+                          (e.isFinal = !0),
+                          u());
+                      },
+                      o = r("first-input", i),
+                      u = l(t, e, o);
+                    o
+                      ? p(function() {
+                          o.takeRecords().map(i), o.disconnect();
+                        }, !0)
+                      : window.perfMetrics &&
+                        window.perfMetrics.onFirstInputDelay &&
+                        window.perfMetrics.onFirstInputDelay(function(t, i) {
+                          i.timeStamp < n.timeStamp &&
+                            ((e.value = t),
+                            (e.isFinal = !0),
+                            (e.entries = [
+                              {
+                                entryType: "first-input",
+                                name: i.type,
+                                target: i.target,
+                                cancelable: i.cancelable,
+                                startTime: i.timeStamp,
+                                processingStart: i.timeStamp + t
+                              }
+                            ]),
+                            u());
+                        });
+                  }),
+                  (t.getLCP = function(t) {
+                    var e,
+                      n =
+                        arguments.length > 1 &&
+                        void 0 !== arguments[1] &&
+                        arguments[1],
+                      i = a("LCP"),
+                      o = f(),
+                      u = function(t) {
+                        var n = t.startTime;
+                        n < o.timeStamp
+                          ? ((i.value = n), i.entries.push(t))
+                          : (i.isFinal = !0),
+                          e();
+                      },
+                      s = r("largest-contentful-paint", u);
+                    if (s) {
+                      e = l(t, i, s, n);
+                      var c = function() {
+                        i.isFinal ||
+                          (s.takeRecords().map(u), (i.isFinal = !0), e());
+                      };
+                      d().then(c), p(c, !0);
+                    }
+                  }),
+                  (t.getTTFB = function(t) {
+                    var e,
+                      n = a("TTFB");
+                    (e = function() {
+                      try {
+                        var e =
+                          performance.getEntriesByType("navigation")[0] ||
+                          (function() {
+                            var t = performance.timing,
+                              e = { entryType: "navigation", startTime: 0 };
+                            for (var n in t)
+                              "navigationStart" !== n &&
+                                "toJSON" !== n &&
+                                (e[n] = Math.max(t[n] - t.navigationStart, 0));
+                            return e;
+                          })();
+                        (n.value = n.delta = e.responseStart),
+                          (n.entries = [e]),
+                          (n.isFinal = !0),
+                          t(n);
+                      } catch (t) {}
+                    }),
+                      "complete" === document.readyState
+                        ? setTimeout(e, 0)
+                        : addEventListener("pageshow", e);
+                  }),
+                  Object.defineProperty(t, "__esModule", { value: !0 });
+              });
+            }
+          };
+          var e = {};
+          function __webpack_require__(n) {
+            if (e[n]) {
+              return e[n].exports;
+            }
+            var i = (e[n] = { exports: {} });
+            var a = true;
+            try {
+              t[n].call(i.exports, i, i.exports, __webpack_require__);
+              a = false;
+            } finally {
+              if (a) delete e[n];
+            }
+            return i.exports;
           }
-        });
+          __webpack_require__.ab = __dirname + "/";
+          return __webpack_require__(692);
+        })();
         /* WEBPACK VAR INJECTION */
       }.call(this, "/"));
Diff for index.html
@@ -6,7 +6,7 @@
     <noscript data-n-css="true"></noscript>
     <link
       rel="preload"
-      href="/_next/static/chunks/main-b3ad237f31305f9a81b3.module.js"
+      href="/_next/static/chunks/main-b03aabf1b0a2ce1f2b03.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -24,7 +24,7 @@
     />
     <link
       rel="preload"
-      href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.883dd050e11a66b09e26.module.js"
+      href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.6b4511cd17e1524c6341.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -85,13 +85,13 @@
       src="/_next/static/chunks/polyfills-f73ba3fc145972ef83e9.js"
     ></script>
     <script
-      src="/_next/static/chunks/main-895fe5a26f0416647d53.js"
+      src="/_next/static/chunks/main-6345d84867d8a2ffb125.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/main-b3ad237f31305f9a81b3.module.js"
+      src="/_next/static/chunks/main-b03aabf1b0a2ce1f2b03.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
@@ -121,19 +121,19 @@
       type="module"
     ></script>
     <script
-      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.5d4f3798f0f226dab197.js"
+      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.978ffbabf17b2be9a27e.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.883dd050e11a66b09e26.module.js"
+      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.6b4511cd17e1524c6341.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
     ></script>
     <script
-      src="/_next/static/chunks/pages/_app-7512045a5b3d9376e2ca.js"
+      src="/_next/static/chunks/pages/_app-265ddf2d03dbe48fa6cb.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
Diff for link.html
@@ -6,7 +6,7 @@
     <noscript data-n-css="true"></noscript>
     <link
       rel="preload"
-      href="/_next/static/chunks/main-b3ad237f31305f9a81b3.module.js"
+      href="/_next/static/chunks/main-b03aabf1b0a2ce1f2b03.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -24,7 +24,7 @@
     />
     <link
       rel="preload"
-      href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.883dd050e11a66b09e26.module.js"
+      href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.6b4511cd17e1524c6341.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -90,13 +90,13 @@
       src="/_next/static/chunks/polyfills-f73ba3fc145972ef83e9.js"
     ></script>
     <script
-      src="/_next/static/chunks/main-895fe5a26f0416647d53.js"
+      src="/_next/static/chunks/main-6345d84867d8a2ffb125.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/main-b3ad237f31305f9a81b3.module.js"
+      src="/_next/static/chunks/main-b03aabf1b0a2ce1f2b03.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
@@ -126,19 +126,19 @@
       type="module"
     ></script>
     <script
-      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.5d4f3798f0f226dab197.js"
+      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.978ffbabf17b2be9a27e.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.883dd050e11a66b09e26.module.js"
+      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.6b4511cd17e1524c6341.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
     ></script>
     <script
-      src="/_next/static/chunks/pages/_app-7512045a5b3d9376e2ca.js"
+      src="/_next/static/chunks/pages/_app-265ddf2d03dbe48fa6cb.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
Diff for withRouter.html
@@ -6,7 +6,7 @@
     <noscript data-n-css="true"></noscript>
     <link
       rel="preload"
-      href="/_next/static/chunks/main-b3ad237f31305f9a81b3.module.js"
+      href="/_next/static/chunks/main-b03aabf1b0a2ce1f2b03.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -24,7 +24,7 @@
     />
     <link
       rel="preload"
-      href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.883dd050e11a66b09e26.module.js"
+      href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.6b4511cd17e1524c6341.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -85,13 +85,13 @@
       src="/_next/static/chunks/polyfills-f73ba3fc145972ef83e9.js"
     ></script>
     <script
-      src="/_next/static/chunks/main-895fe5a26f0416647d53.js"
+      src="/_next/static/chunks/main-6345d84867d8a2ffb125.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/main-b3ad237f31305f9a81b3.module.js"
+      src="/_next/static/chunks/main-b03aabf1b0a2ce1f2b03.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
@@ -121,19 +121,19 @@
       type="module"
     ></script>
     <script
-      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.5d4f3798f0f226dab197.js"
+      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.978ffbabf17b2be9a27e.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.883dd050e11a66b09e26.module.js"
+      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.6b4511cd17e1524c6341.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
     ></script>
     <script
-      src="/_next/static/chunks/pages/_app-7512045a5b3d9376e2ca.js"
+      src="/_next/static/chunks/pages/_app-265ddf2d03dbe48fa6cb.js"
       async=""
       crossorigin="anonymous"
       nomodule=""

Serverless Mode (Increase detected ⚠️)
General Overall decrease ✓
vercel/next.js canary guybedford/next.js ncc-fixes Change
buildDuration 14.7s 15s ⚠️ +295ms
nodeModulesSize 90 MB 83.2 MB -6.75 MB
Client Bundles (main, webpack, commons) Overall increase ⚠️
vercel/next.js canary guybedford/next.js ncc-fixes Change
677f882d2ed8..02db.js gzip 11.3 kB N/A N/A
framework.HASH.js gzip 39 kB 39 kB
main-cea8d7e..ff01.js gzip 7.37 kB N/A N/A
webpack-e067..f178.js gzip 751 B 751 B
677f882d2ed8..7d3b.js gzip N/A 11.3 kB N/A
main-4066db0..605e.js gzip N/A 7.39 kB N/A
Overall change 58.4 kB 58.4 kB ⚠️ +14 B
Client Bundles (main, webpack, commons) Modern Overall increase ⚠️
vercel/next.js canary guybedford/next.js ncc-fixes Change
677f882d2ed8..dule.js gzip 7.04 kB N/A N/A
framework.HA..dule.js gzip 39 kB 39 kB
main-00e5ec9..dule.js gzip 6.37 kB N/A N/A
webpack-07c5..dule.js gzip 751 B 751 B
677f882d2ed8..dule.js gzip N/A 7.04 kB N/A
main-d0da7fd..dule.js gzip N/A 6.38 kB N/A
Overall change 53.1 kB 53.1 kB ⚠️ +7 B
Legacy Client Bundles (polyfills)
vercel/next.js canary guybedford/next.js ncc-fixes Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary guybedford/next.js ncc-fixes Change
_app-9a0b9e1..b37e.js gzip 1.28 kB N/A N/A
_error-ed1b0..8fbd.js gzip 3.44 kB N/A N/A
hooks-89731c..c609.js gzip 887 B N/A N/A
index-17468f..5d83.js gzip 227 B 227 B
link-03d24c6..d1c7.js gzip 1.35 kB 1.35 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
_app-7231d4b..5856.js gzip N/A 1.28 kB N/A
_error-fca3d..2eb1.js gzip N/A 3.44 kB N/A
hooks-d4591d..e7c2.js gzip N/A 887 B N/A
Overall change 7.75 kB 7.75 kB
Client Pages Modern
vercel/next.js canary guybedford/next.js ncc-fixes Change
_app-75d3a82..dule.js gzip 625 B 625 B
_error-4469a..dule.js gzip 2.29 kB 2.29 kB
hooks-cbf13f..dule.js gzip 387 B 387 B
index-b9a643..dule.js gzip 226 B 226 B
link-dfbbfbd..dule.js gzip 1.32 kB 1.32 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.41 kB 5.41 kB
Client Build Manifests
vercel/next.js canary guybedford/next.js ncc-fixes Change
_buildManifest.js gzip 322 B 322 B
_buildManife..dule.js gzip 330 B 330 B
Overall change 652 B 652 B
Serverless bundles Overall decrease ✓
vercel/next.js canary guybedford/next.js ncc-fixes Change
_error.js 1.07 MB 914 kB -156 kB
404.html 4.73 kB 4.73 kB
hooks.html 3.92 kB 3.92 kB
index.js 1.07 MB 914 kB -156 kB
link.js 1.12 MB 962 kB -156 kB
routerDirect.js 1.11 MB 956 kB -156 kB
withRouter.js 1.11 MB 956 kB -156 kB
Overall change 5.49 MB 4.71 MB -780 kB
Commit: e25296d

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
create-next-app Related to our CLI tool for quickly starting a new Next.js application. type: next
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants