vite-plugin-react-server 1.3.6 → 1.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/README.md +33 -19
  2. package/dist/package.json +4 -2
  3. package/dist/plugin/config/resolveOptions.d.ts.map +1 -1
  4. package/dist/plugin/config/resolveOptions.js +4 -2
  5. package/dist/plugin/dev-server/configureReactServer.client.js +1 -1
  6. package/dist/plugin/dev-server/plugin.client.d.ts.map +1 -1
  7. package/dist/plugin/dev-server/plugin.client.js +17 -15
  8. package/dist/plugin/dev-server/plugin.server.d.ts.map +1 -1
  9. package/dist/plugin/dev-server/plugin.server.js +54 -4
  10. package/dist/plugin/helpers/requestInfo.d.ts.map +1 -1
  11. package/dist/plugin/helpers/requestInfo.js +4 -3
  12. package/dist/plugin/helpers/requestToRoute.d.ts.map +1 -1
  13. package/dist/plugin/helpers/requestToRoute.js +2 -2
  14. package/dist/plugin/react-static/plugin.server.d.ts.map +1 -1
  15. package/dist/plugin/react-static/plugin.server.js +9 -1
  16. package/dist/plugin/react-static/renderPagesBatched.d.ts.map +1 -1
  17. package/dist/plugin/react-static/renderPagesBatched.js +136 -36
  18. package/dist/plugin/react-static/types.d.ts +1 -0
  19. package/dist/plugin/react-static/types.d.ts.map +1 -1
  20. package/dist/plugin/types.d.ts +15 -0
  21. package/dist/plugin/types.d.ts.map +1 -1
  22. package/dist/plugin/utils/createReactFetcher.js +24 -2
  23. package/dist/plugin/utils/useRscHmr.js +10 -2
  24. package/dist/plugin/vendor/register-vendor.js +1 -1
  25. package/dist/plugin/vendor/vendor-alias.d.ts +5 -2
  26. package/dist/plugin/vendor/vendor-alias.d.ts.map +1 -1
  27. package/dist/plugin/vendor/vendor-alias.js +60 -26
  28. package/dist/plugin/vendor/vendor.server.d.ts.map +1 -1
  29. package/dist/plugin/vendor/vendor.server.js +2 -2
  30. package/dist/plugin/vendor/vendor.static.d.ts.map +1 -1
  31. package/dist/plugin/vendor/vendor.static.js +2 -2
  32. package/dist/tsconfig.tsbuildinfo +1 -1
  33. package/oss-experimental/react-server-dom-esm/cjs/react-server-dom-esm-client.browser.development.js +1 -1
  34. package/oss-experimental/react-server-dom-esm/cjs/react-server-dom-esm-client.browser.production.js +1 -1
  35. package/oss-experimental/react-server-dom-esm/cjs/react-server-dom-esm-client.node.development.js +1 -1
  36. package/oss-experimental/react-server-dom-esm/cjs/react-server-dom-esm-client.node.production.js +1 -1
  37. package/oss-experimental/react-server-dom-esm/cjs/react-server-dom-esm-server.node.development.js +1 -1
  38. package/oss-experimental/react-server-dom-esm/cjs/react-server-dom-esm-server.node.production.js +1 -1
  39. package/oss-experimental/react-server-dom-esm/esm/react-server-dom-esm-client.browser.development.js +1 -1
  40. package/oss-experimental/react-server-dom-esm/esm/react-server-dom-esm-client.browser.production.js +1 -1
  41. package/oss-experimental/react-server-dom-esm/package.json +3 -3
  42. package/package.json +4 -2
  43. package/plugin/config/resolveOptions.ts +2 -0
  44. package/plugin/dev-server/configureReactServer.client.ts +1 -1
  45. package/plugin/dev-server/plugin.client.ts +23 -20
  46. package/plugin/dev-server/plugin.server.ts +71 -4
  47. package/plugin/helpers/requestInfo.ts +6 -3
  48. package/plugin/helpers/requestToRoute.ts +3 -2
  49. package/plugin/react-static/plugin.server.ts +11 -1
  50. package/plugin/react-static/renderPagesBatched.ts +148 -39
  51. package/plugin/react-static/types.ts +1 -0
  52. package/plugin/types.ts +15 -0
  53. package/plugin/vendor/register-vendor.ts +1 -1
  54. package/plugin/vendor/vendor-alias.ts +61 -39
  55. package/plugin/vendor/vendor.server.ts +3 -3
  56. package/plugin/vendor/vendor.static.ts +3 -2
@@ -3,6 +3,7 @@
3
3
  * Copyright (c) Nico Brinkkemper
4
4
  * MIT License
5
5
  */
6
+ import { readFileSync } from 'node:fs';
6
7
  import { configureReactServer } from './configureReactServer.client.js';
7
8
  import { resolveOptions } from '../config/resolveOptions.js';
8
9
 
@@ -27,8 +28,7 @@ const vitePluginReactDevServer = function _vitePluginReactServerDevClient(option
27
28
  name: "vite-plugin-react-server:dev-server-client",
28
29
  apply: "serve",
29
30
  // Only apply in dev server mode
30
- // Note: Removed applyToEnvironment - handleHotUpdate needs to run regardless
31
- // The plugin should apply to client environment, but handleHotUpdate is a dev server hook
31
+ // No applyToEnvironment hotUpdate needs to run for all environments
32
32
  // that should work regardless of environment filtering
33
33
  config(_config, viteConfigEnv) {
34
34
  configEnv = viteConfigEnv;
@@ -60,28 +60,31 @@ const vitePluginReactDevServer = function _vitePluginReactServerDevClient(option
60
60
  resolvedConfig: server.config
61
61
  });
62
62
  },
