@pipeline-builder/pipeline-data 4.1.17 → 4.1.19
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/lib/api/plugin-resolution.d.ts +41 -5
- package/lib/api/plugin-resolution.js +34 -3
- package/lib/api/public-directory.d.ts +8 -0
- package/lib/api/public-directory.js +7 -1
- package/lib/api/query-builders.js +4 -1
- package/lib/core/query-filters.d.ts +6 -0
- package/lib/core/query-filters.js +1 -1
- package/lib/database/drizzle-schema.d.ts +443 -0
- package/lib/database/drizzle-schema.js +3 -2
- package/lib/database/index.d.ts +1 -1
- package/lib/database/index.js +2 -2
- package/lib/database/schema/ecosystem.d.ts +438 -1
- package/lib/database/schema/ecosystem.js +43 -1
- package/lib/database/schema/plugin.d.ts +71 -1
- package/lib/database/schema/plugin.js +9 -1
- package/lib/testing/exports.json +1 -0
- package/package.json +9 -9
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ComputeType, PluginType, type EntityLabels, type EntityLink, type Lifecycle } from '@pipeline-builder/api-core';
|
|
1
|
+
import { ComputeType, PluginType, type EntityLabels, type EntityLink, type Lifecycle, type PluginScanFlag } from '@pipeline-builder/api-core';
|
|
2
2
|
/**
|
|
3
3
|
* Secret requirement for a plugin.
|
|
4
4
|
* Declares named secrets the plugin expects at build time.
|
|
@@ -991,6 +991,40 @@ export declare const plugin: import("drizzle-orm/pg-core").PgTableWithColumns<{
|
|
|
991
991
|
identity: undefined;
|
|
992
992
|
generated: undefined;
|
|
993
993
|
}, {}, {}>;
|
|
994
|
+
vulnCriticalFixable: import("drizzle-orm/pg-core").PgColumn<{
|
|
995
|
+
name: "vuln_critical_fixable";
|
|
996
|
+
tableName: "plugins";
|
|
997
|
+
dataType: "number";
|
|
998
|
+
columnType: "PgInteger";
|
|
999
|
+
data: number;
|
|
1000
|
+
driverParam: string | number;
|
|
1001
|
+
notNull: false;
|
|
1002
|
+
hasDefault: false;
|
|
1003
|
+
isPrimaryKey: false;
|
|
1004
|
+
isAutoincrement: false;
|
|
1005
|
+
hasRuntimeDefault: false;
|
|
1006
|
+
enumValues: undefined;
|
|
1007
|
+
baseColumn: never;
|
|
1008
|
+
identity: undefined;
|
|
1009
|
+
generated: undefined;
|
|
1010
|
+
}, {}, {}>;
|
|
1011
|
+
vulnHighFixable: import("drizzle-orm/pg-core").PgColumn<{
|
|
1012
|
+
name: "vuln_high_fixable";
|
|
1013
|
+
tableName: "plugins";
|
|
1014
|
+
dataType: "number";
|
|
1015
|
+
columnType: "PgInteger";
|
|
1016
|
+
data: number;
|
|
1017
|
+
driverParam: string | number;
|
|
1018
|
+
notNull: false;
|
|
1019
|
+
hasDefault: false;
|
|
1020
|
+
isPrimaryKey: false;
|
|
1021
|
+
isAutoincrement: false;
|
|
1022
|
+
hasRuntimeDefault: false;
|
|
1023
|
+
enumValues: undefined;
|
|
1024
|
+
baseColumn: never;
|
|
1025
|
+
identity: undefined;
|
|
1026
|
+
generated: undefined;
|
|
1027
|
+
}, {}, {}>;
|
|
994
1028
|
scannedAt: import("drizzle-orm/pg-core").PgColumn<{
|
|
995
1029
|
name: "scanned_at";
|
|
996
1030
|
tableName: "plugins";
|
|
@@ -1008,6 +1042,42 @@ export declare const plugin: import("drizzle-orm/pg-core").PgTableWithColumns<{
|
|
|
1008
1042
|
identity: undefined;
|
|
1009
1043
|
generated: undefined;
|
|
1010
1044
|
}, {}, {}>;
|
|
1045
|
+
scanFlaggedAt: import("drizzle-orm/pg-core").PgColumn<{
|
|
1046
|
+
name: "scan_flagged_at";
|
|
1047
|
+
tableName: "plugins";
|
|
1048
|
+
dataType: "date";
|
|
1049
|
+
columnType: "PgTimestamp";
|
|
1050
|
+
data: Date;
|
|
1051
|
+
driverParam: string;
|
|
1052
|
+
notNull: false;
|
|
1053
|
+
hasDefault: false;
|
|
1054
|
+
isPrimaryKey: false;
|
|
1055
|
+
isAutoincrement: false;
|
|
1056
|
+
hasRuntimeDefault: false;
|
|
1057
|
+
enumValues: undefined;
|
|
1058
|
+
baseColumn: never;
|
|
1059
|
+
identity: undefined;
|
|
1060
|
+
generated: undefined;
|
|
1061
|
+
}, {}, {}>;
|
|
1062
|
+
scanFlag: import("drizzle-orm/pg-core").PgColumn<{
|
|
1063
|
+
name: "scan_flag";
|
|
1064
|
+
tableName: "plugins";
|
|
1065
|
+
dataType: "json";
|
|
1066
|
+
columnType: "PgJsonb";
|
|
1067
|
+
data: PluginScanFlag;
|
|
1068
|
+
driverParam: unknown;
|
|
1069
|
+
notNull: false;
|
|
1070
|
+
hasDefault: false;
|
|
1071
|
+
isPrimaryKey: false;
|
|
1072
|
+
isAutoincrement: false;
|
|
1073
|
+
hasRuntimeDefault: false;
|
|
1074
|
+
enumValues: undefined;
|
|
1075
|
+
baseColumn: never;
|
|
1076
|
+
identity: undefined;
|
|
1077
|
+
generated: undefined;
|
|
1078
|
+
}, {}, {
|
|
1079
|
+
$type: PluginScanFlag;
|
|
1080
|
+
}>;
|
|
1011
1081
|
runAsRoot: import("drizzle-orm/pg-core").PgColumn<{
|
|
1012
1082
|
name: "run_as_root";
|
|
1013
1083
|
tableName: "plugins";
|
|
@@ -158,7 +158,15 @@ export const plugin = pgTable('plugins', {
|
|
|
158
158
|
vulnHigh: integer('vuln_high'),
|
|
159
159
|
vulnMedium: integer('vuln_medium'),
|
|
160
160
|
vulnLow: integer('vuln_low'),
|
|
161
|
+
// Of the critical/high findings, those grype reports a fixed version for —
|
|
162
|
+
// what the platform floor (PLUGIN_VULN_MAX_CRITICAL) gates on. NULL = unscanned.
|
|
163
|
+
vulnCriticalFixable: integer('vuln_critical_fixable'),
|
|
164
|
+
vulnHighFixable: integer('vuln_high_fixable'),
|
|
161
165
|
scannedAt: timestamp('scanned_at', { withTimezone: true }),
|
|
166
|
+
// Set by the nightly rescan while this version's fixable criticals exceed the
|
|
167
|
+
// floor (cleared when resolved): the counts and top findings at that rescan.
|
|
168
|
+
scanFlaggedAt: timestamp('scan_flagged_at', { withTimezone: true }),
|
|
169
|
+
scanFlag: jsonb('scan_flag').$type(),
|
|
162
170
|
runAsRoot: boolean('run_as_root'),
|
|
163
171
|
// Version lifecycle. `breaking`: a publisher-marked major that `latest`
|
|
164
172
|
// installs never cross without re-approval. `frozenAt`: set the moment a
|
|
@@ -245,4 +253,4 @@ export const plugin = pgTable('plugins', {
|
|
|
245
253
|
imageDigestCheck: check('plugin_image_digest_check', sql `${table.imageDigest} IS NULL OR ${table.imageDigest} ~ '^sha256:[0-9a-f]{64}$'`),
|
|
246
254
|
imageSourceCheck: check('plugin_image_source_check', sql `${table.imageSource} IS NULL OR ${table.imageSource} IN ('built', 'uploaded')`),
|
|
247
255
|
}));
|
|
248
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2RhdGFiYXNlL3NjaGVtYS9wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLHNDQUFzQztBQUV0QyxPQUFPLEVBQ0wsV0FBVyxFQUFFLFVBQVUsRUFBRSxhQUFhLEdBRXZDLE1BQU0sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNsQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBbURsSTs7Ozs7Ozs7Ozs7R0FXRztBQUNILE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsU0FBUyxFQUFFO0lBQ3ZDLGNBQWM7SUFDZCxFQUFFLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLGFBQWEsRUFBRTtJQUUzQyxrQ0FBa0M7SUFDbEMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUM7U0FDdEMsT0FBTyxDQUFDLGFBQWEsQ0FBQztTQUN0QixPQUFPLEVBQUU7SUFFWixlQUFlO0lBQ2YsU0FBUyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUM7U0FDMUIsT0FBTyxDQUFDLGFBQWEsQ0FBQztTQUN0QixPQUFPLEVBQUU7SUFDWixTQUFTLEVBQUUsU0FBUyxDQUFDLFlBQVksRUFBRSxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsQ0FBQztTQUN2RCxVQUFVLEVBQUU7U0FDWixPQUFPLEVBQUU7SUFDWixTQUFTLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQztTQUMxQixPQUFPLENBQUMs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LGdCQUFnQixFQUFFLEtBQUssQ0FBQywyQkFBMkIsRUFDakQsR0FBRyxDQUFBLEdBQUcsS0FBSyxDQUFDLFdBQVcsZUFBZSxLQUFLLENBQUMsV0FBVyw0QkFBNEIsQ0FDcEY7SUFDRCxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsMkJBQTJCLEVBQ2pELEdBQUcsQ0FBQSxHQUFHLEtBQUssQ0FBQyxXQUFXLGVBQWUsS0FBSyxDQUFDLFdBQVcsMkJBQTJCLENBQ25GO0NBQ0YsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAyNiBQaXBlbGluZSBCdWlsZGVyIENvbnRyaWJ1dG9yc1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuaW1wb3J0IHtcbiAgQ29tcHV0ZVR5cGUsIFBsdWdpblR5cGUsIFNZU1RFTV9PUkdfSUQsIHR5cGUgQ3JpdGljYWxpdHksIHR5cGUgRW50aXR5TGFiZWxzLCB0eXBlIEVudGl0eUxpbmssIHR5cGUgTGlmZWN5Y2xlLFxuICB0eXBlIE1ldGFkYXRhU291cmNlcywgdHlwZSBPd25lclR5cGUsIHR5cGUgVmlzaWJpbGl0eSxcbn0gZnJvbSAnQHBpcGVsaW5lLWJ1aWxkZXIvYXBpLWNvcmUnO1xuaW1wb3J0IHsgc3FsIH0gZnJvbSAnZHJpenpsZS1vcm0nO1xuaW1wb3J0IHsgYm9vbGVhbiwgaW50ZWdlciwgdmFyY2hhciwgcGdUYWJsZSwgdGV4dCwgdGltZXN0YW1wLCB1dWlkLCBqc29uYiwgaW5kZXgsIHVuaXF1ZUluZGV4LCBjaGVjayB9IGZyb20gJ2RyaXp6bGUtb3JtL3BnLWNvcmUnO1xuXG4vKipcbiAqIFNlY3JldCByZXF1aXJlbWVudCBmb3IgYSBwbHVnaW4uXG4gKiBEZWNsYXJlcyBuYW1lZCBzZWNyZXRzIHRoZSBwbHVnaW4gZXhwZWN0cyBhdCBidWlsZCB0aW1lLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBsdWdpblNlY3JldCB7XG4gIG5hbWU6IHN0cmluZztcbiAgcmVxdWlyZWQ6IGJvb2xlYW47XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFdoZXJlIGEgcGx1Z2luJ3MgaW1hZ2UgY2FtZSBmcm9tOiBgYnVpbHRgIGJ5IHRoZSBwbGF0Zm9ybSdzIEJ1aWxkS2l0IChjYXJyaWVzXG4gKiBTTFNBIHByb3ZlbmFuY2UpIG9yIGB1cGxvYWRlZGAgYXMgYSBwcmVidWlsdCBgaW1hZ2UudGFyYCAoU0JPTSArIHNpZ25hdHVyZVxuICogb25seSDigJQgdGhlIHBsYXRmb3JtIG5ldmVyIHNhdyB0aGUgYnVpbGQpLlxuICovXG5leHBvcnQgdHlwZSBJbWFnZVNvdXJjZSA9ICdidWlsdCcgfCAndXBsb2FkZWQnO1xuXG4vKipcbiAqIFBsdWdpbiBsaWZlY3ljbGU6IHRoZSBzaGFyZWQgY2F0YWxvZyB7QGxpbmsgTGlmZWN5Y2xlfSBwbHVzIGB5YW5rZWRgLCB3aGljaFxuICogb25seSBwbHVnaW4gdmVyc2lvbnMgY2FuIHJlYWNoIChhIHlhbmtlZCB2ZXJzaW9uIHN0b3BzIHJlc29sdmluZyBmb3IgbmV3XG4gKiBzeW50aHMpLiBgeWFua2VkQXRgIC8gYGRlcHJlY2F0ZWRBdGAgYXJlIHRoZSBhdXRob3JpdGF0aXZlIHRpbWVzdGFtcHM7IHRoZVxuICogbGlmZWN5Y2xlIHZhbHVlIG1pcnJvcnMgdGhlbSBmb3IgY2F0YWxvZyBmaWx0ZXJpbmcuXG4gKi9cbmV4cG9ydCB0eXBlIFBsdWdpbkxpZmVjeWNsZSA9IExpZmVjeWNsZSB8ICd5YW5rZWQnO1xuXG4vKiogQ29lcmNpb24gdHlwZSBhIGByZXF1aXJlZE1ldGFkYXRhYCAvIGByZXF1aXJlZFZhcnNgIGtleSBpcyBkZWNsYXJlZCBhcy4gKi9cbmV4cG9ydCB0eXBlIFBsdWdpbkNvbnRyYWN0VmFsdWVUeXBlID0gJ3N0cmluZycgfCAnbnVtYmVyJyB8ICdib29sJyB8ICdqc29uJztcblxuLyoqXG4gKiBUaGUgc3BlYydzIHNtb2tlLXRlc3QgZGVjbGFyYXRpb24uIFRvZGF5IGEgYmFyZSBjb21tYW5kIHN0cmluZzsgc3RvcmVkIGFzXG4gKiBKU09OQiBzbyBhIHN0cnVjdHVyZWQgZm9ybSBjYW4gZm9sbG93IHdpdGhvdXQgYW5vdGhlciBjb2x1bW4uXG4gKi9cbmV4cG9ydCB0eXBlIFBsdWdpblNtb2tlVGVzdCA9IHN0cmluZyB8IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuXG4vKiogQSBjdXJhdGVkIGljb246IGEga2V5IGludG8gdGhlIGN1cmF0ZWQgc2V0LCBwbHVzIGFuIG9wdGlvbmFsIGJhZGdlLiAqL1xuZXhwb3J0IGludGVyZmFjZSBQbHVnaW5JY29uIHtcbiAga2V5OiBzdHJpbmc7XG4gIGJhZGdlPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFN0b3JhZ2Uga2V5cyBvZiBhbiB1cGxvYWRlZCBpY29uJ3MgcmUtZW5jb2RlZCBXZWJQIHJlbmRpdGlvbnMgKGltYWdlLXJlZ2lzdHJ5XG4gKiBkZWNvZGVzICsgcmUtZW5jb2RlcyBldmVyeSB1cGxvYWQ7IHRoZSByYXcgZmlsZSBhbmQgU1ZHIGFyZSBuZXZlciBzdG9yZWQpLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBsdWdpblVwbG9hZGVkSWNvbiB7XG4gIGtleTI1Njogc3RyaW5nO1xuICBrZXk2NDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFRhYmxlIGZvciBzdG9yaW5nIHJldXNhYmxlIHBsdWdpbiBjb25maWd1cmF0aW9ucy5cbiAqIFBsdWdpbnMgZGVmaW5lIHRoZSBiZWhhdmlvciBvZiBzeW50aC9idWlsZCBzdGVwcyBpbiBDREsgcGlwZWxpbmVzLlxuICpcbiAqIEZlYXR1cmVzICogLSBWZXJzaW9uaW5nIHN1cHBvcnQgd2l0aCBzZW1hbnRpYyB2ZXJzaW9uaW5nXG4gKiAtIEFjY2VzcyBjb250cm9sIHZpYSBvcmdJZCBhbmQgdGhlIHRocmVlLXJ1bmcgYHZpc2liaWxpdHlgIGxhZGRlclxuICogLSBGdWxsIGF1ZGl0IHRyYWlsIChjcmVhdGVkL3VwZGF0ZWQgYnkvYXQpXG4gKiAtIEZsZXhpYmxlIG1ldGFkYXRhIHN0b3JhZ2UgdmlhIEpTT05CXG4gKiAtIFN1cHBvcnQgZm9yIGJvdGggU2hlbGxTdGVwIGFuZCBDb2RlQnVpbGRTdGVwIHR5cGVzXG4gKlxuICogQHRhYmxlIHBsdWdpbnNcbiAqL1xuZXhwb3J0IGNvbnN0IHBsdWdpbiA9IHBnVGFibGUoJ3BsdWdpbnMnLCB7XG4gIC8vIFByaW1hcnkga2V5XG4gIGlkOiB1dWlkKCdpZCcpLnByaW1hcnlLZXkoKS5kZWZhdWx0UmFuZG9tKCksXG5cbiAgLy8gT3JnYW5pemF0aW9uIGFuZCBhY2Nlc3MgY29udHJvbFxuICBvcmdJZDogdmFyY2hhcignb3JnX2lkJywgeyBsZW5ndGg6IDI1NSB9KVxuICAgIC5kZWZhdWx0KFNZU1RFTV9PUkdfSUQpXG4gICAgLm5vdE51bGwoKSxcblxuICAvLyBBdWRpdCBmaWVsZHNcbiAgY3JlYXRlZEJ5OiB0ZXh0KCdjcmVhdGVkX2J5JylcbiAgICAuZGVmYXVsdChTWVNURU1fT1JHX0lEKVxuICAgIC5ub3ROdWxsKCksXG4gIGNyZWF0ZWRBdDogdGltZXN0YW1wKCdjcmVhdGVkX2F0JywgeyB3aXRoVGltZXpvbmU6IHRydWUgfSlcbiAgICAuZGVmYXVsdE5vdygpXG4gICAgLm5vdE51bGwoKSxcbiAgdXBkYXRlZEJ5OiB0ZXh0KCd1cGRhdGVkX2J5JylcbiAgICAuZGVmYXVsdChTWVNURU1fT1JHX0lEKVxuICAgIC5ub3ROdWxsKCksXG4gIHVwZGF0ZWRBdDogdGltZXN0YW1wKCd1cGRhdGVkX2F0JywgeyB3aXRoVGltZXpvbmU6IHRydWUgfSlcbiAgICAuZGVmYXVsdE5vdygpXG4gICAgLm5vdE51bGwoKSxcblxuICAvLyBDb3JlIHBsdWdpbiBpbmZvcm1hdGlvblxuICBuYW1lOiB2YXJjaGFyKCduYW1lJywgeyBsZW5ndGg6IDI1NSB9KVxuICAgIC5ub3ROdWxsKCksXG4gIGRlc2NyaXB0aW9uOiB0ZXh0KCdkZXNjcmlwdGlvbicpLFxuICBrZXl3b3JkczoganNvbmIoJ2tleXdvcmRzJylcbiAgICAuJHR5cGU8c3RyaW5nW10+KClcbiAgICAuZGVmYXVsdChbXSlcbiAgICAubm90TnVsbCgpLFxuICB2ZXJzaW9uOiB2YXJjaGFyKCd2ZXJzaW9uJywgeyBsZW5ndGg6IDUwIH0pXG4gICAgLmRlZmF1bHQoJzEuMC4wJylcbiAgICAubm90TnVsbCgpLFxuXG4gIC8vIFBsdWdpbiBjbGFzc2lmaWNhdGlvblxuICBjYXRlZ29yeTogdmFyY2hhcignY2F0ZWdvcnknLCB7IGxlbmd0aDogNTAgfSlcbiAgICAuZGVmYXVsdCgndW5rbm93bicpXG4gICAgLm5vdE51bGwoKSxcblxuICAvLyBQbHVnaW4gY29uZmlndXJhdGlvblxuICBtZXRhZGF0YToganNvbmIoJ21ldGFkYXRhJylcbiAgICAuJHR5cGU8UmVjb3JkPHN0cmluZywgc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbj4+KClcbiAgICAuZGVmYXVsdCh7fSlcbiAgICAubm90TnVsbCgpLFxuICBwbHVnaW5UeXBlOiB2YXJjaGFyKCdwbHVnaW5fdHlwZScsIHsgbGVuZ3RoOiA1MCB9KVxuICAgIC4kdHlwZTxQbHVnaW5UeXBlPigpXG4gICAgLmRlZmF1bHQoJ0NvZGVCdWlsZFN0ZXAnIGFzIFBsdWdpblR5cGUpXG4gICAgLm5vdE51bGwoKSxcbiAgY29tcHV0ZVR5cGU6IHZhcmNoYXIoJ2NvbXB1dGVfdHlwZScsIHsgbGVuZ3RoOiA1MCB9KVxuICAgIC4kdHlwZTxDb21wdXRlVHlwZT4oKVxuICAgIC5kZWZhdWx0KCdTTUFMTCcgYXMgQ29tcHV0ZVR5cGUpXG4gICAgLm5vdE51bGwoKSxcbiAgdGltZW91dDogaW50ZWdlcigndGltZW91dCcpLFxuICBmYWlsdXJlQmVoYXZpb3I6IHZhcmNoYXIoJ2ZhaWx1cmVfYmVoYXZpb3InLCB7IGxlbmd0aDogMTAgfSlcbiAgICAuJHR5cGU8J2ZhaWwnIHwgJ3dhcm4nIHwgJ2lnbm9yZSc+KClcbiAgICAuZGVmYXVsdCgnZmFpbCcpXG4gICAgLm5vdE51bGwoKSxcbiAgc2VjcmV0czoganNvbmIoJ3NlY3JldHMnKVxuICAgIC4kdHlwZTxQbHVnaW5TZWNyZXRbXT4oKVxuICAgIC5kZWZhdWx0KFtdKVxuICAgIC5ub3ROdWxsKCksXG4gIHByaW1hcnlPdXRwdXREaXJlY3Rvcnk6IHZhcmNoYXIoJ3ByaW1hcnlfb3V0cHV0X2RpcmVjdG9yeScsIHsgbGVuZ3RoOiAyOCB9KSxcblxuICAvLyBCdWlsZCBjb25maWd1cmF0aW9uXG4gIGVudjoganNvbmIoJ2VudicpXG4gICAgLiR0eXBlPFJlY29yZDxzdHJpbmcsIHN0cmluZz4+KClcbiAgICAuZGVmYXVsdCh7fSlcbiAgICAubm90TnVsbCgpLFxuICBidWlsZEFyZ3M6IGpzb25iKCdidWlsZF9hcmdzJylcbiAgICAuJHR5cGU8UmVjb3JkPHN0cmluZywgc3RyaW5nPj4oKVxuICAgIC5kZWZhdWx0KHt9KVxuICAgIC5ub3ROdWxsKCksXG4gIGluc3RhbGxDb21tYW5kczogdGV4dCgnaW5zdGFsbF9jb21tYW5kcycpXG4gICAgLmFycmF5KClcbiAgICAuZGVmYXVsdChbXSlcbiAgICAubm90TnVsbCgpLFxuICBjb21tYW5kczogdGV4dCgnY29tbWFuZHMnKVxuICAgIC5hcnJheSgpXG4gICAgLmRlZmF1bHQoW10pXG4gICAgLm5vdE51bGwoKSxcblxuICAvLyBTcGVjIGNvbnRyYWN0LCBwZXJzaXN0ZWQgKG5vdCBqdXN0IHZhbGlkYXRlZCBhdCB1cGxvYWQpOiB0aGVcbiAgLy8gYHt7IHBpcGVsaW5lLm1ldGFkYXRhLlggfX1gIC8gYHt7IHBpcGVsaW5lLnZhcnMuWCB9fWAga2V5cyBhIHBpcGVsaW5lIG11c3RcbiAgLy8gc3VwcGx5LCB0aGVpciBkZWNsYXJlZCBjb2VyY2lvbiB0eXBlcywgdGhlIHNtb2tlIHRlc3QsIGFuZCB0aGUgZGVjbGFyZWRcbiAgLy8gb3V0Ym91bmQgaG9zdG5hbWVzIChzcGVjIGBuZXR3b3JrLmVncmVzc2ApIHNob3duIHRvIGNvbnN1bWVycy5cbiAgcmVxdWlyZWRNZXRhZGF0YToganNvbmIoJ3JlcXVpcmVkX21ldGFkYXRhJylcbiAgICAuJHR5cGU8c3RyaW5nW10+KClcbiAgICAuZGVmYXVsdChbXSlcbiAgICAubm90TnVsbCgpLFxuICByZXF1aXJlZFZhcnM6IGpzb25iKCdyZXF1aXJlZF92YXJzJylcbiAgICAuJHR5cGU8c3RyaW5nW10+KClcbiAgICAuZGVmYXVsdChbXSlcbiAgICAubm90TnVsbCgpLFxuICBtZXRhZGF0YVR5cGVzOiBqc29uYignbWV0YWRhdGFfdHlwZXMnKVxuICAgIC4kdHlwZTxSZWNvcmQ8c3RyaW5nLCBQbHVnaW5Db250cmFjdFZhbHVlVHlwZT4+KClcbiAgICAuZGVmYXVsdCh7fSlcbiAgICAubm90TnVsbCgpLFxuICB2YXJzVHlwZXM6IGpzb25iKCd2YXJzX3R5cGVzJylcbiAgICAuJHR5cGU8UmVjb3JkPHN0cmluZywgUGx1Z2luQ29udHJhY3RWYWx1ZVR5cGU+PigpXG4gICAgLmRlZmF1bHQoe30pXG4gICAgLm5vdE51bGwoKSxcbiAgc21va2VUZXN0OiBqc29uYignc21va2VfdGVzdCcpLiR0eXBlPFBsdWdpblNtb2tlVGVzdD4oKSxcbiAgbmV0d29ya0VncmVzczoganNvbmIoJ25ldHdvcmtfZWdyZXNzJylcbiAgICAuJHR5cGU8c3RyaW5nW10+KClcbiAgICAuZGVmYXVsdChbXSlcbiAgICAubm90TnVsbCgpLFxuXG4gIC8vIERvY3VtZW50YXRpb24uIFRoZSBSRUFETUUgaXMga2VwdCBhcyBzb3VyY2UgbWFya2Rvd24gQU5EIHByZS1zYW5pdGl6ZWRcbiAgLy8gSFRNTCAocmVuZGVyZWQgb25jZSBhdCB1cGxvYWQpLCBzbyBubyByZWFkIHBhdGggcmVuZGVycyB1bnRydXN0ZWQgbWFya2Rvd24uXG4gIHJlYWRtZU1kOiB0ZXh0KCdyZWFkbWVfbWQnKSxcbiAgcmVhZG1lSHRtbDogdGV4dCgncmVhZG1lX2h0bWwnKSxcbiAgLy8gU1BEWCBsaWNlbnNlIGlkZW50aWZpZXIuXG4gIGxpY2Vuc2U6IHZhcmNoYXIoJ2xpY2Vuc2UnLCB7IGxlbmd0aDogNjQgfSksXG4gIGNoYW5nZWxvZzogdGV4dCgnY2hhbmdlbG9nJyksXG4gIGhvbWVwYWdlVXJsOiB2YXJjaGFyKCdob21lcGFnZV91cmwnLCB7IGxlbmd0aDogMjA0OCB9KSxcbiAgc291cmNlVXJsOiB2YXJjaGFyKCdzb3VyY2VfdXJsJywgeyBsZW5ndGg6IDIwNDggfSksXG4gIGljb246IGpzb25iKCdpY29uJykuJHR5cGU8UGx1Z2luSWNvbj4oKSxcbiAgdXBsb2FkZWRJY29uOiBqc29uYigndXBsb2FkZWRfaWNvbicpLiR0eXBlPFBsdWdpblVwbG9hZGVkSWNvbj4oKSxcblxuICAvLyBDYXRhbG9nIG1ldGFkYXRhOiBkZXRlY3RlZCBmcm9tIHRoZSBwYWNrYWdlIChzcGVjLCBSRUFETUUsXG4gIC8vIHRoZSBwbHVnaW4ncyBvd24gRG9ja2VyZmlsZSBPQ0kgbGFiZWxzKSwgdGhlbiBhY2NlcHRlZCBvciBlZGl0ZWQgYnkgdGhlXG4gIC8vIHVzZXIuIGBzdW1tYXJ5YCBpcyB0aGUgY2FyZCBvbmUtbGluZXI7IGBkaXNwbGF5TmFtZWAgZmFsbHMgYmFjayB0b1xuICAvLyBgbmFtZWAgd2hlbiB1bnNldC4gYG1ldGFkYXRhU291cmNlc2AgcmVjb3JkcywgcGVyIGRlc2NyaXB0aXZlIGZpZWxkLCB3aGVyZVxuICAvLyBpdHMgdmFsdWUgY2FtZSBmcm9tIChgc3BlYyB8IHJlYWRtZSB8IGRvY2tlcmZpbGUgfCBkZXJpdmVkIHwgdXNlcmApIHNvIGFcbiAgLy8gcmV2aWV3ZXIgY2FuIHNlZSB3aGF0IHdhcyB0eXBlZCByYXRoZXIgdGhhbiBzaGlwcGVkIGluIHRoZSBwYWNrYWdlLlxuICBzdW1tYXJ5OiB2YXJjaGFyKCdzdW1tYXJ5JywgeyBsZW5ndGg6IDE2MCB9KSxcbiAgZGlzcGxheU5hbWU6IHZhcmNoYXIoJ2Rpc3BsYXlfbmFtZScsIHsgbGVuZ3RoOiAxMDAgfSksXG4gIGRvY3VtZW50YXRpb25Vcmw6IHZhcmNoYXIoJ2RvY3VtZW50YXRpb25fdXJsJywgeyBsZW5ndGg6IDIwNDggfSksXG4gIG1ldGFkYXRhU291cmNlczoganNvbmIoJ21ldGFkYXRhX3NvdXJjZXMnKVxuICAgIC4kdHlwZTxNZXRhZGF0YVNvdXJjZXM+KClcbiAgICAuZGVmYXVsdCh7fSlcbiAgICAubm90TnVsbCgpLFxuXG4gIC8vIERvY2tlciBjb25maWd1cmF0aW9uXG4gIGRvY2tlcmZpbGU6IHRleHQoJ2RvY2tlcmZpbGUnKSxcbiAgYnVpbGRUeXBlOiB2YXJjaGFyKCdidWlsZF90eXBlJywgeyBsZW5ndGg6IDIwIH0pXG4gICAgLmRlZmF1bHQoJ2J1aWxkX2ltYWdlJylcbiAgICAubm90TnVsbCgpLFxuXG4gIC8vIFN1cHBseSBjaGFpbi4gU2V0IGJ5IHRoZSBidWlsZCB3b3JrZXIgb25jZSB0aGUgaW1hZ2UgaXMgcHVzaGVkLCBzaWduZWQgYW5kXG4gIC8vIGNhcnJpZXMgaXRzIFNCT00gYXR0ZXN0YXRpb247IE5VTEwgZm9yIHBsdWdpbnMgdGhhdCBwcm9kdWNlIG5vIGltYWdlXG4gIC8vIChtZXRhZGF0YV9vbmx5LCBhcHByb3ZhbCBzdGVwcykuIGBpbWFnZURpZ2VzdGAgaXMgd2hhdCBzeW50aCBwaW5zIENvZGVCdWlsZFxuICAvLyB0byAoYDxyZXBvPkBzaGEyNTY64oCmYCkg4oCUIG5ldmVyIHRoZSBtdXRhYmxlIGBuYW1lOnZlcnNpb25gIHRhZy5cbiAgLy8gYGltYWdlU291cmNlYCBzZXBhcmF0ZXMgYW4gaW1hZ2UgdGhpcyBwbGF0Zm9ybSBCVUlMVCAoQnVpbGRLaXQgcHJvdmVuYW5jZVxuICAvLyBhdHRhY2hlZCkgZnJvbSBhbiBVUExPQURFRCBgaW1hZ2UudGFyYCB3aG9zZSBidWlsZCBpdCBuZXZlciBzYXcuXG4gIGltYWdlRGlnZXN0OiB2YXJjaGFyKCdpbWFnZV9kaWdlc3QnLCB7IGxlbmd0aDogNzEgfSksXG4gIGltYWdlU291cmNlOiB2YXJjaGFyKCdpbWFnZV9zb3VyY2UnLCB7IGxlbmd0aDogMTAgfSkuJHR5cGU8SW1hZ2VTb3VyY2U+KCksXG5cbiAgLy8gVnVsbmVyYWJpbGl0eSBzY2FuIChncnlwZSBvdmVyIHRoZSBTQk9NIGF0IGJ1aWxkOyBuaWdodGx5IHJlc2NhbikgYW5kIHRoZVxuICAvLyBpbWFnZSdzIGVmZmVjdGl2ZSBVU0VSLiBOVUxMID0gbm90IHNjYW5uZWQgLyBwcm9kdWNlcyBubyBpbWFnZS5cbiAgdnVsbkNyaXRpY2FsOiBpbnRlZ2VyKCd2dWxuX2NyaXRpY2FsJyksXG4gIHZ1bG5IaWdoOiBpbnRlZ2VyKCd2dWxuX2hpZ2gnKSxcbiAgdnVsbk1lZGl1bTogaW50ZWdlcigndnVsbl9tZWRpdW0nKSxcbiAgdnVsbkxvdzogaW50ZWdlcigndnVsbl9sb3cnKSxcbiAgc2Nhbm5lZEF0OiB0aW1lc3RhbXAoJ3NjYW5uZWRfYXQnLCB7IHdpdGhUaW1lem9uZTogdHJ1ZSB9KSxcbiAgcnVuQXNSb290OiBib29sZWFuKCdydW5fYXNfcm9vdCcpLFxuXG4gIC8vIFZlcnNpb24gbGlmZWN5Y2xlLiBgYnJlYWtpbmdgOiBhIHB1Ymxpc2hlci1tYXJrZWQgbWFqb3IgdGhhdCBgbGF0ZXN0YFxuICAvLyBpbnN0YWxscyBuZXZlciBjcm9zcyB3aXRob3V0IHJlLWFwcHJvdmFsLiBgZnJvemVuQXRgOiBzZXQgdGhlIG1vbWVudCBhXG4gIC8vIHB1Ymxpc2ggcmVxdWVzdCByZWZlcmVuY2VzIHRoaXMgdmVyc2lvbiDigJQgcmUtdXBsb2FkaW5nIGl0IGlzIHRoZW4gcmVmdXNlZFxuICAvLyAoNDA5KS4gWWFuayAvIGRlcHJlY2F0aW9uIGNhcnJ5IHRoZWlyIHJlYXNvbiBhbG9uZ3NpZGUgdGhlIHRpbWVzdGFtcC5cbiAgYnJlYWtpbmc6IGJvb2xlYW4oJ2JyZWFraW5nJylcbiAgICAuZGVmYXVsdChmYWxzZSlcbiAgICAubm90TnVsbCgpLFxuICBmcm96ZW5BdDogdGltZXN0YW1wKCdmcm96ZW5fYXQnLCB7IHdpdGhUaW1lem9uZTogdHJ1ZSB9KSxcbiAgeWFua2VkQXQ6IHRpbWVzdGFtcCgneWFua2VkX2F0JywgeyB3aXRoVGltZXpvbmU6IHRydWUgfSksXG4gIHlhbmtSZWFzb246IHRleHQoJ3lhbmtfcmVhc29uJyksXG4gIGRlcHJlY2F0ZWRBdDogdGltZXN0YW1wKCdkZXByZWNhdGVkX2F0JywgeyB3aXRoVGltZXpvbmU6IHRydWUgfSksXG4gIGRlcHJlY2F0aW9uTWVzc2FnZTogdGV4dCgnZGVwcmVjYXRpb25fbWVzc2FnZScpLFxuXG4gIC8vIERldmVsb3Blci1wb3J0YWwgY2F0YWxvZyBtZXRhZGF0YSAob3duZXJzaGlwIC8gbGlmZWN5Y2xlIC8gY2xhc3NpZmljYXRpb24pLlxuICAvLyBvd25lcklkIGRlZmF1bHRzIHRvIHRoZSBjcmVhdGluZyB1c2VyIChzZXQgYXQgaW5zZXJ0KSwgc28gZXZlcnkgcGx1Z2luIGhhc1xuICAvLyBhbiBvd25lciBmb3IgXCJteSBzZXJ2aWNlc1wiIHZpZXdzOyBvd25lclR5cGUgZGlzdGluZ3Vpc2hlcyB1c2VyIHZzIHRlYW0uXG4gIG93bmVySWQ6IHRleHQoJ293bmVyX2lkJyksXG4gIG93bmVyVHlwZTogdmFyY2hhcignb3duZXJfdHlwZScsIHsgbGVuZ3RoOiAxMCB9KS4kdHlwZTxPd25lclR5cGU+KCksXG4gIGxpZmVjeWNsZTogdmFyY2hhcignbGlmZWN5Y2xlJywgeyBsZW5ndGg6IDIwIH0pXG4gICAgLiR0eXBlPFBsdWdpbkxpZmVjeWNsZT4oKVxuICAgIC5kZWZhdWx0KCdwcm9kdWN0aW9uJyBhcyBQbHVnaW5MaWZlY3ljbGUpXG4gICAgLm5vdE51bGwoKSxcbiAgY3JpdGljYWxpdHk6IHZhcmNoYXIoJ2NyaXRpY2FsaXR5JywgeyBsZW5ndGg6IDEwIH0pLiR0eXBlPENyaXRpY2FsaXR5PigpLFxuICBsYWJlbHM6IGpzb25iKCdsYWJlbHMnKVxuICAgIC4kdHlwZTxFbnRpdHlMYWJlbHM+KClcbiAgICAuZGVmYXVsdCh7fSlcbiAgICAubm90TnVsbCgpLFxuICBsaW5rczoganNvbmIoJ2xpbmtzJylcbiAgICAuJHR5cGU8RW50aXR5TGlua1tdPigpXG4gICAgLmRlZmF1bHQoW10pXG4gICAgLm5vdE51bGwoKSxcblxuICAvLyBBY2Nlc3MgYW5kIHZpc2liaWxpdHkg4oCUIHRoZSBzaGFyZWQgdGhyZWUtcnVuZyBsYWRkZXIgKHNlZSBhcGktY29yZSdzXG4gIC8vIGBWaXNpYmlsaXR5YCk6IGBwcml2YXRlYCBpcyBhdXRob3Itb25seSAoYGNyZWF0ZWRfYnlgKSwgYG9yZ2AgaXMgdGhlIHdob2xlXG4gIC8vIG93bmluZyBvcmcsIGBwdWJsaWNgIHJlYWNoZXMgdGhlIG9yZydzIHRlYW1zIGFuZCDigJQgZnJvbSB0aGUgc3lzdGVtIG9yZyDigJRcbiAgLy8gZXZlcnkgb3JnLiBDb25zdHJhaW5lZCBhdCB0aGUgU1FMIGxheWVyIHRvbyB2aWEgYSBDSEVDSyBpbiBwb3N0Z3Jlcy1pbml0LnNxbFxuICAvLyBzbyBhIHR5cG8gY2FuJ3Qgc25lYWsgcGFzdCB0aGUgYXBwbGljYXRpb24gbGF5ZXIuXG4gIHZpc2liaWxpdHk6IHZhcmNoYXIoJ3Zpc2liaWxpdHknLCB7IGxlbmd0aDogMTAgfSlcbiAgICAuJHR5cGU8VmlzaWJpbGl0eT4oKVxuICAgIC5kZWZhdWx0KCdwcml2YXRlJylcbiAgICAubm90TnVsbCgpLFxuICBpc0RlZmF1bHQ6IGJvb2xlYW4oJ2lzX2RlZmF1bHQnKVxuICAgIC5kZWZhdWx0KGZhbHNlKVxuICAgIC5ub3ROdWxsKCksXG4gIGlzQWN0aXZlOiBib29sZWFuKCdpc19hY3RpdmUnKVxuICAgIC5kZWZhdWx0KHRydWUpXG4gICAgLm5vdE51bGwoKSxcblxuICAvLyBEZWxldGlvbiB0cmFja2luZyAoc29mdCBkZWxldGUpXG4gIGRlbGV0ZWRBdDogdGltZXN0YW1wKCdkZWxldGVkX2F0JywgeyB3aXRoVGltZXpvbmU6IHRydWUgfSksXG4gIGRlbGV0ZWRCeTogdGV4dCgnZGVsZXRlZF9ieScpLFxuICAvLyBTb2Z0LWRlbGV0ZSBwdXJnZSBkZWFkbGluZTogdGhlIHJldGVudGlvbiBzd2VlcCBoYXJkLWRlbGV0ZXMgdG9tYnN0b25lZFxuICAvLyByb3dzIG9uY2UgYHB1cmdlX2FmdGVyYCBoYXMgcGFzc2VkIChzZXQgb24gZGVsZXRlIGFsb25nc2lkZSBkZWxldGVkX2F0KS5cbiAgcHVyZ2VBZnRlcjogdGltZXN0YW1wKCdwdXJnZV9hZnRlcicsIHsgd2l0aFRpbWV6b25lOiB0cnVlIH0pLFxuXG4gIC8vIFRoZSBxdW90YSBwZXJpb2QgKGByZXNldEF0YCkgdGhpcyB2ZXJzaW9uJ3MgYHBsdWdpbnNgIHNsb3Qgd2FzIGNoYXJnZWQgdG9cbiAgLy8gYXQgdXBsb2FkOyBOVUxMIHdoZW4gbm8gc2xvdCB3YXMgY2hhcmdlZCAoc3lzdGVtIGNhdGFsb2cgbG9hZHMpIG9yIGl0IHdhc1xuICAvLyBhbHJlYWR5IHJlZnVuZGVkLiBBIGRlbGV0ZS9wdXJnZSByZWZ1bmRzIENPTkRJVElPTkFMTFkgb24gaXQgKHRoZSBxdW90YVxuICAvLyBzZXJ2aWNlIGlnbm9yZXMgdGhlIHJlZnVuZCBvbmNlIHRoYXQgcGVyaW9kIGhhcyByb2xsZWQgb3ZlciksIHRoZW4gY2xlYXJzIGl0LlxuICBxdW90YVJlc2V0QXQ6IHRpbWVzdGFtcCgncXVvdGFfcmVzZXRfYXQnLCB7IHdpdGhUaW1lem9uZTogdHJ1ZSB9KSxcbn0sICh0YWJsZSkgPT4gKHtcbiAgLy8gUGFydGlhbCBpbmRleCBvdmVyIGp1c3QgdGhlIHRvbWJzdG9uZXMg4oCUIGRyaXZlcyB0aGUgcmV0ZW50aW9uIHB1cmdlIHN3ZWVwLlxuICBwdXJnZUlkeDogaW5kZXgoJ3BsdWdpbl9wdXJnZV9pZHgnKS5vbih0YWJsZS5wdXJnZUFmdGVyKS53aGVyZShzcWxgZGVsZXRlZF9hdCBJUyBOT1QgTlVMTGApLFxuICAvLyBNaXJyb3JzIHRoZSBpbmRleGVzIHBvc3RncmVzLWluaXQuc3FsIGNyZWF0ZXMsIG5hbWUgZm9yIG5hbWUgKHRoZSBTUUwgZmlsZSBpc1xuICAvLyB3aGF0IGRlcGxveXM7IHNjaGVtYS1yZWZsZWN0aW9uLnRlc3QudHMga2VlcHMgdGhlIHR3byBpbiBsb2NrLXN0ZXApLlxuICBvcmdJZElkeDogaW5kZXgoJ2lkeF9wbHVnaW5zX29yZ19pZCcpLm9uKHRhYmxlLm9yZ0lkKS53aGVyZShzcWxgZGVsZXRlZF9hdCBJUyBOVUxMYCksXG4gIG5hbWVJZHg6IGluZGV4KCdpZHhfcGx1Z2luc19uYW1lJykub24odGFibGUubmFtZSkud2hlcmUoc3FsYGRlbGV0ZWRfYXQgSVMgTlVMTGApLFxuICBuYW1lVmVyc2lvbklkeDogaW5kZXgoJ2lkeF9wbHVnaW5zX25hbWVfdmVyc2lvbicpLm9uKHRhYmxlLm5hbWUsIHRhYmxlLnZlcnNpb24pLndoZXJlKHNxbGBkZWxldGVkX2F0IElTIE5VTExgKSxcbiAgdmlzaWJpbGl0eUlkeDogaW5kZXgoJ2lkeF9wbHVnaW5zX3Zpc2liaWxpdHknKS5vbih0YWJsZS52aXNpYmlsaXR5KS53aGVyZShzcWxgZGVsZXRlZF9hdCBJUyBOVUxMYCksXG4gIGlzRGVmYXVsdElkeDogaW5kZXgoJ2lkeF9wbHVnaW5zX2lzX2RlZmF1bHQnKS5vbih0YWJsZS5uYW1lLCB0YWJsZS5pc0RlZmF1bHQpLndoZXJlKHNxbGBpc19kZWZhdWx0ID0gdHJ1ZSBBTkQgZGVsZXRlZF9hdCBJUyBOVUxMYCksXG4gIGNhdGVnb3J5SWR4OiBpbmRleCgnaWR4X3BsdWdpbnNfY2F0ZWdvcnknKS5vbih0YWJsZS5jYXRlZ29yeSksXG4gIGFjdGl2ZUlkeDogaW5kZXgoJ2lkeF9wbHVnaW5zX2lzX2FjdGl2ZScpLm9uKHRhYmxlLmlzQWN0aXZlKS53aGVyZShzcWxgZGVsZXRlZF9hdCBJUyBOVUxMYCksXG4gIG9yZ0NyZWF0ZWRJZHg6IGluZGV4KCdpZHhfcGx1Z2luc19vcmdfY3JlYXRlZCcpLm9uKHRhYmxlLm9yZ0lkLCBzcWxgJHt0YWJsZS5jcmVhdGVkQXR9IERFU0NgKS53aGVyZShzcWxgZGVsZXRlZF9hdCBJUyBOVUxMYCksXG4gIG9yZ05hbWVJZHg6IGluZGV4KCdpZHhfcGx1Z2luc19vcmdfbmFtZScpLm9uKHRhYmxlLm9yZ0lkLCB0YWJsZS5uYW1lKS53aGVyZShzcWxgZGVsZXRlZF9hdCBJUyBOVUxMYCksXG5cbiAgLy8gRGV2ZWxvcGVyLXBvcnRhbCBjYXRhbG9nIGluZGV4ZXM6IFwibXkgc2VydmljZXNcIiAob3duZXIpICsgbGlmZWN5Y2xlIGZpbHRlci5cbiAgb3duZXJJZHg6IGluZGV4KCdwbHVnaW5fb3duZXJfaWR4Jykub24odGFibGUub3JnSWQsIHRhYmxlLm93bmVySWQpLFxuICBsaWZlY3ljbGVJZHg6IGluZGV4KCdwbHVnaW5fbGlmZWN5Y2xlX2lkeCcpLm9uKHRhYmxlLm9yZ0lkLCB0YWJsZS5saWZlY3ljbGUpLFxuXG4gIC8vIENvbXBvc2l0ZSBpbmRleCBmb3IgZmlsdGVyZWQgcXVlcmllcyAob3JnSWQgKyB2aXNpYmlsaXR5ICsgaXNBY3RpdmUpXG4gIG9yZ1Zpc2liaWxpdHlBY3RpdmVJZHg6IGluZGV4KCdwbHVnaW5fb3JnX3Zpc2liaWxpdHlfYWN0aXZlX2lkeCcpLm9uKHRhYmxlLm9yZ0lkLCB0YWJsZS52aXNpYmlsaXR5LCB0YWJsZS5pc0FjdGl2ZSksXG4gIC8vIERyaXZlcyB0aGUgXCJteSBwcml2YXRlIGRyYWZ0c1wiIGxlZyBvZiB0aGUgdmlzaWJpbGl0eSBwcmVkaWNhdGUuXG4gIGNyZWF0ZWRCeUlkeDogaW5kZXgoJ3BsdWdpbl9jcmVhdGVkX2J5X2lkeCcpLm9uKHRhYmxlLm9yZ0lkLCB0YWJsZS5jcmVhdGVkQnkpLFxuXG4gIC8vIFVuaXF1ZSBjb25zdHJhaW50IG9uIG5hbWUgKyB2ZXJzaW9uICsgb3JnSWRcbiAgbmFtZVZlcnNpb25PcmdVbmlxdWU6IHVuaXF1ZUluZGV4KCdwbHVnaW5fbmFtZV92ZXJzaW9uX29yZ191bmlxdWUnKVxuICAgIC5vbih0YWJsZS5uYW1lLCB0YWJsZS52ZXJzaW9uLCB0YWJsZS5vcmdJZCksXG5cbiAgLy8gQ2hlY2sgY29uc3RyYWludHNcbiAgdmVyc2lvbkNoZWNrOiBjaGVjayggJ3BsdWdpbl92ZXJzaW9uX2NoZWNrJyxcbiAgICBzcWxgJHt0YWJsZS52ZXJzaW9ufSB+ICdeWzAtOV0rXFwuWzAtOV0rXFwuWzAtOV0rKC1bYS16QS1aMC05Li1dKyk/KFxcK1thLXpBLVowLTkuLV0rKT8kJ2AsXG4gICksXG4gIGltYWdlRGlnZXN0Q2hlY2s6IGNoZWNrKCdwbHVnaW5faW1hZ2VfZGlnZXN0X2NoZWNrJyxcbiAgICBzcWxgJHt0YWJsZS5pbWFnZURpZ2VzdH0gSVMgTlVMTCBPUiAke3RhYmxlLmltYWdlRGlnZXN0fSB+ICdec2hhMjU2OlswLTlhLWZdezY0fSQnYCxcbiAgKSxcbiAgaW1hZ2VTb3VyY2VDaGVjazogY2hlY2soJ3BsdWdpbl9pbWFnZV9zb3VyY2VfY2hlY2snLFxuICAgIHNxbGAke3RhYmxlLmltYWdlU291cmNlfSBJUyBOVUxMIE9SICR7dGFibGUuaW1hZ2VTb3VyY2V9IElOICgnYnVpbHQnLCAndXBsb2FkZWQnKWAsXG4gICksXG59KSk7XG5cbi8qKlxuICogVHlwZVNjcmlwdCB0eXBlcyByZXByZXNlbnRpbmcgZGF0YWJhc2Ugcm93c1xuICovXG5leHBvcnQgdHlwZSBQbHVnaW4gPSB0eXBlb2YgcGx1Z2luLiRpbmZlclNlbGVjdDtcbmV4cG9ydCB0eXBlIFBsdWdpbkluc2VydCA9IHR5cGVvZiBwbHVnaW4uJGluZmVySW5zZXJ0O1xuXG4vKipcbiAqIEhlbHBlciB0eXBlcyBmb3Igd29ya2luZyB3aXRoIHBhcnRpYWwgdXBkYXRlc1xuICovXG5leHBvcnQgdHlwZSBQbHVnaW5VcGRhdGUgPSBQYXJ0aWFsPE9taXQ8UGx1Z2luSW5zZXJ0LCAnaWQnIHwgJ2NyZWF0ZWRBdCcgfCAnY3JlYXRlZEJ5Jz4+O1xuIl19
|
|
256
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2RhdGFiYXNlL3NjaGVtYS9wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLHNDQUFzQztBQUV0QyxPQUFPLEVBQ0wsV0FBVyxFQUFFLFVBQVUsRUFBRSxhQUFhLEdBRXZDLE1BQU0sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNsQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBbURsSTs7Ozs7Ozs7Ozs7R0FXRztBQUNILE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsU0FBUyxFQUFFO0lBQ3ZDLGNBQWM7SUFDZCxFQUFFLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLGFBQWEsRUFBRTtJQUUzQyxrQ0FBa0M7SUFDbEMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUM7U0FDdEMsT0FBTyxDQUFDLGFBQWEsQ0FBQztTQUN0QixPQUFPLEVBQUU7SUFFWixlQUFlO0lBQ2YsU0FBUyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUM7U0FDMUIsT0FBTyxDQUFDLGFBQWEsQ0FBQztTQUN0QixPQUFPLEVBQUU7SUFDWixTQUFTLEVBQUUsU0FBUyxDQUFDLFlBQVksRUFBRSxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsQ0FBQztTQUN2RCxVQUFVLEVBQUU7U0FDWixPQUFPLEVBQUU7SUFDWixTQUFTLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQztTQUMxQixPQUFPLENBQUMs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RSxLQUFLLENBQUMsU0FBUyxDQUFDO0lBRTdFLDhDQUE4QztJQUM5QyxvQkFBb0IsRUFBRSxXQUFXLENBQUMsZ0NBQWdDLENBQUM7U0FDaEUsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDO0lBRTdDLG9CQUFvQjtJQUNwQixZQUFZLEVBQUUsS0FBSyxDQUFFLHNCQUFzQixFQUN6QyxHQUFHLENBQUEsR0FBRyxLQUFLLENBQUMsT0FBTyxvRUFBb0UsQ0FDeEY7SUFDRCxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsMkJBQTJCLEVBQ2pELEdBQUcsQ0FBQSxHQUFHLEtBQUssQ0FBQyxXQUFXLGVBQWUsS0FBSyxDQUFDLFdBQVcsNEJBQTRCLENBQ3BGO0lBQ0QsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLDJCQUEyQixFQUNqRCxHQUFHLENBQUEsR0FBRyxLQUFLLENBQUMsV0FBVyxlQUFlLEtBQUssQ0FBQyxXQUFXLDJCQUEyQixDQUNuRjtDQUNGLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmltcG9ydCB7XG4gIENvbXB1dGVUeXBlLCBQbHVnaW5UeXBlLCBTWVNURU1fT1JHX0lELCB0eXBlIENyaXRpY2FsaXR5LCB0eXBlIEVudGl0eUxhYmVscywgdHlwZSBFbnRpdHlMaW5rLCB0eXBlIExpZmVjeWNsZSxcbiAgdHlwZSBNZXRhZGF0YVNvdXJjZXMsIHR5cGUgT3duZXJUeXBlLCB0eXBlIFBsdWdpblNjYW5GbGFnLCB0eXBlIFZpc2liaWxpdHksXG59IGZyb20gJ0BwaXBlbGluZS1idWlsZGVyL2FwaS1jb3JlJztcbmltcG9ydCB7IHNxbCB9IGZyb20gJ2RyaXp6bGUtb3JtJztcbmltcG9ydCB7IGJvb2xlYW4sIGludGVnZXIsIHZhcmNoYXIsIHBnVGFibGUsIHRleHQsIHRpbWVzdGFtcCwgdXVpZCwganNvbmIsIGluZGV4LCB1bmlxdWVJbmRleCwgY2hlY2sgfSBmcm9tICdkcml6emxlLW9ybS9wZy1jb3JlJztcblxuLyoqXG4gKiBTZWNyZXQgcmVxdWlyZW1lbnQgZm9yIGEgcGx1Z2luLlxuICogRGVjbGFyZXMgbmFtZWQgc2VjcmV0cyB0aGUgcGx1Z2luIGV4cGVjdHMgYXQgYnVpbGQgdGltZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQbHVnaW5TZWNyZXQge1xuICBuYW1lOiBzdHJpbmc7XG4gIHJlcXVpcmVkOiBib29sZWFuO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBXaGVyZSBhIHBsdWdpbidzIGltYWdlIGNhbWUgZnJvbTogYGJ1aWx0YCBieSB0aGUgcGxhdGZvcm0ncyBCdWlsZEtpdCAoY2Fycmllc1xuICogU0xTQSBwcm92ZW5hbmNlKSBvciBgdXBsb2FkZWRgIGFzIGEgcHJlYnVpbHQgYGltYWdlLnRhcmAgKFNCT00gKyBzaWduYXR1cmVcbiAqIG9ubHkg4oCUIHRoZSBwbGF0Zm9ybSBuZXZlciBzYXcgdGhlIGJ1aWxkKS5cbiAqL1xuZXhwb3J0IHR5cGUgSW1hZ2VTb3VyY2UgPSAnYnVpbHQnIHwgJ3VwbG9hZGVkJztcblxuLyoqXG4gKiBQbHVnaW4gbGlmZWN5Y2xlOiB0aGUgc2hhcmVkIGNhdGFsb2cge0BsaW5rIExpZmVjeWNsZX0gcGx1cyBgeWFua2VkYCwgd2hpY2hcbiAqIG9ubHkgcGx1Z2luIHZlcnNpb25zIGNhbiByZWFjaCAoYSB5YW5rZWQgdmVyc2lvbiBzdG9wcyByZXNvbHZpbmcgZm9yIG5ld1xuICogc3ludGhzKS4gYHlhbmtlZEF0YCAvIGBkZXByZWNhdGVkQXRgIGFyZSB0aGUgYXV0aG9yaXRhdGl2ZSB0aW1lc3RhbXBzOyB0aGVcbiAqIGxpZmVjeWNsZSB2YWx1ZSBtaXJyb3JzIHRoZW0gZm9yIGNhdGFsb2cgZmlsdGVyaW5nLlxuICovXG5leHBvcnQgdHlwZSBQbHVnaW5MaWZlY3ljbGUgPSBMaWZlY3ljbGUgfCAneWFua2VkJztcblxuLyoqIENvZXJjaW9uIHR5cGUgYSBgcmVxdWlyZWRNZXRhZGF0YWAgLyBgcmVxdWlyZWRWYXJzYCBrZXkgaXMgZGVjbGFyZWQgYXMuICovXG5leHBvcnQgdHlwZSBQbHVnaW5Db250cmFjdFZhbHVlVHlwZSA9ICdzdHJpbmcnIHwgJ251bWJlcicgfCAnYm9vbCcgfCAnanNvbic7XG5cbi8qKlxuICogVGhlIHNwZWMncyBzbW9rZS10ZXN0IGRlY2xhcmF0aW9uLiBUb2RheSBhIGJhcmUgY29tbWFuZCBzdHJpbmc7IHN0b3JlZCBhc1xuICogSlNPTkIgc28gYSBzdHJ1Y3R1cmVkIGZvcm0gY2FuIGZvbGxvdyB3aXRob3V0IGFub3RoZXIgY29sdW1uLlxuICovXG5leHBvcnQgdHlwZSBQbHVnaW5TbW9rZVRlc3QgPSBzdHJpbmcgfCBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcblxuLyoqIEEgY3VyYXRlZCBpY29uOiBhIGtleSBpbnRvIHRoZSBjdXJhdGVkIHNldCwgcGx1cyBhbiBvcHRpb25hbCBiYWRnZS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGx1Z2luSWNvbiB7XG4gIGtleTogc3RyaW5nO1xuICBiYWRnZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBTdG9yYWdlIGtleXMgb2YgYW4gdXBsb2FkZWQgaWNvbidzIHJlLWVuY29kZWQgV2ViUCByZW5kaXRpb25zIChpbWFnZS1yZWdpc3RyeVxuICogZGVjb2RlcyArIHJlLWVuY29kZXMgZXZlcnkgdXBsb2FkOyB0aGUgcmF3IGZpbGUgYW5kIFNWRyBhcmUgbmV2ZXIgc3RvcmVkKS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQbHVnaW5VcGxvYWRlZEljb24ge1xuICBrZXkyNTY6IHN0cmluZztcbiAga2V5NjQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBUYWJsZSBmb3Igc3RvcmluZyByZXVzYWJsZSBwbHVnaW4gY29uZmlndXJhdGlvbnMuXG4gKiBQbHVnaW5zIGRlZmluZSB0aGUgYmVoYXZpb3Igb2Ygc3ludGgvYnVpbGQgc3RlcHMgaW4gQ0RLIHBpcGVsaW5lcy5cbiAqXG4gKiBGZWF0dXJlcyAqIC0gVmVyc2lvbmluZyBzdXBwb3J0IHdpdGggc2VtYW50aWMgdmVyc2lvbmluZ1xuICogLSBBY2Nlc3MgY29udHJvbCB2aWEgb3JnSWQgYW5kIHRoZSB0aHJlZS1ydW5nIGB2aXNpYmlsaXR5YCBsYWRkZXJcbiAqIC0gRnVsbCBhdWRpdCB0cmFpbCAoY3JlYXRlZC91cGRhdGVkIGJ5L2F0KVxuICogLSBGbGV4aWJsZSBtZXRhZGF0YSBzdG9yYWdlIHZpYSBKU09OQlxuICogLSBTdXBwb3J0IGZvciBib3RoIFNoZWxsU3RlcCBhbmQgQ29kZUJ1aWxkU3RlcCB0eXBlc1xuICpcbiAqIEB0YWJsZSBwbHVnaW5zXG4gKi9cbmV4cG9ydCBjb25zdCBwbHVnaW4gPSBwZ1RhYmxlKCdwbHVnaW5zJywge1xuICAvLyBQcmltYXJ5IGtleVxuICBpZDogdXVpZCgnaWQnKS5wcmltYXJ5S2V5KCkuZGVmYXVsdFJhbmRvbSgpLFxuXG4gIC8vIE9yZ2FuaXphdGlvbiBhbmQgYWNjZXNzIGNvbnRyb2xcbiAgb3JnSWQ6IHZhcmNoYXIoJ29yZ19pZCcsIHsgbGVuZ3RoOiAyNTUgfSlcbiAgICAuZGVmYXVsdChTWVNURU1fT1JHX0lEKVxuICAgIC5ub3ROdWxsKCksXG5cbiAgLy8gQXVkaXQgZmllbGRzXG4gIGNyZWF0ZWRCeTogdGV4dCgnY3JlYXRlZF9ieScpXG4gICAgLmRlZmF1bHQoU1lTVEVNX09SR19JRClcbiAgICAubm90TnVsbCgpLFxuICBjcmVhdGVkQXQ6IHRpbWVzdGFtcCgnY3JlYXRlZF9hdCcsIHsgd2l0aFRpbWV6b25lOiB0cnVlIH0pXG4gICAgLmRlZmF1bHROb3coKVxuICAgIC5ub3ROdWxsKCksXG4gIHVwZGF0ZWRCeTogdGV4dCgndXBkYXRlZF9ieScpXG4gICAgLmRlZmF1bHQoU1lTVEVNX09SR19JRClcbiAgICAubm90TnVsbCgpLFxuICB1cGRhdGVkQXQ6IHRpbWVzdGFtcCgndXBkYXRlZF9hdCcsIHsgd2l0aFRpbWV6b25lOiB0cnVlIH0pXG4gICAgLmRlZmF1bHROb3coKVxuICAgIC5ub3ROdWxsKCksXG5cbiAgLy8gQ29yZSBwbHVnaW4gaW5mb3JtYXRpb25cbiAgbmFtZTogdmFyY2hhcignbmFtZScsIHsgbGVuZ3RoOiAyNTUgfSlcbiAgICAubm90TnVsbCgpLFxuICBkZXNjcmlwdGlvbjogdGV4dCgnZGVzY3JpcHRpb24nKSxcbiAga2V5d29yZHM6IGpzb25iKCdrZXl3b3JkcycpXG4gICAgLiR0eXBlPHN0cmluZ1tdPigpXG4gICAgLmRlZmF1bHQoW10pXG4gICAgLm5vdE51bGwoKSxcbiAgdmVyc2lvbjogdmFyY2hhcigndmVyc2lvbicsIHsgbGVuZ3RoOiA1MCB9KVxuICAgIC5kZWZhdWx0KCcxLjAuMCcpXG4gICAgLm5vdE51bGwoKSxcblxuICAvLyBQbHVnaW4gY2xhc3NpZmljYXRpb25cbiAgY2F0ZWdvcnk6IHZhcmNoYXIoJ2NhdGVnb3J5JywgeyBsZW5ndGg6IDUwIH0pXG4gICAgLmRlZmF1bHQoJ3Vua25vd24nKVxuICAgIC5ub3ROdWxsKCksXG5cbiAgLy8gUGx1Z2luIGNvbmZpZ3VyYXRpb25cbiAgbWV0YWRhdGE6IGpzb25iKCdtZXRhZGF0YScpXG4gICAgLiR0eXBlPFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4+PigpXG4gICAgLmRlZmF1bHQoe30pXG4gICAgLm5vdE51bGwoKSxcbiAgcGx1Z2luVHlwZTogdmFyY2hhcigncGx1Z2luX3R5cGUnLCB7IGxlbmd0aDogNTAgfSlcbiAgICAuJHR5cGU8UGx1Z2luVHlwZT4oKVxuICAgIC5kZWZhdWx0KCdDb2RlQnVpbGRTdGVwJyBhcyBQbHVnaW5UeXBlKVxuICAgIC5ub3ROdWxsKCksXG4gIGNvbXB1dGVUeXBlOiB2YXJjaGFyKCdjb21wdXRlX3R5cGUnLCB7IGxlbmd0aDogNTAgfSlcbiAgICAuJHR5cGU8Q29tcHV0ZVR5cGU+KClcbiAgICAuZGVmYXVsdCgnU01BTEwnIGFzIENvbXB1dGVUeXBlKVxuICAgIC5ub3ROdWxsKCksXG4gIHRpbWVvdXQ6IGludGVnZXIoJ3RpbWVvdXQnKSxcbiAgZmFpbHVyZUJlaGF2aW9yOiB2YXJjaGFyKCdmYWlsdXJlX2JlaGF2aW9yJywgeyBsZW5ndGg6IDEwIH0pXG4gICAgLiR0eXBlPCdmYWlsJyB8ICd3YXJuJyB8ICdpZ25vcmUnPigpXG4gICAgLmRlZmF1bHQoJ2ZhaWwnKVxuICAgIC5ub3ROdWxsKCksXG4gIHNlY3JldHM6IGpzb25iKCdzZWNyZXRzJylcbiAgICAuJHR5cGU8UGx1Z2luU2VjcmV0W10+KClcbiAgICAuZGVmYXVsdChbXSlcbiAgICAubm90TnVsbCgpLFxuICBwcmltYXJ5T3V0cHV0RGlyZWN0b3J5OiB2YXJjaGFyKCdwcmltYXJ5X291dHB1dF9kaXJlY3RvcnknLCB7IGxlbmd0aDogMjggfSksXG5cbiAgLy8gQnVpbGQgY29uZmlndXJhdGlvblxuICBlbnY6IGpzb25iKCdlbnYnKVxuICAgIC4kdHlwZTxSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PigpXG4gICAgLmRlZmF1bHQoe30pXG4gICAgLm5vdE51bGwoKSxcbiAgYnVpbGRBcmdzOiBqc29uYignYnVpbGRfYXJncycpXG4gICAgLiR0eXBlPFJlY29yZDxzdHJpbmcsIHN0cmluZz4+KClcbiAgICAuZGVmYXVsdCh7fSlcbiAgICAubm90TnVsbCgpLFxuICBpbnN0YWxsQ29tbWFuZHM6IHRleHQoJ2luc3RhbGxfY29tbWFuZHMnKVxuICAgIC5hcnJheSgpXG4gICAgLmRlZmF1bHQoW10pXG4gICAgLm5vdE51bGwoKSxcbiAgY29tbWFuZHM6IHRleHQoJ2NvbW1hbmRzJylcbiAgICAuYXJyYXkoKVxuICAgIC5kZWZhdWx0KFtdKVxuICAgIC5ub3ROdWxsKCksXG5cbiAgLy8gU3BlYyBjb250cmFjdCwgcGVyc2lzdGVkIChub3QganVzdCB2YWxpZGF0ZWQgYXQgdXBsb2FkKTogdGhlXG4gIC8vIGB7eyBwaXBlbGluZS5tZXRhZGF0YS5YIH19YCAvIGB7eyBwaXBlbGluZS52YXJzLlggfX1gIGtleXMgYSBwaXBlbGluZSBtdXN0XG4gIC8vIHN1cHBseSwgdGhlaXIgZGVjbGFyZWQgY29lcmNpb24gdHlwZXMsIHRoZSBzbW9rZSB0ZXN0LCBhbmQgdGhlIGRlY2xhcmVkXG4gIC8vIG91dGJvdW5kIGhvc3RuYW1lcyAoc3BlYyBgbmV0d29yay5lZ3Jlc3NgKSBzaG93biB0byBjb25zdW1lcnMuXG4gIHJlcXVpcmVkTWV0YWRhdGE6IGpzb25iKCdyZXF1aXJlZF9tZXRhZGF0YScpXG4gICAgLiR0eXBlPHN0cmluZ1tdPigpXG4gICAgLmRlZmF1bHQoW10pXG4gICAgLm5vdE51bGwoKSxcbiAgcmVxdWlyZWRWYXJzOiBqc29uYigncmVxdWlyZWRfdmFycycpXG4gICAgLiR0eXBlPHN0cmluZ1tdPigpXG4gICAgLmRlZmF1bHQoW10pXG4gICAgLm5vdE51bGwoKSxcbiAgbWV0YWRhdGFUeXBlczoganNvbmIoJ21ldGFkYXRhX3R5cGVzJylcbiAgICAuJHR5cGU8UmVjb3JkPHN0cmluZywgUGx1Z2luQ29udHJhY3RWYWx1ZVR5cGU+PigpXG4gICAgLmRlZmF1bHQoe30pXG4gICAgLm5vdE51bGwoKSxcbiAgdmFyc1R5cGVzOiBqc29uYigndmFyc190eXBlcycpXG4gICAgLiR0eXBlPFJlY29yZDxzdHJpbmcsIFBsdWdpbkNvbnRyYWN0VmFsdWVUeXBlPj4oKVxuICAgIC5kZWZhdWx0KHt9KVxuICAgIC5ub3ROdWxsKCksXG4gIHNtb2tlVGVzdDoganNvbmIoJ3Ntb2tlX3Rlc3QnKS4kdHlwZTxQbHVnaW5TbW9rZVRlc3Q+KCksXG4gIG5ldHdvcmtFZ3Jlc3M6IGpzb25iKCduZXR3b3JrX2VncmVzcycpXG4gICAgLiR0eXBlPHN0cmluZ1tdPigpXG4gICAgLmRlZmF1bHQoW10pXG4gICAgLm5vdE51bGwoKSxcblxuICAvLyBEb2N1bWVudGF0aW9uLiBUaGUgUkVBRE1FIGlzIGtlcHQgYXMgc291cmNlIG1hcmtkb3duIEFORCBwcmUtc2FuaXRpemVkXG4gIC8vIEhUTUwgKHJlbmRlcmVkIG9uY2UgYXQgdXBsb2FkKSwgc28gbm8gcmVhZCBwYXRoIHJlbmRlcnMgdW50cnVzdGVkIG1hcmtkb3duLlxuICByZWFkbWVNZDogdGV4dCgncmVhZG1lX21kJyksXG4gIHJlYWRtZUh0bWw6IHRleHQoJ3JlYWRtZV9odG1sJyksXG4gIC8vIFNQRFggbGljZW5zZSBpZGVudGlmaWVyLlxuICBsaWNlbnNlOiB2YXJjaGFyKCdsaWNlbnNlJywgeyBsZW5ndGg6IDY0IH0pLFxuICBjaGFuZ2Vsb2c6IHRleHQoJ2NoYW5nZWxvZycpLFxuICBob21lcGFnZVVybDogdmFyY2hhcignaG9tZXBhZ2VfdXJsJywgeyBsZW5ndGg6IDIwNDggfSksXG4gIHNvdXJjZVVybDogdmFyY2hhcignc291cmNlX3VybCcsIHsgbGVuZ3RoOiAyMDQ4IH0pLFxuICBpY29uOiBqc29uYignaWNvbicpLiR0eXBlPFBsdWdpbkljb24+KCksXG4gIHVwbG9hZGVkSWNvbjoganNvbmIoJ3VwbG9hZGVkX2ljb24nKS4kdHlwZTxQbHVnaW5VcGxvYWRlZEljb24+KCksXG5cbiAgLy8gQ2F0YWxvZyBtZXRhZGF0YTogZGV0ZWN0ZWQgZnJvbSB0aGUgcGFja2FnZSAoc3BlYywgUkVBRE1FLFxuICAvLyB0aGUgcGx1Z2luJ3Mgb3duIERvY2tlcmZpbGUgT0NJIGxhYmVscyksIHRoZW4gYWNjZXB0ZWQgb3IgZWRpdGVkIGJ5IHRoZVxuICAvLyB1c2VyLiBgc3VtbWFyeWAgaXMgdGhlIGNhcmQgb25lLWxpbmVyOyBgZGlzcGxheU5hbWVgIGZhbGxzIGJhY2sgdG9cbiAgLy8gYG5hbWVgIHdoZW4gdW5zZXQuIGBtZXRhZGF0YVNvdXJjZXNgIHJlY29yZHMsIHBlciBkZXNjcmlwdGl2ZSBmaWVsZCwgd2hlcmVcbiAgLy8gaXRzIHZhbHVlIGNhbWUgZnJvbSAoYHNwZWMgfCByZWFkbWUgfCBkb2NrZXJmaWxlIHwgZGVyaXZlZCB8IHVzZXJgKSBzbyBhXG4gIC8vIHJldmlld2VyIGNhbiBzZWUgd2hhdCB3YXMgdHlwZWQgcmF0aGVyIHRoYW4gc2hpcHBlZCBpbiB0aGUgcGFja2FnZS5cbiAgc3VtbWFyeTogdmFyY2hhcignc3VtbWFyeScsIHsgbGVuZ3RoOiAxNjAgfSksXG4gIGRpc3BsYXlOYW1lOiB2YXJjaGFyKCdkaXNwbGF5X25hbWUnLCB7IGxlbmd0aDogMTAwIH0pLFxuICBkb2N1bWVudGF0aW9uVXJsOiB2YXJjaGFyKCdkb2N1bWVudGF0aW9uX3VybCcsIHsgbGVuZ3RoOiAyMDQ4IH0pLFxuICBtZXRhZGF0YVNvdXJjZXM6IGpzb25iKCdtZXRhZGF0YV9zb3VyY2VzJylcbiAgICAuJHR5cGU8TWV0YWRhdGFTb3VyY2VzPigpXG4gICAgLmRlZmF1bHQoe30pXG4gICAgLm5vdE51bGwoKSxcblxuICAvLyBEb2NrZXIgY29uZmlndXJhdGlvblxuICBkb2NrZXJmaWxlOiB0ZXh0KCdkb2NrZXJmaWxlJyksXG4gIGJ1aWxkVHlwZTogdmFyY2hhcignYnVpbGRfdHlwZScsIHsgbGVuZ3RoOiAyMCB9KVxuICAgIC5kZWZhdWx0KCdidWlsZF9pbWFnZScpXG4gICAgLm5vdE51bGwoKSxcblxuICAvLyBTdXBwbHkgY2hhaW4uIFNldCBieSB0aGUgYnVpbGQgd29ya2VyIG9uY2UgdGhlIGltYWdlIGlzIHB1c2hlZCwgc2lnbmVkIGFuZFxuICAvLyBjYXJyaWVzIGl0cyBTQk9NIGF0dGVzdGF0aW9uOyBOVUxMIGZvciBwbHVnaW5zIHRoYXQgcHJvZHVjZSBubyBpbWFnZVxuICAvLyAobWV0YWRhdGFfb25seSwgYXBwcm92YWwgc3RlcHMpLiBgaW1hZ2VEaWdlc3RgIGlzIHdoYXQgc3ludGggcGlucyBDb2RlQnVpbGRcbiAgLy8gdG8gKGA8cmVwbz5Ac2hhMjU2OuKApmApIOKAlCBuZXZlciB0aGUgbXV0YWJsZSBgbmFtZTp2ZXJzaW9uYCB0YWcuXG4gIC8vIGBpbWFnZVNvdXJjZWAgc2VwYXJhdGVzIGFuIGltYWdlIHRoaXMgcGxhdGZvcm0gQlVJTFQgKEJ1aWxkS2l0IHByb3ZlbmFuY2VcbiAgLy8gYXR0YWNoZWQpIGZyb20gYW4gVVBMT0FERUQgYGltYWdlLnRhcmAgd2hvc2UgYnVpbGQgaXQgbmV2ZXIgc2F3LlxuICBpbWFnZURpZ2VzdDogdmFyY2hhcignaW1hZ2VfZGlnZXN0JywgeyBsZW5ndGg6IDcxIH0pLFxuICBpbWFnZVNvdXJjZTogdmFyY2hhcignaW1hZ2Vfc291cmNlJywgeyBsZW5ndGg6IDEwIH0pLiR0eXBlPEltYWdlU291cmNlPigpLFxuXG4gIC8vIFZ1bG5lcmFiaWxpdHkgc2NhbiAoZ3J5cGUgb3ZlciB0aGUgU0JPTSBhdCBidWlsZDsgbmlnaHRseSByZXNjYW4pIGFuZCB0aGVcbiAgLy8gaW1hZ2UncyBlZmZlY3RpdmUgVVNFUi4gTlVMTCA9IG5vdCBzY2FubmVkIC8gcHJvZHVjZXMgbm8gaW1hZ2UuXG4gIHZ1bG5Dcml0aWNhbDogaW50ZWdlcigndnVsbl9jcml0aWNhbCcpLFxuICB2dWxuSGlnaDogaW50ZWdlcigndnVsbl9oaWdoJyksXG4gIHZ1bG5NZWRpdW06IGludGVnZXIoJ3Z1bG5fbWVkaXVtJyksXG4gIHZ1bG5Mb3c6IGludGVnZXIoJ3Z1bG5fbG93JyksXG4gIC8vIE9mIHRoZSBjcml0aWNhbC9oaWdoIGZpbmRpbmdzLCB0aG9zZSBncnlwZSByZXBvcnRzIGEgZml4ZWQgdmVyc2lvbiBmb3Ig4oCUXG4gIC8vIHdoYXQgdGhlIHBsYXRmb3JtIGZsb29yIChQTFVHSU5fVlVMTl9NQVhfQ1JJVElDQUwpIGdhdGVzIG9uLiBOVUxMID0gdW5zY2FubmVkLlxuICB2dWxuQ3JpdGljYWxGaXhhYmxlOiBpbnRlZ2VyKCd2dWxuX2NyaXRpY2FsX2ZpeGFibGUnKSxcbiAgdnVsbkhpZ2hGaXhhYmxlOiBpbnRlZ2VyKCd2dWxuX2hpZ2hfZml4YWJsZScpLFxuICBzY2FubmVkQXQ6IHRpbWVzdGFtcCgnc2Nhbm5lZF9hdCcsIHsgd2l0aFRpbWV6b25lOiB0cnVlIH0pLFxuICAvLyBTZXQgYnkgdGhlIG5pZ2h0bHkgcmVzY2FuIHdoaWxlIHRoaXMgdmVyc2lvbidzIGZpeGFibGUgY3JpdGljYWxzIGV4Y2VlZCB0aGVcbiAgLy8gZmxvb3IgKGNsZWFyZWQgd2hlbiByZXNvbHZlZCk6IHRoZSBjb3VudHMgYW5kIHRvcCBmaW5kaW5ncyBhdCB0aGF0IHJlc2Nhbi5cbiAgc2NhbkZsYWdnZWRBdDogdGltZXN0YW1wKCdzY2FuX2ZsYWdnZWRfYXQnLCB7IHdpdGhUaW1lem9uZTogdHJ1ZSB9KSxcbiAgc2NhbkZsYWc6IGpzb25iKCdzY2FuX2ZsYWcnKS4kdHlwZTxQbHVnaW5TY2FuRmxhZz4oKSxcbiAgcnVuQXNSb290OiBib29sZWFuKCdydW5fYXNfcm9vdCcpLFxuXG4gIC8vIFZlcnNpb24gbGlmZWN5Y2xlLiBgYnJlYWtpbmdgOiBhIHB1Ymxpc2hlci1tYXJrZWQgbWFqb3IgdGhhdCBgbGF0ZXN0YFxuICAvLyBpbnN0YWxscyBuZXZlciBjcm9zcyB3aXRob3V0IHJlLWFwcHJvdmFsLiBgZnJvemVuQXRgOiBzZXQgdGhlIG1vbWVudCBhXG4gIC8vIHB1Ymxpc2ggcmVxdWVzdCByZWZlcmVuY2VzIHRoaXMgdmVyc2lvbiDigJQgcmUtdXBsb2FkaW5nIGl0IGlzIHRoZW4gcmVmdXNlZFxuICAvLyAoNDA5KS4gWWFuayAvIGRlcHJlY2F0aW9uIGNhcnJ5IHRoZWlyIHJlYXNvbiBhbG9uZ3NpZGUgdGhlIHRpbWVzdGFtcC5cbiAgYnJlYWtpbmc6IGJvb2xlYW4oJ2JyZWFraW5nJylcbiAgICAuZGVmYXVsdChmYWxzZSlcbiAgICAubm90TnVsbCgpLFxuICBmcm96ZW5BdDogdGltZXN0YW1wKCdmcm96ZW5fYXQnLCB7IHdpdGhUaW1lem9uZTogdHJ1ZSB9KSxcbiAgeWFua2VkQXQ6IHRpbWVzdGFtcCgneWFua2VkX2F0JywgeyB3aXRoVGltZXpvbmU6IHRydWUgfSksXG4gIHlhbmtSZWFzb246IHRleHQoJ3lhbmtfcmVhc29uJyksXG4gIGRlcHJlY2F0ZWRBdDogdGltZXN0YW1wKCdkZXByZWNhdGVkX2F0JywgeyB3aXRoVGltZXpvbmU6IHRydWUgfSksXG4gIGRlcHJlY2F0aW9uTWVzc2FnZTogdGV4dCgnZGVwcmVjYXRpb25fbWVzc2FnZScpLFxuXG4gIC8vIERldmVsb3Blci1wb3J0YWwgY2F0YWxvZyBtZXRhZGF0YSAob3duZXJzaGlwIC8gbGlmZWN5Y2xlIC8gY2xhc3NpZmljYXRpb24pLlxuICAvLyBvd25lcklkIGRlZmF1bHRzIHRvIHRoZSBjcmVhdGluZyB1c2VyIChzZXQgYXQgaW5zZXJ0KSwgc28gZXZlcnkgcGx1Z2luIGhhc1xuICAvLyBhbiBvd25lciBmb3IgXCJteSBzZXJ2aWNlc1wiIHZpZXdzOyBvd25lclR5cGUgZGlzdGluZ3Vpc2hlcyB1c2VyIHZzIHRlYW0uXG4gIG93bmVySWQ6IHRleHQoJ293bmVyX2lkJyksXG4gIG93bmVyVHlwZTogdmFyY2hhcignb3duZXJfdHlwZScsIHsgbGVuZ3RoOiAxMCB9KS4kdHlwZTxPd25lclR5cGU+KCksXG4gIGxpZmVjeWNsZTogdmFyY2hhcignbGlmZWN5Y2xlJywgeyBsZW5ndGg6IDIwIH0pXG4gICAgLiR0eXBlPFBsdWdpbkxpZmVjeWNsZT4oKVxuICAgIC5kZWZhdWx0KCdwcm9kdWN0aW9uJyBhcyBQbHVnaW5MaWZlY3ljbGUpXG4gICAgLm5vdE51bGwoKSxcbiAgY3JpdGljYWxpdHk6IHZhcmNoYXIoJ2NyaXRpY2FsaXR5JywgeyBsZW5ndGg6IDEwIH0pLiR0eXBlPENyaXRpY2FsaXR5PigpLFxuICBsYWJlbHM6IGpzb25iKCdsYWJlbHMnKVxuICAgIC4kdHlwZTxFbnRpdHlMYWJlbHM+KClcbiAgICAuZGVmYXVsdCh7fSlcbiAgICAubm90TnVsbCgpLFxuICBsaW5rczoganNvbmIoJ2xpbmtzJylcbiAgICAuJHR5cGU8RW50aXR5TGlua1tdPigpXG4gICAgLmRlZmF1bHQoW10pXG4gICAgLm5vdE51bGwoKSxcblxuICAvLyBBY2Nlc3MgYW5kIHZpc2liaWxpdHkg4oCUIHRoZSBzaGFyZWQgdGhyZWUtcnVuZyBsYWRkZXIgKHNlZSBhcGktY29yZSdzXG4gIC8vIGBWaXNpYmlsaXR5YCk6IGBwcml2YXRlYCBpcyBhdXRob3Itb25seSAoYGNyZWF0ZWRfYnlgKSwgYG9yZ2AgaXMgdGhlIHdob2xlXG4gIC8vIG93bmluZyBvcmcsIGBwdWJsaWNgIHJlYWNoZXMgdGhlIG9yZydzIHRlYW1zIGFuZCDigJQgZnJvbSB0aGUgc3lzdGVtIG9yZyDigJRcbiAgLy8gZXZlcnkgb3JnLiBDb25zdHJhaW5lZCBhdCB0aGUgU1FMIGxheWVyIHRvbyB2aWEgYSBDSEVDSyBpbiBwb3N0Z3Jlcy1pbml0LnNxbFxuICAvLyBzbyBhIHR5cG8gY2FuJ3Qgc25lYWsgcGFzdCB0aGUgYXBwbGljYXRpb24gbGF5ZXIuXG4gIHZpc2liaWxpdHk6IHZhcmNoYXIoJ3Zpc2liaWxpdHknLCB7IGxlbmd0aDogMTAgfSlcbiAgICAuJHR5cGU8VmlzaWJpbGl0eT4oKVxuICAgIC5kZWZhdWx0KCdwcml2YXRlJylcbiAgICAubm90TnVsbCgpLFxuICBpc0RlZmF1bHQ6IGJvb2xlYW4oJ2lzX2RlZmF1bHQnKVxuICAgIC5kZWZhdWx0KGZhbHNlKVxuICAgIC5ub3ROdWxsKCksXG4gIGlzQWN0aXZlOiBib29sZWFuKCdpc19hY3RpdmUnKVxuICAgIC5kZWZhdWx0KHRydWUpXG4gICAgLm5vdE51bGwoKSxcblxuICAvLyBEZWxldGlvbiB0cmFja2luZyAoc29mdCBkZWxldGUpXG4gIGRlbGV0ZWRBdDogdGltZXN0YW1wKCdkZWxldGVkX2F0JywgeyB3aXRoVGltZXpvbmU6IHRydWUgfSksXG4gIGRlbGV0ZWRCeTogdGV4dCgnZGVsZXRlZF9ieScpLFxuICAvLyBTb2Z0LWRlbGV0ZSBwdXJnZSBkZWFkbGluZTogdGhlIHJldGVudGlvbiBzd2VlcCBoYXJkLWRlbGV0ZXMgdG9tYnN0b25lZFxuICAvLyByb3dzIG9uY2UgYHB1cmdlX2FmdGVyYCBoYXMgcGFzc2VkIChzZXQgb24gZGVsZXRlIGFsb25nc2lkZSBkZWxldGVkX2F0KS5cbiAgcHVyZ2VBZnRlcjogdGltZXN0YW1wKCdwdXJnZV9hZnRlcicsIHsgd2l0aFRpbWV6b25lOiB0cnVlIH0pLFxuXG4gIC8vIFRoZSBxdW90YSBwZXJpb2QgKGByZXNldEF0YCkgdGhpcyB2ZXJzaW9uJ3MgYHBsdWdpbnNgIHNsb3Qgd2FzIGNoYXJnZWQgdG9cbiAgLy8gYXQgdXBsb2FkOyBOVUxMIHdoZW4gbm8gc2xvdCB3YXMgY2hhcmdlZCAoc3lzdGVtIGNhdGFsb2cgbG9hZHMpIG9yIGl0IHdhc1xuICAvLyBhbHJlYWR5IHJlZnVuZGVkLiBBIGRlbGV0ZS9wdXJnZSByZWZ1bmRzIENPTkRJVElPTkFMTFkgb24gaXQgKHRoZSBxdW90YVxuICAvLyBzZXJ2aWNlIGlnbm9yZXMgdGhlIHJlZnVuZCBvbmNlIHRoYXQgcGVyaW9kIGhhcyByb2xsZWQgb3ZlciksIHRoZW4gY2xlYXJzIGl0LlxuICBxdW90YVJlc2V0QXQ6IHRpbWVzdGFtcCgncXVvdGFfcmVzZXRfYXQnLCB7IHdpdGhUaW1lem9uZTogdHJ1ZSB9KSxcbn0sICh0YWJsZSkgPT4gKHtcbiAgLy8gUGFydGlhbCBpbmRleCBvdmVyIGp1c3QgdGhlIHRvbWJzdG9uZXMg4oCUIGRyaXZlcyB0aGUgcmV0ZW50aW9uIHB1cmdlIHN3ZWVwLlxuICBwdXJnZUlkeDogaW5kZXgoJ3BsdWdpbl9wdXJnZV9pZHgnKS5vbih0YWJsZS5wdXJnZUFmdGVyKS53aGVyZShzcWxgZGVsZXRlZF9hdCBJUyBOT1QgTlVMTGApLFxuICAvLyBNaXJyb3JzIHRoZSBpbmRleGVzIHBvc3RncmVzLWluaXQuc3FsIGNyZWF0ZXMsIG5hbWUgZm9yIG5hbWUgKHRoZSBTUUwgZmlsZSBpc1xuICAvLyB3aGF0IGRlcGxveXM7IHNjaGVtYS1yZWZsZWN0aW9uLnRlc3QudHMga2VlcHMgdGhlIHR3byBpbiBsb2NrLXN0ZXApLlxuICBvcmdJZElkeDogaW5kZXgoJ2lkeF9wbHVnaW5zX29yZ19pZCcpLm9uKHRhYmxlLm9yZ0lkKS53aGVyZShzcWxgZGVsZXRlZF9hdCBJUyBOVUxMYCksXG4gIG5hbWVJZHg6IGluZGV4KCdpZHhfcGx1Z2luc19uYW1lJykub24odGFibGUubmFtZSkud2hlcmUoc3FsYGRlbGV0ZWRfYXQgSVMgTlVMTGApLFxuICBuYW1lVmVyc2lvbklkeDogaW5kZXgoJ2lkeF9wbHVnaW5zX25hbWVfdmVyc2lvbicpLm9uKHRhYmxlLm5hbWUsIHRhYmxlLnZlcnNpb24pLndoZXJlKHNxbGBkZWxldGVkX2F0IElTIE5VTExgKSxcbiAgdmlzaWJpbGl0eUlkeDogaW5kZXgoJ2lkeF9wbHVnaW5zX3Zpc2liaWxpdHknKS5vbih0YWJsZS52aXNpYmlsaXR5KS53aGVyZShzcWxgZGVsZXRlZF9hdCBJUyBOVUxMYCksXG4gIGlzRGVmYXVsdElkeDogaW5kZXgoJ2lkeF9wbHVnaW5zX2lzX2RlZmF1bHQnKS5vbih0YWJsZS5uYW1lLCB0YWJsZS5pc0RlZmF1bHQpLndoZXJlKHNxbGBpc19kZWZhdWx0ID0gdHJ1ZSBBTkQgZGVsZXRlZF9hdCBJUyBOVUxMYCksXG4gIGNhdGVnb3J5SWR4OiBpbmRleCgnaWR4X3BsdWdpbnNfY2F0ZWdvcnknKS5vbih0YWJsZS5jYXRlZ29yeSksXG4gIGFjdGl2ZUlkeDogaW5kZXgoJ2lkeF9wbHVnaW5zX2lzX2FjdGl2ZScpLm9uKHRhYmxlLmlzQWN0aXZlKS53aGVyZShzcWxgZGVsZXRlZF9hdCBJUyBOVUxMYCksXG4gIG9yZ0NyZWF0ZWRJZHg6IGluZGV4KCdpZHhfcGx1Z2luc19vcmdfY3JlYXRlZCcpLm9uKHRhYmxlLm9yZ0lkLCBzcWxgJHt0YWJsZS5jcmVhdGVkQXR9IERFU0NgKS53aGVyZShzcWxgZGVsZXRlZF9hdCBJUyBOVUxMYCksXG4gIG9yZ05hbWVJZHg6IGluZGV4KCdpZHhfcGx1Z2luc19vcmdfbmFtZScpLm9uKHRhYmxlLm9yZ0lkLCB0YWJsZS5uYW1lKS53aGVyZShzcWxgZGVsZXRlZF9hdCBJUyBOVUxMYCksXG5cbiAgLy8gRGV2ZWxvcGVyLXBvcnRhbCBjYXRhbG9nIGluZGV4ZXM6IFwibXkgc2VydmljZXNcIiAob3duZXIpICsgbGlmZWN5Y2xlIGZpbHRlci5cbiAgb3duZXJJZHg6IGluZGV4KCdwbHVnaW5fb3duZXJfaWR4Jykub24odGFibGUub3JnSWQsIHRhYmxlLm93bmVySWQpLFxuICBsaWZlY3ljbGVJZHg6IGluZGV4KCdwbHVnaW5fbGlmZWN5Y2xlX2lkeCcpLm9uKHRhYmxlLm9yZ0lkLCB0YWJsZS5saWZlY3ljbGUpLFxuXG4gIC8vIENvbXBvc2l0ZSBpbmRleCBmb3IgZmlsdGVyZWQgcXVlcmllcyAob3JnSWQgKyB2aXNpYmlsaXR5ICsgaXNBY3RpdmUpXG4gIG9yZ1Zpc2liaWxpdHlBY3RpdmVJZHg6IGluZGV4KCdwbHVnaW5fb3JnX3Zpc2liaWxpdHlfYWN0aXZlX2lkeCcpLm9uKHRhYmxlLm9yZ0lkLCB0YWJsZS52aXNpYmlsaXR5LCB0YWJsZS5pc0FjdGl2ZSksXG4gIC8vIERyaXZlcyB0aGUgXCJteSBwcml2YXRlIGRyYWZ0c1wiIGxlZyBvZiB0aGUgdmlzaWJpbGl0eSBwcmVkaWNhdGUuXG4gIGNyZWF0ZWRCeUlkeDogaW5kZXgoJ3BsdWdpbl9jcmVhdGVkX2J5X2lkeCcpLm9uKHRhYmxlLm9yZ0lkLCB0YWJsZS5jcmVhdGVkQnkpLFxuXG4gIC8vIFVuaXF1ZSBjb25zdHJhaW50IG9uIG5hbWUgKyB2ZXJzaW9uICsgb3JnSWRcbiAgbmFtZVZlcnNpb25PcmdVbmlxdWU6IHVuaXF1ZUluZGV4KCdwbHVnaW5fbmFtZV92ZXJzaW9uX29yZ191bmlxdWUnKVxuICAgIC5vbih0YWJsZS5uYW1lLCB0YWJsZS52ZXJzaW9uLCB0YWJsZS5vcmdJZCksXG5cbiAgLy8gQ2hlY2sgY29uc3RyYWludHNcbiAgdmVyc2lvbkNoZWNrOiBjaGVjayggJ3BsdWdpbl92ZXJzaW9uX2NoZWNrJyxcbiAgICBzcWxgJHt0YWJsZS52ZXJzaW9ufSB+ICdeWzAtOV0rXFwuWzAtOV0rXFwuWzAtOV0rKC1bYS16QS1aMC05Li1dKyk/KFxcK1thLXpBLVowLTkuLV0rKT8kJ2AsXG4gICksXG4gIGltYWdlRGlnZXN0Q2hlY2s6IGNoZWNrKCdwbHVnaW5faW1hZ2VfZGlnZXN0X2NoZWNrJyxcbiAgICBzcWxgJHt0YWJsZS5pbWFnZURpZ2VzdH0gSVMgTlVMTCBPUiAke3RhYmxlLmltYWdlRGlnZXN0fSB+ICdec2hhMjU2OlswLTlhLWZdezY0fSQnYCxcbiAgKSxcbiAgaW1hZ2VTb3VyY2VDaGVjazogY2hlY2soJ3BsdWdpbl9pbWFnZV9zb3VyY2VfY2hlY2snLFxuICAgIHNxbGAke3RhYmxlLmltYWdlU291cmNlfSBJUyBOVUxMIE9SICR7dGFibGUuaW1hZ2VTb3VyY2V9IElOICgnYnVpbHQnLCAndXBsb2FkZWQnKWAsXG4gICksXG59KSk7XG5cbi8qKlxuICogVHlwZVNjcmlwdCB0eXBlcyByZXByZXNlbnRpbmcgZGF0YWJhc2Ugcm93c1xuICovXG5leHBvcnQgdHlwZSBQbHVnaW4gPSB0eXBlb2YgcGx1Z2luLiRpbmZlclNlbGVjdDtcbmV4cG9ydCB0eXBlIFBsdWdpbkluc2VydCA9IHR5cGVvZiBwbHVnaW4uJGluZmVySW5zZXJ0O1xuXG4vKipcbiAqIEhlbHBlciB0eXBlcyBmb3Igd29ya2luZyB3aXRoIHBhcnRpYWwgdXBkYXRlc1xuICovXG5leHBvcnQgdHlwZSBQbHVnaW5VcGRhdGUgPSBQYXJ0aWFsPE9taXQ8UGx1Z2luSW5zZXJ0LCAnaWQnIHwgJ2NyZWF0ZWRBdCcgfCAnY3JlYXRlZEJ5Jz4+O1xuIl19
|
package/lib/testing/exports.json
CHANGED
package/package.json
CHANGED
|
@@ -7,26 +7,26 @@
|
|
|
7
7
|
},
|
|
8
8
|
"devDependencies": {
|
|
9
9
|
"@electric-sql/pglite": "0.5.8",
|
|
10
|
-
"@jest/globals": "30.
|
|
10
|
+
"@jest/globals": "30.5.2",
|
|
11
11
|
"@stylistic/eslint-plugin": "^2",
|
|
12
12
|
"@types/node": "^24",
|
|
13
|
-
"@types/pg": "8.
|
|
13
|
+
"@types/pg": "8.23.1",
|
|
14
14
|
"@typescript-eslint/eslint-plugin": "^8",
|
|
15
15
|
"@typescript-eslint/parser": "^8",
|
|
16
16
|
"@typescript/native": "npm:typescript@^7.0.2",
|
|
17
|
-
"drizzle-kit": "0.31.
|
|
17
|
+
"drizzle-kit": "0.31.11",
|
|
18
18
|
"eslint": "^9",
|
|
19
|
-
"eslint-import-resolver-typescript": "^4.4.
|
|
19
|
+
"eslint-import-resolver-typescript": "^4.4.5",
|
|
20
20
|
"eslint-plugin-import": "^2.32.0",
|
|
21
|
-
"jest": "30.
|
|
21
|
+
"jest": "30.5.2",
|
|
22
22
|
"jest-junit": "^17",
|
|
23
23
|
"ts-jest": "29.4.12",
|
|
24
24
|
"typescript": "npm:@typescript/typescript6@^6.0.2"
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"drizzle-orm": "0.45.
|
|
28
|
-
"pg": "8.
|
|
29
|
-
"@pipeline-builder/api-core": "4.1.
|
|
27
|
+
"drizzle-orm": "0.45.3",
|
|
28
|
+
"pg": "8.23.0",
|
|
29
|
+
"@pipeline-builder/api-core": "4.1.17"
|
|
30
30
|
},
|
|
31
31
|
"keywords": [
|
|
32
32
|
"ci-cd",
|
|
@@ -82,7 +82,7 @@
|
|
|
82
82
|
"access": "public",
|
|
83
83
|
"registry": "https://registry.npmjs.org/"
|
|
84
84
|
},
|
|
85
|
-
"version": "4.1.
|
|
85
|
+
"version": "4.1.19",
|
|
86
86
|
"bugs": {
|
|
87
87
|
"url": "https://github.com/mwashburn160/pipeline-builder/issues"
|
|
88
88
|
},
|