@workflow/builders 5.0.0-beta.7 → 5.0.0-beta.9

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 (66) hide show
  1. package/dist/apply-swc-transform.js +1 -1
  2. package/dist/base-builder.d.ts.map +1 -1
  3. package/dist/base-builder.js +2 -1
  4. package/dist/build-queue.js +1 -1
  5. package/dist/config-helpers.js +1 -1
  6. package/dist/constants.js +1 -1
  7. package/dist/discover-entries-esbuild-plugin.d.ts.map +1 -1
  8. package/dist/discover-entries-esbuild-plugin.js +3 -2
  9. package/dist/discover-entries-esbuild-plugin.test.js +1 -1
  10. package/dist/esbuild-tsconfig.js +1 -1
  11. package/dist/esbuild-tsconfig.test.js +1 -1
  12. package/dist/external-package-warning.test.js +1 -1
  13. package/dist/get-input-files.test.js +1 -1
  14. package/dist/index.js +1 -1
  15. package/dist/module-specifier.js +1 -1
  16. package/dist/module-specifier.test.js +1 -1
  17. package/dist/node-module-esbuild-plugin.js +1 -1
  18. package/dist/node-module-esbuild-plugin.test.js +1 -1
  19. package/dist/pseudo-package-esbuild-plugin.js +1 -1
  20. package/dist/pseudo-package-esbuild-plugin.test.js +1 -1
  21. package/dist/request-converter.js +1 -1
  22. package/dist/resolve-sourcemap.test.js +1 -1
  23. package/dist/serde-checker.js +1 -1
  24. package/dist/standalone.js +1 -1
  25. package/dist/swc-esbuild-plugin.js +1 -1
  26. package/dist/swc-esbuild-plugin.test.js +1 -1
  27. package/dist/transform-utils.js +1 -1
  28. package/dist/transform-utils.test.js +1 -1
  29. package/dist/types.js +1 -1
  30. package/dist/vercel-build-output-api.d.ts.map +1 -1
  31. package/dist/vercel-build-output-api.js +4 -1
  32. package/dist/workflow-alias.js +1 -1
  33. package/dist/workflow-alias.test.js +1 -1
  34. package/dist/workflows-extractor.js +1 -1
  35. package/package.json +4 -4
  36. package/dist/apply-swc-transform.js.map +0 -1
  37. package/dist/base-builder.js.map +0 -1
  38. package/dist/build-queue.js.map +0 -1
  39. package/dist/config-helpers.js.map +0 -1
  40. package/dist/constants.js.map +0 -1
  41. package/dist/discover-entries-esbuild-plugin.js.map +0 -1
  42. package/dist/discover-entries-esbuild-plugin.test.js.map +0 -1
  43. package/dist/esbuild-tsconfig.js.map +0 -1
  44. package/dist/esbuild-tsconfig.test.js.map +0 -1
  45. package/dist/external-package-warning.test.js.map +0 -1
  46. package/dist/get-input-files.test.js.map +0 -1
  47. package/dist/index.js.map +0 -1
  48. package/dist/module-specifier.js.map +0 -1
  49. package/dist/module-specifier.test.js.map +0 -1
  50. package/dist/node-module-esbuild-plugin.js.map +0 -1
  51. package/dist/node-module-esbuild-plugin.test.js.map +0 -1
  52. package/dist/pseudo-package-esbuild-plugin.js.map +0 -1
  53. package/dist/pseudo-package-esbuild-plugin.test.js.map +0 -1
  54. package/dist/request-converter.js.map +0 -1
  55. package/dist/resolve-sourcemap.test.js.map +0 -1
  56. package/dist/serde-checker.js.map +0 -1
  57. package/dist/standalone.js.map +0 -1
  58. package/dist/swc-esbuild-plugin.js.map +0 -1
  59. package/dist/swc-esbuild-plugin.test.js.map +0 -1
  60. package/dist/transform-utils.js.map +0 -1
  61. package/dist/transform-utils.test.js.map +0 -1
  62. package/dist/types.js.map +0 -1
  63. package/dist/vercel-build-output-api.js.map +0 -1
  64. package/dist/workflow-alias.js.map +0 -1
  65. package/dist/workflow-alias.test.js.map +0 -1
  66. package/dist/workflows-extractor.js.map +0 -1
@@ -766,4 +766,4 @@ describe('createSwcPlugin projectRoot', () => {
766
766
  expect(applySwcTransformMock).toHaveBeenCalledWith('src/internal/message/workflow/handle-message.ts', expect.stringContaining('"use workflow"'), 'workflow', fixture.workflowFile, fixture.packageRoot);
767
767
  });
768
768
  });
