@dbx-tools/databricks 0.9.119 → 0.9.120
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.ts +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +2 -2
- package/lib/src/cloud.js +2 -2
- package/package.json +7 -7
- package/src/cloud.ts +1 -1
package/index.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
// Hand edits are overwritten on the next watch; this file is read-only.
|
|
4
4
|
|
|
5
5
|
export const PACKAGE_IDENTIFIER = "@dbx-tools/databricks";
|
|
6
|
-
export const PACKAGE_VERSION = "0.9.
|
|
6
|
+
export const PACKAGE_VERSION = "0.9.120";
|
|
7
7
|
export * as cloud from "./src/cloud.ts";
|
|
8
8
|
export * as databricksFS from "./src/databricks-fs.ts";
|
|
9
9
|
export * as databricksPath from "./src/databricks-path.ts";
|
package/lib/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare const PACKAGE_IDENTIFIER = "@dbx-tools/databricks";
|
|
2
|
-
export declare const PACKAGE_VERSION = "0.9.
|
|
2
|
+
export declare const PACKAGE_VERSION = "0.9.120";
|
|
3
3
|
export * as cloud from "./src/cloud.ts";
|
|
4
4
|
export * as databricksFS from "./src/databricks-fs.ts";
|
|
5
5
|
export * as databricksPath from "./src/databricks-path.ts";
|
package/lib/index.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// Regenerated from the exporting modules in ./src.
|
|
3
3
|
// Hand edits are overwritten on the next watch; this file is read-only.
|
|
4
4
|
export const PACKAGE_IDENTIFIER = "@dbx-tools/databricks";
|
|
5
|
-
export const PACKAGE_VERSION = "0.9.
|
|
5
|
+
export const PACKAGE_VERSION = "0.9.120";
|
|
6
6
|
export * as cloud from "./src/cloud.js";
|
|
7
7
|
export * as databricksFS from "./src/databricks-fs.js";
|
|
8
8
|
export * as databricksPath from "./src/databricks-path.js";
|
|
@@ -12,4 +12,4 @@ export { RANGE_CACHE_TTL_MS, CloudProvider } from "./src/cloud.js";
|
|
|
12
12
|
export { DatabricksFileSystem } from "./src/databricks-fs.js";
|
|
13
13
|
export { isHomeRelativePath } from "./src/databricks-path.js";
|
|
14
14
|
export { getPublicIp } from "./src/net.js";
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQ0FBMkM7QUFDM0MsbURBQW1EO0FBQ25ELHdFQUF3RTtBQUV4RSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyx1QkFBdUIsQ0FBQztBQUMxRCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsU0FBUyxDQUFDO0FBQ3pDLE9BQU8sS0FBSyxLQUFLLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxLQUFLLFlBQVksTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEtBQUssY0FBYyxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sS0FBSyxHQUFHLE1BQU0sY0FBYyxDQUFDO0FBQ3BDLE9BQU8sS0FBSyxlQUFlLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRW5FLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTlELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTlELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBHRU5FUkFURUQgYnkgcHJvamVuIHdhdGNoIC0gRE8gTk9UIEVESVQuXG4vLyBSZWdlbmVyYXRlZCBmcm9tIHRoZSBleHBvcnRpbmcgbW9kdWxlcyBpbiAuL3NyYy5cbi8vIEhhbmQgZWRpdHMgYXJlIG92ZXJ3cml0dGVuIG9uIHRoZSBuZXh0IHdhdGNoOyB0aGlzIGZpbGUgaXMgcmVhZC1vbmx5LlxuXG5leHBvcnQgY29uc3QgUEFDS0FHRV9JREVOVElGSUVSID0gXCJAZGJ4LXRvb2xzL2RhdGFicmlja3NcIjtcbmV4cG9ydCBjb25zdCBQQUNLQUdFX1ZFUlNJT04gPSBcIjAuOS4xMjBcIjtcbmV4cG9ydCAqIGFzIGNsb3VkIGZyb20gXCIuL3NyYy9jbG91ZC50c1wiO1xuZXhwb3J0ICogYXMgZGF0YWJyaWNrc0ZTIGZyb20gXCIuL3NyYy9kYXRhYnJpY2tzLWZzLnRzXCI7XG5leHBvcnQgKiBhcyBkYXRhYnJpY2tzUGF0aCBmcm9tIFwiLi9zcmMvZGF0YWJyaWNrcy1wYXRoLnRzXCI7XG5leHBvcnQgKiBhcyBuZXQgZnJvbSBcIi4vc3JjL25ldC50c1wiO1xuZXhwb3J0ICogYXMgd29ya3NwYWNlQ2xpZW50IGZyb20gXCIuL3NyYy93b3Jrc3BhY2UtY2xpZW50LnRzXCI7XG5leHBvcnQgeyBSQU5HRV9DQUNIRV9UVExfTVMsIENsb3VkUHJvdmlkZXIgfSBmcm9tIFwiLi9zcmMvY2xvdWQudHNcIjtcbmV4cG9ydCB0eXBlIHsgQ2xvdWRMb2NhdGlvbiB9IGZyb20gXCIuL3NyYy9jbG91ZC50c1wiO1xuZXhwb3J0IHsgRGF0YWJyaWNrc0ZpbGVTeXN0ZW0gfSBmcm9tIFwiLi9zcmMvZGF0YWJyaWNrcy1mcy50c1wiO1xuZXhwb3J0IHR5cGUgeyBEYXRhYnJpY2tzRmlsZVN5c3RlbUNsaWVudFJlc29sdmVyLCBEYXRhYnJpY2tzRmlsZVN5c3RlbU9wdGlvbnMsIERhdGFicmlja3NTdHJlYW1Xcml0ZU9wdGlvbnMgfSBmcm9tIFwiLi9zcmMvZGF0YWJyaWNrcy1mcy50c1wiO1xuZXhwb3J0IHsgaXNIb21lUmVsYXRpdmVQYXRoIH0gZnJvbSBcIi4vc3JjL2RhdGFicmlja3MtcGF0aC50c1wiO1xuZXhwb3J0IHR5cGUgeyBEYXRhYnJpY2tzRmlsZXNCYWNrZW5kLCBOb3JtYWxpemVEYXRhYnJpY2tzUm9vdE9wdGlvbnMsIFJlc29sdmVEYXRhYnJpY2tzUm9vdE9wdGlvbnMgfSBmcm9tIFwiLi9zcmMvZGF0YWJyaWNrcy1wYXRoLnRzXCI7XG5leHBvcnQgeyBnZXRQdWJsaWNJcCB9IGZyb20gXCIuL3NyYy9uZXQudHNcIjtcbmV4cG9ydCB0eXBlIHsgV29ya3NwYWNlQ2xpZW50IH0gZnJvbSBcIi4vc3JjL3dvcmtzcGFjZS1jbGllbnQudHNcIjtcbiJdfQ==
|
package/lib/src/cloud.js
CHANGED
|
@@ -102,7 +102,7 @@ export async function loadProviderRanges() {
|
|
|
102
102
|
out.push(result.value);
|
|
103
103
|
}
|
|
104
104
|
else {
|
|
105
|
-
logger.warn("provider range load failed", { error: errorUtils.
|
|
105
|
+
logger.warn("provider range load failed", { error: errorUtils.toError(result.reason) });
|
|
106
106
|
}
|
|
107
107
|
}
|
|
108
108
|
return out;
|
|
@@ -239,4 +239,4 @@ async function fetchText(url) {
|
|
|
239
239
|
async function getCreated(path) {
|
|
240
240
|
return (await file.statSync(path))?.birthtime;
|
|
241
241
|
}
|
|
242
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvdWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xvdWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQkc7QUFFSCxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzlFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDakMsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFMUMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMvRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRTFDLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7QUFFbkMsMEVBQTBFO0FBQzFFLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQztBQUV0RCxrRUFBa0U7QUFDbEUsTUFBTSxjQUFjLEdBQUcsZ0RBQWdELENBQUM7QUFDeEUsa0VBQWtFO0FBQ2xFLE1BQU0sY0FBYyxHQUFHLDZDQUE2QyxDQUFDO0FBQ3JFOzs7O0dBSUc7QUFDSCxNQUFNLG1CQUFtQixHQUFHLGdFQUFnRSxDQUFDO0FBQzdGLDhGQUE4RjtBQUM5RixNQUFNLGVBQWUsR0FDbkIsa0ZBQWtGLENBQUM7QUFFckYsOENBQThDO0FBQzlDLE1BQU0sQ0FBTixJQUFZLGFBSVg7QUFKRCxXQUFZLGFBQWE7SUFDdkIsNEJBQVcsQ0FBQTtJQUNYLGdD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QUksUUFBUSxFQUFFLENBQUM7WUFDYixNQUFNLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN6QixDQUFDO0lBQ0gsQ0FBQztBQUNILENBQUM7QUFFRCxzRUFBc0U7QUFDdEUsS0FBSyxVQUFVLFVBQVUsQ0FBQyxJQUFZO0lBQ3BDLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUM7QUFDaEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQmVzdC1lZmZvcnQgZ2VvbG9jYXRpb24gb2YgYSBob3N0IHRvIHRoZSBjbG91ZCBwcm92aWRlciBhbmQgcmVnaW9uIGl0XG4gKiBydW5zIGluLiBSZXNvbHZlcyB0aGUgaG9zdCB0byBpdHMgSVAgYWRkcmVzcyhlcykgdmlhIEROUywgdGhlbiBtYXRjaGVzXG4gKiB0aG9zZSBhZGRyZXNzZXMgYWdhaW5zdCB0aGUgcHVibGljIElQLXJhbmdlIGZlZWRzIGVhY2ggaHlwZXJzY2FsZXJcbiAqIHB1Ymxpc2hlcyAoQVdTLCBBenVyZSwgR0NQKS4gSGFuZHkgZm9yIHBsYWNpbmcgYSBEYXRhYnJpY2tzIHdvcmtzcGFjZVxuICogVVJMLCBidXQgd29ya3MgZm9yIGFueSBob3N0LlxuICpcbiAqIFRoZSByYW5nZSBmZWVkcyBhcmUgbGFyZ2UgYW5kIGNoYW5nZSBzbG93bHksIHNvIGVhY2ggcHJvdmlkZXIncyBmZWVkXG4gKiBpcyBjYWNoZWQgZm9yIHtAbGluayBSQU5HRV9DQUNIRV9UVExfTVN9ICgyNCBob3VycykgYXQgdHdvIGxheWVyczogYW5cbiAqIG9uLWRpc2sgY29weSB1bmRlciB0aGUgT1MgdGVtcCBkaXIgKHN1cnZpdmVzIHByb2Nlc3MgcmVzdGFydHMsIHNoYXJlZFxuICogYWNyb3NzIHByb2Nlc3NlcykgcGx1cyBhbiBpbi1wcm9jZXNzIG1lbW9pemVkIHBhcnNlLiBBIHByb3ZpZGVyIHdob3NlXG4gKiBmZWVkIGZhaWxzIHRvIGxvYWQgaXMgc2tpcHBlZCByYXRoZXIgdGhhbiBmYWlsaW5nIHRoZSB3aG9sZSBsb29rdXAgLVxuICogdGhlIG90aGVyIHByb3ZpZGVycyBzdGlsbCBhbnN3ZXIuXG4gKlxuICogU2VydmVyLW9ubHk6IEROUyByZXNvbHV0aW9uIG5lZWRzIGBub2RlOmRuc2AgKHZpYSBgLi9uZXQudHNgKSwgdGhlXG4gKiBkaXNrIGNhY2hlIG5lZWRzIGBub2RlOmZzYCAvIGBub2RlOm9zYCAvIGBub2RlOnBhdGhgLCBhbmQgdGhlIGZlZWRzXG4gKiBhcmUgZmV0Y2hlZCB3aXRoIHRoZSBnbG9iYWwgYGZldGNoYC5cbiAqXG4gKiBAbW9kdWxlXG4gKi9cblxuaW1wb3J0IHsgbWtkaXIsIHJlYWRGaWxlLCByZW5hbWUsIHVubGluaywgd3JpdGVGaWxlIH0gZnJvbSBcIm5vZGU6ZnMvcHJvbWlzZXNcIjtcbmltcG9ydCB7IHRtcGRpciB9IGZyb20gXCJub2RlOm9zXCI7XG5pbXBvcnQgeyBkaXJuYW1lLCBqb2luIH0gZnJvbSBcIm5vZGU6cGF0aFwiO1xuXG5pbXBvcnQgeyBmaWxlIH0gZnJvbSBcIkBkYngtdG9vbHMvY29yZVwiO1xuaW1wb3J0IHsgZXJyb3JVdGlscywgZnVuY3Rpb25VdGlscywgaGFzaCwgaHR0cCwganNvbiwgbG9nLCBuZXQgfSBmcm9tIFwiQGRieC10b29scy9zaGFyZWQtY29yZVwiO1xuaW1wb3J0IHsgcmVzb2x2ZUhvc3RJcHMgfSBmcm9tIFwiLi9uZXQudHNcIjtcblxuY29uc3QgbG9nZ2VyID0gbG9nLmxvZ2dlcihcImNsb3VkXCIpO1xuXG4vKiogSG93IGxvbmcgYSBmZXRjaGVkIHByb3ZpZGVyIElQLXJhbmdlIGZlZWQgaXMgcmV1c2VkIGJlZm9yZSByZWZldGNoLiAqL1xuZXhwb3J0IGNvbnN0IFJBTkdFX0NBQ0hFX1RUTF9NUyA9IDI0ICogNjAgKiA2MCAqIDEwMDA7XG5cbi8qKiBBV1MgcHVibGlzaGVzIGEgc2luZ2xlIHN0YWJsZSwgdW5hdXRoZW50aWNhdGVkIHJhbmdlcyBmZWVkLiAqL1xuY29uc3QgQVdTX1JBTkdFU19VUkwgPSBcImh0dHBzOi8vaXAtcmFuZ2VzLmFtYXpvbmF3cy5jb20vaXAtcmFuZ2VzLmpzb25cIjtcbi8qKiBHQ1AgcHVibGlzaGVzIGEgc2luZ2xlIHN0YWJsZSwgdW5hdXRoZW50aWNhdGVkIHJhbmdlcyBmZWVkLiAqL1xuY29uc3QgR0NQX1JBTkdFU19VUkwgPSBcImh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL2lwcmFuZ2VzL2Nsb3VkLmpzb25cIjtcbi8qKlxuICogQXp1cmUgaGFzIG5vIHN0YWJsZSBmZWVkIFVSTCAtIHRoZSBKU09OIGRvd25sb2FkIGxpbmsgKHdpdGggYVxuICogcm90YXRpbmcgZGF0ZSBzdGFtcCkgbGl2ZXMgb24gdGhpcyBodW1hbi1mYWNpbmcgZG93bmxvYWQgcGFnZSBhbmRcbiAqIG11c3QgYmUgc2NyYXBlZCBvdXQuIFNlZSB7QGxpbmsgZmV0Y2hBenVyZVJhbmdlc30uXG4gKi9cbmNvbnN0IEFaVVJFX0RPV05MT0FEX1BBR0UgPSBcImh0dHBzOi8vd3d3Lm1pY3Jvc29mdC5jb20vZW4tdXMvZG93bmxvYWQvZGV0YWlscy5hc3B4P2lkPTU2NTE5XCI7XG4vKiogUmVnZXggdGhhdCBwbHVja3MgdGhlIGN1cnJlbnQgYFNlcnZpY2VUYWdzX1B1YmxpY188ZGF0ZT4uanNvbmAgbGluayBvZmYgdGhlIEF6dXJlIHBhZ2UuICovXG5jb25zdCBBWlVSRV9KU09OX0xJTksgPVxuICAvaHR0cHM6XFwvXFwvZG93bmxvYWRcXC5taWNyb3NvZnRcXC5jb21cXC9kb3dubG9hZFxcL1teXCInXSpTZXJ2aWNlVGFnc19QdWJsaWNfXFxkK1xcLmpzb24vO1xuXG4vKiogQ2xvdWQgaHlwZXJzY2FsZXIgYSBob3N0IHJlc29sdmVzIGludG8uICovXG5leHBvcnQgZW51bSBDbG91ZFByb3ZpZGVyIHtcbiAgQXdzID0gXCJhd3NcIixcbiAgQXp1cmUgPSBcImF6dXJlXCIsXG4gIEdjcCA9IFwiZ2NwXCIsXG59XG5cbi8qKlxuICogV2hlcmUgYSBob3N0IGxpdmVzOiB0aGUge0BsaW5rIENsb3VkUHJvdmlkZXJ9LCB0aGUgcHJvdmlkZXItbmF0aXZlXG4gKiBgcmVnaW9uYCBzdHJpbmcgKHdoYXRldmVyIHRoZSBwcm92aWRlcidzIGZlZWQgY2FsbHMgaXQsIGUuZy5cbiAqIGBcInVzLWVhc3QtMVwiYCBvbiBBV1MsIGBcImVhc3R1czJcImAgb24gQXp1cmUsIGBcInVzLWVhc3QxXCJgIG9uIEdDUCksIHRoZVxuICogcmVzb2x2ZWQgYGlwYCB0aGF0IG1hdGNoZWQsIGFuZCB0aGUgYGNpZHJgIGJsb2NrIGl0IGZlbGwgaW4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2xvdWRMb2NhdGlvbiB7XG4gIHByb3ZpZGVyOiBDbG91ZFByb3ZpZGVyO1xuICByZWdpb246IHN0cmluZztcbiAgaXA6IHN0cmluZztcbiAgY2lkcjogc3RyaW5nO1xufVxuXG4vKiogQSBwYXJzZWQgQ0lEUiBibG9jayB0YWdnZWQgd2l0aCB0aGUgcmVnaW9uIGl0IGJlbG9uZ3MgdG8uICovXG5pbnRlcmZhY2UgUmVnaW9uQ2lkciBleHRlbmRzIG5ldC5DaWRyIHtcbiAgcmVnaW9uOiBzdHJpbmc7XG59XG5cbi8qKiBPbmUgcHJvdmlkZXIncyBwYXJzZWQsIHJlZ2lvbi10YWdnZWQgcmFuZ2UgdGFibGUuICovXG5pbnRlcmZhY2UgUHJvdmlkZXJSYW5nZXMge1xuICBwcm92aWRlcjogQ2xvdWRQcm92aWRlcjtcbiAgcmFuZ2VzOiBSZWdpb25DaWRyW107XG59XG5cbi8qKlxuICogUmVzb2x2ZSBgaW5wdXRgJ3MgaG9zdCB0byBhIHtAbGluayBDbG91ZExvY2F0aW9ufSwgb3IgYG51bGxgIHdoZW4gdGhlXG4gKiBob3N0IGNhbid0IGJlIHJlc29sdmVkIG9yIG5vbmUgb2YgaXRzIElQcyBtYXRjaCBhIGtub3duIGNsb3VkIHJhbmdlLlxuICogYGlucHV0YCBpcyBhbnkge0BsaW5rIG5ldC5VcmxMaWtlfSAtIGEgVVJMLCBhIGJhcmUgaG9zdCwgb3IgYSBgeyB1cmwgfWBcbiAqIHdyYXBwZXIuXG4gKlxuICogVGhlIHByb3ZpZGVyIHJhbmdlIGZlZWRzIGFyZSBjYWNoZWQgZm9yIHtAbGluayBSQU5HRV9DQUNIRV9UVExfTVN9LCBzb1xuICogb25seSB0aGUgZmlyc3QgY2FsbCBpbiBhIDI0LWhvdXIgd2luZG93IHBheXMgdGhlIGZldGNoIGNvc3Q7IHRoZSBETlNcbiAqIGxvb2t1cCBoYXBwZW5zIG9uIGV2ZXJ5IGNhbGwuXG4gKlxuICogQGV4YW1wbGVcbiAqIGF3YWl0IHJlc29sdmVDbG91ZExvY2F0aW9uKFwiaHR0cHM6Ly9hZGItMTIzNDU2Nzg5MC43LmF6dXJlZGF0YWJyaWNrcy5uZXRcIik7XG4gKiAvLyB7IHByb3ZpZGVyOiBDbG91ZFByb3ZpZGVyLkF6dXJlLFxuICogLy8gICByZWdpb246IFwiZWFzdHVzMlwiLCBpcDogXCIuLi5cIiwgY2lkcjogXCIuLi5cIiB9XG4gKlxuICogYXdhaXQgcmVzb2x2ZUNsb3VkTG9jYXRpb24oXCJkYmMtYWJjMTIzLmNsb3VkLmRhdGFicmlja3MuY29tXCIpO1xuICogLy8geyBwcm92aWRlcjogQ2xvdWRQcm92aWRlci5Bd3MsXG4gKiAvLyAgIHJlZ2lvbjogXCJ1cy13ZXN0LTJcIiwgaXA6IFwiLi4uXCIsIGNpZHI6IFwiLi4uXCIgfVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVzb2x2ZUNsb3VkTG9jYXRpb24oaW5wdXQ6IG5ldC5VcmxMaWtlKTogUHJvbWlzZTxDbG91ZExvY2F0aW9uIHwgbnVsbD4ge1xuICBjb25zdCBpcHMgPSBhd2FpdCByZXNvbHZlSG9zdElwcyhpbnB1dCk7XG4gIGlmIChpcHMubGVuZ3RoID09PSAwKSB7XG4gICAgbG9nZ2VyLmRlYnVnKFwibm8gaXBzIHJlc29sdmVkXCIsIHsgaW5wdXQ6IFN0cmluZyhpbnB1dCkgfSk7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgY29uc3QgcHJvdmlkZXJzID0gYXdhaXQgbG9hZFByb3ZpZGVyUmFuZ2VzKCk7XG4gIGZvciAoY29uc3QgaXAgb2YgaXBzKSB7XG4gICAgY29uc3QgcGFyc2VkID0gbmV0LnBhcnNlSXAoaXApO1xuICAgIGlmICghcGFyc2VkKSBjb250aW51ZTtcbiAgICBmb3IgKGNvbnN0IHsgcHJvdmlkZXIsIHJhbmdlcyB9IG9mIHByb3ZpZGVycykge1xuICAgICAgY29uc3QgbWF0Y2ggPSBuZXQuZmluZENvbnRhaW5pbmdDaWRyKHBhcnNlZCwgcmFuZ2VzKTtcbiAgICAgIGlmIChtYXRjaCkge1xuICAgICAgICByZXR1cm4geyBwcm92aWRlciwgcmVnaW9uOiBtYXRjaC5yZWdpb24sIGlwLCBjaWRyOiBtYXRjaC5jaWRyIH07XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGxvZ2dlci5kZWJ1ZyhcIm5vIGNsb3VkIHJhbmdlIG1hdGNoZWRcIiwgeyBpcHMgfSk7XG4gIHJldHVybiBudWxsO1xufVxuXG4vKipcbiAqIExvYWQgZXZlcnkgcHJvdmlkZXIncyByZWdpb24tdGFnZ2VkIHJhbmdlIHRhYmxlLCBlYWNoIGNhY2hlZCBmb3JcbiAqIHtAbGluayBSQU5HRV9DQUNIRV9UVExfTVN9LiBQcm92aWRlcnMgYXJlIGxvYWRlZCBpbiBwYXJhbGxlbCBhbmQgYVxuICogZmVlZCB0aGF0IGZhaWxzIHRvIGZldGNoIG9yIHBhcnNlIGlzIGRyb3BwZWQgKGxvZ2dlZCwgbm90IHRocm93bikgc29cbiAqIGEgc2luZ2xlIGZsYWt5IGZlZWQgbmV2ZXIgc2lua3MgdGhlIHdob2xlIGxvb2t1cC4gRXhwb3NlZCBmb3IgY2FsbGVyc1xuICogdGhhdCB3YW50IHRvIG1hdGNoIG1hbnkgSVBzIGFnYWluc3Qgb25lIGNhY2hlZCBzbmFwc2hvdCB3aXRob3V0IGEgRE5TXG4gKiBzdGVwIHBlciBhZGRyZXNzLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbG9hZFByb3ZpZGVyUmFuZ2VzKCk6IFByb21pc2U8UHJvdmlkZXJSYW5nZXNbXT4ge1xuICBjb25zdCBzZXR0bGVkID0gYXdhaXQgUHJvbWlzZS5hbGxTZXR0bGVkKFtsb2FkQXdzUmFuZ2VzKCksIGxvYWRBenVyZVJhbmdlcygpLCBsb2FkR2NwUmFuZ2VzKCldKTtcbiAgY29uc3Qgb3V0OiBQcm92aWRlclJhbmdlc1tdID0gW107XG4gIGZvciAoY29uc3QgcmVzdWx0IG9mIHNldHRsZWQpIHtcbiAgICBpZiAocmVzdWx0LnN0YXR1cyA9PT0gXCJmdWxmaWxsZWRcIikge1xuICAgICAgb3V0LnB1c2gocmVzdWx0LnZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbG9nZ2VyLndhcm4oXCJwcm92aWRlciByYW5nZSBsb2FkIGZhaWxlZFwiLCB7IGVycm9yOiBlcnJvclV0aWxzLmVycm9yTWVzc2FnZShyZXN1bHQucmVhc29uKSB9KTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG91dDtcbn1cblxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBQZXItcHJvdmlkZXIgY2FjaGVkIGxvYWRlcnNcbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG5jb25zdCBsb2FkQXdzUmFuZ2VzID0gZnVuY3Rpb25VdGlscy5tZW1vaXplKGZldGNoQXdzUmFuZ2VzLCB7IHR0bE1zOiBSQU5HRV9DQUNIRV9UVExfTVMgfSk7XG5jb25zdCBsb2FkQXp1cmVSYW5nZXMgPSBmdW5jdGlvblV0aWxzLm1lbW9pemUoZmV0Y2hBenVyZVJhbmdlcywgeyB0dGxNczogUkFOR0VfQ0FDSEVfVFRMX01TIH0pO1xuY29uc3QgbG9hZEdjcFJhbmdlcyA9IGZ1bmN0aW9uVXRpbHMubWVtb2l6ZShmZXRjaEdjcFJhbmdlcywgeyB0dGxNczogUkFOR0VfQ0FDSEVfVFRMX01TIH0pO1xuXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIFByb3ZpZGVyIGZlZWQgZmV0Y2ggKyBwYXJzZVxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbmludGVyZmFjZSBBd3NGZWVkIHtcbiAgcHJlZml4ZXM/OiB7IGlwX3ByZWZpeD86IHN0cmluZzsgcmVnaW9uPzogc3RyaW5nIH1bXTtcbiAgaXB2Nl9wcmVmaXhlcz86IHsgaXB2Nl9wcmVmaXg/OiBzdHJpbmc7IHJlZ2lvbj86IHN0cmluZyB9W107XG59XG5cbi8qKlxuICogQVdTIGBpcC1yYW5nZXMuanNvbmA6IGEgZmxhdCBsaXN0IG9mIElQdjQgKGBwcmVmaXhlc2ApIGFuZCBJUHY2XG4gKiAoYGlwdjZfcHJlZml4ZXNgKSBibG9ja3MsIGVhY2ggYWxyZWFkeSB0YWdnZWQgd2l0aCBhIGByZWdpb25gIHN1Y2hcbiAqIGFzIGBcInVzLWVhc3QtMVwiYCAob3IgYFwiR0xPQkFMXCJgIGZvciBlZGdlIHJhbmdlcykuXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGZldGNoQXdzUmFuZ2VzKCk6IFByb21pc2U8UHJvdmlkZXJSYW5nZXM+IHtcbiAgY29uc3QgZmVlZCA9IGF3YWl0IGZldGNoSnNvbjxBd3NGZWVkPihBV1NfUkFOR0VTX1VSTCk7XG4gIGNvbnN0IHJhbmdlczogUmVnaW9uQ2lkcltdID0gW107XG4gIGZvciAoY29uc3QgZW50cnkgb2YgZmVlZC5wcmVmaXhlcyA/PyBbXSkge1xuICAgIGFkZFJhbmdlKHJhbmdlcywgZW50cnkuaXBfcHJlZml4LCBlbnRyeS5yZWdpb24pO1xuICB9XG4gIGZvciAoY29uc3QgZW50cnkgb2YgZmVlZC5pcHY2X3ByZWZpeGVzID8/IFtdKSB7XG4gICAgYWRkUmFuZ2UocmFuZ2VzLCBlbnRyeS5pcHY2X3ByZWZpeCwgZW50cnkucmVnaW9uKTtcbiAgfVxuICBsb2dnZXIuZGVidWcoXCJsb2FkZWQgYXdzIHJhbmdlc1wiLCB7IGNvdW50OiByYW5nZXMubGVuZ3RoIH0pO1xuICByZXR1cm4geyBwcm92aWRlcjogQ2xvdWRQcm92aWRlci5Bd3MsIHJhbmdlcyB9O1xufVxuXG5pbnRlcmZhY2UgR2NwRmVlZCB7XG4gIHByZWZpeGVzPzogeyBpcHY0UHJlZml4Pzogc3RyaW5nOyBpcHY2UHJlZml4Pzogc3RyaW5nOyBzY29wZT86IHN0cmluZyB9W107XG59XG5cbi8qKlxuICogR0NQIGBjbG91ZC5qc29uYDogYSBsaXN0IG9mIGJsb2NrcyBlYWNoIGNhcnJ5aW5nIGFuIGBpcHY0UHJlZml4YCBvclxuICogYGlwdjZQcmVmaXhgIGFuZCBhIGBzY29wZWAgdGhhdCBpcyB0aGUgcmVnaW9uIChgXCJ1cy1lYXN0MVwiYCkgb3JcbiAqIGBcImdsb2JhbFwiYCBmb3Igbm9uLXJlZ2lvbmFsIHJhbmdlcy5cbiAqL1xuYXN5bmMgZnVuY3Rpb24gZmV0Y2hHY3BSYW5nZXMoKTogUHJvbWlzZTxQcm92aWRlclJhbmdlcz4ge1xuICBjb25zdCBmZWVkID0gYXdhaXQgZmV0Y2hKc29uPEdjcEZlZWQ+KEdDUF9SQU5HRVNfVVJMKTtcbiAgY29uc3QgcmFuZ2VzOiBSZWdpb25DaWRyW10gPSBbXTtcbiAgZm9yIChjb25zdCBlbnRyeSBvZiBmZWVkLnByZWZpeGVzID8/IFtdKSB7XG4gICAgYWRkUmFuZ2UocmFuZ2VzLCBlbnRyeS5pcHY0UHJlZml4ID8/IGVudHJ5LmlwdjZQcmVmaXgsIGVudHJ5LnNjb3BlKTtcbiAgfVxuICBsb2dnZXIuZGVidWcoXCJsb2FkZWQgZ2NwIHJhbmdlc1wiLCB7IGNvdW50OiByYW5nZXMubGVuZ3RoIH0pO1xuICByZXR1cm4geyBwcm92aWRlcjogQ2xvdWRQcm92aWRlci5HY3AsIHJhbmdlcyB9O1xufVxuXG5pbnRlcmZhY2UgQXp1cmVGZWVkIHtcbiAgdmFsdWVzPzoge1xuICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgcHJvcGVydGllcz86IHsgcmVnaW9uPzogc3RyaW5nOyBhZGRyZXNzUHJlZml4ZXM/OiBzdHJpbmdbXSB9O1xuICB9W107XG59XG5cbi8qKlxuICogQXp1cmUgc2VydmljZSB0YWdzOiBNaWNyb3NvZnQgc2hpcHMgbm8gc3RhYmxlIGZlZWQgVVJMLCBzbyBzY3JhcGUgdGhlXG4gKiBjdXJyZW50IGBTZXJ2aWNlVGFnc19QdWJsaWNfPGRhdGU+Lmpzb25gIGxpbmsgb2ZmIHRoZSBkb3dubG9hZCBwYWdlXG4gKiBhbmQgZmV0Y2ggaXQuIE9ubHkgdGhlIHJlZ2lvbmFsIGBBenVyZUNsb3VkLjxyZWdpb24+YCBhZ2dyZWdhdGVzXG4gKiAod2hpY2ggaGF2ZSBhIG5vbi1lbXB0eSBgcmVnaW9uYCkgYXJlIGtlcHQ7IHRoZSBjbG91ZC13aWRlXG4gKiBgQXp1cmVDbG91ZGAgdGFnIGFuZCBwZXItc2VydmljZSB0YWdzIGFyZSBpZ25vcmVkIHNvIGFuIGFkZHJlc3MgbWFwc1xuICogY2xlYW5seSB0byBvbmUgcmVnaW9uLlxuICovXG5hc3luYyBmdW5jdGlvbiBmZXRjaEF6dXJlUmFuZ2VzKCk6IFByb21pc2U8UHJvdmlkZXJSYW5nZXM+IHtcbiAgY29uc3QgcGFnZSA9IGF3YWl0IGZldGNoVGV4dChBWlVSRV9ET1dOTE9BRF9QQUdFKTtcbiAgY29uc3QganNvblVybCA9IHBhZ2UubWF0Y2goQVpVUkVfSlNPTl9MSU5LKT8uWzBdO1xuICBpZiAoIWpzb25VcmwpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJjb3VsZCBub3QgZmluZCBTZXJ2aWNlVGFncyBKU09OIGxpbmsgb24gQXp1cmUgZG93bmxvYWQgcGFnZVwiKTtcbiAgfVxuICBjb25zdCBmZWVkID0gYXdhaXQgZmV0Y2hKc29uPEF6dXJlRmVlZD4oanNvblVybCk7XG4gIGNvbnN0IHJhbmdlczogUmVnaW9uQ2lkcltdID0gW107XG4gIGZvciAoY29uc3QgdmFsdWUgb2YgZmVlZC52YWx1ZXMgPz8gW10pIHtcbiAgICBjb25zdCByZWdpb24gPSB2YWx1ZS5wcm9wZXJ0aWVzPy5yZWdpb247XG4gICAgaWYgKCFyZWdpb24gfHwgIXZhbHVlLm5hbWU/LnN0YXJ0c1dpdGgoXCJBenVyZUNsb3VkLlwiKSkgY29udGludWU7XG4gICAgZm9yIChjb25zdCBwcmVmaXggb2YgdmFsdWUucHJvcGVydGllcz8uYWRkcmVzc1ByZWZpeGVzID8/IFtdKSB7XG4gICAgICBhZGRSYW5nZShyYW5nZXMsIHByZWZpeCwgcmVnaW9uKTtcbiAgICB9XG4gIH1cbiAgbG9nZ2VyLmRlYnVnKFwibG9hZGVkIGF6dXJlIHJhbmdlc1wiLCB7IGNvdW50OiByYW5nZXMubGVuZ3RoIH0pO1xuICByZXR1cm4geyBwcm92aWRlcjogQ2xvdWRQcm92aWRlci5BenVyZSwgcmFuZ2VzIH07XG59XG5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gSGVscGVyc1xuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbi8qKiBQYXJzZSBgY2lkcmAgYW5kLCB3aGVuIHZhbGlkIGFuZCBgcmVnaW9uYCBpcyBzZXQsIHB1c2ggYSB0YWdnZWQgcmFuZ2UuICovXG5mdW5jdGlvbiBhZGRSYW5nZShyYW5nZXM6IFJlZ2lvbkNpZHJbXSwgY2lkcj86IHN0cmluZywgcmVnaW9uPzogc3RyaW5nKTogdm9pZCB7XG4gIGlmICghY2lkciB8fCAhcmVnaW9uKSByZXR1cm47XG4gIGNvbnN0IHBhcnNlZCA9IG5ldC5wYXJzZUNpZHIoY2lkcik7XG4gIGlmIChwYXJzZWQpIHJhbmdlcy5wdXNoKHsgLi4ucGFyc2VkLCByZWdpb24gfSk7XG59XG5cbi8qKlxuICogRmV0Y2ggYW5kIHBhcnNlIGEgcHJvdmlkZXIgZmVlZC4gQSBwYXJzZSBmYWlsdXJlIG5hbWVzIHRoZSBVUkwgcmF0aGVyIHRoYW5cbiAqIHN1cmZhY2luZyBhbiBvcGFxdWUgYFVuZXhwZWN0ZWQgdG9rZW5gIC0gdGhlIHRleHQgbWF5IGNvbWUgZnJvbSB0aGUgb24tZGlza1xuICogY2FjaGUsIHNvIFwid2hpY2ggZmVlZFwiIGlzIHRoZSBwYXJ0IHdvcnRoIGtub3dpbmcuIHtAbGluayBsb2FkUHJvdmlkZXJSYW5nZXN9XG4gKiB0dXJucyB0aGUgdGhyb3cgaW50byBhIHBlci1wcm92aWRlciB3YXJuaW5nLlxuICovXG5hc3luYyBmdW5jdGlvbiBmZXRjaEpzb248VD4odXJsOiBzdHJpbmcpOiBQcm9taXNlPFQ+IHtcbiAgY29uc3QgdGV4dCA9IGF3YWl0IGZldGNoVGV4dCh1cmwpO1xuICBjb25zdCBwYXJzZWQgPSBqc29uLnBhcnNlPFQ+KHRleHQpO1xuICBpZiAocGFyc2VkID09PSB1bmRlZmluZWQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYHJhbmdlIGZlZWQgcmV0dXJuZWQgbm9uLUpTT04gY29udGVudDogJHt1cmx9YCk7XG4gIH1cbiAgcmV0dXJuIHBhcnNlZDtcbn1cblxuLyoqXG4gKiBGZXRjaCBgdXJsYCBhcyB0ZXh0IHdpdGggYSAyNGggb24tZGlzayBjYWNoZSB1bmRlciB0aGUgT1MgdGVtcCBkaXJcbiAqIChrZXllZCBieSBhbiBGTlYgaGFzaCBvZiB0aGUgVVJMKS4gQSBmcmVzaCBjYWNoZSBmaWxlIGlzIHJldHVybmVkXG4gKiBkaXJlY3RseTsgYSBtaXNzL2V4cGlyeSBmZXRjaGVzLCB3cml0ZXMgdG8gYSB1bmlxdWUgdGVtcCBmaWxlLCBhbmRcbiAqIGF0b21pY2FsbHkgcmVuYW1lcyBpdCBpbnRvIHBsYWNlIHNvIGNvbmN1cnJlbnQgY2FsbGVycyBuZXZlciBvYnNlcnZlXG4gKiBhIGhhbGYtd3JpdHRlbiBjYWNoZSBlbnRyeS5cbiAqL1xuYXN5bmMgZnVuY3Rpb24gZmV0Y2hUZXh0KHVybDogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgY29uc3QgY2FjaGVEaXIgPSBqb2luKHRtcGRpcigpLCBcImRieC10b29sc1wiLCBcInNoYXJlZFwiLCBcImNsb3VkXCIpO1xuICBjb25zdCBjYWNoZURpckNyZWF0ZWQgPSBhd2FpdCBta2RpcihjYWNoZURpciwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG4gIGNvbnN0IGNhY2hlUGF0aCA9IGpvaW4oY2FjaGVEaXIsIGBmZXRjaC0ke2hhc2guZm52SGFzaCh1cmwpfS50eHRgKTtcbiAgY29uc3QgY3JlYXRlZEF0ID0gY2FjaGVEaXJDcmVhdGVkID8gdW5kZWZpbmVkIDogYXdhaXQgZ2V0Q3JlYXRlZChjYWNoZVBhdGgpO1xuICBpZiAoY3JlYXRlZEF0KSB7XG4gICAgY29uc3QgZXhwaXJlc0F0ID0gbmV3IERhdGUoY3JlYXRlZEF0LmdldFRpbWUoKSArIFJBTkdFX0NBQ0hFX1RUTF9NUyk7XG4gICAgaWYgKGV4cGlyZXNBdCA+IG5ldyBEYXRlKCkpIHtcbiAgICAgIGxvZ2dlci5kZWJ1ZyhcImNhY2hlZCBmZXRjaCBoaXRcIiwgeyB1cmwsIGNhY2hlUGF0aCB9KTtcbiAgICAgIHJldHVybiByZWFkRmlsZShjYWNoZVBhdGgsIFwidXRmOFwiKTtcbiAgICB9XG4gIH1cbiAgbGV0IHRlbXBQYXRoOiBzdHJpbmcgfCBudWxsID0gam9pbihjYWNoZURpciwgYCR7aGFzaC5pZCgpfS50eHRgKTtcbiAgdHJ5IHtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKHVybCk7XG4gICAgaWYgKCFyZXNwb25zZS5vaykge1xuICAgICAgdGhyb3cgYXdhaXQgaHR0cC5jcmVhdGVGZXRjaEVycm9yKHJlc3BvbnNlLCB1cmwpO1xuICAgIH1cbiAgICBjb25zdCByZXNwb25zZVRleHQgPSBhd2FpdCByZXNwb25zZS50ZXh0KCk7XG4gICAgYXdhaXQgbWtkaXIoZGlybmFtZSh0ZW1wUGF0aCksIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuICAgIGF3YWl0IHdyaXRlRmlsZSh0ZW1wUGF0aCwgcmVzcG9uc2VUZXh0KTtcblxuICAgIGF3YWl0IHJlbmFtZSh0ZW1wUGF0aCwgY2FjaGVQYXRoKTtcbiAgICBsb2dnZXIuZGVidWcoXCJjYWNoZWQgZmV0Y2ggbG9hZFwiLCB7IHVybCwgY2FjaGVQYXRoIH0pO1xuICAgIHRlbXBQYXRoID0gbnVsbDtcbiAgICByZXR1cm4gcmVzcG9uc2VUZXh0O1xuICB9IGZpbmFsbHkge1xuICAgIGlmICh0ZW1wUGF0aCkge1xuICAgICAgYXdhaXQgdW5saW5rKHRlbXBQYXRoKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqIEJpcnRoIHRpbWUgb2YgYHBhdGhgLCBvciBgdW5kZWZpbmVkYCB3aGVuIGl0IGRvZXNuJ3QgZXhpc3QgeWV0LiAqL1xuYXN5bmMgZnVuY3Rpb24gZ2V0Q3JlYXRlZChwYXRoOiBzdHJpbmcpOiBQcm9taXNlPERhdGUgfCB1bmRlZmluZWQ+IHtcbiAgcmV0dXJuIChhd2FpdCBmaWxlLnN0YXRTeW5jKHBhdGgpKT8uYmlydGh0aW1lO1xufVxuIl19
|
|
242
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvdWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xvdWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQkc7QUFFSCxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzlFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDakMsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFMUMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMvRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRTFDLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7QUFFbkMsMEVBQTBFO0FBQzFFLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQztBQUV0RCxrRUFBa0U7QUFDbEUsTUFBTSxjQUFjLEdBQUcsZ0RBQWdELENBQUM7QUFDeEUsa0VBQWtFO0FBQ2xFLE1BQU0sY0FBYyxHQUFHLDZDQUE2QyxDQUFDO0FBQ3JFOzs7O0dBSUc7QUFDSCxNQUFNLG1CQUFtQixHQUFHLGdFQUFnRSxDQUFDO0FBQzdGLDhGQUE4RjtBQUM5RixNQUFNLGVBQWUsR0FDbkIsa0ZBQWtGLENBQUM7QUFFckYsOENBQThDO0FBQzlDLE1BQU0sQ0FBTixJQUFZLGFBSVg7QUFKRCxXQUFZLGFBQWE7SUFDdkIsNEJBQVcsQ0FBQTtJQUNYLGdD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QUksUUFBUSxFQUFFLENBQUM7WUFDYixNQUFNLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN6QixDQUFDO0lBQ0gsQ0FBQztBQUNILENBQUM7QUFFRCxzRUFBc0U7QUFDdEUsS0FBSyxVQUFVLFVBQVUsQ0FBQyxJQUFZO0lBQ3BDLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUM7QUFDaEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQmVzdC1lZmZvcnQgZ2VvbG9jYXRpb24gb2YgYSBob3N0IHRvIHRoZSBjbG91ZCBwcm92aWRlciBhbmQgcmVnaW9uIGl0XG4gKiBydW5zIGluLiBSZXNvbHZlcyB0aGUgaG9zdCB0byBpdHMgSVAgYWRkcmVzcyhlcykgdmlhIEROUywgdGhlbiBtYXRjaGVzXG4gKiB0aG9zZSBhZGRyZXNzZXMgYWdhaW5zdCB0aGUgcHVibGljIElQLXJhbmdlIGZlZWRzIGVhY2ggaHlwZXJzY2FsZXJcbiAqIHB1Ymxpc2hlcyAoQVdTLCBBenVyZSwgR0NQKS4gSGFuZHkgZm9yIHBsYWNpbmcgYSBEYXRhYnJpY2tzIHdvcmtzcGFjZVxuICogVVJMLCBidXQgd29ya3MgZm9yIGFueSBob3N0LlxuICpcbiAqIFRoZSByYW5nZSBmZWVkcyBhcmUgbGFyZ2UgYW5kIGNoYW5nZSBzbG93bHksIHNvIGVhY2ggcHJvdmlkZXIncyBmZWVkXG4gKiBpcyBjYWNoZWQgZm9yIHtAbGluayBSQU5HRV9DQUNIRV9UVExfTVN9ICgyNCBob3VycykgYXQgdHdvIGxheWVyczogYW5cbiAqIG9uLWRpc2sgY29weSB1bmRlciB0aGUgT1MgdGVtcCBkaXIgKHN1cnZpdmVzIHByb2Nlc3MgcmVzdGFydHMsIHNoYXJlZFxuICogYWNyb3NzIHByb2Nlc3NlcykgcGx1cyBhbiBpbi1wcm9jZXNzIG1lbW9pemVkIHBhcnNlLiBBIHByb3ZpZGVyIHdob3NlXG4gKiBmZWVkIGZhaWxzIHRvIGxvYWQgaXMgc2tpcHBlZCByYXRoZXIgdGhhbiBmYWlsaW5nIHRoZSB3aG9sZSBsb29rdXAgLVxuICogdGhlIG90aGVyIHByb3ZpZGVycyBzdGlsbCBhbnN3ZXIuXG4gKlxuICogU2VydmVyLW9ubHk6IEROUyByZXNvbHV0aW9uIG5lZWRzIGBub2RlOmRuc2AgKHZpYSBgLi9uZXQudHNgKSwgdGhlXG4gKiBkaXNrIGNhY2hlIG5lZWRzIGBub2RlOmZzYCAvIGBub2RlOm9zYCAvIGBub2RlOnBhdGhgLCBhbmQgdGhlIGZlZWRzXG4gKiBhcmUgZmV0Y2hlZCB3aXRoIHRoZSBnbG9iYWwgYGZldGNoYC5cbiAqXG4gKiBAbW9kdWxlXG4gKi9cblxuaW1wb3J0IHsgbWtkaXIsIHJlYWRGaWxlLCByZW5hbWUsIHVubGluaywgd3JpdGVGaWxlIH0gZnJvbSBcIm5vZGU6ZnMvcHJvbWlzZXNcIjtcbmltcG9ydCB7IHRtcGRpciB9IGZyb20gXCJub2RlOm9zXCI7XG5pbXBvcnQgeyBkaXJuYW1lLCBqb2luIH0gZnJvbSBcIm5vZGU6cGF0aFwiO1xuXG5pbXBvcnQgeyBmaWxlIH0gZnJvbSBcIkBkYngtdG9vbHMvY29yZVwiO1xuaW1wb3J0IHsgZXJyb3JVdGlscywgZnVuY3Rpb25VdGlscywgaGFzaCwgaHR0cCwganNvbiwgbG9nLCBuZXQgfSBmcm9tIFwiQGRieC10b29scy9zaGFyZWQtY29yZVwiO1xuaW1wb3J0IHsgcmVzb2x2ZUhvc3RJcHMgfSBmcm9tIFwiLi9uZXQudHNcIjtcblxuY29uc3QgbG9nZ2VyID0gbG9nLmxvZ2dlcihcImNsb3VkXCIpO1xuXG4vKiogSG93IGxvbmcgYSBmZXRjaGVkIHByb3ZpZGVyIElQLXJhbmdlIGZlZWQgaXMgcmV1c2VkIGJlZm9yZSByZWZldGNoLiAqL1xuZXhwb3J0IGNvbnN0IFJBTkdFX0NBQ0hFX1RUTF9NUyA9IDI0ICogNjAgKiA2MCAqIDEwMDA7XG5cbi8qKiBBV1MgcHVibGlzaGVzIGEgc2luZ2xlIHN0YWJsZSwgdW5hdXRoZW50aWNhdGVkIHJhbmdlcyBmZWVkLiAqL1xuY29uc3QgQVdTX1JBTkdFU19VUkwgPSBcImh0dHBzOi8vaXAtcmFuZ2VzLmFtYXpvbmF3cy5jb20vaXAtcmFuZ2VzLmpzb25cIjtcbi8qKiBHQ1AgcHVibGlzaGVzIGEgc2luZ2xlIHN0YWJsZSwgdW5hdXRoZW50aWNhdGVkIHJhbmdlcyBmZWVkLiAqL1xuY29uc3QgR0NQX1JBTkdFU19VUkwgPSBcImh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL2lwcmFuZ2VzL2Nsb3VkLmpzb25cIjtcbi8qKlxuICogQXp1cmUgaGFzIG5vIHN0YWJsZSBmZWVkIFVSTCAtIHRoZSBKU09OIGRvd25sb2FkIGxpbmsgKHdpdGggYVxuICogcm90YXRpbmcgZGF0ZSBzdGFtcCkgbGl2ZXMgb24gdGhpcyBodW1hbi1mYWNpbmcgZG93bmxvYWQgcGFnZSBhbmRcbiAqIG11c3QgYmUgc2NyYXBlZCBvdXQuIFNlZSB7QGxpbmsgZmV0Y2hBenVyZVJhbmdlc30uXG4gKi9cbmNvbnN0IEFaVVJFX0RPV05MT0FEX1BBR0UgPSBcImh0dHBzOi8vd3d3Lm1pY3Jvc29mdC5jb20vZW4tdXMvZG93bmxvYWQvZGV0YWlscy5hc3B4P2lkPTU2NTE5XCI7XG4vKiogUmVnZXggdGhhdCBwbHVja3MgdGhlIGN1cnJlbnQgYFNlcnZpY2VUYWdzX1B1YmxpY188ZGF0ZT4uanNvbmAgbGluayBvZmYgdGhlIEF6dXJlIHBhZ2UuICovXG5jb25zdCBBWlVSRV9KU09OX0xJTksgPVxuICAvaHR0cHM6XFwvXFwvZG93bmxvYWRcXC5taWNyb3NvZnRcXC5jb21cXC9kb3dubG9hZFxcL1teXCInXSpTZXJ2aWNlVGFnc19QdWJsaWNfXFxkK1xcLmpzb24vO1xuXG4vKiogQ2xvdWQgaHlwZXJzY2FsZXIgYSBob3N0IHJlc29sdmVzIGludG8uICovXG5leHBvcnQgZW51bSBDbG91ZFByb3ZpZGVyIHtcbiAgQXdzID0gXCJhd3NcIixcbiAgQXp1cmUgPSBcImF6dXJlXCIsXG4gIEdjcCA9IFwiZ2NwXCIsXG59XG5cbi8qKlxuICogV2hlcmUgYSBob3N0IGxpdmVzOiB0aGUge0BsaW5rIENsb3VkUHJvdmlkZXJ9LCB0aGUgcHJvdmlkZXItbmF0aXZlXG4gKiBgcmVnaW9uYCBzdHJpbmcgKHdoYXRldmVyIHRoZSBwcm92aWRlcidzIGZlZWQgY2FsbHMgaXQsIGUuZy5cbiAqIGBcInVzLWVhc3QtMVwiYCBvbiBBV1MsIGBcImVhc3R1czJcImAgb24gQXp1cmUsIGBcInVzLWVhc3QxXCJgIG9uIEdDUCksIHRoZVxuICogcmVzb2x2ZWQgYGlwYCB0aGF0IG1hdGNoZWQsIGFuZCB0aGUgYGNpZHJgIGJsb2NrIGl0IGZlbGwgaW4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2xvdWRMb2NhdGlvbiB7XG4gIHByb3ZpZGVyOiBDbG91ZFByb3ZpZGVyO1xuICByZWdpb246IHN0cmluZztcbiAgaXA6IHN0cmluZztcbiAgY2lkcjogc3RyaW5nO1xufVxuXG4vKiogQSBwYXJzZWQgQ0lEUiBibG9jayB0YWdnZWQgd2l0aCB0aGUgcmVnaW9uIGl0IGJlbG9uZ3MgdG8uICovXG5pbnRlcmZhY2UgUmVnaW9uQ2lkciBleHRlbmRzIG5ldC5DaWRyIHtcbiAgcmVnaW9uOiBzdHJpbmc7XG59XG5cbi8qKiBPbmUgcHJvdmlkZXIncyBwYXJzZWQsIHJlZ2lvbi10YWdnZWQgcmFuZ2UgdGFibGUuICovXG5pbnRlcmZhY2UgUHJvdmlkZXJSYW5nZXMge1xuICBwcm92aWRlcjogQ2xvdWRQcm92aWRlcjtcbiAgcmFuZ2VzOiBSZWdpb25DaWRyW107XG59XG5cbi8qKlxuICogUmVzb2x2ZSBgaW5wdXRgJ3MgaG9zdCB0byBhIHtAbGluayBDbG91ZExvY2F0aW9ufSwgb3IgYG51bGxgIHdoZW4gdGhlXG4gKiBob3N0IGNhbid0IGJlIHJlc29sdmVkIG9yIG5vbmUgb2YgaXRzIElQcyBtYXRjaCBhIGtub3duIGNsb3VkIHJhbmdlLlxuICogYGlucHV0YCBpcyBhbnkge0BsaW5rIG5ldC5VcmxMaWtlfSAtIGEgVVJMLCBhIGJhcmUgaG9zdCwgb3IgYSBgeyB1cmwgfWBcbiAqIHdyYXBwZXIuXG4gKlxuICogVGhlIHByb3ZpZGVyIHJhbmdlIGZlZWRzIGFyZSBjYWNoZWQgZm9yIHtAbGluayBSQU5HRV9DQUNIRV9UVExfTVN9LCBzb1xuICogb25seSB0aGUgZmlyc3QgY2FsbCBpbiBhIDI0LWhvdXIgd2luZG93IHBheXMgdGhlIGZldGNoIGNvc3Q7IHRoZSBETlNcbiAqIGxvb2t1cCBoYXBwZW5zIG9uIGV2ZXJ5IGNhbGwuXG4gKlxuICogQGV4YW1wbGVcbiAqIGF3YWl0IHJlc29sdmVDbG91ZExvY2F0aW9uKFwiaHR0cHM6Ly9hZGItMTIzNDU2Nzg5MC43LmF6dXJlZGF0YWJyaWNrcy5uZXRcIik7XG4gKiAvLyB7IHByb3ZpZGVyOiBDbG91ZFByb3ZpZGVyLkF6dXJlLFxuICogLy8gICByZWdpb246IFwiZWFzdHVzMlwiLCBpcDogXCIuLi5cIiwgY2lkcjogXCIuLi5cIiB9XG4gKlxuICogYXdhaXQgcmVzb2x2ZUNsb3VkTG9jYXRpb24oXCJkYmMtYWJjMTIzLmNsb3VkLmRhdGFicmlja3MuY29tXCIpO1xuICogLy8geyBwcm92aWRlcjogQ2xvdWRQcm92aWRlci5Bd3MsXG4gKiAvLyAgIHJlZ2lvbjogXCJ1cy13ZXN0LTJcIiwgaXA6IFwiLi4uXCIsIGNpZHI6IFwiLi4uXCIgfVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVzb2x2ZUNsb3VkTG9jYXRpb24oaW5wdXQ6IG5ldC5VcmxMaWtlKTogUHJvbWlzZTxDbG91ZExvY2F0aW9uIHwgbnVsbD4ge1xuICBjb25zdCBpcHMgPSBhd2FpdCByZXNvbHZlSG9zdElwcyhpbnB1dCk7XG4gIGlmIChpcHMubGVuZ3RoID09PSAwKSB7XG4gICAgbG9nZ2VyLmRlYnVnKFwibm8gaXBzIHJlc29sdmVkXCIsIHsgaW5wdXQ6IFN0cmluZyhpbnB1dCkgfSk7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgY29uc3QgcHJvdmlkZXJzID0gYXdhaXQgbG9hZFByb3ZpZGVyUmFuZ2VzKCk7XG4gIGZvciAoY29uc3QgaXAgb2YgaXBzKSB7XG4gICAgY29uc3QgcGFyc2VkID0gbmV0LnBhcnNlSXAoaXApO1xuICAgIGlmICghcGFyc2VkKSBjb250aW51ZTtcbiAgICBmb3IgKGNvbnN0IHsgcHJvdmlkZXIsIHJhbmdlcyB9IG9mIHByb3ZpZGVycykge1xuICAgICAgY29uc3QgbWF0Y2ggPSBuZXQuZmluZENvbnRhaW5pbmdDaWRyKHBhcnNlZCwgcmFuZ2VzKTtcbiAgICAgIGlmIChtYXRjaCkge1xuICAgICAgICByZXR1cm4geyBwcm92aWRlciwgcmVnaW9uOiBtYXRjaC5yZWdpb24sIGlwLCBjaWRyOiBtYXRjaC5jaWRyIH07XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGxvZ2dlci5kZWJ1ZyhcIm5vIGNsb3VkIHJhbmdlIG1hdGNoZWRcIiwgeyBpcHMgfSk7XG4gIHJldHVybiBudWxsO1xufVxuXG4vKipcbiAqIExvYWQgZXZlcnkgcHJvdmlkZXIncyByZWdpb24tdGFnZ2VkIHJhbmdlIHRhYmxlLCBlYWNoIGNhY2hlZCBmb3JcbiAqIHtAbGluayBSQU5HRV9DQUNIRV9UVExfTVN9LiBQcm92aWRlcnMgYXJlIGxvYWRlZCBpbiBwYXJhbGxlbCBhbmQgYVxuICogZmVlZCB0aGF0IGZhaWxzIHRvIGZldGNoIG9yIHBhcnNlIGlzIGRyb3BwZWQgKGxvZ2dlZCwgbm90IHRocm93bikgc29cbiAqIGEgc2luZ2xlIGZsYWt5IGZlZWQgbmV2ZXIgc2lua3MgdGhlIHdob2xlIGxvb2t1cC4gRXhwb3NlZCBmb3IgY2FsbGVyc1xuICogdGhhdCB3YW50IHRvIG1hdGNoIG1hbnkgSVBzIGFnYWluc3Qgb25lIGNhY2hlZCBzbmFwc2hvdCB3aXRob3V0IGEgRE5TXG4gKiBzdGVwIHBlciBhZGRyZXNzLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbG9hZFByb3ZpZGVyUmFuZ2VzKCk6IFByb21pc2U8UHJvdmlkZXJSYW5nZXNbXT4ge1xuICBjb25zdCBzZXR0bGVkID0gYXdhaXQgUHJvbWlzZS5hbGxTZXR0bGVkKFtsb2FkQXdzUmFuZ2VzKCksIGxvYWRBenVyZVJhbmdlcygpLCBsb2FkR2NwUmFuZ2VzKCldKTtcbiAgY29uc3Qgb3V0OiBQcm92aWRlclJhbmdlc1tdID0gW107XG4gIGZvciAoY29uc3QgcmVzdWx0IG9mIHNldHRsZWQpIHtcbiAgICBpZiAocmVzdWx0LnN0YXR1cyA9PT0gXCJmdWxmaWxsZWRcIikge1xuICAgICAgb3V0LnB1c2gocmVzdWx0LnZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbG9nZ2VyLndhcm4oXCJwcm92aWRlciByYW5nZSBsb2FkIGZhaWxlZFwiLCB7IGVycm9yOiBlcnJvclV0aWxzLnRvRXJyb3IocmVzdWx0LnJlYXNvbikgfSk7XG4gICAgfVxuICB9XG4gIHJldHVybiBvdXQ7XG59XG5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gUGVyLXByb3ZpZGVyIGNhY2hlZCBsb2FkZXJzXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuY29uc3QgbG9hZEF3c1JhbmdlcyA9IGZ1bmN0aW9uVXRpbHMubWVtb2l6ZShmZXRjaEF3c1JhbmdlcywgeyB0dGxNczogUkFOR0VfQ0FDSEVfVFRMX01TIH0pO1xuY29uc3QgbG9hZEF6dXJlUmFuZ2VzID0gZnVuY3Rpb25VdGlscy5tZW1vaXplKGZldGNoQXp1cmVSYW5nZXMsIHsgdHRsTXM6IFJBTkdFX0NBQ0hFX1RUTF9NUyB9KTtcbmNvbnN0IGxvYWRHY3BSYW5nZXMgPSBmdW5jdGlvblV0aWxzLm1lbW9pemUoZmV0Y2hHY3BSYW5nZXMsIHsgdHRsTXM6IFJBTkdFX0NBQ0hFX1RUTF9NUyB9KTtcblxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBQcm92aWRlciBmZWVkIGZldGNoICsgcGFyc2Vcbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG5pbnRlcmZhY2UgQXdzRmVlZCB7XG4gIHByZWZpeGVzPzogeyBpcF9wcmVmaXg/OiBzdHJpbmc7IHJlZ2lvbj86IHN0cmluZyB9W107XG4gIGlwdjZfcHJlZml4ZXM/OiB7IGlwdjZfcHJlZml4Pzogc3RyaW5nOyByZWdpb24/OiBzdHJpbmcgfVtdO1xufVxuXG4vKipcbiAqIEFXUyBgaXAtcmFuZ2VzLmpzb25gOiBhIGZsYXQgbGlzdCBvZiBJUHY0IChgcHJlZml4ZXNgKSBhbmQgSVB2NlxuICogKGBpcHY2X3ByZWZpeGVzYCkgYmxvY2tzLCBlYWNoIGFscmVhZHkgdGFnZ2VkIHdpdGggYSBgcmVnaW9uYCBzdWNoXG4gKiBhcyBgXCJ1cy1lYXN0LTFcImAgKG9yIGBcIkdMT0JBTFwiYCBmb3IgZWRnZSByYW5nZXMpLlxuICovXG5hc3luYyBmdW5jdGlvbiBmZXRjaEF3c1JhbmdlcygpOiBQcm9taXNlPFByb3ZpZGVyUmFuZ2VzPiB7XG4gIGNvbnN0IGZlZWQgPSBhd2FpdCBmZXRjaEpzb248QXdzRmVlZD4oQVdTX1JBTkdFU19VUkwpO1xuICBjb25zdCByYW5nZXM6IFJlZ2lvbkNpZHJbXSA9IFtdO1xuICBmb3IgKGNvbnN0IGVudHJ5IG9mIGZlZWQucHJlZml4ZXMgPz8gW10pIHtcbiAgICBhZGRSYW5nZShyYW5nZXMsIGVudHJ5LmlwX3ByZWZpeCwgZW50cnkucmVnaW9uKTtcbiAgfVxuICBmb3IgKGNvbnN0IGVudHJ5IG9mIGZlZWQuaXB2Nl9wcmVmaXhlcyA/PyBbXSkge1xuICAgIGFkZFJhbmdlKHJhbmdlcywgZW50cnkuaXB2Nl9wcmVmaXgsIGVudHJ5LnJlZ2lvbik7XG4gIH1cbiAgbG9nZ2VyLmRlYnVnKFwibG9hZGVkIGF3cyByYW5nZXNcIiwgeyBjb3VudDogcmFuZ2VzLmxlbmd0aCB9KTtcbiAgcmV0dXJuIHsgcHJvdmlkZXI6IENsb3VkUHJvdmlkZXIuQXdzLCByYW5nZXMgfTtcbn1cblxuaW50ZXJmYWNlIEdjcEZlZWQge1xuICBwcmVmaXhlcz86IHsgaXB2NFByZWZpeD86IHN0cmluZzsgaXB2NlByZWZpeD86IHN0cmluZzsgc2NvcGU/OiBzdHJpbmcgfVtdO1xufVxuXG4vKipcbiAqIEdDUCBgY2xvdWQuanNvbmA6IGEgbGlzdCBvZiBibG9ja3MgZWFjaCBjYXJyeWluZyBhbiBgaXB2NFByZWZpeGAgb3JcbiAqIGBpcHY2UHJlZml4YCBhbmQgYSBgc2NvcGVgIHRoYXQgaXMgdGhlIHJlZ2lvbiAoYFwidXMtZWFzdDFcImApIG9yXG4gKiBgXCJnbG9iYWxcImAgZm9yIG5vbi1yZWdpb25hbCByYW5nZXMuXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGZldGNoR2NwUmFuZ2VzKCk6IFByb21pc2U8UHJvdmlkZXJSYW5nZXM+IHtcbiAgY29uc3QgZmVlZCA9IGF3YWl0IGZldGNoSnNvbjxHY3BGZWVkPihHQ1BfUkFOR0VTX1VSTCk7XG4gIGNvbnN0IHJhbmdlczogUmVnaW9uQ2lkcltdID0gW107XG4gIGZvciAoY29uc3QgZW50cnkgb2YgZmVlZC5wcmVmaXhlcyA/PyBbXSkge1xuICAgIGFkZFJhbmdlKHJhbmdlcywgZW50cnkuaXB2NFByZWZpeCA/PyBlbnRyeS5pcHY2UHJlZml4LCBlbnRyeS5zY29wZSk7XG4gIH1cbiAgbG9nZ2VyLmRlYnVnKFwibG9hZGVkIGdjcCByYW5nZXNcIiwgeyBjb3VudDogcmFuZ2VzLmxlbmd0aCB9KTtcbiAgcmV0dXJuIHsgcHJvdmlkZXI6IENsb3VkUHJvdmlkZXIuR2NwLCByYW5nZXMgfTtcbn1cblxuaW50ZXJmYWNlIEF6dXJlRmVlZCB7XG4gIHZhbHVlcz86IHtcbiAgICBuYW1lPzogc3RyaW5nO1xuICAgIHByb3BlcnRpZXM/OiB7IHJlZ2lvbj86IHN0cmluZzsgYWRkcmVzc1ByZWZpeGVzPzogc3RyaW5nW10gfTtcbiAgfVtdO1xufVxuXG4vKipcbiAqIEF6dXJlIHNlcnZpY2UgdGFnczogTWljcm9zb2Z0IHNoaXBzIG5vIHN0YWJsZSBmZWVkIFVSTCwgc28gc2NyYXBlIHRoZVxuICogY3VycmVudCBgU2VydmljZVRhZ3NfUHVibGljXzxkYXRlPi5qc29uYCBsaW5rIG9mZiB0aGUgZG93bmxvYWQgcGFnZVxuICogYW5kIGZldGNoIGl0LiBPbmx5IHRoZSByZWdpb25hbCBgQXp1cmVDbG91ZC48cmVnaW9uPmAgYWdncmVnYXRlc1xuICogKHdoaWNoIGhhdmUgYSBub24tZW1wdHkgYHJlZ2lvbmApIGFyZSBrZXB0OyB0aGUgY2xvdWQtd2lkZVxuICogYEF6dXJlQ2xvdWRgIHRhZyBhbmQgcGVyLXNlcnZpY2UgdGFncyBhcmUgaWdub3JlZCBzbyBhbiBhZGRyZXNzIG1hcHNcbiAqIGNsZWFubHkgdG8gb25lIHJlZ2lvbi5cbiAqL1xuYXN5bmMgZnVuY3Rpb24gZmV0Y2hBenVyZVJhbmdlcygpOiBQcm9taXNlPFByb3ZpZGVyUmFuZ2VzPiB7XG4gIGNvbnN0IHBhZ2UgPSBhd2FpdCBmZXRjaFRleHQoQVpVUkVfRE9XTkxPQURfUEFHRSk7XG4gIGNvbnN0IGpzb25VcmwgPSBwYWdlLm1hdGNoKEFaVVJFX0pTT05fTElOSyk/LlswXTtcbiAgaWYgKCFqc29uVXJsKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiY291bGQgbm90IGZpbmQgU2VydmljZVRhZ3MgSlNPTiBsaW5rIG9uIEF6dXJlIGRvd25sb2FkIHBhZ2VcIik7XG4gIH1cbiAgY29uc3QgZmVlZCA9IGF3YWl0IGZldGNoSnNvbjxBenVyZUZlZWQ+KGpzb25VcmwpO1xuICBjb25zdCByYW5nZXM6IFJlZ2lvbkNpZHJbXSA9IFtdO1xuICBmb3IgKGNvbnN0IHZhbHVlIG9mIGZlZWQudmFsdWVzID8/IFtdKSB7XG4gICAgY29uc3QgcmVnaW9uID0gdmFsdWUucHJvcGVydGllcz8ucmVnaW9uO1xuICAgIGlmICghcmVnaW9uIHx8ICF2YWx1ZS5uYW1lPy5zdGFydHNXaXRoKFwiQXp1cmVDbG91ZC5cIikpIGNvbnRpbnVlO1xuICAgIGZvciAoY29uc3QgcHJlZml4IG9mIHZhbHVlLnByb3BlcnRpZXM/LmFkZHJlc3NQcmVmaXhlcyA/PyBbXSkge1xuICAgICAgYWRkUmFuZ2UocmFuZ2VzLCBwcmVmaXgsIHJlZ2lvbik7XG4gICAgfVxuICB9XG4gIGxvZ2dlci5kZWJ1ZyhcImxvYWRlZCBhenVyZSByYW5nZXNcIiwgeyBjb3VudDogcmFuZ2VzLmxlbmd0aCB9KTtcbiAgcmV0dXJuIHsgcHJvdmlkZXI6IENsb3VkUHJvdmlkZXIuQXp1cmUsIHJhbmdlcyB9O1xufVxuXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIEhlbHBlcnNcbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4vKiogUGFyc2UgYGNpZHJgIGFuZCwgd2hlbiB2YWxpZCBhbmQgYHJlZ2lvbmAgaXMgc2V0LCBwdXNoIGEgdGFnZ2VkIHJhbmdlLiAqL1xuZnVuY3Rpb24gYWRkUmFuZ2UocmFuZ2VzOiBSZWdpb25DaWRyW10sIGNpZHI/OiBzdHJpbmcsIHJlZ2lvbj86IHN0cmluZyk6IHZvaWQge1xuICBpZiAoIWNpZHIgfHwgIXJlZ2lvbikgcmV0dXJuO1xuICBjb25zdCBwYXJzZWQgPSBuZXQucGFyc2VDaWRyKGNpZHIpO1xuICBpZiAocGFyc2VkKSByYW5nZXMucHVzaCh7IC4uLnBhcnNlZCwgcmVnaW9uIH0pO1xufVxuXG4vKipcbiAqIEZldGNoIGFuZCBwYXJzZSBhIHByb3ZpZGVyIGZlZWQuIEEgcGFyc2UgZmFpbHVyZSBuYW1lcyB0aGUgVVJMIHJhdGhlciB0aGFuXG4gKiBzdXJmYWNpbmcgYW4gb3BhcXVlIGBVbmV4cGVjdGVkIHRva2VuYCAtIHRoZSB0ZXh0IG1heSBjb21lIGZyb20gdGhlIG9uLWRpc2tcbiAqIGNhY2hlLCBzbyBcIndoaWNoIGZlZWRcIiBpcyB0aGUgcGFydCB3b3J0aCBrbm93aW5nLiB7QGxpbmsgbG9hZFByb3ZpZGVyUmFuZ2VzfVxuICogdHVybnMgdGhlIHRocm93IGludG8gYSBwZXItcHJvdmlkZXIgd2FybmluZy5cbiAqL1xuYXN5bmMgZnVuY3Rpb24gZmV0Y2hKc29uPFQ+KHVybDogc3RyaW5nKTogUHJvbWlzZTxUPiB7XG4gIGNvbnN0IHRleHQgPSBhd2FpdCBmZXRjaFRleHQodXJsKTtcbiAgY29uc3QgcGFyc2VkID0ganNvbi5wYXJzZTxUPih0ZXh0KTtcbiAgaWYgKHBhcnNlZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGByYW5nZSBmZWVkIHJldHVybmVkIG5vbi1KU09OIGNvbnRlbnQ6ICR7dXJsfWApO1xuICB9XG4gIHJldHVybiBwYXJzZWQ7XG59XG5cbi8qKlxuICogRmV0Y2ggYHVybGAgYXMgdGV4dCB3aXRoIGEgMjRoIG9uLWRpc2sgY2FjaGUgdW5kZXIgdGhlIE9TIHRlbXAgZGlyXG4gKiAoa2V5ZWQgYnkgYW4gRk5WIGhhc2ggb2YgdGhlIFVSTCkuIEEgZnJlc2ggY2FjaGUgZmlsZSBpcyByZXR1cm5lZFxuICogZGlyZWN0bHk7IGEgbWlzcy9leHBpcnkgZmV0Y2hlcywgd3JpdGVzIHRvIGEgdW5pcXVlIHRlbXAgZmlsZSwgYW5kXG4gKiBhdG9taWNhbGx5IHJlbmFtZXMgaXQgaW50byBwbGFjZSBzbyBjb25jdXJyZW50IGNhbGxlcnMgbmV2ZXIgb2JzZXJ2ZVxuICogYSBoYWxmLXdyaXR0ZW4gY2FjaGUgZW50cnkuXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGZldGNoVGV4dCh1cmw6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gIGNvbnN0IGNhY2hlRGlyID0gam9pbih0bXBkaXIoKSwgXCJkYngtdG9vbHNcIiwgXCJzaGFyZWRcIiwgXCJjbG91ZFwiKTtcbiAgY29uc3QgY2FjaGVEaXJDcmVhdGVkID0gYXdhaXQgbWtkaXIoY2FjaGVEaXIsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuICBjb25zdCBjYWNoZVBhdGggPSBqb2luKGNhY2hlRGlyLCBgZmV0Y2gtJHtoYXNoLmZudkhhc2godXJsKX0udHh0YCk7XG4gIGNvbnN0IGNyZWF0ZWRBdCA9IGNhY2hlRGlyQ3JlYXRlZCA/IHVuZGVmaW5lZCA6IGF3YWl0IGdldENyZWF0ZWQoY2FjaGVQYXRoKTtcbiAgaWYgKGNyZWF0ZWRBdCkge1xuICAgIGNvbnN0IGV4cGlyZXNBdCA9IG5ldyBEYXRlKGNyZWF0ZWRBdC5nZXRUaW1lKCkgKyBSQU5HRV9DQUNIRV9UVExfTVMpO1xuICAgIGlmIChleHBpcmVzQXQgPiBuZXcgRGF0ZSgpKSB7XG4gICAgICBsb2dnZXIuZGVidWcoXCJjYWNoZWQgZmV0Y2ggaGl0XCIsIHsgdXJsLCBjYWNoZVBhdGggfSk7XG4gICAgICByZXR1cm4gcmVhZEZpbGUoY2FjaGVQYXRoLCBcInV0ZjhcIik7XG4gICAgfVxuICB9XG4gIGxldCB0ZW1wUGF0aDogc3RyaW5nIHwgbnVsbCA9IGpvaW4oY2FjaGVEaXIsIGAke2hhc2guaWQoKX0udHh0YCk7XG4gIHRyeSB7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCh1cmwpO1xuICAgIGlmICghcmVzcG9uc2Uub2spIHtcbiAgICAgIHRocm93IGF3YWl0IGh0dHAuY3JlYXRlRmV0Y2hFcnJvcihyZXNwb25zZSwgdXJsKTtcbiAgICB9XG4gICAgY29uc3QgcmVzcG9uc2VUZXh0ID0gYXdhaXQgcmVzcG9uc2UudGV4dCgpO1xuICAgIGF3YWl0IG1rZGlyKGRpcm5hbWUodGVtcFBhdGgpLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgICBhd2FpdCB3cml0ZUZpbGUodGVtcFBhdGgsIHJlc3BvbnNlVGV4dCk7XG5cbiAgICBhd2FpdCByZW5hbWUodGVtcFBhdGgsIGNhY2hlUGF0aCk7XG4gICAgbG9nZ2VyLmRlYnVnKFwiY2FjaGVkIGZldGNoIGxvYWRcIiwgeyB1cmwsIGNhY2hlUGF0aCB9KTtcbiAgICB0ZW1wUGF0aCA9IG51bGw7XG4gICAgcmV0dXJuIHJlc3BvbnNlVGV4dDtcbiAgfSBmaW5hbGx5IHtcbiAgICBpZiAodGVtcFBhdGgpIHtcbiAgICAgIGF3YWl0IHVubGluayh0ZW1wUGF0aCk7XG4gICAgfVxuICB9XG59XG5cbi8qKiBCaXJ0aCB0aW1lIG9mIGBwYXRoYCwgb3IgYHVuZGVmaW5lZGAgd2hlbiBpdCBkb2Vzbid0IGV4aXN0IHlldC4gKi9cbmFzeW5jIGZ1bmN0aW9uIGdldENyZWF0ZWQocGF0aDogc3RyaW5nKTogUHJvbWlzZTxEYXRlIHwgdW5kZWZpbmVkPiB7XG4gIHJldHVybiAoYXdhaXQgZmlsZS5zdGF0U3luYyhwYXRoKSk/LmJpcnRodGltZTtcbn1cbiJdfQ==
|
package/package.json
CHANGED
|
@@ -24,12 +24,12 @@
|
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
26
|
"@databricks/appkit": "0.81.0",
|
|
27
|
-
"@dbx-tools/appkit": "^0.9.
|
|
28
|
-
"@dbx-tools/auth": "^0.9.
|
|
29
|
-
"@dbx-tools/cli-service": "^0.9.
|
|
30
|
-
"@dbx-tools/core": "^0.9.
|
|
31
|
-
"@dbx-tools/shared-core": "^0.9.
|
|
32
|
-
"@dbx-tools/shared-fs": "^0.9.
|
|
27
|
+
"@dbx-tools/appkit": "^0.9.120",
|
|
28
|
+
"@dbx-tools/auth": "^0.9.120",
|
|
29
|
+
"@dbx-tools/cli-service": "^0.9.120",
|
|
30
|
+
"@dbx-tools/core": "^0.9.120",
|
|
31
|
+
"@dbx-tools/shared-core": "^0.9.120",
|
|
32
|
+
"@dbx-tools/shared-fs": "^0.9.120"
|
|
33
33
|
},
|
|
34
34
|
"main": "./lib/index.js",
|
|
35
35
|
"license": "Apache-2.0",
|
|
@@ -69,7 +69,7 @@
|
|
|
69
69
|
"./package.json": "./package.json"
|
|
70
70
|
}
|
|
71
71
|
},
|
|
72
|
-
"version": "0.9.
|
|
72
|
+
"version": "0.9.120",
|
|
73
73
|
"types": "./lib/index.d.ts",
|
|
74
74
|
"dbxToolsConfig": {
|
|
75
75
|
"tags": [
|
package/src/cloud.ts
CHANGED
|
@@ -132,7 +132,7 @@ export async function loadProviderRanges(): Promise<ProviderRanges[]> {
|
|
|
132
132
|
if (result.status === "fulfilled") {
|
|
133
133
|
out.push(result.value);
|
|
134
134
|
} else {
|
|
135
|
-
logger.warn("provider range load failed", { error: errorUtils.
|
|
135
|
+
logger.warn("provider range load failed", { error: errorUtils.toError(result.reason) });
|
|
136
136
|
}
|
|
137
137
|
}
|
|
138
138
|
return out;
|