livemark 0.9.0 → 0.9.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "livemark",
3
- "version": "0.9.0",
3
+ "version": "0.9.1",
4
4
  "description": "Livemark description",
5
5
  "license": "MIT",
6
6
  "author": "Evgeny Karev",
@@ -33,11 +33,14 @@ if (!existsSync(gitignorePath)) {
33
33
 
34
34
  const routeChildren: VirtualRouteNode[] = [route("/$", "$.tsx")]
35
35
  if (existsSync(join(overridesRoot, "routes"))) {
36
- // physical() resolves its argument relative to this file. Hardcoding a
37
- // relative literal lands at <pkg>/.livemark/ when livemark is installed
38
- // under node_modules/. Compute it from the consumer's overridesRoot.
36
+ // physical(dir) resolves `dir` relative to the routes directory
37
+ // (`srcDirectory/routes`). A hardcoded "../../.livemark/routes" only
38
+ // works when source/ sits one level under config.root — it lands at
39
+ // node_modules/.livemark/routes once livemark is installed. Compute
40
+ // the path dynamically from the consumer's actual layout.
41
+ const routesDir = join(sourceDir, "routes")
39
42
  routeChildren.push(
40
- physical(relative(sourceDir, join(overridesRoot, "routes"))),
43
+ physical(relative(routesDir, join(overridesRoot, "routes"))),
41
44
  )
42
45
  }
43
46
 
@@ -25,10 +25,13 @@ if (!existsSync(gitignorePath)) {
25
25
  }
26
26
  const routeChildren = [route("/$", "$.tsx")];
27
27
  if (existsSync(join(overridesRoot, "routes"))) {
28
- // physical() resolves its argument relative to this file. Hardcoding a
29
- // relative literal lands at <pkg>/.livemark/ when livemark is installed
30
- // under node_modules/. Compute it from the consumer's overridesRoot.
31
- routeChildren.push(physical(relative(sourceDir, join(overridesRoot, "routes"))));
28
+ // physical(dir) resolves `dir` relative to the routes directory
29
+ // (`srcDirectory/routes`). A hardcoded "../../.livemark/routes" only
30
+ // works when source/ sits one level under config.root — it lands at
31
+ // node_modules/.livemark/routes once livemark is installed. Compute
32
+ // the path dynamically from the consumer's actual layout.
33
+ const routesDir = join(sourceDir, "routes");
34
+ routeChildren.push(physical(relative(routesDir, join(overridesRoot, "routes"))));
32
35
  }
33
36
  export default defineConfig({
34
37
  root: config.root,
@@ -64,4 +67,4 @@ export default defineConfig({
64
67
  svgr(),
65
68
  ],
66
69
  });
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidml0ZS5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zb3VyY2Uvdml0ZS5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLE1BQU0sU0FBUyxDQUFBO0FBQzlELE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBQzFDLE9BQU8sa0JBQWtCLE1BQU0sMkJBQTJCLENBQUE7QUFDMUQsT0FBTyxRQUFRLE1BQU0sbUJBQW1CLENBQUE7QUFDeEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQ2xELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQTtBQUNqRSxPQUFPLEVBQ0wsUUFBUSxFQUNSLFNBQVMsRUFDVCxLQUFLLEdBRU4sTUFBTSwrQkFBK0IsQ0FBQTtBQUN0QyxPQUFPLEtBQUssTUFBTSxzQkFBc0IsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ25DLE9BQU8sSUFBSSxNQUFNLGtCQUFrQixDQUFBO0FBQ25DLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFDbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ2hELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUVyRCxNQUFNLE1BQU0sR0FBRyxNQUFNLFVBQVUsRUFBRSxDQUFBO0FBQ2pDLE1BQU0sU0FBUyxHQUFHLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQTtBQUNyQyxNQUFNLGNBQWMsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQTtBQUN2RCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQTtBQUVwRCwyRUFBMkU7QUFDM0UsbUNBQW1DO0FBQ25DLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsWUFBWSxDQUFDLENBQUE7QUFDdkQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO0lBQy9CLFNBQVMsQ0FBQyxhQUFhLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQTtJQUM3QyxhQUFhLENBQUMsYUFBYSxFQUFFLGtCQUFrQixDQUFDLENBQUE7QUFDbEQsQ0FBQztBQUVELE1BQU0sYUFBYSxHQUF1QixDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQTtBQUNoRSxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUM5Qyx1RUFBdUU7SUFDdkUsd0VBQXdFO0lBQ3hFLHFFQUFxRTtJQUNyRSxhQUFhLENBQUMsSUFBSSxDQUNoQixRQUFRLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FDN0QsQ0FBQTtBQUNILENBQUM7QUFFRCxlQUFlLFlBQVksQ0FBQztJQUMxQixJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUk7SUFDakIsU0FBUyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxRQUFRLENBQUM7SUFDbkQsS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFO0lBQ3BDLE1BQU0sRUFBRTtRQUNOLHdCQUF3QixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUN0RTtJQUNELE9BQU8sRUFBRTtRQUNQLFFBQVEsQ0FBQztZQUNQLFlBQVksRUFBRSxTQUFTO1lBQ3ZCLGFBQWE7WUFDYixPQUFPLEVBQUUsQ0FBQyxHQUFHLGdCQUFnQixDQUFDO1lBQzlCLFVBQVUsRUFBRSxNQUFNLENBQUMsVUFBVTtTQUM5QixDQUFDO1FBQ0YsUUFBUSxFQUFFO1FBQ1YsUUFBUSxFQUFFO1FBQ1Ysa0JBQWtCLENBQUM7WUFDakIsVUFBVSxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsd0JBQXdCLENBQUM7U0FDM0QsQ0FBQztRQUNGLGFBQWEsQ0FBQztZQUNaLFlBQVksRUFBRSxjQUFjO1lBQzVCLEtBQUssRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDO1lBQ3RCLFNBQVMsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRTtZQUM5QyxPQUFPLEVBQUUsTUFBTSxDQUFDLElBQUk7Z0JBQ2xCLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLEVBQUU7Z0JBQ3RDLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUU7WUFDdEIsTUFBTSxFQUFFO2dCQUNOLGtCQUFrQixFQUFFLFNBQVMsQ0FBQyxZQUFZLEVBQUUsYUFBYSxDQUFDO2FBQzNEO1NBQ0YsQ0FBQztRQUNGLEtBQUssRUFBRTtRQUNQLElBQUksRUFBRTtLQUNQO0NBQ0YsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZXhpc3RzU3luYywgbWtkaXJTeW5jLCB3cml0ZUZpbGVTeW5jIH0gZnJvbSBcIm5vZGU6ZnNcIlxuaW1wb3J0IHsgam9pbiwgcmVsYXRpdmUgfSBmcm9tIFwibm9kZTpwYXRoXCJcbmltcG9ydCBjb250ZW50Q29sbGVjdGlvbnMgZnJvbSBcIkBjb250ZW50LWNvbGxlY3Rpb25zL3ZpdGVcIlxuaW1wb3J0IHRhaWx3aW5kIGZyb20gXCJAdGFpbHdpbmRjc3Mvdml0ZVwiXG5pbXBvcnQgeyBkZXZ0b29scyB9IGZyb20gXCJAdGFuc3RhY2svZGV2dG9vbHMtdml0ZVwiXG5pbXBvcnQgeyB0YW5zdGFja1N0YXJ0IH0gZnJvbSBcIkB0YW5zdGFjay9yZWFjdC1zdGFydC9wbHVnaW4vdml0ZVwiXG5pbXBvcnQge1xuICBwaHlzaWNhbCxcbiAgcm9vdFJvdXRlLFxuICByb3V0ZSxcbiAgdHlwZSBWaXJ0dWFsUm91dGVOb2RlLFxufSBmcm9tIFwiQHRhbnN0YWNrL3ZpcnR1YWwtZmlsZS1yb3V0ZXNcIlxuaW1wb3J0IHJlYWN0IGZyb20gXCJAdml0ZWpzL3BsdWdpbi1yZWFjdFwiXG5pbXBvcnQgeyBkZWZpbmVDb25maWcgfSBmcm9tIFwidml0ZVwiXG5pbXBvcnQgc3ZnciBmcm9tIFwidml0ZS1wbHVnaW4tc3ZnclwiXG5pbXBvcnQgeyBsb2FkQ29uZmlnIH0gZnJvbSBcIi4vYWN0aW9ucy9jb25maWcvbG9hZC50c1wiXG5pbXBvcnQgeyBXZWJzaXRlQ29uZmlnIH0gZnJvbSBcIi4vbW9kZWxzL2NvbmZpZy50c1wiXG5pbXBvcnQgeyBPVkVSUklERV9TVUJESVJTIH0gZnJvbSBcIi4vc2V0dGluZ3MudHNcIlxuaW1wb3J0IHsgbGl2ZW1hcmsgfSBmcm9tIFwiLi9wbHVnaW5zL3ZpdGUtbGl2ZW1hcmsudHNcIlxuXG5jb25zdCBjb25maWcgPSBhd2FpdCBsb2FkQ29uZmlnKClcbmNvbnN0IHNvdXJjZURpciA9IGltcG9ydC5tZXRhLmRpcm5hbWVcbmNvbnN0IHNvdXJjZVJlbGF0aXZlID0gcmVsYXRpdmUoY29uZmlnLnJvb3QsIHNvdXJjZURpcilcbmNvbnN0IG92ZXJyaWRlc1Jvb3QgPSBqb2luKGNvbmZpZy5yb290LCBcIi5saXZlbWFya1wiKVxuXG4vLyBTZWVkIGAubGl2ZW1hcmsvLmdpdGlnbm9yZWAgb24gZmlyc3QgcnVuIHNvIFZpdGUncyBidWlsZC9jYWNoZSBhcnRpZmFjdHNcbi8vIG5ldmVyIGdldCBjb21taXR0ZWQgYnkgYWNjaWRlbnQuXG5jb25zdCBnaXRpZ25vcmVQYXRoID0gam9pbihvdmVycmlkZXNSb290LCBcIi5naXRpZ25vcmVcIilcbmlmICghZXhpc3RzU3luYyhnaXRpZ25vcmVQYXRoKSkge1xuICBta2RpclN5bmMob3ZlcnJpZGVzUm9vdCwgeyByZWN1cnNpdmU6IHRydWUgfSlcbiAgd3JpdGVGaWxlU3luYyhnaXRpZ25vcmVQYXRoLCBcIi9idWlsZFxcbi9jYWNoZVxcblwiKVxufVxuXG5jb25zdCByb3V0ZUNoaWxkcmVuOiBWaXJ0dWFsUm91dGVOb2RlW10gPSBbcm91dGUoXCIvJFwiLCBcIiQudHN4XCIpXVxuaWYgKGV4aXN0c1N5bmMoam9pbihvdmVycmlkZXNSb290LCBcInJvdXRlc1wiKSkpIHtcbiAgLy8gcGh5c2ljYWwoKSByZXNvbHZlcyBpdHMgYXJndW1lbnQgcmVsYXRpdmUgdG8gdGhpcyBmaWxlLiBIYXJkY29kaW5nIGFcbiAgLy8gcmVsYXRpdmUgbGl0ZXJhbCBsYW5kcyBhdCA8cGtnPi8ubGl2ZW1hcmsvIHdoZW4gbGl2ZW1hcmsgaXMgaW5zdGFsbGVkXG4gIC8vIHVuZGVyIG5vZGVfbW9kdWxlcy8uIENvbXB1dGUgaXQgZnJvbSB0aGUgY29uc3VtZXIncyBvdmVycmlkZXNSb290LlxuICByb3V0ZUNoaWxkcmVuLnB1c2goXG4gICAgcGh5c2ljYWwocmVsYXRpdmUoc291cmNlRGlyLCBqb2luKG92ZXJyaWRlc1Jvb3QsIFwicm91dGVzXCIpKSksXG4gIClcbn1cblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lQ29uZmlnKHtcbiAgcm9vdDogY29uZmlnLnJvb3QsXG4gIHB1YmxpY0Rpcjogam9pbihjb25maWcucm9vdCwgXCIubGl2ZW1hcmtcIiwgXCJwdWJsaWNcIiksXG4gIGJ1aWxkOiB7IG91dERpcjogXCIubGl2ZW1hcmsvYnVpbGRcIiB9LFxuICBkZWZpbmU6IHtcbiAgICBcImltcG9ydC5tZXRhLmVudi5DT05GSUdcIjogSlNPTi5zdHJpbmdpZnkoV2Vic2l0ZUNvbmZpZy5wYXJzZShjb25maWcpKSxcbiAgfSxcbiAgcGx1Z2luczogW1xuICAgIGxpdmVtYXJrKHtcbiAgICAgIGRlZmF1bHRzUm9vdDogc291cmNlRGlyLFxuICAgICAgb3ZlcnJpZGVzUm9vdCxcbiAgICAgIHN1YmRpcnM6IFsuLi5PVkVSUklERV9TVUJESVJTXSxcbiAgICAgIGNvbmZpZ1BhdGg6IGNvbmZpZy5jb25maWdQYXRoLFxuICAgIH0pLFxuICAgIGRldnRvb2xzKCksXG4gICAgdGFpbHdpbmQoKSxcbiAgICBjb250ZW50Q29sbGVjdGlvbnMoe1xuICAgICAgY29uZmlnUGF0aDogam9pbihzb3VyY2VSZWxhdGl2ZSwgXCJjb250ZW50LWNvbGxlY3Rpb25zLnRzXCIpLFxuICAgIH0pLFxuICAgIHRhbnN0YWNrU3RhcnQoe1xuICAgICAgc3JjRGlyZWN0b3J5OiBzb3VyY2VSZWxhdGl2ZSxcbiAgICAgIHBhZ2VzOiBbeyBwYXRoOiBcIi9cIiB9XSxcbiAgICAgIHByZXJlbmRlcjogeyBlbmFibGVkOiB0cnVlLCBjcmF3bExpbmtzOiB0cnVlIH0sXG4gICAgICBzaXRlbWFwOiBjb25maWcuc2l0ZVxuICAgICAgICA/IHsgZW5hYmxlZDogdHJ1ZSwgaG9zdDogY29uZmlnLnNpdGUgfVxuICAgICAgICA6IHsgZW5hYmxlZDogZmFsc2UgfSxcbiAgICAgIHJvdXRlcjoge1xuICAgICAgICB2aXJ0dWFsUm91dGVDb25maWc6IHJvb3RSb3V0ZShcIl9fcm9vdC50c3hcIiwgcm91dGVDaGlsZHJlbiksXG4gICAgICB9LFxuICAgIH0pLFxuICAgIHJlYWN0KCksXG4gICAgc3ZncigpLFxuICBdLFxufSlcbiJdfQ==
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidml0ZS5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zb3VyY2Uvdml0ZS5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLE1BQU0sU0FBUyxDQUFBO0FBQzlELE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBQzFDLE9BQU8sa0JBQWtCLE1BQU0sMkJBQTJCLENBQUE7QUFDMUQsT0FBTyxRQUFRLE1BQU0sbUJBQW1CLENBQUE7QUFDeEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQ2xELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQTtBQUNqRSxPQUFPLEVBQ0wsUUFBUSxFQUNSLFNBQVMsRUFDVCxLQUFLLEdBRU4sTUFBTSwrQkFBK0IsQ0FBQTtBQUN0QyxPQUFPLEtBQUssTUFBTSxzQkFBc0IsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ25DLE9BQU8sSUFBSSxNQUFNLGtCQUFrQixDQUFBO0FBQ25DLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFDbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ2hELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUVyRCxNQUFNLE1BQU0sR0FBRyxNQUFNLFVBQVUsRUFBRSxDQUFBO0FBQ2pDLE1BQU0sU0FBUyxHQUFHLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQTtBQUNyQyxNQUFNLGNBQWMsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQTtBQUN2RCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQTtBQUVwRCwyRUFBMkU7QUFDM0UsbUNBQW1DO0FBQ25DLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsWUFBWSxDQUFDLENBQUE7QUFDdkQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO0lBQy9CLFNBQVMsQ0FBQyxhQUFhLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQTtJQUM3QyxhQUFhLENBQUMsYUFBYSxFQUFFLGtCQUFrQixDQUFDLENBQUE7QUFDbEQsQ0FBQztBQUVELE1BQU0sYUFBYSxHQUF1QixDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQTtBQUNoRSxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUM5QyxnRUFBZ0U7SUFDaEUscUVBQXFFO0lBQ3JFLG9FQUFvRTtJQUNwRSxvRUFBb0U7SUFDcEUsMERBQTBEO0lBQzFELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUE7SUFDM0MsYUFBYSxDQUFDLElBQUksQ0FDaEIsUUFBUSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQzdELENBQUE7QUFDSCxDQUFDO0FBRUQsZUFBZSxZQUFZLENBQUM7SUFDMUIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJO0lBQ2pCLFNBQVMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsUUFBUSxDQUFDO0lBQ25ELEtBQUssRUFBRSxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRTtJQUNwQyxNQUFNLEVBQUU7UUFDTix3QkFBd0IsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7S0FDdEU7SUFDRCxPQUFPLEVBQUU7UUFDUCxRQUFRLENBQUM7WUFDUCxZQUFZLEVBQUUsU0FBUztZQUN2QixhQUFhO1lBQ2IsT0FBTyxFQUFFLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQztZQUM5QixVQUFVLEVBQUUsTUFBTSxDQUFDLFVBQVU7U0FDOUIsQ0FBQztRQUNGLFFBQVEsRUFBRTtRQUNWLFFBQVEsRUFBRTtRQUNWLGtCQUFrQixDQUFDO1lBQ2pCLFVBQVUsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLHdCQUF3QixDQUFDO1NBQzNELENBQUM7UUFDRixhQUFhLENBQUM7WUFDWixZQUFZLEVBQUUsY0FBYztZQUM1QixLQUFLLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQztZQUN0QixTQUFTLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUU7WUFDOUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxJQUFJO2dCQUNsQixDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxFQUFFO2dCQUN0QyxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFO1lBQ3RCLE1BQU0sRUFBRTtnQkFDTixrQkFBa0IsRUFBRSxTQUFTLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQzthQUMzRDtTQUNGLENBQUM7UUFDRixLQUFLLEVBQUU7UUFDUCxJQUFJLEVBQUU7S0FDUDtDQUNGLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4aXN0c1N5bmMsIG1rZGlyU3luYywgd3JpdGVGaWxlU3luYyB9IGZyb20gXCJub2RlOmZzXCJcbmltcG9ydCB7IGpvaW4sIHJlbGF0aXZlIH0gZnJvbSBcIm5vZGU6cGF0aFwiXG5pbXBvcnQgY29udGVudENvbGxlY3Rpb25zIGZyb20gXCJAY29udGVudC1jb2xsZWN0aW9ucy92aXRlXCJcbmltcG9ydCB0YWlsd2luZCBmcm9tIFwiQHRhaWx3aW5kY3NzL3ZpdGVcIlxuaW1wb3J0IHsgZGV2dG9vbHMgfSBmcm9tIFwiQHRhbnN0YWNrL2RldnRvb2xzLXZpdGVcIlxuaW1wb3J0IHsgdGFuc3RhY2tTdGFydCB9IGZyb20gXCJAdGFuc3RhY2svcmVhY3Qtc3RhcnQvcGx1Z2luL3ZpdGVcIlxuaW1wb3J0IHtcbiAgcGh5c2ljYWwsXG4gIHJvb3RSb3V0ZSxcbiAgcm91dGUsXG4gIHR5cGUgVmlydHVhbFJvdXRlTm9kZSxcbn0gZnJvbSBcIkB0YW5zdGFjay92aXJ0dWFsLWZpbGUtcm91dGVzXCJcbmltcG9ydCByZWFjdCBmcm9tIFwiQHZpdGVqcy9wbHVnaW4tcmVhY3RcIlxuaW1wb3J0IHsgZGVmaW5lQ29uZmlnIH0gZnJvbSBcInZpdGVcIlxuaW1wb3J0IHN2Z3IgZnJvbSBcInZpdGUtcGx1Z2luLXN2Z3JcIlxuaW1wb3J0IHsgbG9hZENvbmZpZyB9IGZyb20gXCIuL2FjdGlvbnMvY29uZmlnL2xvYWQudHNcIlxuaW1wb3J0IHsgV2Vic2l0ZUNvbmZpZyB9IGZyb20gXCIuL21vZGVscy9jb25maWcudHNcIlxuaW1wb3J0IHsgT1ZFUlJJREVfU1VCRElSUyB9IGZyb20gXCIuL3NldHRpbmdzLnRzXCJcbmltcG9ydCB7IGxpdmVtYXJrIH0gZnJvbSBcIi4vcGx1Z2lucy92aXRlLWxpdmVtYXJrLnRzXCJcblxuY29uc3QgY29uZmlnID0gYXdhaXQgbG9hZENvbmZpZygpXG5jb25zdCBzb3VyY2VEaXIgPSBpbXBvcnQubWV0YS5kaXJuYW1lXG5jb25zdCBzb3VyY2VSZWxhdGl2ZSA9IHJlbGF0aXZlKGNvbmZpZy5yb290LCBzb3VyY2VEaXIpXG5jb25zdCBvdmVycmlkZXNSb290ID0gam9pbihjb25maWcucm9vdCwgXCIubGl2ZW1hcmtcIilcblxuLy8gU2VlZCBgLmxpdmVtYXJrLy5naXRpZ25vcmVgIG9uIGZpcnN0IHJ1biBzbyBWaXRlJ3MgYnVpbGQvY2FjaGUgYXJ0aWZhY3RzXG4vLyBuZXZlciBnZXQgY29tbWl0dGVkIGJ5IGFjY2lkZW50LlxuY29uc3QgZ2l0aWdub3JlUGF0aCA9IGpvaW4ob3ZlcnJpZGVzUm9vdCwgXCIuZ2l0aWdub3JlXCIpXG5pZiAoIWV4aXN0c1N5bmMoZ2l0aWdub3JlUGF0aCkpIHtcbiAgbWtkaXJTeW5jKG92ZXJyaWRlc1Jvb3QsIHsgcmVjdXJzaXZlOiB0cnVlIH0pXG4gIHdyaXRlRmlsZVN5bmMoZ2l0aWdub3JlUGF0aCwgXCIvYnVpbGRcXG4vY2FjaGVcXG5cIilcbn1cblxuY29uc3Qgcm91dGVDaGlsZHJlbjogVmlydHVhbFJvdXRlTm9kZVtdID0gW3JvdXRlKFwiLyRcIiwgXCIkLnRzeFwiKV1cbmlmIChleGlzdHNTeW5jKGpvaW4ob3ZlcnJpZGVzUm9vdCwgXCJyb3V0ZXNcIikpKSB7XG4gIC8vIHBoeXNpY2FsKGRpcikgcmVzb2x2ZXMgYGRpcmAgcmVsYXRpdmUgdG8gdGhlIHJvdXRlcyBkaXJlY3RvcnlcbiAgLy8gKGBzcmNEaXJlY3Rvcnkvcm91dGVzYCkuIEEgaGFyZGNvZGVkIFwiLi4vLi4vLmxpdmVtYXJrL3JvdXRlc1wiIG9ubHlcbiAgLy8gd29ya3Mgd2hlbiBzb3VyY2UvIHNpdHMgb25lIGxldmVsIHVuZGVyIGNvbmZpZy5yb290IOKAlCBpdCBsYW5kcyBhdFxuICAvLyBub2RlX21vZHVsZXMvLmxpdmVtYXJrL3JvdXRlcyBvbmNlIGxpdmVtYXJrIGlzIGluc3RhbGxlZC4gQ29tcHV0ZVxuICAvLyB0aGUgcGF0aCBkeW5hbWljYWxseSBmcm9tIHRoZSBjb25zdW1lcidzIGFjdHVhbCBsYXlvdXQuXG4gIGNvbnN0IHJvdXRlc0RpciA9IGpvaW4oc291cmNlRGlyLCBcInJvdXRlc1wiKVxuICByb3V0ZUNoaWxkcmVuLnB1c2goXG4gICAgcGh5c2ljYWwocmVsYXRpdmUocm91dGVzRGlyLCBqb2luKG92ZXJyaWRlc1Jvb3QsIFwicm91dGVzXCIpKSksXG4gIClcbn1cblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lQ29uZmlnKHtcbiAgcm9vdDogY29uZmlnLnJvb3QsXG4gIHB1YmxpY0Rpcjogam9pbihjb25maWcucm9vdCwgXCIubGl2ZW1hcmtcIiwgXCJwdWJsaWNcIiksXG4gIGJ1aWxkOiB7IG91dERpcjogXCIubGl2ZW1hcmsvYnVpbGRcIiB9LFxuICBkZWZpbmU6IHtcbiAgICBcImltcG9ydC5tZXRhLmVudi5DT05GSUdcIjogSlNPTi5zdHJpbmdpZnkoV2Vic2l0ZUNvbmZpZy5wYXJzZShjb25maWcpKSxcbiAgfSxcbiAgcGx1Z2luczogW1xuICAgIGxpdmVtYXJrKHtcbiAgICAgIGRlZmF1bHRzUm9vdDogc291cmNlRGlyLFxuICAgICAgb3ZlcnJpZGVzUm9vdCxcbiAgICAgIHN1YmRpcnM6IFsuLi5PVkVSUklERV9TVUJESVJTXSxcbiAgICAgIGNvbmZpZ1BhdGg6IGNvbmZpZy5jb25maWdQYXRoLFxuICAgIH0pLFxuICAgIGRldnRvb2xzKCksXG4gICAgdGFpbHdpbmQoKSxcbiAgICBjb250ZW50Q29sbGVjdGlvbnMoe1xuICAgICAgY29uZmlnUGF0aDogam9pbihzb3VyY2VSZWxhdGl2ZSwgXCJjb250ZW50LWNvbGxlY3Rpb25zLnRzXCIpLFxuICAgIH0pLFxuICAgIHRhbnN0YWNrU3RhcnQoe1xuICAgICAgc3JjRGlyZWN0b3J5OiBzb3VyY2VSZWxhdGl2ZSxcbiAgICAgIHBhZ2VzOiBbeyBwYXRoOiBcIi9cIiB9XSxcbiAgICAgIHByZXJlbmRlcjogeyBlbmFibGVkOiB0cnVlLCBjcmF3bExpbmtzOiB0cnVlIH0sXG4gICAgICBzaXRlbWFwOiBjb25maWcuc2l0ZVxuICAgICAgICA/IHsgZW5hYmxlZDogdHJ1ZSwgaG9zdDogY29uZmlnLnNpdGUgfVxuICAgICAgICA6IHsgZW5hYmxlZDogZmFsc2UgfSxcbiAgICAgIHJvdXRlcjoge1xuICAgICAgICB2aXJ0dWFsUm91dGVDb25maWc6IHJvb3RSb3V0ZShcIl9fcm9vdC50c3hcIiwgcm91dGVDaGlsZHJlbiksXG4gICAgICB9LFxuICAgIH0pLFxuICAgIHJlYWN0KCksXG4gICAgc3ZncigpLFxuICBdLFxufSlcbiJdfQ==