769
- //# sourceMappingURL=swc-esbuild-plugin.test.js.map
769
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3djLWVzYnVpbGQtcGx1Z2luLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvc3djLWVzYnVpbGQtcGx1Z2luLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxXQUFXLEVBQ1gsWUFBWSxFQUNaLE1BQU0sRUFDTixhQUFhLEdBQ2QsTUFBTSxTQUFTLENBQUM7QUFDakIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNqQyxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUMxQyxPQUFPLEtBQUssT0FBTyxNQUFNLFNBQVMsQ0FBQztBQUNuQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFekUsTUFBTSxFQUFFLHFCQUFxQixFQUFFLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ2xELHFCQUFxQixFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Q0FDL0IsQ0FBQyxDQUFDLENBQUM7QUFFSixFQUFFLENBQUMsSUFBSSxDQUFDLDBCQUEwQixFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDekMsaUJBQWlCLEVBQUUscUJBQXFCO0NBQ3pDLENBQUMsQ0FBQyxDQUFDO0FBRUosT0FBTyxFQUNMLDJCQUEyQixFQUMzQixhQUFhLEdBQ2QsTUFBTSxzQ0FBc0MsQ0FBQztBQUM5QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFMUQsTUFBTSxVQUFVLEdBQUcsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7QUFFMUMsU0FBUyxTQUFTLENBQUMsSUFBWSxFQUFFLFFBQVEsR0FBRyxFQUFFO0lBQzVDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFD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LGdCQUFnQixDQUFDLGdCQUFnQixDQUFDLEVBQ3pDLFVBQVUsRUFDVixPQUFPLENBQUMsWUFBWSxFQUNwQixPQUFPLENBQUMsT0FBTyxDQUNoQixDQUFDO0lBQ0osQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMscURBQXFELEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDbkUsTUFBTSxPQUFPLEdBQUcsWUFBWSxFQUFFLENBQUM7UUFFL0IsTUFBTSxNQUFNLEdBQUcsTUFBTSxPQUFPLENBQUMsS0FBSyxDQUFDO1lBQ2pDLFdBQVcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUM7WUFDbkMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxXQUFXO1lBQ2xDLE1BQU0sRUFBRSxJQUFJO1lBQ1osTUFBTSxFQUFFLEtBQUs7WUFDYixRQUFRLEVBQUUsTUFBTTtZQUNoQixLQUFLLEVBQUUsS0FBSztZQUNaLE9BQU8sRUFBRTtnQkFDUCxlQUFlLENBQUM7b0JBQ2QsSUFBSSxFQUFFLFVBQVU7b0JBQ2hCLGdCQUFnQixFQUFFLEVBQUU7aUJBQ3JCLENBQUM7YUFDSDtTQUNGLENBQUMsQ0FBQztRQUVILE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLG9CQUFvQixDQUNoRCxpREFBaUQsRUFDakQsTUFBTSxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDLEVBQ3pDLFVBQVUsRUFDVixPQUFPLENBQUMsWUFBWSxFQUNwQixPQUFPLENBQUMsV0FBVyxDQUNwQixDQUFDO0lBQ0osQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIG1rZGlyU3luYyxcbiAgbWtkdGVtcFN5bmMsXG4gIHJlYWxwYXRoU3luYyxcbiAgcm1TeW5jLFxuICB3cml0ZUZpbGVTeW5jLFxufSBmcm9tICdub2RlOmZzJztcbmltcG9ydCB7IHRtcGRpciB9IGZyb20gJ25vZGU6b3MnO1xuaW1wb3J0IHsgZGlybmFtZSwgam9pbiB9IGZyb20gJ25vZGU6cGF0aCc7XG5pbXBvcnQgKiBhcyBlc2J1aWxkIGZyb20gJ2VzYnVpbGQnO1xuaW1wb3J0IHsgYWZ0ZXJFYWNoLCBiZWZvcmVFYWNoLCBkZXNjcmliZSwgZXhwZWN0LCBpdCwgdmkgfSBmcm9tICd2aXRlc3QnO1xuXG5jb25zdCB7IGFwcGx5U3djVHJhbnNmb3JtTW9jayB9ID0gdmkuaG9pc3RlZCgoKSA9PiAoe1xuICBhcHBseVN3Y1RyYW5zZm9ybU1vY2s6IHZpLmZuKCksXG59KSk7XG5cbnZpLm1vY2soJy4vYXBwbHktc3djLXRyYW5zZm9ybS5qcycsICgpID0+ICh7XG4gIGFwcGx5U3djVHJhbnNmb3JtOiBhcHBseVN3Y1RyYW5zZm9ybU1vY2ssXG59KSk7XG5cbmltcG9ydCB7XG4gIGNyZWF0ZURpc2NvdmVyRW50cmllc1BsdWdpbixcbiAgaW1wb3J0UGFyZW50cyxcbn0gZnJvbSAnLi9kaXNjb3Zlci1lbnRyaWVzLWVzYnVpbGQtcGx1Z2luLmpzJztcbmltcG9ydCB7IGNyZWF0ZVN3Y1BsdWdpbiB9IGZyb20gJy4vc3djLWVzYnVpbGQtcGx1Z2luLmpzJztcblxuY29uc3QgcmVhbFRtcGRpciA9IHJlYWxwYXRoU3luYyh0bXBkaXIoKSk7XG5cbmZ1bmN0aW9uIHdyaXRlRmlsZShwYXRoOiBzdHJpbmcsIGNvbnRlbnRzID0gJycpOiB2b2lkIHtcbiAgbWtkaXJTeW5jKGRpcm5hbWUocGF0aCksIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuICB3cml0ZUZpbGVTeW5jKHBhdGgsIGNvbnRlbnRzLCAndXRmLTgnKTtcbn1cblxuZGVzY3JpYmUoJ2NyZWF0ZVN3Y1BsdWdpbiBleHRlcm5hbGl6ZU5vblN0ZXBzJywgKCkgPT4ge1xuICBsZXQgdGVzdFJvb3Q6IHN0cmluZztcblxuICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICB0ZXN0Um9vdCA9IG1rZHRlbXBTeW5jKGpvaW4ocmVhbFRtcGRpciwgJ3dvcmtmbG93LXN3Yy1wbHVnaW4tJykpO1xuICAgIGltcG9ydFBhcmVudHMuY2xlYXIoKTtcbiAgICBhcHBseVN3Y1RyYW5zZm9ybU1vY2subW9ja1Jlc2V0KCk7XG4gICAgYXBwbHlTd2NUcmFuc2Zvcm1Nb2NrLm1vY2tJbXBsZW1lbnRhdGlvbihcbiAgICAgIGFzeW5jIChfZmlsZW5hbWU6IHN0cmluZywgc291cmNlOiBzdHJpbmcpID0+ICh7XG4gICAgICAgIGNvZGU6IHNvdXJjZSxcbiAgICAgICAgd29ya2Zsb3dNYW5pZmVzdDoge30sXG4gICAgICB9KVxuICAgICk7XG4gIH0pO1xuXG4gIGFmdGVyRWFjaCgoKSA9PiB7XG4gICAgaW1wb3J0UGFyZW50cy5jbGVhcigpO1xuICAgIHJtU3luYyh0ZXN0Um9vdCwgeyByZWN1cnNpdmU6IHRydWUsIGZvcmNlOiB0cnVlIH0pO1xuICB9KTtcblxuICBpdC5lYWNoKFtcbiAgICB7IGlucHV0RXh0OiAnLnRzJywgb3V0cHV0RXh0OiAnLmpzJyB9LFxuICAgIHsgaW5wdXRFeHQ6ICcudHN4Jywgb3V0cHV0RXh0OiAnLmpzJyB9LFxuICAgIHsgaW5wdXRFeHQ6ICcubXRzJywgb3V0cHV0RXh0OiAnLm1qcycgfSxcbiAgICB7IGlucHV0RXh0OiAnLmN0cycsIG91dHB1dEV4dDogJy5janMnIH0sXG4gIF0pKCdyZXdyaXRlcyBleHRlcm5hbGl6ZWQgJGlucHV0RXh0IGltcG9ydHMgdG8gJG91dHB1dEV4dCB3aGVuIHJld3JpdGVUc0V4dGVuc2lvbnMgaXMgZW5hYmxlZCcsIGFzeW5jICh7XG4gICAgaW5wdXRFeHQsXG4gICAgb3V0cHV0RXh0LFxuICB9KSA9PiB7XG4gICAgY29uc3Qgb3V0ZGlyID0gam9pbih0ZXN0Um9vdCwgJ291dCcpO1xuICAgIGNvbnN0IHNyY0RpciA9IGpvaW4odGVzdFJvb3QsICdzcmMnKTtcbiAgICBjb25zdCBzdGVwRmlsZSA9IGpvaW4oc3JjRGlyLCAnc3RlcC50cycpO1xuXG4gICAgd3JpdGVGaWxlKGpvaW4oc3JjRGlyLCBgZGVwJHtpbnB1dEV4dH1gKSwgJ2V4cG9ydCBjb25zdCBkZXAgPSB7fTsnKTtcbiAgICB3cml0ZUZpbGUoc3RlcEZpbGUsIGBpbXBvcnQgeyBkZXAgfSBmcm9tICcuL2RlcCc7XFxuY29uc29sZS5sb2coZGVwKTtgKTtcblxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGVzYnVpbGQuYnVpbGQoe1xuICAgICAgZW50cnlQb2ludHM6IFtzdGVwRmlsZV0sXG4gICAgICBhYnNXb3JraW5nRGlyOiB0ZXN0Um9vdCxcbiAgICAgIG91dGRpcixcbiAgICAgIGJ1bmRsZTogdHJ1ZSxcbiAgICAgIGZvcm1hdDogJ2VzbScsXG4gICAgICBwbGF0Zm9ybTogJ25vZGUnLFxuICAgICAgd3JpdGU6IGZhbHNlLFxuICAgICAgcGx1Z2luczogW1xuICAgICAgICBjcmVhdGVTd2NQbHVnaW4oe1xuICAgICAgICAgIG1vZGU6ICdzdGVwJyxcbiAgICAgICAgICBlbnRyaWVzVG9CdW5kbGU6IFtzdGVwRmlsZV0sXG4gICAgICAgICAgb3V0ZGlyLFxuICAgICAgICAgIHJld3JpdGVUc0V4dGVuc2lvbnM6IHRydWUsXG4gICAgICAgIH0pLFxuICAgICAgXSxcbiAgICB9KTtcblxuICAgIGV4cGVjdChyZXN1bHQuZXJyb3JzKS50b0hhdmVMZW5ndGgoMCk7XG4gICAgY29uc3Qgb3V0cHV0ID0gcmVzdWx0Lm91dHB1dEZpbGVzWzBdLnRleHQ7XG4gICAgZXhwZWN0KG91dHB1dCkudG9Db250YWluKGAvZGVwJHtvdXRwdXRFeHR9YCk7XG4gICAgZXhwZWN0KG91dHB1dCkubm90LnRvQ29udGFpbihgL2RlcCR7aW5wdXRFeHR9YCk7XG4gIH0pO1xuXG4gIGl0KCdidW5kbGVzIHBhdGgtYWxpYXNlZCBwcm9qZWN0LWxvY2FsIGltcG9ydHMgaW5saW5lJywgYXN5bmMgKCkgPT4ge1xuICAgIC8vIEFsaWFzZWQgcHJvamVjdC1sb2NhbCBmaWxlcyBtdXN0IGJlIGJ1bmRsZWQgaW5saW5lIChub3QgZXh0ZXJuYWxpemVkXG4gICAgLy8gYXMgcmVsYXRpdmUgcGF0aHMpIGJlY2F1c2UgdGhlaXIgc291cmNlIG9uIGRpc2sgbWF5IGNvbnRhaW4gZnVydGhlclxuICAgIC8vIGFsaWFzIGltcG9ydHMgdGhhdCBOb2RlJ3MgRVNNIGxvYWRlciBjYW5ub3QgcmVzb2x2ZSBhdCBydW50aW1lLlxuICAgIC8vIFNlZSBwYWNrYWdlcy9idWlsZGVycy9zcmMvc3djLWVzYnVpbGQtcGx1Z2luLnRzIGZvciBmdWxsIHJlYXNvbmluZy5cbiAgICBjb25zdCBvdXRkaXIgPSBqb2luKHRlc3RSb290LCAnb3V0Jyk7XG4gICAgY29uc3Qgc3JjRGlyID0gam9pbih0ZXN0Um9vdCwgJ3NyYycpO1xuICAgIGNvbnN0IGxpYkRpciA9IGpvaW4oc3JjRGlyLCAnbGliJyk7XG4gICAgY29uc3Qgc3RlcEZpbGUgPSBqb2luKHNyY0RpciwgJ3N0ZXAudHMnKTtcblxuICAgIHdyaXRlRmlsZShcbiAgICAgIGpvaW4obGliRGlyLCAnY29uZmlnLnRzJyksXG4gICAgICAnZXhwb3J0IGNvbnN0IGNvbmZpZyA9IHsgdmFsdWU6IFwiaGVsbG8tZnJvbS1jb25maWdcIiB9OydcbiAgICApO1xuICAgIHdyaXRlRmlsZShcbiAgICAgIHN0ZXBGaWxlLFxuICAgICAgYGltcG9ydCB7IGNvbmZpZyB9IGZyb20gJ0AvbGliL2NvbmZpZyc7XFxuY29uc29sZS5sb2coY29uZmlnKTtgXG4gICAgKTtcblxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGVzYnVpbGQuYnVpbGQoe1xuICAgICAgZW50cnlQb2ludHM6IFtzdGVwRmlsZV0sXG4gICAgICBhYnNXb3JraW5nRGlyOiB0ZXN0Um9vdCxcbiAgICAgIG91dGRpcixcbiAgICAgIGJ1bmRsZTogdHJ1ZSxcbiAgICAgIGZvcm1hdDogJ2VzbScsXG4gICAgICBwbGF0Zm9ybTogJ25vZGUnLFxuICAgICAgd3JpdGU6IGZhbHNlLFxuICAgICAgYWxpYXM6IHsgJ0AnOiBzcmNEaXIgfSxcbiAgICAgIHBsdWdpbnM6IFtcbiAgICAgICAgY3JlYXRlU3djUGx1Z2luKHtcbiAgICAgICAgICBtb2RlOiAnc3RlcCcsXG4gICAgICAgICAgZW50cmllc1RvQnVuZGxlOiBbc3RlcEZpbGVdLFxuICAgICAgICAgIG91dGRpcixcbiAgICAgICAgICByZXdyaXRlVHNFeHRlbnNpb25zOiB0cnVlLFxuICAgICAgICB9KSxcbiAgICAgIF0sXG4gICAgfSk7XG5cbiAgICBleHBlY3QocmVzdWx0LmVycm9ycykudG9IYXZlTGVuZ3RoKDApO1xuICAgIGNvbnN0IG91dHB1dCA9IHJlc3VsdC5vdXRwdXRGaWxlc1swXS50ZXh0O1xuICAgIC8vIFRoZSBhbGlhc2VkIGhlbHBlciBzaG91bGQgYmUgYnVuZGxlZCBpbmxpbmUgKGl0cyBjb250ZW50IGlzIGluIHRoZVxuICAgIC8vIG91dHB1dCksIG5vdCBleHRlcm5hbGl6ZWQgYXMgYSByZWxhdGl2ZSBwYXRoIG9yIGxlZnQgYXMgYSBiYXJlIGFsaWFzLlxuICAgIGV4cGVjdChvdXRwdXQpLnRvQ29udGFpbignaGVsbG8tZnJvbS1jb25maWcnKTtcbiAgICBleHBlY3Qob3V0cHV0KS5ub3QudG9Db250YWluKCdAL2xpYi9jb25maWcnKTtcbiAgICBleHBlY3Qob3V0cHV0KS5ub3QudG9NYXRjaCgvZnJvbVxccytbXCInXVteXCInXSpcXC9saWJcXC9jb25maWdcXC4oanN8dHMpW1wiJ10vKTtcbiAgfSk7XG5cbiAgaXQoJ2J1bmRsZXMgdHJhbnNpdGl2ZSBhbGlhc2VkIGltcG9ydHMgaW5zaWRlIGFsaWFzZWQgaGVscGVycyAoTXV4IHNlbGYtcmVmZXJlbmNpbmcgcGFja2FnZSByZWdyZXNzaW9uKScsIGFzeW5jICgpID0+IHtcbiAgICAvLyBSZWdyZXNzaW9uIHRlc3QgZm9yIGh0dHBzOi8vZ2l0aHViLmNvbS9tdXhpbmMvYWkvcHVsbC8xOTMuXG4gICAgLy9cbiAgICAvLyBBIHBhY2thZ2Ugc2VsZi1yZWZlcmVuY2VzIGl0cyBvd24gc3VicGF0aCB2aWEgdHNjb25maWcgYHBhdGhzYCAoZS5nLlxuICAgIC8vIGBAbXktcGtnL2xpYi9mb29gIOKGkiBgc3JjL2xpYi9mb28udHNgKS4gQSBzdGVwIGZpbGUgaW1wb3J0cyBhIGhlbHBlclxuICAgIC8vIHZpYSB0aGUgYWxpYXMsIGFuZCB0aGF0IGhlbHBlciBpbXBvcnRzIGFub3RoZXIgaGVscGVyIHZpYSB0aGUgYWxpYXMuXG4gICAgLy9cbiAgICAvLyBQcmV2aW91c2x5IHRoZSBoZWxwZXJzIHdlcmUgZXh0ZXJuYWxpemVkIGFzIHJlbGF0aXZlIHBhdGhzLCBidXQgdGhlaXJcbiAgICAvLyBzb3VyY2Ugb24gZGlzayBzdGlsbCBjb250YWluZWQgYGltcG9ydCBcIkBteS1wa2cvbGliLy4uLlwiYC4gQXQgcnVudGltZSxcbiAgICAvLyBOb2RlJ3MgRVNNIGxvYWRlciBkaWRuJ3Qga25vdyBhYm91dCB0c2NvbmZpZyBwYXRocywgZmVsbCB0aHJvdWdoIHRvXG4gICAgLy8gdGhlIHBhY2thZ2UncyBgZXhwb3J0c2AgbWFwLCBhbmQgdGhyZXcgYFBhY2thZ2Ugc3VicGF0aCAuLi4gaXMgbm90XG4gICAgLy8gZGVmaW5lZCBieSBcImV4cG9ydHNcImAuXG4gICAgLy9cbiAgICAvLyBXaXRoIHRoZSBmaXgsIGFsaWFzZWQgcHJvamVjdC1sb2NhbCBmaWxlcyBhcmUgYnVuZGxlZCBpbmxpbmUsIHNvXG4gICAgLy8gdGhlaXIgYWxpYXMgaW1wb3J0cyBhcmUgcmVzb2x2ZWQgYXQgYnVpbGQgdGltZS5cbiAgICBjb25zdCBvdXRkaXIgPSBqb2luKHRlc3RSb290LCAnb3V0Jyk7XG4gICAgY29uc3Qgc3JjRGlyID0gam9pbih0ZXN0Um9vdCwgJ3NyYycpO1xuICAgIGNvbnN0IGxpYkRpciA9IGpvaW4oc3JjRGlyLCAnbGliJyk7XG4gICAgY29uc3Qgc3RlcEZpbGUgPSBqb2luKHNyY0RpciwgJ3N0ZXAudHMnKTtcblxuICAgIHdyaXRlRmlsZShcbiAgICAgIGpvaW4obGliRGlyLCAncHJvdmlkZXJzLnRzJyksXG4gICAgICAnZXhwb3J0IGNvbnN0IHByb3ZpZGVyTmFtZSA9IFwiYW50aHJvcGljXCI7J1xuICAgICk7XG4gICAgd3JpdGVGaWxlKFxuICAgICAgam9pbihsaWJEaXIsICdjbGllbnQtZmFjdG9yeS50cycpLFxuICAgICAgLy8gSGVscGVyIHVzZXMgdGhlIHNhbWUgYWxpYXMgdG8gcmVhY2ggYSBzaWJsaW5nIOKAlCB0aGlzIGlzIHRoZSBjYXNlXG4gICAgICAvLyB0aGF0IGJyb2tlIHRoZSBNdXggYnVpbGQgd2l0aCB3b3JrZmxvdyA+PSA0LjIuMC1iZXRhLjc4LlxuICAgICAgYGltcG9ydCB7IHByb3ZpZGVyTmFtZSB9IGZyb20gJ0BteS1wa2cvbGliL3Byb3ZpZGVycyc7XG5leHBvcnQgY29uc3QgY2xpZW50ID0geyBwcm92aWRlcjogcHJvdmlkZXJOYW1lIH07YFxuICAgICk7XG4gICAgd3JpdGVGaWxlKFxuICAgICAgc3RlcEZpbGUsXG4gICAgICBgaW1wb3J0IHsgY2xpZW50IH0gZnJvbSAnQG15LXBrZy9saWIvY2xpZW50LWZhY3RvcnknO1xcbmNvbnNvbGUubG9nKGNsaWVudCk7YFxuICAgICk7XG5cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBlc2J1aWxkLmJ1aWxkKHtcbiAgICAgIGVudHJ5UG9pbnRzOiBbc3RlcEZpbGVdLFxuICAgICAgYWJzV29ya2luZ0RpcjogdGVzdFJvb3QsXG4gICAgICBvdXRkaXIsXG4gICAgICBidW5kbGU6IHRydWUsXG4gICAgICBmb3JtYXQ6ICdlc20nLFxuICAgICAgcGxhdGZvcm06ICdub2RlJyxcbiAgICAgIHdyaXRlOiBmYWxzZSxcbiAgICAgIGFsaWFzOiB7ICdAbXktcGtnJzogc3JjRGlyIH0sXG4gICAgICBwbHVnaW5zOiBbXG4gICAgICAgIGNyZWF0ZVN3Y1BsdWdpbih7XG4gICAgICAgICAgbW9kZTogJ3N0ZXAnLFxuICAgICAgICAgIGVudHJpZXNUb0J1bmRsZTogW3N0ZXBGaWxlXSxcbiAgICAgICAgICBvdXRkaXIsXG4gICAgICAgICAgcmV3cml0ZVRzRXh0ZW5zaW9uczogdHJ1ZSxcbiAgICAgICAgfSksXG4gICAgICBdLFxuICAgIH0pO1xuXG4gICAgZXhwZWN0KHJlc3VsdC5lcnJvcnMpLnRvSGF2ZUxlbmd0aCgwKTtcbiAgICBjb25zdCBvdXRwdXQgPSByZXN1bHQub3V0cHV0RmlsZXNbMF0udGV4dDtcbiAgICAvLyBCb3RoIGhlbHBlcnMgc2hvdWxkIGJlIGJ1bmRsZWQgaW5saW5lIOKAlCBubyBhbGlhc2VkIHNwZWNpZmllcnMgc2hvdWxkXG4gICAgLy8gbGVhayBpbnRvIHRoZSBvdXRwdXQsIHdoZXJlIE5vZGUncyBFU00gbG9hZGVyIHdvdWxkIGNob2tlIG9uIHRoZW0uXG4gICAgZXhwZWN0KG91dHB1dCkudG9Db250YWluKCdhbnRocm9waWMnKTtcbiAgICBleHBlY3Qob3V0cHV0KS5ub3QudG9Db250YWluKCdAbXktcGtnL2xpYi9wcm92aWRlcnMnKTtcbiAgICBleHBlY3Qob3V0cHV0KS5ub3QudG9Db250YWluKCdAbXktcGtnL2xpYi9jbGllbnQtZmFjdG9yeScpO1xuICB9KTtcblxuICBpdCgnZG9lcyBub3QgcmVsYXRpdml6ZSBOb2RlLmpzIGJ1aWx0aW4gaW1wb3J0cycsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBvdXRkaXIgPSBqb2luKHRlc3RSb290LCAnb3V0Jyk7XG4gICAgY29uc3Qgc3JjRGlyID0gam9pbih0ZXN0Um9vdCwgJ3NyYycpO1xuICAgIGNvbnN0IHN0ZXBGaWxlID0gam9pbihzcmNEaXIsICdzdGVwLnRzJyk7XG5cbiAgICB3cml0ZUZpbGUoXG4gICAgICBzdGVwRmlsZSxcbiAgICAgIGBpbXBvcnQgeyBjcmVhdGVIYXNoIH0gZnJvbSAnY3J5cHRvJztcXG5pbXBvcnQgeyBqb2luIH0gZnJvbSAnbm9kZTpwYXRoJztcXG5jb25zb2xlLmxvZyhjcmVhdGVIYXNoLCBqb2luKTtgXG4gICAgKTtcblxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGVzYnVpbGQuYnVpbGQoe1xuICAgICAgZW50cnlQb2ludHM6IFtzdGVwRmlsZV0sXG4gICAgICBhYnNXb3JraW5nRGlyOiB0ZXN0Um9vdCxcbiAgICAgIG91dGRpcixcbiAgICAgIGJ1bmRsZTogdHJ1ZSxcbiAgICAgIGZvcm1hdDogJ2VzbScsXG4gICAgICBwbGF0Zm9ybTogJ25vZGUnLFxuICAgICAgd3JpdGU6IGZhbHNlLFxuICAgICAgcGx1Z2luczogW1xuICAgICAgICBjcmVhdGVTd2NQbHVnaW4oe1xuICAgICAgICAgIG1vZGU6ICdzdGVwJyxcbiAgICAgICAgICBlbnRyaWVzVG9CdW5kbGU6IFtzdGVwRmlsZV0sXG4gICAgICAgICAgb3V0ZGlyLFxuICAgICAgICB9KSxcbiAgICAgIF0sXG4gICAgfSk7XG5cbiAgICBleHBlY3QocmVzdWx0LmVycm9ycykudG9IYXZlTGVuZ3RoKDApO1xuICAgIGNvbnN0IG91dHB1dCA9IHJlc3VsdC5vdXRwdXRGaWxlc1swXS50ZXh0O1xuICAgIC8vIEJ1aWx0aW5zIHNob3VsZCByZW1haW4gYXMgYmFyZSBzcGVjaWZpZXJzLCBub3QgcmVsYXRpdml6ZWQgcGF0aHNcbiAgICBleHBlY3Qob3V0cHV0KS50b01hdGNoKC9mcm9tXFxzK1tcIiddY3J5cHRvW1wiJ10vKTtcbiAgICBleHBlY3Qob3V0cHV0KS50b01hdGNoKC9mcm9tXFxzK1tcIiddbm9kZTpwYXRoW1wiJ10vKTtcbiAgICBleHBlY3Qob3V0cHV0KS5ub3QudG9NYXRjaCgvZnJvbVxccytbXCInXVxcLi4qY3J5cHRvW1wiJ10vKTtcbiAgICBleHBlY3Qob3V0cHV0KS5ub3QudG9NYXRjaCgvZnJvbVxccytbXCInXVxcLi4qbm9kZTpwYXRoW1wiJ10vKTtcbiAgfSk7XG5cbiAgaXQoJ2RvZXMgbm90IGV4dGVybmFsaXplIGFsaWFzZWQgaW1wb3J0cyB0aGF0IHJlc29sdmUgaW50byBub2RlX21vZHVsZXMnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3Qgb3V0ZGlyID0gam9pbih0ZXN0Um9vdCwgJ291dCcpO1xuICAgIGNvbnN0IHNyY0RpciA9IGpvaW4odGVzdFJvb3QsICdzcmMnKTtcbiAgICBjb25zdCBzdGVwRmlsZSA9IGpvaW4oc3JjRGlyLCAnc3RlcC50cycpO1xuICAgIGNvbnN0IG5vZGVNb2R1bGVzRGlyID0gam9pbih0ZXN0Um9vdCwgJ25vZGVfbW9kdWxlcycsICdzb21lLXBrZycpO1xuXG4gICAgd3JpdGVGaWxlKGpvaW4obm9kZU1vZHVsZXNEaXIsICdpbmRleC5qcycpLCAnZXhwb3J0IGNvbnN0IHBrZyA9IFwiaGVsbG9cIjsnKTtcbiAgICB3cml0ZUZpbGUoc3RlcEZpbGUsIGBpbXBvcnQgeyBwa2cgfSBmcm9tICdAcGtnJztcXG5jb25zb2xlLmxvZyhwa2cpO2ApO1xuXG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZXNidWlsZC5idWlsZCh7XG4gICAgICBlbnRyeVBvaW50czogW3N0ZXBGaWxlXSxcbiAgICAgIGFic1dvcmtpbmdEaXI6IHRlc3RSb290LFxuICAgICAgb3V0ZGlyLFxuICAgICAgYnVuZGxlOiB0cnVlLFxuICAgICAgZm9ybWF0OiAnZXNtJyxcbiAgICAgIHBsYXRmb3JtOiAnbm9kZScsXG4gICAgICB3cml0ZTogZmFsc2UsXG4gICAgICBhbGlhczogeyAnQHBrZyc6IGpvaW4obm9kZU1vZHVsZXNEaXIsICdpbmRleC5qcycpIH0sXG4gICAgICBwbHVnaW5zOiBbXG4gICAgICAgIGNyZWF0ZVN3Y1BsdWdpbih7XG4gICAgICAgICAgbW9kZTogJ3N0ZXAnLFxuICAgICAgICAgIGVudHJpZXNUb0J1bmRsZTogW3N0ZXBGaWxlXSxcbiAgICAgICAgICBvdXRkaXIsXG4gICAgICAgIH0pLFxuICAgICAgXSxcbiAgICB9KTtcblxuICAgIGV4cGVjdChyZXN1bHQuZXJyb3JzKS50b0hhdmVMZW5ndGgoMCk7XG4gICAgY29uc3Qgb3V0cHV0ID0gcmVzdWx0Lm91dHB1dEZpbGVzWzBdLnRleHQ7XG4gICAgLy8gU2hvdWxkIGJlIGJ1bmRsZWQgKGlubGluZWQpLCBub3QgZXh0ZXJuYWxpemVkIGFzIGEgcmVsYXRpdmUgbm9kZV9tb2R1bGVzIHBhdGhcbiAgICBleHBlY3Qob3V0cHV0KS50b0NvbnRhaW4oJ2hlbGxvJyk7XG4gICAgZXhwZWN0KG91dHB1dCkubm90LnRvTWF0Y2goL2Zyb21cXHMrW1wiJ10uKm5vZGVfbW9kdWxlcy8pO1xuICB9KTtcblxuICBpdCgnZXh0ZXJuYWxpemVzIG5lc3RlZCBiYXJlIHBhY2thZ2UgaW1wb3J0cyB0aGF0IG9ubHkgcmVzb2x2ZSBmcm9tIGEgYnVuZGxlZCBwYWNrYWdlJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IG91dGRpciA9IGpvaW4odGVzdFJvb3QsICdvdXQnKTtcbiAgICBjb25zdCBzcmNEaXIgPSBqb2luKHRlc3RSb290LCAnc3JjJyk7XG4gICAgY29uc3Qgc3RlcEZpbGUgPSBqb2luKHNyY0RpciwgJ3N0ZXAudHMnKTtcbiAgICBjb25zdCBwYXJlbnRQa2dEaXIgPSBqb2luKHRlc3RSb290LCAnbm9kZV9tb2R1bGVzJywgJ3BhcmVudC1wa2cnKTtcbiAgICBjb25zdCBwYXJlbnRQa2dJbmRleCA9IGpvaW4ocGFyZW50UGtnRGlyLCAnaW5kZXguanMnKTtcbiAgICBjb25zdCBuYXRpdmVQa2dEaXIgPSBqb2luKHBhcmVudFBrZ0RpciwgJ25vZGVfbW9kdWxlcycsICdvcHRpb25hbC1uYXRpdmUnKTtcblxuICAgIHdyaXRlRmlsZShcbiAgICAgIGpvaW4ocGFyZW50UGtnRGlyLCAncGFja2FnZS5qc29uJyksXG4gICAgICBKU09OLnN0cmluZ2lmeSh7IG5hbWU6ICdwYXJlbnQtcGtnJywgbWFpbjogJ2luZGV4LmpzJyB9KVxuICAgICk7XG4gICAgd3JpdGVGaWxlKFxuICAgICAgcGFyZW50UGtnSW5kZXgsXG4gICAgICBgY29uc3QgbmF0aXZlID0gcmVxdWlyZSgnb3B0aW9uYWwtbmF0aXZlJyk7XFxuZXhwb3J0cy52YWx1ZSA9IG5hdGl2ZS52YWx1ZTtgXG4gICAgKTtcbiAgICB3cml0ZUZpbGUoXG4gICAgICBqb2luKG5hdGl2ZVBrZ0RpciwgJ3BhY2thZ2UuanNvbicpLFxuICAgICAgSlNPTi5zdHJpbmdpZnkoeyBuYW1lOiAnb3B0aW9uYWwtbmF0aXZlJywgbWFpbjogJ2JpbmRpbmcubm9kZScgfSlcbiAgICApO1xuICAgIHdyaXRlRmlsZShqb2luKG5hdGl2ZVBrZ0RpciwgJ2JpbmRpbmcubm9kZScpLCAnJyk7XG4gICAgd3JpdGVGaWxlKFxuICAgICAgc3RlcEZpbGUsXG4gICAgICBgaW1wb3J0IHsgdmFsdWUgfSBmcm9tICdwYXJlbnQtcGtnJztcXG5jb25zb2xlLmxvZyh2YWx1ZSk7YFxuICAgICk7XG5cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBlc2J1aWxkLmJ1aWxkKHtcbiAgICAgIGVudHJ5UG9pbnRzOiBbc3RlcEZpbGVdLFxuICAgICAgYWJzV29ya2luZ0RpcjogdGVzdFJvb3QsXG4gICAgICBvdXRkaXIsXG4gICAgICBidW5kbGU6IHRydWUsXG4gICAgICBmb3JtYXQ6ICdlc20nLFxuICAgICAgcGxhdGZvcm06ICdub2RlJyxcbiAgICAgIHdyaXRlOiBmYWxzZSxcbiAgICAgIHBsdWdpbnM6IFtcbiAgICAgICAgY3JlYXRlU3djUGx1Z2luKHtcbiAgICAgICAgICBtb2RlOiAnc3RlcCcsXG4gICAgICAgICAgZW50cmllc1RvQnVuZGxlOiBbc3RlcEZpbGUsIHBhcmVudFBrZ0luZGV4XSxcbiAgICAgICAgICBvdXRkaXIsXG4gICAgICAgIH0pLFxuICAgICAgXSxcbiAgICB9KTtcblxuICAgIGV4cGVjdChyZXN1bHQuZXJyb3JzKS50b0hhdmVMZW5ndGgoMCk7XG4gICAgY29uc3Qgb3V0cHV0ID0gcmVzdWx0Lm91dHB1dEZpbGVzWzBdLnRleHQ7XG4gICAgZXhwZWN0KG91dHB1dCkudG9Db250YWluKCdvcHRpb25hbC1uYXRpdmUnKTtcbiAgICBleHBlY3Qob3V0cHV0KS5ub3QudG9Db250YWluKCdiaW5kaW5nLm5vZGUnKTtcbiAgfSk7XG5cbiAgaXQuZWFjaChbXG4gICAgJy50cycsXG4gICAgJy50c3gnLFxuICAgICcubXRzJyxcbiAgICAnLmN0cycsXG4gIF0pKCdwcmVzZXJ2ZXMgZXh0ZXJuYWxpemVkICVzIGV4dGVuc2lvbnMgYnkgZGVmYXVsdCcsIGFzeW5jIChpbnB1dEV4dCkgPT4ge1xuICAgIGNvbnN0IG91dGRpciA9IGpvaW4odGVzdFJvb3QsICdvdXQnKTtcbiAgICBjb25zdCBzcmNEaXIgPSBqb2luKHRlc3RSb290LCAnc3JjJyk7XG4gICAgY29uc3Qgc3RlcEZpbGUgPSBqb2luKHNyY0RpciwgJ3N0ZXAudHMnKTtcblxuICAgIHdyaXRlRmlsZShqb2luKHNyY0RpciwgYGRlcCR7aW5wdXRFeHR9YCksICdleHBvcnQgY29uc3QgZGVwID0ge307Jyk7XG4gICAgd3JpdGVGaWxlKHN0ZXBGaWxlLCBgaW1wb3J0IHsgZGVwIH0gZnJvbSAnLi9kZXAnO1xcbmNvbnNvbGUubG9nKGRlcCk7YCk7XG5cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBlc2J1aWxkLmJ1aWxkKHtcbiAgICAgIGVudHJ5UG9pbnRzOiBbc3RlcEZpbGVdLFxuICAgICAgYWJzV29ya2luZ0RpcjogdGVzdFJvb3QsXG4gICAgICBvdXRkaXIsXG4gICAgICBidW5kbGU6IHRydWUsXG4gICAgICBmb3JtYXQ6ICdlc20nLFxuICAgICAgcGxhdGZvcm06ICdub2RlJyxcbiAgICAgIHdyaXRlOiBmYWxzZSxcbiAgICAgIHBsdWdpbnM6IFtcbiAgICAgICAgY3JlYXRlU3djUGx1Z2luKHtcbiAgICAgICAgICBtb2RlOiAnc3RlcCcsXG4gICAgICAgICAgZW50cmllc1RvQnVuZGxlOiBbc3RlcEZpbGVdLFxuICAgICAgICAgIG91dGRpcixcbiAgICAgICAgfSksXG4gICAgICBdLFxuICAgIH0pO1xuXG4gICAgZXhwZWN0KHJlc3VsdC5lcnJvcnMpLnRvSGF2ZUxlbmd0aCgwKTtcbiAgICBjb25zdCBvdXRwdXQgPSByZXN1bHQub3V0cHV0RmlsZXNbMF0udGV4dDtcbiAgICBleHBlY3Qob3V0cHV0KS50b0NvbnRhaW4oYC9kZXAke2lucHV0RXh0fWApO1xuICB9KTtcblxuICBpdCgnYnVuZGxlcyB0cmFuc2l0aXZlIGxvY2FsIFR5cGVTY3JpcHQgZGVwZW5kZW5jaWVzIHdpdGggZXh0ZW5zaW9ubGVzcyBpbXBvcnRzJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IG91dGRpciA9IGpvaW4odGVzdFJvb3QsICdvdXQnKTtcbiAgICBjb25zdCBzdGVwRmlsZSA9IGpvaW4odGVzdFJvb3QsICdzZXJ2ZXInLCAnd29ya2Zsb3dzJywgJ215LXdvcmtmbG93LnRzJyk7XG4gICAgY29uc3QgY29uc3RhbnRzRmlsZSA9IGpvaW4odGVzdFJvb3QsICdzaGFyZWQnLCAnY29uc3RhbnRzLnRzJyk7XG4gICAgY29uc3QgaGVscGVyc0ZpbGUgPSBqb2luKHRlc3RSb290LCAnc2hhcmVkJywgJ2hlbHBlcnMudHMnKTtcblxuICAgIHdyaXRlRmlsZShoZWxwZXJzRmlsZSwgYGV4cG9ydCBjb25zdCBIRUxQRVJfVkFMVUUgPSBcImZyb20taGVscGVyXCI7YCk7XG4gICAgd3JpdGVGaWxlKFxuICAgICAgY29uc3RhbnRzRmlsZSxcbiAgICAgIGBpbXBvcnQgeyBIRUxQRVJfVkFMVUUgfSBmcm9tICcuL2hlbHBlcnMnO1xcbmV4cG9ydCBjb25zdCBDQVRFR09SSUVTID0gW0hFTFBFUl9WQUxVRV07YFxuICAgICk7XG4gICAgd3JpdGVGaWxlKFxuICAgICAgc3RlcEZpbGUsXG4gICAgICBgaW1wb3J0IHsgQ0FURUdPUklFUyB9IGZyb20gJy4uLy4uL3NoYXJlZC9jb25zdGFudHMnO1xcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBteVN0ZXAoKSB7XFxuICAndXNlIHN0ZXAnO1xcbiAgcmV0dXJuIENBVEVHT1JJRVNbMF07XFxufWBcbiAgICApO1xuXG4gICAgY29uc3Qgc3RhdGUgPSB7XG4gICAgICBkaXNjb3ZlcmVkU3RlcHM6IG5ldyBTZXQ8c3RyaW5nPigpLFxuICAgICAgZGlzY292ZXJlZFdvcmtmbG93czogbmV3IFNldDxzdHJpbmc+KCksXG4gICAgICBkaXNjb3ZlcmVkU2VyZGVGaWxlczogbmV3IFNldDxzdHJpbmc+KCksXG4gICAgfTtcbiAgICBhd2FpdCBlc2J1aWxkLmJ1aWxkKHtcbiAgICAgIGVudHJ5UG9pbnRzOiBbc3RlcEZpbGVdLFxuICAgICAgYWJzV29ya2luZ0RpcjogdGVzdFJvb3QsXG4gICAgICBidW5kbGU6IHRydWUsXG4gICAgICBmb3JtYXQ6ICdlc20nLFxuICAgICAgcGxhdGZvcm06ICdub2RlJyxcbiAgICAgIHdyaXRlOiBmYWxzZSxcbiAgICAgIHJlc29sdmVFeHRlbnNpb25zOiBbJy50cycsICcudHN4JywgJy5qcycsICcuanN4JywgJy5tanMnLCAnLmNqcyddLFxuICAgICAgcGx1Z2luczogW2NyZWF0ZURpc2NvdmVyRW50cmllc1BsdWdpbihzdGF0ZSwgdGVzdFJvb3QpXSxcbiAgICB9KTtcblxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGVzYnVpbGQuYnVpbGQoe1xuICAgICAgZW50cnlQb2ludHM6IFtzdGVwRmlsZV0sXG4gICAgICBhYnNXb3JraW5nRGlyOiB0ZXN0Um9vdCxcbiAgICAgIG91dGRpcixcbiAgICAgIGJ1bmRsZTogdHJ1ZSxcbiAgICAgIGZvcm1hdDogJ2VzbScsXG4gICAgICBwbGF0Zm9ybTogJ25vZGUnLFxuICAgICAgd3JpdGU6IGZhbHNlLFxuICAgICAgcmVzb2x2ZUV4dGVuc2lvbnM6IFsnLnRzJywgJy50c3gnLCAnLmpzJywgJy5qc3gnLCAnLm1qcycsICcuY2pzJ10sXG4gICAgICBwbHVnaW5zOiBbXG4gICAgICAgIGNyZWF0ZVN3Y1BsdWdpbih7XG4gICAgICAgICAgbW9kZTogJ3N0ZXAnLFxuICAgICAgICAgIGVudHJpZXNUb0J1bmRsZTogW3N0ZXBGaWxlXSxcbiAgICAgICAgICBvdXRkaXIsXG4gICAgICAgICAgYnVuZGxlVHJhbnNpdGl2ZUxvY2FsU3RlcERlcGVuZGVuY2llczogdHJ1ZSxcbiAgICAgICAgfSksXG4gICAgICBdLFxuICAgIH0pO1xuXG4gICAgZXhwZWN0KHJlc3VsdC5lcnJvcnMpLnRvSGF2ZUxlbmd0aCgwKTtcbiAgICBjb25zdCBvdXRwdXQgPSByZXN1bHQub3V0cHV0RmlsZXNbMF0udGV4dDtcbiAgICBleHBlY3Qob3V0cHV0KS50b0NvbnRhaW4oJ2Zyb20taGVscGVyJyk7XG4gICAgZXhwZWN0KG91dHB1dCkubm90LnRvTWF0Y2goL2Zyb21cXHMrW1wiJ11bXlwiJ10qc2hhcmVkXFwvY29uc3RhbnRzLyk7XG4gICAgZXhwZWN0KG91dHB1dCkubm90LnRvTWF0Y2goL2Zyb21cXHMrW1wiJ11bXlwiJ10qc2hhcmVkXFwvaGVscGVycy8pO1xuICB9KTtcblxuICBpdCgnZXh0ZXJuYWxpemVzIHRyYW5zaXRpdmUgbG9jYWwgVHlwZVNjcmlwdCBkZXBlbmRlbmNpZXMgYnkgZGVmYXVsdCcsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBvdXRkaXIgPSBqb2luKHRlc3RSb290LCAnb3V0Jyk7XG4gICAgY29uc3Qgc3RlcEZpbGUgPSBqb2luKHRlc3RSb290LCAnc2VydmVyJywgJ3dvcmtmbG93cycsICdteS13b3JrZmxvdy50cycpO1xuICAgIGNvbnN0IGNvbnN0YW50c0ZpbGUgPSBqb2luKHRlc3RSb290LCAnc2hhcmVkJywgJ2NvbnN0YW50cy50cycpO1xuICAgIGNvbnN0IGhlbHBlcnNGaWxlID0gam9pbih0ZXN0Um9vdCwgJ3NoYXJlZCcsICdoZWxwZXJzLnRzJyk7XG5cbiAgICB3cml0ZUZpbGUoaGVscGVyc0ZpbGUsIGBleHBvcnQgY29uc3QgSEVMUEVSX1ZBTFVFID0gXCJmcm9tLWhlbHBlclwiO2ApO1xuICAgIHdyaXRlRmlsZShcbiAgICAgIGNvbnN0YW50c0ZpbGUsXG4gICAgICBgaW1wb3J0IHsgSEVMUEVSX1ZBTFVFIH0gZnJvbSAnLi9oZWxwZXJzJztcXG5leHBvcnQgY29uc3QgQ0FURUdPUklFUyA9IFtIRUxQRVJfVkFMVUVdO2BcbiAgICApO1xuICAgIHdyaXRlRmlsZShcbiAgICAgIHN0ZXBGaWxlLFxuICAgICAgYGltcG9ydCB7IENBVEVHT1JJRVMgfSBmcm9tICcuLi8uLi9zaGFyZWQvY29uc3RhbnRzJztcXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbXlTdGVwKCkge1xcbiAgJ3VzZSBzdGVwJztcXG4gIHJldHVybiBDQVRFR09SSUVTWzBdO1xcbn1gXG4gICAgKTtcblxuICAgIGNvbnN0IHN0YXRlID0ge1xuICAgICAgZGlzY292ZXJlZFN0ZXBzOiBuZXcgU2V0PHN0cmluZz4oKSxcbiAgICAgIGRpc2NvdmVyZWRXb3JrZmxvd3M6IG5ldyBTZXQ8c3RyaW5nPigpLFxuICAgICAgZGlzY292ZXJlZFNlcmRlRmlsZXM6IG5ldyBTZXQ8c3RyaW5nPigpLFxuICAgIH07XG4gICAgYXdhaXQgZXNidWlsZC5idWlsZCh7XG4gICAgICBlbnRyeVBvaW50czogW3N0ZXBGaWxlXSxcbiAgICAgIGFic1dvcmtpbmdEaXI6IHRlc3RSb290LFxuICAgICAgYnVuZGxlOiB0cnVlLFxuICAgICAgZm9ybWF0OiAnZXNtJyxcbiAgICAgIHBsYXRmb3JtOiAnbm9kZScsXG4gICAgICB3cml0ZTogZmFsc2UsXG4gICAgICByZXNvbHZlRXh0ZW5zaW9uczogWycudHMnLCAnLnRzeCcsICcuanMnLCAnLmpzeCcsICcubWpzJywgJy5janMnXSxcbiAgICAgIHBsdWdpbnM6IFtjcmVhdGVEaXNjb3ZlckVudHJpZXNQbHVnaW4oc3RhdGUsIHRlc3RSb290KV0sXG4gICAgfSk7XG5cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBlc2J1aWxkLmJ1aWxkKHtcbiAgICAgIGVudHJ5UG9pbnRzOiBbc3RlcEZpbGVdLFxuICAgICAgYWJzV29ya2luZ0RpcjogdGVzdFJvb3QsXG4gICAgICBvdXRkaXIsXG4gICAgICBidW5kbGU6IHRydWUsXG4gICAgICBmb3JtYXQ6ICdlc20nLFxuICAgICAgcGxhdGZvcm06ICdub2RlJyxcbiAgICAgIHdyaXRlOiBmYWxzZSxcbiAgICAgIHJlc29sdmVFeHRlbnNpb25zOiBbJy50cycsICcudHN4JywgJy5qcycsICcuanN4JywgJy5tanMnLCAnLmNqcyddLFxuICAgICAgcGx1Z2luczogW1xuICAgICAgICBjcmVhdGVTd2NQbHVnaW4oe1xuICAgICAgICAgIG1vZGU6ICdzdGVwJyxcbiAgICAgICAgICBlbnRyaWVzVG9CdW5kbGU6IFtzdGVwRmlsZV0sXG4gICAgICAgICAgb3V0ZGlyLFxuICAgICAgICB9KSxcbiAgICAgIF0sXG4gICAgfSk7XG5cbiAgICBleHBlY3QocmVzdWx0LmVycm9ycykudG9IYXZlTGVuZ3RoKDApO1xuICAgIGNvbnN0IG91dHB1dCA9IHJlc3VsdC5vdXRwdXRGaWxlc1swXS50ZXh0O1xuICAgIGV4cGVjdChvdXRwdXQpLm5vdC50b0NvbnRhaW4oJ2Zyb20taGVscGVyJyk7XG4gICAgZXhwZWN0KG91dHB1dCkudG9NYXRjaCgvZnJvbVxccytbXCInXVteXCInXSpzaGFyZWRcXC9jb25zdGFudHNcXC50c1tcIiddLyk7XG4gIH0pO1xuXG4gIGl0KCdrZWVwcyBvcmRpbmFyeSBwYWNrYWdlIGRlcGVuZGVuY2llcyBleHRlcm5hbCB3aGVuIHJlYWNoYWJsZSBmcm9tIGEgYnVuZGxlZCBzdGVwJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IG91dGRpciA9IGpvaW4odGVzdFJvb3QsICdvdXQnKTtcbiAgICBjb25zdCBzdGVwRmlsZSA9IGpvaW4odGVzdFJvb3QsICdzZXJ2ZXInLCAnd29ya2Zsb3dzJywgJ215LXdvcmtmbG93LnRzJyk7XG4gICAgY29uc3QgcGtnRGlyID0gam9pbih0ZXN0Um9vdCwgJ25vZGVfbW9kdWxlcycsICdwbGFpbi1wa2cnKTtcbiAgICBjb25zdCBwa2dJbmRleCA9IGpvaW4ocGtnRGlyLCAnaW5kZXguanMnKTtcblxuICAgIHdyaXRlRmlsZShcbiAgICAgIGpvaW4ocGtnRGlyLCAncGFja2FnZS5qc29uJyksXG4gICAgICBKU09OLnN0cmluZ2lmeSh7IG5hbWU6ICdwbGFpbi1wa2cnLCBtYWluOiAnaW5kZXguanMnIH0pXG4gICAgKTtcbiAgICB3cml0ZUZpbGUocGtnSW5kZXgsIGBleHBvcnQgY29uc3QgdmFsdWUgPSBcImZyb20tcGFja2FnZVwiO2ApO1xuICAgIHdyaXRlRmlsZShcbiAgICAgIHN0ZXBGaWxlLFxuICAgICAgYGltcG9ydCB7IHZhbHVlIH0gZnJvbSAncGxhaW4tcGtnJztcXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbXlTdGVwKCkge1xcbiAgJ3VzZSBzdGVwJztcXG4gIHJldHVybiB2YWx1ZTtcXG59YFxuICAgICk7XG5cbiAgICBjb25zdCBzdGF0ZSA9IHtcbiAgICAgIGRpc2NvdmVyZWRTdGVwczogbmV3IFNldDxzdHJpbmc+KCksXG4gICAgICBkaXNjb3ZlcmVkV29ya2Zsb3dzOiBuZXcgU2V0PHN0cmluZz4oKSxcbiAgICAgIGRpc2NvdmVyZWRTZXJkZUZpbGVzOiBuZXcgU2V0PHN0cmluZz4oKSxcbiAgICB9O1xuICAgIGF3YWl0IGVzYnVpbGQuYnVpbGQoe1xuICAgICAgZW50cnlQb2ludHM6IFtzdGVwRmlsZV0sXG4gICAgICBhYnNXb3JraW5nRGlyOiB0ZXN0Um9vdCxcbiAgICAgIGJ1bmRsZTogdHJ1ZSxcbiAgICAgIGZvcm1hdDogJ2VzbScsXG4gICAgICBwbGF0Zm9ybTogJ25vZGUnLFxuICAgICAgd3JpdGU6IGZhbHNlLFxuICAgICAgcGx1Z2luczogW2NyZWF0ZURpc2NvdmVyRW50cmllc1BsdWdpbihzdGF0ZSwgdGVzdFJvb3QpXSxcbiAgICB9KTtcblxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGVzYnVpbGQuYnVpbGQoe1xuICAgICAgZW50cnlQb2ludHM6IFtzdGVwRmlsZV0sXG4gICAgICBhYnNXb3JraW5nRGlyOiB0ZXN0Um9vdCxcbiAgICAgIG91dGRpcixcbiAgICAgIGJ1bmRsZTogdHJ1ZSxcbiAgICAgIGZvcm1hdDogJ2VzbScsXG4gICAgICBwbGF0Zm9ybTogJ25vZGUnLFxuICAgICAgd3JpdGU6IGZhbHNlLFxuICAgICAgcGx1Z2luczogW1xuICAgICAgICBjcmVhdGVTd2NQbHVnaW4oe1xuICAgICAgICAgIG1vZGU6ICdzdGVwJyxcbiAgICAgICAgICBlbnRyaWVzVG9CdW5kbGU6IFtzdGVwRmlsZV0sXG4gICAgICAgICAgb3V0ZGlyLFxuICAgICAgICAgIGJ1bmRsZVRyYW5zaXRpdmVMb2NhbFN0ZXBEZXBlbmRlbmNpZXM6IHRydWUsXG4gICAgICAgIH0pLFxuICAgICAgXSxcbiAgICB9KTtcblxuICAgIGV4cGVjdChyZXN1bHQuZXJyb3JzKS50b0hhdmVMZW5ndGgoMCk7XG4gICAgY29uc3Qgb3V0cHV0ID0gcmVzdWx0Lm91dHB1dEZpbGVzWzBdLnRleHQ7XG4gICAgZXhwZWN0KG91dHB1dCkudG9NYXRjaCgvZnJvbVxccytbXCInXXBsYWluLXBrZ1tcIiddLyk7XG4gICAgZXhwZWN0KG91dHB1dCkubm90LnRvQ29udGFpbignZnJvbS1wYWNrYWdlJyk7XG4gIH0pO1xuXG4gIGl0KCdidW5kbGVzIHBhY2thZ2UgcGFyZW50cyB3aGVuIHRoZXkgbGVhZCB0byBkaXNjb3ZlcmVkIHdvcmtmbG93LXJlbGF0ZWQgZW50cmllcycsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBvdXRkaXIgPSBqb2luKHRlc3RSb290LCAnb3V0Jyk7XG4gICAgY29uc3Qgc3RlcEZpbGUgPSBqb2luKHRlc3RSb290LCAnc2VydmVyJywgJ3dvcmtmbG93cycsICdteS13b3JrZmxvdy50cycpO1xuICAgIGNvbnN0IHBrZ0RpciA9IGpvaW4odGVzdFJvb3QsICdub2RlX21vZHVsZXMnLCAnd29ya2Zsb3ctcGtnJyk7XG4gICAgY29uc3QgcGtnSW5kZXggPSBqb2luKHBrZ0RpciwgJ2luZGV4LmpzJyk7XG4gICAgY29uc3QgcGtnU2VyZGUgPSBqb2luKHBrZ0RpciwgJ3NlcmRlLmpzJyk7XG5cbiAgICB3cml0ZUZpbGUoXG4gICAgICBqb2luKHBrZ0RpciwgJ3BhY2thZ2UuanNvbicpLFxuICAgICAgSlNPTi5zdHJpbmdpZnkoeyBuYW1lOiAnd29ya2Zsb3ctcGtnJywgbWFpbjogJ2luZGV4LmpzJyB9KVxuICAgICk7XG4gICAgd3JpdGVGaWxlKHBrZ1NlcmRlLCBgZXhwb3J0IGNvbnN0IHZhbHVlID0gXCJmcm9tLXNlcmRlXCI7YCk7XG4gICAgd3JpdGVGaWxlKHBrZ0luZGV4LCBgZXhwb3J0IHsgdmFsdWUgfSBmcm9tICcuL3NlcmRlLmpzJztgKTtcbiAgICB3cml0ZUZpbGUoXG4gICAgICBzdGVwRmlsZSxcbiAgICAgIGBpbXBvcnQgeyB2YWx1ZSB9IGZyb20gJ3dvcmtmbG93LXBrZyc7XFxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIG15U3RlcCgpIHtcXG4gICd1c2Ugc3RlcCc7XFxuICByZXR1cm4gdmFsdWU7XFxufWBcbiAgICApO1xuXG4gICAgY29uc3Qgc3RhdGUgPSB7XG4gICAgICBkaXNjb3ZlcmVkU3RlcHM6IG5ldyBTZXQ8c3RyaW5nPigpLFxuICAgICAgZGlzY292ZXJlZFdvcmtmbG93czogbmV3IFNldDxzdHJpbmc+KCksXG4gICAgICBkaXNjb3ZlcmVkU2VyZGVGaWxlczogbmV3IFNldDxzdHJpbmc+KCksXG4gICAgfTtcbiAgICBhd2FpdCBlc2J1aWxkLmJ1aWxkKHtcbiAgICAgIGVudHJ5UG9pbnRzOiBbc3RlcEZpbGVdLFxuICAgICAgYWJzV29ya2luZ0RpcjogdGVzdFJvb3QsXG4gICAgICBidW5kbGU6IHRydWUsXG4gICAgICBmb3JtYXQ6ICdlc20nLFxuICAgICAgcGxhdGZvcm06ICdub2RlJyxcbiAgICAgIHdyaXRlOiBmYWxzZSxcbiAgICAgIHBsdWdpbnM6IFtjcmVhdGVEaXNjb3ZlckVudHJpZXNQbHVnaW4oc3RhdGUsIHRlc3RSb290KV0sXG4gICAgfSk7XG5cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBlc2J1aWxkLmJ1aWxkKHtcbiAgICAgIGVudHJ5UG9pbnRzOiBbc3RlcEZpbGVdLFxuICAgICAgYWJzV29ya2luZ0RpcjogdGVzdFJvb3QsXG4gICAgICBvdXRkaXIsXG4gICAgICBidW5kbGU6IHRydWUsXG4gICAgICBmb3JtYXQ6ICdlc20nLFxuICAgICAgcGxhdGZvcm06ICdub2RlJyxcbiAgICAgIHdyaXRlOiBmYWxzZSxcbiAgICAgIHBsdWdpbnM6IFtcbiAgICAgICAgY3JlYXRlU3djUGx1Z2luKHtcbiAgICAgICAgICBtb2RlOiAnc3RlcCcsXG4gICAgICAgICAgZW50cmllc1RvQnVuZGxlOiBbc3RlcEZpbGUsIHBrZ1NlcmRlXSxcbiAgICAgICAgICBvdXRkaXIsXG4gICAgICAgIH0pLFxuICAgICAgXSxcbiAgICB9KTtcblxuICAgIGV4cGVjdChyZXN1bHQuZXJyb3JzKS50b0hhdmVMZW5ndGgoMCk7XG4gICAgY29uc3Qgb3V0cHV0ID0gcmVzdWx0Lm91dHB1dEZpbGVzWzBdLnRleHQ7XG4gICAgZXhwZWN0KG91dHB1dCkudG9Db250YWluKCdmcm9tLXNlcmRlJyk7XG4gICAgZXhwZWN0KG91dHB1dCkubm90LnRvTWF0Y2goL2Zyb21cXHMrW1wiJ113b3JrZmxvdy1wa2dbXCInXS8pO1xuICB9KTtcbn0pO1xuXG5kZXNjcmliZSgnY3JlYXRlU3djUGx1Z2luIHNpZGVFZmZlY3RFbnRyaWVzJywgKCkgPT4ge1xuICBsZXQgdGVzdFJvb3Q6IHN0cmluZztcblxuICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICB0ZXN0Um9vdCA9IG1rZHRlbXBTeW5jKGpvaW4ocmVhbFRtcGRpciwgJ3dvcmtmbG93LXN3Yy1wbHVnaW4tJykpO1xuICAgIGFwcGx5U3djVHJhbnNmb3JtTW9jay5tb2NrUmVzZXQoKTtcbiAgfSk7XG5cbiAgYWZ0ZXJFYWNoKCgpID0+IHtcbiAgICBybVN5bmModGVzdFJvb3QsIHsgcmVjdXJzaXZlOiB0cnVlLCBmb3JjZTogdHJ1ZSB9KTtcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEhlbHBlcjogY3JlYXRlcyBhIGZha2Ugbm9kZV9tb2R1bGVzIHBhY2thZ2Ugd2l0aCBgXCJzaWRlRWZmZWN0c1wiOiBmYWxzZWBcbiAgICogaW4gaXRzIHBhY2thZ2UuanNvbiBhbmQgYSBzaW5nbGUgZW50cnkgZmlsZSB0aGF0IGV4cG9ydHMgYSBzaWRlLWVmZmVjdGZ1bFxuICAgKiByZWdpc3RyYXRpb24gY2FsbCAoc2ltdWxhdGluZyB3aGF0IHRoZSBTV0MgdHJhbnNmb3JtIHByb2R1Y2VzKS5cbiAgICovXG4gIGZ1bmN0aW9uIGNyZWF0ZVNpZGVFZmZlY3RzRmFsc2VQYWNrYWdlKFxuICAgIHBhY2thZ2VOYW1lOiBzdHJpbmcsXG4gICAgZW50cnlDb2RlOiBzdHJpbmdcbiAgKTogc3RyaW5nIHtcbiAgICBjb25zdCBwa2dEaXIgPSBqb2luKHRlc3RSb290LCAnbm9kZV9tb2R1bGVzJywgcGFja2FnZU5hbWUpO1xuICAgIHdyaXRlRmlsZShcbiAgICAgIGpvaW4ocGtnRGlyLCAncGFja2FnZS5qc29uJyksXG4gICAgICBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgIG5hbWU6IHBhY2thZ2VOYW1lLFxuICAgICAgICB2ZXJzaW9uOiAnMS4wLjAnLFxuICAgICAgICBzaWRlRWZmZWN0czogZmFsc2UsXG4gICAgICAgIG1haW46ICdpbmRleC5qcycsXG4gICAgICB9KVxuICAgICk7XG4gICAgY29uc3QgZW50cnlQYXRoID0gam9pbihwa2dEaXIsICdpbmRleC5qcycpO1xuICAgIHdyaXRlRmlsZShlbnRyeVBhdGgsIGVudHJ5Q29kZSk7XG4gICAgcmV0dXJuIGVudHJ5UGF0aDtcbiAgfVxuXG4gIGl0KCdwcmVzZXJ2ZXMgYmFyZSBpbXBvcnRzIG9mIHNpZGVFZmZlY3RFbnRyaWVzIHBhY2thZ2VzIHdoZW4gYnVuZGxpbmcgd2l0aG91dCBlbnRyaWVzVG9CdW5kbGUnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3Qgc2lkZUVmZmVjdENvZGUgPVxuICAgICAgJ2dsb2JhbFRoaXMuX19yZWdpc3RlcmVkID0gZ2xvYmFsVGhpcy5fX3JlZ2lzdGVyZWQgfHwgW107XFxuZ2xvYmFsVGhpcy5fX3JlZ2lzdGVyZWQucHVzaChcIm15LXBrZ1wiKTsnO1xuICAgIGNvbnN0IGVudHJ5UGF0aCA9IGNyZWF0ZVNpZGVFZmZlY3RzRmFsc2VQYWNrYWdlKFxuICAgICAgJ215LXNpZGUtZWZmZWN0LXBrZycsXG4gICAgICBzaWRlRWZmZWN0Q29kZVxuICAgICk7XG5cbiAgICAvLyBTV0MgbW9jazogcmV0dXJuIHRoZSBjb2RlIHVuY2hhbmdlZCAodGhlIHNpZGUgZWZmZWN0cyBhcmUgYWxyZWFkeSB0aGVyZSlcbiAgICBhcHBseVN3Y1RyYW5zZm9ybU1vY2subW9ja0ltcGxlbWVudGF0aW9uKFxuICAgICAgYXN5bmMgKF9maWxlbmFtZTogc3RyaW5nLCBzb3VyY2U6IHN0cmluZykgPT4gKHtcbiAgICAgICAgY29kZTogc291cmNlLFxuICAgICAgICB3b3JrZmxvd01hbmlmZXN0OiB7fSxcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGVzYnVpbGQuYnVpbGQoe1xuICAgICAgc3RkaW46IHtcbiAgICAgICAgY29udGVudHM6IGBpbXBvcnQgJ215LXNpZGUtZWZmZWN0LXBrZyc7YCxcbiAgICAgICAgcmVzb2x2ZURpcjogdGVzdFJvb3QsXG4gICAgICAgIHNvdXJjZWZpbGU6ICd2aXJ0dWFsLWVudHJ5LmpzJyxcbiAgICAgICAgbG9hZGVyOiAnanMnLFxuICAgICAgfSxcbiAgICAgIGFic1dvcmtpbmdEaXI6IHRlc3RSb290LFxuICAgICAgYnVuZGxlOiB0cnVlLFxuICAgICAgZm9ybWF0OiAnY2pzJyxcbiAgICAgIHBsYXRmb3JtOiAnbm9kZScsXG4gICAgICB3cml0ZTogZmFsc2UsXG4gICAgICB0cmVlU2hha2luZzogdHJ1ZSxcbiAgICAgIGxvZ0xldmVsOiAnc2lsZW50JyxcbiAgICAgIHBsdWdpbnM6IFtcbiAgICAgICAgY3JlYXRlU3djUGx1Z2luKHtcbiAgICAgICAgICBtb2RlOiAnd29ya2Zsb3cnLFxuICAgICAgICAgIHNpZGVFZmZlY3RFbnRyaWVzOiBbZW50cnlQYXRoXSxcbiAgICAgICAgfSksXG4gICAgICBdLFxuICAgIH0pO1xuXG4gICAgZXhwZWN0KHJlc3VsdC5lcnJvcnMpLnRvSGF2ZUxlbmd0aCgwKTtcbiAgICBjb25zdCBvdXRwdXQgPSByZXN1bHQub3V0cHV0RmlsZXNbMF0udGV4dDtcbiAgICAvLyBUaGUgcmVnaXN0cmF0aW9uIGNvZGUgc2hvdWxkIGJlIHByZXNlbnQgaW4gdGhlIGJ1bmRsZVxuICAgIGV4cGVjdChvdXRwdXQpLnRvQ29udGFpbignX19yZWdpc3RlcmVkJyk7XG4gIH0pO1xuXG4gIGl0KCdkcm9wcyBiYXJlIGltcG9ydHMgd2hlbiBzaWRlRWZmZWN0RW50cmllcyBpcyBOT1QgcHJvdmlkZWQgZm9yIHNpZGVFZmZlY3RzOmZhbHNlIHBhY2thZ2VzJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHNpZGVFZmZlY3RDb2RlID1cbiAgICAgICdnbG9iYWxUaGlzLl9fcmVnaXN0ZXJlZCA9IGdsb2JhbFRoaXMuX19yZWdpc3RlcmVkIHx8IFtdO1xcbmdsb2JhbFRoaXMuX19yZWdpc3RlcmVkLnB1c2goXCJteS1wa2dcIik7JztcbiAgICBjcmVhdGVTaWRlRWZmZWN0c0ZhbHNlUGFja2FnZSgnbXktZHJvcHBlZC1wa2cnLCBzaWRlRWZmZWN0Q29kZSk7XG5cbiAgICBhcHBseVN3Y1RyYW5zZm9ybU1vY2subW9ja0ltcGxlbWVudGF0aW9uKFxuICAgICAgYXN5bmMgKF9maWxlbmFtZTogc3RyaW5nLCBzb3VyY2U6IHN0cmluZykgPT4gKHtcbiAgICAgICAgY29kZTogc291cmNlLFxuICAgICAgICB3b3JrZmxvd01hbmlmZXN0OiB7fSxcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGVzYnVpbGQuYnVpbGQoe1xuICAgICAgc3RkaW46IHtcbiAgICAgICAgY29udGVudHM6IGBpbXBvcnQgJ215LWRyb3BwZWQtcGtnJztgLFxuICAgICAgICByZXNvbHZlRGlyOiB0ZXN0Um9vdCxcbiAgICAgICAgc291cmNlZmlsZTogJ3ZpcnR1YWwtZW50cnkuanMnLFxuICAgICAgICBsb2FkZXI6ICdqcycsXG4gICAgICB9LFxuICAgICAgYWJzV29ya2luZ0RpcjogdGVzdFJvb3QsXG4gICAgICBidW5kbGU6IHRydWUsXG4gICAgICBmb3JtYXQ6ICdjanMnLFxuICAgICAgcGxhdGZvcm06ICdub2RlJyxcbiAgICAgIHdyaXRlOiBmYWxzZSxcbiAgICAgIHRyZWVTaGFraW5nOiB0cnVlLFxuICAgICAgbG9nTGV2ZWw6ICdzaWxlbnQnLFxuICAgICAgcGx1Z2luczogW1xuICAgICAgICBjcmVhdGVTd2NQbHVnaW4oe1xuICAgICAgICAgIG1vZGU6ICd3b3JrZmxvdycsXG4gICAgICAgIH0pLFxuICAgICAgXSxcbiAgICB9KTtcblxuICAgIGV4cGVjdChyZXN1bHQuZXJyb3JzKS50b0hhdmVMZW5ndGgoMCk7XG4gICAgY29uc3Qgb3V0cHV0ID0gcmVzdWx0Lm91dHB1dEZpbGVzWzBdLnRleHQ7XG4gICAgLy8gV2l0aG91dCBzaWRlRWZmZWN0RW50cmllcywgZXNidWlsZCBkcm9wcyB0aGUgYmFyZSBpbXBvcnRcbiAgICBleHBlY3Qob3V0cHV0KS5ub3QudG9Db250YWluKCdfX3JlZ2lzdGVyZWQnKTtcbiAgfSk7XG5cbiAgaXQoJ3Byb2R1Y2VzIG5vIHdhcm5pbmdzIGZvciBzaWRlRWZmZWN0RW50cmllcyBwYWNrYWdlcycsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBzaWRlRWZmZWN0Q29kZSA9XG4gICAgICAnZ2xvYmFsVGhpcy5fX3JlZ2lzdGVyZWQgPSBnbG9iYWxUaGlzLl9fcmVnaXN0ZXJlZCB8fCBbXTtcXG5nbG9iYWxUaGlzLl9fcmVnaXN0ZXJlZC5wdXNoKFwid2FybmVkLXBrZ1wiKTsnO1xuICAgIGNvbnN0IGVudHJ5UGF0aCA9IGNyZWF0ZVNpZGVFZmZlY3RzRmFsc2VQYWNrYWdlKFxuICAgICAgJ215LXdhcm5lZC1wa2cnLFxuICAgICAgc2lkZUVmZmVjdENvZGVcbiAgICApO1xuXG4gICAgYXBwbHlTd2NUcmFuc2Zvcm1Nb2NrLm1vY2tJbXBsZW1lbnRhdGlvbihcbiAgICAgIGFzeW5jIChfZmlsZW5hbWU6IHN0cmluZywgc291cmNlOiBzdHJpbmcpID0+ICh7XG4gICAgICAgIGNvZGU6IHNvdXJjZSxcbiAgICAgICAgd29ya2Zsb3dNYW5pZmVzdDoge30sXG4gICAgICB9KVxuICAgICk7XG5cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBlc2J1aWxkLmJ1aWxkKHtcbiAgICAgIHN0ZGluOiB7XG4gICAgICAgIGNvbnRlbnRzOiBgaW1wb3J0ICdteS13YXJuZWQtcGtnJztgLFxuICAgICAgICByZXNvbHZlRGlyOiB0ZXN0Um9vdCxcbiAgICAgICAgc291cmNlZmlsZTogJ3ZpcnR1YWwtZW50cnkuanMnLFxuICAgICAgICBsb2FkZXI6ICdqcycsXG4gICAgICB9LFxuICAgICAgYWJzV29ya2luZ0RpcjogdGVzdFJvb3QsXG4gICAgICBidW5kbGU6IHRydWUsXG4gICAgICBmb3JtYXQ6ICdjanMnLFxuICAgICAgcGxhdGZvcm06ICdub2RlJyxcbiAgICAgIHdyaXRlOiBmYWxzZSxcbiAgICAgIHRyZWVTaGFraW5nOiB0cnVlLFxuICAgICAgcGx1Z2luczogW1xuICAgICAgICBjcmVhdGVTd2NQbHVnaW4oe1xuICAgICAgICAgIG1vZGU6ICd3b3JrZmxvdycsXG4gICAgICAgICAgc2lkZUVmZmVjdEVudHJpZXM6IFtlbnRyeVBhdGhdLFxuICAgICAgICB9KSxcbiAgICAgIF0sXG4gICAgfSk7XG5cbiAgICBleHBlY3QocmVzdWx0LmVycm9ycykudG9IYXZlTGVuZ3RoKDApO1xuICAgIC8vIE5vIFwiaWdub3JlZC1iYXJlLWltcG9ydFwiIHdhcm5pbmdzIHNob3VsZCBiZSBwcm9kdWNlZFxuICAgIGNvbnN0IHNpZGVFZmZlY3RXYXJuaW5ncyA9IHJlc3VsdC53YXJuaW5ncy5maWx0ZXIoXG4gICAgICAodykgPT4gdy5pZCA9PT0gJ2lnbm9yZWQtYmFyZS1pbXBvcnQnXG4gICAgKTtcbiAgICBleHBlY3Qoc2lkZUVmZmVjdFdhcm5pbmdzKS50b0hhdmVMZW5ndGgoMCk7XG4gIH0pO1xuXG4gIGl0KCdwcmVzZXJ2ZXMgYmFyZSBpbXBvcnRzIHdpdGggZW50cmllc1RvQnVuZGxlIGFuZCBzaWRlRWZmZWN0RW50cmllcyB0b2dldGhlcicsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBzaWRlRWZmZWN0Q29kZSA9XG4gICAgICAnZ2xvYmFsVGhpcy5fX3JlZ2lzdGVyZWQgPSBnbG9iYWxUaGlzLl9fcmVnaXN0ZXJlZCB8fCBbXTtcXG5nbG9iYWxUaGlzLl9fcmVnaXN0ZXJlZC5wdXNoKFwiYnVuZGxlZC1wa2dcIik7JztcbiAgICBjb25zdCBlbnRyeVBhdGggPSBjcmVhdGVTaWRlRWZmZWN0c0ZhbHNlUGFja2FnZShcbiAgICAgICdteS1idW5kbGVkLXBrZycsXG4gICAgICBzaWRlRWZmZWN0Q29kZVxuICAgICk7XG5cbiAgICBhcHBseVN3Y1RyYW5zZm9ybU1vY2subW9ja0ltcGxlbWVudGF0aW9uKFxuICAgICAgYXN5bmMgKF9maWxlbmFtZTogc3RyaW5nLCBzb3VyY2U6IHN0cmluZykgPT4gKHtcbiAgICAgICAgY29kZTogc291cmNlLFxuICAgICAgICB3b3JrZmxvd01hbmlmZXN0OiB7fSxcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIGNvbnN0IG91dGRpciA9IGpvaW4odGVzdFJvb3QsICdvdXQnKTtcbiAgICBjb25zdCBzdGVwRmlsZSA9IGpvaW4odGVzdFJvb3QsICdzcmMnLCAnc3RlcC50cycpO1xuICAgIHdyaXRlRmlsZShcbiAgICAgIHN0ZXBGaWxlLFxuICAgICAgYGltcG9ydCAnbXktYnVuZGxlZC1wa2cnO1xcbmV4cG9ydCBjb25zdCBQT1NUID0gKCkgPT4ge307YFxuICAgICk7XG5cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBlc2J1aWxkLmJ1aWxkKHtcbiAgICAgIGVudHJ5UG9pbnRzOiBbc3RlcEZpbGVdLFxuICAgICAgYWJzV29ya2luZ0RpcjogdGVzdFJvb3QsXG4gICAgICBvdXRkaXIsXG4gICAgICBidW5kbGU6IHRydWUsXG4gICAgICBmb3JtYXQ6ICdlc20nLFxuICAgICAgcGxhdGZvcm06ICdub2RlJyxcbiAgICAgIHdyaXRlOiBmYWxzZSxcbiAgICAgIHRyZWVTaGFraW5nOiB0cnVlLFxuICAgICAgbG9nTGV2ZWw6ICdzaWxlbnQnLFxuICAgICAgcGx1Z2luczogW1xuICAgICAgICBjcmVhdGVTd2NQbHVnaW4oe1xuICAgICAgICAgIG1vZGU6ICdzdGVwJyxcbiAgICAgICAgICBlbnRyaWVzVG9CdW5kbGU6IFtzdGVwRmlsZSwgZW50cnlQYXRoXSxcbiAgICAgICAgICBvdXRkaXIsXG4gICAgICAgICAgc2lkZUVmZmVjdEVudHJpZXM6IFtlbnRyeVBhdGhdLFxuICAgICAgICB9KSxcbiAgICAgIF0sXG4gICAgfSk7XG5cbiAgICBleHBlY3QocmVzdWx0LmVycm9ycykudG9IYXZlTGVuZ3RoKDApO1xuICAgIGNvbnN0IG91dHB1dCA9IHJlc3VsdC5vdXRwdXRGaWxlc1swXS50ZXh0O1xuICAgIC8vIFRoZSByZWdpc3RyYXRpb24gY29kZSBzaG91bGQgYmUgYnVuZGxlZCBpblxuICAgIGV4cGVjdChvdXRwdXQpLnRvQ29udGFpbignX19yZWdpc3RlcmVkJyk7XG4gIH0pO1xuXG4gIGl0KCdwcmVzZXJ2ZXMgYmFyZSBpbXBvcnRzIGZvciBsb2NhbCBmaWxlcyB3aXRoIHNpZGVFZmZlY3RzOmZhbHNlIGluIHRoZWlyIHBhcmVudCBwYWNrYWdlLmpzb24nLCBhc3luYyAoKSA9PiB7XG4gICAgLy8gU2ltdWxhdGUgYSB3b3Jrc3BhY2UgcGFja2FnZSB3aXRoIHNpZGVFZmZlY3RzOiBmYWxzZVxuICAgIGNvbnN0IHBrZ0RpciA9IGpvaW4odGVzdFJvb3QsICdwYWNrYWdlcycsICdzaGFyZWQnKTtcbiAgICB3cml0ZUZpbGUoXG4gICAgICBqb2luKHBrZ0RpciwgJ3BhY2thZ2UuanNvbicpLFxuICAgICAgSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICBuYW1lOiAnQG15b3JnL3NoYXJlZCcsXG4gICAgICAgIHZlcnNpb246ICcxLjAuMCcsXG4gICAgICAgIHNpZGVFZmZlY3RzOiBmYWxzZSxcbiAgICAgICAgbWFpbjogJ2luZGV4LmpzJyxcbiAgICAgIH0pXG4gICAgKTtcbiAgICBjb25zdCBzaGFyZWRFbnRyeSA9IGpvaW4ocGtnRGlyLCAnaW5kZXguanMnKTtcbiAgICB3cml0ZUZpbGUoc2hhcmVkRW50cnksICdnbG9iYWxUaGlzLl9fc2hhcmVkUmVnaXN0ZXJlZCA9IHRydWU7Jyk7XG5cbiAgICBhcHBseVN3Y1RyYW5zZm9ybU1vY2subW9ja0ltcGxlbWVudGF0aW9uKFxuICAgICAgYXN5bmMgKF9maWxlbmFtZTogc3RyaW5nLCBzb3VyY2U6IHN0cmluZykgPT4gKHtcbiAgICAgICAgY29kZTogc291cmNlLFxuICAgICAgICB3b3JrZmxvd01hbmlmZXN0OiB7fSxcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIC8vIFVzZSBhIHJlbGF0aXZlIGltcG9ydCB0byB0aGUgbG9jYWwgZmlsZSAobGlrZSB0aGUgdmlydHVhbCBlbnRyeSBkb2VzIGZvciBsb2NhbCBmaWxlcylcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBlc2J1aWxkLmJ1aWxkKHtcbiAgICAgIHN0ZGluOiB7XG4gICAgICAgIGNvbnRlbnRzOiBgaW1wb3J0ICcuL3BhY2thZ2VzL3NoYXJlZC9pbmRleC5qcyc7YCxcbiAgICAgICAgcmVzb2x2ZURpcjogdGVzdFJvb3QsXG4gICAgICAgIHNvdXJjZWZpbGU6ICd2aXJ0dWFsLWVudHJ5LmpzJyxcbiAgICAgICAgbG9hZGVyOiAnanMnLFxuICAgICAgfSxcbiAgICAgIGFic1dvcmtpbmdEaXI6IHRlc3RSb290LFxuICAgICAgYnVuZGxlOiB0cnVlLFxuICAgICAgZm9ybWF0OiAnY2pzJyxcbiAgICAgIHBsYXRmb3JtOiAnbm9kZScsXG4gICAgICB3cml0ZTogZmFsc2UsXG4gICAgICB0cmVlU2hha2luZzogdHJ1ZSxcbiAgICAgIGxvZ0xldmVsOiAnc2lsZW50JyxcbiAgICAgIHBsdWdpbnM6IFtcbiAgICAgICAgY3JlYXRlU3djUGx1Z2luKHtcbiAgICAgICAgICBtb2RlOiAnd29ya2Zsb3cnLFxuICAgICAgICAgIHNpZGVFZmZlY3RFbnRyaWVzOiBbc2hhcmVkRW50cnldLFxuICAgICAgICB9KSxcbiAgICAgIF0sXG4gICAgfSk7XG5cbiAgICBleHBlY3QocmVzdWx0LmVycm9ycykudG9IYXZlTGVuZ3RoKDApO1xuICAgIGNvbnN0IG91dHB1dCA9IHJlc3VsdC5vdXRwdXRGaWxlc1swXS50ZXh0O1xuICAgIGV4cGVjdChvdXRwdXQpLnRvQ29udGFpbignX19zaGFyZWRSZWdpc3RlcmVkJyk7XG4gIH0pO1xuXG4gIGl0KCdkb2VzIG5vdCBvdmVycmlkZSBzaWRlRWZmZWN0cyBmb3Igbm9uLWVudHJ5IG1vZHVsZXMnLCBhc3luYyAoKSA9PiB7XG4gICAgLy8gQ3JlYXRlIHR3byBwYWNrYWdlcyAtIG9uZSBpcyBhIHNpZGUtZWZmZWN0IGVudHJ5LCBvbmUgaXMgbm90XG4gICAgY29uc3Qgc2lkZUVmZmVjdENvZGUgPSAnZ2xvYmFsVGhpcy5fX2VudHJ5UmVnaXN0ZXJlZCA9IHRydWU7JztcbiAgICBjb25zdCBlbnRyeVBhdGggPSBjcmVhdGVTaWRlRWZmZWN0c0ZhbHNlUGFja2FnZShcbiAgICAgICdlbnRyeS1wa2cnLFxuICAgICAgc2lkZUVmZmVjdENvZGVcbiAgICApO1xuXG4gICAgY29uc3Qgbm9uRW50cnlDb2RlID0gJ2dsb2JhbFRoaXMuX19ub25FbnRyeVJlZ2lzdGVyZWQgPSB0cnVlOyc7XG4gICAgY3JlYXRlU2lkZUVmZmVjdHNGYWxzZVBhY2thZ2UoJ25vbi1lbnRyeS1wa2cnLCBub25FbnRyeUNvZGUpO1xuXG4gICAgYXBwbHlTd2NUcmFuc2Zvcm1Nb2NrLm1vY2tJbXBsZW1lbnRhdGlvbihcbiAgICAgIGFzeW5jIChfZmlsZW5hbWU6IHN0cmluZywgc291cmNlOiBzdHJpbmcpID0+ICh7XG4gICAgICAgIGNvZGU6IHNvdXJjZSxcbiAgICAgICAgd29ya2Zsb3dNYW5pZmVzdDoge30sXG4gICAgICB9KVxuICAgICk7XG5cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBlc2J1aWxkLmJ1aWxkKHtcbiAgICAgIHN0ZGluOiB7XG4gICAgICAgIGNvbnRlbnRzOiBgaW1wb3J0ICdlbnRyeS1wa2cnO1xcbmltcG9ydCAnbm9uLWVudHJ5LXBrZyc7YCxcbiAgICAgICAgcmVzb2x2ZURpcjogdGVzdFJvb3QsXG4gICAgICAgIHNvdXJjZWZpbGU6ICd2aXJ0dWFsLWVudHJ5LmpzJyxcbiAgICAgICAgbG9hZGVyOiAnanMnLFxuICAgICAgfSxcbiAgICAgIGFic1dvcmtpbmdEaXI6IHRlc3RSb290LFxuICAgICAgYnVuZGxlOiB0cnVlLFxuICAgICAgZm9ybWF0OiAnY2pzJyxcbiAgICAgIHBsYXRmb3JtOiAnbm9kZScsXG4gICAgICB3cml0ZTogZmFsc2UsXG4gICAgICB0cmVlU2hha2luZzogdHJ1ZSxcbiAgICAgIGxvZ0xldmVsOiAnc2lsZW50JyxcbiAgICAgIHBsdWdpbnM6IFtcbiAgICAgICAgY3JlYXRlU3djUGx1Z2luKHtcbiAgICAgICAgICBtb2RlOiAnd29ya2Zsb3cnLFxuICAgICAgICAgIC8vIE9ubHkgZW50cnktcGtnIGlzIGxpc3RlZCwgbm9uLWVudHJ5LXBrZyBpcyBub3RcbiAgICAgICAgICBzaWRlRWZmZWN0RW50cmllczogW2VudHJ5UGF0aF0sXG4gICAgICAgIH0pLFxuICAgICAgXSxcbiAgICB9KTtcblxuICAgIGV4cGVjdChyZXN1bHQuZXJyb3JzKS50b0hhdmVMZW5ndGgoMCk7XG4gICAgY29uc3Qgb3V0cHV0ID0gcmVzdWx0Lm91dHB1dEZpbGVzWzBdLnRleHQ7XG4gICAgLy8gZW50cnktcGtnIHNob3VsZCBiZSBwcmVzZXJ2ZWRcbiAgICBleHBlY3Qob3V0cHV0KS50b0NvbnRhaW4oJ19fZW50cnlSZWdpc3RlcmVkJyk7XG4gICAgLy8gbm9uLWVudHJ5LXBrZyBzaG91bGQgYmUgZHJvcHBlZCAoc2lkZUVmZmVjdHM6IGZhbHNlIGlzIHJlc3BlY3RlZClcbiAgICBleHBlY3Qob3V0cHV0KS5ub3QudG9Db250YWluKCdfX25vbkVudHJ5UmVnaXN0ZXJlZCcpO1xuICB9KTtcbn0pO1xuXG5kZXNjcmliZSgnY3JlYXRlU3djUGx1Z2luIHByb2plY3RSb290JywgKCkgPT4ge1xuICBsZXQgdGVzdFJvb3Q6IHN0cmluZztcblxuICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICB0ZXN0Um9vdCA9IG1rZHRlbXBTeW5jKGpvaW4ocmVhbFRtcGRpciwgJ3dvcmtmbG93LXN3Yy1wbHVnaW4tJykpO1xuICAgIGFwcGx5U3djVHJhbnNmb3JtTW9jay5tb2NrUmVzZXQoKTtcbiAgICBhcHBseVN3Y1RyYW5zZm9ybU1vY2subW9ja0ltcGxlbWVudGF0aW9uKFxuICAgICAgYXN5bmMgKF9maWxlbmFtZTogc3RyaW5nLCBzb3VyY2U6IHN0cmluZykgPT4gKHtcbiAgICAgICAgY29kZTogc291cmNlLFxuICAgICAgICB3b3JrZmxvd01hbmlmZXN0OiB7fSxcbiAgICAgIH0pXG4gICAgKTtcbiAgfSk7XG5cbiAgYWZ0ZXJFYWNoKCgpID0+IHtcbiAgICBybVN5bmModGVzdFJvb3QsIHsgcmVjdXJzaXZlOiB0cnVlLCBmb3JjZTogdHJ1ZSB9KTtcbiAgfSk7XG5cbiAgZnVuY3Rpb24gc2V0dXBGaXh0dXJlKCkge1xuICAgIGNvbnN0IGFwcFJvb3QgPSBqb2luKHRlc3RSb290LCAnYXBwcycsICdjaGF0Jyk7XG4gICAgY29uc3QgcGFja2FnZVJvb3QgPSBqb2luKHRlc3RSb290LCAncGFja2FnZXMnLCAndmFkZScpO1xuICAgIGNvbnN0IHdvcmtmbG93RmlsZSA9IGpvaW4oXG4gICAgICBwYWNrYWdlUm9vdCxcbiAgICAgICdzcmMnLFxuICAgICAgJ2ludGVybmFsJyxcbiAgICAgICdtZXNzYWdlJyxcbiAgICAgICd3b3JrZmxvdycsXG4gICAgICAnaGFuZGxlLW1lc3NhZ2UudHMnXG4gICAgKTtcblxuICAgIHdyaXRlRmlsZShcbiAgICAgIHdvcmtmbG93RmlsZSxcbiAgICAgIGBleHBvcnQgYXN5bmMgZnVuY3Rpb24gaGFuZGxlTWVzc2FnZVdvcmtmbG93KG1lc3NhZ2UpIHtcbiAgXCJ1c2Ugd29ya2Zsb3dcIjtcblxuICByZXR1cm4gbWVzc2FnZTtcbn1cbmBcbiAgICApO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGFwcFJvb3QsXG4gICAgICBwYWNrYWdlUm9vdCxcbiAgICAgIHdvcmtmbG93RmlsZSxcbiAgICB9O1xuICB9XG5cbiAgaXQoJ3Bhc3NlcyB0aGUgZXhwbGljaXQgcHJvamVjdFJvb3QgdGhyb3VnaCB0byBhcHBseVN3Y1RyYW5zZm9ybScsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBmaXh0dXJlID0gc2V0dXBGaXh0dXJlKCk7XG5cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBlc2J1aWxkLmJ1aWxkKHtcbiAgICAgIGVudHJ5UG9pbnRzOiBbZml4dHVyZS53b3JrZmxvd0ZpbGVdLFxuICAgICAgYWJzV29ya2luZ0RpcjogZml4dHVyZS5wYWNrYWdlUm9vdCxcbiAgICAgIGJ1bmRsZTogdHJ1ZSxcbiAgICAgIGZvcm1hdDogJ2VzbScsXG4gICAgICBwbGF0Zm9ybTogJ25vZGUnLFxuICAgICAgd3JpdGU6IGZhbHNlLFxuICAgICAgcGx1Z2luczogW1xuICAgICAgICBjcmVhdGVTd2NQbHVnaW4oe1xuICAgICAgICAgIG1vZGU6ICd3b3JrZmxvdycsXG4gICAgICAgICAgcHJvamVjdFJvb3Q6IGZpeHR1cmUuYXBwUm9vdCxcbiAgICAgICAgICB3b3JrZmxvd01hbmlmZXN0OiB7fSxcbiAgICAgICAgfSksXG4gICAgICBdLFxuICAgIH0pO1xuXG4gICAgZXhwZWN0KHJlc3VsdC5lcnJvcnMpLnRvSGF2ZUxlbmd0aCgwKTtcbiAgICBleHBlY3QoYXBwbHlTd2NUcmFuc2Zvcm1Nb2NrKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChcbiAgICAgICdzcmMvaW50ZXJuYWwvbWVzc2FnZS93b3JrZmxvdy9oYW5kbGUtbWVzc2FnZS50cycsXG4gICAgICBleHBlY3Quc3RyaW5nQ29udGFpbmluZygnXCJ1c2Ugd29ya2Zsb3dcIicpLFxuICAgICAgJ3dvcmtmbG93JyxcbiAgICAgIGZpeHR1cmUud29ya2Zsb3dGaWxlLFxuICAgICAgZml4dHVyZS5hcHBSb290XG4gICAgKTtcbiAgfSk7XG5cbiAgaXQoJ2RlZmF1bHRzIHRoZSB0cmFuc2Zvcm0gcHJvamVjdFJvb3QgdG8gYWJzV29ya2luZ0RpcicsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBmaXh0dXJlID0gc2V0dXBGaXh0dXJlKCk7XG5cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBlc2J1aWxkLmJ1aWxkKHtcbiAgICAgIGVudHJ5UG9pbnRzOiBbZml4dHVyZS53b3JrZmxvd0ZpbGVdLFxuICAgICAgYWJzV29ya2luZ0RpcjogZml4dHVyZS5wYWNrYWdlUm9vdCxcbiAgICAgIGJ1bmRsZTogdHJ1ZSxcbiAgICAgIGZvcm1hdDogJ2VzbScsXG4gICAgICBwbGF0Zm9ybTogJ25vZGUnLFxuICAgICAgd3JpdGU6IGZhbHNlLFxuICAgICAgcGx1Z2luczogW1xuICAgICAgICBjcmVhdGVTd2NQbHVnaW4oe1xuICAgICAgICAgIG1vZGU6ICd3b3JrZmxvdycsXG4gICAgICAgICAgd29ya2Zsb3dNYW5pZmVzdDoge30sXG4gICAgICAgIH0pLFxuICAgICAgXSxcbiAgICB9KTtcblxuICAgIGV4cGVjdChyZXN1bHQuZXJyb3JzKS50b0hhdmVMZW5ndGgoMCk7XG4gICAgZXhwZWN0KGFwcGx5U3djVHJhbnNmb3JtTW9jaykudG9IYXZlQmVlbkNhbGxlZFdpdGgoXG4gICAgICAnc3JjL2ludGVybmFsL21lc3NhZ2Uvd29ya2Zsb3cvaGFuZGxlLW1lc3NhZ2UudHMnLFxuICAgICAgZXhwZWN0LnN0cmluZ0NvbnRhaW5pbmcoJ1widXNlIHdvcmtmbG93XCInKSxcbiAgICAgICd3b3JrZmxvdycsXG4gICAgICBmaXh0dXJlLndvcmtmbG93RmlsZSxcbiAgICAgIGZpeHR1cmUucGFja2FnZVJvb3RcbiAgICApO1xuICB9KTtcbn0pO1xuIl19
@@ -74,4 +74,4 @@ export function shouldTransformFile(filePath, patterns) {
74
74
  * and WORKFLOW_SERIALIZE/WORKFLOW_DESERIALIZE computed property usage
75
75
  */
76
76
  export const turbopackContentPattern = /(use workflow|use step|from\s+(['"])@workflow\/serde\2|Symbol\.for\s*\(\s*(['"])workflow-(?:serialize|deserialize)\3\s*\)|\[\s*WORKFLOW_(?:SERIALIZE|DESERIALIZE)\s*\])/;
77
- //# sourceMappingURL=transform-utils.js.map
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmb3JtLXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3RyYW5zZm9ybS11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCwwR0FBMEc7QUFDMUcsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsaUNBQWlDLENBQUM7QUFDcEUsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLDZCQUE2QixDQUFDO0FBRTVELDBFQUEwRTtBQUMxRSw4REFBOEQ7QUFDOUQsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsaUNBQWlDLENBQUM7QUFFNUUsaUdBQWlHO0FBQ2pHLG9FQUFvRTtBQUNwRSxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FDckMsb0VBQW9FLENBQUM7QUFFdkUseUZBQXlGO0FBQ3pGLHNEQUFzRDtBQUN0RCwyRkFBMkY7QUFDM0YsTUFBTSxDQUFDLE1BQU0sb0NBQW9DLEdBQy9DLDhDQUE4QyxDQUFDO0FBRWpELDJFQUEyRTtBQUMzRSxnRkFBZ0Y7QUFDaEYsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQ3ZDLHFDQUFxQyxDQUFDO0FBb0J4Qzs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLHNCQUFzQixDQUFDLE1BQWM7SUFDbkQsTUFBTSxjQUFjLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZELE1BQU0sVUFBVSxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDL0MsTUFBTSxjQUFjLEdBQUcsMEJBQTBCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQy9ELE1BQU0sY0FBYyxHQUFHLDBCQUEwQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMvRCxNQUFNLHdCQUF3QixHQUM1QixvQ0FBb0MsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFcEQsT0FBTztRQUNMLGNBQWM7UUFDZCxVQUFVO1FBQ1YsY0FBYztRQUNkLGNBQWM7UUFDZCxZQUFZLEVBQUUsY0FBYyxJQUFJLFVBQVU7UUFDMUMsUUFBUSxFQUFFLGNBQWMsSUFBSSxjQUFjLElBQUksd0JBQXdCO0tBQ3ZFLENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSx1QkFBdUIsQ0FBQyxRQUFnQjtJQUN0RCxPQUFPLDRCQUE0QixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUNyRCxDQUFDO0FBRUQ7Ozs7Ozs7Ozs7Ozs7R0FhRztBQUNILE1BQU0sVUFBVSxtQkFBbUIsQ0FDakMsUUFBZ0IsRUFDaEIsUUFBOEI7SUFFOUIsaURBQWlEO0lBQ2pELElBQUksdUJBQXVCLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztRQUN0QyxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxPQUFPLFFBQVEsQ0FBQyxZQUFZLElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQztBQUNwRCxDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FDbEMseUtBQXlLLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFNoYXJlZCB1dGlsaXRpZXMgZm9yIGRldGVjdGluZyBmaWxlcyB0aGF0IG5lZWQgd29ya2Zsb3cgdHJhbnNmb3JtYXRpb24uXG4gKiBVc2VkIGJ5IGJ1aWxkZXJzLCByb2xsdXAgcGx1Z2luLCBOZXh0LmpzIGxvYWRlciwgYW5kIHZpdGUgcGx1Z2luLlxuICovXG5cbi8vIE1hdGNoZXM6ICd1c2Ugd29ya2Zsb3cnOyBcInVzZSB3b3JrZmxvd1wiOyAndXNlIHN0ZXAnOyBcInVzZSBzdGVwXCI7IGF0IGxpbmUgc3RhcnQgd2l0aCBvcHRpb25hbCB3aGl0ZXNwYWNlXG5leHBvcnQgY29uc3QgdXNlV29ya2Zsb3dQYXR0ZXJuID0gL15cXHMqKFsnXCJdKXVzZSB3b3JrZmxvd1xcMTs/XFxzKiQvbTtcbmV4cG9ydCBjb25zdCB1c2VTdGVwUGF0dGVybiA9IC9eXFxzKihbJ1wiXSl1c2Ugc3RlcFxcMTs/XFxzKiQvbTtcblxuLy8gTWF0Y2hlcyBpbXBvcnRzIGZyb20gJ0B3b3JrZmxvdy9zZXJkZScgKGZvciBjdXN0b20gY2xhc3Mgc2VyaWFsaXphdGlvbilcbi8vIGUuZy46IGltcG9ydCB7IFdPUktGTE9XX1NFUklBTElaRSB9IGZyb20gJ0B3b3JrZmxvdy9zZXJkZSc7XG5leHBvcnQgY29uc3Qgd29ya2Zsb3dTZXJkZUltcG9ydFBhdHRlcm4gPSAvZnJvbVxccysoWydcIl0pQHdvcmtmbG93XFwvc2VyZGVcXDEvO1xuXG4vLyBNYXRjaGVzIGRpcmVjdCB1c2FnZSBvZiBTeW1ib2wuZm9yKCd3b3JrZmxvdy1zZXJpYWxpemUnKSBvciBTeW1ib2wuZm9yKCd3b3JrZmxvdy1kZXNlcmlhbGl6ZScpXG4vLyBlLmcuOiBzdGF0aWMgW1N5bWJvbC5mb3IoJ3dvcmtmbG93LXNlcmlhbGl6ZScpXShpbnN0YW5jZSkgeyAuLi4gfVxuZXhwb3J0IGNvbnN0IHdvcmtmbG93U2VyZGVTeW1ib2xQYXR0ZXJuID1cbiAgL1N5bWJvbFxcLmZvclxccypcXChcXHMqKFsnXCJdKXdvcmtmbG93LSg/OnNlcmlhbGl6ZXxkZXNlcmlhbGl6ZSlcXDFcXHMqXFwpLztcblxuLy8gTWF0Y2hlcyB1c2FnZSBvZiBXT1JLRkxPV19TRVJJQUxJWkUgb3IgV09SS0ZMT1dfREVTRVJJQUxJWkUgYXMgY29tcHV0ZWQgcHJvcGVydHkgbmFtZXNcbi8vIGUuZy46IHN0YXRpYyBbV09SS0ZMT1dfU0VSSUFMSVpFXShpbnN0YW5jZSkgeyAuLi4gfVxuLy8gVGhpcyBjYXRjaGVzIGNhc2VzIHdoZXJlIHRoZSBzeW1ib2xzIGFyZSBpbXBvcnRlZCBhbmQgdXNlZCAoZXZlbiBpZiBidW5kbGVkL3JlLWV4cG9ydGVkKVxuZXhwb3J0IGNvbnN0IHdvcmtmbG93U2VyZGVDb21wdXRlZFByb3BlcnR5UGF0dGVybiA9XG4gIC9cXFtcXHMqV09SS0ZMT1dfKD86U0VSSUFMSVpFfERFU0VSSUFMSVpFKVxccypcXF0vO1xuXG4vLyBQYXR0ZXJuIHRvIGRldGVjdCBnZW5lcmF0ZWQgd29ya2Zsb3cgcm91dGUgZmlsZXMgdGhhdCBzaG91bGQgYmUgZXhjbHVkZWRcbi8vIFRoZXNlIGZpbGVzIGFyZSBnZW5lcmF0ZWQgYnkgdGhlIGJ1aWxkIHByb2Nlc3MgYW5kIHNob3VsZCBub3QgYmUgcmUtcHJvY2Vzc2VkXG5leHBvcnQgY29uc3QgZ2VuZXJhdGVkV29ya2Zsb3dQYXRoUGF0dGVybiA9XG4gIC9bL1xcXFxdXFwud2VsbC1rbm93blsvXFxcXF13b3JrZmxvd1svXFxcXF0vO1xuXG4vKipcbiAqIERldGVjdHMgd29ya2Zsb3ctcmVsYXRlZCBwYXR0ZXJucyBpbiBzb3VyY2UgY29kZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBXb3JrZmxvd1BhdHRlcm5NYXRjaCB7XG4gIC8qKiBGaWxlIGNvbnRhaW5zICd1c2Ugd29ya2Zsb3cnIGRpcmVjdGl2ZSAqL1xuICBoYXNVc2VXb3JrZmxvdzogYm9vbGVhbjtcbiAgLyoqIEZpbGUgY29udGFpbnMgJ3VzZSBzdGVwJyBkaXJlY3RpdmUgKi9cbiAgaGFzVXNlU3RlcDogYm9vbGVhbjtcbiAgLyoqIEZpbGUgY29udGFpbnMgQHdvcmtmbG93L3NlcmRlIGltcG9ydCAqL1xuICBoYXNTZXJkZUltcG9ydDogYm9vbGVhbjtcbiAgLyoqIEZpbGUgY29udGFpbnMgU3ltYm9sLmZvcignd29ya2Zsb3ctc2VyaWFsaXplJykgb3IgU3ltYm9sLmZvcignd29ya2Zsb3ctZGVzZXJpYWxpemUnKSAqL1xuICBoYXNTZXJkZVN5bWJvbDogYm9vbGVhbjtcbiAgLyoqIEZpbGUgY29udGFpbnMgYW55IGRpcmVjdGl2ZSAoJ3VzZSB3b3JrZmxvdycgb3IgJ3VzZSBzdGVwJykgKi9cbiAgaGFzRGlyZWN0aXZlOiBib29sZWFuO1xuICAvKiogRmlsZSBjb250YWlucyBhbnkgc2VyZGUgcGF0dGVybiAoaW1wb3J0IG9yIFN5bWJvbC5mb3IpICovXG4gIGhhc1NlcmRlOiBib29sZWFuO1xufVxuXG4vKipcbiAqIERldGVjdHMgd29ya2Zsb3ctcmVsYXRlZCBwYXR0ZXJucyBpbiBzb3VyY2UgY29kZS5cbiAqIEBwYXJhbSBzb3VyY2UgLSBUaGUgc291cmNlIGNvZGUgdG8gYW5hbHl6ZVxuICogQHJldHVybnMgT2JqZWN0IHdpdGggZmxhZ3MgZm9yIGVhY2ggZGV0ZWN0ZWQgcGF0dGVyblxuICovXG5leHBvcnQgZnVuY3Rpb24gZGV0ZWN0V29ya2Zsb3dQYXR0ZXJucyhzb3VyY2U6IHN0cmluZyk6IFdvcmtmbG93UGF0dGVybk1hdGNoIHtcbiAgY29uc3QgaGFzVXNlV29ya2Zsb3cgPSB1c2VXb3JrZmxvd1BhdHRlcm4udGVzdChzb3VyY2UpO1xuICBjb25zdCBoYXNVc2VTdGVwID0gdXNlU3RlcFBhdHRlcm4udGVzdChzb3VyY2UpO1xuICBjb25zdCBoYXNTZXJkZUltcG9ydCA9IHdvcmtmbG93U2VyZGVJbXBvcnRQYXR0ZXJuLnRlc3Qoc291cmNlKTtcbiAgY29uc3QgaGFzU2VyZGVTeW1ib2wgPSB3b3JrZmxvd1NlcmRlU3ltYm9sUGF0dGVybi50ZXN0KHNvdXJjZSk7XG4gIGNvbnN0IGhhc1NlcmRlQ29tcHV0ZWRQcm9wZXJ0eSA9XG4gICAgd29ya2Zsb3dTZXJkZUNvbXB1dGVkUHJvcGVydHlQYXR0ZXJuLnRlc3Qoc291cmNlKTtcblxuICByZXR1cm4ge1xuICAgIGhhc1VzZVdvcmtmbG93LFxuICAgIGhhc1VzZVN0ZXAsXG4gICAgaGFzU2VyZGVJbXBvcnQsXG4gICAgaGFzU2VyZGVTeW1ib2wsXG4gICAgaGFzRGlyZWN0aXZlOiBoYXNVc2VXb3JrZmxvdyB8fCBoYXNVc2VTdGVwLFxuICAgIGhhc1NlcmRlOiBoYXNTZXJkZUltcG9ydCB8fCBoYXNTZXJkZVN5bWJvbCB8fCBoYXNTZXJkZUNvbXB1dGVkUHJvcGVydHksXG4gIH07XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lcyBpZiBhIGZpbGUgcGF0aCBpcyBhIGdlbmVyYXRlZCB3b3JrZmxvdyByb3V0ZSBmaWxlLlxuICogQHBhcmFtIGZpbGVQYXRoIC0gVGhlIGZpbGUgcGF0aCB0byBjaGVja1xuICogQHJldHVybnMgdHJ1ZSBpZiB0aGUgZmlsZSBpcyBhIGdlbmVyYXRlZCB3b3JrZmxvdyByb3V0ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNHZW5lcmF0ZWRXb3JrZmxvd0ZpbGUoZmlsZVBhdGg6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gZ2VuZXJhdGVkV29ya2Zsb3dQYXRoUGF0dGVybi50ZXN0KGZpbGVQYXRoKTtcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmVzIGlmIGEgZmlsZSBzaG91bGQgYmUgdHJhbnNmb3JtZWQgYmFzZWQgb24gaXRzIHBhdGggYW5kIGNvbnRlbnQgcGF0dGVybnMuXG4gKlxuICogTG9naWM6XG4gKiAtIEdlbmVyYXRlZCB3b3JrZmxvdyByb3V0ZSBmaWxlcyBhcmUgbmV2ZXIgdHJhbnNmb3JtZWRcbiAqIC0gRmlsZXMgd2l0aCBkaXJlY3RpdmVzICgndXNlIHdvcmtmbG93JyBvciAndXNlIHN0ZXAnKSBhcmUgYWx3YXlzIHRyYW5zZm9ybWVkXG4gKiAtIEZpbGVzIHdpdGggc2VyZGUgcGF0dGVybnMgYXJlIGFsd2F5cyB0cmFuc2Zvcm1lZDsgdGhlIFNXQyBwbHVnaW4gcGVyZm9ybXNcbiAqICAgQVNULWxldmVsIGV4dHJhY3Rpb24vZmlsdGVyaW5nIHRvIGRldGVybWluZSB3aGV0aGVyIHRoZXkgYWN0dWFsbHkgZGVmaW5lXG4gKiAgIHNlcmRlIGNsYXNzZXNcbiAqXG4gKiBAcGFyYW0gZmlsZVBhdGggLSBUaGUgZmlsZSBwYXRoIHRvIGNoZWNrXG4gKiBAcGFyYW0gcGF0dGVybnMgLSBUaGUgZGV0ZWN0ZWQgcGF0dGVybnMgZnJvbSBkZXRlY3RXb3JrZmxvd1BhdHRlcm5zKClcbiAqIEByZXR1cm5zIHRydWUgaWYgdGhlIGZpbGUgc2hvdWxkIGJlIHRyYW5zZm9ybWVkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzaG91bGRUcmFuc2Zvcm1GaWxlKFxuICBmaWxlUGF0aDogc3RyaW5nLFxuICBwYXR0ZXJuczogV29ya2Zsb3dQYXR0ZXJuTWF0Y2hcbik6IGJvb2xlYW4ge1xuICAvLyBOZXZlciB0cmFuc2Zvcm0gZ2VuZXJhdGVkIHdvcmtmbG93IHJvdXRlIGZpbGVzXG4gIGlmIChpc0dlbmVyYXRlZFdvcmtmbG93RmlsZShmaWxlUGF0aCkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gcGF0dGVybnMuaGFzRGlyZWN0aXZlIHx8IHBhdHRlcm5zLmhhc1NlcmRlO1xufVxuXG4vKipcbiAqIENvbWJpbmVkIHJlZ2V4IHBhdHRlcm4gZm9yIHR1cmJvcGFjayBjb250ZW50IG1hdGNoaW5nLlxuICogVXNlcyBiYWNrcmVmZXJlbmNlcyB0byBlbnN1cmUgbWF0Y2hpbmcgcXVvdGUgdHlwZXMuXG4gKiBNYXRjaGVzOiAndXNlIHdvcmtmbG93JywgJ3VzZSBzdGVwJywgQHdvcmtmbG93L3NlcmRlIGltcG9ydHMsIFN5bWJvbC5mb3Igc2VyaWFsaXphdGlvbiBzeW1ib2xzLFxuICogYW5kIFdPUktGTE9XX1NFUklBTElaRS9XT1JLRkxPV19ERVNFUklBTElaRSBjb21wdXRlZCBwcm9wZXJ0eSB1c2FnZVxuICovXG5leHBvcnQgY29uc3QgdHVyYm9wYWNrQ29udGVudFBhdHRlcm4gPVxuICAvKHVzZSB3b3JrZmxvd3x1c2Ugc3RlcHxmcm9tXFxzKyhbJ1wiXSlAd29ya2Zsb3dcXC9zZXJkZVxcMnxTeW1ib2xcXC5mb3JcXHMqXFwoXFxzKihbJ1wiXSl3b3JrZmxvdy0oPzpzZXJpYWxpemV8ZGVzZXJpYWxpemUpXFwzXFxzKlxcKXxcXFtcXHMqV09SS0ZMT1dfKD86U0VSSUFMSVpFfERFU0VSSUFMSVpFKVxccypcXF0pLztcbiJdfQ==
@@ -319,4 +319,4 @@ export default function Page() { return null; }
319
319
  });
320
320
  });
