dbctx 1.4.5 → 1.5.0

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 (48) hide show
  1. package/README.md +6 -50
  2. package/dist/app/assemble.d.mts +2 -2
  3. package/dist/app/assemble.d.mts.map +1 -1
  4. package/dist/app/assemble.mjs +19 -14
  5. package/dist/app/db.d.mts.map +1 -1
  6. package/dist/app/db.mjs +3 -2
  7. package/dist/app/detect.d.mts +1 -0
  8. package/dist/app/detect.d.mts.map +1 -1
  9. package/dist/app/detect.mjs +3 -2
  10. package/dist/app/index.d.mts.map +1 -1
  11. package/dist/app/index.mjs +84 -10
  12. package/dist/app/session.d.mts +2 -2
  13. package/dist/app/session.d.mts.map +1 -1
  14. package/dist/app/session.mjs +3 -3
  15. package/dist/app/ssh.d.mts.map +1 -1
  16. package/dist/app/ssh.mjs +12 -1
  17. package/dist/db/foreign-keys.mjs +3 -3
  18. package/dist/db/index.d.mts +1 -1
  19. package/dist/db/index.d.mts.map +1 -1
  20. package/dist/db/index.mjs +2 -2
  21. package/dist/db/relations.d.mts +1 -0
  22. package/dist/db/relations.d.mts.map +1 -1
  23. package/dist/db/relations.mjs +10 -1
  24. package/dist/db/stats.mjs +3 -3
  25. package/dist/index.d.mts +5 -0
  26. package/dist/index.d.mts.map +1 -1
  27. package/dist/index.mjs +28 -4
  28. package/dist/store.d.mts +20 -1
  29. package/dist/store.d.mts.map +1 -1
  30. package/dist/store.mjs +18 -2
  31. package/dist/ui/App.d.ts.map +1 -1
  32. package/dist/ui/App.js +13 -3
  33. package/dist/ui/components/OutputJson.d.ts +10 -0
  34. package/dist/ui/components/OutputJson.d.ts.map +1 -0
  35. package/dist/ui/components/OutputJson.js +18 -0
  36. package/dist/ui/components/TextInput.d.ts +11 -0
  37. package/dist/ui/components/TextInput.d.ts.map +1 -0
  38. package/dist/ui/components/TextInput.js +286 -0
  39. package/dist/ui/components/UserExplanation.d.ts +10 -0
  40. package/dist/ui/components/UserExplanation.d.ts.map +1 -0
  41. package/dist/ui/components/UserExplanation.js +34 -0
  42. package/dist/validatePaths.d.mts +1 -0
  43. package/dist/validatePaths.d.mts.map +1 -1
  44. package/dist/validatePaths.mjs +2 -2
  45. package/package.json +1 -1
  46. package/dist/schemas/index.d.mts +0 -107
  47. package/dist/schemas/index.d.mts.map +0 -1
  48. package/dist/schemas/index.mjs +0 -116
package/dist/index.d.mts CHANGED
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env node
2
+ import { type TStopAfterStage } from './store.mjs';
2
3
  export type TSSLMode = 'disable' | 'allow' | 'prefer' | 'require' | 'verify-ca' | 'verify-full';