63
- handleHotUpdate({ file, server }) {
63
+ hotUpdate(ctx) {
64
+ const { file, server } = ctx;
65
+ const envName = ctx.environment?.name ?? "unknown";
66
+ if (envName !== "client") return;
64
67
  if (isProcessingHmr) {
65
68
  return void 0;
66
69
  }
67
70
  const moduleBase = userOptions.moduleBase || "src";
68
71
  const projectRoot = userOptions.projectRoot || server.config.root;
69
72
  const normalizedFile = file.replace(projectRoot, "").replace(/^\/+/, "");
70
- const isServerFile = normalizedFile.startsWith(moduleBase + "/") && (file.endsWith(".tsx") || file.endsWith(".ts") || file.endsWith(".jsx") || file.endsWith(".js"));
71
- server.config.logger.info(`[vite-plugin-react-server] handleHotUpdate: file=${file}, normalized=${normalizedFile}, isServerFile=${isServerFile}, hasHandler=${!!hmrHandler}`);
73
+ const isSourceFile = normalizedFile.startsWith(moduleBase + "/") && (file.endsWith(".tsx") || file.endsWith(".ts") || file.endsWith(".jsx") || file.endsWith(".js"));
74
+ const isClientFile = isSourceFile && (() => {
75
+ try {
76
+ const head = readFileSync(file, "utf-8").slice(0, 200);
77
+ return /^\s*["']use client["']/.test(head.split("\n")[0]);
78
+ } catch {
79
+ return false;
80
+ }
81
+ })();
82
+ const isServerFile = isSourceFile && !isClientFile;
72
83
  if (isServerFile && hmrHandler) {
73
84
  isProcessingHmr = true;
74
85
  try {
75
86
  server.config.logger.info(`[vite-plugin-react-server] File changed: ${file}, sending HMR update...`);
76
87
  hmrHandler.sendHmrUpdate(file);
77
- server.ws.send({
78
- type: "custom",
79
- event: "vite-plugin-react-server:server-component-update",
80
- data: {
81
- file: normalizedFile,
82
- path: file
83
- }
84
- });
85
88
  if (hmrHandler.restart) {
86
89
  if (restartTimeout) {
87
90
  clearTimeout(restartTimeout);
@@ -113,10 +116,9 @@ const vitePluginReactDevServer = function _vitePluginReactServerDevClient(option
113
116
  } else if (isServerFile && !hmrHandler) {
114
117
  server.config.logger.warn(`[vite-plugin-react-server] Server file changed but HMR handler not available yet: ${file}`);
115
118
  }
116
- return void 0;
117
119
  }
118
120
  };
119
121
  };
120
122
 
121
123
  export { vitePluginReactDevServer };
122
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLmNsaWVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGx1Z2luL2Rldi1zZXJ2ZXIvcGx1Z2luLmNsaWVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFZpdGVQbHVnaW5GbiB9IGZyb20gXCIuLi8uLi90eXBlcy5qc1wiO1xuaW1wb3J0IHsgY29uZmlndXJlUmVhY3RTZXJ2ZXIgfSBmcm9tIFwiLi9jb25maWd1cmVSZWFjdFNlcnZlci5jbGllbnQuanNcIjtcbmltcG9ydCB7IHJlc29sdmVPcHRpb25zIH0gZnJvbSBcIi4uL2NvbmZpZy9yZXNvbHZlT3B0aW9ucy5qc1wiO1xuaW1wb3J0IHR5cGUgeyBDb25maWdFbnYgfSBmcm9tIFwidml0ZVwiO1xuXG5cbi8qKlxuICogRGV2IHNlcnZlciBwbHVnaW4gZm9yIGNsaWVudCBlbnZpcm9ubWVudC5cbiAqIFVzZXMgY29uZmlndXJlU2VydmVyIGhvb2sgZm9yIHByb3BlciBkZXYgc2VydmVyIHNldHVwLlxuICovXG5leHBvcnQgY29uc3Qgdml0ZVBsdWdpblJlYWN0RGV2U2VydmVyOiBWaXRlUGx1Z2luRm4gPSBmdW5jdGlvbiBfdml0ZVBsdWdpblJlYWN0U2VydmVyRGV2Q2xpZW50KG9wdGlvbnMpIHtcbiAgaWYgKG9wdGlvbnMgPT0gbnVsbCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIm9wdGlvbnMgaXMgcmVxdWlyZWRcIik7XG4gIH1cblxuICBpZiAob3B0aW9ucy52ZXJib3NlKSB7XG4gIH1cbiAgXG4gIGNvbnN0IHJlc29sdmVkT3B0aW9ucyA9IHJlc29sdmVPcHRpb25zKG9wdGlvbnMpO1xuICBpZiAocmVzb2x2ZWRPcHRpb25zLnR5cGUgPT09IFwiZXJyb3JcIikge1xuICAgIGlmIChyZXNvbHZlZE9wdGlvbnMuZXJyb3IgIT0gbnVsbCkge1xuICAgICAgdGhyb3cgcmVzb2x2ZWRPcHRpb25zLmVycm9yO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJGYWlsZWQgdG8gcmVzb2x2ZSBvcHRpb25zXCIpO1xuICB9XG4gIGNvbnN0IHVzZXJPcHRpb25zID0gcmVzb2x2ZWRPcHRpb25zLnVzZXJPcHRpb25zO1xuICBcblxuICBsZXQgY29uZmlnRW52OiBDb25maWdFbnYgfCB1bmRlZmluZWQ7XG4gIGxldCBobXJIYW5kbGVyOiB7IHJlc3RhcnQ6ICgoKSA9PiBQcm9taXNlPHZvaWQ+KSB8IG51bGw7IHNlbmRIbXJVcGRhdGU6IChmaWxlOiBzdHJpbmcsIHJvdXRlcz86IHN0cmluZ1tdKSA9PiB2b2lkIH0gfCBudWxsID0gbnVsbDtcbiAgbGV0IGlzUHJvY2Vzc2luZ0htciA9IGZhbHNlOyAvLyBQcmV2ZW50IHJlY3Vyc2l2ZSBITVIgdXBkYXRlc1xuICBsZXQgcmVzdGFydFRpbWVvdXQ6IE5vZGVKUy5UaW1lb3V0IHwgbnVsbCA9IG51bGw7IC8vIERlYm91bmNlIHdvcmtlciByZXN0YXJ0c1xuXG4gIHJldHVybiB7XG4gICAgbmFtZTogXCJ2aXRlLXBsdWdpbi1yZWFjdC1zZXJ2ZXI6ZGV2LXNlcnZlci1jbGllbnRcIixcbiAgICBhcHBseTogXCJzZXJ2ZVwiLCAvLyBPbmx5IGFwcGx5IGluIGRldiBzZXJ2ZXIgbW9kZVxuICAgIC8vIE5vdGU6IFJlbW92ZWQgYXBwbHlUb0Vudmlyb25tZW50IC0gaGFuZGxlSG90VXBkYXRlIG5lZWRzIHRvIHJ1biByZWdhcmRsZXNzXG4gICAgLy8gVGhlIHBsdWdpbiBzaG91bGQgYXBwbHkgdG8gY2xpZW50IGVudmlyb25tZW50LCBidXQgaGFuZGxlSG90VXBkYXRlIGlzIGEgZGV2IHNlcnZlciBob29rXG4gICAgLy8gdGhhdCBzaG91bGQgd29yayByZWdhcmRsZXNzIG9mIGVudmlyb25tZW50IGZpbHRlcmluZ1xuICAgIGNvbmZpZyhfY29uZmlnLCB2aXRlQ29uZmlnRW52KSB7XG4gICAgICBjb25maWdFbnYgPSB2aXRlQ29uZmlnRW52O1xuICBcbiAgICB9LFxuICAgIGNvbmZpZ3VyZVNlcnZlcihzZXJ2ZXIpIHsgICAgICBcbiAgICAgIC8vIExvZyB0aGF0IHBsdWdpbiBpcyBiZWluZyBjb25maWd1cmVkXG4gICAgICBzZXJ2ZXIuY29uZmlnLmxvZ2dlci5pbmZvKGBbdml0ZS1wbHVnaW4tcmVhY3Qtc2VydmVyXSBEZXYgc2VydmVyIHBsdWdpbiBjb25maWd1cmVkIGZvciBjbGllbnQgZW52aXJvbm1lbnRgKTtcbiAgICAgIFxuICAgICAgLy8gQ29uZmlndXJlIHRoZSBSZWFjdCBzZXJ2ZXIgZm9yIGNsaWVudCBlbnZpcm9ubWVudCAod29ya2VyLWJhc2VkKVxuICAgICAgLy8gVGhpcyB1c2VzIHRoZSBleGlzdGluZyBjb25maWd1cmVSZWFjdFNlcnZlci5jbGllbnQuanMgaW1wbGVtZW50YXRpb25cbiAgICAgIGhtckhhbmRsZXIgPSBjb25maWd1cmVSZWFjdFNlcnZlcih7XG4gICAgICAgIHNlcnZlcixcbiAgICAgICAgYXV0b0Rpc2NvdmVyZWRGaWxlczoge1xuICAgICAgICAgIHByb3BzTWFwOiBuZXcgTWFwKCksXG4gICAgICAgICAgcGFnZU1hcDogbmV3IE1hcCgpLFxuICAgICAgICAgIHJvb3RNYXA6IG5ldyBNYXAoKSxcbiAgICAgICAgICBodG1sTWFwOiBuZXcgTWFwKCksXG4gICAgICAgICAgcm91dGVNYXA6IG5ldyBNYXAoKSxcbiAgICAgICAgICB1cmxNYXA6IG5ldyBNYXAoKSxcbiAgICAgICAgICBlcnJvcnM6IFtdLFxuICAgICAgICAgIHdvcmtlclBhdGhzOiB7fSxcbiAgICAgICAgICBzZXJ2ZXJFbnRyeTogbnVsbCxcbiAgICAgICAgICBjbGllbnRFbnRyeToge30sXG4gICAgICAgICAgY2xpZW50SW5wdXRzOiB7fSxcbiAgICAgICAgICBzdGF0aWNJbnB1dHM6IHt9LFxuICAgICAgICAgIHNlcnZlcklucHV0czoge30sXG4gICAgICAgICAgLy8gc3RhdGljTWFuaWZlc3QgcmVtb3ZlZCBmcm9tIEF1dG9EaXNjb3ZlcmVkRmlsZXNcbiAgICAgICAgICBzZXJ2ZXJBY3Rpb25zOiB7fSxcbiAgICAgICAgfSxcbiAgICAgICAgdXNlck9wdGlvbnMsXG4gICAgICAgIGNvbmZpZ0VudjogY29uZmlnRW52ISxcbiAgICAgICAgc2VydmVyTWFuaWZlc3Q6IHt9LCBcbiAgICAgICAgcmVzb2x2ZWRDb25maWc6IHNlcnZlci5jb25maWcsXG4gICAgICB9KTtcbiAgICB9LFxuICAgIGhhbmRsZUhvdFVwZGF0ZSh7IGZpbGUsIHNlcnZlciB9KSB7XG4gICAgICAvLyBQcmV2ZW50IHJlY3Vyc2l2ZSBITVIgdXBkYXRlc1xuICAgICAgaWYgKGlzUHJvY2Vzc2luZ0htcikge1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgICAgXG4gICAgICAvLyBIYW5kbGUgc2VydmVyIGNvbXBvbmVudCBmaWxlIGNoYW5nZXNcbiAgICAgIGNvbnN0IG1vZHVsZUJhc2UgPSB1c2VyT3B0aW9ucy5tb2R1bGVCYXNlIHx8IFwic3JjXCI7XG4gICAgICBjb25zdCBwcm9qZWN0Um9vdCA9IHVzZXJPcHRpb25zLnByb2plY3RSb290IHx8IHNlcnZlci5jb25maWcucm9vdDtcbiAgICAgIFxuICAgICAgLy8gTm9ybWFsaXplIHBhdGhzIGZvciBjb21wYXJpc29uIChoYW5kbGUgYm90aCBhYnNvbHV0ZSBhbmQgcmVsYXRpdmUpXG4gICAgICBjb25zdCBub3JtYWxpemVkRmlsZSA9IGZpbGUucmVwbGFjZShwcm9qZWN0Um9vdCwgJycpLnJlcGxhY2UoL15cXC8rLywgJycpO1xuICAgICAgY29uc3QgaXNTZXJ2ZXJGaWxlID0gbm9ybWFsaXplZEZpbGUuc3RhcnRzV2l0aChtb2R1bGVCYXNlICsgJy8nKSAmJiBcbiAgICAgICAgKGZpbGUuZW5kc1dpdGgoJy50c3gnKSB8fCBmaWxlLmVuZHNXaXRoKCcudHMnKSB8fCBmaWxlLmVuZHNXaXRoKCcuanN4JykgfHwgZmlsZS5lbmRzV2l0aCgnLmpzJykpO1xuICAgICAgXG4gICAgICAvLyBBbHdheXMgbG9nIGZvciBkZWJ1Z2dpbmdcbiAgICAgIHNlcnZlci5jb25maWcubG9nZ2VyLmluZm8oYFt2aXRlLXBsdWdpbi1yZWFjdC1zZXJ2ZXJdIGhhbmRsZUhvdFVwZGF0ZTogZmlsZT0ke2ZpbGV9LCBub3JtYWxpemVkPSR7bm9ybWFsaXplZEZpbGV9LCBpc1NlcnZlckZpbGU9JHtpc1NlcnZlckZpbGV9LCBoYXNIYW5kbGVyPSR7ISFobXJIYW5kbGVyfWApO1xuICAgICAgXG4gICAgICBpZiAoaXNTZXJ2ZXJGaWxlICYmIGhtckhhbmRsZXIpIHtcbiAgICAgICAgaXNQcm9jZXNzaW5nSG1yID0gdHJ1ZTtcbiAgICAgICAgXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgc2VydmVyLmNvbmZpZy5sb2dnZXIuaW5mbyhgW3ZpdGUtcGx1Z2luLXJlYWN0LXNlcnZlcl0gRmlsZSBjaGFuZ2VkOiAke2ZpbGV9LCBzZW5kaW5nIEhNUiB1cGRhdGUuLi5gKTtcbiAgICAgICAgICBcbiAgICAgICAgICAvLyBDUklUSUNBTDogU2VuZCBITVJfVVBEQVRFIG1lc3NhZ2UgdG8gd29ya2VyIHRvIGludmFsaWRhdGUgbW9kdWxlc1xuICAgICAgICAgIC8vIFRoaXMgY2xlYXJzIGNvbXBvbmVudCBjYWNoZXMsIGJ1dCBOb2RlLmpzJ3MgRVMgbW9kdWxlIGNhY2hlIHBlcnNpc3RzXG4gICAgICAgICAgaG1ySGFuZGxlci5zZW5kSG1yVXBkYXRlKGZpbGUpO1xuICAgICAgICAgIFxuICAgICAgICAgIC8vIENSSVRJQ0FMOiBTZW5kIGN1c3RvbSBITVIgbWVzc2FnZSB0byBjbGllbnQgdmlhIFdlYlNvY2tldFxuICAgICAgICAgIC8vIFNlcnZlciBjb21wb25lbnRzIGFyZW4ndCBpbiB0aGUgY2xpZW50IGJ1bmRsZSwgc28gdml0ZTpiZWZvcmVVcGRhdGUgZG9lc24ndCBmaXJlXG4gICAgICAgICAgLy8gV2UgbmVlZCB0byBtYW51YWxseSBub3RpZnkgdGhlIGNsaWVudCB0byByZWZldGNoIHRoZSBSU0Mgc3RyZWFtXG4gICAgICAgICAgc2VydmVyLndzLnNlbmQoe1xuICAgICAgICAgICAgdHlwZTogJ2N1c3RvbScsXG4gICAgICAgICAgICBldmVudDogJ3ZpdGUtcGx1Z2luLXJlYWN0LXNlcnZlcjpzZXJ2ZXItY29tcG9uZW50LXVwZGF0ZScsXG4gICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgIGZpbGU6IG5vcm1hbGl6ZWRGaWxlLFxuICAgICAgICAgICAgICBwYXRoOiBmaWxlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBcbiAgICAgICAgICAvLyBDUklUSUNBTDogTm9kZS5qcyBjYWNoZXMgRVMgbW9kdWxlcywgc28gd2UgbmVlZCB0byByZXN0YXJ0IHRoZSB3b3JrZXJcbiAgICAgICAgICAvLyB0byBjbGVhciB0aGUgbW9kdWxlIGNhY2hlLiBEZWJvdW5jZSByZXN0YXJ0cyB0byBwcmV2ZW50IHJlY3Vyc2lvbi5cbiAgICAgICAgICBpZiAoaG1ySGFuZGxlci5yZXN0YXJ0KSB7XG4gICAgICAgICAgICAvLyBDbGVhciBhbnkgcGVuZGluZyByZXN0YXJ0XG4gICAgICAgICAgICBpZiAocmVzdGFydFRpbWVvdXQpIHtcbiAgICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHJlc3RhcnRUaW1lb3V0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLy8gRGVib3VuY2Ugd29ya2VyIHJlc3RhcnQgdG8gcHJldmVudCByZWN1cnNpb25cbiAgICAgICAgICAgIC8vIFdhaXQgNTAwbXMgYWZ0ZXIgdGhlIGxhc3QgZmlsZSBjaGFuZ2UgYmVmb3JlIHJlc3RhcnRpbmdcbiAgICAgICAgICAgIHJlc3RhcnRUaW1lb3V0ID0gc2V0VGltZW91dChhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgc2VydmVyLmNvbmZpZy5sb2dnZXIuaW5mbyhgW3ZpdGUtcGx1Z2luLXJlYWN0LXNlcnZlcl0gUmVzdGFydGluZyB3b3JrZXIgdG8gY2xlYXIgTm9kZS5qcyBtb2R1bGUgY2FjaGUuLi5gKTtcbiAgICAgICAgICAgICAgICBhd2FpdCBobXJIYW5kbGVyIS5yZXN0YXJ0ISgpO1xuICAgICAgICAgICAgICAgIHNlcnZlci5jb25maWcubG9nZ2VyLmluZm8oYFt2aXRlLXBsdWdpbi1yZWFjdC1zZXJ2ZXJdIFdvcmtlciByZXN0YXJ0ZWQgc3VjY2Vzc2Z1bGx5YCk7XG4gICAgICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICAgICAgc2VydmVyLmNvbmZpZy5sb2dnZXIuZXJyb3IoYFt2aXRlLXBsdWdpbi1yZWFjdC1zZXJ2ZXJdIEZhaWxlZCB0byByZXN0YXJ0IHdvcmtlcjogJHtlcnJvcn1gKTtcbiAgICAgICAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICAgICAgICByZXN0YXJ0VGltZW91dCA9IG51bGw7XG4gICAgICAgICAgICAgICAgLy8gUmVzZXQgZmxhZyBhZnRlciByZXN0YXJ0IGNvbXBsZXRlc1xuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgaXNQcm9jZXNzaW5nSG1yID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfSwgMTAwKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgNTAwKTsgLy8gNTAwbXMgZGVib3VuY2VcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gTm8gcmVzdGFydCBmdW5jdGlvbiBhdmFpbGFibGUgeWV0IC0gd29ya2VyIGhhc24ndCBiZWVuIGNyZWF0ZWRcbiAgICAgICAgICAgIC8vIFRoaXMgaXMgZXhwZWN0ZWQgaWYgaGFuZGxlSG90VXBkYXRlIGZpcmVzIGJlZm9yZSB0aGUgZmlyc3QgcmVxdWVzdFxuICAgICAgICAgICAgc2VydmVyLmNvbmZpZy5sb2dnZXIud2FybihgW3ZpdGUtcGx1Z2luLXJlYWN0LXNlcnZlcl0gUmVzdGFydCBmdW5jdGlvbiBub3QgYXZhaWxhYmxlIHlldCAtIHdvcmtlciB3aWxsIGJlIGNyZWF0ZWQgb24gbmV4dCByZXF1ZXN0YCk7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgaXNQcm9jZXNzaW5nSG1yID0gZmFsc2U7XG4gICAgICAgICAgICB9LCAxMDApO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICBzZXJ2ZXIuY29uZmlnLmxvZ2dlci5lcnJvcihgW3ZpdGUtcGx1Z2luLXJlYWN0LXNlcnZlcl0gRXJyb3IgaGFuZGxpbmcgSE1SIHVwZGF0ZTogJHtlcnJvcn1gKTtcbiAgICAgICAgICBpc1Byb2Nlc3NpbmdIbXIgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChpc1NlcnZlckZpbGUgJiYgIWhtckhhbmRsZXIpIHtcbiAgICAgICAgc2VydmVyLmNvbmZpZy5sb2dnZXIud2FybihgW3ZpdGUtcGx1Z2luLXJlYWN0LXNlcnZlcl0gU2VydmVyIGZpbGUgY2hhbmdlZCBidXQgSE1SIGhhbmRsZXIgbm90IGF2YWlsYWJsZSB5ZXQ6ICR7ZmlsZX1gKTtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgLy8gUmV0dXJuIHVuZGVmaW5lZCB0byBhbGxvdyBvdGhlciBwbHVnaW5zIHRvIGhhbmRsZSB0aGUgdXBkYXRlXG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH0sXG4gIH07XG59O1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBVWEsTUFBQSx3QkFBQSxHQUF5QyxTQUFTLCtCQUFBLENBQWdDLE9BQVMsRUFBQTtBQUN0RyxFQUFBLElBQUksV0FBVyxJQUFNLEVBQUE7QUFDbkIsSUFBTSxNQUFBLElBQUksTUFBTSxxQkFBcUIsQ0FBQTtBQUFBO0FBR3ZDLEVBQUEsSUFBSSxRQUFRLE9BQVMsRUFBQTtBQUdyQixFQUFNLE1BQUEsZUFBQSxHQUFrQixlQUFlLE9BQU8sQ0FBQTtBQUM5QyxFQUFJLElBQUEsZUFBQSxDQUFnQixTQUFTLE9BQVMsRUFBQTtBQUNwQyxJQUFJLElBQUEsZUFBQSxDQUFn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
124
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLmNsaWVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGx1Z2luL2Rldi1zZXJ2ZXIvcGx1Z2luLmNsaWVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZWFkRmlsZVN5bmMgfSBmcm9tIFwibm9kZTpmc1wiO1xuaW1wb3J0IHR5cGUgeyBWaXRlUGx1Z2luRm4gfSBmcm9tIFwiLi4vLi4vdHlwZXMuanNcIjtcbmltcG9ydCB7IGNvbmZpZ3VyZVJlYWN0U2VydmVyIH0gZnJvbSBcIi4vY29uZmlndXJlUmVhY3RTZXJ2ZXIuY2xpZW50LmpzXCI7XG5pbXBvcnQgeyByZXNvbHZlT3B0aW9ucyB9IGZyb20gXCIuLi9jb25maWcvcmVzb2x2ZU9wdGlvbnMuanNcIjtcbmltcG9ydCB0eXBlIHsgQ29uZmlnRW52IH0gZnJvbSBcInZpdGVcIjtcblxuXG4vKipcbiAqIERldiBzZXJ2ZXIgcGx1Z2luIGZvciBjbGllbnQgZW52aXJvbm1lbnQuXG4gKiBVc2VzIGNvbmZpZ3VyZVNlcnZlciBob29rIGZvciBwcm9wZXIgZGV2IHNlcnZlciBzZXR1cC5cbiAqL1xuZXhwb3J0IGNvbnN0IHZpdGVQbHVnaW5SZWFjdERldlNlcnZlcjogVml0ZVBsdWdpbkZuID0gZnVuY3Rpb24gX3ZpdGVQbHVnaW5SZWFjdFNlcnZlckRldkNsaWVudChvcHRpb25zKSB7XG4gIGlmIChvcHRpb25zID09IG51bGwpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJvcHRpb25zIGlzIHJlcXVpcmVkXCIpO1xuICB9XG5cbiAgaWYgKG9wdGlvbnMudmVyYm9zZSkge1xuICB9XG4gIFxuICBjb25zdCByZXNvbHZlZE9wdGlvbnMgPSByZXNvbHZlT3B0aW9ucyhvcHRpb25zKTtcbiAgaWYgKHJlc29sdmVkT3B0aW9ucy50eXBlID09PSBcImVycm9yXCIpIHtcbiAgICBpZiAocmVzb2x2ZWRPcHRpb25zLmVycm9yICE9IG51bGwpIHtcbiAgICAgIHRocm93IHJlc29sdmVkT3B0aW9ucy5lcnJvcjtcbiAgICB9XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiRmFpbGVkIHRvIHJlc29sdmUgb3B0aW9uc1wiKTtcbiAgfVxuICBjb25zdCB1c2VyT3B0aW9ucyA9IHJlc29sdmVkT3B0aW9ucy51c2VyT3B0aW9ucztcbiAgXG5cbiAgbGV0IGNvbmZpZ0VudjogQ29uZmlnRW52IHwgdW5kZWZpbmVkO1xuICBsZXQgaG1ySGFuZGxlcjogeyByZXN0YXJ0OiAoKCkgPT4gUHJvbWlzZTx2b2lkPikgfCBudWxsOyBzZW5kSG1yVXBkYXRlOiAoZmlsZTogc3RyaW5nLCByb3V0ZXM/OiBzdHJpbmdbXSkgPT4gdm9pZCB9IHwgbnVsbCA9IG51bGw7XG4gIGxldCBpc1Byb2Nlc3NpbmdIbXIgPSBmYWxzZTsgLy8gUHJldmVudCByZWN1cnNpdmUgSE1SIHVwZGF0ZXNcbiAgbGV0IHJlc3RhcnRUaW1lb3V0OiBOb2RlSlMuVGltZW91dCB8IG51bGwgPSBudWxsOyAvLyBEZWJvdW5jZSB3b3JrZXIgcmVzdGFydHNcblxuICByZXR1cm4ge1xuICAgIG5hbWU6IFwidml0ZS1wbHVnaW4tcmVhY3Qtc2VydmVyOmRldi1zZXJ2ZXItY2xpZW50XCIsXG4gICAgYXBwbHk6IFwic2VydmVcIiwgLy8gT25seSBhcHBseSBpbiBkZXYgc2VydmVyIG1vZGVcbiAgICAvLyBObyBhcHBseVRvRW52aXJvbm1lbnQg4oCUIGhvdFVwZGF0ZSBuZWVkcyB0byBydW4gZm9yIGFsbCBlbnZpcm9ubWVudHNcbiAgICAvLyB0aGF0IHNob3VsZCB3b3JrIHJlZ2FyZGxlc3Mgb2YgZW52aXJvbm1lbnQgZmlsdGVyaW5nXG4gICAgY29uZmlnKF9jb25maWcsIHZpdGVDb25maWdFbnYpIHtcbiAgICAgIGNvbmZpZ0VudiA9IHZpdGVDb25maWdFbnY7XG4gIFxuICAgIH0sXG4gICAgY29uZmlndXJlU2VydmVyKHNlcnZlcikgeyAgICAgIFxuICAgICAgLy8gTG9nIHRoYXQgcGx1Z2luIGlzIGJlaW5nIGNvbmZpZ3VyZWRcbiAgICAgIHNlcnZlci5jb25maWcubG9nZ2VyLmluZm8oYFt2aXRlLXBsdWdpbi1yZWFjdC1zZXJ2ZXJdIERldiBzZXJ2ZXIgcGx1Z2luIGNvbmZpZ3VyZWQgZm9yIGNsaWVudCBlbnZpcm9ubWVudGApO1xuICAgICAgXG4gICAgICAvLyBDb25maWd1cmUgdGhlIFJlYWN0IHNlcnZlciBmb3IgY2xpZW50IGVudmlyb25tZW50ICh3b3JrZXItYmFzZWQpXG4gICAgICAvLyBUaGlzIHVzZXMgdGhlIGV4aXN0aW5nIGNvbmZpZ3VyZVJlYWN0U2VydmVyLmNsaWVudC5qcyBpbXBsZW1lbnRhdGlvblxuICAgICAgaG1ySGFuZGxlciA9IGNvbmZpZ3VyZVJlYWN0U2VydmVyKHtcbiAgICAgICAgc2VydmVyLFxuICAgICAgICBhdXRvRGlzY292ZXJlZEZpbGVzOiB7XG4gICAgICAgICAgcHJvcHNNYXA6IG5ldyBNYXAoKSxcbiAgICAgICAgICBwYWdlTWFwOiBuZXcgTWFwKCksXG4gICAgICAgICAgcm9vdE1hcDogbmV3IE1hcCgpLFxuICAgICAgICAgIGh0bWxNYXA6IG5ldyBNYXAoKSxcbiAgICAgICAgICByb3V0ZU1hcDogbmV3IE1hcCgpLFxuICAgICAgICAgIHVybE1hcDogbmV3IE1hcCgpLFxuICAgICAgICAgIGVycm9yczogW10sXG4gICAgICAgICAgd29ya2VyUGF0aHM6IHt9LFxuICAgICAgICAgIHNlcnZlckVudHJ5OiBudWxsLFxuICAgICAgICAgIGNsaWVudEVudHJ5OiB7fSxcbiAgICAgICAgICBjbGllbnRJbnB1dHM6IHt9LFxuICAgICAgICAgIHN0YXRpY0lucHV0czoge30sXG4gICAgICAgICAgc2VydmVySW5wdXRzOiB7fSxcbiAgICAgICAgICAvLyBzdGF0aWNNYW5pZmVzdCByZW1vdmVkIGZyb20gQXV0b0Rpc2NvdmVyZWRGaWxlc1xuICAgICAgICAgIHNlcnZlckFjdGlvbnM6IHt9LFxuICAgICAgICB9LFxuICAgICAgICB1c2VyT3B0aW9ucyxcbiAgICAgICAgY29uZmlnRW52OiBjb25maWdFbnYhLFxuICAgICAgICBzZXJ2ZXJNYW5pZmVzdDoge30sIFxuICAgICAgICByZXNvbHZlZENvbmZpZzogc2VydmVyLmNvbmZpZyxcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgaG90VXBkYXRlKGN0eDogYW55KSB7XG4gICAgICBjb25zdCB7IGZpbGUsIHNlcnZlciB9ID0gY3R4O1xuICAgICAgY29uc3QgZW52TmFtZSA9IGN0eC5lbnZpcm9ubWVudD8ubmFtZSA/PyAndW5rbm93bic7XG4gICAgICBcbiAgICAgIC8vIE9ubHkgcnVuIHdvcmtlciBpbnZhbGlkYXRpb24gZnJvbSB0aGUgY2xpZW50IGVudmlyb25tZW50IChvbmNlIHBlciBjaGFuZ2UpXG4gICAgICBpZiAoZW52TmFtZSAhPT0gJ2NsaWVudCcpIHJldHVybjtcbiAgICAgIFxuICAgICAgLy8gUHJldmVudCByZWN1cnNpdmUgSE1SIHVwZGF0ZXNcbiAgICAgIGlmIChpc1Byb2Nlc3NpbmdIbXIpIHtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgLy8gSGFuZGxlIHNlcnZlciBjb21wb25lbnQgZmlsZSBjaGFuZ2VzXG4gICAgICBjb25zdCBtb2R1bGVCYXNlID0gdXNlck9wdGlvbnMubW9kdWxlQmFzZSB8fCBcInNyY1wiO1xuICAgICAgY29uc3QgcHJvamVjdFJvb3QgPSB1c2VyT3B0aW9ucy5wcm9qZWN0Um9vdCB8fCBzZXJ2ZXIuY29uZmlnLnJvb3Q7XG4gICAgICBcbiAgICAgIC8vIE5vcm1hbGl6ZSBwYXRocyBmb3IgY29tcGFyaXNvbiAoaGFuZGxlIGJvdGggYWJzb2x1dGUgYW5kIHJlbGF0aXZlKVxuICAgICAgY29uc3Qgbm9ybWFsaXplZEZpbGUgPSBmaWxlLnJlcGxhY2UocHJvamVjdFJvb3QsICcnKS5yZXBsYWNlKC9eXFwvKy8sICcnKTtcbiAgICAgIGNvbnN0IGlzU291cmNlRmlsZSA9IG5vcm1hbGl6ZWRGaWxlLnN0YXJ0c1dpdGgobW9kdWxlQmFzZSArICcvJykgJiYgXG4gICAgICAgIChmaWxlLmVuZHNXaXRoKCcudHN4JykgfHwgZmlsZS5lbmRzV2l0aCgnLnRzJykgfHwgZmlsZS5lbmRzV2l0aCgnLmpzeCcpIHx8IGZpbGUuZW5kc1dpdGgoJy5qcycpKTtcbiAgICAgIFxuICAgICAgLy8gU2tpcCBjbGllbnQgY29tcG9uZW50cyDigJQgbGV0IEB2aXRlanMvcGx1Z2luLXJlYWN0IGhhbmRsZSB0aGVtIHdpdGggRmFzdCBSZWZyZXNoXG4gICAgICBjb25zdCBpc0NsaWVudEZpbGUgPSBpc1NvdXJjZUZpbGUgJiYgKCgpID0+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCBoZWFkID0gcmVhZEZpbGVTeW5jKGZpbGUsICd1dGYtOCcpLnNsaWNlKDAsIDIwMCk7XG4gICAgICAgICAgcmV0dXJuIC9eXFxzKltcIidddXNlIGNsaWVudFtcIiddLy50ZXN0KGhlYWQuc3BsaXQoJ1xcbicpWzBdKTtcbiAgICAgICAgfSBjYXRjaCB7IHJldHVybiBmYWxzZTsgfVxuICAgICAgfSkoKTtcbiAgICAgIFxuICAgICAgY29uc3QgaXNTZXJ2ZXJGaWxlID0gaXNTb3VyY2VGaWxlICYmICFpc0NsaWVudEZpbGU7XG4gICAgICBcbiAgICAgIGlmIChpc1NlcnZlckZpbGUgJiYgaG1ySGFuZGxlcikge1xuICAgICAgICBpc1Byb2Nlc3NpbmdIbXIgPSB0cnVlO1xuICAgICAgICBcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBzZXJ2ZXIuY29uZmlnLmxvZ2dlci5pbmZvKGBbdml0ZS1wbHVnaW4tcmVhY3Qtc2VydmVyXSBGaWxlIGNoYW5nZWQ6ICR7ZmlsZX0sIHNlbmRpbmcgSE1SIHVwZGF0ZS4uLmApO1xuICAgICAgICAgIFxuICAgICAgICAgIC8vIENSSVRJQ0FMOiBTZW5kIEhNUl9VUERBVEUgbWVzc2FnZSB0byB3b3JrZXIgdG8gaW52YWxpZGF0ZSBtb2R1bGVzXG4gICAgICAgICAgLy8gVGhpcyBjbGVhcnMgY29tcG9uZW50IGNhY2hlcywgYnV0IE5vZGUuanMncyBFUyBtb2R1bGUgY2FjaGUgcGVyc2lzdHNcbiAgICAgICAgICBobXJIYW5kbGVyLnNlbmRIbXJVcGRhdGUoZmlsZSk7XG4gICAgICAgICAgXG4gICAgICAgICAgLy8gTk9URTogVGhlIFdTIGV2ZW50IHRvIG5vdGlmeSB0aGUgY2xpZW50IGlzIHNlbnQgYnkgdGhlIGhvdFVwZGF0ZSBob29rXG4gICAgICAgICAgLy8gaW4gcGx1Z2luLnNlcnZlci50cyDigJQgZG9uJ3QgZHVwbGljYXRlIGl0IGhlcmUuXG4gICAgICAgICAgXG4gICAgICAgICAgLy8gQ1JJVElDQUw6IE5vZGUuanMgY2FjaGVzIEVTIG1vZHVsZXMsIHNvIHdlIG5lZWQgdG8gcmVzdGFydCB0aGUgd29ya2VyXG4gICAgICAgICAgLy8gdG8gY2xlYXIgdGhlIG1vZHVsZSBjYWNoZS4gRGVib3VuY2UgcmVzdGFydHMgdG8gcHJldmVudCByZWN1cnNpb24uXG4gICAgICAgICAgaWYgKGhtckhhbmRsZXIucmVzdGFydCkge1xuICAgICAgICAgICAgLy8gQ2xlYXIgYW55IHBlbmRpbmcgcmVzdGFydFxuICAgICAgICAgICAgaWYgKHJlc3RhcnRUaW1lb3V0KSB7XG4gICAgICAgICAgICAgIGNsZWFyVGltZW91dChyZXN0YXJ0VGltZW91dCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC8vIERlYm91bmNlIHdvcmtlciByZXN0YXJ0IHRvIHByZXZlbnQgcmVjdXJzaW9uXG4gICAgICAgICAgICAvLyBXYWl0IDUwMG1zIGFmdGVyIHRoZSBsYXN0IGZpbGUgY2hhbmdlIGJlZm9yZSByZXN0YXJ0aW5nXG4gICAgICAgICAgICByZXN0YXJ0VGltZW91dCA9IHNldFRpbWVvdXQoYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIHNlcnZlci5jb25maWcubG9nZ2VyLmluZm8oYFt2aXRlLXBsdWdpbi1yZWFjdC1zZXJ2ZXJdIFJlc3RhcnRpbmcgd29ya2VyIHRvIGNsZWFyIE5vZGUuanMgbW9kdWxlIGNhY2hlLi4uYCk7XG4gICAgICAgICAgICAgICAgYXdhaXQgaG1ySGFuZGxlciEucmVzdGFydCEoKTtcbiAgICAgICAgICAgICAgICBzZXJ2ZXIuY29uZmlnLmxvZ2dlci5pbmZvKGBbdml0ZS1wbHVnaW4tcmVhY3Qtc2VydmVyXSBXb3JrZXIgcmVzdGFydGVkIHN1Y2Nlc3NmdWxseWApO1xuICAgICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICAgIHNlcnZlci5jb25maWcubG9nZ2VyLmVycm9yKGBbdml0ZS1wbHVnaW4tcmVhY3Qtc2VydmVyXSBGYWlsZWQgdG8gcmVzdGFydCB3b3JrZXI6ICR7ZXJyb3J9YCk7XG4gICAgICAgICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICAgICAgcmVzdGFydFRpbWVvdXQgPSBudWxsO1xuICAgICAgICAgICAgICAgIC8vIFJlc2V0IGZsYWcgYWZ0ZXIgcmVzdGFydCBjb21wbGV0ZXNcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgIGlzUHJvY2Vzc2luZ0htciA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH0sIDEwMCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIDUwMCk7IC8vIDUwMG1zIGRlYm91bmNlXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIE5vIHJlc3RhcnQgZnVuY3Rpb24gYXZhaWxhYmxlIHlldCAtIHdvcmtlciBoYXNuJ3QgYmVlbiBjcmVhdGVkXG4gICAgICAgICAgICAvLyBUaGlzIGlzIGV4cGVjdGVkIGlmIGhvdFVwZGF0ZSBmaXJlcyBiZWZvcmUgdGhlIGZpcnN0IHJlcXVlc3RcbiAgICAgICAgICAgIHNlcnZlci5jb25maWcubG9nZ2VyLndhcm4oYFt2aXRlLXBsdWdpbi1yZWFjdC1zZXJ2ZXJdIFJlc3RhcnQgZnVuY3Rpb24gbm90IGF2YWlsYWJsZSB5ZXQgLSB3b3JrZXIgd2lsbCBiZSBjcmVhdGVkIG9uIG5leHQgcmVxdWVzdGApO1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgIGlzUHJvY2Vzc2luZ0htciA9IGZhbHNlO1xuICAgICAgICAgICAgfSwgMTAwKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgc2VydmVyLmNvbmZpZy5sb2dnZXIuZXJyb3IoYFt2aXRlLXBsdWdpbi1yZWFjdC1zZXJ2ZXJdIEVycm9yIGhhbmRsaW5nIEhNUiB1cGRhdGU6ICR7ZXJyb3J9YCk7XG4gICAgICAgICAgaXNQcm9jZXNzaW5nSG1yID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoaXNTZXJ2ZXJGaWxlICYmICFobXJIYW5kbGVyKSB7XG4gICAgICAgIHNlcnZlci5jb25maWcubG9nZ2VyLndhcm4oYFt2aXRlLXBsdWdpbi1yZWFjdC1zZXJ2ZXJdIFNlcnZlciBmaWxlIGNoYW5nZWQgYnV0IEhNUiBoYW5kbGVyIG5vdCBhdmFpbGFibGUgeWV0OiAke2ZpbGV9YCk7XG4gICAgICB9XG4gICAgICBcbiAgICAgIC8vIERvbid0IHN1cHByZXNzIOKAlCBwbHVnaW4uc2VydmVyLnRzIGhvdFVwZGF0ZSBoYW5kbGVzIHBhZ2UgcmVsb2FkIHByZXZlbnRpb25cbiAgICB9LFxuICB9O1xufTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFXYSxNQUFBLHdCQUFBLEdBQXlDLFNBQVMsK0JBQUEsQ0FBZ0MsT0FBUyxFQUFBO0FBQ3RHLEVBQUEsSUFBSSxXQUFXLElBQU0sRUFBQTtBQUNuQixJQUFNLE1BQUEsSUFBSSxNQUFNLHFCQUFxQixDQUFBO0FBQUE7QUFHdkMsRUFBQSxJQUFJLFFBQVEsT0FBUyxFQUFBO0FBR3JCLEVBQU0sTUFBQSxlQUFBLEdBQWtCLGVBQWUsT0FBTyxDQUFBO0FBQzlDLEVBQUksSUFBQSxlQUFBLENBQWdCLFNBQVMsT0FBUyxFQUFBO0FBQ3BDLElBQUksSUFBQSxl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
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.server.d.ts","sourceRoot":"","sources":["../../../plugin/dev-server/plugin.server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAG1D,OAAO,KAAK,EAAE,MAAM,EAAiB,MAAM,MAAM,CAAC;AAElD;;;GAGG;AACH,eAAO,MAAM,wBAAwB,GAA4C,SAAS,mBAAmB,KAAG,MAAM,EA2HrH,CAAC"}
1
+ {"version":3,"file":"plugin.server.d.ts","sourceRoot":"","sources":["../../../plugin/dev-server/plugin.server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAG1D,OAAO,KAAK,EAAE,MAAM,EAAiB,MAAM,MAAM,CAAC;AAGlD;;;GAGG;AACH,eAAO,MAAM,wBAAwB,GAA4C,SAAS,mBAAmB,KAAG,MAAM,EA6LrH,CAAC"}
@@ -5,6 +5,7 @@
5
5
  */
6
6
  import { configureReactServer } from './configureReactServer.server.js';
7
7
  import { resolveOptions } from '../config/resolveOptions.js';
8
+ import { readFileSync } from 'node:fs';
8
9
 
9
10
  const vitePluginReactDevServer = function _vitePluginReactServerDevServer(options) {
10
11
  if (options == null) {
@@ -22,13 +23,59 @@ const vitePluginReactDevServer = function _vitePluginReactServerDevServer(option
22
23
  name: "vite-plugin-react-server:server-hmr",
23
24
  apply: "serve",
24
25
  // Server-level handleHotUpdate — sends custom WS event to client
26
+ // Vite 6 Environment API: hotUpdate runs per-environment.
27
+ // Prevent server/ssr environments from triggering page reload for client components.
28
+ hotUpdate(ctx) {
29
+ const { file, server } = ctx;
30
+ const envName = ctx.environment?.name ?? "unknown";
31
+ const moduleBase = userOptions.moduleBase || "src";
32
+ const projectRoot = userOptions.projectRoot || server?.config?.root || "";
33
+ const normalizedFile = file.replace(projectRoot, "").replace(/^\/+/, "");
34
+ const isSourceFile = normalizedFile.startsWith(moduleBase + "/");
35
+ if (!isSourceFile) return;
36
+ if (envName === "client") {
37
+ const isClient = (file.endsWith(".tsx") || file.endsWith(".ts") || file.endsWith(".jsx") || file.endsWith(".js")) && (() => {
38
+ try {
39
+ const head = readFileSync(file, "utf-8").slice(0, 200);
40
+ return /^\s*["']use client["']/.test(head.split("\n")[0]);
41
+ } catch {
42
+ return false;
43
+ }
44
+ })();
45
+ if (isClient) return;
46
+ server.config.logger.info(`[vite-plugin-react-server] File changed (RSC refetch): ${normalizedFile}`);
47
+ server.ws.send({
48
+ type: "custom",
49
+ event: "vite-plugin-react-server:server-component-update",
50
+ data: { file: normalizedFile, path: file }
51
+ });
52
+ return [];
53
+ }
54
+ if (envName === "server") {
55
+ const mod = ctx.environment?.moduleGraph?.getModulesByFile(file);
56
+ if (mod) {
57
+ for (const m of mod) {
58
+ ctx.environment.moduleGraph.invalidateModule(m);
59
+ }
60
+ }
61
+ }
62
+ return [];
63
+ },
25
64
  handleHotUpdate({ file, server }) {
26
65
  const moduleBase = userOptions.moduleBase || "src";
27
66
  const projectRoot = userOptions.projectRoot || server.config.root;
28
67
  const normalizedFile = file.replace(projectRoot, "").replace(/^\/+/, "");
29
- const isServerFile = normalizedFile.startsWith(moduleBase + "/") && (file.endsWith(".tsx") || file.endsWith(".ts") || file.endsWith(".jsx") || file.endsWith(".js"));
30
- if (isServerFile) {
31
- server.config.logger.info(`[vite-plugin-react-server] Server component changed: ${normalizedFile}`);
68
+ const isSourceFile = normalizedFile.startsWith(moduleBase + "/") && (file.endsWith(".tsx") || file.endsWith(".ts") || file.endsWith(".jsx") || file.endsWith(".js"));
69
+ const isClientFile = isSourceFile && (() => {
70
+ try {
71
+ const head = readFileSync(file, "utf-8").slice(0, 200);
72
+ return /^\s*["']use client["']/.test(head.split("\n")[0]);
73
+ } catch {
74
+ return false;
75
+ }
76
+ })();
77
+ if (isSourceFile && !isClientFile) {
78
+ server.config.logger.info(`[vite-plugin-react-server] File changed (RSC refetch): ${normalizedFile}`);
32
79
  server.ws.send({
33
80
  type: "custom",
34
81
  event: "vite-plugin-react-server:server-component-update",
@@ -45,6 +92,9 @@ const vitePluginReactDevServer = function _vitePluginReactServerDevServer(option
45
92
  }
46
93
  return [];
47
94
  }
95
+ if (isClientFile) {
96
+ return [];
97
+ }
48
98
  }
49
99
  };
50
100
  const serverPlugin = {
@@ -105,4 +155,4 @@ const vitePluginReactDevServer = function _vitePluginReactServerDevServer(option
105
155
  };
106
156
 
107
157
  export { vitePluginReactDevServer };
108
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLnNlcnZlci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGx1Z2luL2Rldi1zZXJ2ZXIvcGx1Z2luLnNlcnZlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFN0cmVhbVBsdWdpbk9wdGlvbnMgfSBmcm9tIFwiLi4vLi4vdHlwZXMuanNcIjtcbmltcG9ydCB7IGNvbmZpZ3VyZVJlYWN0U2VydmVyIH0gZnJvbSBcIi4vY29uZmlndXJlUmVhY3RTZXJ2ZXIuc2VydmVyLmpzXCI7XG5pbXBvcnQgeyByZXNvbHZlT3B0aW9ucyB9IGZyb20gXCIuLi9jb25maWcvcmVzb2x2ZU9wdGlvbnMuanNcIjtcbmltcG9ydCB0eXBlIHsgUGx1Z2luLCBWaXRlRGV2U2VydmVyIH0gZnJvbSBcInZpdGVcIjtcblxuLyoqXG4gKiBEZXYgc2VydmVyIHBsdWdpbiBmb3Igc2VydmVyIGVudmlyb25tZW50LlxuICogUmV0dXJucyB0d28gcGx1Z2luczogb25lIGZvciBITVIgaGFuZGxpbmcgKGFsbCBlbnZpcm9ubWVudHMpIGFuZCBvbmUgZm9yIHNlcnZlciBjb25maWcuXG4gKi9cbmV4cG9ydCBjb25zdCB2aXRlUGx1Z2luUmVhY3REZXZTZXJ2ZXIgPSBmdW5jdGlvbiBfdml0ZVBsdWdpblJlYWN0U2VydmVyRGV2U2VydmVyKG9wdGlvbnM6IFN0cmVhbVBsdWdpbk9wdGlvbnMpOiBQbHVnaW5bXSB7XG4gIGlmIChvcHRpb25zID09IG51bGwpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJvcHRpb25zIGlzIHJlcXVpcmVkXCIpO1xuICB9XG5cbiAgY29uc3QgcmVzb2x2ZWRPcHRpb25zID0gcmVzb2x2ZU9wdGlvbnMob3B0aW9ucyk7XG4gIGlmIChyZXNvbHZlZE9wdGlvbnMudHlwZSA9PT0gXCJlcnJvclwiKSB7XG4gICAgaWYgKHJlc29sdmVkT3B0aW9ucy5lcnJvciAhPSBudWxsKSB7XG4gICAgICB0aHJvdyByZXNvbHZlZE9wdGlvbnMuZXJyb3I7XG4gICAgfVxuICAgIHRocm93IG5ldyBFcnJvcihcIkZhaWxlZCB0byByZXNvbHZlIG9wdGlvbnNcIik7XG4gIH1cbiAgY29uc3QgdXNlck9wdGlvbnMgPSByZXNvbHZlZE9wdGlvbnMudXNlck9wdGlvbnM7XG5cbiAgLy8gU2VwYXJhdGUgcGx1Z2luIGZvciBITVIgaGFuZGxpbmcgKG11c3QgYXBwbHkgdG8gYWxsIGVudmlyb25tZW50cylcbiAgY29uc3QgaG1yUGx1Z2luID0ge1xuICAgIG5hbWU6IFwidml0ZS1wbHVnaW4tcmVhY3Qtc2VydmVyOnNlcnZlci1obXJcIixcbiAgICBhcHBseTogXCJzZXJ2ZVwiIGFzIGNvbnN0LFxuICAgIC8vIFNlcnZlci1sZXZlbCBoYW5kbGVIb3RVcGRhdGUg4oCUIHNlbmRzIGN1c3RvbSBXUyBldmVudCB0byBjbGllbnRcbiAgICBoYW5kbGVIb3RVcGRhdGUoeyBmaWxlLCBzZXJ2ZXIgfTogeyBmaWxlOiBzdHJpbmc7IHNlcnZlcjogVml0ZURldlNlcnZlciB9KSB7XG4gICAgICBjb25zdCBtb2R1bGVCYXNlID0gdXNlck9wdGlvbnMubW9kdWxlQmFzZSB8fCBcInNyY1wiO1xuICAgICAgY29uc3QgcHJvamVjdFJvb3QgPSB1c2VyT3B0aW9ucy5wcm9qZWN0Um9vdCB8fCBzZXJ2ZXIuY29uZmlnLnJvb3Q7XG4gICAgICBjb25zdCBub3JtYWxpemVkRmlsZSA9IGZpbGUucmVwbGFjZShwcm9qZWN0Um9vdCwgJycpLnJlcGxhY2UoL15cXC8rLywgJycpO1xuICAgICAgY29uc3QgaXNTZXJ2ZXJGaWxlID0gbm9ybWFsaXplZEZpbGUuc3RhcnRzV2l0aChtb2R1bGVCYXNlICsgJy8nKSAmJiBcbiAgICAgICAgKGZpbGUuZW5kc1dpdGgoJy50c3gnKSB8fCBmaWxlLmVuZHNXaXRoKCcudHMnKSB8fCBmaWxlLmVuZHNXaXRoKCcuanN4JykgfHwgZmlsZS5lbmRzV2l0aCgnLmpzJykpO1xuICAgICAgXG4gICAgICBpZiAoaXNTZXJ2ZXJGaWxlKSB7XG4gICAgICAgIHNlcnZlci5jb25maWcubG9nZ2VyLmluZm8oYFt2aXRlLXBsdWdpbi1yZWFjdC1zZXJ2ZXJdIFNlcnZlciBjb21wb25lbnQgY2hhbmdlZDogJHtub3JtYWxpemVkRmlsZX1gKTtcbiAgICAgICAgXG4gICAgICAgIC8vIFNlbmQgY3VzdG9tIEhNUiBldmVudCBzbyBjbGllbnQgY2FuIHJlZmV0Y2ggUlNDIHN0cmVhbVxuICAgICAgICBzZXJ2ZXIud3Muc2VuZCh7XG4gICAgICAgICAgdHlwZTogJ2N1c3RvbScsXG4gICAgICAgICAgZXZlbnQ6ICd2aXRlLXBsdWdpbi1yZWFjdC1zZXJ2ZXI6c2VydmVyLWNvbXBvbmVudC11cGRhdGUnLFxuICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgIGZpbGU6IG5vcm1hbGl6ZWRGaWxlLFxuICAgICAgICAgICAgcGF0aDogZmlsZSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgICAgXG4gICAgICAgIC8vIEludmFsaWRhdGUgdGhlIHNlcnZlciBtb2R1bGUgc28gbmV4dCByZXF1ZXN0IGdldHMgZnJlc2ggY29udGVudFxuICAgICAgICBjb25zdCBtb2QgPSBzZXJ2ZXIuZW52aXJvbm1lbnRzWydzZXJ2ZXInXT8ubW9kdWxlR3JhcGg/LmdldE1vZHVsZXNCeUZpbGUoZmlsZSk7XG4gICAgICAgIGlmIChtb2QpIHtcbiAgICAgICAgICBmb3IgKGNvbnN0IG0gb2YgbW9kKSB7XG4gICAgICAgICAgICBzZXJ2ZXIuZW52aXJvbm1lbnRzWydzZXJ2ZXInXT8ubW9kdWxlR3JhcGg/LmludmFsaWRhdGVNb2R1bGUobSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAvLyBSZXR1cm4gZW1wdHkgYXJyYXkgdG8gcHJldmVudCBWaXRlJ3MgZGVmYXVsdCBmdWxsLXBhZ2UgcmVsb2FkXG4gICAgICAgIC8vIFRoZSBjbGllbnQgd2lsbCByZWZldGNoIHRoZSBSU0Mgc3RyZWFtIHZpYSB0aGUgY3VzdG9tIGV2ZW50XG4gICAgICAgIHJldHVybiBbXTtcbiAgICAgIH1cbiAgICB9LFxuICB9O1xuXG4gIGNvbnN0IHNlcnZlclBsdWdpbiA9IHtcbiAgICBuYW1lOiBcInZpdGUtcGx1Z2luLXJlYWN0LXNlcnZlcjpkZXYtc2VydmVyLXNlcnZlclwiLFxuICAgIGFwcGx5OiBcInNlcnZlXCIgYXMgY29uc3QsXG4gICAgYXBwbHlUb0Vudmlyb25tZW50KHBhcnRpYWxFbnZpcm9ubWVudDogYW55KSB7XG4gICAgICByZXR1cm4gcGFydGlhbEVudmlyb25tZW50Py5jb25zdW1lciA9PT0gJ3NlcnZlcic7XG4gICAgfSxcbiAgICBjb25maWd1cmVTZXJ2ZXIoc2VydmVyOiBWaXRlRGV2U2VydmVyKSB7XG4gICAgICAvLyBMb2cgdGhhdCBwbHVnaW4gaXMgYmVpbmcgY29uZmlndXJlZFxuICAgICAgc2VydmVyLmNvbmZpZy5sb2dnZXIuaW5mbyhgW3ZpdGUtcGx1Z2luLXJlYWN0LXNlcnZlcl0gRGV2IHNlcnZlciBwbHVnaW4gY29uZmlndXJlZCBmb3Igc2VydmVyIGVudmlyb25tZW50IChyZWFjdC1zZXJ2ZXIgY29uZGl0aW9uKWApO1xuICAgICAgXG4gICAgICAvLyBDb25maWd1cmUgdGhlIFJlYWN0IHNlcnZlciBmb3Igc2VydmVyIGVudmlyb25tZW50IChkaXJlY3QgUlNDIHByb2Nlc3NpbmcpXG4gICAgICAvLyBUaGlzIHVzZXMgdGhlIGV4aXN0aW5nIGNvbmZpZ3VyZVJlYWN0U2VydmVyLnNlcnZlci5qcyBpbXBsZW1lbnRhdGlvblxuICAgICAgY29uZmlndXJlUmVhY3RTZXJ2ZXIoe1xuICAgICAgICBzZXJ2ZXIsXG4gICAgICAgIGF1dG9EaXNjb3ZlcmVkRmlsZXM6IHtcbiAgICAgICAgICBwcm9wc01hcDogbmV3IE1hcCgpLFxuICAgICAgICAgIHBhZ2VNYXA6IG5ldyBNYXAoKSxcbiAgICAgICAgICByb290TWFwOiBuZXcgTWFwKCksXG4gICAgICAgICAgaHRtbE1hcDogbmV3IE1hcCgpLFxuICAgICAgICAgIHJvdXRlTWFwOiBuZXcgTWFwKCksXG4gICAgICAgICAgdXJsTWFwOiBuZXcgTWFwKCksXG4gICAgICAgICAgZXJyb3JzOiBbXSxcbiAgICAgICAgICB3b3JrZXJQYXRoczoge30sXG4gICAgICAgICAgc2VydmVyRW50cnk6IG51bGwsXG4gICAgICAgICAgY2xpZW50RW50cnk6IHt9LFxuICAgICAgICAgIGNsaWVudElucHV0czoge30sXG4gICAgICAgICAgc3RhdGljSW5wdXRzOiB7fSxcbiAgICAgICAgICBzZXJ2ZXJJbnB1dHM6IHt9LFxuICAgICAgICAgIC8vIHN0YXRpY01hbmlmZXN0IHJlbW92ZWQgZnJvbSBBdXRvRGlzY292ZXJlZEZpbGVzXG4gICAgICAgICAgc2VydmVyQWN0aW9uczoge30sXG4gICAgICAgIH0sXG4gICAgICAgIHVzZXJPcHRpb25zLFxuICAgICAgICBzZXJ2ZXJNYW5pZmVzdDoge30sXG4gICAgICAgIHJlc29sdmVkQ29uZmlnOiBzZXJ2ZXIuY29uZmlnLFxuICAgICAgfSk7XG4gICAgfSxcbiAgfTtcblxuICAvLyBGaXggQ0pTIG5hbWVkIGltcG9ydHMgaW4gc2VydmVyIGVudmlyb25tZW50LlxuICAvLyBWaXRlJ3MgZXNidWlsZCBKU1ggdHJhbnNmb3JtIChhbmQgQHZpdGVqcy9wbHVnaW4tcmVhY3QgaWYgcHJlc2VudCkgZ2VuZXJhdGVzXG4gIC8vIG5hbWVkIGltcG9ydHMgbGlrZSBgaW1wb3J0IHsgdXNlRWZmZWN0IH0gZnJvbSBcInJlYWN0XCJgLiBJbiB0aGUgc2VydmVyIGVudmlyb25tZW50LFxuICAvLyByZWFjdCdzIHJlYWN0LXNlcnZlciBleHBvcnQgaXMgQ0pTLW9ubHksIGFuZCBOb2RlJ3MgRVNNIGludGVyb3AgZG9lc24ndCBzdXBwb3J0XG4gIC8vIG5hbWVkIGV4cG9ydHMgZnJvbSBDSlMuIFRoaXMgcG9zdC10cmFuc2Zvcm0gcmV3cml0ZXMgdGhlbS5cbiAgY29uc3QgY2pzRml4UGx1Z2luOiBQbHVnaW4gPSB7XG4gICAgbmFtZTogXCJ2aXRlLXBsdWdpbi1yZWFjdC1zZXJ2ZXI6c2VydmVyLWNqcy1maXhcIixcbiAgICBhcHBseTogXCJzZXJ2ZVwiIGFzIGNvbnN0LFxuICAgIGVuZm9yY2U6IFwicG9zdFwiIGFzIGNvbnN0LFxuICAgIGFwcGx5VG9FbnZpcm9ubWVudChlbnY6IGFueSkge1xuICAgICAgcmV0dXJuIGVudj8ubmFtZSA9PT0gJ3NlcnZlcic7XG4gICAgfSxcbiAgICB0cmFuc2Zvcm0oY29kZTogc3RyaW5nLCBpZDogc3RyaW5nKSB7XG4gICAgICBpZiAoaWQuaW5jbHVkZXMoJ25vZGVfbW9kdWxlcycpKSByZXR1cm47XG4gICAgICBpZiAoIWlkLm1hdGNoKC9cXC5banRdc3g/JC8pKSByZXR1cm47XG4gICAgICBcbiAgICAgIGNvbnN0IG5hbWVkSW1wb3J0UmUgPSAvaW1wb3J0XFxzKlxceyhbXn1dKylcXH1cXHMqZnJvbVxccypbXCInXXJlYWN0W1wiJ11cXHMqOz8vZztcbiAgICAgIGlmICghbmFtZWRJbXBvcnRSZS50ZXN0KGNvZGUpKSByZXR1cm47XG4gICAgICBcbiAgICAgIG5hbWVkSW1wb3J0UmUubGFzdEluZGV4ID0gMDtcbiAgICAgIGxldCBjb3VudGVyID0gMDtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGNvZGUucmVwbGFjZShuYW1lZEltcG9ydFJlLCAoX21hdGNoLCBpbXBvcnRzKSA9PiB7XG4gICAgICAgIGNvbnN0IGFsaWFzID0gYF9fcmVhY3RfY2pzXyR7Y291bnRlcisrfWA7XG4gICAgICAgIHJldHVybiBgaW1wb3J0ICR7YWxpYXN9IGZyb20gXCJyZWFjdFwiOyBjb25zdCB7JHtpbXBvcnRzfX0gPSAke2FsaWFzfTtgO1xuICAgICAgfSk7XG4gICAgICBcbiAgICAgIHJldHVybiB7IGNvZGU6IHJlc3VsdCwgbWFwOiBudWxsIH07XG4gICAgfSxcbiAgfTtcblxuICByZXR1cm4gW2htclBsdWdpbiwgY2pzRml4UGx1Z2luLCBzZXJ2ZXJQbHVnaW5dO1xufTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQVNhLE1BQUEsd0JBQUEsR0FBMkIsU0FBUywrQkFBQSxDQUFnQyxPQUF3QyxFQUFBO0FBQ3ZILEVBQUEsSUFBSSxXQUFXLElBQU0sRUFBQTtBQUNuQixJQUFNLE1BQUEsSUFBSSxNQUFNLHFCQUFxQixDQUFBO0FBQUE7QUFHdkMsRUFBTSxNQUFBLGVBQUEsR0FBa0IsZUFBZSxPQUFPLENBQUE7QUFDOUMsRUFBSSxJQUFBLGVBQUEsQ0FBZ0IsU0FBUyxPQUFTLEVBQUE7QUFDcEMsSUFBSSxJQUFBLGVBQUEsQ0FBZ0IsU0FBUyxJQUFNLEVBQUE7QUFDakMsTUFBQSxNQUFNLGVBQWdCLENBQUEsS0FBQTtBQUFBO0FBRXhCLElBQU0sTUFBQSxJQUFJLE1BQU0sMkJBQTJCLENBQUE7QUFBQTtBQUU3QyxFQUFBLE1BQU0sY0FBYyxlQUFnQixDQUFBLFdBQUE7QUFHcEMsRUFBQSxNQUFNLFNBQVksR0FBQTtBQUFBLElBQ2hCLElBQU0sRUFBQSxxQ0FBQTtBQUFBLElBQ04sS0FBTyxFQUFBLE9BQUE7QUFBQTtBQUFBLElBRVAsZUFBZ0IsQ0FBQSxFQUFFLElBQU0sRUFBQSxNQUFBLEVBQW1ELEVBQUE7QUFDekUsTUFBTSxNQUFBLFVBQUEsR0FBYSxZQUFZLFVBQWMsSUFBQSxLQUFBO0FBQzdDLE1BQUEsTUFBTSxXQUFjLEdBQUEsV0FBQSxDQUFZLFdBQWUsSUFBQSxNQUFBLENBQU8sTUFBTyxDQUFBLElBQUE7QUFDN0QsTUFBTSxNQUFBLGNBQUEsR0FBaUIsS0FBSyxPQUFRLENBQUEsV0FBQSxFQUFhLEVBQUUsQ0FBRSxDQUFBLE9BQUEsQ0FBUSxRQUFRLEVBQUUsQ0FBQTtBQUN2RSxNQUFNLE1BQUEsWUFBQSxHQUFlLGVBQWUsVUFBVyxDQUFBLFVBQUEsR0FBYSxHQUFHLENBQzVELEtBQUEsSUFBQSxDQUFLLFNBQVMsTUFBTSxDQUFBLElBQUssS0FBSyxRQUFTLENBQUEsS0FBSyxLQUFLLElBQUssQ0FBQSxRQUFBLENBQVMsTUFBTSxDQUFLLElBQUEsSUFBQSxDQUFLLFNBQVMsS0FBSyxDQUFBLENBQUE7QUFFaEcsTUFBQSxJQUFJLFlBQWMsRUFBQTtBQUNoQixRQUFBLE1BQUEsQ0FBTyxNQUFPLENBQUEsTUFBQSxDQUFPLElBQUssQ0FBQSxDQUFBLHFEQUFBLEVBQXdELGNBQWMsQ0FBRSxDQUFBLENBQUE7QUFHbEcsUUFBQSxNQUFBLENBQU8sR0FBRyxJQUFLLENBQUE7QUFBQSxVQUNiLElBQU0sRUFBQSxRQUFBO0FBQUEsVUFDTixLQUFPLEVBQUEsa0RBQUE7QUFBQSxVQUNQLElBQU0sRUFBQTtBQUFBLFlBQ0osSUFBTSxFQUFBLGNBQUE7QUFBQSxZQUNOLElBQU0sRUFBQTtBQUFBO0FBQ1IsU0FDRCxDQUFBO0FBR0QsUUFBQSxNQUFNLE1BQU0sTUFBTyxDQUFBLFlBQUEsQ0FBYSxRQUFRLENBQUcsRUFBQSxXQUFBLEVBQWEsaUJBQWlCLElBQUksQ0FBQTtBQUM3RSxRQUFBLElBQUksR0FBSyxFQUFBO0FBQ1AsVUFBQSxLQUFBLE1BQVcsS0FBSyxHQUFLLEVBQUE7QUFDbkIsWUFBQSxNQUFBLENBQU8sWUFBYSxDQUFBLFFBQVEsQ0FBRyxFQUFBLFdBQUEsRUFBYSxpQkFBaUIsQ0FBQyxDQUFBO0FBQUE7QUFDaEU7QUFLRixRQUFBLE9BQU8sRUFBQztBQUFBO0FBQ1Y7QUFDRixHQUNGO0FBRUEsRUFBQSxNQUFNLFlBQWUsR0FBQTtBQUFBLElBQ25CLElBQU0sRUFBQSw0Q0FBQTtBQUFBLElBQ04sS0FBTyxFQUFBLE9BQUE7QUFBQSxJQUNQLG1CQUFtQixrQkFBeUIsRUFBQTtBQUMxQyxNQUFBLE9BQU8sb0JBQW9CLFFBQWEsS0FBQSxRQUFBO0FBQUEsS0FDMUM7QUFBQSxJQUNBLGdCQUFnQixNQUF1QixFQUFBO0FBRXJDLE1BQU8sTUFBQSxDQUFBLE1BQUEsQ0FBTyxNQUFPLENBQUEsSUFBQSxDQUFLLENBQXlHLHVHQUFBLENBQUEsQ0FBQTtBQUluSSxNQUFxQixvQkFBQSxDQUFBO0FBQUEsUUFDbkIsTUFBQTtBQUFBLFFBQ0EsbUJBQXFCLEVBQUE7QUFBQSxVQUNuQixRQUFBLHNCQUFjLEdBQUksRUFBQTtBQUFBLFVBQ2xCLE9BQUEsc0JBQWEsR0FBSSxFQUFBO0FBQUEsVUFDakIsT0FBQSxzQkFBYSxHQUFJLEVBQUE7QUFBQSxVQUNqQixPQUFBLHNCQUFhLEdBQUksRUFBQTtBQUFBLFVBQ2pCLFFBQUEsc0JBQWMsR0FBSSxFQUFBO0FBQUEsVUFDbEIsTUFBQSxzQkFBWSxHQUFJLEVBQUE7QUFBQSxVQUNoQixRQUFRLEVBQUM7QUFBQSxVQUNULGFBQWEsRUFBQztBQUFBLFVBQ2QsV0FBYSxFQUFBLElBQUE7QUFBQSxVQUNiLGFBQWEsRUFBQztBQUFBLFVBQ2QsY0FBYyxFQUFDO0FBQUEsVUFDZixjQUFjLEVBQUM7QUFBQSxVQUNmLGNBQWMsRUFBQztBQUFBO0FBQUEsVUFFZixlQUFlO0FBQUMsU0FDbEI7QUFBQSxRQUNBLFdBQUE7QUFBQSxRQUNBLGdCQUFnQixFQUFDO0FBQUEsUUFDakIsZ0JBQWdCLE1BQU8sQ0FBQTtBQUFBLE9BQ3hCLENBQUE7QUFBQTtBQUNILEdBQ0Y7QUFPQSxFQUFBLE1BQU0sWUFBdUIsR0FBQTtBQUFBLElBQzNCLElBQU0sRUFBQSx5Q0FBQTtBQUFBLElBQ04sS0FBTyxFQUFBLE9BQUE7QUFBQSxJQUNQLE9BQVMsRUFBQSxNQUFBO0FBQUEsSUFDVCxtQkFBbUIsR0FBVSxFQUFBO0FBQzNCLE1BQUEsT0FBTyxLQUFLLElBQVMsS0FBQSxRQUFBO0FBQUEsS0FDdkI7QUFBQSxJQUNBLFNBQUEsQ0FBVSxNQUFjLEVBQVksRUFBQTtBQUNsQyxNQUFJLElBQUEsRUFBQSxDQUFHLFFBQVMsQ0FBQSxjQUFjLENBQUcsRUFBQTtBQUNqQyxNQUFBLElBQUksQ0FBQyxFQUFBLENBQUcsS0FBTSxDQUFBLFlBQVksQ0FBRyxFQUFBO0FBRTdCLE1BQUEsTUFBTSxhQUFnQixHQUFBLG1EQUFBO0FBQ3RCLE1BQUEsSUFBSSxDQUFDLGFBQUEsQ0FBYyxJQUFLLENBQUEsSUFBSSxDQUFHLEVBQUE7QUFFL0IsTUFBQSxhQUFBLENBQWMsU0FBWSxHQUFBLENBQUE7QUFDMUIsTUFBQSxJQUFJLE9BQVUsR0FBQSxDQUFBO0FBQ2QsTUFBQSxNQUFNLFNBQVMsSUFBSyxDQUFBLE9BQUEsQ0FBUSxhQUFlLEVBQUEsQ0FBQyxRQUFRLE9BQVksS0FBQTtBQUM5RCxRQUFNLE1BQUEsS0FBQSxHQUFRLGVBQWUsT0FBUyxFQUFBLENBQUEsQ0FBQTtBQUN0QyxRQUFBLE9BQU8sQ0FBVSxPQUFBLEVBQUEsS0FBSyxDQUF5QixzQkFBQSxFQUFBLE9BQU8sT0FBTyxLQUFLLENBQUEsQ0FBQSxDQUFBO0FBQUEsT0FDbkUsQ0FBQTtBQUVELE1BQUEsT0FBTyxFQUFFLElBQUEsRUFBTSxNQUFRLEVBQUEsR0FBQSxFQUFLLElBQUssRUFBQTtBQUFBO0FBQ25DLEdBQ0Y7QUFFQSxFQUFPLE9BQUEsQ0FBQyxTQUFXLEVBQUEsWUFBQSxFQUFjLFlBQVksQ0FBQTtBQUMvQzs7OzsifQ==
158
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLnNlcnZlci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGx1Z2luL2Rldi1zZXJ2ZXIvcGx1Z2luLnNlcnZlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFN0cmVhbVBsdWdpbk9wdGlvbnMgfSBmcm9tIFwiLi4vLi4vdHlwZXMuanNcIjtcbmltcG9ydCB7IGNvbmZpZ3VyZVJlYWN0U2VydmVyIH0gZnJvbSBcIi4vY29uZmlndXJlUmVhY3RTZXJ2ZXIuc2VydmVyLmpzXCI7XG5pbXBvcnQgeyByZXNvbHZlT3B0aW9ucyB9IGZyb20gXCIuLi9jb25maWcvcmVzb2x2ZU9wdGlvbnMuanNcIjtcbmltcG9ydCB0eXBlIHsgUGx1Z2luLCBWaXRlRGV2U2VydmVyIH0gZnJvbSBcInZpdGVcIjtcbmltcG9ydCB7IHJlYWRGaWxlU3luYyB9IGZyb20gXCJub2RlOmZzXCI7XG5cbi8qKlxuICogRGV2IHNlcnZlciBwbHVnaW4gZm9yIHNlcnZlciBlbnZpcm9ubWVudC5cbiAqIFJldHVybnMgdHdvIHBsdWdpbnM6IG9uZSBmb3IgSE1SIGhhbmRsaW5nIChhbGwgZW52aXJvbm1lbnRzKSBhbmQgb25lIGZvciBzZXJ2ZXIgY29uZmlnLlxuICovXG5leHBvcnQgY29uc3Qgdml0ZVBsdWdpblJlYWN0RGV2U2VydmVyID0gZnVuY3Rpb24gX3ZpdGVQbHVnaW5SZWFjdFNlcnZlckRldlNlcnZlcihvcHRpb25zOiBTdHJlYW1QbHVnaW5PcHRpb25zKTogUGx1Z2luW10ge1xuICBpZiAob3B0aW9ucyA9PSBudWxsKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwib3B0aW9ucyBpcyByZXF1aXJlZFwiKTtcbiAgfVxuXG4gIGNvbnN0IHJlc29sdmVkT3B0aW9ucyA9IHJlc29sdmVPcHRpb25zKG9wdGlvbnMpO1xuICBpZiAocmVzb2x2ZWRPcHRpb25zLnR5cGUgPT09IFwiZXJyb3JcIikge1xuICAgIGlmIChyZXNvbHZlZE9wdGlvbnMuZXJyb3IgIT0gbnVsbCkge1xuICAgICAgdGhyb3cgcmVzb2x2ZWRPcHRpb25zLmVycm9yO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJGYWlsZWQgdG8gcmVzb2x2ZSBvcHRpb25zXCIpO1xuICB9XG4gIGNvbnN0IHVzZXJPcHRpb25zID0gcmVzb2x2ZWRPcHRpb25zLnVzZXJPcHRpb25zO1xuXG4gIC8vIFNlcGFyYXRlIHBsdWdpbiBmb3IgSE1SIGhhbmRsaW5nIChtdXN0IGFwcGx5IHRvIGFsbCBlbnZpcm9ubWVudHMpXG4gIGNvbnN0IGhtclBsdWdpbiA9IHtcbiAgICBuYW1lOiBcInZpdGUtcGx1Z2luLXJlYWN0LXNlcnZlcjpzZXJ2ZXItaG1yXCIsXG4gICAgYXBwbHk6IFwic2VydmVcIiBhcyBjb25zdCxcbiAgICAvLyBTZXJ2ZXItbGV2ZWwgaGFuZGxlSG90VXBkYXRlIOKAlCBzZW5kcyBjdXN0b20gV1MgZXZlbnQgdG8gY2xpZW50XG4gICAgLy8gVml0ZSA2IEVudmlyb25tZW50IEFQSTogaG90VXBkYXRlIHJ1bnMgcGVyLWVudmlyb25tZW50LlxuICAgIC8vIFByZXZlbnQgc2VydmVyL3NzciBlbnZpcm9ubWVudHMgZnJvbSB0cmlnZ2VyaW5nIHBhZ2UgcmVsb2FkIGZvciBjbGllbnQgY29tcG9uZW50cy5cbiAgICBob3RVcGRhdGUoY3R4OiBhbnkpIHtcbiAgICAgIGNvbnN0IHsgZmlsZSwgc2VydmVyIH0gPSBjdHg7XG4gICAgICBjb25zdCBlbnZOYW1lID0gY3R4LmVudmlyb25tZW50Py5uYW1lID8/ICd1bmtub3duJztcbiAgICAgIFxuICAgICAgY29uc3QgbW9kdWxlQmFzZSA9IHVzZXJPcHRpb25zLm1vZHVsZUJhc2UgfHwgXCJzcmNcIjtcbiAgICAgIGNvbnN0IHByb2plY3RSb290ID0gdXNlck9wdGlvbnMucHJvamVjdFJvb3QgfHwgc2VydmVyPy5jb25maWc/LnJvb3QgfHwgJyc7XG4gICAgICBjb25zdCBub3JtYWxpemVkRmlsZSA9IGZpbGUucmVwbGFjZShwcm9qZWN0Um9vdCwgJycpLnJlcGxhY2UoL15cXC8rLywgJycpO1xuICAgICAgY29uc3QgaXNTb3VyY2VGaWxlID0gbm9ybWFsaXplZEZpbGUuc3RhcnRzV2l0aChtb2R1bGVCYXNlICsgJy8nKTtcbiAgICAgIFxuICAgICAgaWYgKCFpc1NvdXJjZUZpbGUpIHJldHVybjtcbiAgICAgIFxuICAgICAgLy8gQ2xpZW50IGVudmlyb25tZW50OiBsZXQgVml0ZS9Adml0ZWpzL3BsdWdpbi1yZWFjdCBoYW5kbGUgaXRcbiAgICAgIGlmIChlbnZOYW1lID09PSAnY2xpZW50Jykge1xuICAgICAgICAvLyBDaGVjayBpZiBpdCdzIGEgY2xpZW50IGNvbXBvbmVudCDigJQgbGV0IEZhc3QgUmVmcmVzaCBoYW5kbGUgaXRcbiAgICAgICAgY29uc3QgaXNDbGllbnQgPSAoZmlsZS5lbmRzV2l0aCgnLnRzeCcpIHx8IGZpbGUuZW5kc1dpdGgoJy50cycpIHx8IGZpbGUuZW5kc1dpdGgoJy5qc3gnKSB8fCBmaWxlLmVuZHNXaXRoKCcuanMnKSkgJiYgKCgpID0+IHtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgaGVhZCA9IHJlYWRGaWxlU3luYyhmaWxlLCAndXRmLTgnKS5zbGljZSgwLCAyMDApO1xuICAgICAgICAgICAgcmV0dXJuIC9eXFxzKltcIidddXNlIGNsaWVudFtcIiddLy50ZXN0KGhlYWQuc3BsaXQoJ1xcbicpWzBdKTtcbiAgICAgICAgICB9IGNhdGNoIHsgcmV0dXJuIGZhbHNlOyB9XG4gICAgICAgIH0pKCk7XG4gICAgICAgIFxuICAgICAgICBpZiAoaXNDbGllbnQpIHJldHVybjsgLy8gTGV0IEZhc3QgUmVmcmVzaCBoYW5kbGUgY2xpZW50IGNvbXBvbmVudHNcbiAgICAgICAgXG4gICAgICAgIC8vIFNlcnZlciBjb21wb25lbnQgY2hhbmdlZCDigJQgc2VuZCBSU0MgcmVmZXRjaCBldmVudCB0byBjbGllbnRcbiAgICAgICAgLy8gT25seSBkbyB0aGlzIG9uY2UgKGZyb20gY2xpZW50IGVudikgdG8gYXZvaWQgZHVwbGljYXRlIGV2ZW50c1xuICAgICAgICBzZXJ2ZXIuY29uZmlnLmxvZ2dlci5pbmZvKGBbdml0ZS1wbHVnaW4tcmVhY3Qtc2VydmVyXSBGaWxlIGNoYW5nZWQgKFJTQyByZWZldGNoKTogJHtub3JtYWxpemVkRmlsZX1gKTtcbiAgICAgICAgc2VydmVyLndzLnNlbmQoe1xuICAgICAgICAgIHR5cGU6ICdjdXN0b20nLFxuICAgICAgICAgIGV2ZW50OiAndml0ZS1wbHVnaW4tcmVhY3Qtc2VydmVyOnNlcnZlci1jb21wb25lbnQtdXBkYXRlJyxcbiAgICAgICAgICBkYXRhOiB7IGZpbGU6IG5vcm1hbGl6ZWRGaWxlLCBwYXRoOiBmaWxlIH0sXG4gICAgICAgIH0pO1xuICAgICAgICBcbiAgICAgICAgcmV0dXJuIFtdOyAvLyBEb24ndCB0cmlnZ2VyIGNsaWVudC1zaWRlIHBhZ2UgcmVsb2FkXG4gICAgICB9XG4gICAgICBcbiAgICAgIC8vIFNlcnZlci9TU1IgZW52aXJvbm1lbnRzOiBzdXBwcmVzcyBwYWdlIHJlbG9hZCBmb3IgYWxsIHNvdXJjZSBmaWxlc1xuICAgICAgLy8gU2VydmVyIGNvbXBvbmVudHMgYXJlIGhhbmRsZWQgYnkgdGhlIFJTQyByZWZldGNoIGV2ZW50IHNlbnQgYWJvdmVcbiAgICAgIC8vIEludmFsaWRhdGUgdGhlIHNlcnZlciBtb2R1bGUgc28gbmV4dCBSU0MgcmVxdWVzdCBnZXRzIGZyZXNoIGNvbnRlbnRcbiAgICAgIGlmIChlbnZOYW1lID09PSAnc2VydmVyJykge1xuICAgICAgICBjb25zdCBtb2QgPSBjdHguZW52aXJvbm1lbnQ/Lm1vZHVsZUdyYXBoPy5nZXRNb2R1bGVzQnlGaWxlKGZpbGUpO1xuICAgICAgICBpZiAobW9kKSB7XG4gICAgICAgICAgZm9yIChjb25zdCBtIG9mIG1vZCkge1xuICAgICAgICAgICAgY3R4LmVudmlyb25tZW50Lm1vZHVsZUdyYXBoLmludmFsaWRhdGVNb2R1bGUobSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gW107XG4gICAgfSxcbiAgICBoYW5kbGVIb3RVcGRhdGUoeyBmaWxlLCBzZXJ2ZXIgfTogeyBmaWxlOiBzdHJpbmc7IHNlcnZlcjogVml0ZURldlNlcnZlciB9KSB7XG4gICAgICBjb25zdCBtb2R1bGVCYXNlID0gdXNlck9wdGlvbnMubW9kdWxlQmFzZSB8fCBcInNyY1wiO1xuICAgICAgY29uc3QgcHJvamVjdFJvb3QgPSB1c2VyT3B0aW9ucy5wcm9qZWN0Um9vdCB8fCBzZXJ2ZXIuY29uZmlnLnJvb3Q7XG4gICAgICBjb25zdCBub3JtYWxpemVkRmlsZSA9IGZpbGUucmVwbGFjZShwcm9qZWN0Um9vdCwgJycpLnJlcGxhY2UoL15cXC8rLywgJycpO1xuICAgICAgY29uc3QgaXNTb3VyY2VGaWxlID0gbm9ybWFsaXplZEZpbGUuc3RhcnRzV2l0aChtb2R1bGVCYXNlICsgJy8nKSAmJiBcbiAgICAgICAgKGZpbGUuZW5kc1dpdGgoJy50c3gnKSB8fCBmaWxlLmVuZHNXaXRoKCcudHMnKSB8fCBmaWxlLmVuZHNXaXRoKCcuanN4JykgfHwgZmlsZS5lbmRzV2l0aCgnLmpzJykpO1xuICAgICAgXG4gICAgICAvLyBTa2lwIGNsaWVudCBjb21wb25lbnRzIOKAlCBsZXQgQHZpdGVqcy9wbHVnaW4tcmVhY3QgaGFuZGxlIHRoZW1cbiAgICAgIC8vIHdpdGggRmFzdCBSZWZyZXNoIChwcmVzZXJ2ZXMgY29tcG9uZW50LWxldmVsIHN0YXRlKS5cbiAgICAgIGNvbnN0IGlzQ2xpZW50RmlsZSA9IGlzU291cmNlRmlsZSAmJiAoKCkgPT4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IGhlYWQgPSByZWFkRmlsZVN5bmMoZmlsZSwgJ3V0Zi04Jykuc2xpY2UoMCwgMjAwKTtcbiAgICAgICAgICByZXR1cm4gL15cXHMqW1wiJ111c2UgY2xpZW50W1wiJ10vLnRlc3QoaGVhZC5zcGxpdCgnXFxuJylbMF0pO1xuICAgICAgICB9IGNhdGNoIHsgcmV0dXJuIGZhbHNlOyB9XG4gICAgICB9KSgpO1xuICAgICAgXG4gICAgICBpZiAoaXNTb3VyY2VGaWxlICYmICFpc0NsaWVudEZpbGUpIHtcbiAgICAgICAgc2VydmVyLmNvbmZpZy5sb2dnZXIuaW5mbyhgW3ZpdGUtcGx1Z2luLXJlYWN0LXNlcnZlcl0gRmlsZSBjaGFuZ2VkIChSU0MgcmVmZXRjaCk6ICR7bm9ybWFsaXplZEZpbGV9YCk7XG4gICAgICAgIFxuICAgICAgICAvLyBTZW5kIGN1c3RvbSBITVIgZXZlbnQgc28gY2xpZW50IGNhbiByZWZldGNoIFJTQyBzdHJlYW1cbiAgICAgICAgc2VydmVyLndzLnNlbmQoe1xuICAgICAgICAgIHR5cGU6ICdjdXN0b20nLFxuICAgICAgICAgIGV2ZW50OiAndml0ZS1wbHVnaW4tcmVhY3Qtc2VydmVyOnNlcnZlci1jb21wb25lbnQtdXBkYXRlJyxcbiAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICBmaWxlOiBub3JtYWxpemVkRmlsZSxcbiAgICAgICAgICAgIHBhdGg6IGZpbGUsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICAgIFxuICAgICAgICAvLyBJbnZhbGlkYXRlIHRoZSBzZXJ2ZXIgbW9kdWxlIHNvIG5leHQgcmVxdWVzdCBnZXRzIGZyZXNoIGNvbnRlbnRcbiAgICAgICAgY29uc3QgbW9kID0gc2VydmVyLmVudmlyb25tZW50c1snc2VydmVyJ10/Lm1vZHVsZUdyYXBoPy5nZXRNb2R1bGVzQnlGaWxlKGZpbGUpO1xuICAgICAgICBpZiAobW9kKSB7XG4gICAgICAgICAgZm9yIChjb25zdCBtIG9mIG1vZCkge1xuICAgICAgICAgICAgc2VydmVyLmVudmlyb25tZW50c1snc2VydmVyJ10/Lm1vZHVsZUdyYXBoPy5pbnZhbGlkYXRlTW9kdWxlKG0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLy8gUmV0dXJuIGVtcHR5IGFycmF5IHRvIHByZXZlbnQgVml0ZSdzIGRlZmF1bHQgZnVsbC1wYWdlIHJlbG9hZFxuICAgICAgICAvLyBUaGUgY2xpZW50IHdpbGwgcmVmZXRjaCB0aGUgUlNDIHN0cmVhbSB2aWEgdGhlIGN1c3RvbSBldmVudFxuICAgICAgICByZXR1cm4gW107XG4gICAgICB9XG4gICAgICBcbiAgICAgIGlmIChpc0NsaWVudEZpbGUpIHtcbiAgICAgICAgLy8gQ2xpZW50IGNvbXBvbmVudHMgYXJlIGhhbmRsZWQgYnkgQHZpdGVqcy9wbHVnaW4tcmVhY3QgKEZhc3QgUmVmcmVzaClcbiAgICAgICAgLy8gb3IgVml0ZSdzIGNsaWVudC1zaWRlIEhNUi4gUmV0dXJuIGVtcHR5IHRvIHByZXZlbnQgdGhlIHNlcnZlclxuICAgICAgICAvLyBlbnZpcm9ubWVudCBmcm9tIHRyaWdnZXJpbmcgYSBmdWxsIHBhZ2UgcmVsb2FkLlxuICAgICAgICByZXR1cm4gW107XG4gICAgICB9XG4gICAgfSxcbiAgfTtcblxuICBjb25zdCBzZXJ2ZXJQbHVnaW4gPSB7XG4gICAgbmFtZTogXCJ2aXRlLXBsdWdpbi1yZWFjdC1zZXJ2ZXI6ZGV2LXNlcnZlci1zZXJ2ZXJcIixcbiAgICBhcHBseTogXCJzZXJ2ZVwiIGFzIGNvbnN0LFxuYXBwbHlUb0Vudmlyb25tZW50KHBhcnRpYWxFbnZpcm9ubWVudDogYW55KSB7XG4gICAgICByZXR1cm4gcGFydGlhbEVudmlyb25tZW50Py5jb25zdW1lciA9PT0gJ3NlcnZlcic7XG4gICAgfSxcbiAgICBjb25maWd1cmVTZXJ2ZXIoc2VydmVyOiBWaXRlRGV2U2VydmVyKSB7XG4gICAgICAvLyBMb2cgdGhhdCBwbHVnaW4gaXMgYmVpbmcgY29uZmlndXJlZFxuICAgICAgc2VydmVyLmNvbmZpZy5sb2dnZXIuaW5mbyhgW3ZpdGUtcGx1Z2luLXJlYWN0LXNlcnZlcl0gRGV2IHNlcnZlciBwbHVnaW4gY29uZmlndXJlZCBmb3Igc2VydmVyIGVudmlyb25tZW50IChyZWFjdC1zZXJ2ZXIgY29uZGl0aW9uKWApO1xuICAgICAgXG4gICAgICAvLyBDb25maWd1cmUgdGhlIFJlYWN0IHNlcnZlciBmb3Igc2VydmVyIGVudmlyb25tZW50IChkaXJlY3QgUlNDIHByb2Nlc3NpbmcpXG4gICAgICAvLyBUaGlzIHVzZXMgdGhlIGV4aXN0aW5nIGNvbmZpZ3VyZVJlYWN0U2VydmVyLnNlcnZlci5qcyBpbXBsZW1lbnRhdGlvblxuICAgICAgY29uZmlndXJlUmVhY3RTZXJ2ZXIoe1xuICAgICAgICBzZXJ2ZXIsXG4gICAgICAgIGF1dG9EaXNjb3ZlcmVkRmlsZXM6IHtcbiAgICAgICAgICBwcm9wc01hcDogbmV3IE1hcCgpLFxuICAgICAgICAgIHBhZ2VNYXA6IG5ldyBNYXAoKSxcbiAgICAgICAgICByb290TWFwOiBuZXcgTWFwKCksXG4gICAgICAgICAgaHRtbE1hcDogbmV3IE1hcCgpLFxuICAgICAgICAgIHJvdXRlTWFwOiBuZXcgTWFwKCksXG4gICAgICAgICAgdXJsTWFwOiBuZXcgTWFwKCksXG4gICAgICAgICAgZXJyb3JzOiBbXSxcbiAgICAgICAgICB3b3JrZXJQYXRoczoge30sXG4gICAgICAgICAgc2VydmVyRW50cnk6IG51bGwsXG4gICAgICAgICAgY2xpZW50RW50cnk6IHt9LFxuICAgICAgICAgIGNsaWVudElucHV0czoge30sXG4gICAgICAgICAgc3RhdGljSW5wdXRzOiB7fSxcbiAgICAgICAgICBzZXJ2ZXJJbnB1dHM6IHt9LFxuICAgICAgICAgIC8vIHN0YXRpY01hbmlmZXN0IHJlbW92ZWQgZnJvbSBBdXRvRGlzY292ZXJlZEZpbGVzXG4gICAgICAgICAgc2VydmVyQWN0aW9uczoge30sXG4gICAgICAgIH0sXG4gICAgICAgIHVzZXJPcHRpb25zLFxuICAgICAgICBzZXJ2ZXJNYW5pZmVzdDoge30sXG4gICAgICAgIHJlc29sdmVkQ29uZmlnOiBzZXJ2ZXIuY29uZmlnLFxuICAgICAgfSk7XG4gICAgfSxcbiAgfTtcblxuICAvLyBGaXggQ0pTIG5hbWVkIGltcG9ydHMgaW4gc2VydmVyIGVudmlyb25tZW50LlxuICAvLyBWaXRlJ3MgZXNidWlsZCBKU1ggdHJhbnNmb3JtIChhbmQgQHZpdGVqcy9wbHVnaW4tcmVhY3QgaWYgcHJlc2VudCkgZ2VuZXJhdGVzXG4gIC8vIG5hbWVkIGltcG9ydHMgbGlrZSBgaW1wb3J0IHsgdXNlRWZmZWN0IH0gZnJvbSBcInJlYWN0XCJgLiBJbiB0aGUgc2VydmVyIGVudmlyb25tZW50LFxuICAvLyByZWFjdCdzIHJlYWN0LXNlcnZlciBleHBvcnQgaXMgQ0pTLW9ubHksIGFuZCBOb2RlJ3MgRVNNIGludGVyb3AgZG9lc24ndCBzdXBwb3J0XG4gIC8vIG5hbWVkIGV4cG9ydHMgZnJvbSBDSlMuIFRoaXMgcG9zdC10cmFuc2Zvcm0gcmV3cml0ZXMgdGhlbS5cbiAgY29uc3QgY2pzRml4UGx1Z2luOiBQbHVnaW4gPSB7XG4gICAgbmFtZTogXCJ2aXRlLXBsdWdpbi1yZWFjdC1zZXJ2ZXI6c2VydmVyLWNqcy1maXhcIixcbiAgICBhcHBseTogXCJzZXJ2ZVwiIGFzIGNvbnN0LFxuICAgIGVuZm9yY2U6IFwicG9zdFwiIGFzIGNvbnN0LFxuICAgIGFwcGx5VG9FbnZpcm9ubWVudChlbnY6IGFueSkge1xuICAgICAgcmV0dXJuIGVudj8ubmFtZSA9PT0gJ3NlcnZlcic7XG4gICAgfSxcbiAgICB0cmFuc2Zvcm0oY29kZTogc3RyaW5nLCBpZDogc3RyaW5nKSB7XG4gICAgICBpZiAoaWQuaW5jbHVkZXMoJ25vZGVfbW9kdWxlcycpKSByZXR1cm47XG4gICAgICBpZiAoIWlkLm1hdGNoKC9cXC5banRdc3g/JC8pKSByZXR1cm47XG4gICAgICBcbiAgICAgIGNvbnN0IG5hbWVkSW1wb3J0UmUgPSAvaW1wb3J0XFxzKlxceyhbXn1dKylcXH1cXHMqZnJvbVxccypbXCInXXJlYWN0W1wiJ11cXHMqOz8vZztcbiAgICAgIGlmICghbmFtZWRJbXBvcnRSZS50ZXN0KGNvZGUpKSByZXR1cm47XG4gICAgICBcbiAgICAgIG5hbWVkSW1wb3J0UmUubGFzdEluZGV4ID0gMDtcbiAgICAgIGxldCBjb3VudGVyID0gMDtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGNvZGUucmVwbGFjZShuYW1lZEltcG9ydFJlLCAoX21hdGNoLCBpbXBvcnRzKSA9PiB7XG4gICAgICAgIGNvbnN0IGFsaWFzID0gYF9fcmVhY3RfY2pzXyR7Y291bnRlcisrfWA7XG4gICAgICAgIHJldHVybiBgaW1wb3J0ICR7YWxpYXN9IGZyb20gXCJyZWFjdFwiOyBjb25zdCB7JHtpbXBvcnRzfX0gPSAke2FsaWFzfTtgO1xuICAgICAgfSk7XG4gICAgICBcbiAgICAgIHJldHVybiB7IGNvZGU6IHJlc3VsdCwgbWFwOiBudWxsIH07XG4gICAgfSxcbiAgfTtcblxuICByZXR1cm4gW2htclBsdWdpbiwgY2pzRml4UGx1Z2luLCBzZXJ2ZXJQbHVnaW5dO1xufTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFVYSxNQUFBLHdCQUFBLEdBQTJCLFNBQVMsK0JBQUEsQ0FBZ0MsT0FBd0MsRUFBQTtBQUN2SCxFQUFBLElBQUksV0FBVyxJQUFNLEVBQUE7QUFDbkIsSUFBTSxNQUFBLElBQUksTUFBTSxxQkFBcUIsQ0FBQTtBQUFBO0FBR3ZDLEVBQU0sTUFBQSxlQUFBLEdBQWtCLGVBQWUsT0FBTyxDQUFBO0FBQzlDLEVBQUksSUFBQSxlQUFBLENBQWdCLFNBQVMsT0FBUyxFQUFBO0FBQ3BDLElBQUksSUFBQSxlQUFBLENBQWdCLFNBQVMsSUFBTSxFQUFBO0FBQ2pDLE1BQUEsTUFBTSxlQUFnQixDQUFBLEtBQUE7QUFBQTtBQUV4QixJQUFNLE1BQUEsSUFBSSxNQUFNLDJCQUEyQixDQUFBO0FBQUE7QUFFN0MsRUFBQSxNQUFNLGNBQWMsZUFBZ0IsQ0FBQSxXQUFBO0FBR3BDLEVBQUEsTUFBTSxTQUFZLEdBQUE7QUFBQSxJQUNoQixJQUFNLEVBQUEscUNBQUE7QUFBQSxJQUNOLEtBQU8sRUFBQSxPQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsSUFJUCxVQUFVLEdBQVUsRUFBQTtBQUNsQixNQUFNLE1BQUEsRUFBRSxJQUFNLEVBQUEsTUFBQSxFQUFXLEdBQUEsR0FBQTtBQUN6QixNQUFNLE1BQUEs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
@@ -1 +1 @@
1
- {"version":3,"file":"requestInfo.d.ts","sourceRoot":"","sources":["../../../plugin/helpers/requestInfo.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,MAAM,CAAC;AAKpC;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CACzB,GAAG,EAAE,OAAO,CAAC,eAAe,EAC5B,cAAc,EAAE,IAAI,CAClB,oBAAoB,EAClB,YAAY,GACZ,OAAO,GACP,cAAc,GACd,SAAS,GACT,gBAAgB,GAChB,eAAe,GACf,SAAS,GACT,QAAQ,CACX,EACD,OAAO,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0MhB"}
1
+ {"version":3,"file":"requestInfo.d.ts","sourceRoot":"","sources":["../../../plugin/helpers/requestInfo.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,MAAM,CAAC;AAKpC;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CACzB,GAAG,EAAE,OAAO,CAAC,eAAe,EAC5B,cAAc,EAAE,IAAI,CAClB,oBAAoB,EAClB,YAAY,GACZ,OAAO,GACP,cAAc,GACd,SAAS,GACT,gBAAgB,GAChB,eAAe,GACf,SAAS,GACT,QAAQ,CACX,EACD,OAAO,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6MhB"}
@@ -47,6 +47,7 @@ function requestInfo(req, handlerOptions, hostDir) {
47
47
  const hasJsonHeader = req.headers["accept"]?.includes("application/json");
48
48
  const hasHtmlHeader = req.headers.accept?.includes("text/html");
49
49
  const hasRscHeader = req.headers.accept?.includes("text/x-component");
50
+ const hasRscQueryParam = /[?&]_rsc\b/.test(req.url || "");
50
51
  const hasCssHeader = req.headers.accept?.includes("text/css");
51
52
  const isFolder = !ext;
52
53
  const isFormContentType = req.headers["content-type"]?.includes(
@@ -58,8 +59,8 @@ function requestInfo(req, handlerOptions, hostDir) {
58
59
  const isFormActionRequest = !isServerActionRequest && (req.method === "POST" || isFormContentType && req.headers["sec-fetch-dest"] === "document" && req.headers["sec-fetch-mode"] === "navigate");
59
60
  const isJsRequest = !isFormActionRequest && !isJson && !isHtml && !isCss && !isRsc && (isJS || hasJsHeader);
60
61
  const isJsonRequest = isJson || hasJsonHeader && !isJsRequest;
61
- const isHtmlRequest = isHtml || hasHtmlHeader || isFolder && !hasRscHeader && !isRsc && !isJsRequest && !isFormActionRequest;
62
- const isRscRequest = !isJsRequest && !isHtmlRequest && (isRsc || hasRscHeader);
62
+ const isHtmlRequest = !hasRscQueryParam && (isHtml || hasHtmlHeader || isFolder && !hasRscHeader && !hasRscQueryParam && !isRsc && !isJsRequest && !isFormActionRequest);
63
+ const isRscRequest = hasRscQueryParam || !isJsRequest && !isHtmlRequest && (isRsc || hasRscHeader);
63
64
  const isCssRequest = !isHtmlRequest && !isRscRequest && !isJsRequest && !isJsonRequest && (isCss || hasCssHeader);
64
65
  const routeForFilePath = value;
65
66
  let filePath = resolve(hostDir, routeForFilePath);
@@ -159,4 +160,4 @@ function requestInfo(req, handlerOptions, hostDir) {
159
160
  }
160
161
 
161
162
  export { requestInfo };
162
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdEluZm8uanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BsdWdpbi9oZWxwZXJzL3JlcXVlc3RJbmZvLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJlc29sdmUgfSBmcm9tIFwibm9kZTpwYXRoXCI7XG5pbXBvcnQgdHlwZSB7IENyZWF0ZUhhbmRsZXJPcHRpb25zIH0gZnJvbSBcIi4uL3R5cGVzLmpzXCI7XG5pbXBvcnQgeyB0eXBlIENvbm5lY3QgfSBmcm9tIFwidml0ZVwiO1xuaW1wb3J0IHsgTUlNRV9UWVBFUyB9IGZyb20gXCIuLi9jb25maWcvbWltZVR5cGVzLmpzXCI7XG5pbXBvcnQgeyByZXF1ZXN0VG9Sb3V0ZSB9IGZyb20gXCIuL3JlcXVlc3RUb1JvdXRlLmpzXCI7XG5pbXBvcnQgeyByb3V0ZVRvVVJMIH0gZnJvbSBcIi4uL3V0aWxzL3JvdXRlVG9VUkwuanNcIjtcblxuLyoqXG4gKiAjIFJlcXVlc3QgaW5mb1xuICpcbiAqIERvZXMgdGhlIGluaXRpYWwgd29yayB0byBjaGVjayBpZiB0aGUgcmVxdWVzdCBpcyBmb3IgaHRtbCwgcnNjLCBqc29uLCBqcywgY3NzLCBzZXJ2ZXItYWN0aW9uLCBvciBzb21ldGhpbmcgZWxzZSBub3QgaGFuZGxlZCBieSB0aGlzIHBsdWdpbi5cbiAqXG4gKiBAcGFyYW0gcmVxXG4gKiBAcGFyYW0gaGFuZGxlck9wdGlvbnNcbiAqIEBwYXJhbSBob3N0RGlyXG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZnVuY3Rpb24gcmVxdWVzdEluZm8oXG4gIHJlcTogQ29ubmVjdC5JbmNvbWluZ01lc3NhZ2UsXG4gIGhhbmRsZXJPcHRpb25zOiBQaWNrPFxuICAgIENyZWF0ZUhhbmRsZXJPcHRpb25zLFxuICAgIHwgXCJub3JtYWxpemVyXCJcbiAgICB8IFwiYnVpbGRcIlxuICAgIHwgXCJhdXRvRGlzY292ZXJcIlxuICAgIHwgXCJ2ZXJib3NlXCJcbiAgICB8IFwibW9kdWxlQmFzZVBhdGhcIlxuICAgIHwgXCJtb2R1bGVCYXNlVVJMXCJcbiAgICB8IFwidmVyYm9zZVwiXG4gICAgfCBcImxvZ2dlclwiXG4gID4sXG4gIGhvc3REaXI6IHN0cmluZyxcbikge1xuICBjb25zdCByb3V0ZSA9IHJlcXVlc3RUb1JvdXRlKHJlcSwge1xuICAgIG1vZHVsZUJhc2VQYXRoOiBoYW5kbGVyT3B0aW9ucy5tb2R1bGVCYXNlUGF0aCxcbiAgICBtb2R1bGVCYXNlVVJMOiBoYW5kbGVyT3B0aW9ucy5tb2R1bGVCYXNlVVJMLFxuICAgIGJ1aWxkOiBoYW5kbGVyT3B0aW9ucy5idWlsZCxcbiAgfSk7XG5cbiAgaWYgKCFyb3V0ZSkge1xuICAgIHJldHVybiB7XG4gICAgICByb3V0ZTogXCIvXCIsXG4gICAgICB1cmw6IHJvdXRlVG9VUkwoXCIvXCIsIGhhbmRsZXJPcHRpb25zLm1vZHVsZUJhc2VVUkwsIGhhbmRsZXJPcHRpb25zLmJ1aWxkLnJzY091dHB1dFBhdGgpLFxuICAgICAgZXh0OiBcIlwiLFxuICAgIH07XG4gIH1cblxuICAvLyBVc2UgdGhlIGNsZWFuZWQgcm91dGUgZm9yIG5vcm1hbGl6YXRpb24sIG5vdCB0aGUgcmF3IHJlcS51cmxcbiAgLy8gVGhpcyBlbnN1cmVzIGJhc2UgVVJMIGlzIHByb3Blcmx5IHN0cmlwcGVkIGJlZm9yZSBub3JtYWxpemF0aW9uXG4gIGNvbnN0IFssIHZhbHVlXSA9IGhhbmRsZXJPcHRpb25zLm5vcm1hbGl6ZXIocm91dGUpO1xuICBpZiAoaGFuZGxlck9wdGlvbnMudmVyYm9zZSkge1xuICAgIGlmICh2YWx1ZSAmJiB2YWx1ZSAhPT0gXCJcIikge1xuICAgICAgaGFuZGxlck9wdGlvbnMubG9nZ2VyLmluZm8oYFtyZXF1ZXN0SW5mb10gVmFsdWU6IFxcXCIke3ZhbHVlfVxcXCJgKTtcbiAgICB9XG4gICAgaWYgKGhvc3REaXIgJiYgaG9zdERpciAhPT0gXCJcIikge1xuICAgICAgaGFuZGxlck9wdGlvbnMubG9nZ2VyLmluZm8oYFtyZXF1ZXN0SW5mb10gSG9zdCBEaXI6IFxcXCIke2hvc3REaXJ9XFxcImApO1xuICAgIH1cbiAgICBpZiAocmVxLnVybCAmJiByZXEudXJsICE9PSBcIlwiKSB7XG4gICAgICBoYW5kbGVyT3B0aW9ucy5sb2dnZXIuaW5mbyhgW3JlcXVlc3RJbmZvXSBSZXF1ZXN0IFVSTDogXFxcIiR7cmVxLnVybH1cXFwiYCk7XG4gICAgfVxuICB9XG5cbiAgY29uc3QgZG90SW5kZXggPSB2YWx1ZS5sYXN0SW5kZXhPZihcIi5cIik7XG4gIGNvbnN0IGV4dCA9IGRvdEluZGV4ID09PSAtMSA/IFwiXCIgOiB2YWx1ZS5zbGljZShkb3RJbmRleCk7XG4gIC8vIGhhbmRsZSBpbmRleC5odG1sXG4gIGNvbnN0IGlzVmVuZG9yID0gaGFuZGxlck9wdGlvbnMuYXV0b0Rpc2NvdmVyLnZlbmRvclBhdHRlcm4udGVzdCh2YWx1ZSk7XG4gIGNvbnN0IGlzVmlydHVhbCA9IGhhbmRsZXJPcHRpb25zLmF1dG9EaXNjb3Zlci52aXJ0dWFsUGF0dGVybi50ZXN0KHZhbHVlKTtcbiAgY29uc3QgaXNKUyA9IGhhbmRsZXJPcHRpb25zLmF1dG9EaXNjb3Zlci5tb2R1bGVQYXR0ZXJuLnRlc3QodmFsdWUpO1xuICBjb25zdCBpc0h0bWwgPSBoYW5kbGVyT3B0aW9ucy5hdXRvRGlzY292ZXIuaHRtbFBhdHRlcm4udGVzdCh2YWx1ZSk7XG4gIGNvbnN0IGlzQ3NzID0gaGFuZGxlck9wdGlvbnMuYXV0b0Rpc2NvdmVyLmNzc1BhdHRlcm4udGVzdCh2YWx1ZSk7XG4gIGNvbnN0IGlzSnNvbiA9IGhhbmRsZXJPcHRpb25zLmF1dG9EaXNjb3Zlci5qc29uUGF0dGVybi50ZXN0KHZhbHVlKTtcbiAgY29uc3QgaXNSc2MgPSBoYW5kbGVyT3B0aW9ucy5hdXRvRGlzY292ZXIucnNjUGF0dGVybi50ZXN0KHZhbHVlKTtcbiAgY29uc3QgaGFzSnNIZWFkZXIgPVxuICAgIHJlcS5oZWFkZXJzW1wic2VjLWZldGNoLWRlc3RcIl0gPT09IFwic2NyaXB0XCIgfHxcbiAgICByZXEuaGVhZGVyc1tcImFjY2VwdFwiXT8uaW5jbHVkZXMoXCIqLypcIikgfHxcbiAgICByZXEuaGVhZGVyc1tcImFjY2VwdFwiXT8uaW5jbHVkZXMoXCJ0ZXh0L2phdmFzY3JpcHRcIik7XG4gIGNvbnN0IGhhc0pzb25IZWFkZXIgPSByZXEuaGVhZGVyc1tcImFjY2VwdFwiXT8uaW5jbHVkZXMoXCJhcHBsaWNhdGlvbi9qc29uXCIpO1xuICBjb25zdCBoYXNIdG1sSGVhZGVyID0gcmVxLmhlYWRlcnMuYWNjZXB0Py5pbmNsdWRlcyhcInRleHQvaHRtbFwiKTtcbiAgY29uc3QgaGFzUnNjSGVhZGVyID0gcmVxLmhlYWRlcnMuYWNjZXB0Py5pbmNsdWRlcyhcInRleHQveC1jb21wb25lbnRcIik7XG4gIGNvbnN0IGhhc0Nzc0hlYWRlciA9IHJlcS5oZWFkZXJzLmFjY2VwdD8uaW5jbHVkZXMoXCJ0ZXh0L2Nzc1wiKTtcbiAgY29uc3QgaXNGb2xkZXIgPSAhZXh0O1xuICBjb25zdCBpc0Zvcm1Db250ZW50VHlwZSA9XG4gICAgcmVxLmhlYWRlcnNbXCJjb250ZW50LXR5cGVcIl0/LmluY2x1ZGVzKFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWRcIlxuICAgICkgfHwgISFyZXEuaGVhZGVyc1tcImNvbnRlbnQtdHlwZVwiXT8uaW5jbHVkZXMoXCJtdWx0aXBhcnQvZm9ybS1kYXRhXCIpO1xuXG4gIC8vIFNlcnZlciBhY3Rpb24gZGV0ZWN0aW9uXG4gIGNvbnN0IGhhc1JzY0FjdGlvbkhlYWRlciA9ICEhcmVxLmhlYWRlcnNbXCJ4LXJzYy1hY3Rpb25cIl07XG4gIGNvbnN0IGhhc1NlcnZlckFjdGlvbkhlYWRlcnMgPVxuICAgIHJlcS5tZXRob2QgPT09IFwiUE9TVFwiICYmXG4gICAgKGhhc1JzY0FjdGlvbkhlYWRlciB8fCAoXG4gICAgICAocmVxLmhlYWRlcnNbXCJzZWMtZmV0Y2gtZGVzdFwiXSA9PT0gXCJlbXB0eVwiIHx8XG4gICAgICAgIHJlcS5oZWFkZXJzW1wic2VjLWZldGNoLWRlc3RcIl0gPT09IFwiXCIpICYmXG4gICAgICByZXEuaGVhZGVyc1tcInNlYy1mZXRjaC1tb2RlXCJdID09PSBcImNvcnNcIlxuICAgICkpO1xuICBjb25zdCBpc1NlcnZlckFjdGlvblJlcXVlc3QgPSBoYXNTZXJ2ZXJBY3Rpb25IZWFkZXJzO1xuXG4gIGNvbnN0IGlzRm9ybUFjdGlvblJlcXVlc3QgPVxuICAgICFpc1NlcnZlckFjdGlvblJlcXVlc3QgJiZcbiAgICAocmVxLm1ldGhvZCA9PT0gXCJQT1NUXCIgfHxcbiAgICAgIChpc0Zvcm1Db250ZW50VHlwZSAmJlxuICAgICAgICByZXEuaGVhZGVyc1tcInNlYy1mZXRjaC1kZXN0XCJdID09PSBcImRvY3VtZW50XCIgJiZcbiAgICAgICAgcmVxLmhlYWRlcnNbXCJzZWMtZmV0Y2gtbW9kZVwiXSA9PT0gXCJuYXZpZ2F0ZVwiKSk7XG5cbiAgY29uc3QgaXNKc1JlcXVlc3QgPVxuICAgICFpc0Zvcm1BY3Rpb25SZXF1ZXN0ICYmXG4gICAgIWlzSnNvbiAmJlxuICAgICFpc0h0bWwgJiZcbiAgICAhaXNDc3MgJiZcbiAgICAhaXNSc2MgJiZcbiAgICAoaXNKUyB8fCBoYXNKc0hlYWRlcik7XG4gIGNvbnN0IGlzSnNvblJlcXVlc3QgPSBpc0pzb24gfHwgKGhhc0pzb25IZWFkZXIgJiYgIWlzSnNSZXF1ZXN0KTtcbiAgLy8gRm9ybSBhY3Rpb24gZGV0ZWN0aW9uXG5cbiAgY29uc3QgaXNIdG1sUmVxdWVzdCA9XG4gICAgaXNIdG1sIHx8XG4gICAgaGFzSHRtbEhlYWRlciB8fFxuICAgIChpc0ZvbGRlciAmJlxuICAgICAgIWhhc1JzY0hlYWRlciAmJlxuICAgICAgIWlzUnNjICYmXG4gICAgICAhaXNKc1JlcXVlc3QgJiZcbiAgICAgICFpc0Zvcm1BY3Rpb25SZXF1ZXN0KTtcbiAgY29uc3QgaXNSc2NSZXF1ZXN0ID1cbiAgICAhaXNKc1JlcXVlc3QgJiYgIWlzSHRtbFJlcXVlc3QgJiYgKGlzUnNjIHx8IGhhc1JzY0hlYWRlcik7XG4gIGNvbnN0IGlzQ3NzUmVxdWVzdCA9XG4gICAgIWlzSHRtbFJlcXVlc3QgJiZcbiAgICAhaXNSc2NSZXF1ZXN0ICYmXG4gICAgIWlzSnNSZXF1ZXN0ICYmXG4gICAgIWlzSnNvblJlcXVlc3QgJiZcbiAgICAoaXNDc3MgfHwgaGFzQ3NzSGVhZGVyKTtcblxuICAvLyBVc2UgdGhlIG5vcm1hbGl6ZWQgdmFsdWUgZm9yIGZpbGUgcGF0aCBjb25zdHJ1Y3Rpb25cbiAgLy8gVGhlIG5vcm1hbGl6ZXIgc2hvdWxkIGhhdmUgYWxyZWFkeSBzdHJpcHBlZCBiYXNlIFVSTHMgcHJvcGVybHlcbiAgY29uc3Qgcm91dGVGb3JGaWxlUGF0aCA9IHZhbHVlO1xuXG4gIGxldCBmaWxlUGF0aCA9IHJlc29sdmUoaG9zdERpciwgcm91dGVGb3JGaWxlUGF0aCk7XG4gIGxldCBjb250ZW50VHlwZTtcbiAgaWYgKGlzU2VydmVyQWN0aW9uUmVxdWVzdCkge1xuICAgIC8vIEZvciBzZXJ2ZXIgYWN0aW9ucywgd2UnbGwgZ2V0IHRoZSBhY3R1YWwgZmlsZSBwYXRoIGZyb20gdGhlIHJlcXVlc3QgYm9keVxuICAgIC8vIFRoZSByb3V0ZSBpcyBqdXN0IGEgcGxhY2Vob2xkZXJcbiAgICBmaWxlUGF0aCA9IHJlc29sdmUoaG9zdERpciwgcm91dGVGb3JGaWxlUGF0aCk7XG4gICAgY29udGVudFR5cGUgPSBcImFwcGxpY2F0aW9uL2pzb247IGNoYXJzZXQ9dXRmLThcIjtcbiAgfSBlbHNlIGlmIChpc0h0bWxSZXF1ZXN0KSB7XG4gICAgaWYgKCFpc0h0bWwpIHtcbiAgICAgIGZpbGVQYXRoID0gcmVzb2x2ZShcbiAgICAgICAgaG9zdERpcixcbiAgICAgICAgcm91dGVGb3JGaWxlUGF0aCxcbiAgICAgICAgaGFuZGxlck9wdGlvbnMuYnVpbGQuaHRtbE91dHB1dFBhdGhcbiAgICAgICk7XG4gICAgfVxuICAgIGNvbnRlbnRUeXBlID0gXCJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLThcIjtcbiAgfSBlbHNlIGlmIChpc1JzY1JlcXVlc3QpIHtcbiAgICBpZiAoIWlzUnNjKSB7XG4gICAgICAvLyBWYWx1ZSBkb2Vzbid0IGVuZCB3aXRoIC5yc2MsIGFwcGVuZCB0aGUgcnNjIG91dHB1dCBwYXRoXG4gICAgICBmaWxlUGF0aCA9IHJlc29sdmUoXG4gICAgICAgIGhvc3REaXIsXG4gICAgICAgIHJvdXRlRm9yRmlsZVBhdGgsXG4gICAgICAgIGhhbmRsZXJPcHRpb25zLmJ1aWxkLnJzY091dHB1dFBhdGhcbiAgICAgICk7XG4gICAgfVxuICAgIGNvbnRlbnRUeXBlID0gXCJ0ZXh0L3gtY29tcG9uZW50OyBjaGFyc2V0PXV0Zi04XCI7XG4gIH0gZWxzZSBpZiAoaXNDc3NSZXF1ZXN0KSB7XG4gICAgaWYgKCFpc0Nzcykge1xuICAgICAgZmlsZVBhdGggPSByZXNvbHZlKGhvc3REaXIsIHJvdXRlRm9yRmlsZVBhdGggKyBcIi5jc3NcIik7XG4gICAgfVxuICAgIGNvbnRlbnRUeXBlID0gXCJ0ZXh0L2NzczsgY2hhcnNldD11dGYtOFwiO1xuICB9IGVsc2UgaWYgKGlzSnNSZXF1ZXN0KSB7XG4gICAgaWYgKCFpc0pTKSB7XG4gICAgICBmaWxlUGF0aCA9IHJlc29sdmUoaG9zdERpciwgcm91dGVGb3JGaWxlUGF0aCArIFwiLmpzXCIpO1xuICAgIH1cbiAgICBjb250ZW50VHlwZSA9IFwiYXBwbGljYXRpb24vamF2YXNjcmlwdDsgY2hhcnNldD11dGYtOFwiO1xuICB9IGVsc2UgaWYgKGlzSnNvblJlcXVlc3QpIHtcbiAgICBpZiAoIWlzSnNvbikge1xuICAgICAgZmlsZVBhdGggPSByZXNvbHZlKGhvc3REaXIsIHJvdXRlRm9yRmlsZVBhdGggKyBcIi5qc29uXCIpO1xuICAgIH1cbiAgICBjb250ZW50VHlwZSA9IFwiYXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOFwiO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IG1pbWVUeXBlID0gTUlNRV9UWVBFU1tleHRdO1xuICAgIGlmIChtaW1lVHlwZSkge1xuICAgICAgY29udGVudFR5cGUgPSBtaW1lVHlwZSArIFwiOyBjaGFyc2V0PXV0Zi04XCI7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnRlbnRUeXBlID0gXCJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW07IGNoYXJzZXQ9dXRmLThcIjtcbiAgICB9XG4gIH1cblxuICBpZiAoaGFuZGxlck9wdGlvbnMudmVyYm9zZSkge1xuICAgIGlmIChpc0Zvcm1BY3Rpb25SZXF1ZXN0KSB7XG4gICAgICBoYW5kbGVyT3B0aW9ucy5sb2dnZXIuaW5mbyhgW3JlYWN0LWRldi1zZXJ2ZXJdIChmb3JtLWFjdGlvbikgJHtyb3V0ZX1gKTtcbiAgICB9IGVsc2UgaWYgKGlzU2VydmVyQWN0aW9uUmVxdWVzdCkge1xuICAgICAgaGFuZGxlck9wdGlvbnMubG9nZ2VyLmluZm8oYFtyZWFjdC1kZXYtc2VydmVyXSAoc2VydmVyLWFjdGlvbikgJHtyb3V0ZX1gKTtcbiAgICB9IGVsc2UgaWYgKGlzSHRtbFJlcXVlc3QpIHtcbiAgICAgIGhhbmRsZXJPcHRpb25zLmxvZ2dlci5pbmZvKGBbcmVhY3QtZGV2LXNlcnZlcl0gKGh0bWwpICR7cm91dGV9YCk7XG4gICAgfSBlbHNlIGlmIChpc1JzY1JlcXVlc3QpIHtcbiAgICAgIGhhbmRsZXJPcHRpb25zLmxvZ2dlci5pbmZvKGBbcmVhY3QtZGV2LXNlcnZlcl0gKHJzYykgJHtyb3V0ZX1gKTtcbiAgICB9IGVsc2UgaWYgKGlzQ3NzUmVxdWVzdCkge1xuICAgICAgaGFuZGxlck9wdGlvbnMubG9nZ2VyLmluZm8oYFtyZWFjdC1kZXYtc2VydmVyXSAoY3NzKSAke3JvdXRlfWApO1xuICAgIH0gZWxzZSBpZiAoaXNKc1JlcXVlc3QpIHtcbiAgICAgIGhhbmRsZXJPcHRpb25zLmxvZ2dlci5pbmZvKGBbcmVhY3QtZGV2LXNlcnZlcl0gKGpzKSAke3JvdXRlfWApO1xuICAgIH0gZWxzZSBpZiAoaXNKc29uUmVxdWVzdCkge1xuICAgICAgaGFuZGxlck9wdGlvbnMubG9nZ2VyLmluZm8oYFtyZWFjdC1kZXYtc2VydmVyXSAoanNvbikgJHtyb3V0ZX1gKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaGFuZGxlck9wdGlvbnMubG9nZ2VyLmluZm8oYFtyZWFjdC1kZXYtc2VydmVyXSAob3RoZXIpICR7cm91dGV9YCk7XG4gICAgfVxuICB9XG4gIHJldHVybiB7XG4gICAgcm91dGUsXG4gICAgdXJsOiByb3V0ZVRvVVJMKHJvdXRlLCBoYW5kbGVyT3B0aW9ucy5tb2R1bGVCYXNlVVJMLCBoYW5kbGVyT3B0aW9ucy5idWlsZC5yc2NPdXRwdXRQYXRoKSxcbiAgICBleHQsXG4gICAgaXNIdG1sUmVxdWVzdCxcbiAgICBpc1JzY1JlcXVlc3QsXG4gICAgaXNDc3NSZXF1ZXN0LFxuICAgIGlzQ3NzLFxuICAgIGlzSHRtbCxcbiAgICBpc1JzYyxcbiAgICBpc0ZvbGRlcixcbiAgICBjb250ZW50VHlwZSxcbiAgICBmaWxlUGF0aCxcbiAgICBpc0pTLFxuICAgIGlzVmVuZG9yLFxuICAgIGlzVmlydHVhbCxcbiAgICBoYXNKc0hlYWRlcixcbiAgICBpc0pzUmVxdWVzdCxcbiAgICBpc0pzb24sXG4gICAgaXNKc29uUmVxdWVzdCxcbiAgICBoYXNDc3NIZWFkZXIsXG4gICAgaGFzSnNvbkhlYWRlcixcbiAgICBoYXNIdG1sSGVhZGVyLFxuICAgIGhhc1JzY0hlYWRlcixcbiAgICBoYXNTZXJ2ZXJBY3Rpb25IZWFkZXJzLFxuICAgIGlzU2VydmVyQWN0aW9uUmVxdWVzdCxcbiAgICBpc0Zvcm1Db250ZW50VHlwZSxcbiAgICBpc0Zvcm1BY3Rpb25SZXF1ZXN0LFxuICB9O1xufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBaUJPLFNBQVMsV0FBQSxDQUNkLEdBQ0EsRUFBQSxjQUFBLEVBV0EsT0FDQSxFQUFBO0FBQ0EsRUFBTSxNQUFBLEtBQUEsR0FBUSxlQUFlLEdBQUssRUFBQTtBQUFBLElBQ2hDLGdCQUFnQixjQUFlLENBQUEsY0FBQTtBQUFBLElBQy9CLGVBQWUsY0FBZSxDQUFBLGFBQUE7QUFBQSxJQUM5QixPQUFPLGNBQWUsQ0FBQTtB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
163
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdEluZm8uanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BsdWdpbi9oZWxwZXJzL3JlcXVlc3RJbmZvLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJlc29sdmUgfSBmcm9tIFwibm9kZTpwYXRoXCI7XG5pbXBvcnQgdHlwZSB7IENyZWF0ZUhhbmRsZXJPcHRpb25zIH0gZnJvbSBcIi4uL3R5cGVzLmpzXCI7XG5pbXBvcnQgeyB0eXBlIENvbm5lY3QgfSBmcm9tIFwidml0ZVwiO1xuaW1wb3J0IHsgTUlNRV9UWVBFUyB9IGZyb20gXCIuLi9jb25maWcvbWltZVR5cGVzLmpzXCI7XG5pbXBvcnQgeyByZXF1ZXN0VG9Sb3V0ZSB9IGZyb20gXCIuL3JlcXVlc3RUb1JvdXRlLmpzXCI7XG5pbXBvcnQgeyByb3V0ZVRvVVJMIH0gZnJvbSBcIi4uL3V0aWxzL3JvdXRlVG9VUkwuanNcIjtcblxuLyoqXG4gKiAjIFJlcXVlc3QgaW5mb1xuICpcbiAqIERvZXMgdGhlIGluaXRpYWwgd29yayB0byBjaGVjayBpZiB0aGUgcmVxdWVzdCBpcyBmb3IgaHRtbCwgcnNjLCBqc29uLCBqcywgY3NzLCBzZXJ2ZXItYWN0aW9uLCBvciBzb21ldGhpbmcgZWxzZSBub3QgaGFuZGxlZCBieSB0aGlzIHBsdWdpbi5cbiAqXG4gKiBAcGFyYW0gcmVxXG4gKiBAcGFyYW0gaGFuZGxlck9wdGlvbnNcbiAqIEBwYXJhbSBob3N0RGlyXG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZnVuY3Rpb24gcmVxdWVzdEluZm8oXG4gIHJlcTogQ29ubmVjdC5JbmNvbWluZ01lc3NhZ2UsXG4gIGhhbmRsZXJPcHRpb25zOiBQaWNrPFxuICAgIENyZWF0ZUhhbmRsZXJPcHRpb25zLFxuICAgIHwgXCJub3JtYWxpemVyXCJcbiAgICB8IFwiYnVpbGRcIlxuICAgIHwgXCJhdXRvRGlzY292ZXJcIlxuICAgIHwgXCJ2ZXJib3NlXCJcbiAgICB8IFwibW9kdWxlQmFzZVBhdGhcIlxuICAgIHwgXCJtb2R1bGVCYXNlVVJMXCJcbiAgICB8IFwidmVyYm9zZVwiXG4gICAgfCBcImxvZ2dlclwiXG4gID4sXG4gIGhvc3REaXI6IHN0cmluZyxcbikge1xuICBjb25zdCByb3V0ZSA9IHJlcXVlc3RUb1JvdXRlKHJlcSwge1xuICAgIG1vZHVsZUJhc2VQYXRoOiBoYW5kbGVyT3B0aW9ucy5tb2R1bGVCYXNlUGF0aCxcbiAgICBtb2R1bGVCYXNlVVJMOiBoYW5kbGVyT3B0aW9ucy5tb2R1bGVCYXNlVVJMLFxuICAgIGJ1aWxkOiBoYW5kbGVyT3B0aW9ucy5idWlsZCxcbiAgfSk7XG5cbiAgaWYgKCFyb3V0ZSkge1xuICAgIHJldHVybiB7XG4gICAgICByb3V0ZTogXCIvXCIsXG4gICAgICB1cmw6IHJvdXRlVG9VUkwoXCIvXCIsIGhhbmRsZXJPcHRpb25zLm1vZHVsZUJhc2VVUkwsIGhhbmRsZXJPcHRpb25zLmJ1aWxkLnJzY091dHB1dFBhdGgpLFxuICAgICAgZXh0OiBcIlwiLFxuICAgIH07XG4gIH1cblxuICAvLyBVc2UgdGhlIGNsZWFuZWQgcm91dGUgZm9yIG5vcm1hbGl6YXRpb24sIG5vdCB0aGUgcmF3IHJlcS51cmxcbiAgLy8gVGhpcyBlbnN1cmVzIGJhc2UgVVJMIGlzIHByb3Blcmx5IHN0cmlwcGVkIGJlZm9yZSBub3JtYWxpemF0aW9uXG4gIGNvbnN0IFssIHZhbHVlXSA9IGhhbmRsZXJPcHRpb25zLm5vcm1hbGl6ZXIocm91dGUpO1xuICBpZiAoaGFuZGxlck9wdGlvbnMudmVyYm9zZSkge1xuICAgIGlmICh2YWx1ZSAmJiB2YWx1ZSAhPT0gXCJcIikge1xuICAgICAgaGFuZGxlck9wdGlvbnMubG9nZ2VyLmluZm8oYFtyZXF1ZXN0SW5mb10gVmFsdWU6IFxcXCIke3ZhbHVlfVxcXCJgKTtcbiAgICB9XG4gICAgaWYgKGhvc3REaXIgJiYgaG9zdERpciAhPT0gXCJcIikge1xuICAgICAgaGFuZGxlck9wdGlvbnMubG9nZ2VyLmluZm8oYFtyZXF1ZXN0SW5mb10gSG9zdCBEaXI6IFxcXCIke2hvc3REaXJ9XFxcImApO1xuICAgIH1cbiAgICBpZiAocmVxLnVybCAmJiByZXEudXJsICE9PSBcIlwiKSB7XG4gICAgICBoYW5kbGVyT3B0aW9ucy5sb2dnZXIuaW5mbyhgW3JlcXVlc3RJbmZvXSBSZXF1ZXN0IFVSTDogXFxcIiR7cmVxLnVybH1cXFwiYCk7XG4gICAgfVxuICB9XG5cbiAgY29uc3QgZG90SW5kZXggPSB2YWx1ZS5sYXN0SW5kZXhPZihcIi5cIik7XG4gIGNvbnN0IGV4dCA9IGRvdEluZGV4ID09PSAtMSA/IFwiXCIgOiB2YWx1ZS5zbGljZShkb3RJbmRleCk7XG4gIC8vIGhhbmRsZSBpbmRleC5odG1sXG4gIGNvbnN0IGlzVmVuZG9yID0gaGFuZGxlck9wdGlvbnMuYXV0b0Rpc2NvdmVyLnZlbmRvclBhdHRlcm4udGVzdCh2YWx1ZSk7XG4gIGNvbnN0IGlzVmlydHVhbCA9IGhhbmRsZXJPcHRpb25zLmF1dG9EaXNjb3Zlci52aXJ0dWFsUGF0dGVybi50ZXN0KHZhbHVlKTtcbiAgY29uc3QgaXNKUyA9IGhhbmRsZXJPcHRpb25zLmF1dG9EaXNjb3Zlci5tb2R1bGVQYXR0ZXJuLnRlc3QodmFsdWUpO1xuICBjb25zdCBpc0h0bWwgPSBoYW5kbGVyT3B0aW9ucy5hdXRvRGlzY292ZXIuaHRtbFBhdHRlcm4udGVzdCh2YWx1ZSk7XG4gIGNvbnN0IGlzQ3NzID0gaGFuZGxlck9wdGlvbnMuYXV0b0Rpc2NvdmVyLmNzc1BhdHRlcm4udGVzdCh2YWx1ZSk7XG4gIGNvbnN0IGlzSnNvbiA9IGhhbmRsZXJPcHRpb25zLmF1dG9EaXNjb3Zlci5qc29uUGF0dGVybi50ZXN0KHZhbHVlKTtcbiAgY29uc3QgaXNSc2MgPSBoYW5kbGVyT3B0aW9ucy5hdXRvRGlzY292ZXIucnNjUGF0dGVybi50ZXN0KHZhbHVlKTtcbiAgY29uc3QgaGFzSnNIZWFkZXIgPVxuICAgIHJlcS5oZWFkZXJzW1wic2VjLWZldGNoLWRlc3RcIl0gPT09IFwic2NyaXB0XCIgfHxcbiAgICByZXEuaGVhZGVyc1tcImFjY2VwdFwiXT8uaW5jbHVkZXMoXCIqLypcIikgfHxcbiAgICByZXEuaGVhZGVyc1tcImFjY2VwdFwiXT8uaW5jbHVkZXMoXCJ0ZXh0L2phdmFzY3JpcHRcIik7XG4gIGNvbnN0IGhhc0pzb25IZWFkZXIgPSByZXEuaGVhZGVyc1tcImFjY2VwdFwiXT8uaW5jbHVkZXMoXCJhcHBsaWNhdGlvbi9qc29uXCIpO1xuICBjb25zdCBoYXNIdG1sSGVhZGVyID0gcmVxLmhlYWRlcnMuYWNjZXB0Py5pbmNsdWRlcyhcInRleHQvaHRtbFwiKTtcbiAgY29uc3QgaGFzUnNjSGVhZGVyID0gcmVxLmhlYWRlcnMuYWNjZXB0Py5pbmNsdWRlcyhcInRleHQveC1jb21wb25lbnRcIik7XG4gIC8vIFN1cHBvcnQgP19yc2MgcXVlcnkgcGFyYW0gKGUuZy4gLz9fcnNjIGZvciBicm93c2VyIGRlYnVnZ2luZykgYXMgYWx0ZXJuYXRpdmUgdG8gQWNjZXB0IGhlYWRlciAodXNlZnVsIGZvciBicm93c2VyIGRlYnVnZ2luZylcbiAgY29uc3QgaGFzUnNjUXVlcnlQYXJhbSA9IC9bPyZdX3JzY1xcYi8udGVzdChyZXEudXJsIHx8IFwiXCIpO1xuICBjb25zdCBoYXNDc3NIZWFkZXIgPSByZXEuaGVhZGVycy5hY2NlcHQ/LmluY2x1ZGVzKFwidGV4dC9jc3NcIik7XG4gIGNvbnN0IGlzRm9sZGVyID0gIWV4dDtcbiAgY29uc3QgaXNGb3JtQ29udGVudFR5cGUgPVxuICAgIHJlcS5oZWFkZXJzW1wiY29udGVudC10eXBlXCJdPy5pbmNsdWRlcyhcbiAgICAgIFwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkXCJcbiAgICApIHx8ICEhcmVxLmhlYWRlcnNbXCJjb250ZW50LXR5cGVcIl0/LmluY2x1ZGVzKFwibXVsdGlwYXJ0L2Zvcm0tZGF0YVwiKTtcblxuICAvLyBTZXJ2ZXIgYWN0aW9uIGRldGVjdGlvblxuICBjb25zdCBoYXNSc2NBY3Rpb25IZWFkZXIgPSAhIXJlcS5oZWFkZXJzW1wieC1yc2MtYWN0aW9uXCJdO1xuICBjb25zdCBoYXNTZXJ2ZXJBY3Rpb25IZWFkZXJzID1cbiAgICByZXEubWV0aG9kID09PSBcIlBPU1RcIiAmJlxuICAgIChoYXNSc2NBY3Rpb25IZWFkZXIgfHwgKFxuICAgICAgKHJlcS5oZWFkZXJzW1wic2VjLWZldGNoLWRlc3RcIl0gPT09IFwiZW1wdHlcIiB8fFxuICAgICAgICByZXEuaGVhZGVyc1tcInNlYy1mZXRjaC1kZXN0XCJdID09PSBcIlwiKSAmJlxuICAgICAgcmVxLmhlYWRlcnNbXCJzZWMtZmV0Y2gtbW9kZVwiXSA9PT0gXCJjb3JzXCJcbiAgICApKTtcbiAgY29uc3QgaXNTZXJ2ZXJBY3Rpb25SZXF1ZXN0ID0gaGFzU2VydmVyQWN0aW9uSGVhZGVycztcblxuICBjb25zdCBpc0Zvcm1BY3Rpb25SZXF1ZXN0ID1cbiAgICAhaXNTZXJ2ZXJBY3Rpb25SZXF1ZXN0ICYmXG4gICAgKHJlcS5tZXRob2QgPT09IFwiUE9TVFwiIHx8XG4gICAgICAoaXNGb3JtQ29udGVudFR5cGUgJiZcbiAgICAgICAgcmVxLmhlYWRlcnNbXCJzZWMtZmV0Y2gtZGVzdFwiXSA9PT0gXCJkb2N1bWVudFwiICYmXG4gICAgICAgIHJlcS5oZWFkZXJzW1wic2VjLWZldGNoLW1vZGVcIl0gPT09IFwibmF2aWdhdGVcIikpO1xuXG4gIGNvbnN0IGlzSnNSZXF1ZXN0ID1cbiAgICAhaXNGb3JtQWN0aW9uUmVxdWVzdCAmJlxuICAgICFpc0pzb24gJiZcbiAgICAhaXNIdG1sICYmXG4gICAgIWlzQ3NzICYmXG4gICAgIWlzUnNjICYmXG4gICAgKGlzSlMgfHwgaGFzSnNIZWFkZXIpO1xuICBjb25zdCBpc0pzb25SZXF1ZXN0ID0gaXNKc29uIHx8IChoYXNKc29uSGVhZGVyICYmICFpc0pzUmVxdWVzdCk7XG4gIC8vIEZvcm0gYWN0aW9uIGRldGVjdGlvblxuXG4gIGNvbnN0IGlzSHRtbFJlcXVlc3QgPVxuICAgICFoYXNSc2NRdWVyeVBhcmFtICYmIChpc0h0bWwgfHxcbiAgICBoYXNIdG1sSGVhZGVyIHx8XG4gICAgKGlzRm9sZGVyICYmXG4gICAgICAhaGFzUnNjSGVhZGVyICYmXG4gICAgICAhaGFzUnNjUXVlcnlQYXJhbSAmJlxuICAgICAgIWlzUnNjICYmXG4gICAgICAhaXNKc1JlcXVlc3QgJiZcbiAgICAgICFpc0Zvcm1BY3Rpb25SZXF1ZXN0KSk7XG4gIGNvbnN0IGlzUnNjUmVxdWVzdCA9XG4gICAgaGFzUnNjUXVlcnlQYXJhbSB8fCAoIWlzSnNSZXF1ZXN0ICYmICFpc0h0bWxSZXF1ZXN0ICYmIChpc1JzYyB8fCBoYXNSc2NIZWFkZXIpKTtcbiAgY29uc3QgaXNDc3NSZXF1ZXN0ID1cbiAgICAhaXNIdG1sUmVxdWVzdCAmJlxuICAgICFpc1JzY1JlcXVlc3QgJiZcbiAgICAhaXNKc1JlcXVlc3QgJiZcbiAgICAhaXNKc29uUmVxdWVzdCAmJlxuICAgIChpc0NzcyB8fCBoYXNDc3NIZWFkZXIpO1xuXG4gIC8vIFVzZSB0aGUgbm9ybWFsaXplZCB2YWx1ZSBmb3IgZmlsZSBwYXRoIGNvbnN0cnVjdGlvblxuICAvLyBUaGUgbm9ybWFsaXplciBzaG91bGQgaGF2ZSBhbHJlYWR5IHN0cmlwcGVkIGJhc2UgVVJMcyBwcm9wZXJseVxuICBjb25zdCByb3V0ZUZvckZpbGVQYXRoID0gdmFsdWU7XG5cbiAgbGV0IGZpbGVQYXRoID0gcmVzb2x2ZShob3N0RGlyLCByb3V0ZUZvckZpbGVQYXRoKTtcbiAgbGV0IGNvbnRlbnRUeXBlO1xuICBpZiAoaXNTZXJ2ZXJBY3Rpb25SZXF1ZXN0KSB7XG4gICAgLy8gRm9yIHNlcnZlciBhY3Rpb25zLCB3ZSdsbCBnZXQgdGhlIGFjdHVhbCBmaWxlIHBhdGggZnJvbSB0aGUgcmVxdWVzdCBib2R5XG4gICAgLy8gVGhlIHJvdXRlIGlzIGp1c3QgYSBwbGFjZWhvbGRlclxuICAgIGZpbGVQYXRoID0gcmVzb2x2ZShob3N0RGlyLCByb3V0ZUZvckZpbGVQYXRoKTtcbiAgICBjb250ZW50VHlwZSA9IFwiYXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOFwiO1xuICB9IGVsc2UgaWYgKGlzSHRtbFJlcXVlc3QpIHtcbiAgICBpZiAoIWlzSHRtbCkge1xuICAgICAgZmlsZVBhdGggPSByZXNvbHZlKFxuICAgICAgICBob3N0RGlyLFxuICAgICAgICByb3V0ZUZvckZpbGVQYXRoLFxuICAgICAgICBoYW5kbGVyT3B0aW9ucy5idWlsZC5odG1sT3V0cHV0UGF0aFxuICAgICAgKTtcbiAgICB9XG4gICAgY29udGVudFR5cGUgPSBcInRleHQvaHRtbDsgY2hhcnNldD11dGYtOFwiO1xuICB9IGVsc2UgaWYgKGlzUnNjUmVxdWVzdCkge1xuICAgIGlmICghaXNSc2MpIHtcbiAgICAgIC8vIFZhbHVlIGRvZXNuJ3QgZW5kIHdpdGggLnJzYywgYXBwZW5kIHRoZSByc2Mgb3V0cHV0IHBhdGhcbiAgICAgIGZpbGVQYXRoID0gcmVzb2x2ZShcbiAgICAgICAgaG9zdERpcixcbiAgICAgICAgcm91dGVGb3JGaWxlUGF0aCxcbiAgICAgICAgaGFuZGxlck9wdGlvbnMuYnVpbGQucnNjT3V0cHV0UGF0aFxuICAgICAgKTtcbiAgICB9XG4gICAgY29udGVudFR5cGUgPSBcInRleHQveC1jb21wb25lbnQ7IGNoYXJzZXQ9dXRmLThcIjtcbiAgfSBlbHNlIGlmIChpc0Nzc1JlcXVlc3QpIHtcbiAgICBpZiAoIWlzQ3NzKSB7XG4gICAgICBmaWxlUGF0aCA9IHJlc29sdmUoaG9zdERpciwgcm91dGVGb3JGaWxlUGF0aCArIFwiLmNzc1wiKTtcbiAgICB9XG4gICAgY29udGVudFR5cGUgPSBcInRleHQvY3NzOyBjaGFyc2V0PXV0Zi04XCI7XG4gIH0gZWxzZSBpZiAoaXNKc1JlcXVlc3QpIHtcbiAgICBpZiAoIWlzSlMpIHtcbiAgICAgIGZpbGVQYXRoID0gcmVzb2x2ZShob3N0RGlyLCByb3V0ZUZvckZpbGVQYXRoICsgXCIuanNcIik7XG4gICAgfVxuICAgIGNvbnRlbnRUeXBlID0gXCJhcHBsaWNhdGlvbi9qYXZhc2NyaXB0OyBjaGFyc2V0PXV0Zi04XCI7XG4gIH0gZWxzZSBpZiAoaXNKc29uUmVxdWVzdCkge1xuICAgIGlmICghaXNKc29uKSB7XG4gICAgICBmaWxlUGF0aCA9IHJlc29sdmUoaG9zdERpciwgcm91dGVGb3JGaWxlUGF0aCArIFwiLmpzb25cIik7XG4gICAgfVxuICAgIGNvbnRlbnRUeXBlID0gXCJhcHBsaWNhdGlvbi9qc29uOyBjaGFyc2V0PXV0Zi04XCI7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgbWltZVR5cGUgPSBNSU1FX1RZUEVTW2V4dF07XG4gICAgaWYgKG1pbWVUeXBlKSB7XG4gICAgICBjb250ZW50VHlwZSA9IG1pbWVUeXBlICsgXCI7IGNoYXJzZXQ9dXRmLThcIjtcbiAgICB9IGVsc2Uge1xuICAgICAgY29udGVudFR5cGUgPSBcImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbTsgY2hhcnNldD11dGYtOFwiO1xuICAgIH1cbiAgfVxuXG4gIGlmIChoYW5kbGVyT3B0aW9ucy52ZXJib3NlKSB7XG4gICAgaWYgKGlzRm9ybUFjdGlvblJlcXVlc3QpIHtcbiAgICAgIGhhbmRsZXJPcHRpb25zLmxvZ2dlci5pbmZvKGBbcmVhY3QtZGV2LXNlcnZlcl0gKGZvcm0tYWN0aW9uKSAke3JvdXRlfWApO1xuICAgIH0gZWxzZSBpZiAoaXNTZXJ2ZXJBY3Rpb25SZXF1ZXN0KSB7XG4gICAgICBoYW5kbGVyT3B0aW9ucy5sb2dnZXIuaW5mbyhgW3JlYWN0LWRldi1zZXJ2ZXJdIChzZXJ2ZXItYWN0aW9uKSAke3JvdXRlfWApO1xuICAgIH0gZWxzZSBpZiAoaXNIdG1sUmVxdWVzdCkge1xuICAgICAgaGFuZGxlck9wdGlvbnMubG9nZ2VyLmluZm8oYFtyZWFjdC1kZXYtc2VydmVyXSAoaHRtbCkgJHtyb3V0ZX1gKTtcbiAgICB9IGVsc2UgaWYgKGlzUnNjUmVxdWVzdCkge1xuICAgICAgaGFuZGxlck9wdGlvbnMubG9nZ2VyLmluZm8oYFtyZWFjdC1kZXYtc2VydmVyXSAocnNjKSAke3JvdXRlfWApO1xuICAgIH0gZWxzZSBpZiAoaXNDc3NSZXF1ZXN0KSB7XG4gICAgICBoYW5kbGVyT3B0aW9ucy5sb2dnZXIuaW5mbyhgW3JlYWN0LWRldi1zZXJ2ZXJdIChjc3MpICR7cm91dGV9YCk7XG4gICAgfSBlbHNlIGlmIChpc0pzUmVxdWVzdCkge1xuICAgICAgaGFuZGxlck9wdGlvbnMubG9nZ2VyLmluZm8oYFtyZWFjdC1kZXYtc2VydmVyXSAoanMpICR7cm91dGV9YCk7XG4gICAgfSBlbHNlIGlmIChpc0pzb25SZXF1ZXN0KSB7XG4gICAgICBoYW5kbGVyT3B0aW9ucy5sb2dnZXIuaW5mbyhgW3JlYWN0LWRldi1zZXJ2ZXJdIChqc29uKSAke3JvdXRlfWApO1xuICAgIH0gZWxzZSB7XG4gICAgICBoYW5kbGVyT3B0aW9ucy5sb2dnZXIuaW5mbyhgW3JlYWN0LWRldi1zZXJ2ZXJdIChvdGhlcikgJHtyb3V0ZX1gKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHtcbiAgICByb3V0ZSxcbiAgICB1cmw6IHJvdXRlVG9VUkwocm91dGUsIGhhbmRsZXJPcHRpb25zLm1vZHVsZUJhc2VVUkwsIGhhbmRsZXJPcHRpb25zLmJ1aWxkLnJzY091dHB1dFBhdGgpLFxuICAgIGV4dCxcbiAgICBpc0h0bWxSZXF1ZXN0LFxuICAgIGlzUnNjUmVxdWVzdCxcbiAgICBpc0Nzc1JlcXVlc3QsXG4gICAgaXNDc3MsXG4gICAgaXNIdG1sLFxuICAgIGlzUnNjLFxuICAgIGlzRm9sZGVyLFxuICAgIGNvbnRlbnRUeXBlLFxuICAgIGZpbGVQYXRoLFxuICAgIGlzSlMsXG4gICAgaXNWZW5kb3IsXG4gICAgaXNWaXJ0dWFsLFxuICAgIGhhc0pzSGVhZGVyLFxuICAgIGlzSnNSZXF1ZXN0LFxuICAgIGlzSnNvbixcbiAgICBpc0pzb25SZXF1ZXN0LFxuICAgIGhhc0Nzc0hlYWRlcixcbiAgICBoYXNKc29uSGVhZGVyLFxuICAgIGhhc0h0bWxIZWFkZXIsXG4gICAgaGFzUnNjSGVhZGVyLFxuICAgIGhhc1NlcnZlckFjdGlvbkhlYWRlcnMsXG4gICAgaXNTZXJ2ZXJBY3Rpb25SZXF1ZXN0LFxuICAgIGlzRm9y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
@@ -1 +1 @@
1
- {"version":3,"file":"requestToRoute.d.ts","sourceRoot":"","sources":["../../../plugin/helpers/requestToRoute.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAExD,wBAAgB,cAAc,CAC5B,GAAG,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,EACrB,cAAc,EAAE,IAAI,CAClB,oBAAoB,EACpB,gBAAgB,GAAG,eAAe,GAAG,OAAO,CAC7C,sBAyCF"}
1
+ {"version":3,"file":"requestToRoute.d.ts","sourceRoot":"","sources":["../../../plugin/helpers/requestToRoute.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAExD,wBAAgB,cAAc,CAC5B,GAAG,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,EACrB,cAAc,EAAE,IAAI,CAClB,oBAAoB,EACpB,gBAAgB,GAAG,eAAe,GAAG,OAAO,CAC7C,sBA0CF"}
@@ -4,7 +4,7 @@
4
4
  * MIT License
5
5
  */
6
6
  function requestToRoute(req, handlerOptions) {
7
- let route = req.url?.replace(
7
+ let route = req.url?.split("?")[0].replace(
8
8
  handlerOptions.moduleBaseURL + handlerOptions.build.rscOutputPath,
9
9
  ""
10
10
  ).replace(
@@ -29,4 +29,4 @@ function requestToRoute(req, handlerOptions) {
29
29
  }
30
30
 
31
31
  export { requestToRoute };
32
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdFRvUm91dGUuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BsdWdpbi9oZWxwZXJzL3JlcXVlc3RUb1JvdXRlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ3JlYXRlSGFuZGxlck9wdGlvbnMgfSBmcm9tIFwiLi4vdHlwZXMuanNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHJlcXVlc3RUb1JvdXRlKFxuICByZXE6IHsgdXJsPzogc3RyaW5nIH0sXG4gIGhhbmRsZXJPcHRpb25zOiBQaWNrPFxuICAgIENyZWF0ZUhhbmRsZXJPcHRpb25zLFxuICAgIFwibW9kdWxlQmFzZVBhdGhcIiB8IFwibW9kdWxlQmFzZVVSTFwiIHwgXCJidWlsZFwiXG4gID5cbikge1xuICBsZXQgcm91dGUgPSByZXEudXJsXG4gICAgPy5yZXBsYWNlKFxuICAgICAgaGFuZGxlck9wdGlvbnMubW9kdWxlQmFzZVVSTCArIGhhbmRsZXJPcHRpb25zLmJ1aWxkLnJzY091dHB1dFBhdGgsXG4gICAgICBcIlwiXG4gICAgKVxuICAgIC5yZXBsYWNlKFxuICAgICAgaGFuZGxlck9wdGlvbnMubW9kdWxlQmFzZVVSTCArIGhhbmRsZXJPcHRpb25zLmJ1aWxkLmh0bWxPdXRwdXRQYXRoLFxuICAgICAgXCJcIlxuICAgIClcbiAgICAucmVwbGFjZSgvXlxcL2luZGV4JC8sIFwiL1wiKTtcbiAgaWYgKHR5cGVvZiByb3V0ZSAhPT0gXCJzdHJpbmdcIikge1xuICAgIHJldHVybiByb3V0ZTtcbiAgfVxuICBcbiAgLy8gU3RyaXAgbW9kdWxlQmFzZVVSTCBmcm9tIHRoZSBiZWdpbm5pbmcgb2YgdGhlIHJvdXRlXG4gIGlmIChyb3V0ZS5zdGFydHNXaXRoKGhhbmRsZXJPcHRpb25zLm1vZHVsZUJhc2VVUkwpKSB7XG4gICAgcm91dGUgPSByb3V0ZS5zbGljZShoYW5kbGVyT3B0aW9ucy5tb2R1bGVCYXNlVVJMLmxlbmd0aCk7XG4gIH1cbiAgaWYocm91dGUuZW5kc1dpdGgoaGFuZGxlck9wdGlvbnMuYnVpbGQucnNjT3V0cHV0UGF0aCkpIHtcbiAgICByb3V0ZSA9IHJvdXRlLnNsaWNlKDAsIC1oYW5kbGVyT3B0aW9ucy5idWlsZC5yc2NPdXRwdXRQYXRoLmxlbmd0aCk7XG4gIH1cbiAgXG4gIGlmIChyb3V0ZS5zdGFydHNXaXRoKGhhbmRsZXJPcHRpb25zLm1vZHVsZUJhc2VQYXRoKSkge1xuICAgIHJvdXRlID0gcm91dGUuc2xpY2UoaGFuZGxlck9wdGlvbnMubW9kdWxlQmFzZVBhdGgubGVuZ3RoKTtcbiAgfVxuXG4gIGNvbnN0IHJvdXRlV2l0aG91dFRyYWlsaW5nU2xhc2ggPVxuICAgIHJvdXRlID09PSBcIlwiIHx8IHJvdXRlID09PSBcIi9cIlxuICAgICAgPyBcIi9cIlxuICAgICAgOiByb3V0ZS5lbmRzV2l0aChcIi9cIilcbiAgICAgID8gcm91dGUuc2xpY2UoMCwgLTEpXG4gICAgICA6IHJvdXRlO1xuXG4gIGNvbnN0IHJvdXRlV2l0aExlYWRpbmdTbGFzaCA9ICFyb3V0ZVdpdGhvdXRUcmFpbGluZ1NsYXNoXG4gICAgPyBcIi9cIlxuICAgIDogcm91dGVXaXRob3V0VHJhaWxpbmdTbGFzaC5zdGFydHNXaXRoKFwiL1wiKVxuICAgID8gcm91dGVXaXRob3V0VHJhaWxpbmdTbGFzaFxuICAgIDogYC8ke3JvdXRlV2l0aG91dFRyYWlsaW5nU2xhc2h9YDtcbiAgcmV0dXJuIHJvdXRlV2l0aExlYWRpbmdTbGFzaDtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUVPLFNBQVMsY0FBQSxDQUNkLEtBQ0EsY0FJQSxFQUFBO0FBQ0EsRUFBSSxJQUFBLEtBQUEsR0FBUSxJQUFJLEdBQ1osRUFBQSxPQUFBO0FBQUEsSUFDQSxjQUFBLENBQWUsYUFBZ0IsR0FBQSxjQUFBLENBQWUsS0FBTSxDQUFBLGFBQUE7QUFBQSxJQUNwRDtBQUFBLEdBRUQsQ0FBQSxPQUFBO0FBQUEsSUFDQyxjQUFBLENBQWUsYUFBZ0IsR0FBQSxjQUFBLENBQWUsS0FBTSxDQUFBLGNBQUE7QUFBQSxJQUNwRDtBQUFBLEdBQ0YsQ0FDQyxPQUFRLENBQUEsV0FBQSxFQUFhLEdBQUcsQ0FBQTtBQUMzQixFQUFJLElBQUEsT0FBTyxVQUFVLFFBQVUsRUFBQTtBQUM3QixJQUFPLE9BQUEsS0FBQTtBQUFBO0FBSVQsRUFBQSxJQUFJLEtBQU0sQ0FBQSxVQUFBLENBQVcsY0FBZSxDQUFBLGFBQWEsQ0FBRyxFQUFBO0FBQ2xELElBQUEsS0FBQSxHQUFRLEtBQU0sQ0FBQSxLQUFBLENBQU0sY0FBZSxDQUFBLGFBQUEsQ0FBYyxNQUFNLENBQUE7QUFBQTtBQUV6RCxFQUFBLElBQUcsS0FBTSxDQUFBLFFBQUEsQ0FBUyxjQUFlLENBQUEsS0FBQSxDQUFNLGFBQWEsQ0FBRyxFQUFBO0FBQ3JELElBQUEsS0FBQSxHQUFRLE1BQU0sS0FBTSxDQUFBLENBQUEsRUFBRyxDQUFDLGNBQWUsQ0FBQSxLQUFBLENBQU0sY0FBYyxNQUFNLENBQUE7QUFBQTtBQUduRSxFQUFBLElBQUksS0FBTSxDQUFBLFVBQUEsQ0FBVyxjQUFlLENBQUEsY0FBYyxDQUFHLEVBQUE7QUFDbkQsSUFBQSxLQUFBLEdBQVEsS0FBTSxDQUFBLEtBQUEsQ0FBTSxjQUFlLENBQUEsY0FBQSxDQUFlLE1BQU0sQ0FBQTtBQUFBO0FBRzFELEVBQUEsTUFBTSx5QkFDSixHQUFBLEtBQUEsS0FBVSxFQUFNLElBQUEsS0FBQSxLQUFVLE1BQ3RCLEdBQ0EsR0FBQSxLQUFBLENBQU0sUUFBUyxDQUFBLEdBQUcsQ0FDbEIsR0FBQSxLQUFBLENBQU0sS0FBTSxDQUFBLENBQUEsRUFBRyxFQUFFLENBQ2pCLEdBQUEsS0FBQTtBQUVOLEVBQU0sTUFBQSxxQkFBQSxHQUF3QixDQUFDLHlCQUFBLEdBQzNCLEdBQ0EsR0FBQSx5QkFBQSxDQUEwQixXQUFXLEdBQUcsQ0FBQSxHQUN4Qyx5QkFDQSxHQUFBLENBQUEsQ0FBQSxFQUFJLHlCQUF5QixDQUFBLENBQUE7QUFDakMsRUFBTyxPQUFBLHFCQUFBO0FBQ1Q7Ozs7In0=
32
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdFRvUm91dGUuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BsdWdpbi9oZWxwZXJzL3JlcXVlc3RUb1JvdXRlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ3JlYXRlSGFuZGxlck9wdGlvbnMgfSBmcm9tIFwiLi4vdHlwZXMuanNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHJlcXVlc3RUb1JvdXRlKFxuICByZXE6IHsgdXJsPzogc3RyaW5nIH0sXG4gIGhhbmRsZXJPcHRpb25zOiBQaWNrPFxuICAgIENyZWF0ZUhhbmRsZXJPcHRpb25zLFxuICAgIFwibW9kdWxlQmFzZVBhdGhcIiB8IFwibW9kdWxlQmFzZVVSTFwiIHwgXCJidWlsZFwiXG4gID5cbikge1xuICAvLyBTdHJpcCBxdWVyeSBzdHJpbmcgYmVmb3JlIHJvdXRlIG1hdGNoaW5nXG4gIGxldCByb3V0ZSA9IHJlcS51cmw/LnNwbGl0KFwiP1wiKVswXVxuICAgIC5yZXBsYWNlKFxuICAgICAgaGFuZGxlck9wdGlvbnMubW9kdWxlQmFzZVVSTCArIGhhbmRsZXJPcHRpb25zLmJ1aWxkLnJzY091dHB1dFBhdGgsXG4gICAgICBcIlwiXG4gICAgKVxuICAgIC5yZXBsYWNlKFxuICAgICAgaGFuZGxlck9wdGlvbnMubW9kdWxlQmFzZVVSTCArIGhhbmRsZXJPcHRpb25zLmJ1aWxkLmh0bWxPdXRwdXRQYXRoLFxuICAgICAgXCJcIlxuICAgIClcbiAgICAucmVwbGFjZSgvXlxcL2luZGV4JC8sIFwiL1wiKTtcbiAgaWYgKHR5cGVvZiByb3V0ZSAhPT0gXCJzdHJpbmdcIikge1xuICAgIHJldHVybiByb3V0ZTtcbiAgfVxuICBcbiAgLy8gU3RyaXAgbW9kdWxlQmFzZVVSTCBmcm9tIHRoZSBiZWdpbm5pbmcgb2YgdGhlIHJvdXRlXG4gIGlmIChyb3V0ZS5zdGFydHNXaXRoKGhhbmRsZXJPcHRpb25zLm1vZHVsZUJhc2VVUkwpKSB7XG4gICAgcm91dGUgPSByb3V0ZS5zbGljZShoYW5kbGVyT3B0aW9ucy5tb2R1bGVCYXNlVVJMLmxlbmd0aCk7XG4gIH1cbiAgaWYocm91dGUuZW5kc1dpdGgoaGFuZGxlck9wdGlvbnMuYnVpbGQucnNjT3V0cHV0UGF0aCkpIHtcbiAgICByb3V0ZSA9IHJvdXRlLnNsaWNlKDAsIC1oYW5kbGVyT3B0aW9ucy5idWlsZC5yc2NPdXRwdXRQYXRoLmxlbmd0aCk7XG4gIH1cbiAgXG4gIGlmIChyb3V0ZS5zdGFydHNXaXRoKGhhbmRsZXJPcHRpb25zLm1vZHVsZUJhc2VQYXRoKSkge1xuICAgIHJvdXRlID0gcm91dGUuc2xpY2UoaGFuZGxlck9wdGlvbnMubW9kdWxlQmFzZVBhdGgubGVuZ3RoKTtcbiAgfVxuXG4gIGNvbnN0IHJvdXRlV2l0aG91dFRyYWlsaW5nU2xhc2ggPVxuICAgIHJvdXRlID09PSBcIlwiIHx8IHJvdXRlID09PSBcIi9cIlxuICAgICAgPyBcIi9cIlxuICAgICAgOiByb3V0ZS5lbmRzV2l0aChcIi9cIilcbiAgICAgID8gcm91dGUuc2xpY2UoMCwgLTEpXG4gICAgICA6IHJvdXRlO1xuXG4gIGNvbnN0IHJvdXRlV2l0aExlYWRpbmdTbGFzaCA9ICFyb3V0ZVdpdGhvdXRUcmFpbGluZ1NsYXNoXG4gICAgPyBcIi9cIlxuICAgIDogcm91dGVXaXRob3V0VHJhaWxpbmdTbGFzaC5zdGFydHNXaXRoKFwiL1wiKVxuICAgID8gcm91dGVXaXRob3V0VHJhaWxpbmdTbGFzaFxuICAgIDogYC8ke3JvdXRlV2l0aG91dFRyYWlsaW5nU2xhc2h9YDtcbiAgcmV0dXJuIHJvdXRlV2l0aExlYWRpbmdTbGFzaDtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUVPLFNBQVMsY0FBQSxDQUNkLEtBQ0EsY0FJQSxFQUFBO0FBRUEsRUFBQSxJQUFJLFFBQVEsR0FBSSxDQUFBLEdBQUEsRUFBSyxNQUFNLEdBQUcsQ0FBQSxDQUFFLENBQUMsQ0FDOUIsQ0FBQSxPQUFBO0FBQUEsSUFDQyxjQUFBLENBQWUsYUFBZ0IsR0FBQSxjQUFBLENBQWUsS0FBTSxDQUFBLGFBQUE7QUFBQSxJQUNwRDtBQUFBLEdBRUQsQ0FBQSxPQUFBO0FBQUEsSUFDQyxjQUFBLENBQWUsYUFBZ0IsR0FBQSxjQUFBLENBQWUsS0FBTSxDQUFBLGNBQUE7QUFBQSxJQUNwRDtBQUFBLEdBQ0YsQ0FDQyxPQUFRLENBQUEsV0FBQSxFQUFhLEdBQUcsQ0FBQTtBQUMzQixFQUFJLElBQUEsT0FBTyxVQUFVLFFBQVUsRUFBQTtBQUM3QixJQUFPLE9BQUEsS0FBQTtBQUFBO0FBSVQsRUFBQSxJQUFJLEtBQU0sQ0FBQSxVQUFBLENBQVcsY0FBZSxDQUFBLGFBQWEsQ0FBRyxFQUFBO0FBQ2xELElBQUEsS0FBQSxHQUFRLEtBQU0sQ0FBQSxLQUFBLENBQU0sY0FBZSxDQUFBLGFBQUEsQ0FBYyxNQUFNLENBQUE7QUFBQTtBQUV6RCxFQUFBLElBQUcsS0FBTSxDQUFBLFFBQUEsQ0FBUyxjQUFlLENBQUEsS0FBQSxDQUFNLGFBQWEsQ0FBRyxFQUFBO0FBQ3JELElBQUEsS0FBQSxHQUFRLE1BQU0sS0FBTSxDQUFBLENBQUEsRUFBRyxDQUFDLGNBQWUsQ0FBQSxLQUFBLENBQU0sY0FBYyxNQUFNLENBQUE7QUFBQTtBQUduRSxFQUFBLElBQUksS0FBTSxDQUFBLFVBQUEsQ0FBVyxjQUFlLENBQUEsY0FBYyxDQUFHLEVBQUE7QUFDbkQsSUFBQSxLQUFBLEdBQVEsS0FBTSxDQUFBLEtBQUEsQ0FBTSxjQUFlLENBQUEsY0FBQSxDQUFlLE1BQU0sQ0FBQTtBQUFBO0FBRzFELEVBQUEsTUFBTSx5QkFDSixHQUFBLEtBQUEsS0FBVSxFQUFNLElBQUEsS0FBQSxLQUFVLE1BQ3RCLEdBQ0EsR0FBQSxLQUFBLENBQU0sUUFBUyxDQUFBLEdBQUcsQ0FDbEIsR0FBQSxLQUFBLENBQU0sS0FBTSxDQUFBLENBQUEsRUFBRyxFQUFFLENBQ2pCLEdBQUEsS0FBQTtBQUVOLEVBQU0sTUFBQSxxQkFBQSxHQUF3QixDQUFDLHlCQUFBLEdBQzNCLEdBQ0EsR0FBQSx5QkFBQSxDQUEwQixXQUFXLEdBQUcsQ0FBQSxHQUN4Qyx5QkFDQSxHQUFBLENBQUEsQ0FBQSxFQUFJLHlCQUF5QixDQUFBLENBQUE7QUFDakMsRUFBTyxPQUFBLHFCQUFBO0FBQ1Q7Ozs7In0=
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.server.d.ts","sourceRoot":"","sources":["../../../plugin/react-static/plugin.server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAaH,OAAO,KAAK,EAIV,YAAY,EACb,MAAM,aAAa,CAAC;AAyCrB,eAAO,MAAM,iBAAiB,EAAE,YA+nB/B,CAAC"}
1
+ {"version":3,"file":"plugin.server.d.ts","sourceRoot":"","sources":["../../../plugin/react-static/plugin.server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAaH,OAAO,KAAK,EAIV,YAAY,EACb,MAAM,aAAa,CAAC;AA0CrB,eAAO,MAAM,iBAAiB,EAAE,YAwoB/B,CAAC"}
@@ -16,7 +16,8 @@
16
16
  import { createLogger, } from "vite";
17
17
  import { resolveOptions } from "../config/resolveOptions.js";
18
18
  import { createBuildLoader } from "./createBuildLoader.server.js";
19
- import { renderPages } from "./renderPages.js";
19
+ import { renderPagesBatched } from "./renderPagesBatched.js";
20
+ import { renderPages as renderPagesSequential } from "./renderPages.js";
20
21
  import { getBundleManifest } from "../helpers/getBundleManifest.js";
21
22
  import { createWorker } from "../worker/createWorker.js";
22
23
  import { serializedOptions, serializeResolvedConfig, } from "../helpers/serializeUserOptions.js";
@@ -375,6 +376,12 @@ export const reactStaticPlugin = function _reactStaticPlugin(options) {
375
376
  }
376
377
  }
377
378
  }
379
+ // Select render mode based on build config
380
+ const renderMode = userOptions.build?.renderMode ?? "parallel";
381
+ const renderPages = renderMode === "sequential" ? renderPagesSequential : renderPagesBatched;
382
+ if (userOptions.verbose) {
383
+ logger.info(`[static] Using ${renderMode} rendering${renderMode === "parallel" ? ` (batch size: ${userOptions.build?.batchSize ?? 8})` : ""}`);
384
+ }
378
385
  // this will render the routes
379
386
  const renderPagesGenerator = renderPages(routes, {
380
387
  ...handlerOptions,
@@ -393,6 +400,7 @@ export const reactStaticPlugin = function _reactStaticPlugin(options) {
393
400
  staticManifest: staticManifest, // Pass static manifest for path resolution
394
401
  autoDiscoveredFiles: autoDiscoveredFiles,
395
402
  cssFilesByPage: cssFilesByPage,
403
+ batchSize: userOptions.build?.batchSize,
396
404
  }, renderPage);
397
405
  // Process render results
398
406
  let finalResult;
@@ -1 +1 @@
1
- {"version":3,"file":"renderPagesBatched.d.ts","sourceRoot":"","sources":["../../../plugin/react-static/renderPagesBatched.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,aAAa,EAA2C,MAAM,YAAY,CAAC;AA0GzF;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,aAkJhC,CAAC"}
1
+ {"version":3,"file":"renderPagesBatched.d.ts","sourceRoot":"","sources":["../../../plugin/react-static/renderPagesBatched.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,aAAa,EAA2C,MAAM,YAAY,CAAC;AA4OzF;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,aA6HhC,CAAC"}