321
321
  });
322
- //# sourceMappingURL=transform-utils.test.js.map
322
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmb3JtLXV0aWxzLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHJhbnNmb3JtLXV0aWxzLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzlDLE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsbUJBQW1CLEVBQ25CLGNBQWMsRUFDZCxrQkFBa0IsRUFDbEIsb0NBQW9DLEVBQ3BDLDBCQUEwQixFQUMxQiwwQkFBMEIsR0FDM0IsTUFBTSxzQkFBc0IsQ0FBQztBQUU5QixRQUFRLENBQUMsMEJBQTBCLEVBQUUsR0FBRyxFQUFFO0lBQ3hDLFFBQVEsQ0FBQyxvQkFBb0IsRUFBRSxHQUFHLEVBQUU7UUFDbEMsRUFBRSxDQUFDLGdEQUFnRCxFQUFFLEdBQUcsRUFBRTtZQUN4RCxNQUFNLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDOUQsTUFBTSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9ELENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLGdEQUFnRCxFQUFFLEdBQUcsRUFBRTtZQUN4RCxNQUFNLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDOUQsTUFBTSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9ELENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLHNDQUFzQyxFQUFFLEdBQUcsRUFBRTtZQUM5QyxNQUFNLENBQUMsa0JB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OUMsTUFBTSxDQUNKLG1CQUFtQixDQUFDLHNCQUFzQixFQUFFO2dCQUMxQyxHQUFHLFVBQVU7Z0JBQ2IsY0FBYyxFQUFFLElBQUk7Z0JBQ3BCLFFBQVEsRUFBRSxJQUFJO2FBQ2YsQ0FBQyxDQUNILENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2YsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsK0RBQStELEVBQUUsR0FBRyxFQUFFO1lBQ3ZFLE1BQU0sQ0FDSixtQkFBbUIsQ0FDakIsd0RBQXdELEVBQ3hELEVBQUUsR0FBRyxVQUFVLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQ3hELENBQ0YsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDZixDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQywrREFBK0QsRUFBRSxHQUFHLEVBQUU7WUFDdkUsTUFBTSxDQUFDLG1CQUFtQixDQUFDLG1CQUFtQixFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRlc2NyaWJlLCBleHBlY3QsIGl0IH0gZnJvbSAndml0ZXN0JztcbmltcG9ydCB7XG4gIGRldGVjdFdvcmtmbG93UGF0dGVybnMsXG4gIHNob3VsZFRyYW5zZm9ybUZpbGUsXG4gIHVzZVN0ZXBQYXR0ZXJuLFxuICB1c2VXb3JrZmxvd1BhdHRlcm4sXG4gIHdvcmtmbG93U2VyZGVDb21wdXRlZFByb3BlcnR5UGF0dGVybixcbiAgd29ya2Zsb3dTZXJkZUltcG9ydFBhdHRlcm4sXG4gIHdvcmtmbG93U2VyZGVTeW1ib2xQYXR0ZXJuLFxufSBmcm9tICcuL3RyYW5zZm9ybS11dGlscy5qcyc7XG5cbmRlc2NyaWJlKCd0cmFuc2Zvcm0tdXRpbHMgcGF0dGVybnMnLCAoKSA9PiB7XG4gIGRlc2NyaWJlKCd1c2VXb3JrZmxvd1BhdHRlcm4nLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCBtYXRjaCBcInVzZSB3b3JrZmxvd1wiIHdpdGggc2luZ2xlIHF1b3RlcycsICgpID0+IHtcbiAgICAgIGV4cGVjdCh1c2VXb3JrZmxvd1BhdHRlcm4udGVzdChgJ3VzZSB3b3JrZmxvdyc7YCkpLnRvQmUodHJ1ZSk7XG4gICAgICBleHBlY3QodXNlV29ya2Zsb3dQYXR0ZXJuLnRlc3QoYCd1c2Ugd29ya2Zsb3cnYCkpLnRvQmUodHJ1ZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIG1hdGNoIFwidXNlIHdvcmtmbG93XCIgd2l0aCBkb3VibGUgcXVvdGVzJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHVzZVdvcmtmbG93UGF0dGVybi50ZXN0KGBcInVzZSB3b3JrZmxvd1wiO2ApKS50b0JlKHRydWUpO1xuICAgICAgZXhwZWN0KHVzZVdvcmtmbG93UGF0dGVybi50ZXN0KGBcInVzZSB3b3JrZmxvd1wiYCkpLnRvQmUodHJ1ZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIG1hdGNoIHdpdGggbGVhZGluZyB3aGl0ZXNwYWNlJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHVzZVdvcmtmbG93UGF0dGVybi50ZXN0KGAgICd1c2Ugd29ya2Zsb3cnO2ApKS50b0JlKHRydWUpO1xuICAgICAgZXhwZWN0KHVzZVdvcmtmbG93UGF0dGVybi50ZXN0KGBcXHRcInVzZSB3b3JrZmxvd1wiO2ApKS50b0JlKHRydWUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBub3QgbWF0Y2ggaW5saW5lIHVzYWdlJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHVzZVdvcmtmbG93UGF0dGVybi50ZXN0KGBjb25zdCB4ID0gJ3VzZSB3b3JrZmxvdyc7YCkpLnRvQmUoZmFsc2UpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgndXNlU3RlcFBhdHRlcm4nLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCBtYXRjaCBcInVzZSBzdGVwXCIgd2l0aCBzaW5nbGUgcXVvdGVzJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHVzZVN0ZXBQYXR0ZXJuLnRlc3QoYCd1c2Ugc3RlcCc7YCkpLnRvQmUodHJ1ZSk7XG4gICAgICBleHBlY3QodXNlU3RlcFBhdHRlcm4udGVzdChgJ3VzZSBzdGVwJ2ApKS50b0JlKHRydWUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBtYXRjaCBcInVzZSBzdGVwXCIgd2l0aCBkb3VibGUgcXVvdGVzJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHVzZVN0ZXBQYXR0ZXJuLnRlc3QoYFwidXNlIHN0ZXBcIjtgKSkudG9CZSh0cnVlKTtcbiAgICAgIGV4cGVjdCh1c2VTdGVwUGF0dGVybi50ZXN0KGBcInVzZSBzdGVwXCJgKSkudG9CZSh0cnVlKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ3dvcmtmbG93U2VyZGVJbXBvcnRQYXR0ZXJuJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgbWF0Y2ggaW1wb3J0IGZyb20gQHdvcmtmbG93L3NlcmRlIHdpdGggc2luZ2xlIHF1b3RlcycsICgpID0+IHtcbiAgICAgIGNvbnN0IHNvdXJjZSA9IGBpbXBvcnQgeyBXT1JLRkxPV19TRVJJQUxJWkUgfSBmcm9tICdAd29ya2Zsb3cvc2VyZGUnO2A7XG4gICAgICBleHBlY3Qod29ya2Zsb3dTZXJkZUltcG9ydFBhdHRlcm4udGVzdChzb3VyY2UpKS50b0JlKHRydWUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBtYXRjaCBpbXBvcnQgZnJvbSBAd29ya2Zsb3cvc2VyZGUgd2l0aCBkb3VibGUgcXVvdGVzJywgKCkgPT4ge1xuICAgICAgY29uc3Qgc291cmNlID0gYGltcG9ydCB7IFdPUktGTE9XX1NFUklBTElaRSB9IGZyb20gXCJAd29ya2Zsb3cvc2VyZGVcIjtgO1xuICAgICAgZXhwZWN0KHdvcmtmbG93U2VyZGVJbXBvcnRQYXR0ZXJuLnRlc3Qoc291cmNlKSkudG9CZSh0cnVlKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgbWF0Y2ggaW1wb3J0IHdpdGggbXVsdGlwbGUgc3BlY2lmaWVycycsICgpID0+IHtcbiAgICAgIGNvbnN0IHNvdXJjZSA9IGBpbXBvcnQgeyBXT1JLRkxPV19TRVJJQUxJWkUsIFdPUktGTE9XX0RFU0VSSUFMSVpFIH0gZnJvbSAnQHdvcmtmbG93L3NlcmRlJztgO1xuICAgICAgZXhwZWN0KHdvcmtmbG93U2VyZGVJbXBvcnRQYXR0ZXJuLnRlc3Qoc291cmNlKSkudG9CZSh0cnVlKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgbWF0Y2ggaW1wb3J0IHdpdGggdHlwZScsICgpID0+IHtcbiAgICAgIGNvbnN0IHNvdXJjZSA9IGBpbXBvcnQgdHlwZSB7IFNlcmlhbGl6YXRpb25TeW1ib2wgfSBmcm9tICdAd29ya2Zsb3cvc2VyZGUnO2A7XG4gICAgICBleHBlY3Qod29ya2Zsb3dTZXJkZUltcG9ydFBhdHRlcm4udGVzdChzb3VyY2UpKS50b0JlKHRydWUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBub3QgbWF0Y2ggc2ltaWxhciBidXQgZGlmZmVyZW50IHBhY2thZ2VzJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KFxuICAgICAgICB3b3JrZmxvd1NlcmRlSW1wb3J0UGF0dGVybi50ZXN0KGBpbXBvcnQgeyB4IH0gZnJvbSAnQG90aGVyL3NlcmRlJztgKVxuICAgICAgKS50b0JlKGZhbHNlKTtcbiAgICAgIGV4cGVjdChcbiAgICAgICAgd29ya2Zsb3dTZXJkZUltcG9ydFBhdHRlcm4udGVzdChcbiAgICAgICAgICBgaW1wb3J0IHsgeCB9IGZyb20gJ0B3b3JrZmxvdy9zZXJkZS11dGlscyc7YFxuICAgICAgICApXG4gICAgICApLnRvQmUoZmFsc2UpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnd29ya2Zsb3dTZXJkZVN5bWJvbFBhdHRlcm4nLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCBtYXRjaCBTeW1ib2wuZm9yIHdpdGggd29ya2Zsb3ctc2VyaWFsaXplJywgKCkgPT4ge1xuICAgICAgY29uc3Qgc291cmNlID0gYHN0YXRpYyBbU3ltYm9sLmZvcignd29ya2Zsb3ctc2VyaWFsaXplJyldKGluc3RhbmNlKSB7fWA7XG4gICAgICBleHBlY3Qod29ya2Zsb3dTZXJkZVN5bWJvbFBhdHRlcm4udGVzdChzb3VyY2UpKS50b0JlKHRydWUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBtYXRjaCBTeW1ib2wuZm9yIHdpdGggd29ya2Zsb3ctZGVzZXJpYWxpemUnLCAoKSA9PiB7XG4gICAgICBjb25zdCBzb3VyY2UgPSBgc3RhdGljIFtTeW1ib2wuZm9yKCd3b3JrZmxvdy1kZXNlcmlhbGl6ZScpXShkYXRhKSB7fWA7XG4gICAgICBleHBlY3Qod29ya2Zsb3dTZXJkZVN5bWJvbFBhdHRlcm4udGVzdChzb3VyY2UpKS50b0JlKHRydWUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBtYXRjaCB3aXRoIGRvdWJsZSBxdW90ZXMnLCAoKSA9PiB7XG4gICAgICBjb25zdCBzb3VyY2UgPSBgc3RhdGljIFtTeW1ib2wuZm9yKFwid29ya2Zsb3ctc2VyaWFsaXplXCIpXShpbnN0YW5jZSkge31gO1xuICAgICAgZXhwZWN0KHdvcmtmbG93U2VyZGVTeW1ib2xQYXR0ZXJuLnRlc3Qoc291cmNlKSkudG9CZSh0cnVlKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgbWF0Y2ggd2l0aCB3aGl0ZXNwYWNlIHZhcmlhdGlvbnMnLCAoKSA9PiB7XG4gICAgICBleHBlY3QoXG4gICAgICAgIHdvcmtmbG93U2VyZGVTeW1ib2xQYXR0ZXJuLnRlc3QoYFN5bWJvbC5mb3IoICd3b3JrZmxvdy1zZXJpYWxpemUnIClgKVxuICAgICAgKS50b0JlKHRydWUpO1xuICAgICAgZXhwZWN0KFxuICAgICAgICB3b3JrZmxvd1NlcmRlU3ltYm9sUGF0dGVybi50ZXN0KGBTeW1ib2wuZm9yKCd3b3JrZmxvdy1kZXNlcmlhbGl6ZScpYClcbiAgICAgICkudG9CZSh0cnVlKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgbWF0Y2ggaW4gYSBmdWxsIGNsYXNzIGRlZmluaXRpb24nLCAoKSA9PiB7XG4gICAgICBjb25zdCBzb3VyY2UgPSBgXG4gICAgICAgIGV4cG9ydCBjbGFzcyBQb2ludCB7XG4gICAgICAgICAgY29uc3RydWN0b3IoeCwgeSkge1xuICAgICAgICAgICAgdGhpcy54ID0geDtcbiAgICAgICAgICAgIHRoaXMueSA9IHk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgc3RhdGljIFtTeW1ib2wuZm9yKCd3b3JrZmxvdy1zZXJpYWxpemUnKV0oaW5zdGFuY2UpIHtcbiAgICAgICAgICAgIHJldHVybiB7IHg6IGluc3RhbmNlLngsIHk6IGluc3RhbmNlLnkgfTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBzdGF0aWMgW1N5bWJvbC5mb3IoJ3dvcmtmbG93LWRlc2VyaWFsaXplJyldKGRhdGEpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgUG9pbnQoZGF0YS54LCBkYXRhLnkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgYDtcbiAgICAgIGV4cGVjdCh3b3JrZmxvd1NlcmRlU3ltYm9sUGF0dGVybi50ZXN0KHNvdXJjZSkpLnRvQmUodHJ1ZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIG5vdCBtYXRjaCBvdGhlciBTeW1ib2wuZm9yIHVzYWdlJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KFxuICAgICAgICB3b3JrZmxvd1NlcmRlU3ltYm9sUGF0dGVybi50ZXN0KGBTeW1ib2wuZm9yKCdvdGhlci1zeW1ib2wnKWApXG4gICAgICApLnRvQmUoZmFsc2UpO1xuICAgICAgZXhwZWN0KFxuICAgICAgICB3b3JrZmxvd1NlcmRlU3ltYm9sUGF0dGVybi50ZXN0KGBTeW1ib2wuZm9yKCd3b3JrZmxvdy1zb21ldGhpbmctZWxzZScpYClcbiAgICAgICkudG9CZShmYWxzZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIG5vdCBtYXRjaCBub24tU3ltYm9sLmZvciBwYXR0ZXJucycsICgpID0+IHtcbiAgICAgIGV4cGVjdCh3b3JrZmxvd1NlcmRlU3ltYm9sUGF0dGVybi50ZXN0KGAnd29ya2Zsb3ctc2VyaWFsaXplJ2ApKS50b0JlKFxuICAgICAgICBmYWxzZVxuICAgICAgKTtcbiAgICAgIGV4cGVjdCh3b3JrZmxvd1NlcmRlU3ltYm9sUGF0dGVybi50ZXN0KGB3b3JrZmxvdy1kZXNlcmlhbGl6ZWApKS50b0JlKFxuICAgICAgICBmYWxzZVxuICAgICAgKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2NvbWJpbmVkIGRldGVjdGlvbicsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIGRldGVjdCBmaWxlIHVzaW5nIGltcG9ydGVkIHN5bWJvbHMnLCAoKSA9PiB7XG4gICAgICBjb25zdCBzb3VyY2UgPSBgXG4gICAgICAgIGltcG9ydCB7IFdPUktGTE9XX1NFUklBTElaRSwgV09SS0ZMT1dfREVTRVJJQUxJWkUgfSBmcm9tICdAd29ya2Zsb3cvc2VyZGUnO1xuXG4gICAgICAgIGV4cG9ydCBjbGFzcyBNeUNsYXNzIHtcbiAgICAgICAgICBzdGF0aWMgW1dPUktGTE9XX1NFUklBTElaRV0oaW5zdGFuY2UpIHtcbiAgICAgICAgICAgIHJldHVybiB7IHZhbHVlOiBpbnN0YW5jZS52YWx1ZSB9O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHN0YXRpYyBbV09SS0ZMT1dfREVTRVJJQUxJWkVdKGRhdGEpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgTXlDbGFzcyhkYXRhLnZhbHVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIGA7XG4gICAgICBleHBlY3Qod29ya2Zsb3dTZXJkZUltcG9ydFBhdHRlcm4udGVzdChzb3VyY2UpKS50b0JlKHRydWUpO1xuICAgICAgLy8gTm90ZTogd29ya2Zsb3dTZXJkZVN5bWJvbFBhdHRlcm4gd29uJ3QgbWF0Y2ggaGVyZSBiZWNhdXNlIHRoZSBzeW1ib2xzXG4gICAgICAvLyBhcmUgcmVmZXJlbmNlZCBieSBpZGVudGlmaWVyLCBub3QgZGlyZWN0bHkgYXMgU3ltYm9sLmZvcigpXG4gICAgICBleHBlY3Qod29ya2Zsb3dTZXJkZVN5bWJvbFBhdHRlcm4udGVzdChzb3VyY2UpKS50b0JlKGZhbHNlKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZGV0ZWN0IGZpbGUgdXNpbmcgZGlyZWN0IFN5bWJvbC5mb3InLCAoKSA9PiB7XG4gICAgICBjb25zdCBzb3VyY2UgPSBgXG4gICAgICAgIGV4cG9ydCBjbGFzcyBQb2ludCB7XG4gICAgICAgICAgc3RhdGljIFtTeW1ib2wuZm9yKCd3b3JrZmxvdy1zZXJpYWxpemUnKV0oaW5zdGFuY2UpIHtcbiAgICAgICAgICAgIHJldHVybiB7IHg6IGluc3RhbmNlLnggfTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBzdGF0aWMgW1N5bWJvbC5mb3IoJ3dvcmtmbG93LWRlc2VyaWFsaXplJyldKGRhdGEpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgUG9pbnQoZGF0YS54KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIGA7XG4gICAgICBleHBlY3Qod29ya2Zsb3dTZXJkZUltcG9ydFBhdHRlcm4udGVzdChzb3VyY2UpKS50b0JlKGZhbHNlKTtcbiAgICAgIGV4cGVjdCh3b3JrZmxvd1NlcmRlU3ltYm9sUGF0dGVybi50ZXN0KHNvdXJjZSkpLnRvQmUodHJ1ZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGRldGVjdCBmaWxlIHdpdGggYm90aCBwYXR0ZXJucycsICgpID0+IHtcbiAgICAgIC8vIFRoaXMgd291bGQgYmUgdW51c3VhbCBidXQgdmFsaWRcbiAgICAgIGNvbnN0IHNvdXJjZSA9IGBcbiAgICAgICAgaW1wb3J0IHsgV09SS0ZMT1dfU0VSSUFMSVpFIH0gZnJvbSAnQHdvcmtmbG93L3NlcmRlJztcblxuICAgICAgICBleHBvcnQgY2xhc3MgUG9pbnQge1xuICAgICAgICAgIC8vIFVzaW5nIGltcG9ydGVkIHN5bWJvbFxuICAgICAgICAgIHN0YXRpYyBbV09SS0ZMT1dfU0VSSUFMSVpFXShpbnN0YW5jZSkge1xuICAgICAgICAgICAgcmV0dXJuIHsgeDogaW5zdGFuY2UueCB9O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIFVzaW5nIGRpcmVjdCBTeW1ib2wuZm9yXG4gICAgICAgICAgc3RhdGljIFtTeW1ib2wuZm9yKCd3b3JrZmxvdy1kZXNlcmlhbGl6ZScpXShkYXRhKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IFBvaW50KGRhdGEueCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICBgO1xuICAgICAgZXhwZWN0KHdvcmtmbG93U2VyZGVJbXBvcnRQYXR0ZXJuLnRlc3Qoc291cmNlKSkudG9CZSh0cnVlKTtcbiAgICAgIGV4cGVjdCh3b3JrZmxvd1NlcmRlU3ltYm9sUGF0dGVybi50ZXN0KHNvdXJjZSkpLnRvQmUodHJ1ZSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCd3b3JrZmxvd1NlcmRlQ29tcHV0ZWRQcm9wZXJ0eVBhdHRlcm4nLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCBtYXRjaCBbV09SS0ZMT1dfU0VSSUFMSVpFXSBjb21wdXRlZCBwcm9wZXJ0eScsICgpID0+IHtcbiAgICAgIGNvbnN0IHNvdXJjZSA9IGBzdGF0aWMgW1dPUktGTE9XX1NFUklBTElaRV0oaW5zdGFuY2UpIHt9YDtcbiAgICAgIGV4cGVjdCh3b3JrZmxvd1NlcmRlQ29tcHV0ZWRQcm9wZXJ0eVBhdHRlcm4udGVzdChzb3VyY2UpKS50b0JlKHRydWUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBtYXRjaCBbV09SS0ZMT1dfREVTRVJJQUxJWkVdIGNvbXB1dGVkIHByb3BlcnR5JywgKCkgPT4ge1xuICAgICAgY29uc3Qgc291cmNlID0gYHN0YXRpYyBbV09SS0ZMT1dfREVTRVJJQUxJWkVdKGRhdGEpIHt9YDtcbiAgICAgIGV4cGVjdCh3b3JrZmxvd1NlcmRlQ29tcHV0ZWRQcm9wZXJ0eVBhdHRlcm4udGVzdChzb3VyY2UpKS50b0JlKHRydWUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBtYXRjaCB3aXRoIHdoaXRlc3BhY2UgaW5zaWRlIGJyYWNrZXRzJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KFxuICAgICAgICB3b3JrZmxvd1NlcmRlQ29tcHV0ZWRQcm9wZXJ0eVBhdHRlcm4udGVzdChgWyBXT1JLRkxPV19TRVJJQUxJWkUgXWApXG4gICAgICApLnRvQmUodHJ1ZSk7XG4gICAgICBleHBlY3QoXG4gICAgICAgIHdvcmtmbG93U2VyZGVDb21wdXRlZFByb3BlcnR5UGF0dGVybi50ZXN0KGBbICBXT1JLRkxPV19ERVNFUklBTElaRSAgXWApXG4gICAgICApLnRvQmUodHJ1ZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIG1hdGNoIGluIGJ1bmRsZWQgY29kZSB3aGVyZSBzeW1ib2xzIGFyZSBpbXBvcnRlZCBmcm9tIGNodW5rcycsICgpID0+IHtcbiAgICAgIC8vIFRoaXMgaXMgdGhlIHBhdHRlcm4gc2VlbiBpbiBidW5kbGVkIHBhY2thZ2VzIGxpa2UganVzdC1iYXNoXG4gICAgICBjb25zdCBzb3VyY2UgPSBgXG4gICAgICAgIGltcG9ydCB7XG4gICAgICAgICAgV09SS0ZMT1dfREVTRVJJQUxJWkUsXG4gICAgICAgICAgV09SS0ZMT1dfU0VSSUFMSVpFXG4gICAgICAgIH0gZnJvbSBcIi4vY2h1bmtzL2NodW5rLTQ1MzMyM1FZLmpzXCI7XG5cbiAgICAgICAgdmFyIEJhc2ggPSBjbGFzcyBfQmFzaCB7XG4gICAgICAgICAgc3RhdGljIFtXT1JLRkxPV19TRVJJQUxJWkVdKGluc3RhbmNlKSB7XG4gICAgICAgICAgICByZXR1cm4geyBmczogaW5zdGFuY2UuZnMgfTtcbiAgICAgICAgICB9XG4gICAgICAgICAgc3RhdGljIFtXT1JLRkxPV19ERVNFUklBTElaRV0oc2VyaWFsaXplZCkge1xuICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5jcmVhdGUoX0Jhc2gucHJvdG90eXBlLCB7XG4gICAgICAgICAgICAgIGZzOiB7IHZhbHVlOiBzZXJpYWxpemVkLmZzIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgIGA7XG4gICAgICBleHBlY3Qod29ya2Zsb3dTZXJkZUNvbXB1dGVkUHJvcGVydHlQYXR0ZXJuLnRlc3Qoc291cmNlKSkudG9CZSh0cnVlKTtcbiAgICAgIC8vIE5vdGU6IGltcG9ydCBwYXR0ZXJuIHdvbid0IG1hdGNoIGJlY2F1c2UgaXQncyBmcm9tIGEgY2h1bmssIG5vdCBAd29ya2Zsb3cvc2VyZGVcbiAgICAgIGV4cGVjdCh3b3JrZmxvd1NlcmRlSW1wb3J0UGF0dGVybi50ZXN0KHNvdXJjZSkpLnRvQmUoZmFsc2UpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBub3QgbWF0Y2ggcGFydGlhbCBuYW1lcycsICgpID0+IHtcbiAgICAgIGV4cGVjdChcbiAgICAgICAgd29ya2Zsb3dTZXJkZUNvbXB1dGVkUHJvcGVydHlQYXR0ZXJuLnRlc3QoYFtXT1JLRkxPV19TRVJJQUxJWkVfRVhUUkFdYClcbiAgICAgICkudG9CZShmYWxzZSk7XG4gICAgICBleHBlY3QoXG4gICAgICAgIHdvcmtmbG93U2VyZGVDb21wdXRlZFByb3BlcnR5UGF0dGVybi50ZXN0KGBbTVlfV09SS0ZMT1dfU0VSSUFMSVpFXWApXG4gICAgICApLnRvQmUoZmFsc2UpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBub3QgbWF0Y2ggc3RyaW5nIGxpdGVyYWxzJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KFxuICAgICAgICB3b3JrZmxvd1NlcmRlQ29tcHV0ZWRQcm9wZXJ0eVBhdHRlcm4udGVzdChgWydXT1JLRkxPV19TRVJJQUxJWkUnXWApXG4gICAgICApLnRvQmUoZmFsc2UpO1xuICAgICAgZXhwZWN0KFxuICAgICAgICB3b3JrZmxvd1NlcmRlQ29tcHV0ZWRQcm9wZXJ0eVBhdHRlcm4udGVzdChgW1wiV09SS0ZMT1dfREVTRVJJQUxJWkVcIl1gKVxuICAgICAgKS50b0JlKGZhbHNlKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2RldGVjdFdvcmtmbG93UGF0dGVybnMnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCBkZXRlY3QgaGFzU2VyZGUgZm9yIEB3b3JrZmxvdy9zZXJkZSBpbXBvcnQnLCAoKSA9PiB7XG4gICAgICBjb25zdCBzb3VyY2UgPSBgaW1wb3J0IHsgV09SS0ZMT1dfU0VSSUFMSVpFIH0gZnJvbSAnQHdvcmtmbG93L3NlcmRlJztgO1xuICAgICAgY29uc3QgcmVzdWx0ID0gZGV0ZWN0V29ya2Zsb3dQYXR0ZXJucyhzb3VyY2UpO1xuICAgICAgZXhwZWN0KHJlc3VsdC5oYXNTZXJkZSkudG9CZSh0cnVlKTtcbiAgICAgIGV4cGVjdChyZXN1bHQuaGFzU2VyZGVJbXBvcnQpLnRvQmUodHJ1ZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGRldGVjdCBoYXNTZXJkZSBmb3IgU3ltYm9sLmZvciBwYXR0ZXJuJywgKCkgPT4ge1xuICAgICAgY29uc3Qgc291cmNlID0gYHN0YXRpYyBbU3ltYm9sLmZvcignd29ya2Zsb3ctc2VyaWFsaXplJyldKGluc3RhbmNlKSB7fWA7XG4gICAgICBjb25zdCByZXN1bHQgPSBkZXRlY3RXb3JrZmxvd1BhdHRlcm5zKHNvdXJjZSk7XG4gICAgICBleHBlY3QocmVzdWx0Lmhhc1NlcmRlKS50b0JlKHRydWUpO1xuICAgICAgZXhwZWN0KHJlc3VsdC5oYXNTZXJkZVN5bWJvbCkudG9CZSh0cnVlKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZGV0ZWN0IGhhc1NlcmRlIGZvciBjb21wdXRlZCBwcm9wZXJ0eSBwYXR0ZXJuJywgKCkgPT4ge1xuICAgICAgY29uc3Qgc291cmNlID0gYHN0YXRpYyBbV09SS0ZMT1dfU0VSSUFMSVpFXShpbnN0YW5jZSkge31gO1xuICAgICAgY29uc3QgcmVzdWx0ID0gZGV0ZWN0V29ya2Zsb3dQYXR0ZXJucyhzb3VyY2UpO1xuICAgICAgZXhwZWN0KHJlc3VsdC5oYXNTZXJkZSkudG9CZSh0cnVlKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZGV0ZWN0IGhhc1NlcmRlIGZvciBidW5kbGVkIHRoaXJkLXBhcnR5IHBhY2thZ2VzJywgKCkgPT4ge1xuICAgICAgLy8gU2ltdWxhdGVzIGJ1bmRsZWQgb3V0cHV0IGZyb20gcGFja2FnZXMgbGlrZSBqdXN0LWJhc2hcbiAgICAgIGNvbnN0IHNvdXJjZSA9IGBcbiAgICAgICAgaW1wb3J0IHtcbiAgICAgICAgICBXT1JLRkxPV19ERVNFUklBTElaRSxcbiAgICAgICAgICBXT1JLRkxPV19TRVJJQUxJWkVcbiAgICAgICAgfSBmcm9tIFwiLi9jaHVua3MvY2h1bmstQUJDMTIzLmpzXCI7XG5cbiAgICAgICAgdmFyIE15Q2xhc3MgPSBjbGFzcyB7XG4gICAgICAgICAgc3RhdGljIFtXT1JLRkxPV19TRVJJQUxJWkVdKGluc3RhbmNlKSB7XG4gICAgICAgICAgICByZXR1cm4geyBkYXRhOiBpbnN0YW5jZS5kYXRhIH07XG4gICAgICAgICAgfVxuICAgICAgICAgIHN0YXRpYyBbV09SS0ZMT1dfREVTRVJJQUxJWkVdKHNlcmlhbGl6ZWQpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgTXlDbGFzcyhzZXJpYWxpemVkLmRhdGEpO1xuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgIGA7XG4gICAgICBjb25zdCByZXN1bHQgPSBkZXRlY3RXb3JrZmxvd1BhdHRlcm5zKHNvdXJjZSk7XG4gICAgICBleHBlY3QocmVzdWx0Lmhhc1NlcmRlKS50b0JlKHRydWUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBub3QgZGV0ZWN0IGhhc1NlcmRlIGZvciB1bnJlbGF0ZWQgY29kZScsICgpID0+IHtcbiAgICAgIGNvbnN0IHNvdXJjZSA9IGBcbiAgICAgICAgZXhwb3J0IGNsYXNzIFJlZ3VsYXJDbGFzcyB7XG4gICAgICAgICAgY29uc3RydWN0b3IodmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIGA7XG4gICAgICBjb25zdCByZXN1bHQgPSBkZXRlY3RXb3JrZmxvd1BhdHRlcm5zKHNvdXJjZSk7XG4gICAgICBleHBlY3QocmVzdWx0Lmhhc1NlcmRlKS50b0JlKGZhbHNlKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZGV0ZWN0IGJvdGggZGlyZWN0aXZlIGFuZCBzZXJkZSBwYXR0ZXJucycsICgpID0+IHtcbiAgICAgIGNvbnN0IHNvdXJjZSA9IGBcbiAgICAgICAgJ3VzZSBzdGVwJztcbiAgICAgICAgaW1wb3J0IHsgV09SS0ZMT1dfU0VSSUFMSVpFIH0gZnJvbSAnQHdvcmtmbG93L3NlcmRlJztcbiAgICAgICAgXG4gICAgICAgIGV4cG9ydCBjbGFzcyBQb2ludCB7XG4gICAgICAgICAgc3RhdGljIFtXT1JLRkxPV19TRVJJQUxJWkVdKGluc3RhbmNlKSB7XG4gICAgICAgICAgICByZXR1cm4geyB4OiBpbnN0YW5jZS54IH07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICBgO1xuICAgICAgY29uc3QgcmVzdWx0ID0gZGV0ZWN0V29ya2Zsb3dQYXR0ZXJucyhzb3VyY2UpO1xuICAgICAgZXhwZWN0KHJlc3VsdC5oYXNEaXJlY3RpdmUpLnRvQmUodHJ1ZSk7XG4gICAgICBleHBlY3QocmVzdWx0Lmhhc1VzZVN0ZXApLnRvQmUodHJ1ZSk7XG4gICAgICBleHBlY3QocmVzdWx0Lmhhc1NlcmRlKS50b0JlKHRydWUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3JlZ2V4cCBkZXRlY3Rpb24gbWF0Y2hlcyBkaXJlY3RpdmVzIGluc2lkZSB0ZW1wbGF0ZSBsaXRlcmFscyAoZmFsc2UgcG9zaXRpdmUpJywgKCkgPT4ge1xuICAgICAgLy8gZGV0ZWN0V29ya2Zsb3dQYXR0ZXJucyB1c2VzIHJlZ2V4cCBhbmQgd2lsbCBtYXRjaCBkaXJlY3RpdmUtbGlrZVxuICAgICAgLy8gc3RyaW5ncyBpbnNpZGUgdGVtcGxhdGUgbGl0ZXJhbHMuIFRoZSBkaXNjb3Zlci1lbnRyaWVzIHBsdWdpblxuICAgICAgLy8gaGFuZGxlcyB0aGlzIGJ5IHVzaW5nIHRoZSBTV0MgcGx1Z2luIG1hbmlmZXN0IChBU1QtbGV2ZWwpIGZvclxuICAgICAgLy8gZGlyZWN0aXZlIGRpc2NvdmVyeSBpbnN0ZWFkIG9mIHJlbHlpbmcgb24gcmVnZXhwIGFsb25lLlxuICAgICAgY29uc3Qgc291cmNlID0gYCd1c2UgY2xpZW50JztcbmNvbnN0IENPREVfU05JUFBFVCA9IFxcYGltcG9ydCB7IHNsZWVwIH0gZnJvbSBcIndvcmtmbG93XCI7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBoYW5kbGVVc2VyU2lnbnVwKGVtYWlsOiBzdHJpbmcpIHtcbiAgXCJ1c2Ugd29ya2Zsb3dcIjtcbiAgY29uc3QgdXNlciA9IGF3YWl0IGNyZWF0ZVVzZXIoZW1haWwpO1xufVxuXFxgO1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gUGFnZSgpIHsgcmV0dXJuIG51bGw7IH1cbmA7XG4gICAgICBjb25zdCByZXN1bHQgPSBkZXRlY3RXb3JrZmxvd1BhdHRlcm5zKHNvdXJjZSk7XG4gICAgICBleHBlY3QocmVzdWx0Lmhhc1VzZVdvcmtmbG93KS50b0JlKHRydWUpO1xuICAgICAgZXhwZWN0KHJlc3VsdC5oYXNEaXJlY3RpdmUpLnRvQmUodHJ1ZSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdzaG91bGRUcmFuc2Zvcm1GaWxlJywgKCkgPT4ge1xuICAgIGNvbnN0IG5vUGF0dGVybnMgPSB7XG4gICAgICBoYXNVc2VXb3JrZmxvdzogZmFsc2UsXG4gICAgICBoYXNVc2VTdGVwOiBmYWxzZSxcbiAgICAgIGhhc1NlcmRlSW1wb3J0OiBmYWxzZSxcbiAgICAgIGhhc1NlcmRlU3ltYm9sOiBmYWxzZSxcbiAgICAgIGhhc0RpcmVjdGl2ZTogZmFsc2UsXG4gICAgICBoYXNTZXJkZTogZmFsc2UsXG4gICAgfTtcblxuICAgIGl0KCdleGNsdWRlcyBnZW5lcmF0ZWQgd29ya2Zsb3cgcm91dGUgZmlsZXMgZXZlbiB3aXRoIGRpcmVjdGl2ZXMnLCAoKSA9PiB7XG4gICAgICBleHBlY3QoXG4gICAgICAgIHNob3VsZFRyYW5zZm9ybUZpbGUoJy9hcHAvLndlbGwta25vd24vd29ya2Zsb3cvdjEvcm91dGUudHMnLCB7XG4gICAgICAgICAgLi4ubm9QYXR0ZXJucyxcbiAgICAgICAgICBoYXNVc2VXb3JrZmxvdzogdHJ1ZSxcbiAgICAgICAgICBoYXNEaXJlY3RpdmU6IHRydWUsXG4gICAgICAgIH0pXG4gICAgICApLnRvQmUoZmFsc2UpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3RyYW5zZm9ybXMgZmlsZXMgd2l0aCBkaXJlY3RpdmUgcGF0dGVybnMnLCAoKSA9PiB7XG4gICAgICBleHBlY3QoXG4gICAgICAgIHNob3VsZFRyYW5zZm9ybUZpbGUoJy9hcHAvd29ya2Zsb3dzL215LXdvcmtmbG93LnRzJywge1xuICAgICAgICAgIC4uLm5vUGF0dGVybnMsXG4gICAgICAgICAgaGFzVXNlV29ya2Zsb3c6IHRydWUsXG4gICAgICAgICAgaGFzRGlyZWN0aXZlOiB0cnVlLFxuICAgICAgICB9KVxuICAgICAgKS50b0JlKHRydWUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3RyYW5zZm9ybXMgZmlsZXMgd2l0aCBzZXJkZSBwYXR0ZXJucycsICgpID0+IHtcbiAgICAgIGV4cGVjdChcbiAgICAgICAgc2hvdWxkVHJhbnNmb3JtRmlsZSgnL2FwcC9saWIvbXktY2xhc3MudHMnLCB7XG4gICAgICAgICAgLi4ubm9QYXR0ZXJucyxcbiAgICAgICAgICBoYXNTZXJkZUltcG9ydDogdHJ1ZSxcbiAgICAgICAgICBoYXNTZXJkZTogdHJ1ZSxcbiAgICAgICAgfSlcbiAgICAgICkudG9CZSh0cnVlKTtcbiAgICB9KTtcblxuICAgIGl0KCd0cmFuc2Zvcm1zIFNESyBmaWxlcyB3aXRoIHNlcmRlIHBhdHRlcm5zIChubyBsb25nZXIgZXhjbHVkZWQpJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KFxuICAgICAgICBzaG91bGRUcmFuc2Zvcm1GaWxlKFxuICAgICAgICAgICcvYXBwL25vZGVfbW9kdWxlcy9Ad29ya2Zsb3cvY29yZS9kaXN0L3NlcmlhbGl6YXRpb24uanMnLFxuICAgICAgICAgIHsgLi4ubm9QYXR0ZXJucywgaGFzU2VyZGVTeW1ib2w6IHRydWUsIGhhc1NlcmRlOiB0cnVlIH1cbiAgICAgICAgKVxuICAgICAgKS50b0JlKHRydWUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2RvZXMgbm90IHRyYW5zZm9ybSBmaWxlcyB3aXRob3V0IGRpcmVjdGl2ZXMgb3Igc2VyZGUgcGF0dGVybnMnLCAoKSA9PiB7XG4gICAgICBleHBlY3Qoc2hvdWxkVHJhbnNmb3JtRmlsZSgnL2FwcC9saWIvdXRpbHMudHMnLCBub1BhdHRlcm5zKSkudG9CZShmYWxzZSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
package/dist/types.js CHANGED
@@ -9,4 +9,4 @@ export const validBuildTargets = [
9
9
  export function isValidBuildTarget(target) {
10
10
  return !!target && validBuildTargets.includes(target);
11
11
  }
12
- //# sourceMappingURL=types.js.map
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUc7SUFDL0IsWUFBWTtJQUNaLHlCQUF5QjtJQUN6QixNQUFNO0lBQ04sTUFBTTtJQUNOLFdBQVc7SUFDWCxPQUFPO0NBQ0MsQ0FBQztBQStKWCxNQUFNLFVBQVUsa0JBQWtCLENBQ2hDLE1BQTBCO0lBRTFCLE9BQU8sQ0FBQyxDQUFDLE1BQU0sSUFBSSxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsTUFBcUIsQ0FBQyxDQUFDO0FBQ3ZFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgdmFsaWRCdWlsZFRhcmdldHMgPSBbXG4gICdzdGFuZGFsb25lJyxcbiAgJ3ZlcmNlbC1idWlsZC1vdXRwdXQtYXBpJyxcbiAgJ25leHQnLFxuICAnbmVzdCcsXG4gICdzdmVsdGVraXQnLFxuICAnYXN0cm8nLFxuXSBhcyBjb25zdDtcbmV4cG9ydCB0eXBlIEJ1aWxkVGFyZ2V0ID0gKHR5cGVvZiB2YWxpZEJ1aWxkVGFyZ2V0cylbbnVtYmVyXTtcblxuLyoqXG4gKiBTb3VyY2UgbWFwIGVtaXNzaW9uIG1vZGUgZm9yIGdlbmVyYXRlZCB3b3JrZmxvdyBidW5kbGVzLiBNYXRjaGVzIGVzYnVpbGQnc1xuICogYHNvdXJjZW1hcGAgb3B0aW9uIHZvY2FidWxhcnk6XG4gKlxuICogLSBgdHJ1ZWAgLyBgJ2xpbmtlZCdgOiB3cml0ZSBhIHNlcGFyYXRlIGAubWFwYCBmaWxlIGFuZCBhZGQgYSBgc291cmNlTWFwcGluZ1VSTGAgY29tbWVudFxuICogLSBgJ2lubGluZSdgOiBlbWl0IGEgYmFzZTY0LWVuY29kZWQgc291cmNlIG1hcCBhdCB0aGUgZW5kIG9mIHRoZSBidW5kbGVcbiAqIC0gYCdleHRlcm5hbCdgOiB3cml0ZSBhIHNlcGFyYXRlIGAubWFwYCBmaWxlIHdpdGhvdXQgdGhlIGNvbW1lbnRcbiAqIC0gYCdib3RoJ2A6IGVtaXQgYm90aCBpbmxpbmUgYW5kIGV4dGVybmFsIHNvdXJjZSBtYXBzXG4gKiAtIGBmYWxzZWA6IG9taXQgc291cmNlIG1hcHMgZW50aXJlbHlcbiAqL1xuZXhwb3J0IHR5cGUgU291cmNlbWFwTW9kZSA9IGJvb2xlYW4gfCAnaW5saW5lJyB8ICdsaW5rZWQnIHwgJ2V4dGVybmFsJyB8ICdib3RoJztcblxuLyoqXG4gKiBDb21tb24gY29uZmlndXJhdGlvbiBvcHRpb25zIHNoYXJlZCBhY3Jvc3MgYWxsIGJ1aWxkZXIgdHlwZXMuXG4gKi9cbmludGVyZmFjZSBCYXNlV29ya2Zsb3dDb25maWcge1xuICB3YXRjaD86IGJvb2xlYW47XG4gIGRpcnM6IHN0cmluZ1tdO1xuICB3b3JraW5nRGlyOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBQcm9qZWN0IHJvb3QgdXNlZCBmb3IgcGFja2FnZSBhbmQgd29ya3NwYWNlIG1vZHVsZS1zcGVjaWZpZXIgcmVzb2x1dGlvblxuICAgKiBkdXJpbmcgU1dDIHRyYW5zZm9ybXMuIERlZmF1bHRzIHRvIGB3b3JraW5nRGlyYC5cbiAgICovXG4gIHByb2plY3RSb290Pzogc3RyaW5nO1xuXG4gIC8vIE9wdGlvbmFsbHkgZ2VuZXJhdGUgYSBjbGllbnQgbGlicmFyeSBmb3Igd29ya2Zsb3cgZXhlY3V0aW9uLiBUaGUgcHJlZmVycmVkXG4gIC8vIG1ldGhvZCBvZiB1c2luZyB3b3JrZmxvdyBpcyB0byB1c2UgYSBsb2FkZXIgd2l0aGluIGEgZnJhbWV3b3JrIChsaWtlXG4gIC8vIE5leHRKUykgdGhhdCByZXNvbHZlcyBjbGllbnQgYmluZGluZ3Mgb24gdGhlIGZseS5cbiAgY2xpZW50QnVuZGxlUGF0aD86IHN0cmluZztcblxuICBleHRlcm5hbFBhY2thZ2VzPzogc3RyaW5nW107XG5cbiAgd29ya2Zsb3dNYW5pZmVzdFBhdGg/OiBzdHJpbmc7XG5cbiAgLy8gT3B0aW9uYWwgcHJlZml4IGZvciBkZWJ1ZyBmaWxlcyAoZS5nLiwgXCJfXCIgZm9yIEFzdHJvIHRvIGlnbm9yZSB0aGVtKVxuICBkZWJ1Z0ZpbGVQcmVmaXg/OiBzdHJpbmc7XG5cbiAgLy8gT3B0aW9uYWwgZGlyZWN0b3J5IHdoZXJlIGRpYWdub3N0aWNzIGFydGlmYWN0cyBzaG91bGQgYmUgd3JpdHRlbi5cbiAgLy8gVGhlIHdvcmtmbG93IG1hbmlmZXN0IGlzIHdyaXR0ZW4gdG8gd29ya2Zsb3dzLW1hbmlmZXN0Lmpzb24gaW5zaWRlIHRoaXMgZGlyLlxuICBkaWFnbm9zdGljc0Rpcj86IHN0cmluZztcblxuICAvLyBPcHRpb25hbCBmcmFtZXdvcmsgb3V0cHV0IGRpcmVjdG9yeSwgdXNlZCBieSBidWlsZGVycyB0aGF0IG1pcnJvciBmcmFtZXdvcmtcbiAgLy8gYXJ0aWZhY3QgbG9jYXRpb25zLlxuICBkaXN0RGlyPzogc3RyaW5nO1xuXG4gIC8vIFN1cHByZXNzIGluZm9ybWF0aW9uYWwgbG9ncyBlbWl0dGVkIGJ5IGNyZWF0ZVdvcmtmbG93c0J1bmRsZSgpXG4gIC8vIChlLmcuIGludGVybWVkaWF0ZS9maW5hbCB3b3JrZmxvdyBidW5kbGUgdGltaW5nIGxvZ3MpLlxuICBzdXBwcmVzc0NyZWF0ZVdvcmtmbG93c0J1bmRsZUxvZ3M/OiBib29sZWFuO1xuXG4gIC8vIFN1cHByZXNzIGVzYnVpbGQgd2FybmluZ3MgZW1pdHRlZCBieSBjcmVhdGVXb3JrZmxvd3NCdW5kbGUoKS5cbiAgc3VwcHJlc3NDcmVhdGVXb3JrZmxvd3NCdW5kbGVXYXJuaW5ncz86IGJvb2xlYW47XG5cbiAgLy8gU3VwcHJlc3MgaW5mb3JtYXRpb25hbCBsb2dzIGVtaXR0ZWQgYnkgY3JlYXRlV2ViaG9va0J1bmRsZSgpLlxuICBzdXBwcmVzc0NyZWF0ZVdlYmhvb2tCdW5kbGVMb2dzPzogYm9vbGVhbjtcblxuICAvLyBTdXBwcmVzcyBpbmZvcm1hdGlvbmFsIGxvZ3MgZW1pdHRlZCBieSBjcmVhdGVNYW5pZmVzdCgpLlxuICBzdXBwcmVzc0NyZWF0ZU1hbmlmZXN0TG9ncz86IGJvb2xlYW47XG5cbiAgLy8gTm9kZS5qcyBydW50aW1lIHZlcnNpb24gZm9yIFZlcmNlbCBGdW5jdGlvbnMgKGUuZy4sIFwibm9kZWpzMjIueFwiLCBcIm5vZGVqczI0LnhcIilcbiAgcnVudGltZT86IHN0cmluZztcblxuICAvKipcbiAgICogQ29udHJvbHMgaG93IHNvdXJjZSBtYXBzIGFyZSBlbWl0dGVkIGZvciB3b3JrZmxvdyBidW5kbGVzLiBBY2NlcHRzIHRoZVxuICAgKiBzYW1lIHZhbHVlcyBhcyBlc2J1aWxkJ3MgYHNvdXJjZW1hcGAgb3B0aW9uLlxuICAgKlxuICAgKiBEZWZhdWx0IGlzIGAnaW5saW5lJ2AgZm9yIHRoZSBzdGVwIGJ1bmRsZSBhbmQgaW50ZXJtZWRpYXRlIHdvcmtmbG93XG4gICAqIGJ1bmRsZSAoZ2l2ZXMgcmVhZGFibGUgc3RhY2sgdHJhY2VzIGZvciBzdGVwIGVycm9ycyBhbmQgd29ya2Zsb3cgVk1cbiAgICogZXJyb3JzKS4gU2V0dGluZyBgZmFsc2VgIG9taXRzIHNvdXJjZSBtYXBzIGVudGlyZWx5LCB3aGljaCBwcm9kdWNlc1xuICAgKiBzbWFsbGVyIGJ1bmRsZXMg4oCUIHVzZWZ1bCBmb3Igc3RheWluZyB1bmRlciB0aGUgVmVyY2VsIDI1ME1CIGZ1bmN0aW9uXG4gICAqIGxpbWl0IOKAlCBhdCB0aGUgY29zdCBvZiBzdGFjayB0cmFjZXMgdGhhdCByZWZlcmVuY2UgZ2VuZXJhdGVkIGNvZGUuXG4gICAqXG4gICAqIGAnZXh0ZXJuYWwnYCBhbmQgYCdsaW5rZWQnYCB3cml0ZSBhIHNlcGFyYXRlIGAubWFwYCBmaWxlOyB1c2UgdGhlc2VcbiAgICogd2hlbiB5b3Ugd2FudCB0byBzaGlwIHNvdXJjZSBtYXBzIHRvIG9ic2VydmFiaWxpdHkgdG9vbGluZyBidXQga2VlcFxuICAgKiB0aGVtIG91dCBvZiB0aGUgZnVuY3Rpb24gYnVuZGxlLlxuICAgKlxuICAgKiBDYW4gYWxzbyBiZSBzZXQgdmlhIHRoZSBgV09SS0ZMT1dfU09VUkNFTUFQYCBlbnZpcm9ubWVudCB2YXJpYWJsZTtcbiAgICogY29uZmlnIHdpbnMgb3ZlciBlbnYgdmFyLCBlbnYgdmFyIHdpbnMgb3ZlciB0aGUgZGVmYXVsdC5cbiAgICovXG4gIHNvdXJjZW1hcD86IFNvdXJjZW1hcE1vZGU7XG59XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3Igc3RhbmRhbG9uZSAoQ0xJLWJhc2VkKSBidWlsZHMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3RhbmRhbG9uZUNvbmZpZyBleHRlbmRzIEJhc2VXb3JrZmxvd0NvbmZpZyB7XG4gIGJ1aWxkVGFyZ2V0OiAnc3RhbmRhbG9uZSc7XG4gIHN0ZXBzQnVuZGxlUGF0aDogc3RyaW5nO1xuICB3b3JrZmxvd3NCdW5kbGVQYXRoOiBzdHJpbmc7XG4gIHdlYmhvb2tCdW5kbGVQYXRoOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgVmVyY2VsIEJ1aWxkIE91dHB1dCBBUEkgYnVpbGRzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZlcmNlbEJ1aWxkT3V0cHV0Q29uZmlnIGV4dGVuZHMgQmFzZVdvcmtmbG93Q29uZmlnIHtcbiAgYnVpbGRUYXJnZXQ6ICd2ZXJjZWwtYnVpbGQtb3V0cHV0LWFwaSc7XG4gIHN0ZXBzQnVuZGxlUGF0aDogc3RyaW5nO1xuICB3b3JrZmxvd3NCdW5kbGVQYXRoOiBzdHJpbmc7XG4gIHdlYmhvb2tCdW5kbGVQYXRoOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgTmV4dC5qcyBidWlsZHMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTmV4dENvbmZpZyBleHRlbmRzIEJhc2VXb3JrZmxvd0NvbmZpZyB7XG4gIGJ1aWxkVGFyZ2V0OiAnbmV4dCc7XG4gIC8vIE5leHQuanMgYnVpbGRlciBjb21wdXRlcyBwYXRocyBkeW5hbWljYWxseSwgc28gdGhlc2UgYXJlIG5vdCB1c2VkXG4gIHN0ZXBzQnVuZGxlUGF0aDogc3RyaW5nO1xuICB3b3JrZmxvd3NCdW5kbGVQYXRoOiBzdHJpbmc7XG4gIHdlYmhvb2tCdW5kbGVQYXRoOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgU3ZlbHRlS2l0IGJ1aWxkcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdmVsdGVLaXRDb25maWcgZXh0ZW5kcyBCYXNlV29ya2Zsb3dDb25maWcge1xuICBidWlsZFRhcmdldDogJ3N2ZWx0ZWtpdCc7XG4gIC8vIFN2ZWx0ZUtpdCBidWlsZGVyIGNvbXB1dGVzIHBhdGhzIGR5bmFtaWNhbGx5LCBzbyB0aGVzZSBhcmUgbm90IHVzZWRcbiAgc3RlcHNCdW5kbGVQYXRoOiBzdHJpbmc7XG4gIHdvcmtmbG93c0J1bmRsZVBhdGg6IHN0cmluZztcbiAgd2ViaG9va0J1bmRsZVBhdGg6IHN0cmluZztcbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciBBc3RybyBidWlsZHMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXN0cm9Db25maWcgZXh0ZW5kcyBCYXNlV29ya2Zsb3dDb25maWcge1xuICBidWlsZFRhcmdldDogJ2FzdHJvJztcbiAgLy8gQXN0cm8gYnVpbGRlciBjb21wdXRlcyBwYXRocyBkeW5hbWljYWxseSwgc28gdGhlc2UgYXJlIG5vdCB1c2VkXG4gIHN0ZXBzQnVuZGxlUGF0aDogc3RyaW5nO1xuICB3b3JrZmxvd3NCdW5kbGVQYXRoOiBzdHJpbmc7XG4gIHdlYmhvb2tCdW5kbGVQYXRoOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgTmVzdEpTIGJ1aWxkcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOZXN0Q29uZmlnIGV4dGVuZHMgQmFzZVdvcmtmbG93Q29uZmlnIHtcbiAgYnVpbGRUYXJnZXQ6ICduZXN0JztcbiAgLy8gTmVzdEpTIGJ1aWxkZXIgY29tcHV0ZXMgcGF0aHMgZHluYW1pY2FsbHksIHNvIHRoZXNlIGFyZSBub3QgdXNlZFxuICBzdGVwc0J1bmRsZVBhdGg6IHN0cmluZztcbiAgd29ya2Zsb3dzQnVuZGxlUGF0aDogc3RyaW5nO1xuICB3ZWJob29rQnVuZGxlUGF0aDogc3RyaW5nO1xufVxuXG4vKipcbiAqIERpc2NyaW1pbmF0ZWQgdW5pb24gb2YgYWxsIGJ1aWxkZXIgY29uZmlndXJhdGlvbiB0eXBlcy5cbiAqL1xuZXhwb3J0IHR5cGUgV29ya2Zsb3dDb25maWcgPVxuICB8IFN0YW5kYWxvbmVDb25maWdcbiAgfCBWZXJjZWxCdWlsZE91dHB1dENvbmZpZ1xuICB8IE5leHRDb25maWdcbiAgfCBOZXN0Q29uZmlnXG4gIHwgU3ZlbHRlS2l0Q29uZmlnXG4gIHwgQXN0cm9Db25maWc7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkQnVpbGRUYXJnZXQoXG4gIHRhcmdldDogc3RyaW5nIHwgdW5kZWZpbmVkXG4pOiB0YXJnZXQgaXMgQnVpbGRUYXJnZXQge1xuICByZXR1cm4gISF0YXJnZXQgJiYgdmFsaWRCdWlsZFRhcmdldHMuaW5jbHVkZXModGFyZ2V0IGFzIEJ1aWxkVGFyZ2V0KTtcbn1cbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"vercel-build-output-api.d.ts","sourceRoot":"","sources":["../src/vercel-build-output-api.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,qBAAa,2BAA4B,SAAQ,WAAW;IACpD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAmEd,oBAAoB;YAyBpB,uBAAuB;CAuBtC"}
1
+ {"version":3,"file":"vercel-build-output-api.d.ts","sourceRoot":"","sources":["../src/vercel-build-output-api.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,qBAAa,2BAA4B,SAAQ,WAAW;IACpD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAsEd,oBAAoB;YAyBpB,uBAAuB;CAuBtC"}
@@ -48,6 +48,9 @@ export class VercelBuildOutputAPIBuilder extends BaseBuilder {
48
48
  if (this.shouldExposePublicManifest && manifestJson) {
49
49
  const staticManifestDir = join(outputDir, 'static/.well-known/workflow/v1');
50
50
  await mkdir(staticManifestDir, { recursive: true });
51
+ if (process.env.VERCEL_DEPLOYMENT_ID === undefined) {
52
+ await writeFile(join(staticManifestDir, '.gitignore'), '*');
53
+ }
51
54
  await copyFile(join(workflowGeneratedDir, 'manifest.json'), join(staticManifestDir, 'manifest.json'));
52
55
  }
53
56
  await this.createClientLibrary();
@@ -85,4 +88,4 @@ export class VercelBuildOutputAPIBuilder extends BaseBuilder {
85
88
  console.log('Webhook function available at /.well-known/workflow/v1/webhook/[token]');
86
89
  }
87
90
  }
88
- //# sourceMappingURL=vercel-build-output-api.js.map
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyY2VsLWJ1aWxkLW91dHB1dC1hcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdmVyY2VsLWJ1aWxkLW91dHB1dC1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDOUQsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDMUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXhELE1BQU0sT0FBTywyQkFBNEIsU0FBUSxXQUFXO0lBQzFELEtBQUssQ0FBQyxLQUFLO1FBQ1QsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFDcEUsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUNsRCxNQUFNLG9CQUFvQixHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUseUJBQXlCLENBQUMsQ0FBQztRQUUzRSxrQ0FBa0M7UUFDbEMsTUFBTSxLQUFLLENBQUMsb0JBQW9CLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUV2RCxNQUFNLFVBQVUsR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUM5QyxNQUFNLFlBQVksR0FBRyxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ25ELHVDQUF1QztRQUN2QyxPQUFPLENBQUMsR0FBRyxDQUFDLG9EQUFvRCxDQUFDLENBQUM7UUFDbEUsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDakUsTUFBTSxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUVuRCxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUMsb0JBQW9CLENBQUM7WUFDbkQsVUFBVTtZQUNWLFlBQVksRUFBRSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsMEJBQTBCLENBQUM7WUFDaEUsV0FBVyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxXQUFXLENBQUM7WUFDaEQsWUFBWTtZQUNaLGlCQUFpQixFQUFFLElBQUk7U0FDeEIsQ0FBQyxDQUFDO1FBRUgsZ0VBQWdFO1FBQ2hFLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGdCQUFnQixFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3pELE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsRUFBRTtZQUMxQyxPQUFPLEVBQUUsV0FBVztZQUNwQiwrREFBK0Q7WUFDL0QsZ0VBQWdFO1lBQ2hFLGtDQUFrQztZQUNsQyx5QkFBeUIsRUFBRSxJQUFJLENBQUMsaUJBQWlCO1lBQ2pELFdBQVcsRUFBRSxLQUFLO1lBQ2xCLG9CQUFvQixFQUFFLENBQUMsc0JBQXNCLENBQUM7WUFDOUMsT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTztTQUM3QixDQUFDLENBQUM7UUFFSCxNQUFNLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLG9CQUFvQixFQUFFLENBQUMsQ0FBQztRQUMxRCxNQUFNLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUU5Qyw0QkFBNEI7UUFDNUIsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQzdCLG9CQUFvQixFQUNwQixxQkFBcUIsQ0FDdEIsQ0FBQztRQUNGLE1BQU0sWUFBWSxHQUFHLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQztZQUM3QyxrQkFBa0I7WUFDbEIsV0FBVyxFQUFFLG9CQUFvQjtZQUNqQyxRQUFRO1NBQ1QsQ0FBQyxDQUFDO1FBRUgsb0VBQW9FO1FBQ3BFLDBFQUEwRTtRQUMxRSxJQUFJLElBQUksQ0FBQywwQkFBMEIsSUFBSSxZQUFZLEVBQUUsQ0FBQztZQUNwRCxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FDNUIsU0FBUyxFQUNULGdDQUFnQyxDQUNqQyxDQUFDO1lBQ0YsTUFBTSxLQUFLLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUNwRCxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsb0JBQW9CLEtBQUssU0FBUyxFQUFFLENBQUM7Z0JBQ25ELE1BQU0sU0FBUyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxZQUFZLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUM5RCxDQUFDO1lBQ0QsTUFBTSxRQUFRLENBQ1osSUFBSSxDQUFDLG9CQUFvQixFQUFFLGVBQWUsQ0FBQyxFQUMzQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsZUFBZSxDQUFDLENBQ3pDLENBQUM7UUFDSixDQUFDO1FBRUQsTUFBTSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRU8sS0FBSyxDQUFDLG9CQUFvQixDQUFDLEVBQ2pDLG9CQUFvQixFQUNwQixNQUFNLEdBQUcsSUFBSSxHQUlkO1FBQ0MsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtREFBbUQsQ0FBQyxDQUFDO1FBQ2pFLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO1FBRTFFLHNEQUFzRDtRQUN0RCxNQUFNLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztZQUM3QixPQUFPLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxXQUFXLENBQUM7WUFDMUMsTUFBTSxFQUFFLG9EQUFvRDtTQUM3RCxDQUFDLENBQUM7UUFFSCwrREFBK0Q7UUFDL0QsTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQUMsY0FBYyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3ZELE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLEVBQUU7WUFDeEMsT0FBTyxFQUFFLFdBQVc7WUFDcEIsZ0JBQWdCLEVBQUUsS0FBSztZQUN2QixPQUFPLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPO1NBQzdCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxLQUFLLENBQUMsdUJBQXVCLENBQUMsU0FBaUI7UUFDckQsMENBQTBDO1FBQzFDLE1BQU0saUJBQWlCLEdBQUc7WUFDeEIsT0FBTyxFQUFFLENBQUM7WUFDVixNQUFNLEVBQUU7Z0JBQ047b0JBQ0UsR0FBRyxFQUFFLDBEQUEwRDtvQkFDL0QsSUFBSSxFQUFFLDBDQUEwQztpQkFDakQ7YUFDRjtTQUNGLENBQUM7UUFFRixNQUFNLFNBQVMsQ0FDYixJQUFJLENBQUMsU0FBUyxFQUFFLGFBQWEsQ0FBQyxFQUM5QixJQUFJLENBQUMsU0FBUyxDQUFDLGlCQUFpQixFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FDM0MsQ0FBQztRQUVGLE9BQU8sQ0FBQyxHQUFHLENBQUMsK0JBQStCLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDeEQsT0FBTyxDQUFDLEdBQUcsQ0FBQyw4REFBOEQsQ0FBQyxDQUFDO1FBQzVFLE9BQU8sQ0FBQyxHQUFHLENBQ1Qsd0VBQXdFLENBQ3pFLENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb3B5RmlsZSwgbWtkaXIsIHdyaXRlRmlsZSB9IGZyb20gJ25vZGU6ZnMvcHJvbWlzZXMnO1xuaW1wb3J0IHsgam9pbiwgcmVzb2x2ZSB9IGZyb20gJ25vZGU6cGF0aCc7XG5pbXBvcnQgeyBCYXNlQnVpbGRlciB9IGZyb20gJy4vYmFzZS1idWlsZGVyLmpzJztcbmltcG9ydCB7IFdPUktGTE9XX1FVRVVFX1RSSUdHRVIgfSBmcm9tICcuL2NvbnN0YW50cy5qcyc7XG5cbmV4cG9ydCBjbGFzcyBWZXJjZWxCdWlsZE91dHB1dEFQSUJ1aWxkZXIgZXh0ZW5kcyBCYXNlQnVpbGRlciB7XG4gIGFzeW5jIGJ1aWxkKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IG91dHB1dERpciA9IHJlc29sdmUodGhpcy5jb25maWcud29ya2luZ0RpciwgJy52ZXJjZWwvb3V0cHV0Jyk7XG4gICAgY29uc3QgZnVuY3Rpb25zRGlyID0gam9pbihvdXRwdXREaXIsICdmdW5jdGlvbnMnKTtcbiAgICBjb25zdCB3b3JrZmxvd0dlbmVyYXRlZERpciA9IGpvaW4oZnVuY3Rpb25zRGlyLCAnLndlbGwta25vd24vd29ya2Zsb3cvdjEnKTtcblxuICAgIC8vIEVuc3VyZSBvdXRwdXQgZGlyZWN0b3JpZXMgZXhpc3RcbiAgICBhd2FpdCBta2Rpcih3b3JrZmxvd0dlbmVyYXRlZERpciwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG5cbiAgICBjb25zdCBpbnB1dEZpbGVzID0gYXdhaXQgdGhpcy5nZXRJbnB1dEZpbGVzKCk7XG4gICAgY29uc3QgdHNjb25maWdQYXRoID0gYXdhaXQgdGhpcy5maW5kVHNDb25maWdQYXRoKCk7XG4gICAgLy8gQ3JlYXRlIGNvbWJpbmVkIGJ1bmRsZSBpbiBmbG93LmZ1bmMvXG4gICAgY29uc29sZS5sb2coJ0NyZWF0aW5nIFZlcmNlbCBCdWlsZCBPdXRwdXQgQVBJIGNvbWJpbmVkIGZ1bmN0aW9uJyk7XG4gICAgY29uc3Qgd29ya2Zsb3dzRnVuY0RpciA9IGpvaW4od29ya2Zsb3dHZW5lcmF0ZWREaXIsICdmbG93LmZ1bmMnKTtcbiAgICBhd2FpdCBta2Rpcih3b3JrZmxvd3NGdW5jRGlyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcblxuICAgIGNvbnN0IHsgbWFuaWZlc3QgfSA9IGF3YWl0IHRoaXMuY3JlYXRlQ29tYmluZWRCdW5kbGUoe1xuICAgICAgaW5wdXRGaWxlcyxcbiAgICAgIHN0ZXBzT3V0ZmlsZTogam9pbih3b3JrZmxvd3NGdW5jRGlyLCAnX19zdGVwX3JlZ2lzdHJhdGlvbnMubWpzJyksXG4gICAgICBmbG93T3V0ZmlsZTogam9pbih3b3JrZmxvd3NGdW5jRGlyLCAnaW5kZXgubWpzJyksXG4gICAgICB0c2NvbmZpZ1BhdGgsXG4gICAgICBidW5kbGVGaW5hbE91dHB1dDogdHJ1ZSxcbiAgICB9KTtcblxuICAgIC8vIENyZWF0ZSBwYWNrYWdlLmpzb24gYW5kIC52Yy1jb25maWcuanNvbiBmb3IgY29tYmluZWQgZnVuY3Rpb25cbiAgICBhd2FpdCB0aGlzLmNyZWF0ZVBhY2thZ2VKc29uKHdvcmtmbG93c0Z1bmNEaXIsICdtb2R1bGUnKTtcbiAgICBhd2FpdCB0aGlzLmNyZWF0ZVZjQ29uZmlnKHdvcmtmbG93c0Z1bmNEaXIsIHtcbiAgICAgIGhhbmRsZXI6ICdpbmRleC5tanMnLFxuICAgICAgLy8gU2tpcCB0aGUgc291cmNlLW1hcC1zdXBwb3J0IHJ1bnRpbWUgc2hpbSB3aGVuIHNvdXJjZW1hcHMgYXJlXG4gICAgICAvLyBkaXNhYmxlZCDigJQgaXQncyBhIG1lYW5pbmdmdWwgY2h1bmsgb2YgdGhlIGZ1bmN0aW9uIGJ1bmRsZSBhbmRcbiAgICAgIC8vIHNlcnZlcyBubyBwdXJwb3NlIHdpdGhvdXQgbWFwcy5cbiAgICAgIHNob3VsZEFkZFNvdXJjZW1hcFN1cHBvcnQ6IHRoaXMuc291cmNlbWFwc0VuYWJsZWQsXG4gICAgICBtYXhEdXJhdGlvbjogJ21heCcsXG4gICAgICBleHBlcmltZW50YWxUcmlnZ2VyczogW1dPUktGTE9XX1FVRVVFX1RSSUdHRVJdLFxuICAgICAgcnVudGltZTogdGhpcy5jb25maWcucnVudGltZSxcbiAgICB9KTtcblxuICAgIGF3YWl0IHRoaXMuYnVpbGRXZWJob29rRnVuY3Rpb24oeyB3b3JrZmxvd0dlbmVyYXRlZERpciB9KTtcbiAgICBhd2FpdCB0aGlzLmNyZWF0ZUJ1aWxkT3V0cHV0Q29uZmlnKG91dHB1dERpcik7XG5cbiAgICAvLyBHZW5lcmF0ZSB1bmlmaWVkIG1hbmlmZXN0XG4gICAgY29uc3Qgd29ya2Zsb3dCdW5kbGVQYXRoID0gam9pbihcbiAgICAgIHdvcmtmbG93R2VuZXJhdGVkRGlyLFxuICAgICAgJ2Zsb3cuZnVuYy9pbmRleC5tanMnXG4gICAgKTtcbiAgICBjb25zdCBtYW5pZmVzdEpzb24gPSBhd2FpdCB0aGlzLmNyZWF0ZU1hbmlmZXN0KHtcbiAgICAgIHdvcmtmbG93QnVuZGxlUGF0aCxcbiAgICAgIG1hbmlmZXN0RGlyOiB3b3JrZmxvd0dlbmVyYXRlZERpcixcbiAgICAgIG1hbmlmZXN0LFxuICAgIH0pO1xuXG4gICAgLy8gRXhwb3NlIG1hbmlmZXN0IGFzIGEgc3RhdGljIGZpbGUgd2hlbiBXT1JLRkxPV19QVUJMSUNfTUFOSUZFU1Q9MS5cbiAgICAvLyBWZXJjZWwgQnVpbGQgT3V0cHV0IEFQSSBzZXJ2ZXMgc3RhdGljIGZpbGVzIGZyb20gLnZlcmNlbC9vdXRwdXQvc3RhdGljL1xuICAgIGlmICh0aGlzLnNob3VsZEV4cG9zZVB1YmxpY01hbmlmZXN0ICYmIG1hbmlmZXN0SnNvbikge1xuICAgICAgY29uc3Qgc3RhdGljTWFuaWZlc3REaXIgPSBqb2luKFxuICAgICAgICBvdXRwdXREaXIsXG4gICAgICAgICdzdGF0aWMvLndlbGwta25vd24vd29ya2Zsb3cvdjEnXG4gICAgICApO1xuICAgICAgYXdhaXQgbWtkaXIoc3RhdGljTWFuaWZlc3REaXIsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuICAgICAgaWYgKHByb2Nlc3MuZW52LlZFUkNFTF9ERVBMT1lNRU5UX0lEID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgYXdhaXQgd3JpdGVGaWxlKGpvaW4oc3RhdGljTWFuaWZlc3REaXIsICcuZ2l0aWdub3JlJyksICcqJyk7XG4gICAgICB9XG4gICAgICBhd2FpdCBjb3B5RmlsZShcbiAgICAgICAgam9pbih3b3JrZmxvd0dlbmVyYXRlZERpciwgJ21hbmlmZXN0Lmpzb24nKSxcbiAgICAgICAgam9pbihzdGF0aWNNYW5pZmVzdERpciwgJ21hbmlmZXN0Lmpzb24nKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBhd2FpdCB0aGlzLmNyZWF0ZUNsaWVudExpYnJhcnkoKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgYnVpbGRXZWJob29rRnVuY3Rpb24oe1xuICAgIHdvcmtmbG93R2VuZXJhdGVkRGlyLFxuICAgIGJ1bmRsZSA9IHRydWUsXG4gIH06IHtcbiAgICB3b3JrZmxvd0dlbmVyYXRlZERpcjogc3RyaW5nO1xuICAgIGJ1bmRsZT86IGJvb2xlYW47XG4gIH0pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zb2xlLmxvZygnQ3JlYXRpbmcgVmVyY2VsIEJ1aWxkIE91dHB1dCBBUEkgd2ViaG9vayBmdW5jdGlvbicpO1xuICAgIGNvbnN0IHdlYmhvb2tGdW5jRGlyID0gam9pbih3b3JrZmxvd0dlbmVyYXRlZERpciwgJ3dlYmhvb2svW3Rva2VuXS5mdW5jJyk7XG5cbiAgICAvLyBCdW5kbGUgdGhlIHdlYmhvb2sgcm91dGUgd2l0aCBkZXBlbmRlbmNpZXMgcmVzb2x2ZWRcbiAgICBhd2FpdCB0aGlzLmNyZWF0ZVdlYmhvb2tCdW5kbGUoe1xuICAgICAgb3V0ZmlsZTogam9pbih3ZWJob29rRnVuY0RpciwgJ2luZGV4Lm1qcycpLFxuICAgICAgYnVuZGxlLCAvLyBCdWlsZCBPdXRwdXQgQVBJIG5lZWRzIGJ1bmRsaW5nIChleGNlcHQgaW4gdGVzdHMpXG4gICAgfSk7XG5cbiAgICAvLyBDcmVhdGUgcGFja2FnZS5qc29uIGFuZCAudmMtY29uZmlnLmpzb24gZm9yIHdlYmhvb2sgZnVuY3Rpb25cbiAgICBhd2FpdCB0aGlzLmNyZWF0ZVBhY2thZ2VKc29uKHdlYmhvb2tGdW5jRGlyLCAnbW9kdWxlJyk7XG4gICAgYXdhaXQgdGhpcy5jcmVhdGVWY0NvbmZpZyh3ZWJob29rRnVuY0Rpciwge1xuICAgICAgaGFuZGxlcjogJ2luZGV4Lm1qcycsXG4gICAgICBzaG91bGRBZGRIZWxwZXJzOiBmYWxzZSxcbiAgICAgIHJ1bnRpbWU6IHRoaXMuY29uZmlnLnJ1bnRpbWUsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGNyZWF0ZUJ1aWxkT3V0cHV0Q29uZmlnKG91dHB1dERpcjogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgLy8gQ3JlYXRlIGNvbmZpZy5qc29uIGZvciBCdWlsZCBPdXRwdXQgQVBJXG4gICAgY29uc3QgYnVpbGRPdXRwdXRDb25maWcgPSB7XG4gICAgICB2ZXJzaW9uOiAzLFxuICAgICAgcm91dGVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBzcmM6ICdeXFxcXC9cXFxcLndlbGwta25vd25cXFxcL3dvcmtmbG93XFxcXC92MVxcXFwvd2ViaG9va1xcXFwvKFteXFxcXC9dKykkJyxcbiAgICAgICAgICBkZXN0OiAnLy53ZWxsLWtub3duL3dvcmtmbG93L3YxL3dlYmhvb2svW3Rva2VuXScsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH07XG5cbiAgICBhd2FpdCB3cml0ZUZpbGUoXG4gICAgICBqb2luKG91dHB1dERpciwgJ2NvbmZpZy5qc29uJyksXG4gICAgICBKU09OLnN0cmluZ2lmeShidWlsZE91dHB1dENvbmZpZywgbnVsbCwgMilcbiAgICApO1xuXG4gICAgY29uc29sZS5sb2coYEJ1aWxkIE91dHB1dCBBUEkgY3JlYXRlZCBhdCAke291dHB1dERpcn1gKTtcbiAgICBjb25zb2xlLmxvZygnQ29tYmluZWQgZnVuY3Rpb24gYXZhaWxhYmxlIGF0IC8ud2VsbC1rbm93bi93b3JrZmxvdy92MS9mbG93Jyk7XG4gICAgY29uc29sZS5sb2coXG4gICAgICAnV2ViaG9vayBmdW5jdGlvbiBhdmFpbGFibGUgYXQgLy53ZWxsLWtub3duL3dvcmtmbG93L3YxL3dlYmhvb2svW3Rva2VuXSdcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -62,4 +62,4 @@ export async function resolveWorkflowAliasRelativePath(absoluteFilePath, working
62
62
  workflowAliasResolutionCache.set(cacheKey, resolutionPromise);
63
63
  return resolutionPromise;
64
64
  }
65
- //# sourceMappingURL=workflow-alias.js.map
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3ctYWxpYXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvd29ya2Zsb3ctYWxpYXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXBDLE1BQU0sNEJBQTRCLEdBQUcsSUFBSSxHQUFHLEVBR3pDLENBQUM7QUFFSixNQUFNLG9CQUFvQixHQUFHO0lBQzNCLGVBQWU7SUFDZixXQUFXO0lBQ1gsU0FBUztJQUNULEtBQUs7SUFDTCxXQUFXO0lBQ1gsT0FBTztDQUNDLENBQUM7QUFFWCxTQUFTLDhCQUE4QixDQUNyQyxzQkFBOEI7SUFFOUIsTUFBTSxVQUFVLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztJQUNyQyxLQUFLLE1BQU0sU0FBUyxJQUFJLG9CQUFvQixFQUFFLENBQUM7UUFDN0MsTUFBTSxNQUFNLEdBQUcsSUFBSSxTQUFTLEdBQUcsQ0FBQztRQUNoQyxNQUFNLFdBQVcsR0FBRyxzQkFBc0IsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0QsSUFBSSxXQUFXLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUN2QixTQUFTO1FBQ1gsQ0FBQztRQUNELFVBQVUsQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDaEMsQ0FBQztBQUVELE1BQU0sVUFBVSxpQ0FBaUM7SUFDL0MsNEJBQTRCLENBQUMsS0FBSyxFQUFFLENBQUM7QUFDdkMsQ0FBQztBQUVELE1BQU0sQ0FBQyxLQUFLLFVBQVUsZ0NBQWdDLENBQ3BELGdCQUF3QixFQUN4QixVQUFrQjtJQUVsQixNQUFNLHNCQUFzQixHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFFcEUsTUFBTSxRQUFRLEdBQUcsR0FBRyxVQUFVLEtBQUssc0JBQXNCLEVBQUUsQ0FBQztJQUM1RCxNQUFNLE1BQU0sR0FBRyw0QkFBNEIsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDMUQsSUFBSSxNQUFNLEVBQUUsQ0FBQztRQUNYLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxNQUFNLGlCQUFpQixHQUFHLENBQUMsS0FBSyxJQUFJLEVBQUU7UUFDcEMsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLEtBQUssQ0FDN0QsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUNoQixDQUFDO1FBQ0YsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDdEIsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztRQUNELE1BQU0sMEJBQTBCLEdBQUcsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztRQUN4RSxNQUFNLGVBQWUsR0FBRyw4QkFBOEIsQ0FDcEQsc0JBQXNCLENBQ3ZCLENBQUM7UUFDRixJQUFJLGVBQWUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDakMsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztRQUVELEtBQUssTUFBTSxpQkFBaUIsSUFBSSxlQUFlLEVBQUUsQ0FBQztZQUNoRCxNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUMsVUFBVSxFQUFFLGlCQUFpQixDQUFDLENBQUM7WUFDN0QsSUFBSSxDQUFDO2dCQUNILE1BQU0sTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQzlCLENBQUM7WUFBQyxNQUFNLENBQUM7Z0JBQ1AsU0FBUztZQUNYLENBQUM7WUFDRCxNQUFNLHFCQUFxQixHQUFHLE1BQU0sUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEtBQUssQ0FDL0QsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUNoQixDQUFDO1lBQ0YsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7Z0JBQzNCLFNBQVM7WUFDWCxDQUFDO1lBQ0QsSUFDRSxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxLQUFLLDBCQUEwQixFQUN4RSxDQUFDO2dCQUNELE9BQU8saUJBQWlCLENBQUM7WUFDM0IsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDLENBQUMsRUFBRSxDQUFDO0lBRUwsNEJBQTRCLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0lBQzlELE9BQU8saUJBQWlCLENBQUM7QUFDM0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFjY2VzcywgcmVhbHBhdGggfSBmcm9tICdub2RlOmZzL3Byb21pc2VzJztcbmltcG9ydCB7IHJlc29sdmUgfSBmcm9tICdub2RlOnBhdGgnO1xuXG5jb25zdCB3b3JrZmxvd0FsaWFzUmVzb2x1dGlvbkNhY2hlID0gbmV3IE1hcDxcbiAgc3RyaW5nLFxuICBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD5cbj4oKTtcblxuY29uc3QgV09SS0ZMT1dfQUxJQVNfUk9PVFMgPSBbXG4gICdzcmMvd29ya2Zsb3dzJyxcbiAgJ3dvcmtmbG93cycsXG4gICdzcmMvYXBwJyxcbiAgJ2FwcCcsXG4gICdzcmMvcGFnZXMnLFxuICAncGFnZXMnLFxuXSBhcyBjb25zdDtcblxuZnVuY3Rpb24gZ2V0QWxpYXNSZWxhdGl2ZVBhdGhDYW5kaWRhdGVzKFxuICBub3JtYWxpemVkQWJzb2x1dGVQYXRoOiBzdHJpbmdcbik6IHN0cmluZ1tdIHtcbiAgY29uc3QgY2FuZGlkYXRlcyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICBmb3IgKGNvbnN0IGFsaWFzUm9vdCBvZiBXT1JLRkxPV19BTElBU19ST09UUykge1xuICAgIGNvbnN0IG1hcmtlciA9IGAvJHthbGlhc1Jvb3R9L2A7XG4gICAgY29uc3QgbWFya2VySW5kZXggPSBub3JtYWxpemVkQWJzb2x1dGVQYXRoLmxhc3RJbmRleE9mKG1hcmtlcik7XG4gICAgaWYgKG1hcmtlckluZGV4ID09PSAtMSkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIGNhbmRpZGF0ZXMuYWRkKG5vcm1hbGl6ZWRBYnNvbHV0ZVBhdGguc2xpY2UobWFya2VySW5kZXggKyAxKSk7XG4gIH1cbiAgcmV0dXJuIEFycmF5LmZyb20oY2FuZGlkYXRlcyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjbGVhcldvcmtmbG93QWxpYXNSZXNvbHV0aW9uQ2FjaGUoKTogdm9pZCB7XG4gIHdvcmtmbG93QWxpYXNSZXNvbHV0aW9uQ2FjaGUuY2xlYXIoKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlc29sdmVXb3JrZmxvd0FsaWFzUmVsYXRpdmVQYXRoKFxuICBhYnNvbHV0ZUZpbGVQYXRoOiBzdHJpbmcsXG4gIHdvcmtpbmdEaXI6IHN0cmluZ1xuKTogUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgY29uc3Qgbm9ybWFsaXplZEFic29sdXRlUGF0aCA9IGFic29sdXRlRmlsZVBhdGgucmVwbGFjZSgvXFxcXC9nLCAnLycpO1xuXG4gIGNvbnN0IGNhY2hlS2V5ID0gYCR7d29ya2luZ0Rpcn06OiR7bm9ybWFsaXplZEFic29sdXRlUGF0aH1gO1xuICBjb25zdCBjYWNoZWQgPSB3b3JrZmxvd0FsaWFzUmVzb2x1dGlvbkNhY2hlLmdldChjYWNoZUtleSk7XG4gIGlmIChjYWNoZWQpIHtcbiAgICByZXR1cm4gY2FjaGVkO1xuICB9XG5cbiAgY29uc3QgcmVzb2x1dGlvblByb21pc2UgPSAoYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHJlc29sdmVkRmlsZVBhdGggPSBhd2FpdCByZWFscGF0aChhYnNvbHV0ZUZpbGVQYXRoKS5jYXRjaChcbiAgICAgICgpID0+IHVuZGVmaW5lZFxuICAgICk7XG4gICAgaWYgKCFyZXNvbHZlZEZpbGVQYXRoKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBjb25zdCBub3JtYWxpemVkUmVzb2x2ZWRGaWxlUGF0aCA9IHJlc29sdmVkRmlsZVBhdGgucmVwbGFjZSgvXFxcXC9nLCAnLycpO1xuICAgIGNvbnN0IGFsaWFzQ2FuZGlkYXRlcyA9IGdldEFsaWFzUmVsYXRpdmVQYXRoQ2FuZGlkYXRlcyhcbiAgICAgIG5vcm1hbGl6ZWRBYnNvbHV0ZVBhdGhcbiAgICApO1xuICAgIGlmIChhbGlhc0NhbmRpZGF0ZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgYWxpYXNSZWxhdGl2ZVBhdGggb2YgYWxpYXNDYW5kaWRhdGVzKSB7XG4gICAgICBjb25zdCBjYW5kaWRhdGVQYXRoID0gcmVzb2x2ZSh3b3JraW5nRGlyLCBhbGlhc1JlbGF0aXZlUGF0aCk7XG4gICAgICB0cnkge1xuICAgICAgICBhd2FpdCBhY2Nlc3MoY2FuZGlkYXRlUGF0aCk7XG4gICAgICB9IGNhdGNoIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBjb25zdCByZXNvbHZlZENhbmRpZGF0ZVBhdGggPSBhd2FpdCByZWFscGF0aChjYW5kaWRhdGVQYXRoKS5jYXRjaChcbiAgICAgICAgKCkgPT4gdW5kZWZpbmVkXG4gICAgICApO1xuICAgICAgaWYgKCFyZXNvbHZlZENhbmRpZGF0ZVBhdGgpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBpZiAoXG4gICAgICAgIHJlc29sdmVkQ2FuZGlkYXRlUGF0aC5yZXBsYWNlKC9cXFxcL2csICcvJykgPT09IG5vcm1hbGl6ZWRSZXNvbHZlZEZpbGVQYXRoXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIGFsaWFzUmVsYXRpdmVQYXRoO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9KSgpO1xuXG4gIHdvcmtmbG93QWxpYXNSZXNvbHV0aW9uQ2FjaGUuc2V0KGNhY2hlS2V5LCByZXNvbHV0aW9uUHJvbWlzZSk7XG4gIHJldHVybiByZXNvbHV0aW9uUHJvbWlzZTtcbn1cbiJdfQ==
@@ -50,4 +50,4 @@ describe('resolveWorkflowAliasRelativePath', () => {
50
50
  await expect(resolveWorkflowAliasRelativePath(externalFilePath, workingDir)).resolves.toBe('app/.well-known/agent/v1/steps.ts');
51
51
  });
52
52
  });