3
4
  export interface TOptions {
4
5
  hostname?: string;
@@ -14,5 +15,9 @@ export interface TOptions {
14
15
  sshPort?: number;
15
16
  sshUsername?: string;
16
17
  sshKey?: string;
18
+ outputIntrospectionJson?: string;
19
+ stopAfter?: TStopAfterStage;
20
+ overwrite?: boolean;
21
+ explanation?: string;
17
22
  }
18
23
  //# sourceMappingURL=index.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","sourceRoot":"./src/","sources":["index.mts"],"names":[],"mappings":";AA+BA,MAAM,MAAM,QAAQ,GACd,SAAS,GACT,OAAO,GACP,QAAQ,GACR,SAAS,GACT,WAAW,GACX,aAAa,CAAC;AAEpB,MAAM,WAAW,QAAQ;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB"}
1
+ {"version":3,"file":"index.d.mts","sourceRoot":"./src/","sources":["index.mts"],"names":[],"mappings":";AAOA,OAAO,EAGH,KAAK,eAAe,EACvB,MAAM,aAAa,CAAC;AAyBrB,MAAM,MAAM,QAAQ,GACd,SAAS,GACT,OAAO,GACP,QAAQ,GACR,SAAS,GACT,WAAW,GACX,aAAa,CAAC;AAEpB,MAAM,WAAW,QAAQ;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB"}
package/dist/index.mjs CHANGED
@@ -5,9 +5,9 @@ import { createElement } from 'react';
5
5
  import { Error } from './ui/components/Error.js';
6
6
  import { App } from './ui/App.js';
7
7
  import { Splash } from './ui/components/Splash.js';
8
- import { createAppStore } from './store.mjs';
8
+ import { createAppStore, STOP_AFTER_STAGES, } from './store.mjs';
9
9
  import { runInAction } from 'mobx';
10
- import { validatePathOptions, } from './validatePaths.mjs';
10
+ import { validatePathOptions, normalizePath, } from './validatePaths.mjs';
11
11
  import { run } from './app/index.mjs';
12
12
  import { CLIENT_VERSION } from './lib/version.mjs';
13
13
  import { DBCTX_DEV } from '#client/lib/env.mjs';
@@ -55,6 +55,10 @@ const generate = program
55
55
  .option('--ssh-port <port>', 'SSH tunnel port (default: 22)', parseInt)
56
56
  .option('--ssh-username <user>', 'SSH tunnel username (default: $USER)')
57
57
  .option('-i, --ssh-key <path>', 'path to SSH private key (default: ~/.ssh/id_rsa)')
58
+ .option('--output-introspection-json <path>', 'write introspection JSON to file')
59
+ .option('--stop-after <stage>', 'exit after stage completes (ssh-connect, db-connect, introspection)')
60
+ .option('--overwrite', 'skip overwrite confirmation for output files')
61
+ .option('--explanation <text>', 'provide database explanation (skips interactive prompt)')
58
62
  .action((connectionString, options) => {
59
63
  // Show help if no connection config is provided
60
64
  const hasCLIConfig = connectionString !== undefined ||
@@ -107,6 +111,10 @@ const generate = program
107
111
  ...options,
108
112
  ...expandedPaths,
109
113
  };
114
+ // Resolve output introspection path
115
+ const resolvedOutputPath = validatedOptions.outputIntrospectionJson
116
+ ? normalizePath(validatedOptions.outputIntrospectionJson)
117
+ : null;
110
118
  // Build config and render the app
111
119
  const sshDefaults = validatedOptions.ssh
112
120
  ? parseSSHTarget(validatedOptions.ssh)
@@ -118,7 +126,19 @@ const generate = program
118
126
  sshPort: validatedOptions.sshPort ?? sshDefaults?.port,
119
127
  sshUsername: validatedOptions.sshUsername ?? sshDefaults?.username,
120
128
  };
121
- const store = createAppStore(config);
129
+ const stopAfter = validatedOptions.stopAfter ?? null;
130
+ if (stopAfter !== null && !STOP_AFTER_STAGES.includes(stopAfter)) {
131
+ render(Error({
132
+ message: `Invalid --stop-after stage "${stopAfter}". Valid stages: ${STOP_AFTER_STAGES.join(', ')}`,
133
+ }));
134
+ process.exit(1);
135
+ }
136
+ const store = createAppStore(config, {
137
+ outputIntrospectionJson: resolvedOutputPath,
138
+ stopAfter,
139
+ overwrite: validatedOptions.overwrite ?? false,
140
+ explanation: validatedOptions.explanation ?? null,
141
+ });
122
142
  render(createElement(App, { store }));
123
143
  if (connectionStringError) {
124
144
  runInAction(() => {
@@ -150,6 +170,10 @@ const fireRunTelemetry = async () => {
150
170
  username: args.includes('-U') || args.includes('--username'),
151
171
  ssl: ['--sslmode', '--sslcert', '--sslkey', '--sslrootcert'].some((f) => args.includes(f)),
152
172
  ssh: args.includes('--ssh') || args.includes('--ssh-host'),
173
+ output_introspection_json: args.includes('--output-introspection-json'),
174
+ stop_after: args.includes('--stop-after'),
175
+ overwrite: args.includes('--overwrite'),
176
+ explanation: args.includes('--explanation'),
153
177
  },
154
178
  is_docker: detectDocker(),
155
179
  is_ssh_session: detectSSHSession(),
@@ -170,4 +194,4 @@ catch (err) {
170
194
  }
171
195
  }
172
196
  program.parse();
173
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgubWpzIiwic291cmNlUm9vdCI6Ii4vc3JjLyIsInNvdXJjZXMiOlsiaW5kZXgubXRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sV0FBVyxDQUFDO0FBQ2xDLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxLQUFLLENBQUM7QUFDM0IsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLE9BQU8sQ0FBQztBQUNwQyxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDL0MsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGFBQWEsQ0FBQztBQUNoQyxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDakQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGFBQWEsQ0FBQztBQUMzQyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ2pDLE9BQU8sRUFDSCxtQkFBbUIsR0FFdEIsTUFBTSxxQkFBcUIsQ0FBQztBQUU3QixPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDcEMsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUM5QyxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDdEMsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzFDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUM1QyxPQUFPLEVBQ0gsWUFBWSxFQUNaLFFBQVEsRUFDUixXQUFXLEVBQ1gsU0FBUyxFQUNULGtCQUFrQixFQUNsQixvQkFBb0IsRUFDcEIsZ0JBQWdCLEdBQ25CLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGNBQWMsQ0FBQztBQTBCcEMsTUFB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QUFFO1FBQ2QsTUFBTSxFQUFFLFNBQVMsRUFBRTtRQUNuQixhQUFhLEVBQUUsa0JBQWtCLEVBQUU7UUFDbkMsZUFBZSxFQUFFLG9CQUFvQixFQUFFO1FBQ3ZDLFNBQVMsRUFBRSxNQUFNLENBQUMsU0FBUztLQUM5QixDQUFDLENBQUM7QUFDUCxDQUFDLENBQUM7QUFFRixJQUFJLENBQUM7SUFDRCxNQUFNLGdCQUFnQixFQUFFLENBQUM7QUFDN0IsQ0FBQztBQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7SUFDWCxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQ1osTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsRUFBRSxFQUFFLEVBQUMsS0FBSyxFQUFFLEdBQUcsRUFBQyxDQUFDLENBQUM7SUFDekMsQ0FBQztBQUNMLENBQUM7QUFFRCxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIjIS91c3IvYmluL2VudiBub2RlXG5pbXBvcnQge0NvbW1hbmR9IGZyb20gJ2NvbW1hbmRlcic7XG5pbXBvcnQge3JlbmRlcn0gZnJvbSAnaW5rJztcbmltcG9ydCB7Y3JlYXRlRWxlbWVudH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHtFcnJvcn0gZnJvbSAnLi91aS9jb21wb25lbnRzL0Vycm9yLmpzJztcbmltcG9ydCB7QXBwfSBmcm9tICcuL3VpL0FwcC5qcyc7XG5pbXBvcnQge1NwbGFzaH0gZnJvbSAnLi91aS9jb21wb25lbnRzL1NwbGFzaC5qcyc7XG5pbXBvcnQge2NyZWF0ZUFwcFN0b3JlfSBmcm9tICcuL3N0b3JlLm1qcyc7XG5pbXBvcnQge3J1bkluQWN0aW9ufSBmcm9tICdtb2J4JztcbmltcG9ydCB7XG4gICAgdmFsaWRhdGVQYXRoT3B0aW9ucyxcbiAgICB0eXBlIFRQYXRoVmFsaWRhdGlvbkVycm9yLFxufSBmcm9tICcuL3ZhbGlkYXRlUGF0aHMubWpzJztcbmltcG9ydCB7VENvbm5lY3Rpb25Db25maWd9IGZyb20gJy4vdHlwZXMvY29ubmVjdGlvbi5tanMnO1xuaW1wb3J0IHtydW59IGZyb20gJy4vYXBwL2luZGV4Lm1qcyc7XG5pbXBvcnQge0NMSUVOVF9WRVJTSU9OfSBmcm9tICcuL2xpYi92ZXJzaW9uLm1qcyc7XG5pbXBvcnQge0RCQ1RYX0RFVn0gZnJvbSAnI2NsaWVudC9saWIvZW52Lm1qcyc7XG5pbXBvcnQge3Njb3BlfSBmcm9tICdzY29wZS11dGlsaXRpZXMnO1xuaW1wb3J0IHt0cnBjfSBmcm9tICcjY2xpZW50L2xpYi90cnBjLm1qcyc7XG5pbXBvcnQge3JlYWRDb25maWd9IGZyb20gJy4vYXBwL2NvbmZpZy5tanMnO1xuaW1wb3J0IHtcbiAgICBkZXRlY3REb2NrZXIsXG4gICAgZGV0ZWN0T1MsXG4gICAgZGV0ZWN0U2hlbGwsXG4gICAgZGV0ZWN0V1NMLFxuICAgIGRldGVjdFN5c3RlbU1lbW9yeSxcbiAgICBkZXRlY3RQYWNrYWdlTWFuYWdlcixcbiAgICBkZXRlY3RTU0hTZXNzaW9uLFxufSBmcm9tICcuL2FwcC9kZXRlY3QubWpzJztcbmltcG9ydCB7bG9nZ2VyfSBmcm9tICcuL2xvZ2dlci5tanMnO1xuXG5leHBvcnQgdHlwZSBUU1NMTW9kZSA9XG4gICAgfCAnZGlzYWJsZSdcbiAgICB8ICdhbGxvdydcbiAgICB8ICdwcmVmZXInXG4gICAgfCAncmVxdWlyZSdcbiAgICB8ICd2ZXJpZnktY2EnXG4gICAgfCAndmVyaWZ5LWZ1bGwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRPcHRpb25zIHtcbiAgICBob3N0bmFtZT86IHN0cmluZztcbiAgICBwb3J0PzogbnVtYmVyO1xuICAgIGRhdGFiYXNlPzogc3RyaW5nO1xuICAgIHVzZXJuYW1lPzogc3RyaW5nO1xuICAgIHNzbG1vZGU/OiBUU1NMTW9kZTtcbiAgICBzc2xjZXJ0Pzogc3RyaW5nO1xuICAgIHNzbGtleT86IHN0cmluZztcbiAgICBzc2xyb290Y2VydD86IHN0cmluZztcbiAgICBzc2g/OiBzdHJpbmc7XG4gICAgc3NoSG9zdD86IHN0cmluZztcbiAgICBzc2hQb3J0PzogbnVtYmVyO1xuICAgIHNzaFVzZXJuYW1lPzogc3RyaW5nO1xuICAgIHNzaEtleT86IHN0cmluZztcbn1cblxuY29uc3QgcGFyc2VTU0hUYXJnZXQgPSAoXG4gICAgdGFyZ2V0OiBzdHJpbmcsXG4pOiB7XG4gICAgdXNlcm5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICBob3N0OiBzdHJpbmc7XG4gICAgcG9ydDogbnVtYmVyIHwgdW5kZWZpbmVkO1xufSA9PiB7XG4gICAgY29uc3QgYXRJbmRleCA9IHRhcmdldC5pbmRleE9mKCdAJyk7XG4gICAgY29uc3QgdXNlcm5hbWUgPSBhdEluZGV4ID49IDAgPyB0YXJnZXQuc2xpY2UoMCwgYXRJbmRleCkgOiB1bmRlZmluZWQ7XG4gICAgY29uc3QgaG9zdFBvcnQgPSBhdEluZGV4ID49IDAgPyB0YXJnZXQuc2xpY2UoYXRJbmRleCArIDEpIDogdGFyZ2V0O1xuICAgIGNvbnN0IGNvbG9uSW5kZXggPSBob3N0UG9ydC5sYXN0SW5kZXhPZignOicpO1xuICAgIGNvbnN0IGhvc3QgPSBjb2xvbkluZGV4ID49IDAgPyBob3N0UG9ydC5zbGljZSgwLCBjb2xvbkluZGV4KSA6IGhvc3RQb3J0O1xuICAgIGNvbnN0IHBvcnQgPVxuICAgICAgICBjb2xvbkluZGV4ID49IDBcbiAgICAgICAgICAgID8gcGFyc2VJbnQoaG9zdFBvcnQuc2xpY2UoY29sb25JbmRleCArIDEpLCAxMClcbiAgICAgICAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgcmV0dXJuIHt1c2VybmFtZSwgaG9zdCwgcG9ydH07XG59O1xuXG5jb25zdCBwcm9ncmFtID0gbmV3IENvbW1hbmQoKTtcblxucHJvZ3JhbVxuICAgIC5uYW1lKCdkYmN0eCcpXG4gICAgLnZlcnNpb24oQ0xJRU5UX1ZFUlNJT04pXG4gICAgLmhlbHBPcHRpb24oJy0taGVscCcsICdkaXNwbGF5IGhlbHAgZm9yIGNvbW1hbmQnKVxuICAgIC5hZGRIZWxwVGV4dCgnYmVmb3JlQWxsJywgKCkgPT4ge1xuICAgICAgICBjb25zdCB7dW5tb3VudH0gPSByZW5kZXIoY3JlYXRlRWxlbWVudChTcGxhc2gpKTtcbiAgICAgICAgdW5tb3VudCgpO1xuICAgICAgICByZXR1cm4gJyc7XG4gICAgfSk7XG5cbmNvbnN0IGdlbmVyYXRlID0gcHJvZ3JhbVxuICAgIC5jb21tYW5kKCdnZW5lcmF0ZScsIHtpc0RlZmF1bHQ6IHRydWV9KVxuICAgIC5kZXNjcmlwdGlvbignQ29ubmVjdCB0byBhIFBvc3RncmVTUUwgZGF0YWJhc2UgYW5kIGdlbmVyYXRlIGNvbnRleHQnKVxuICAgIC5oZWxwT3B0aW9uKCctLWhlbHAnLCAnZGlzcGxheSBoZWxwIGZvciBjb21tYW5kJylcbiAgICAuYXJndW1lbnQoXG4gICAgICAgICdbY29ubmVjdGlvbi1zdHJpbmddJyxcbiAgICAgICAgJ1Bvc3RncmVTUUwgY29ubmVjdGlvbiBzdHJpbmcgKGVudjogREFUQUJBU0VfVVJMKScsXG4gICAgKVxuICAgIC5vcHRpb24oXG4gICAgICAgICctaCwgLS1ob3N0bmFtZSA8aG9zdD4nLFxuICAgICAgICAnZGF0YWJhc2UgaG9zdG5hbWUgKGVudjogUEdIT1NULCBkZWZhdWx0OiBsb2NhbGhvc3QpJyxcbiAgICApXG4gICAgLm9wdGlvbihcbiAgICAgICAgJy1wLCAtLXBvcnQgPHBvcnQ+JyxcbiAgICAgICAgJ2RhdGFiYXNlIHBvcnQgKGVudjogUEdQT1JULCBkZWZhdWx0OiA1NDMyKScsXG4gICAgICAgIHBhcnNlSW50LFxuICAgIClcbiAgICAub3B0aW9uKFxuICAgICAgICAnLWQsIC0tZGF0YWJhc2UgPG5hbWU+JyxcbiAgICAgICAgJ2RhdGFiYXNlIG5hbWUgKGVudjogUEdEQVRBQkFTRSwgZGVmYXVsdDogcG9zdGdyZXMpJyxcbiAgICApXG4gICAgLm9wdGlvbihcbiAgICAgICAgJy1VLCAtLXVzZXJuYW1lIDx1c2VyPicsXG4gICAgICAgICdkYXRhYmFzZSB1c2VybmFtZSAoZW52OiBQR1VTRVIsIGRlZmF1bHQ6IHBvc3RncmVzKScsXG4gICAgKVxuICAgIC5vcHRpb24oXG4gICAgICAgICctLXNzbG1vZGUgPG1vZGU+JyxcbiAgICAgICAgJ1NTTCBtb2RlOiBkaXNhYmxlfGFsbG93fHByZWZlcnxyZXF1aXJlfHZlcmlmeS1jYXx2ZXJpZnktZnVsbCAoZW52OiBQR1NTTE1PREUsIGRlZmF1bHQ6IHByZWZlciknLFxuICAgIClcbiAgICAub3B0aW9uKCctLXNzbGNlcnQgPHBhdGg+JywgJ3BhdGggdG8gY2xpZW50IGNlcnRpZmljYXRlIChlbnY6IFBHU1NMQ0VSVCknKVxuICAgIC5vcHRpb24oJy0tc3Nsa2V5IDxwYXRoPicsICdwYXRoIHRvIGNsaWVudCBwcml2YXRlIGtleSAoZW52OiBQR1NTTEtFWSknKVxuICAgIC5vcHRpb24oXG4gICAgICAgICctLXNzbHJvb3RjZXJ0IDxwYXRoPicsXG4gICAgICAgICdwYXRoIHRvIHJvb3QgQ0EgY2VydGlmaWNhdGUgKGVudjogUEdTU0xST09UQ0VSVCknLFxuICAgIClcbiAgICAub3B0aW9uKCctLXNzaCA8dGFyZ2V0PicsICdTU0ggdHVubmVsIHRhcmdldCAodXNlckBob3N0Wzpwb3J0XSknKVxuICAgIC5vcHRpb24oJy0tc3NoLWhvc3QgPGhvc3Q+JywgJ1NTSCB0dW5uZWwgaG9zdCAoYmFzdGlvbi9qdW1wIHNlcnZlciknKVxuICAgIC5vcHRpb24oJy0tc3NoLXBvcnQgPHBvcnQ+JywgJ1NTSCB0dW5uZWwgcG9ydCAoZGVmYXVsdDogMjIpJywgcGFyc2VJbnQpXG4gICAgLm9wdGlvbignLS1zc2gtdXNlcm5hbWUgPHVzZXI+JywgJ1NTSCB0dW5uZWwgdXNlcm5hbWUgKGRlZmF1bHQ6ICRVU0VSKScpXG4gICAgLm9wdGlvbihcbiAgICAgICAgJy1pLCAtLXNzaC1rZXkgPHBhdGg+JyxcbiAgICAgICAgJ3BhdGggdG8gU1NIIHByaXZhdGUga2V5IChkZWZhdWx0OiB+Ly5zc2gvaWRfcnNhKScsXG4gICAgKVxuICAgIC5hY3Rpb24oKGNvbm5lY3Rpb25TdHJpbmc6IHN0cmluZyB8IHVuZGVmaW5lZCwgb3B0aW9uczogVE9wdGlvbnMpID0+IHtcbiAgICAgICAgLy8gU2hvdyBoZWxwIGlmIG5vIGNvbm5lY3Rpb24gY29uZmlnIGlzIHByb3ZpZGVkXG4gICAgICAgIGNvbnN0IGhhc0NMSUNvbmZpZyA9XG4gICAgICAgICAgICBjb25uZWN0aW9uU3RyaW5nICE9PSB1bmRlZmluZWQgfHxcbiAgICAgICAgICAgIG9wdGlvbnMuaG9zdG5hbWUgIT09IHVuZGVmaW5lZCB8fFxuICAgICAgICAgICAgb3B0aW9ucy5wb3J0ICE9PSB1bmRlZmluZWQgfHxcbiAgICAgICAgICAgIG9wdGlvbnMuZGF0YWJhc2UgIT09IHVuZGVmaW5lZCB8fFxuICAgICAgICAgICAgb3B0aW9ucy51c2VybmFtZSAhPT0gdW5kZWZpbmVkO1xuXG4gICAgICAgIGNvbnN0IGhhc0VudkNvbmZpZyA9IFtcbiAgICAgICAgICAgICdQR0hPU1QnLFxuICAgICAgICAgICAgJ1BHUE9SVCcsXG4gICAgICAgICAgICAnUEdEQVRBQkFTRScsXG4gICAgICAgICAgICAnUEdVU0VSJyxcbiAgICAgICAgICAgICdQR1BBU1NXT1JEJyxcbiAgICAgICAgICAgICdEQVRBQkFTRV9VUkwnLFxuICAgICAgICBdLnNvbWUoKGtleSkgPT4gcHJvY2Vzcy5lbnZba2V5XSAhPT0gdW5kZWZpbmVkKTtcblxuICAgICAgICBpZiAoIWhhc0NMSUNvbmZpZyAmJiAhaGFzRW52Q29uZmlnKSB7XG4gICAgICAgICAgICBnZW5lcmF0ZS5oZWxwKCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBWYWxpZGF0ZSBjb25uZWN0aW9uIHN0cmluZ3MgYXJlIFBvc3RncmVTUUwgVVJMc1xuICAgICAgICBjb25zdCBlZmZlY3RpdmVDb25uZWN0aW9uU3RyaW5nID1cbiAgICAgICAgICAgIGNvbm5lY3Rpb25TdHJpbmcgPz8gcHJvY2Vzcy5lbnZbJ0RBVEFCQVNFX1VSTCddO1xuXG4gICAgICAgIGNvbnN0IGNvbm5lY3Rpb25TdHJpbmdFcnJvciA9IHNjb3BlKGVmZmVjdGl2ZUNvbm5lY3Rpb25TdHJpbmcpXG4gICAgICAgICAgICAubGV0KChzdHIpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoc3RyID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKCFVUkwuY2FuUGFyc2Uoc3RyKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYE1hbGZvcm1lZCBjb25uZWN0aW9uIHN0cmluZyBcIiR7c3RyfVwiOiBub3QgYSB2YWxpZCBVUkxgO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IHtwcm90b2NvbH0gPSBuZXcgVVJMKHN0cik7XG4gICAgICAgICAgICAgICAgaWYgKHByb3RvY29sICE9PSAncG9zdGdyZXM6JyAmJiBwcm90b2NvbCAhPT0gJ3Bvc3RncmVzcWw6Jykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYEludmFsaWQgY29ubmVjdGlvbiBzdHJpbmcgXCIke3N0cn1cIjogZXhwZWN0ZWQgcG9zdGdyZXM6Ly8gb3IgcG9zdGdyZXNxbDovL2A7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLnZhbHVlKCk7XG5cbiAgICAgICAgLy8gVmFsaWRhdGUgcGF0aCBvcHRpb25zIGV4aXN0IG9uIGZpbGVzeXN0ZW1cbiAgICAgICAgY29uc3Qge2Vycm9yczogcGF0aEVycm9ycywgZXhwYW5kZWRQYXRoc30gPVxuICAgICAgICAgICAgdmFsaWRhdGVQYXRoT3B0aW9ucyhvcHRpb25zKTtcblxuICAgICAgICBpZiAocGF0aEVycm9ycy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb25zdCBlcnJvck1lc3NhZ2VzID0gcGF0aEVycm9yc1xuICAgICAgICAgICAgICAgIC5tYXAoXG4gICAgICAgICAgICAgICAgICAgICh7b3B0aW9uLCBwYXRofTogVFBhdGhWYWxpZGF0aW9uRXJyb3IpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBgICAke29wdGlvbn06ICR7cGF0aH1gLFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuam9pbignXFxuJyk7XG5cbiAgICAgICAgICAgIHJlbmRlcihcbiAgICAgICAgICAgICAgICBFcnJvcih7XG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGBUaGUgZm9sbG93aW5nIHBhdGhzIGRvIG5vdCBleGlzdDpcXG4ke2Vycm9yTWVzc2FnZXN9YCxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIHByb2Nlc3MuZXhpdCgxKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFJlcGxhY2Ugb3JpZ2luYWwgcGF0aHMgd2l0aCBleHBhbmRlZCBwYXRoc1xuICAgICAgICAvLyAofiByZXNvbHZlZCB0byBob21lIGRpcmVjdG9yeSlcbiAgICAgICAgY29uc3QgdmFsaWRhdGVkT3B0aW9uczogVE9wdGlvbnMgPSB7XG4gICAgICAgICAgICAuLi5vcHRpb25zLFxuICAgICAgICAgICAgLi4uZXhwYW5kZWRQYXRocyxcbiAgICAgICAgfTtcblxuICAgICAgICAvLyBCdWlsZCBjb25maWcgYW5kIHJlbmRlciB0aGUgYXBwXG4gICAgICAgIGNvbnN0IHNzaERlZmF1bHRzID0gdmFsaWRhdGVkT3B0aW9ucy5zc2hcbiAgICAgICAgICAgID8gcGFyc2VTU0hUYXJnZXQodmFsaWRhdGVkT3B0aW9ucy5zc2gpXG4gICAgICAgICAgICA6IHVuZGVmaW5lZDtcblxuICAgICAgICBjb25zdCBjb25maWc6IFRDb25uZWN0aW9uQ29uZmlnID0ge1xuICAgICAgICAgICAgY29ubmVjdGlvblN0cmluZzogZWZmZWN0aXZlQ29ubmVjdGlvblN0cmluZyxcbiAgICAgICAgICAgIC4uLnZhbGlkYXRlZE9wdGlvbnMsXG4gICAgICAgICAgICBzc2hIb3N0OiB2YWxpZGF0ZWRPcHRpb25zLnNzaEhvc3QgPz8gc3NoRGVmYXVsdHM/Lmhvc3QsXG4gICAgICAgICAgICBzc2hQb3J0OiB2YWxpZGF0ZWRPcHRpb25zLnNzaFBvcnQgPz8gc3NoRGVmYXVsdHM/LnBvcnQsXG4gICAgICAgICAgICBzc2hVc2VybmFtZTogdmFsaWRhdGVkT3B0aW9ucy5zc2hVc2VybmFtZSA/PyBzc2hEZWZhdWx0cz8udXNlcm5hbWUsXG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3Qgc3RvcmUgPSBjcmVhdGVBcHBTdG9yZShjb25maWcpO1xuXG4gICAgICAgIHJlbmRlcihjcmVhdGVFbGVtZW50KEFwcCwge3N0b3JlfSkpO1xuXG4gICAgICAgIGlmIChjb25uZWN0aW9uU3RyaW5nRXJyb3IpIHtcbiAgICAgICAgICAgIHJ1bkluQWN0aW9uKCgpID0+IHtcbiAgICAgICAgICAgICAgICBzdG9yZS5zdGVwcy5kYXRhYmFzZUNvbm5lY3Rpb24uc3RhdGUgPSAnZXJyb3InO1xuICAgICAgICAgICAgICAgIHN0b3JlLnN0ZXBzLmRhdGFiYXNlQ29ubmVjdGlvbi5lcnJvciA9IGNvbm5lY3Rpb25TdHJpbmdFcnJvcjtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgcnVuKHN0b3JlKTtcbiAgICB9KTtcblxuY29uc3QgZmlyZVJ1blRlbGVtZXRyeSA9IGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBkb05vdFRyYWNrID0gYCR7cHJvY2Vzcy5lbnZbJ0RPX05PVF9UUkFDSyddfWAudG9Mb3dlckNhc2UoKTtcblxuICAgIGlmIChkb05vdFRyYWNrID09PSAnMScgfHwgZG9Ob3RUcmFjayA9PT0gJ3RydWUnKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBhcmdzID0gcHJvY2Vzcy5hcmd2LnNsaWNlKDIpO1xuICAgIGNvbnN0IGlzSGVscCA9IGFyZ3MuaW5jbHVkZXMoJy0taGVscCcpIHx8IGFyZ3NbMF0gPT09ICdoZWxwJztcbiAgICBjb25zdCBzdWJjb21tYW5kID0gaXNIZWxwID8gJ2hlbHAnIDogJ2dlbmVyYXRlJztcblxuICAgIGNvbnN0IGNvbmZpZyA9IGF3YWl0IHJlYWRDb25maWcoKTtcblxuICAgIHJldHVybiB0cnBjLnRlbGVtZXRyeS5jcmVhdGUubXV0YXRlKHtcbiAgICAgICAgdHlwZTogJ2NsaS5ydW4nLFxuICAgICAgICBzdWJjb21tYW5kLFxuICAgICAgICBmbGFnczoge1xuICAgICAgICAgICAgaGVscDogaXNIZWxwLFxuICAgICAgICAgICAgY29ubmVjdGlvbl9zdHJpbmc6IGFyZ3Muc29tZShcbiAgICAgICAgICAgICAgICAoYSkgPT4gIWEuc3RhcnRzV2l0aCgnLScpICYmIGEgIT09ICdnZW5lcmF0ZScgJiYgYSAhPT0gJ2hlbHAnLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIGhvc3RuYW1lOiBhcmdzLmluY2x1ZGVzKCctaCcpIHx8IGFyZ3MuaW5jbHVkZXMoJy0taG9zdG5hbWUnKSxcbiAgICAgICAgICAgIHBvcnQ6IGFyZ3MuaW5jbHVkZXMoJy1wJykgfHwgYXJncy5pbmNsdWRlcygnLS1wb3J0JyksXG4gICAgICAgICAgICBkYXRhYmFzZTogYXJncy5pbmNsdWRlcygnLWQnKSB8fCBhcmdzLmluY2x1ZGVzKCctLWRhdGFiYXNlJyksXG4gICAgICAgICAgICB1c2VybmFtZTogYXJncy5pbmNsdWRlcygnLVUnKSB8fCBhcmdzLmluY2x1ZGVzKCctLXVzZXJuYW1lJyksXG4gICAgICAgICAgICBzc2w6IFsnLS1zc2xtb2RlJywgJy0tc3NsY2VydCcsICctLXNzbGtleScsICctLXNzbHJvb3RjZXJ0J10uc29tZShcbiAgICAgICAgICAgICAgICAoZikgPT4gYXJncy5pbmNsdWRlcyhmKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBzc2g6IGFyZ3MuaW5jbHVkZXMoJy0tc3NoJykgfHwgYXJncy5pbmNsdWRlcygnLS1zc2gtaG9zdCcpLFxuICAgICAgICB9LFxuICAgICAgICBpc19kb2NrZXI6IGRldGVjdERvY2tlcigpLFxuICAgICAgICBpc19zc2hfc2Vzc2lvbjogZGV0ZWN0U1NIU2Vzc2lvbigpLFxuICAgICAgICBzaGVsbDogZGV0ZWN0U2hlbGwoKSxcbiAgICAgICAgb3M6IGRldGVjdE9TKCksXG4gICAgICAgIGlzX3dzbDogZGV0ZWN0V1NMKCksXG4gICAgICAgIHN5c3RlbV9tZW1vcnk6IGRldGVjdFN5c3RlbU1lbW9yeSgpLFxuICAgICAgICBwYWNrYWdlX21hbmFnZXI6IGRldGVjdFBhY2thZ2VNYW5hZ2VyKCksXG4gICAgICAgIGRldmljZV9pZDogY29uZmlnLmRldmljZV9pZCxcbiAgICB9KTtcbn07XG5cbnRyeSB7XG4gICAgYXdhaXQgZmlyZVJ1blRlbGVtZXRyeSgpO1xufSBjYXRjaCAoZXJyKSB7XG4gICAgaWYgKERCQ1RYX0RFVikge1xuICAgICAgICBsb2dnZXIuZXJyb3IoYCR7ZXJyfWAsIHtlcnJvcjogZXJyfSk7XG4gICAgfVxufVxuXG5wcm9ncmFtLnBhcnNlKCk7XG4iXX0=
197
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgubWpzIiwic291cmNlUm9vdCI6Ii4vc3JjLyIsInNvdXJjZXMiOlsiaW5kZXgubXRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sV0FBVyxDQUFDO0FBQ2xDLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxLQUFLLENBQUM7QUFDM0IsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLE9BQU8sQ0FBQztBQUNwQyxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDL0MsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGFBQWEsQ0FBQztBQUNoQyxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDakQsT0FBTyxFQUNILGNBQWMsRUFDZCxpQkFBaUIsR0FFcEIsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNqQyxPQUFPLEVBQ0gsbUJBQW1CLEVBQ25CLGFBQWEsR0FFaEIsTUFBTSxxQkFBcUIsQ0FBQztBQUU3QixPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDcEMsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUM5QyxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDdEMsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzFDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUM1QyxPQUFPLEVBQ0gsWUFBWSxFQUNaLFFBQVEsRUFDUixXQUFXLEVBQ1gsU0FBUyxFQUNULGtCQUFrQixFQUNsQixvQkFBb0IsRUFDcEIsZ0JBQWdCLEdBQ25CLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFDLE1BQU0sRUFBQyxN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RSxXQUFXLEVBQUU7UUFDcEIsRUFBRSxFQUFFLFFBQVEsRUFBRTtRQUNkLE1BQU0sRUFBRSxTQUFTLEVBQUU7UUFDbkIsYUFBYSxFQUFFLGtCQUFrQixFQUFFO1FBQ25DLGVBQWUsRUFBRSxvQkFBb0IsRUFBRTtRQUN2QyxTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVM7S0FDOUIsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDO0FBRUYsSUFBSSxDQUFDO0lBQ0QsTUFBTSxnQkFBZ0IsRUFBRSxDQUFDO0FBQzdCLENBQUM7QUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO0lBQ1gsSUFBSSxTQUFTLEVBQUUsQ0FBQztRQUNaLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLEVBQUUsRUFBRSxFQUFDLEtBQUssRUFBRSxHQUFHLEVBQUMsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7QUFDTCxDQUFDO0FBRUQsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiIyEvdXNyL2Jpbi9lbnYgbm9kZVxuaW1wb3J0IHtDb21tYW5kfSBmcm9tICdjb21tYW5kZXInO1xuaW1wb3J0IHtyZW5kZXJ9IGZyb20gJ2luayc7XG5pbXBvcnQge2NyZWF0ZUVsZW1lbnR9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7RXJyb3J9IGZyb20gJy4vdWkvY29tcG9uZW50cy9FcnJvci5qcyc7XG5pbXBvcnQge0FwcH0gZnJvbSAnLi91aS9BcHAuanMnO1xuaW1wb3J0IHtTcGxhc2h9IGZyb20gJy4vdWkvY29tcG9uZW50cy9TcGxhc2guanMnO1xuaW1wb3J0IHtcbiAgICBjcmVhdGVBcHBTdG9yZSxcbiAgICBTVE9QX0FGVEVSX1NUQUdFUyxcbiAgICB0eXBlIFRTdG9wQWZ0ZXJTdGFnZSxcbn0gZnJvbSAnLi9zdG9yZS5tanMnO1xuaW1wb3J0IHtydW5JbkFjdGlvbn0gZnJvbSAnbW9ieCc7XG5pbXBvcnQge1xuICAgIHZhbGlkYXRlUGF0aE9wdGlvbnMsXG4gICAgbm9ybWFsaXplUGF0aCxcbiAgICB0eXBlIFRQYXRoVmFsaWRhdGlvbkVycm9yLFxufSBmcm9tICcuL3ZhbGlkYXRlUGF0aHMubWpzJztcbmltcG9ydCB7VENvbm5lY3Rpb25Db25maWd9IGZyb20gJy4vdHlwZXMvY29ubmVjdGlvbi5tanMnO1xuaW1wb3J0IHtydW59IGZyb20gJy4vYXBwL2luZGV4Lm1qcyc7XG5pbXBvcnQge0NMSUVOVF9WRVJTSU9OfSBmcm9tICcuL2xpYi92ZXJzaW9uLm1qcyc7XG5pbXBvcnQge0RCQ1RYX0RFVn0gZnJvbSAnI2NsaWVudC9saWIvZW52Lm1qcyc7XG5pbXBvcnQge3Njb3BlfSBmcm9tICdzY29wZS11dGlsaXRpZXMnO1xuaW1wb3J0IHt0cnBjfSBmcm9tICcjY2xpZW50L2xpYi90cnBjLm1qcyc7XG5pbXBvcnQge3JlYWRDb25maWd9IGZyb20gJy4vYXBwL2NvbmZpZy5tanMnO1xuaW1wb3J0IHtcbiAgICBkZXRlY3REb2NrZXIsXG4gICAgZGV0ZWN0T1MsXG4gICAgZGV0ZWN0U2hlbGwsXG4gICAgZGV0ZWN0V1NMLFxuICAgIGRldGVjdFN5c3RlbU1lbW9yeSxcbiAgICBkZXRlY3RQYWNrYWdlTWFuYWdlcixcbiAgICBkZXRlY3RTU0hTZXNzaW9uLFxufSBmcm9tICcuL2FwcC9kZXRlY3QubWpzJztcbmltcG9ydCB7bG9nZ2VyfSBmcm9tICcuL2xvZ2dlci5tanMnO1xuXG5leHBvcnQgdHlwZSBUU1NMTW9kZSA9XG4gICAgfCAnZGlzYWJsZSdcbiAgICB8ICdhbGxvdydcbiAgICB8ICdwcmVmZXInXG4gICAgfCAncmVxdWlyZSdcbiAgICB8ICd2ZXJpZnktY2EnXG4gICAgfCAndmVyaWZ5LWZ1bGwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRPcHRpb25zIHtcbiAgICBob3N0bmFtZT86IHN0cmluZztcbiAgICBwb3J0PzogbnVtYmVyO1xuICAgIGRhdGFiYXNlPzogc3RyaW5nO1xuICAgIHVzZXJuYW1lPzogc3RyaW5nO1xuICAgIHNzbG1vZGU/OiBUU1NMTW9kZTtcbiAgICBzc2xjZXJ0Pzogc3RyaW5nO1xuICAgIHNzbGtleT86IHN0cmluZztcbiAgICBzc2xyb290Y2VydD86IHN0cmluZztcbiAgICBzc2g/OiBzdHJpbmc7XG4gICAgc3NoSG9zdD86IHN0cmluZztcbiAgICBzc2hQb3J0PzogbnVtYmVyO1xuICAgIHNzaFVzZXJuYW1lPzogc3RyaW5nO1xuICAgIHNzaEtleT86IHN0cmluZztcbiAgICBvdXRwdXRJbnRyb3NwZWN0aW9uSnNvbj86IHN0cmluZztcbiAgICBzdG9wQWZ0ZXI/OiBUU3RvcEFmdGVyU3RhZ2U7XG4gICAgb3ZlcndyaXRlPzogYm9vbGVhbjtcbiAgICBleHBsYW5hdGlvbj86IHN0cmluZztcbn1cblxuY29uc3QgcGFyc2VTU0hUYXJnZXQgPSAoXG4gICAgdGFyZ2V0OiBzdHJpbmcsXG4pOiB7XG4gICAgdXNlcm5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICBob3N0OiBzdHJpbmc7XG4gICAgcG9ydDogbnVtYmVyIHwgdW5kZWZpbmVkO1xufSA9PiB7XG4gICAgY29uc3QgYXRJbmRleCA9IHRhcmdldC5pbmRleE9mKCdAJyk7XG4gICAgY29uc3QgdXNlcm5hbWUgPSBhdEluZGV4ID49IDAgPyB0YXJnZXQuc2xpY2UoMCwgYXRJbmRleCkgOiB1bmRlZmluZWQ7XG4gICAgY29uc3QgaG9zdFBvcnQgPSBhdEluZGV4ID49IDAgPyB0YXJnZXQuc2xpY2UoYXRJbmRleCArIDEpIDogdGFyZ2V0O1xuICAgIGNvbnN0IGNvbG9uSW5kZXggPSBob3N0UG9ydC5sYXN0SW5kZXhPZignOicpO1xuICAgIGNvbnN0IGhvc3QgPSBjb2xvbkluZGV4ID49IDAgPyBob3N0UG9ydC5zbGljZSgwLCBjb2xvbkluZGV4KSA6IGhvc3RQb3J0O1xuICAgIGNvbnN0IHBvcnQgPVxuICAgICAgICBjb2xvbkluZGV4ID49IDBcbiAgICAgICAgICAgID8gcGFyc2VJbnQoaG9zdFBvcnQuc2xpY2UoY29sb25JbmRleCArIDEpLCAxMClcbiAgICAgICAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgcmV0dXJuIHt1c2VybmFtZSwgaG9zdCwgcG9ydH07XG59O1xuXG5jb25zdCBwcm9ncmFtID0gbmV3IENvbW1hbmQoKTtcblxucHJvZ3JhbVxuICAgIC5uYW1lKCdkYmN0eCcpXG4gICAgLnZlcnNpb24oQ0xJRU5UX1ZFUlNJT04pXG4gICAgLmhlbHBPcHRpb24oJy0taGVscCcsICdkaXNwbGF5IGhlbHAgZm9yIGNvbW1hbmQnKVxuICAgIC5hZGRIZWxwVGV4dCgnYmVmb3JlQWxsJywgKCkgPT4ge1xuICAgICAgICBjb25zdCB7dW5tb3VudH0gPSByZW5kZXIoY3JlYXRlRWxlbWVudChTcGxhc2gpKTtcbiAgICAgICAgdW5tb3VudCgpO1xuICAgICAgICByZXR1cm4gJyc7XG4gICAgfSk7XG5cbmNvbnN0IGdlbmVyYXRlID0gcHJvZ3JhbVxuICAgIC5jb21tYW5kKCdnZW5lcmF0ZScsIHtpc0RlZmF1bHQ6IHRydWV9KVxuICAgIC5kZXNjcmlwdGlvbignQ29ubmVjdCB0byBhIFBvc3RncmVTUUwgZGF0YWJhc2UgYW5kIGdlbmVyYXRlIGNvbnRleHQnKVxuICAgIC5oZWxwT3B0aW9uKCctLWhlbHAnLCAnZGlzcGxheSBoZWxwIGZvciBjb21tYW5kJylcbiAgICAuYXJndW1lbnQoXG4gICAgICAgICdbY29ubmVjdGlvbi1zdHJpbmddJyxcbiAgICAgICAgJ1Bvc3RncmVTUUwgY29ubmVjdGlvbiBzdHJpbmcgKGVudjogREFUQUJBU0VfVVJMKScsXG4gICAgKVxuICAgIC5vcHRpb24oXG4gICAgICAgICctaCwgLS1ob3N0bmFtZSA8aG9zdD4nLFxuICAgICAgICAnZGF0YWJhc2UgaG9zdG5hbWUgKGVudjogUEdIT1NULCBkZWZhdWx0OiBsb2NhbGhvc3QpJyxcbiAgICApXG4gICAgLm9wdGlvbihcbiAgICAgICAgJy1wLCAtLXBvcnQgPHBvcnQ+JyxcbiAgICAgICAgJ2RhdGFiYXNlIHBvcnQgKGVudjogUEdQT1JULCBkZWZhdWx0OiA1NDMyKScsXG4gICAgICAgIHBhcnNlSW50LFxuICAgIClcbiAgICAub3B0aW9uKFxuICAgICAgICAnLWQsIC0tZGF0YWJhc2UgPG5hbWU+JyxcbiAgICAgICAgJ2RhdGFiYXNlIG5hbWUgKGVudjogUEdEQVRBQkFTRSwgZGVmYXVsdDogcG9zdGdyZXMpJyxcbiAgICApXG4gICAgLm9wdGlvbihcbiAgICAgICAgJy1VLCAtLXVzZXJuYW1lIDx1c2VyPicsXG4gICAgICAgICdkYXRhYmFzZSB1c2VybmFtZSAoZW52OiBQR1VTRVIsIGRlZmF1bHQ6IHBvc3RncmVzKScsXG4gICAgKVxuICAgIC5vcHRpb24oXG4gICAgICAgICctLXNzbG1vZGUgPG1vZGU+JyxcbiAgICAgICAgJ1NTTCBtb2RlOiBkaXNhYmxlfGFsbG93fHByZWZlcnxyZXF1aXJlfHZlcmlmeS1jYXx2ZXJpZnktZnVsbCAoZW52OiBQR1NTTE1PREUsIGRlZmF1bHQ6IHByZWZlciknLFxuICAgIClcbiAgICAub3B0aW9uKCctLXNzbGNlcnQgPHBhdGg+JywgJ3BhdGggdG8gY2xpZW50IGNlcnRpZmljYXRlIChlbnY6IFBHU1NMQ0VSVCknKVxuICAgIC5vcHRpb24oJy0tc3Nsa2V5IDxwYXRoPicsICdwYXRoIHRvIGNsaWVudCBwcml2YXRlIGtleSAoZW52OiBQR1NTTEtFWSknKVxuICAgIC5vcHRpb24oXG4gICAgICAgICctLXNzbHJvb3RjZXJ0IDxwYXRoPicsXG4gICAgICAgICdwYXRoIHRvIHJvb3QgQ0EgY2VydGlmaWNhdGUgKGVudjogUEdTU0xST09UQ0VSVCknLFxuICAgIClcbiAgICAub3B0aW9uKCctLXNzaCA8dGFyZ2V0PicsICdTU0ggdHVubmVsIHRhcmdldCAodXNlckBob3N0Wzpwb3J0XSknKVxuICAgIC5vcHRpb24oJy0tc3NoLWhvc3QgPGhvc3Q+JywgJ1NTSCB0dW5uZWwgaG9zdCAoYmFzdGlvbi9qdW1wIHNlcnZlciknKVxuICAgIC5vcHRpb24oJy0tc3NoLXBvcnQgPHBvcnQ+JywgJ1NTSCB0dW5uZWwgcG9ydCAoZGVmYXVsdDogMjIpJywgcGFyc2VJbnQpXG4gICAgLm9wdGlvbignLS1zc2gtdXNlcm5hbWUgPHVzZXI+JywgJ1NTSCB0dW5uZWwgdXNlcm5hbWUgKGRlZmF1bHQ6ICRVU0VSKScpXG4gICAgLm9wdGlvbihcbiAgICAgICAgJy1pLCAtLXNzaC1rZXkgPHBhdGg+JyxcbiAgICAgICAgJ3BhdGggdG8gU1NIIHByaXZhdGUga2V5IChkZWZhdWx0OiB+Ly5zc2gvaWRfcnNhKScsXG4gICAgKVxuICAgIC5vcHRpb24oXG4gICAgICAgICctLW91dHB1dC1pbnRyb3NwZWN0aW9uLWpzb24gPHBhdGg+JyxcbiAgICAgICAgJ3dyaXRlIGludHJvc3BlY3Rpb24gSlNPTiB0byBmaWxlJyxcbiAgICApXG4gICAgLm9wdGlvbihcbiAgICAgICAgJy0tc3RvcC1hZnRlciA8c3RhZ2U+JyxcbiAgICAgICAgJ2V4aXQgYWZ0ZXIgc3RhZ2UgY29tcGxldGVzIChzc2gtY29ubmVjdCwgZGItY29ubmVjdCwgaW50cm9zcGVjdGlvbiknLFxuICAgIClcbiAgICAub3B0aW9uKCctLW92ZXJ3cml0ZScsICdza2lwIG92ZXJ3cml0ZSBjb25maXJtYXRpb24gZm9yIG91dHB1dCBmaWxlcycpXG4gICAgLm9wdGlvbihcbiAgICAgICAgJy0tZXhwbGFuYXRpb24gPHRleHQ+JyxcbiAgICAgICAgJ3Byb3ZpZGUgZGF0YWJhc2UgZXhwbGFuYXRpb24gKHNraXBzIGludGVyYWN0aXZlIHByb21wdCknLFxuICAgIClcbiAgICAuYWN0aW9uKChjb25uZWN0aW9uU3RyaW5nOiBzdHJpbmcgfCB1bmRlZmluZWQsIG9wdGlvbnM6IFRPcHRpb25zKSA9PiB7XG4gICAgICAgIC8vIFNob3cgaGVscCBpZiBubyBjb25uZWN0aW9uIGNvbmZpZyBpcyBwcm92aWRlZFxuICAgICAgICBjb25zdCBoYXNDTElDb25maWcgPVxuICAgICAgICAgICAgY29ubmVjdGlvblN0cmluZyAhPT0gdW5kZWZpbmVkIHx8XG4gICAgICAgICAgICBvcHRpb25zLmhvc3RuYW1lICE9PSB1bmRlZmluZWQgfHxcbiAgICAgICAgICAgIG9wdGlvbnMucG9ydCAhPT0gdW5kZWZpbmVkIHx8XG4gICAgICAgICAgICBvcHRpb25zLmRhdGFiYXNlICE9PSB1bmRlZmluZWQgfHxcbiAgICAgICAgICAgIG9wdGlvbnMudXNlcm5hbWUgIT09IHVuZGVmaW5lZDtcblxuICAgICAgICBjb25zdCBoYXNFbnZDb25maWcgPSBbXG4gICAgICAgICAgICAnUEdIT1NUJyxcbiAgICAgICAgICAgICdQR1BPUlQnLFxuICAgICAgICAgICAgJ1BHREFUQUJBU0UnLFxuICAgICAgICAgICAgJ1BHVVNFUicsXG4gICAgICAgICAgICAnUEdQQVNTV09SRCcsXG4gICAgICAgICAgICAnREFUQUJBU0VfVVJMJyxcbiAgICAgICAgXS5zb21lKChrZXkpID0+IHByb2Nlc3MuZW52W2tleV0gIT09IHVuZGVmaW5lZCk7XG5cbiAgICAgICAgaWYgKCFoYXNDTElDb25maWcgJiYgIWhhc0VudkNvbmZpZykge1xuICAgICAgICAgICAgZ2VuZXJhdGUuaGVscCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVmFsaWRhdGUgY29ubmVjdGlvbiBzdHJpbmdzIGFyZSBQb3N0Z3JlU1FMIFVSTHNcbiAgICAgICAgY29uc3QgZWZmZWN0aXZlQ29ubmVjdGlvblN0cmluZyA9XG4gICAgICAgICAgICBjb25uZWN0aW9uU3RyaW5nID8/IHByb2Nlc3MuZW52WydEQVRBQkFTRV9VUkwnXTtcblxuICAgICAgICBjb25zdCBjb25uZWN0aW9uU3RyaW5nRXJyb3IgPSBzY29wZShlZmZlY3RpdmVDb25uZWN0aW9uU3RyaW5nKVxuICAgICAgICAgICAgLmxldCgoc3RyKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHN0ciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICghVVJMLmNhblBhcnNlKHN0cikpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGBNYWxmb3JtZWQgY29ubmVjdGlvbiBzdHJpbmcgXCIke3N0cn1cIjogbm90IGEgdmFsaWQgVVJMYDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb25zdCB7cHJvdG9jb2x9ID0gbmV3IFVSTChzdHIpO1xuICAgICAgICAgICAgICAgIGlmIChwcm90b2NvbCAhPT0gJ3Bvc3RncmVzOicgJiYgcHJvdG9jb2wgIT09ICdwb3N0Z3Jlc3FsOicpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGBJbnZhbGlkIGNvbm5lY3Rpb24gc3RyaW5nIFwiJHtzdHJ9XCI6IGV4cGVjdGVkIHBvc3RncmVzOi8vIG9yIHBvc3RncmVzcWw6Ly9gO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC52YWx1ZSgpO1xuXG4gICAgICAgIC8vIFZhbGlkYXRlIHBhdGggb3B0aW9ucyBleGlzdCBvbiBmaWxlc3lzdGVtXG4gICAgICAgIGNvbnN0IHtlcnJvcnM6IHBhdGhFcnJvcnMsIGV4cGFuZGVkUGF0aHN9ID1cbiAgICAgICAgICAgIHZhbGlkYXRlUGF0aE9wdGlvbnMob3B0aW9ucyk7XG5cbiAgICAgICAgaWYgKHBhdGhFcnJvcnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgY29uc3QgZXJyb3JNZXNzYWdlcyA9IHBhdGhFcnJvcnNcbiAgICAgICAgICAgICAgICAubWFwKFxuICAgICAgICAgICAgICAgICAgICAoe29wdGlvbiwgcGF0aH06IFRQYXRoVmFsaWRhdGlvbkVycm9yKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgYCAgJHtvcHRpb259OiAke3BhdGh9YCxcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLmpvaW4oJ1xcbicpO1xuXG4gICAgICAgICAgICByZW5kZXIoXG4gICAgICAgICAgICAgICAgRXJyb3Ioe1xuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiBgVGhlIGZvbGxvd2luZyBwYXRocyBkbyBub3QgZXhpc3Q6XFxuJHtlcnJvck1lc3NhZ2VzfWAsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBwcm9jZXNzLmV4aXQoMSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBSZXBsYWNlIG9yaWdpbmFsIHBhdGhzIHdpdGggZXhwYW5kZWQgcGF0aHNcbiAgICAgICAgLy8gKH4gcmVzb2x2ZWQgdG8gaG9tZSBkaXJlY3RvcnkpXG4gICAgICAgIGNvbnN0IHZhbGlkYXRlZE9wdGlvbnM6IFRPcHRpb25zID0ge1xuICAgICAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgICAgICAgIC4uLmV4cGFuZGVkUGF0aHMsXG4gICAgICAgIH07XG5cbiAgICAgICAgLy8gUmVzb2x2ZSBvdXRwdXQgaW50cm9zcGVjdGlvbiBwYXRoXG4gICAgICAgIGNvbnN0IHJlc29sdmVkT3V0cHV0UGF0aCA9IHZhbGlkYXRlZE9wdGlvbnMub3V0cHV0SW50cm9zcGVjdGlvbkpzb25cbiAgICAgICAgICAgID8gbm9ybWFsaXplUGF0aCh2YWxpZGF0ZWRPcHRpb25zLm91dHB1dEludHJvc3BlY3Rpb25Kc29uKVxuICAgICAgICAgICAgOiBudWxsO1xuXG4gICAgICAgIC8vIEJ1aWxkIGNvbmZpZyBhbmQgcmVuZGVyIHRoZSBhcHBcbiAgICAgICAgY29uc3Qgc3NoRGVmYXVsdHMgPSB2YWxpZGF0ZWRPcHRpb25zLnNzaFxuICAgICAgICAgICAgPyBwYXJzZVNTSFRhcmdldCh2YWxpZGF0ZWRPcHRpb25zLnNzaClcbiAgICAgICAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgICAgIGNvbnN0IGNvbmZpZzogVENvbm5lY3Rpb25Db25maWcgPSB7XG4gICAgICAgICAgICBjb25uZWN0aW9uU3RyaW5nOiBlZmZlY3RpdmVDb25uZWN0aW9uU3RyaW5nLFxuICAgICAgICAgICAgLi4udmFsaWRhdGVkT3B0aW9ucyxcbiAgICAgICAgICAgIHNzaEhvc3Q6IHZhbGlkYXRlZE9wdGlvbnMuc3NoSG9zdCA/PyBzc2hEZWZhdWx0cz8uaG9zdCxcbiAgICAgICAgICAgIHNzaFBvcnQ6IHZhbGlkYXRlZE9wdGlvbnMuc3NoUG9ydCA/PyBzc2hEZWZhdWx0cz8ucG9ydCxcbiAgICAgICAgICAgIHNzaFVzZXJuYW1lOiB2YWxpZGF0ZWRPcHRpb25zLnNzaFVzZXJuYW1lID8/IHNzaERlZmF1bHRzPy51c2VybmFtZSxcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBzdG9wQWZ0ZXIgPSB2YWxpZGF0ZWRPcHRpb25zLnN0b3BBZnRlciA/PyBudWxsO1xuXG4gICAgICAgIGlmIChzdG9wQWZ0ZXIgIT09IG51bGwgJiYgIVNUT1BfQUZURVJfU1RBR0VTLmluY2x1ZGVzKHN0b3BBZnRlcikpIHtcbiAgICAgICAgICAgIHJlbmRlcihcbiAgICAgICAgICAgICAgICBFcnJvcih7XG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGBJbnZhbGlkIC0tc3RvcC1hZnRlciBzdGFnZSBcIiR7c3RvcEFmdGVyfVwiLiBWYWxpZCBzdGFnZXM6ICR7U1RPUF9BRlRFUl9TVEFHRVMuam9pbignLCAnKX1gLFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHByb2Nlc3MuZXhpdCgxKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHN0b3JlID0gY3JlYXRlQXBwU3RvcmUoY29uZmlnLCB7XG4gICAgICAgICAgICBvdXRwdXRJbnRyb3NwZWN0aW9uSnNvbjogcmVzb2x2ZWRPdXRwdXRQYXRoLFxuICAgICAgICAgICAgc3RvcEFmdGVyLFxuICAgICAgICAgICAgb3ZlcndyaXRlOiB2YWxpZGF0ZWRPcHRpb25zLm92ZXJ3cml0ZSA/PyBmYWxzZSxcbiAgICAgICAgICAgIGV4cGxhbmF0aW9uOiB2YWxpZGF0ZWRPcHRpb25zLmV4cGxhbmF0aW9uID8/IG51bGwsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJlbmRlcihjcmVhdGVFbGVtZW50KEFwcCwge3N0b3JlfSkpO1xuXG4gICAgICAgIGlmIChjb25uZWN0aW9uU3RyaW5nRXJyb3IpIHtcbiAgICAgICAgICAgIHJ1bkluQWN0aW9uKCgpID0+IHtcbiAgICAgICAgICAgICAgICBzdG9yZS5zdGVwcy5kYXRhYmFzZUNvbm5lY3Rpb24uc3RhdGUgPSAnZXJyb3InO1xuICAgICAgICAgICAgICAgIHN0b3JlLnN0ZXBzLmRhdGFiYXNlQ29ubmVjdGlvbi5lcnJvciA9IGNvbm5lY3Rpb25TdHJpbmdFcnJvcjtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgcnVuKHN0b3JlKTtcbiAgICB9KTtcblxuY29uc3QgZmlyZVJ1blRlbGVtZXRyeSA9IGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBkb05vdFRyYWNrID0gYCR7cHJvY2Vzcy5lbnZbJ0RPX05PVF9UUkFDSyddfWAudG9Mb3dlckNhc2UoKTtcblxuICAgIGlmIChkb05vdFRyYWNrID09PSAnMScgfHwgZG9Ob3RUcmFjayA9PT0gJ3RydWUnKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBhcmdzID0gcHJvY2Vzcy5hcmd2LnNsaWNlKDIpO1xuICAgIGNvbnN0IGlzSGVscCA9IGFyZ3MuaW5jbHVkZXMoJy0taGVscCcpIHx8IGFyZ3NbMF0gPT09ICdoZWxwJztcbiAgICBjb25zdCBzdWJjb21tYW5kID0gaXNIZWxwID8gJ2hlbHAnIDogJ2dlbmVyYXRlJztcblxuICAgIGNvbnN0IGNvbmZpZyA9IGF3YWl0IHJlYWRDb25maWcoKTtcblxuICAgIHJldHVybiB0cnBjLnRlbGVtZXRyeS5jcmVhdGUubXV0YXRlKHtcbiAgICAgICAgdHlwZTogJ2NsaS5ydW4nLFxuICAgICAgICBzdWJjb21tYW5kLFxuICAgICAgICBmbGFnczoge1xuICAgICAgICAgICAgaGVscDogaXNIZWxwLFxuICAgICAgICAgICAgY29ubmVjdGlvbl9zdHJpbmc6IGFyZ3Muc29tZShcbiAgICAgICAgICAgICAgICAoYSkgPT4gIWEuc3RhcnRzV2l0aCgnLScpICYmIGEgIT09ICdnZW5lcmF0ZScgJiYgYSAhPT0gJ2hlbHAnLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIGhvc3RuYW1lOiBhcmdzLmluY2x1ZGVzKCctaCcpIHx8IGFyZ3MuaW5jbHVkZXMoJy0taG9zdG5hbWUnKSxcbiAgICAgICAgICAgIHBvcnQ6IGFyZ3MuaW5jbHVkZXMoJy1wJykgfHwgYXJncy5pbmNsdWRlcygnLS1wb3J0JyksXG4gICAgICAgICAgICBkYXRhYmFzZTogYXJncy5pbmNsdWRlcygnLWQnKSB8fCBhcmdzLmluY2x1ZGVzKCctLWRhdGFiYXNlJyksXG4gICAgICAgICAgICB1c2VybmFtZTogYXJncy5pbmNsdWRlcygnLVUnKSB8fCBhcmdzLmluY2x1ZGVzKCctLXVzZXJuYW1lJyksXG4gICAgICAgICAgICBzc2w6IFsnLS1zc2xtb2RlJywgJy0tc3NsY2VydCcsICctLXNzbGtleScsICctLXNzbHJvb3RjZXJ0J10uc29tZShcbiAgICAgICAgICAgICAgICAoZikgPT4gYXJncy5pbmNsdWRlcyhmKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBzc2g6IGFyZ3MuaW5jbHVkZXMoJy0tc3NoJykgfHwgYXJncy5pbmNsdWRlcygnLS1zc2gtaG9zdCcpLFxuICAgICAgICAgICAgb3V0cHV0X2ludHJvc3BlY3Rpb25fanNvbjogYXJncy5pbmNsdWRlcyhcbiAgICAgICAgICAgICAgICAnLS1vdXRwdXQtaW50cm9zcGVjdGlvbi1qc29uJyxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBzdG9wX2FmdGVyOiBhcmdzLmluY2x1ZGVzKCctLXN0b3AtYWZ0ZXInKSxcbiAgICAgICAgICAgIG92ZXJ3cml0ZTogYXJncy5pbmNsdWRlcygnLS1vdmVyd3JpdGUnKSxcbiAgICAgICAgICAgIGV4cGxhbmF0aW9uOiBhcmdzLmluY2x1ZGVzKCctLWV4cGxhbmF0aW9uJyksXG4gICAgICAgIH0sXG4gICAgICAgIGlzX2RvY2tlcjogZGV0ZWN0RG9ja2VyKCksXG4gICAgICAgIGlzX3NzaF9zZXNzaW9uOiBkZXRlY3RTU0hTZXNzaW9uKCksXG4gICAgICAgIHNoZWxsOiBkZXRlY3RTaGVsbCgpLFxuICAgICAgICBvczogZGV0ZWN0T1MoKSxcbiAgICAgICAgaXNfd3NsOiBkZXRlY3RXU0woKSxcbiAgICAgICAgc3lzdGVtX21lbW9yeTogZGV0ZWN0U3lzdGVtTWVtb3J5KCksXG4gICAgICAgIHBhY2thZ2VfbWFuYWdlcjogZGV0ZWN0UGFja2FnZU1hbmFnZXIoKSxcbiAgICAgICAgZGV2aWNlX2lkOiBjb25maWcuZGV2aWNlX2lkLFxuICAgIH0pO1xufTtcblxudHJ5IHtcbiAgICBhd2FpdCBmaXJlUnVuVGVsZW1ldHJ5KCk7XG59IGNhdGNoIChlcnIpIHtcbiAgICBpZiAoREJDVFhfREVWKSB7XG4gICAgICAgIGxvZ2dlci5lcnJvcihgJHtlcnJ9YCwge2Vycm9yOiBlcnJ9KTtcbiAgICB9XG59XG5cbnByb2dyYW0ucGFyc2UoKTtcbiJdfQ==
package/dist/store.d.mts CHANGED
@@ -1,6 +1,15 @@
1
1
  import { TConnectionConfig } from './types/connection.mjs';
2
+ export type TStopAfterStage = 'ssh-connect' | 'db-connect' | 'introspection';
3
+ export declare const STOP_AFTER_STAGES: readonly TStopAfterStage[];
4
+ export type TOutputOptions = {
5
+ outputIntrospectionJson: string | null;
6
+ stopAfter: TStopAfterStage | null;
7
+ overwrite: boolean;
8
+ explanation: string | null;
9
+ };
2
10
  export type TStore = {
3
11
  config: TConnectionConfig;
12
+ outputOptions: TOutputOptions;
4
13
  steps: {
5
14
  sshConnection: {
6
15
  enabled: boolean;
@@ -53,12 +62,22 @@ export type TStore = {
53
62
  email: string | null;
54
63
  name: string | null;
55
64
  };
65
+ outputJson: {
66
+ state: 'idle' | 'prompting-overwrite' | 'writing' | 'done' | 'error';
67
+ error: string | null;
68
+ confirmed: boolean | null;
69
+ path: string | null;
70
+ };
71
+ userExplanation: {
72
+ state: 'idle' | 'prompting' | 'done';
73
+ value: string | null;
74
+ };
56
75
  gate: {
57
76
  state: 'idle' | 'checking' | 'blocked' | 'passed';
58
77
  message: string | null;
59
78
  };
60
79
  };
61
80
  };
62
- export declare const createAppStore: (config: TConnectionConfig) => TStore;
81
+ export declare const createAppStore: (config: TConnectionConfig, outputOptions: TOutputOptions) => TStore;
63
82
  export type TAppStore = ReturnType<typeof createAppStore>;
64
83
  //# sourceMappingURL=store.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.mts","sourceRoot":"./src/","sources":["store.mts"],"names":[],"mappings":"AAEA,OAAO,EAAC,iBAAiB,EAAC,MAAM,wBAAwB,CAAC;AAEzD,MAAM,MAAM,MAAM,GAAG;IACjB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,KAAK,EAAE;QACH,aAAa,EAAE;YACX,OAAO,EAAE,OAAO,CAAC;YACjB,YAAY,EAAE,OAAO,CAAC;YACtB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;YACxB,kBAAkB,EAAE,YAAY,GAAG,UAAU,GAAG,IAAI,CAAC;YACrD,WAAW,EAAE,MAAM,CAAC;YACpB,YAAY,EAAE,OAAO,CAAC;YAEtB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;YAC9B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;YAC1B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;YAC9B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;YAE7B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;YACzB,KAAK,EACC,MAAM,GACN,YAAY,GACZ,WAAW,GACX,eAAe,GACf,OAAO,GACP,QAAQ,CAAC;YACf,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;SACxB,CAAC;QAEF,kBAAkB,EAAE;YAChB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;YACxB,WAAW,EAAE,MAAM,CAAC;YACpB,YAAY,EAAE,OAAO,CAAC;YAEtB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;YAC9B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;YAC1B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;YAC9B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;YAE9B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;YAC/B,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;YACrC,KAAK,EACC,MAAM,GACN,YAAY,GACZ,WAAW,GACX,eAAe,GACf,OAAO,CAAC;YACd,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;SACxB,CAAC;QAEF,aAAa,EAAE;YACX,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,OAAO,CAAC;YAC9C,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;YACrB,gBAAgB,EAAE,OAAO,CAAC;YAC1B,MAAM,EAAE;gBACJ,MAAM,EAAE,MAAM,CAAC;gBACf,KAAK,EAAE,MAAM,CAAC;gBACd,iBAAiB,EAAE,MAAM,CAAC;gBAC1B,OAAO,EAAE,MAAM,CAAC;gBAChB,OAAO,EAAE,MAAM,CAAC;gBAChB,WAAW,EAAE,MAAM,CAAC;gBACpB,KAAK,EAAE,MAAM,CAAC;gBACd,QAAQ,EAAE,MAAM,CAAC;aACpB,CAAC;SACL,CAAC;QAEF,OAAO,EAAE;YACL,KAAK,EACC,MAAM,GACN,kBAAkB,GAClB,SAAS,GACT,kBAAkB,GAClB,WAAW,GACX,OAAO,CAAC;YACd,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;YACrB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;YACnB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;YACzB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;YACrB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;SACvB,CAAC;QAEF,IAAI,EAAE;YACF,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;YAClD,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;SAC1B,CAAC;KACL,CAAC;CACL,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,QAAQ,iBAAiB,WA8EvD,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC"}
1
+ {"version":3,"file":"store.d.mts","sourceRoot":"./src/","sources":["store.mts"],"names":[],"mappings":"AAEA,OAAO,EAAC,iBAAiB,EAAC,MAAM,wBAAwB,CAAC;AAEzD,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG,YAAY,GAAG,eAAe,CAAC;AAE7E,eAAO,MAAM,iBAAiB,EAAE,SAAS,eAAe,EAI7C,CAAC;AAEZ,MAAM,MAAM,cAAc,GAAG;IACzB,uBAAuB,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,SAAS,EAAE,eAAe,GAAG,IAAI,CAAC;IAClC,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG;IACjB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,aAAa,EAAE,cAAc,CAAC;IAC9B,KAAK,EAAE;QACH,aAAa,EAAE;YACX,OAAO,EAAE,OAAO,CAAC;YACjB,YAAY,EAAE,OAAO,CAAC;YACtB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;YACxB,kBAAkB,EAAE,YAAY,GAAG,UAAU,GAAG,IAAI,CAAC;YACrD,WAAW,EAAE,MAAM,CAAC;YACpB,YAAY,EAAE,OAAO,CAAC;YAEtB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;YAC9B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;YAC1B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;YAC9B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;YAE7B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;YACzB,KAAK,EACC,MAAM,GACN,YAAY,GACZ,WAAW,GACX,eAAe,GACf,OAAO,GACP,QAAQ,CAAC;YACf,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;SACxB,CAAC;QAEF,kBAAkB,EAAE;YAChB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;YACxB,WAAW,EAAE,MAAM,CAAC;YACpB,YAAY,EAAE,OAAO,CAAC;YAEtB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;YAC9B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;YAC1B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;YAC9B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;YAE9B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;YAC/B,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;YACrC,KAAK,EACC,MAAM,GACN,YAAY,GACZ,WAAW,GACX,eAAe,GACf,OAAO,CAAC;YACd,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;SACxB,CAAC;QAEF,aAAa,EAAE;YACX,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,OAAO,CAAC;YAC9C,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;YACrB,gBAAgB,EAAE,OAAO,CAAC;YAC1B,MAAM,EAAE;gBACJ,MAAM,EAAE,MAAM,CAAC;gBACf,KAAK,EAAE,MAAM,CAAC;gBACd,iBAAiB,EAAE,MAAM,CAAC;gBAC1B,OAAO,EAAE,MAAM,CAAC;gBAChB,OAAO,EAAE,MAAM,CAAC;gBAChB,WAAW,EAAE,MAAM,CAAC;gBACpB,KAAK,EAAE,MAAM,CAAC;gBACd,QAAQ,EAAE,MAAM,CAAC;aACpB,CAAC;SACL,CAAC;QAEF,OAAO,EAAE;YACL,KAAK,EACC,MAAM,GACN,kBAAkB,GAClB,SAAS,GACT,kBAAkB,GAClB,WAAW,GACX,OAAO,CAAC;YACd,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;YACrB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;YACnB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;YACzB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;YACrB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;SACvB,CAAC;QAEF,UAAU,EAAE;YACR,KAAK,EACC,MAAM,GACN,qBAAqB,GACrB,SAAS,GACT,MAAM,GACN,OAAO,CAAC;YACd,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;YACrB,SAAS,EAAE,OAAO,GAAG,IAAI,CAAC;YAC1B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;SACvB,CAAC;QAEF,eAAe,EAAE;YACb,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;YACrC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;SACxB,CAAC;QAEF,IAAI,EAAE;YACF,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;YAClD,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;SAC1B,CAAC;KACL,CAAC;CACL,CAAC;AAEF,eAAO,MAAM,cAAc,GACvB,QAAQ,iBAAiB,EACzB,eAAe,cAAc,WA4FhC,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC"}
package/dist/store.mjs CHANGED
@@ -1,7 +1,13 @@
1
1
  import { makeAutoObservable } from 'mobx';
2
- export const createAppStore = (config) => {
2
+ export const STOP_AFTER_STAGES = Object.freeze([
3
+ 'ssh-connect',
4
+ 'db-connect',
5
+ 'introspection',
6
+ ]);
7
+ export const createAppStore = (config, outputOptions) => {
3
8
  const store = {
4
9
  config,
10
+ outputOptions,
5
11
  steps: {
6
12
  sshConnection: {
7
13
  enabled: !!config.sshHost,
@@ -54,6 +60,16 @@ export const createAppStore = (config) => {
54
60
  email: null,
55
61
  name: null,
56
62
  },
63
+ outputJson: {
64
+ state: 'idle',
65
+ error: null,
66
+ confirmed: null,
67
+ path: null,
68
+ },
69
+ userExplanation: {
70
+ state: 'idle',
71
+ value: null,
72
+ },
57
73
  gate: {
58
74
  state: 'idle',
59
75
  message: null,
@@ -65,4 +81,4 @@ export const createAppStore = (config) => {
65
81
  deep: true,
66
82
  });
67
83
  };
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUubWpzIiwic291cmNlUm9vdCI6Ii4vc3JjLyIsInNvdXJjZXMiOlsic3RvcmUubXRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQTBGeEMsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsTUFBeUIsRUFBRSxFQUFFO0lBQ3hELE1BQU0sS0FBSyxHQUFXO1FBQ2xCLE1BQU07UUFDTixLQUFLLEVBQUU7WUFDSCxhQUFhLEVBQUU7Z0JBQ1gsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTztnQkFDekIsWUFBWSxFQUFFLEtBQUs7Z0JBQ25CLFFBQVEsRUFBRSxJQUFJO2dCQUNkLGtCQUFrQixFQUFFLElBQUk7Z0JBQ3hCLFdBQVcsRUFBRSxDQUFDO2dCQUNkLFlBQVksRUFBRSxLQUFLO2dCQUVuQixjQUFjLEVBQUUsSUFBSTtnQkFDcEIsVUFBVSxFQUFFLElBQUk7Z0JBQ2hCLGNBQWMsRUFBRSxJQUFJO2dCQUNwQixhQUFhLEVBQUUsSUFBSTtnQkFFbkIsU0FBUyxFQUFFLElBQUk7Z0JBQ2YsS0FBSyxFQUFFLE1BQU07Z0JBQ2IsS0FBSyxFQUFFLElBQUk7YUFDZDtZQUVELGtCQUFrQixFQUFFO2dCQUNoQixRQUFRLEVBQUUsSUFBSTtnQkFDZCxXQUFXLEVBQUUsQ0FBQztnQkFDZCxZQUFZLEVBQUUsS0FBSztnQkFFbkIsY0FBYyxFQUFFLElBQUk7Z0JBQ3BCLFVBQVUsRUFBRSxJQUFJO2dCQUNoQixjQUFjLEVBQUUsSUFBSTtnQkFDcEIsY0FBYyxFQUFFLElBQUk7Z0JBRXBCLGVBQWUsRUFBRSxJQUFJO2dCQUNyQixxQkFBcUIsRUFBRSxJQUFJO2dCQUMzQixLQUFLLEVBQUUsTUFBTTtnQkFDYixLQUFLLEVBQUUsSUFBSTthQUNkO1lBRUQsYUFBYSxFQUFFO2dCQUNYLEtBQUssRUFBRSxNQUFNO2dCQUNiLEtBQUssRUFBRSxJQUFJO2dCQUNYLGdCQUFnQixFQUFFLEtBQUs7Z0JBQ3ZCLE1BQU0sRUFBRTtvQkFDSixNQUFNLEVBQUUsQ0FBQztvQkFDVCxLQUFLLEVBQUUsQ0FBQztvQkFDUixpQkFBaUIsRUFBRSxDQUFDO29CQUNwQixPQUFPLEVBQUUsQ0FBQztvQkFDVixPQUFPLEVBQUUsQ0FBQztvQkFDVixXQUFXLEVBQUUsQ0FBQztvQkFDZCxLQUFLLEVBQUUsQ0FBQztvQkFDUixRQUFRLEVBQUUsQ0FBQztpQkFDZDthQUNKO1lBRUQsT0FBTyxFQUFFO2dCQUNMLEtBQUssRUFBRSxNQUFNO2dCQUNiLEtBQUssRUFBRSxJQUFJO2dCQUNYLEdBQUcsRUFBRSxJQUFJO2dCQUNULFNBQVMsRUFBRSxJQUFJO2dCQUNmLEtBQUssRUFBRSxJQUFJO2dCQUNYLElBQUksRUFBRSxJQUFJO2FBQ2I7WUFFRCxJQUFJLEVBQUU7Z0JBQ0YsS0FBSyxFQUFFLE1BQU07Z0JBQ2IsT0FBTyxFQUFFLElBQUk7YUFDaEI7U0FDSjtLQUNKLENBQUM7SUFFRixPQUFPLGtCQUFrQixDQUNyQixLQUFLLEVBQ0wsRUFBRSxFQUNGO1FBQ0ksUUFBUSxFQUFFLElBQUk7UUFDZCxJQUFJLEVBQUUsSUFBSTtLQUNiLENBQ0osQ0FBQztBQUNOLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7bWFrZUF1dG9PYnNlcnZhYmxlfSBmcm9tICdtb2J4JztcblxuaW1wb3J0IHtUQ29ubmVjdGlvbkNvbmZpZ30gZnJvbSAnLi90eXBlcy9jb25uZWN0aW9uLm1qcyc7XG5cbmV4cG9ydCB0eXBlIFRTdG9yZSA9IHtcbiAgICBjb25maWc6IFRDb25uZWN0aW9uQ29uZmlnO1xuICAgIHN0ZXBzOiB7XG4gICAgICAgIHNzaENvbm5lY3Rpb246IHtcbiAgICAgICAgICAgIGVuYWJsZWQ6IGJvb2xlYW47XG4gICAgICAgICAgICBuZWVkUGFzc3dvcmQ6IGJvb2xlYW47XG4gICAgICAgICAgICBwYXNzd29yZDogc3RyaW5nIHwgbnVsbDtcbiAgICAgICAgICAgIHBhc3N3b3JkUHJvbXB0VHlwZTogJ3Bhc3NwaHJhc2UnIHwgJ3Bhc3N3b3JkJyB8IG51bGw7XG4gICAgICAgICAgICBwcm9tcHRDb3VudDogbnVtYmVyO1xuICAgICAgICAgICAgd3JvbmdBdHRlbXB0OiBib29sZWFuO1xuXG4gICAgICAgICAgICBwaWNrZWRIb3N0bmFtZTogc3RyaW5nIHwgbnVsbDtcbiAgICAgICAgICAgIHBpY2tlZFBvcnQ6IG51bWJlciB8IG51bGw7XG4gICAgICAgICAgICBwaWNrZWRVc2VybmFtZTogc3RyaW5nIHwgbnVsbDtcbiAgICAgICAgICAgIHBpY2tlZEtleVBhdGg6IHN0cmluZyB8IG51bGw7XG5cbiAgICAgICAgICAgIGxvY2FsUG9ydDogbnVtYmVyIHwgbnVsbDtcbiAgICAgICAgICAgIHN0YXRlOlxuICAgICAgICAgICAgICAgIHwgJ2lkbGUnXG4gICAgICAgICAgICAgICAgfCAnY29ubmVjdGluZydcbiAgICAgICAgICAgICAgICB8ICdjb25uZWN0ZWQnXG4gICAgICAgICAgICAgICAgfCAnbmVlZC1wYXNzd29yZCdcbiAgICAgICAgICAgICAgICB8ICdlcnJvcidcbiAgICAgICAgICAgICAgICB8ICdjbG9zZWQnO1xuICAgICAgICAgICAgZXJyb3I6IHN0cmluZyB8IG51bGw7XG4gICAgICAgIH07XG5cbiAgICAgICAgZGF0YWJhc2VDb25uZWN0aW9uOiB7XG4gICAgICAgICAgICBwYXNzd29yZDogc3RyaW5nIHwgbnVsbDtcbiAgICAgICAgICAgIHByb21wdENvdW50OiBudW1iZXI7XG4gICAgICAgICAgICB3cm9uZ0F0dGVtcHQ6IGJvb2xlYW47XG5cbiAgICAgICAgICAgIHBpY2tlZEhvc3RuYW1lOiBzdHJpbmcgfCBudWxsO1xuICAgICAgICAgICAgcGlja2VkUG9ydDogbnVtYmVyIHwgbnVsbDtcbiAgICAgICAgICAgIHBpY2tlZERhdGFiYXNlOiBzdHJpbmcgfCBudWxsO1xuICAgICAgICAgICAgcGlja2VkVXNlcm5hbWU6IHN0cmluZyB8IG51bGw7XG5cbiAgICAgICAgICAgIHBvc3RncmVzVmVyc2lvbjogc3RyaW5nIHwgbnVsbDtcbiAgICAgICAgICAgIHBvc3RncmVzVmVyc2lvbk51bWJlcjogbnVtYmVyIHwgbnVsbDtcbiAgICAgICAgICAgIHN0YXRlOlxuICAgICAgICAgICAgICAgIHwgJ2lkbGUnXG4gICAgICAgICAgICAgICAgfCAnY29ubmVjdGluZydcbiAgICAgICAgICAgICAgICB8ICdjb25uZWN0ZWQnXG4gICAgICAgICAgICAgICAgfCAnbmVlZC1wYXNzd29yZCdcbiAgICAgICAgICAgICAgICB8ICdlcnJvcic7XG4gICAgICAgICAgICBlcnJvcjogc3RyaW5nIHwgbnVsbDtcbiAgICAgICAgfTtcblxuICAgICAgICBpbnRyb3NwZWN0aW9uOiB7XG4gICAgICAgICAgICBzdGF0ZTogJ2lkbGUnIHwgJ2ZldGNoaW5nJyB8ICdkb25lJyB8ICdlcnJvcic7XG4gICAgICAgICAgICBlcnJvcjogc3RyaW5nIHwgbnVsbDtcbiAgICAgICAgICAgIGZpbGVTdGF0c1NraXBwZWQ6IGJvb2xlYW47XG4gICAgICAgICAgICBjb3VudHM6IHtcbiAgICAgICAgICAgICAgICB0YWJsZXM6IG51bWJlcjtcbiAgICAgICAgICAgICAgICB2aWV3czogbnVtYmVyO1xuICAgICAgICAgICAgICAgIG1hdGVyaWFsaXplZFZpZXdzOiBudW1iZXI7XG4gICAgICAgICAgICAgICAgY29sdW1uczogbnVtYmVyO1xuICAgICAgICAgICAgICAgIGluZGV4ZXM6IG51bWJlcjtcbiAgICAgICAgICAgICAgICBmb3JlaWduS2V5czogbnVtYmVyO1xuICAgICAgICAgICAgICAgIGVudW1zOiBudW1iZXI7XG4gICAgICAgICAgICAgICAgYW5hbHl6ZWQ6IG51bWJlcjtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH07XG5cbiAgICAgICAgYWNjb3VudDoge1xuICAgICAgICAgICAgc3RhdGU6XG4gICAgICAgICAgICAgICAgfCAnaWRsZSdcbiAgICAgICAgICAgICAgICB8ICdjcmVhdGluZy1zZXNzaW9uJ1xuICAgICAgICAgICAgICAgIHwgJ3dhaXRpbmcnXG4gICAgICAgICAgICAgICAgfCAnZmV0Y2hpbmctYWNjb3VudCdcbiAgICAgICAgICAgICAgICB8ICdjb25uZWN0ZWQnXG4gICAgICAgICAgICAgICAgfCAnZXJyb3InO1xuICAgICAgICAgICAgZXJyb3I6IHN0cmluZyB8IG51bGw7XG4gICAgICAgICAgICB1cmw6IHN0cmluZyB8IG51bGw7XG4gICAgICAgICAgICBzZXNzaW9uSWQ6IHN0cmluZyB8IG51bGw7XG4gICAgICAgICAgICBlbWFpbDogc3RyaW5nIHwgbnVsbDtcbiAgICAgICAgICAgIG5hbWU6IHN0cmluZyB8IG51bGw7XG4gICAgICAgIH07XG5cbiAgICAgICAgZ2F0ZToge1xuICAgICAgICAgICAgc3RhdGU6ICdpZGxlJyB8ICdjaGVja2luZycgfCAnYmxvY2tlZCcgfCAncGFzc2VkJztcbiAgICAgICAgICAgIG1lc3NhZ2U6IHN0cmluZyB8IG51bGw7XG4gICAgICAgIH07XG4gICAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVBcHBTdG9yZSA9IChjb25maWc6IFRDb25uZWN0aW9uQ29uZmlnKSA9PiB7XG4gICAgY29uc3Qgc3RvcmU6IFRTdG9yZSA9IHtcbiAgICAgICAgY29uZmlnLFxuICAgICAgICBzdGVwczoge1xuICAgICAgICAgICAgc3NoQ29ubmVjdGlvbjoge1xuICAgICAgICAgICAgICAgIGVuYWJsZWQ6ICEhY29uZmlnLnNzaEhvc3QsXG4gICAgICAgICAgICAgICAgbmVlZFBhc3N3b3JkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBwYXNzd29yZDogbnVsbCxcbiAgICAgICAgICAgICAgICBwYXNzd29yZFByb21wdFR5cGU6IG51bGwsXG4gICAgICAgICAgICAgICAgcHJvbXB0Q291bnQ6IDAsXG4gICAgICAgICAgICAgICAgd3JvbmdBdHRlbXB0OiBmYWxzZSxcblxuICAgICAgICAgICAgICAgIHBpY2tlZEhvc3RuYW1lOiBudWxsLFxuICAgICAgICAgICAgICAgIHBpY2tlZFBvcnQ6IG51bGwsXG4gICAgICAgICAgICAgICAgcGlja2VkVXNlcm5hbWU6IG51bGwsXG4gICAgICAgICAgICAgICAgcGlja2VkS2V5UGF0aDogbnVsbCxcblxuICAgICAgICAgICAgICAgIGxvY2FsUG9ydDogbnVsbCxcbiAgICAgICAgICAgICAgICBzdGF0ZTogJ2lkbGUnLFxuICAgICAgICAgICAgICAgIGVycm9yOiBudWxsLFxuICAgICAgICAgICAgfSxcblxuICAgICAgICAgICAgZGF0YWJhc2VDb25uZWN0aW9uOiB7XG4gICAgICAgICAgICAgICAgcGFzc3dvcmQ6IG51bGwsXG4gICAgICAgICAgICAgICAgcHJvbXB0Q291bnQ6IDAsXG4gICAgICAgICAgICAgICAgd3JvbmdBdHRlbXB0OiBmYWxzZSxcblxuICAgICAgICAgICAgICAgIHBpY2tlZEhvc3RuYW1lOiBudWxsLFxuICAgICAgICAgICAgICAgIHBpY2tlZFBvcnQ6IG51bGwsXG4gICAgICAgICAgICAgICAgcGlja2VkRGF0YWJhc2U6IG51bGwsXG4gICAgICAgICAgICAgICAgcGlja2VkVXNlcm5hbWU6IG51bGwsXG5cbiAgICAgICAgICAgICAgICBwb3N0Z3Jlc1ZlcnNpb246IG51bGwsXG4gICAgICAgICAgICAgICAgcG9zdGdyZXNWZXJzaW9uTnVtYmVyOiBudWxsLFxuICAgICAgICAgICAgICAgIHN0YXRlOiAnaWRsZScsXG4gICAgICAgICAgICAgICAgZXJyb3I6IG51bGwsXG4gICAgICAgICAgICB9LFxuXG4gICAgICAgICAgICBpbnRyb3NwZWN0aW9uOiB7XG4gICAgICAgICAgICAgICAgc3RhdGU6ICdpZGxlJyxcbiAgICAgICAgICAgICAgICBlcnJvcjogbnVsbCxcbiAgICAgICAgICAgICAgICBmaWxlU3RhdHNTa2lwcGVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBjb3VudHM6IHtcbiAgICAgICAgICAgICAgICAgICAgdGFibGVzOiAwLFxuICAgICAgICAgICAgICAgICAgICB2aWV3czogMCxcbiAgICAgICAgICAgICAgICAgICAgbWF0ZXJpYWxpemVkVmlld3M6IDAsXG4gICAgICAgICAgICAgICAgICAgIGNvbHVtbnM6IDAsXG4gICAgICAgICAgICAgICAgICAgIGluZGV4ZXM6IDAsXG4gICAgICAgICAgICAgICAgICAgIGZvcmVpZ25LZXlzOiAwLFxuICAgICAgICAgICAgICAgICAgICBlbnVtczogMCxcbiAgICAgICAgICAgICAgICAgICAgYW5hbHl6ZWQ6IDAsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG5cbiAgICAgICAgICAgIGFjY291bnQ6IHtcbiAgICAgICAgICAgICAgICBzdGF0ZTogJ2lkbGUnLFxuICAgICAgICAgICAgICAgIGVycm9yOiBudWxsLFxuICAgICAgICAgICAgICAgIHVybDogbnVsbCxcbiAgICAgICAgICAgICAgICBzZXNzaW9uSWQ6IG51bGwsXG4gICAgICAgICAgICAgICAgZW1haWw6IG51bGwsXG4gICAgICAgICAgICAgICAgbmFtZTogbnVsbCxcbiAgICAgICAgICAgIH0sXG5cbiAgICAgICAgICAgIGdhdGU6IHtcbiAgICAgICAgICAgICAgICBzdGF0ZTogJ2lkbGUnLFxuICAgICAgICAgICAgICAgIG1lc3NhZ2U6IG51bGwsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgIH07XG5cbiAgICByZXR1cm4gbWFrZUF1dG9PYnNlcnZhYmxlKFxuICAgICAgICBzdG9yZSxcbiAgICAgICAge30sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGF1dG9CaW5kOiB0cnVlLFxuICAgICAgICAgICAgZGVlcDogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICApO1xufTtcblxuZXhwb3J0IHR5cGUgVEFwcFN0b3JlID0gUmV0dXJuVHlwZTx0eXBlb2YgY3JlYXRlQXBwU3RvcmU+O1xuIl19
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUubWpzIiwic291cmNlUm9vdCI6Ii4vc3JjLyIsInNvdXJjZXMiOlsic3RvcmUubXRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQU14QyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBK0IsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUN2RSxhQUFhO0lBQ2IsWUFBWTtJQUNaLGVBQWU7Q0FDVCxDQUFDLENBQUM7QUFpSFosTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQzFCLE1BQXlCLEVBQ3pCLGFBQTZCLEVBQy9CLEVBQUU7SUFDQSxNQUFNLEtBQUssR0FBVztRQUNsQixNQUFNO1FBQ04sYUFBYTtRQUNiLEtBQUssRUFBRTtZQUNILGFBQWEsRUFBRTtnQkFDWCxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPO2dCQUN6QixZQUFZLEVBQUUsS0FBSztnQkFDbkIsUUFBUSxFQUFFLElBQUk7Z0JBQ2Qsa0JBQWtCLEVBQUUsSUFBSTtnQkFDeEIsV0FBVyxFQUFFLENBQUM7Z0JBQ2QsWUFBWSxFQUFFLEtBQUs7Z0JBRW5CLGNBQWMsRUFBRSxJQUFJO2dCQUNwQixVQUFVLEVBQUUsSUFBSTtnQkFDaEIsY0FBYyxFQUFFLElBQUk7Z0JBQ3BCLGFBQWEsRUFBRSxJQUFJO2dCQUVuQixTQUFTLEVBQUUsSUFBSTtnQkFDZixLQUFLLEVBQUUsTUFBTTtnQkFDYixLQUFLLEVBQUUsSUFBSTthQUNkO1lBRUQsa0JBQWtCLEVBQUU7Z0JBQ2hCLFFBQVEsRUFBRSxJQUFJO2dCQUNkLFdBQVcsRUFBRSxDQUFDO2dCQUNkLFlBQVksRUFBRSxLQUFLO2dCQUVuQixjQUFjLEVBQUUsSUFBSTtnQkFDcEIsVUFBVSxFQUFFLElBQUk7Z0JBQ2hCLGNBQWMsRUFBRSxJQUFJO2dCQUNwQixjQUFjLEVBQUUsSUFBSTtnQkFFcEIsZUFBZSxFQUFFLElBQUk7Z0JBQ3JCLHFCQUFxQixFQUFFLElBQUk7Z0JBQzNCLEtBQUssRUFBRSxNQUFNO2dCQUNiLEtBQUssRUFBRSxJQUFJO2FBQ2Q7WUFFRCxhQUFhLEVBQUU7Z0JBQ1gsS0FBSyxFQUFFLE1BQU07Z0JBQ2IsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsZ0JBQWdCLEVBQUUsS0FBSztnQkFDdkIsTUFBTSxFQUFFO29CQUNKLE1BQU0sRUFBRSxDQUFDO29CQUNULEtBQUssRUFBRSxDQUFDO29CQUNSLGlCQUFpQixFQUFFLENBQUM7b0JBQ3BCLE9BQU8sRUFBRSxDQUFDO29CQUNWLE9BQU8sRUFBRSxDQUFDO29CQUNWLFdBQVcsRUFBRSxDQUFDO29CQUNkLEtBQUssRUFBRSxDQUFDO29CQUNSLFFBQVEsRUFBRSxDQUFDO2lCQUNkO2FBQ0o7WUFFRCxPQUFPLEVBQUU7Z0JBQ0wsS0FBSyxFQUFFLE1BQU07Z0JBQ2IsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsR0FBRyxFQUFFLElBQUk7Z0JBQ1QsU0FBUyxFQUFFLElBQUk7Z0JBQ2YsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsSUFBSSxFQUFFLElBQUk7YUFDYjtZQUVELFVBQVUsRUFBRTtnQkFDUixLQUFLLEVBQUUsTUFBTTtnQkFDYixLQUFLLEVBQUUsSUFBSTtnQkFDWCxTQUFTLEVBQUUsSUFBSTtnQkFDZixJQUFJLEVBQUUsSUFBSTthQUNiO1lBRUQsZUFBZSxFQUFFO2dCQUNiLEtBQUssRUFBRSxNQUFNO2dCQUNiLEtBQUssRUFBRSxJQUFJO2FBQ2Q7WUFFRCxJQUFJLEVBQUU7Z0JBQ0YsS0FBSyxFQUFFLE1BQU07Z0JBQ2IsT0FBTyxFQUFFLElBQUk7YUFDaEI7U0FDSjtLQUNKLENBQUM7SUFFRixPQUFPLGtCQUFrQixDQUNyQixLQUFLLEVBQ0wsRUFBRSxFQUNGO1FBQ0ksUUFBUSxFQUFFLElBQUk7UUFDZCxJQUFJLEVBQUUsSUFBSTtLQUNiLENBQ0osQ0FBQztBQUNOLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7bWFrZUF1dG9PYnNlcnZhYmxlfSBmcm9tICdtb2J4JztcblxuaW1wb3J0IHtUQ29ubmVjdGlvbkNvbmZpZ30gZnJvbSAnLi90eXBlcy9jb25uZWN0aW9uLm1qcyc7XG5cbmV4cG9ydCB0eXBlIFRTdG9wQWZ0ZXJTdGFnZSA9ICdzc2gtY29ubmVjdCcgfCAnZGItY29ubmVjdCcgfCAnaW50cm9zcGVjdGlvbic7XG5cbmV4cG9ydCBjb25zdCBTVE9QX0FGVEVSX1NUQUdFUzogcmVhZG9ubHkgVFN0b3BBZnRlclN0YWdlW10gPSBPYmplY3QuZnJlZXplKFtcbiAgICAnc3NoLWNvbm5lY3QnLFxuICAgICdkYi1jb25uZWN0JyxcbiAgICAnaW50cm9zcGVjdGlvbicsXG5dIGFzIGNvbnN0KTtcblxuZXhwb3J0IHR5cGUgVE91dHB1dE9wdGlvbnMgPSB7XG4gICAgb3V0cHV0SW50cm9zcGVjdGlvbkpzb246IHN0cmluZyB8IG51bGw7XG4gICAgc3RvcEFmdGVyOiBUU3RvcEFmdGVyU3RhZ2UgfCBudWxsO1xuICAgIG92ZXJ3cml0ZTogYm9vbGVhbjtcbiAgICBleHBsYW5hdGlvbjogc3RyaW5nIHwgbnVsbDtcbn07XG5cbmV4cG9ydCB0eXBlIFRTdG9yZSA9IHtcbiAgICBjb25maWc6IFRDb25uZWN0aW9uQ29uZmlnO1xuICAgIG91dHB1dE9wdGlvbnM6IFRPdXRwdXRPcHRpb25zO1xuICAgIHN0ZXBzOiB7XG4gICAgICAgIHNzaENvbm5lY3Rpb246IHtcbiAgICAgICAgICAgIGVuYWJsZWQ6IGJvb2xlYW47XG4gICAgICAgICAgICBuZWVkUGFzc3dvcmQ6IGJvb2xlYW47XG4gICAgICAgICAgICBwYXNzd29yZDogc3RyaW5nIHwgbnVsbDtcbiAgICAgICAgICAgIHBhc3N3b3JkUHJvbXB0VHlwZTogJ3Bhc3NwaHJhc2UnIHwgJ3Bhc3N3b3JkJyB8IG51bGw7XG4gICAgICAgICAgICBwcm9tcHRDb3VudDogbnVtYmVyO1xuICAgICAgICAgICAgd3JvbmdBdHRlbXB0OiBib29sZWFuO1xuXG4gICAgICAgICAgICBwaWNrZWRIb3N0bmFtZTogc3RyaW5nIHwgbnVsbDtcbiAgICAgICAgICAgIHBpY2tlZFBvcnQ6IG51bWJlciB8IG51bGw7XG4gICAgICAgICAgICBwaWNrZWRVc2VybmFtZTogc3RyaW5nIHwgbnVsbDtcbiAgICAgICAgICAgIHBpY2tlZEtleVBhdGg6IHN0cmluZyB8IG51bGw7XG5cbiAgICAgICAgICAgIGxvY2FsUG9ydDogbnVtYmVyIHwgbnVsbDtcbiAgICAgICAgICAgIHN0YXRlOlxuICAgICAgICAgICAgICAgIHwgJ2lkbGUnXG4gICAgICAgICAgICAgICAgfCAnY29ubmVjdGluZydcbiAgICAgICAgICAgICAgICB8ICdjb25uZWN0ZWQnXG4gICAgICAgICAgICAgICAgfCAnbmVlZC1wYXNzd29yZCdcbiAgICAgICAgICAgICAgICB8ICdlcnJvcidcbiAgICAgICAgICAgICAgICB8ICdjbG9zZWQnO1xuICAgICAgICAgICAgZXJyb3I6IHN0cmluZyB8IG51bGw7XG4gICAgICAgIH07XG5cbiAgICAgICAgZGF0YWJhc2VDb25uZWN0aW9uOiB7XG4gICAgICAgICAgICBwYXNzd29yZDogc3RyaW5nIHwgbnVsbDtcbiAgICAgICAgICAgIHByb21wdENvdW50OiBudW1iZXI7XG4gICAgICAgICAgICB3cm9uZ0F0dGVtcHQ6IGJvb2xlYW47XG5cbiAgICAgICAgICAgIHBpY2tlZEhvc3RuYW1lOiBzdHJpbmcgfCBudWxsO1xuICAgICAgICAgICAgcGlja2VkUG9ydDogbnVtYmVyIHwgbnVsbDtcbiAgICAgICAgICAgIHBpY2tlZERhdGFiYXNlOiBzdHJpbmcgfCBudWxsO1xuICAgICAgICAgICAgcGlja2VkVXNlcm5hbWU6IHN0cmluZyB8IG51bGw7XG5cbiAgICAgICAgICAgIHBvc3RncmVzVmVyc2lvbjogc3RyaW5nIHwgbnVsbDtcbiAgICAgICAgICAgIHBvc3RncmVzVmVyc2lvbk51bWJlcjogbnVtYmVyIHwgbnVsbDtcbiAgICAgICAgICAgIHN0YXRlOlxuICAgICAgICAgICAgICAgIHwgJ2lkbGUnXG4gICAgICAgICAgICAgICAgfCAnY29ubmVjdGluZydcbiAgICAgICAgICAgICAgICB8ICdjb25uZWN0ZWQnXG4gICAgICAgICAgICAgICAgfCAnbmVlZC1wYXNzd29yZCdcbiAgICAgICAgICAgICAgICB8ICdlcnJvcic7XG4gICAgICAgICAgICBlcnJvcjogc3RyaW5nIHwgbnVsbDtcbiAgICAgICAgfTtcblxuICAgICAgICBpbnRyb3NwZWN0aW9uOiB7XG4gICAgICAgICAgICBzdGF0ZTogJ2lkbGUnIHwgJ2ZldGNoaW5nJyB8ICdkb25lJyB8ICdlcnJvcic7XG4gICAgICAgICAgICBlcnJvcjogc3RyaW5nIHwgbnVsbDtcbiAgICAgICAgICAgIGZpbGVTdGF0c1NraXBwZWQ6IGJvb2xlYW47XG4gICAgICAgICAgICBjb3VudHM6IHtcbiAgICAgICAgICAgICAgICB0YWJsZXM6IG51bWJlcjtcbiAgICAgICAgICAgICAgICB2aWV3czogbnVtYmVyO1xuICAgICAgICAgICAgICAgIG1hdGVyaWFsaXplZFZpZXdzOiBudW1iZXI7XG4gICAgICAgICAgICAgICAgY29sdW1uczogbnVtYmVyO1xuICAgICAgICAgICAgICAgIGluZGV4ZXM6IG51bWJlcjtcbiAgICAgICAgICAgICAgICBmb3JlaWduS2V5czogbnVtYmVyO1xuICAgICAgICAgICAgICAgIGVudW1zOiBudW1iZXI7XG4gICAgICAgICAgICAgICAgYW5hbHl6ZWQ6IG51bWJlcjtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH07XG5cbiAgICAgICAgYWNjb3VudDoge1xuICAgICAgICAgICAgc3RhdGU6XG4gICAgICAgICAgICAgICAgfCAnaWRsZSdcbiAgICAgICAgICAgICAgICB8ICdjcmVhdGluZy1zZXNzaW9uJ1xuICAgICAgICAgICAgICAgIHwgJ3dhaXRpbmcnXG4gICAgICAgICAgICAgICAgfCAnZmV0Y2hpbmctYWNjb3VudCdcbiAgICAgICAgICAgICAgICB8ICdjb25uZWN0ZWQnXG4gICAgICAgICAgICAgICAgfCAnZXJyb3InO1xuICAgICAgICAgICAgZXJyb3I6IHN0cmluZyB8IG51bGw7XG4gICAgICAgICAgICB1cmw6IHN0cmluZyB8IG51bGw7XG4gICAgICAgICAgICBzZXNzaW9uSWQ6IHN0cmluZyB8IG51bGw7XG4gICAgICAgICAgICBlbWFpbDogc3RyaW5nIHwgbnVsbDtcbiAgICAgICAgICAgIG5hbWU6IHN0cmluZyB8IG51bGw7XG4gICAgICAgIH07XG5cbiAgICAgICAgb3V0cHV0SnNvbjoge1xuICAgICAgICAgICAgc3RhdGU6XG4gICAgICAgICAgICAgICAgfCAnaWRsZSdcbiAgICAgICAgICAgICAgICB8ICdwcm9tcHRpbmctb3ZlcndyaXRlJ1xuICAgICAgICAgICAgICAgIHwgJ3dyaXRpbmcnXG4gICAgICAgICAgICAgICAgfCAnZG9uZSdcbiAgICAgICAgICAgICAgICB8ICdlcnJvcic7XG4gICAgICAgICAgICBlcnJvcjogc3RyaW5nIHwgbnVsbDtcbiAgICAgICAgICAgIGNvbmZpcm1lZDogYm9vbGVhbiB8IG51bGw7XG4gICAgICAgICAgICBwYXRoOiBzdHJpbmcgfCBudWxsO1xuICAgICAgICB9O1xuXG4gICAgICAgIHVzZXJFeHBsYW5hdGlvbjoge1xuICAgICAgICAgICAgc3RhdGU6ICdpZGxlJyB8ICdwcm9tcHRpbmcnIHwgJ2RvbmUnO1xuICAgICAgICAgICAgdmFsdWU6IHN0cmluZyB8IG51bGw7XG4gICAgICAgIH07XG5cbiAgICAgICAgZ2F0ZToge1xuICAgICAgICAgICAgc3RhdGU6ICdpZGxlJyB8ICdjaGVja2luZycgfCAnYmxvY2tlZCcgfCAncGFzc2VkJztcbiAgICAgICAgICAgIG1lc3NhZ2U6IHN0cmluZyB8IG51bGw7XG4gICAgICAgIH07XG4gICAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVBcHBTdG9yZSA9IChcbiAgICBjb25maWc6IFRDb25uZWN0aW9uQ29uZmlnLFxuICAgIG91dHB1dE9wdGlvbnM6IFRPdXRwdXRPcHRpb25zLFxuKSA9PiB7XG4gICAgY29uc3Qgc3RvcmU6IFRTdG9yZSA9IHtcbiAgICAgICAgY29uZmlnLFxuICAgICAgICBvdXRwdXRPcHRpb25zLFxuICAgICAgICBzdGVwczoge1xuICAgICAgICAgICAgc3NoQ29ubmVjdGlvbjoge1xuICAgICAgICAgICAgICAgIGVuYWJsZWQ6ICEhY29uZmlnLnNzaEhvc3QsXG4gICAgICAgICAgICAgICAgbmVlZFBhc3N3b3JkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBwYXNzd29yZDogbnVsbCxcbiAgICAgICAgICAgICAgICBwYXNzd29yZFByb21wdFR5cGU6IG51bGwsXG4gICAgICAgICAgICAgICAgcHJvbXB0Q291bnQ6IDAsXG4gICAgICAgICAgICAgICAgd3JvbmdBdHRlbXB0OiBmYWxzZSxcblxuICAgICAgICAgICAgICAgIHBpY2tlZEhvc3RuYW1lOiBudWxsLFxuICAgICAgICAgICAgICAgIHBpY2tlZFBvcnQ6IG51bGwsXG4gICAgICAgICAgICAgICAgcGlja2VkVXNlcm5hbWU6IG51bGwsXG4gICAgICAgICAgICAgICAgcGlja2VkS2V5UGF0aDogbnVsbCxcblxuICAgICAgICAgICAgICAgIGxvY2FsUG9ydDogbnVsbCxcbiAgICAgICAgICAgICAgICBzdGF0ZTogJ2lkbGUnLFxuICAgICAgICAgICAgICAgIGVycm9yOiBudWxsLFxuICAgICAgICAgICAgfSxcblxuICAgICAgICAgICAgZGF0YWJhc2VDb25uZWN0aW9uOiB7XG4gICAgICAgICAgICAgICAgcGFzc3dvcmQ6IG51bGwsXG4gICAgICAgICAgICAgICAgcHJvbXB0Q291bnQ6IDAsXG4gICAgICAgICAgICAgICAgd3JvbmdBdHRlbXB0OiBmYWxzZSxcblxuICAgICAgICAgICAgICAgIHBpY2tlZEhvc3RuYW1lOiBudWxsLFxuICAgICAgICAgICAgICAgIHBpY2tlZFBvcnQ6IG51bGwsXG4gICAgICAgICAgICAgICAgcGlja2VkRGF0YWJhc2U6IG51bGwsXG4gICAgICAgICAgICAgICAgcGlja2VkVXNlcm5hbWU6IG51bGwsXG5cbiAgICAgICAgICAgICAgICBwb3N0Z3Jlc1ZlcnNpb246IG51bGwsXG4gICAgICAgICAgICAgICAgcG9zdGdyZXNWZXJzaW9uTnVtYmVyOiBudWxsLFxuICAgICAgICAgICAgICAgIHN0YXRlOiAnaWRsZScsXG4gICAgICAgICAgICAgICAgZXJyb3I6IG51bGwsXG4gICAgICAgICAgICB9LFxuXG4gICAgICAgICAgICBpbnRyb3NwZWN0aW9uOiB7XG4gICAgICAgICAgICAgICAgc3RhdGU6ICdpZGxlJyxcbiAgICAgICAgICAgICAgICBlcnJvcjogbnVsbCxcbiAgICAgICAgICAgICAgICBmaWxlU3RhdHNTa2lwcGVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBjb3VudHM6IHtcbiAgICAgICAgICAgICAgICAgICAgdGFibGVzOiAwLFxuICAgICAgICAgICAgICAgICAgICB2aWV3czogMCxcbiAgICAgICAgICAgICAgICAgICAgbWF0ZXJpYWxpemVkVmlld3M6IDAsXG4gICAgICAgICAgICAgICAgICAgIGNvbHVtbnM6IDAsXG4gICAgICAgICAgICAgICAgICAgIGluZGV4ZXM6IDAsXG4gICAgICAgICAgICAgICAgICAgIGZvcmVpZ25LZXlzOiAwLFxuICAgICAgICAgICAgICAgICAgICBlbnVtczogMCxcbiAgICAgICAgICAgICAgICAgICAgYW5hbHl6ZWQ6IDAsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG5cbiAgICAgICAgICAgIGFjY291bnQ6IHtcbiAgICAgICAgICAgICAgICBzdGF0ZTogJ2lkbGUnLFxuICAgICAgICAgICAgICAgIGVycm9yOiBudWxsLFxuICAgICAgICAgICAgICAgIHVybDogbnVsbCxcbiAgICAgICAgICAgICAgICBzZXNzaW9uSWQ6IG51bGwsXG4gICAgICAgICAgICAgICAgZW1haWw6IG51bGwsXG4gICAgICAgICAgICAgICAgbmFtZTogbnVsbCxcbiAgICAgICAgICAgIH0sXG5cbiAgICAgICAgICAgIG91dHB1dEpzb246IHtcbiAgICAgICAgICAgICAgICBzdGF0ZTogJ2lkbGUnLFxuICAgICAgICAgICAgICAgIGVycm9yOiBudWxsLFxuICAgICAgICAgICAgICAgIGNvbmZpcm1lZDogbnVsbCxcbiAgICAgICAgICAgICAgICBwYXRoOiBudWxsLFxuICAgICAgICAgICAgfSxcblxuICAgICAgICAgICAgdXNlckV4cGxhbmF0aW9uOiB7XG4gICAgICAgICAgICAgICAgc3RhdGU6ICdpZGxlJyxcbiAgICAgICAgICAgICAgICB2YWx1ZTogbnVsbCxcbiAgICAgICAgICAgIH0sXG5cbiAgICAgICAgICAgIGdhdGU6IHtcbiAgICAgICAgICAgICAgICBzdGF0ZTogJ2lkbGUnLFxuICAgICAgICAgICAgICAgIG1lc3NhZ2U6IG51bGwsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgIH07XG5cbiAgICByZXR1cm4gbWFrZUF1dG9PYnNlcnZhYmxlKFxuICAgICAgICBzdG9yZSxcbiAgICAgICAge30sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGF1dG9CaW5kOiB0cnVlLFxuICAgICAgICAgICAgZGVlcDogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICApO1xufTtcblxuZXhwb3J0IHR5cGUgVEFwcFN0b3JlID0gUmV0dXJuVHlwZTx0eXBlb2YgY3JlYXRlQXBwU3RvcmU+O1xuIl19
@@ -1 +1 @@
1
- {"version":3,"file":"App.d.ts","sourceRoot":"./src/","sources":["ui/App.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAErC,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,cAAc,CAAC;AAQzC,KAAK,SAAS,GAAG;IACb,KAAK,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,GAAG,eAAsB,SAAS,KAAG,SAAS;;CAWzD,CAAC"}
1
+ {"version":3,"file":"App.d.ts","sourceRoot":"./src/","sources":["ui/App.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAErC,OAAO,KAAK,EAAC,MAAM,EAAkB,MAAM,cAAc,CAAC;AAuB1D,KAAK,SAAS,GAAG;IACb,KAAK,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,GAAG,eAAsB,SAAS,KAAG,SAAS;;CAuBzD,CAAC"}
package/dist/ui/App.js CHANGED
@@ -1,13 +1,23 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Box } from 'ink';
3
3
  import { observer } from 'mobx-react-lite';
4
4
  import { SSH } from './components/SSH.js';
5
5
  import { DB } from './components/DB.js';
6
6
  import { Introspect } from './components/Introspect.js';
7
7
  import { Account } from './components/Session.js';
8
+ import { OutputJson } from './components/OutputJson.js';
9
+ import { UserExplanation } from './components/UserExplanation.js';
8
10
  import { Gate } from './components/Gate.js';
9
11
  import { Splash } from './components/Splash.js';
12
+ const STAGE_ORDER = [
13
+ 'ssh-connect',
14
+ 'db-connect',
15
+ 'introspection',
16
+ ];
17
+ const isAfterStopPoint = (stopAfter, stage) => stopAfter !== null &&
18
+ STAGE_ORDER.indexOf(stage) > STAGE_ORDER.indexOf(stopAfter);
10
19
  export const App = observer(({ store }) => {
11
- return (_jsxs(Box, { flexDirection: "column", padding: 1, children: [_jsx(Splash, {}), _jsx(SSH, { store: store }), _jsx(DB, { store: store }), _jsx(Introspect, { store: store }), _jsx(Account, { store: store }), _jsx(Gate, { store: store })] }));
20
+ const { stopAfter } = store.outputOptions;
21
+ return (_jsxs(Box, { flexDirection: "column", padding: 1, children: [_jsx(Splash, {}), _jsx(SSH, { store: store }), !isAfterStopPoint(stopAfter, 'db-connect') && _jsx(DB, { store: store }), !isAfterStopPoint(stopAfter, 'introspection') && (_jsxs(_Fragment, { children: [_jsx(Introspect, { store: store }), stopAfter === null && (_jsxs(_Fragment, { children: [_jsx(Account, { store: store }), _jsx(Gate, { store: store })] })), _jsx(UserExplanation, { store: store }), _jsx(OutputJson, { store: store })] }))] }));
12
22
  });
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBwLmpzIiwic291cmNlUm9vdCI6Ii4vc3JjLyIsInNvdXJjZXMiOlsidWkvQXBwLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLEtBQUssQ0FBQztBQUV4QixPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFekMsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3hDLE9BQU8sRUFBQyxFQUFFLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUN0QyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDdEQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ2hELE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxQyxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFNOUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxDQUFDLEVBQUMsS0FBSyxFQUFZLEVBQWEsRUFBRTtJQUMxRCxPQUFPLENBQ0gsTUFBQyxHQUFHLElBQUMsYUFBYSxFQUFDLFFBQVEsRUFBQyxPQUFPLEVBQUUsQ0FBQyxhQUNsQyxLQUFDLE1BQU0sS0FBRyxFQUNWLEtBQUMsR0FBRyxJQUFDLEtBQUssRUFBRSxLQUFLLEdBQUksRUFDckIsS0FBQyxFQUFFLElBQUMsS0FBSyxFQUFFLEtBQUssR0FBSSxFQUNwQixLQUFDLFVBQVUsSUFBQyxLQUFLLEVBQUUsS0FBSyxHQUFJLEVBQzVCLEtBQUMsT0FBTyxJQUFDLEtBQUssRUFBRSxLQUFLLEdBQUksRUFDekIsS0FBQyxJQUFJLElBQUMsS0FBSyxFQUFFLEtBQUssR0FBSSxJQUNwQixDQUNULENBQUM7QUFDTixDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Qm94fSBmcm9tICdpbmsnO1xuaW1wb3J0IHR5cGUge1JlYWN0Tm9kZX0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHtvYnNlcnZlcn0gZnJvbSAnbW9ieC1yZWFjdC1saXRlJztcbmltcG9ydCB0eXBlIHtUU3RvcmV9IGZyb20gJy4uL3N0b3JlLm1qcyc7XG5pbXBvcnQge1NTSH0gZnJvbSAnLi9jb21wb25lbnRzL1NTSC5qcyc7XG5pbXBvcnQge0RCfSBmcm9tICcuL2NvbXBvbmVudHMvREIuanMnO1xuaW1wb3J0IHtJbnRyb3NwZWN0fSBmcm9tICcuL2NvbXBvbmVudHMvSW50cm9zcGVjdC5qcyc7XG5pbXBvcnQge0FjY291bnR9IGZyb20gJy4vY29tcG9uZW50cy9TZXNzaW9uLmpzJztcbmltcG9ydCB7R2F0ZX0gZnJvbSAnLi9jb21wb25lbnRzL0dhdGUuanMnO1xuaW1wb3J0IHtTcGxhc2h9IGZyb20gJy4vY29tcG9uZW50cy9TcGxhc2guanMnO1xuXG50eXBlIFRBcHBQcm9wcyA9IHtcbiAgICBzdG9yZTogVFN0b3JlO1xufTtcblxuZXhwb3J0IGNvbnN0IEFwcCA9IG9ic2VydmVyKCh7c3RvcmV9OiBUQXBwUHJvcHMpOiBSZWFjdE5vZGUgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICAgIDxCb3ggZmxleERpcmVjdGlvbj1cImNvbHVtblwiIHBhZGRpbmc9ezF9PlxuICAgICAgICAgICAgPFNwbGFzaCAvPlxuICAgICAgICAgICAgPFNTSCBzdG9yZT17c3RvcmV9IC8+XG4gICAgICAgICAgICA8REIgc3RvcmU9e3N0b3JlfSAvPlxuICAgICAgICAgICAgPEludHJvc3BlY3Qgc3RvcmU9e3N0b3JlfSAvPlxuICAgICAgICAgICAgPEFjY291bnQgc3RvcmU9e3N0b3JlfSAvPlxuICAgICAgICAgICAgPEdhdGUgc3RvcmU9e3N0b3JlfSAvPlxuICAgICAgICA8L0JveD5cbiAgICApO1xufSk7XG4iXX0=
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBwLmpzIiwic291cmNlUm9vdCI6Ii4vc3JjLyIsInNvdXJjZXMiOlsidWkvQXBwLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLEtBQUssQ0FBQztBQUV4QixPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFekMsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3hDLE9BQU8sRUFBQyxFQUFFLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUN0QyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDdEQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ2hELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDaEUsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzFDLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUU5QyxNQUFNLFdBQVcsR0FBK0I7SUFDNUMsYUFBYTtJQUNiLFlBQVk7SUFDWixlQUFlO0NBQ1QsQ0FBQztBQUVYLE1BQU0sZ0JBQWdCLEdBQUcsQ0FDckIsU0FBaUMsRUFDakMsS0FBc0IsRUFDZixFQUFFLENBQ1QsU0FBUyxLQUFLLElBQUk7SUFDbEIsV0FBVyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBTWhFLE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBRyxRQUFRLENBQUMsQ0FBQyxFQUFDLEtBQUssRUFBWSxFQUFhLEVBQUU7SUFDMUQsTUFBTSxFQUFDLFNBQVMsRUFBQyxHQUFHLEtBQUssQ0FBQyxhQUFhLENBQUM7SUFFeEMsT0FBTyxDQUNILE1BQUMsR0FBRyxJQUFDLGFBQWEsRUFBQyxRQUFRLEVBQUMsT0FBTyxFQUFFLENBQUMsYUFDbEMsS0FBQyxNQUFNLEtBQUcsRUFDVixLQUFDLEdBQUcsSUFBQyxLQUFLLEVBQUUsS0FBSyxHQUFJLEVBQ3BCLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLFlBQVksQ0FBQyxJQUFJLEtBQUMsRUFBRSxJQUFDLEtBQUssRUFBRSxLQUFLLEdBQUksRUFDbEUsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsZUFBZSxDQUFDLElBQUksQ0FDOUMsOEJBQ0ksS0FBQyxVQUFVLElBQUMsS0FBSyxFQUFFLEtBQUssR0FBSSxFQUMzQixTQUFTLEtBQUssSUFBSSxJQUFJLENBQ25CLDhCQUNJLEtBQUMsT0FBTyxJQUFDLEtBQUssRUFBRSxLQUFLLEdBQUksRUFDekIsS0FBQyxJQUFJLElBQUMsS0FBSyxFQUFFLEtBQUssR0FBSSxJQUN2QixDQUNOLEVBQ0QsS0FBQyxlQUFlLElBQUMsS0FBSyxFQUFFLEtBQUssR0FBSSxFQUNqQyxLQUFDLFVBQVUsSUFBQyxLQUFLLEVBQUUsS0FBSyxHQUFJLElBQzdCLENBQ04sSUFDQyxDQUNULENBQUM7QUFDTixDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Qm94fSBmcm9tICdpbmsnO1xuaW1wb3J0IHR5cGUge1JlYWN0Tm9kZX0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHtvYnNlcnZlcn0gZnJvbSAnbW9ieC1yZWFjdC1saXRlJztcbmltcG9ydCB0eXBlIHtUU3RvcmUsIFRTdG9wQWZ0ZXJTdGFnZX0gZnJvbSAnLi4vc3RvcmUubWpzJztcbmltcG9ydCB7U1NIfSBmcm9tICcuL2NvbXBvbmVudHMvU1NILmpzJztcbmltcG9ydCB7REJ9IGZyb20gJy4vY29tcG9uZW50cy9EQi5qcyc7XG5pbXBvcnQge0ludHJvc3BlY3R9IGZyb20gJy4vY29tcG9uZW50cy9JbnRyb3NwZWN0LmpzJztcbmltcG9ydCB7QWNjb3VudH0gZnJvbSAnLi9jb21wb25lbnRzL1Nlc3Npb24uanMnO1xuaW1wb3J0IHtPdXRwdXRKc29ufSBmcm9tICcuL2NvbXBvbmVudHMvT3V0cHV0SnNvbi5qcyc7XG5pbXBvcnQge1VzZXJFeHBsYW5hdGlvbn0gZnJvbSAnLi9jb21wb25lbnRzL1VzZXJFeHBsYW5hdGlvbi5qcyc7XG5pbXBvcnQge0dhdGV9IGZyb20gJy4vY29tcG9uZW50cy9HYXRlLmpzJztcbmltcG9ydCB7U3BsYXNofSBmcm9tICcuL2NvbXBvbmVudHMvU3BsYXNoLmpzJztcblxuY29uc3QgU1RBR0VfT1JERVI6IHJlYWRvbmx5IFRTdG9wQWZ0ZXJTdGFnZVtdID0gW1xuICAgICdzc2gtY29ubmVjdCcsXG4gICAgJ2RiLWNvbm5lY3QnLFxuICAgICdpbnRyb3NwZWN0aW9uJyxcbl0gYXMgY29uc3Q7XG5cbmNvbnN0IGlzQWZ0ZXJTdG9wUG9pbnQgPSAoXG4gICAgc3RvcEFmdGVyOiBUU3RvcEFmdGVyU3RhZ2UgfCBudWxsLFxuICAgIHN0YWdlOiBUU3RvcEFmdGVyU3RhZ2UsXG4pOiBib29sZWFuID0+XG4gICAgc3RvcEFmdGVyICE9PSBudWxsICYmXG4gICAgU1RBR0VfT1JERVIuaW5kZXhPZihzdGFnZSkgPiBTVEFHRV9PUkRFUi5pbmRleE9mKHN0b3BBZnRlcik7XG5cbnR5cGUgVEFwcFByb3BzID0ge1xuICAgIHN0b3JlOiBUU3RvcmU7XG59O1xuXG5leHBvcnQgY29uc3QgQXBwID0gb2JzZXJ2ZXIoKHtzdG9yZX06IFRBcHBQcm9wcyk6IFJlYWN0Tm9kZSA9PiB7XG4gICAgY29uc3Qge3N0b3BBZnRlcn0gPSBzdG9yZS5vdXRwdXRPcHRpb25zO1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPEJveCBmbGV4RGlyZWN0aW9uPVwiY29sdW1uXCIgcGFkZGluZz17MX0+XG4gICAgICAgICAgICA8U3BsYXNoIC8+XG4gICAgICAgICAgICA8U1NIIHN0b3JlPXtzdG9yZX0gLz5cbiAgICAgICAgICAgIHshaXNBZnRlclN0b3BQb2ludChzdG9wQWZ0ZXIsICdkYi1jb25uZWN0JykgJiYgPERCIHN0b3JlPXtzdG9yZX0gLz59XG4gICAgICAgICAgICB7IWlzQWZ0ZXJTdG9wUG9pbnQoc3RvcEFmdGVyLCAnaW50cm9zcGVjdGlvbicpICYmIChcbiAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICA8SW50cm9zcGVjdCBzdG9yZT17c3RvcmV9IC8+XG4gICAgICAgICAgICAgICAgICAgIHtzdG9wQWZ0ZXIgPT09IG51bGwgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QWNjb3VudCBzdG9yZT17c3RvcmV9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEdhdGUgc3RvcmU9e3N0b3JlfSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgIDxVc2VyRXhwbGFuYXRpb24gc3RvcmU9e3N0b3JlfSAvPlxuICAgICAgICAgICAgICAgICAgICA8T3V0cHV0SnNvbiBzdG9yZT17c3RvcmV9IC8+XG4gICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICApfVxuICAgICAgICA8L0JveD5cbiAgICApO1xufSk7XG4iXX0=
@@ -0,0 +1,10 @@
1
+ import type { ReactNode } from 'react';
2
+ import type { TStore } from '../../store.mjs';
3
+ type TOutputJsonProps = {
4
+ store: TStore;
5
+ };
6
+ export declare const OutputJson: (({ store }: TOutputJsonProps) => ReactNode) & {
7
+ displayName: string;
8
+ };
9
+ export {};
10
+ //# sourceMappingURL=OutputJson.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OutputJson.d.ts","sourceRoot":"./src/","sources":["ui/components/OutputJson.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAGrC,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAG5C,KAAK,gBAAgB,GAAG;IACpB,KAAK,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,UAAU,eAAsB,gBAAgB,KAAG,SAAS;;CA+CvE,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Box, Text, useInput } from 'ink';
3
+ import { observer } from 'mobx-react-lite';
4
+ import { runInAction } from 'mobx';
5
+ import { Spinner } from './Spinner.js';
6
+ export const OutputJson = observer(({ store }) => {
7
+ const outputJson = store.steps.outputJson;
8
+ useInput((_input, _key) => {
9
+ runInAction(() => {
10
+ store.steps.outputJson.confirmed = _input.toLowerCase() === 'y';
11
+ });
12
+ }, { isActive: outputJson.state === 'prompting-overwrite' });
13
+ if (outputJson.state === 'idle') {
14
+ return null;
15
+ }
16
+ return (_jsxs(Box, { children: [outputJson.state === 'writing' ? (_jsx(Spinner, {})) : outputJson.state === 'done' ? (_jsx(Text, { color: "green", children: "\u25CF" })) : outputJson.state === 'error' ? (_jsx(Text, { color: "red", children: "\u25CF" })) : (_jsx(Text, { color: "yellow", children: "\u25CF" })), _jsx(Text, { children: " " }), _jsx(Text, { bold: true, children: "Output: " }), outputJson.state === 'prompting-overwrite' ? (_jsxs(Text, { children: ["File ", _jsx(Text, { color: "cyan", children: outputJson.path }), " already exists. Overwrite? [y/N]", ' '] })) : outputJson.state === 'writing' ? (_jsx(Text, { children: "writing introspection JSON" })) : outputJson.state === 'done' ? (_jsxs(Text, { color: "green", children: ["written to ", _jsx(Text, { color: "cyan", children: outputJson.path })] })) : outputJson.state === 'error' ? (_jsxs(Text, { color: "red", children: ["Error: ", outputJson.error] })) : null] }));
17
+ });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3V0cHV0SnNvbi5qcyIsInNvdXJjZVJvb3QiOiIuL3NyYy8iLCJzb3VyY2VzIjpbInVpL2NvbXBvbmVudHMvT3V0cHV0SnNvbi50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBQyxNQUFNLEtBQUssQ0FBQztBQUV4QyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUVqQyxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBTXJDLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsQ0FBQyxFQUFDLEtBQUssRUFBbUIsRUFBYSxFQUFFO0lBQ3hFLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDO0lBRTFDLFFBQVEsQ0FDSixDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRTtRQUNiLFdBQVcsQ0FBQyxHQUFHLEVBQUU7WUFDYixLQUFLLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLFdBQVcsRUFBRSxLQUFLLEdBQUcsQ0FBQztRQUNwRSxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUMsRUFDRCxFQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsS0FBSyxLQUFLLHFCQUFxQixFQUFDLENBQ3pELENBQUM7SUFFRixJQUFJLFVBQVUsQ0FBQyxLQUFLLEtBQUssTUFBTSxFQUFFLENBQUM7UUFDOUIsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVELE9BQU8sQ0FDSCxNQUFDLEdBQUcsZUFDQyxVQUFVLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FDOUIsS0FBQyxPQUFPLEtBQUcsQ0FDZCxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsS0FBSyxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FDOUIsS0FBQyxJQUFJLElBQUMsS0FBSyxFQUFDLE9BQU8sdUJBQVMsQ0FDL0IsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEtBQUssS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQy9CLEtBQUMsSUFBSSxJQUFDLEtBQUssRUFBQyxLQUFLLHVCQUFTLENBQzdCLENBQUMsQ0FBQyxDQUFDLENBQ0EsS0FBQyxJQUFJLElBQUMsS0FBSyxFQUFDLFFBQVEsdUJBQVMsQ0FDaEMsRUFFRCxLQUFDLElBQUksb0JBQVMsRUFDZCxLQUFDLElBQUksSUFBQyxJQUFJLCtCQUFnQixFQUV6QixVQUFVLENBQUMsS0FBSyxLQUFLLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUMxQyxNQUFDLElBQUksd0JBQ0ksS0FBQyxJQUFJLElBQUMsS0FBSyxFQUFDLE1BQU0sWUFBRSxVQUFVLENBQUMsSUFBSSxHQUFRLHVDQUN2QixHQUFHLElBQ3pCLENBQ1YsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEtBQUssS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQ2pDLEtBQUMsSUFBSSw2Q0FBa0MsQ0FDMUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEtBQUssS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQzlCLE1BQUMsSUFBSSxJQUFDLEtBQUssRUFBQyxPQUFPLDRCQUNKLEtBQUMsSUFBSSxJQUFDLEtBQUssRUFBQyxNQUFNLFlBQUUsVUFBVSxDQUFDLElBQUksR0FBUSxJQUNuRCxDQUNWLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxLQUFLLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUMvQixNQUFDLElBQUksSUFBQyxLQUFLLEVBQUMsS0FBSyx3QkFBUyxVQUFVLENBQUMsS0FBSyxJQUFRLENBQ3JELENBQUMsQ0FBQyxDQUFDLElBQUksSUFDTixDQUNULENBQUM7QUFDTixDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Qm94LCBUZXh0LCB1c2VJbnB1dH0gZnJvbSAnaW5rJztcbmltcG9ydCB0eXBlIHtSZWFjdE5vZGV9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7b2JzZXJ2ZXJ9IGZyb20gJ21vYngtcmVhY3QtbGl0ZSc7XG5pbXBvcnQge3J1bkluQWN0aW9ufSBmcm9tICdtb2J4JztcbmltcG9ydCB0eXBlIHtUU3RvcmV9IGZyb20gJy4uLy4uL3N0b3JlLm1qcyc7XG5pbXBvcnQge1NwaW5uZXJ9IGZyb20gJy4vU3Bpbm5lci5qcyc7XG5cbnR5cGUgVE91dHB1dEpzb25Qcm9wcyA9IHtcbiAgICBzdG9yZTogVFN0b3JlO1xufTtcblxuZXhwb3J0IGNvbnN0IE91dHB1dEpzb24gPSBvYnNlcnZlcigoe3N0b3JlfTogVE91dHB1dEpzb25Qcm9wcyk6IFJlYWN0Tm9kZSA9PiB7XG4gICAgY29uc3Qgb3V0cHV0SnNvbiA9IHN0b3JlLnN0ZXBzLm91dHB1dEpzb247XG5cbiAgICB1c2VJbnB1dChcbiAgICAgICAgKF9pbnB1dCwgX2tleSkgPT4ge1xuICAgICAgICAgICAgcnVuSW5BY3Rpb24oKCkgPT4ge1xuICAgICAgICAgICAgICAgIHN0b3JlLnN0ZXBzLm91dHB1dEpzb24uY29uZmlybWVkID0gX2lucHV0LnRvTG93ZXJDYXNlKCkgPT09ICd5JztcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuICAgICAgICB7aXNBY3RpdmU6IG91dHB1dEpzb24uc3RhdGUgPT09ICdwcm9tcHRpbmctb3ZlcndyaXRlJ30sXG4gICAgKTtcblxuICAgIGlmIChvdXRwdXRKc29uLnN0YXRlID09PSAnaWRsZScpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPEJveD5cbiAgICAgICAgICAgIHtvdXRwdXRKc29uLnN0YXRlID09PSAnd3JpdGluZycgPyAoXG4gICAgICAgICAgICAgICAgPFNwaW5uZXIgLz5cbiAgICAgICAgICAgICkgOiBvdXRwdXRKc29uLnN0YXRlID09PSAnZG9uZScgPyAoXG4gICAgICAgICAgICAgICAgPFRleHQgY29sb3I9XCJncmVlblwiPuKXjzwvVGV4dD5cbiAgICAgICAgICAgICkgOiBvdXRwdXRKc29uLnN0YXRlID09PSAnZXJyb3InID8gKFxuICAgICAgICAgICAgICAgIDxUZXh0IGNvbG9yPVwicmVkXCI+4pePPC9UZXh0PlxuICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICA8VGV4dCBjb2xvcj1cInllbGxvd1wiPuKXjzwvVGV4dD5cbiAgICAgICAgICAgICl9XG5cbiAgICAgICAgICAgIDxUZXh0PiA8L1RleHQ+XG4gICAgICAgICAgICA8VGV4dCBib2xkPk91dHB1dDogPC9UZXh0PlxuXG4gICAgICAgICAgICB7b3V0cHV0SnNvbi5zdGF0ZSA9PT0gJ3Byb21wdGluZy1vdmVyd3JpdGUnID8gKFxuICAgICAgICAgICAgICAgIDxUZXh0PlxuICAgICAgICAgICAgICAgICAgICBGaWxlIDxUZXh0IGNvbG9yPVwiY3lhblwiPntvdXRwdXRKc29uLnBhdGh9PC9UZXh0PiBhbHJlYWR5XG4gICAgICAgICAgICAgICAgICAgIGV4aXN0cy4gT3ZlcndyaXRlPyBbeS9OXXsnICd9XG4gICAgICAgICAgICAgICAgPC9UZXh0PlxuICAgICAgICAgICAgKSA6IG91dHB1dEpzb24uc3RhdGUgPT09ICd3cml0aW5nJyA/IChcbiAgICAgICAgICAgICAgICA8VGV4dD53cml0aW5nIGludHJvc3BlY3Rpb24gSlNPTjwvVGV4dD5cbiAgICAgICAgICAgICkgOiBvdXRwdXRKc29uLnN0YXRlID09PSAnZG9uZScgPyAoXG4gICAgICAgICAgICAgICAgPFRleHQgY29sb3I9XCJncmVlblwiPlxuICAgICAgICAgICAgICAgICAgICB3cml0dGVuIHRvIDxUZXh0IGNvbG9yPVwiY3lhblwiPntvdXRwdXRKc29uLnBhdGh9PC9UZXh0PlxuICAgICAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICAgICkgOiBvdXRwdXRKc29uLnN0YXRlID09PSAnZXJyb3InID8gKFxuICAgICAgICAgICAgICAgIDxUZXh0IGNvbG9yPVwicmVkXCI+RXJyb3I6IHtvdXRwdXRKc29uLmVycm9yfTwvVGV4dD5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L0JveD5cbiAgICApO1xufSk7XG4iXX0=
@@ -0,0 +1,11 @@
1
+ import type { ReactNode } from 'react';
2
+ type TLinePrefixFn = (lineNumber: number, totalLines: number) => ReactNode;
3
+ type TTextInputProps = {
4
+ readonly isActive: boolean;
5
+ readonly onSubmit: (value: string) => void;
6
+ readonly placeholder?: string;
7
+ readonly linePrefix?: ReactNode | TLinePrefixFn;
8
+ };
9
+ export declare const TextInput: ({ isActive, onSubmit, placeholder, linePrefix, }: TTextInputProps) => ReactNode;
10
+ export {};
11
+ //# sourceMappingURL=TextInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextInput.d.ts","sourceRoot":"./src/","sources":["ui/components/TextInput.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AA2DrC,KAAK,aAAa,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,SAAS,CAAC;AAE3E,KAAK,eAAe,GAAG;IACnB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,GAAG,aAAa,CAAC;CACnD,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,kDAKvB,eAAe,KAAG,SAgVpB,CAAC"}