53
- //# sourceMappingURL=workflow-alias.test.js.map
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3ctYWxpYXMudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy93b3JrZmxvdy1hbGlhcy50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxXQUFXLEVBQ1gsU0FBUyxFQUNULE1BQU0sRUFDTixXQUFXLEVBQ1gsYUFBYSxHQUNkLE1BQU0sU0FBUyxDQUFDO0FBQ2pCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDakMsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDMUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDckUsT0FBTyxFQUNMLGlDQUFpQyxFQUNqQyxnQ0FBZ0MsR0FDakMsTUFBTSxxQkFBcUIsQ0FBQztBQUU3QixTQUFTLFNBQVMsQ0FBQyxJQUFZO0lBQzdCLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM5QyxhQUFhLENBQUMsSUFBSSxFQUFFLG1CQUFtQixFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ3BELENBQUM7QUFFRCxRQUFRLENBQUMsa0NBQWtDLEVBQUUsR0FBRyxFQUFFO0lBQ2hELElBQUksUUFBZ0IsQ0FBQztJQUNyQixJQUFJLFVBQWtCLENBQUM7SUFFdkIsVUFBVSxDQUFDLEdBQUcsRUFBRTtRQUNkLGlDQUFpQyxFQUFFLENBQUM7UUFDcEMsUUFBUSxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsaUJBQWlCLENBQUMsQ0FBQyxDQUFDO1FBQzFELFVBQVUsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ3ZDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxTQUFTLEVBQUUs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LENBQUM7SUFDdkQsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIG1rZHRlbXBTeW5jLFxuICBta2RpclN5bmMsXG4gIHJtU3luYyxcbiAgc3ltbGlua1N5bmMsXG4gIHdyaXRlRmlsZVN5bmMsXG59IGZyb20gJ25vZGU6ZnMnO1xuaW1wb3J0IHsgdG1wZGlyIH0gZnJvbSAnbm9kZTpvcyc7XG5pbXBvcnQgeyBkaXJuYW1lLCBqb2luIH0gZnJvbSAnbm9kZTpwYXRoJztcbmltcG9ydCB7IGFmdGVyRWFjaCwgYmVmb3JlRWFjaCwgZGVzY3JpYmUsIGV4cGVjdCwgaXQgfSBmcm9tICd2aXRlc3QnO1xuaW1wb3J0IHtcbiAgY2xlYXJXb3JrZmxvd0FsaWFzUmVzb2x1dGlvbkNhY2hlLFxuICByZXNvbHZlV29ya2Zsb3dBbGlhc1JlbGF0aXZlUGF0aCxcbn0gZnJvbSAnLi93b3JrZmxvdy1hbGlhcy5qcyc7XG5cbmZ1bmN0aW9uIHdyaXRlRmlsZShwYXRoOiBzdHJpbmcpOiB2b2lkIHtcbiAgbWtkaXJTeW5jKGRpcm5hbWUocGF0aCksIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuICB3cml0ZUZpbGVTeW5jKHBhdGgsIFwiJ3VzZSB3b3JrZmxvdyc7XFxuXCIsICd1dGYtOCcpO1xufVxuXG5kZXNjcmliZSgncmVzb2x2ZVdvcmtmbG93QWxpYXNSZWxhdGl2ZVBhdGgnLCAoKSA9PiB7XG4gIGxldCB0ZXN0Um9vdDogc3RyaW5nO1xuICBsZXQgd29ya2luZ0Rpcjogc3RyaW5nO1xuXG4gIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgIGNsZWFyV29ya2Zsb3dBbGlhc1Jlc29sdXRpb25DYWNoZSgpO1xuICAgIHRlc3RSb290ID0gbWtkdGVtcFN5bmMoam9pbih0bXBkaXIoKSwgJ3dvcmtmbG93LWFsaWFzLScpKTtcbiAgICB3b3JraW5nRGlyID0gam9pbih0ZXN0Um9vdCwgJ3Byb2plY3QnKTtcbiAgICBta2RpclN5bmMod29ya2luZ0RpciwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG4gIH0pO1xuXG4gIGFmdGVyRWFjaCgoKSA9PiB7XG4gICAgY2xlYXJXb3JrZmxvd0FsaWFzUmVzb2x1dGlvbkNhY2hlKCk7XG4gICAgcm1TeW5jKHRlc3RSb290LCB7IHJlY3Vyc2l2ZTogdHJ1ZSwgZm9yY2U6IHRydWUgfSk7XG4gIH0pO1xuXG4gIGl0KCdtYXBzIGZpbGVzIGluIHdvcmtmbG93cy8gdG8gd29ya2Zsb3dzLyogYWxpYXNlcycsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBmaWxlUGF0aCA9IGpvaW4od29ya2luZ0RpciwgJ3dvcmtmbG93cycsICdmb28udHMnKTtcbiAgICB3cml0ZUZpbGUoZmlsZVBhdGgpO1xuXG4gICAgYXdhaXQgZXhwZWN0KFxuICAgICAgcmVzb2x2ZVdvcmtmbG93QWxpYXNSZWxhdGl2ZVBhdGgoZmlsZVBhdGgsIHdvcmtpbmdEaXIpXG4gICAgKS5yZXNvbHZlcy50b0JlKCd3b3JrZmxvd3MvZm9vLnRzJyk7XG4gIH0pO1xuXG4gIGl0KCdtYXBzIGZpbGVzIGluIHNyYy93b3JrZmxvd3MvIHRvIHNyYy93b3JrZmxvd3MvKiBhbGlhc2VzJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGZpbGVQYXRoID0gam9pbih3b3JraW5nRGlyLCAnc3JjJywgJ3dvcmtmbG93cycsICdmb28udHMnKTtcbiAgICB3cml0ZUZpbGUoZmlsZVBhdGgpO1xuXG4gICAgYXdhaXQgZXhwZWN0KFxuICAgICAgcmVzb2x2ZVdvcmtmbG93QWxpYXNSZWxhdGl2ZVBhdGgoZmlsZVBhdGgsIHdvcmtpbmdEaXIpXG4gICAgKS5yZXNvbHZlcy50b0JlKCdzcmMvd29ya2Zsb3dzL2Zvby50cycpO1xuICB9KTtcblxuICBpdCgncmV0dXJucyB1bmRlZmluZWQgZm9yIGZpbGVzIHRoYXQgYXJlIG5vdCB1bmRlciB3b3JrZmxvd3MgcGF0aHMnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgZmlsZVBhdGggPSBqb2luKHdvcmtpbmdEaXIsICdsaWInLCAnZm9vLnRzJyk7XG4gICAgd3JpdGVGaWxlKGZpbGVQYXRoKTtcblxuICAgIGF3YWl0IGV4cGVjdChcbiAgICAgIHJlc29sdmVXb3JrZmxvd0FsaWFzUmVsYXRpdmVQYXRoKGZpbGVQYXRoLCB3b3JraW5nRGlyKVxuICAgICkucmVzb2x2ZXMudG9CZVVuZGVmaW5lZCgpO1xuICB9KTtcblxuICBpdCgncmV0dXJucyB1bmRlZmluZWQgd2hlbiBiYXNlbmFtZSBtYXRjaGVzIGJ1dCByZWFscGF0aCBkaWZmZXJzJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHdvcmtmbG93RmlsZVBhdGggPSBqb2luKHdvcmtpbmdEaXIsICd3b3JrZmxvd3MnLCAnZm9vLnRzJyk7XG4gICAgY29uc3QgZXh0ZXJuYWxGaWxlUGF0aCA9IGpvaW4odGVzdFJvb3QsICdleHRlcm5hbCcsICd3b3JrZmxvd3MnLCAnZm9vLnRzJyk7XG4gICAgd3JpdGVGaWxlKHdvcmtmbG93RmlsZVBhdGgpO1xuICAgIHdyaXRlRmlsZShleHRlcm5hbEZpbGVQYXRoKTtcblxuICAgIGF3YWl0IGV4cGVjdChcbiAgICAgIHJlc29sdmVXb3JrZmxvd0FsaWFzUmVsYXRpdmVQYXRoKGV4dGVybmFsRmlsZVBhdGgsIHdvcmtpbmdEaXIpXG4gICAgKS5yZXNvbHZlcy50b0JlVW5kZWZpbmVkKCk7XG4gIH0pO1xuXG4gIGl0KCdtYXBzIHN5bWxpbmtlZCBhcHAgZmlsZXMgdG8gYXBwLyogYWxpYXNlcycsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBleHRlcm5hbEFwcERpciA9IGpvaW4odGVzdFJvb3QsICdleHRlcm5hbCcsICdhcHAnKTtcbiAgICBjb25zdCBleHRlcm5hbEZpbGVQYXRoID0gam9pbihcbiAgICAgIGV4dGVybmFsQXBwRGlyLFxuICAgICAgJy53ZWxsLWtub3duJyxcbiAgICAgICdhZ2VudCcsXG4gICAgICAndjEnLFxuICAgICAgJ3N0ZXBzLnRzJ1xuICAgICk7XG4gICAgd3JpdGVGaWxlKGV4dGVybmFsRmlsZVBhdGgpO1xuXG4gICAgc3ltbGlua1N5bmMoXG4gICAgICBleHRlcm5hbEFwcERpcixcbiAgICAgIGpvaW4od29ya2luZ0RpciwgJ2FwcCcpLFxuICAgICAgcHJvY2Vzcy5wbGF0Zm9ybSA9PT0gJ3dpbjMyJyA/ICdqdW5jdGlvbicgOiAnZGlyJ1xuICAgICk7XG5cbiAgICBhd2FpdCBleHBlY3QoXG4gICAgICByZXNvbHZlV29ya2Zsb3dBbGlhc1JlbGF0aXZlUGF0aChleHRlcm5hbEZpbGVQYXRoLCB3b3JraW5nRGlyKVxuICAgICkucmVzb2x2ZXMudG9CZSgnYXBwLy53ZWxsLWtub3duL2FnZW50L3YxL3N0ZXBzLnRzJyk7XG4gIH0pO1xufSk7XG4iXX0=