@gitpod/gitpod-protocol 0.1.5-sje-installer-namespace-docs.0 → 0.1.5-sje-installer-migration-cmd.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/data/gitpod-schema.json +17 -2
- package/lib/gitpod-service.d.ts +4 -3
- package/lib/gitpod-service.d.ts.map +1 -1
- package/lib/gitpod-service.js +4 -2
- package/lib/gitpod-service.js.map +1 -1
- package/lib/messaging/node/connection.d.ts +1 -7
- package/lib/messaging/node/connection.d.ts.map +1 -1
- package/lib/messaging/node/connection.js +20 -18
- package/lib/messaging/node/connection.js.map +1 -1
- package/lib/protocol.d.ts +4 -33
- package/lib/protocol.d.ts.map +1 -1
- package/lib/protocol.js.map +1 -1
- package/lib/util/generate-workspace-id.d.ts +1 -1
- package/lib/util/generate-workspace-id.d.ts.map +1 -1
- package/lib/util/generate-workspace-id.js +19 -2
- package/lib/util/generate-workspace-id.js.map +1 -1
- package/lib/util/generate-workspace-id.spec.js +24 -0
- package/lib/util/generate-workspace-id.spec.js.map +1 -1
- package/lib/util/gitpod-host-url.d.ts +0 -1
- package/lib/util/gitpod-host-url.d.ts.map +1 -1
- package/lib/util/gitpod-host-url.js +3 -6
- package/lib/util/gitpod-host-url.js.map +1 -1
- package/lib/util/parse-workspace-id.js +1 -1
- package/lib/util/parse-workspace-id.js.map +1 -1
- package/lib/util/tracing.d.ts +3 -2
- package/lib/util/tracing.d.ts.map +1 -1
- package/lib/util/tracing.js +36 -8
- package/lib/util/tracing.js.map +1 -1
- package/package.json +3 -2
- package/pkg-yarn.lock +1 -1
- package/provenance-bundle.jsonl +2 -0
- package/src/gitpod-service.ts +7 -6
- package/src/messaging/node/connection.ts +20 -23
- package/src/protocol.ts +6 -34
- package/src/util/generate-workspace-id.spec.ts +17 -0
- package/src/util/generate-workspace-id.ts +20 -2
- package/src/util/gitpod-host-url.ts +3 -7
- package/src/util/parse-workspace-id.ts +1 -1
- package/src/util/tracing.ts +38 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-workspace-id.spec.js","sourceRoot":"","sources":["../../src/util/generate-workspace-id.spec.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;AAEH,uDAA8C;AAC9C,6BAA4B;AAC5B,mEAA+E;AAC/E,uDAAkD;AAElD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;AAEnB,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAEb,uBAAuB;;YACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;gBAC1B,MAAM,EAAE,GAAG,MAAM,IAAA,2CAAmB,GAAE,CAAC;gBACvC,MAAM,CAAC,IAAI,+BAAa,EAAE,CAAC,mBAAmB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;aACtF;QACL,CAAC;KAAA;IAEY,eAAe;QACxB,MAAM,YAAY,GAAG,8BAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,MAAM,aAAa,GAAG,+BAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACrE,MAAM,WAAW,GAAG,GAAG,YAAY,IAAI,aAAa,WAAW,CAAC;QAChE,MAAM,CAAC,WAAW,CAAC,MAAM,IAAI,EAAE,EAAE,IAAI,WAAW,8BAA8B,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IACpH,CAAC;CAEJ,CAAA;
|
|
1
|
+
{"version":3,"file":"generate-workspace-id.spec.js","sourceRoot":"","sources":["../../src/util/generate-workspace-id.spec.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;AAEH,uDAA8C;AAC9C,6BAA4B;AAC5B,mEAA+E;AAC/E,uDAAkD;AAElD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;AAEnB,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAEb,uBAAuB;;YACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;gBAC1B,MAAM,EAAE,GAAG,MAAM,IAAA,2CAAmB,GAAE,CAAC;gBACvC,MAAM,CAAC,IAAI,+BAAa,EAAE,CAAC,mBAAmB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;aACtF;QACL,CAAC;KAAA;IAEY,eAAe;QACxB,MAAM,YAAY,GAAG,8BAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,MAAM,aAAa,GAAG,+BAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACrE,MAAM,WAAW,GAAG,GAAG,YAAY,IAAI,aAAa,WAAW,CAAC;QAChE,MAAM,CAAC,WAAW,CAAC,MAAM,IAAI,EAAE,EAAE,IAAI,WAAW,8BAA8B,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IACpH,CAAC;IAEkB,cAAc;;YAC7B,MAAM,IAAI,GAAG;gBACT,CAAC,KAAK,EAAC,KAAK,EAAC,UAAU,CAAC;gBACxB,CAAC,GAAG,EAAC,KAAK,EAAC,cAAc,CAAC;gBAC1B,CAAC,WAAW,EAAC,QAAQ,EAAC,kBAAkB,CAAC;gBACzC,CAAC,sDAAsD,EAAC,8CAA8C,EAAC,2BAA2B,CAAC;gBACnI,CAAC,cAAc,EAAE,2BAA2B,EAAE,2BAA2B,CAAC;gBAC1E,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC;aACnC,CAAA;YACD,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE;gBAClB,MAAM,EAAE,GAAG,MAAM,IAAA,2CAAmB,EAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjD,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,GAAG,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvC,MAAM,CAAC,IAAI,+BAAa,EAAE,CAAC,mBAAmB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACnF,MAAM,CAAC,EAAE,CAAC,MAAM,IAAI,EAAE,EAAE,IAAI,EAAE,8BAA8B,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;aACxF;QACL,CAAC;KAAA;CAEJ,CAAA;AA/BS;IAAL,uBAAI;;;;sEAKJ;AAEK;IAAL,uBAAI;;;;8DAKJ;AAEK;IAAL,uBAAI;;;;6DAeJ;AA/BQ,uBAAuB;IAAnC,wBAAK;GAAO,uBAAuB,CAiCnC;AACD,MAAM,CAAC,OAAO,GAAG,IAAI,uBAAuB,EAAE,CAAA"}
|
|
@@ -25,7 +25,6 @@ export declare class GitpodHostUrl {
|
|
|
25
25
|
asAccessControl(): GitpodHostUrl;
|
|
26
26
|
asSettings(): GitpodHostUrl;
|
|
27
27
|
asPreferences(): GitpodHostUrl;
|
|
28
|
-
asGraphQLApi(): GitpodHostUrl;
|
|
29
28
|
asStart(workspaceId?: string | undefined): GitpodHostUrl;
|
|
30
29
|
asWorkspaceAuth(instanceID: string, redirect?: boolean): GitpodHostUrl;
|
|
31
30
|
toString(): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitpod-host-url.d.ts","sourceRoot":"","sources":["../../src/util/gitpod-host-url.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,MAAM,WAAW,SAAS;IACtB,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;CAC3B;AACD,oBAAY,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;AAUjD,qBAAa,aAAa;IACtB,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;gBAEN,QAAQ,CAAC,EAAE,MAAM,GAAG,GAAG;IAanC,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM;IAInC,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAIvD,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa;IAI/C,sBAAsB,IAAI,aAAa;IASvC,mBAAmB,CAAC,mBAAmB,EAAE,MAAM,GAAG,aAAa;IAI/D,IAAI,CAAC,SAAS,EAAE,SAAS;IAUzB,OAAO,CAAC,SAAS,CAAC,EAAE,SAAS;IAK7B,WAAW,CAAC,UAAU,EAAE,MAAM;IAI9B,WAAW,IAAI,aAAa;IAI5B,WAAW,IAAI,aAAa;IAI5B,OAAO,IAAI,aAAa;IAIxB,qBAAqB,IAAI,aAAa;IAItC,eAAe,IAAI,aAAa;IAIhC,UAAU,IAAI,aAAa;IAI3B,aAAa,IAAI,aAAa;IAI9B,
|
|
1
|
+
{"version":3,"file":"gitpod-host-url.d.ts","sourceRoot":"","sources":["../../src/util/gitpod-host-url.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,MAAM,WAAW,SAAS;IACtB,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;CAC3B;AACD,oBAAY,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;AAUjD,qBAAa,aAAa;IACtB,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;gBAEN,QAAQ,CAAC,EAAE,MAAM,GAAG,GAAG;IAanC,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM;IAInC,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAIvD,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa;IAI/C,sBAAsB,IAAI,aAAa;IASvC,mBAAmB,CAAC,mBAAmB,EAAE,MAAM,GAAG,aAAa;IAI/D,IAAI,CAAC,SAAS,EAAE,SAAS;IAUzB,OAAO,CAAC,SAAS,CAAC,EAAE,SAAS;IAK7B,WAAW,CAAC,UAAU,EAAE,MAAM;IAI9B,WAAW,IAAI,aAAa;IAI5B,WAAW,IAAI,aAAa;IAI5B,OAAO,IAAI,aAAa;IAIxB,qBAAqB,IAAI,aAAa;IAItC,eAAe,IAAI,aAAa;IAIhC,UAAU,IAAI,aAAa;IAI3B,aAAa,IAAI,aAAa;IAI9B,OAAO,CAAC,WAAW,qBAAmB,GAAG,aAAa;IAOtD,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,aAAa;IAItE,QAAQ;IAIR,mBAAmB;IAQnB,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,CAiBpC;IAED,IAAI,SAAS,IAAI,OAAO,CAQvB;IAED,OAAO,CAAC,OAAO,EAAE,MAAM;IAIvB,WAAW,IAAI,aAAa;CAI/B"}
|
|
@@ -8,11 +8,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
8
8
|
exports.GitpodHostUrl = void 0;
|
|
9
9
|
const URL = require('url').URL || window.URL;
|
|
10
10
|
const logging_1 = require("./logging");
|
|
11
|
-
const
|
|
11
|
+
const baseWorkspaceIDRegex = "(([a-f][0-9a-f]{7}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})|([0-9a-z]{2,16}-[0-9a-z]{2,16}-[0-9a-z]{8,11}))";
|
|
12
12
|
// this pattern matches v4 UUIDs as well as the new generated workspace ids (e.g. pink-panda-ns35kd21)
|
|
13
|
-
const workspaceIDRegex = RegExp(`^${
|
|
13
|
+
const workspaceIDRegex = RegExp(`^${baseWorkspaceIDRegex}$`);
|
|
14
14
|
// this pattern matches URL prefixes of workspaces
|
|
15
|
-
const workspaceUrlPrefixRegex = RegExp(`^([0-9]{4,6}-)?${
|
|
15
|
+
const workspaceUrlPrefixRegex = RegExp(`^([0-9]{4,6}-)?${baseWorkspaceIDRegex}\\.`);
|
|
16
16
|
class GitpodHostUrl {
|
|
17
17
|
constructor(urlParam) {
|
|
18
18
|
if (urlParam === undefined || typeof urlParam === 'string') {
|
|
@@ -85,9 +85,6 @@ class GitpodHostUrl {
|
|
|
85
85
|
asPreferences() {
|
|
86
86
|
return this.with(url => ({ pathname: '/preferences' }));
|
|
87
87
|
}
|
|
88
|
-
asGraphQLApi() {
|
|
89
|
-
return this.with(url => ({ pathname: '/graphql/' }));
|
|
90
|
-
}
|
|
91
88
|
asStart(workspaceId = this.workspaceId) {
|
|
92
89
|
return this.withoutWorkspacePrefix().with({
|
|
93
90
|
pathname: '/start/',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitpod-host-url.js","sourceRoot":"","sources":["../../src/util/gitpod-host-url.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC;AAC7C,uCAAgC;AAOhC,MAAM,oBAAoB,GAAG,
|
|
1
|
+
{"version":3,"file":"gitpod-host-url.js","sourceRoot":"","sources":["../../src/util/gitpod-host-url.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
8
|
exports.matchesNewWorkspaceIdExactly = exports.matchesInstanceIdOrLegacyWorkspaceIdExactly = exports.parseWorkspaceIdFromHostname = void 0;
|
|
9
|
-
const REGEX_WORKSPACE_ID = /[0-9a-z]{2,16}-[0-9a-z]{2,16}-[0-9a-z]{8}/;
|
|
9
|
+
const REGEX_WORKSPACE_ID = /[0-9a-z]{2,16}-[0-9a-z]{2,16}-[0-9a-z]{8,11}/;
|
|
10
10
|
const REGEX_WORKSPACE_ID_EXACT = new RegExp(`^${REGEX_WORKSPACE_ID.source}$`);
|
|
11
11
|
// We need to parse the workspace id precisely here to get the case '<some-str>-<port>-<wsid>.ws.' right
|
|
12
12
|
const REGEX_WORKSPACE_ID_FROM_HOSTNAME = new RegExp(`(${REGEX_WORKSPACE_ID.source})\.ws`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-workspace-id.js","sourceRoot":"","sources":["../../src/util/parse-workspace-id.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,MAAM,kBAAkB,GAAG,
|
|
1
|
+
{"version":3,"file":"parse-workspace-id.js","sourceRoot":"","sources":["../../src/util/parse-workspace-id.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,MAAM,kBAAkB,GAAG,8CAA8C,CAAC;AAC1E,MAAM,wBAAwB,GAAG,IAAI,MAAM,CAAC,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC;AAC9E,wGAAwG;AACxG,MAAM,gCAAgC,GAAG,IAAI,MAAM,CAAC,IAAI,kBAAkB,CAAC,MAAM,OAAO,CAAC,CAAC;AAE1F,MAAM,yBAAyB,GAAG,8DAA8D,CAAC;AACjG,MAAM,+BAA+B,GAAG,IAAI,MAAM,CAAC,IAAI,yBAAyB,CAAC,MAAM,GAAG,CAAC,CAAC;AAC5F,MAAM,uCAAuC,GAAG,IAAI,MAAM,CAAC,IAAI,yBAAyB,CAAC,MAAM,OAAO,CAAC,CAAC;AAExG;;;;;;GAMG;AACI,MAAM,4BAA4B,GAAG,UAAS,QAAgB;IACjE,MAAM,KAAK,GAAG,gCAAgC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9D,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE;QAC5B,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;KACnB;SAAM;QACH,MAAM,WAAW,GAAG,uCAAuC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3E,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,IAAI,CAAC,EAAE;YACxC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC;SACzB;QACD,OAAO,SAAS,CAAC;KACpB;AACL,CAAC,CAAC;AAXW,QAAA,4BAA4B,gCAWvC;AAEF,sDAAsD;AACtD,MAAM,iBAAiB,GAAG,8DAA8D,CAAC;AACzF,MAAM,uBAAuB,GAAG,IAAI,MAAM,CAAC,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC;AAE5E;;;GAGG;AACI,MAAM,2CAA2C,GAAG,UAAS,OAAe;IAC/E,OAAO,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC;WACrC,+BAA+B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACzD,CAAC,CAAC;AAHW,QAAA,2CAA2C,+CAGtD;AAEF;;;GAGG;AACI,MAAM,4BAA4B,GAAG,UAAS,gBAAwB;IACzE,OAAO,wBAAwB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AAC3D,CAAC,CAAC;AAFW,QAAA,4BAA4B,gCAEvC"}
|
package/lib/util/tracing.d.ts
CHANGED
|
@@ -14,11 +14,12 @@ export declare type TraceContextWithSpan = TraceContext & {
|
|
|
14
14
|
span: opentracing.Span;
|
|
15
15
|
};
|
|
16
16
|
export declare namespace TraceContext {
|
|
17
|
-
function startSpan(operation: string, parentCtx?: TraceContext): opentracing.Span;
|
|
17
|
+
function startSpan(operation: string, parentCtx?: TraceContext, ...referencedSpans: (opentracing.Span | undefined)[]): opentracing.Span;
|
|
18
18
|
function childContext(operation: string, parentCtx: TraceContext): TraceContextWithSpan;
|
|
19
|
+
function withSpan(operation: string, callback: () => void, ctx?: TraceContext, ...referencedSpans: (opentracing.Span | undefined)[]): void;
|
|
19
20
|
function setError(ctx: TraceContext, err: Error): void;
|
|
20
21
|
function setJsonRPCMetadata(ctx: TraceContext, method?: string): void;
|
|
21
|
-
function setJsonRPCError(ctx: TraceContext, method: string, err: ResponseError<any
|
|
22
|
+
function setJsonRPCError(ctx: TraceContext, method: string, err: ResponseError<any>, withStatusCode?: boolean): void;
|
|
22
23
|
function addJsonRPCParameters(ctx: TraceContext, params: {
|
|
23
24
|
[key: string]: any;
|
|
24
25
|
}): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracing.d.ts","sourceRoot":"","sources":["../../src/util/tracing.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,WAAW,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGlE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAO,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C,MAAM,WAAW,YAAY;IACzB,IAAI,CAAC,EAAE,WAAW,CAAC,IAAI,CAAA;CAC1B;AACD,oBAAY,oBAAoB,GAAG,YAAY,GAAG;IAC9C,IAAI,EAAE,WAAW,CAAC,IAAI,CAAA;CACzB,CAAA;AAGD,yBAAiB,YAAY,CAAC;IAC1B,SAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,YAAY,GAAG,WAAW,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"tracing.d.ts","sourceRoot":"","sources":["../../src/util/tracing.ts"],"names":[],"mappings":"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"}
|
package/lib/util/tracing.js
CHANGED
|
@@ -19,12 +19,17 @@ const inversify_1 = require("inversify");
|
|
|
19
19
|
const logging_1 = require("./logging");
|
|
20
20
|
var TraceContext;
|
|
21
21
|
(function (TraceContext) {
|
|
22
|
-
function startSpan(operation, parentCtx) {
|
|
23
|
-
|
|
24
|
-
if (parentCtx) {
|
|
25
|
-
options =
|
|
26
|
-
|
|
27
|
-
|
|
22
|
+
function startSpan(operation, parentCtx, ...referencedSpans) {
|
|
23
|
+
const options = {};
|
|
24
|
+
if (parentCtx && parentCtx.span && !!parentCtx.span.context().toSpanId()) {
|
|
25
|
+
options.childOf = parentCtx.span;
|
|
26
|
+
}
|
|
27
|
+
if (referencedSpans) {
|
|
28
|
+
// note: allthough followsForm's type says it takes 'opentracing.Span | opentracing.SpanContext', it only works with SpanContext (typing mismatch)
|
|
29
|
+
// note2: we need to filter out debug spans (spanId === "")
|
|
30
|
+
options.references = referencedSpans.filter(s => s !== undefined)
|
|
31
|
+
.filter(s => !!s.context().toSpanId())
|
|
32
|
+
.map(s => (0, opentracing_1.followsFrom)(s.context()));
|
|
28
33
|
}
|
|
29
34
|
return opentracing.globalTracer().startSpan(operation, options);
|
|
30
35
|
}
|
|
@@ -34,6 +39,25 @@ var TraceContext;
|
|
|
34
39
|
return { span };
|
|
35
40
|
}
|
|
36
41
|
TraceContext.childContext = childContext;
|
|
42
|
+
function withSpan(operation, callback, ctx, ...referencedSpans) {
|
|
43
|
+
// if we don't have a parent span, don't create a trace here as those <trace-without-root-spans> are not useful.
|
|
44
|
+
if (!ctx || !ctx.span || !ctx.span.context()) {
|
|
45
|
+
callback();
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
const span = TraceContext.startSpan(operation, ctx, ...referencedSpans);
|
|
49
|
+
try {
|
|
50
|
+
callback();
|
|
51
|
+
}
|
|
52
|
+
catch (e) {
|
|
53
|
+
TraceContext.setError({ span }, e);
|
|
54
|
+
throw e;
|
|
55
|
+
}
|
|
56
|
+
finally {
|
|
57
|
+
span.finish();
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
TraceContext.withSpan = withSpan;
|
|
37
61
|
function setError(ctx, err) {
|
|
38
62
|
if (!ctx.span) {
|
|
39
63
|
return;
|
|
@@ -63,12 +87,12 @@ var TraceContext;
|
|
|
63
87
|
addNestedTags(ctx, tags);
|
|
64
88
|
}
|
|
65
89
|
TraceContext.setJsonRPCMetadata = setJsonRPCMetadata;
|
|
66
|
-
function setJsonRPCError(ctx, method, err) {
|
|
90
|
+
function setJsonRPCError(ctx, method, err, withStatusCode = false) {
|
|
67
91
|
if (!ctx.span) {
|
|
68
92
|
return;
|
|
69
93
|
}
|
|
70
94
|
// not use setError bc this is (most likely) a working operation
|
|
71
|
-
setJsonRPCMetadata(ctx);
|
|
95
|
+
setJsonRPCMetadata(ctx, method);
|
|
72
96
|
// https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/rpc.md#json-rpc
|
|
73
97
|
addNestedTags(ctx, {
|
|
74
98
|
rpc: {
|
|
@@ -78,6 +102,10 @@ var TraceContext;
|
|
|
78
102
|
},
|
|
79
103
|
},
|
|
80
104
|
});
|
|
105
|
+
// the field "status_code" is used by honeycomb to derive insights like success rate, etc. Defaults to "0".
|
|
106
|
+
if (withStatusCode) {
|
|
107
|
+
ctx.span.setTag("status_code", err.code);
|
|
108
|
+
}
|
|
81
109
|
}
|
|
82
110
|
TraceContext.setJsonRPCError = setJsonRPCError;
|
|
83
111
|
function addJsonRPCParameters(ctx, params) {
|
package/lib/util/tracing.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracing.js","sourceRoot":"","sources":["../../src/util/tracing.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;AAGH,2CAA2C;AAC3C,iDAAiE;AAEjE,
|
|
1
|
+
{"version":3,"file":"tracing.js","sourceRoot":"","sources":["../../src/util/tracing.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -47,7 +47,8 @@
|
|
|
47
47
|
"lib",
|
|
48
48
|
"data/*.json",
|
|
49
49
|
"src",
|
|
50
|
-
"pkg-yarn.lock"
|
|
50
|
+
"pkg-yarn.lock",
|
|
51
|
+
"provenance-bundle.jsonl"
|
|
51
52
|
],
|
|
52
53
|
"license": "UNLICENSED",
|
|
53
54
|
"main": "./lib/index.js",
|
|
@@ -60,5 +61,5 @@
|
|
|
60
61
|
"watch": "leeway exec --package .:lib --transitive-dependencies --filter-type yarn --components --parallel -- tsc -w --preserveWatchOutput"
|
|
61
62
|
},
|
|
62
63
|
"types": "./lib/index.d.ts",
|
|
63
|
-
"version": "0.1.5-sje-installer-
|
|
64
|
+
"version": "0.1.5-sje-installer-migration-cmd.0"
|
|
64
65
|
}
|
package/pkg-yarn.lock
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
"@gitpod/gitpod-protocol@0.1.5":
|
|
6
6
|
version "0.1.5"
|
|
7
|
-
resolved "file:///tmp/cache/
|
|
7
|
+
resolved "file:///tmp/cache/589f58d1ff2f1ad277a390a5438ca538209951ff.tar.gz"
|
|
8
8
|
dependencies:
|
|
9
9
|
"@types/react" "17.0.32"
|
|
10
10
|
ajv "^6.5.4"
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
{"payloadType":"application/vnd.in-toto+json","payload":"ewogICJfdHlwZSI6ICJodHRwczovL2luLXRvdG8uaW8vU3RhdGVtZW50L3YwLjEiLAogICJwcmVkaWNhdGVUeXBlIjogImh0dHBzOi8vc2xzYS5kZXYvcHJvdmVuYW5jZS92MC4xIiwKICAic3ViamVjdCI6IFsKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi93c3JlYWR5LmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImZlZDgzODkxN2UzZGE0MDY5ZGEwMjRkMmQ0ZjFhZDBmNDNhMDY5MDUzOGNjNjg4ODkxMjI1YWE5NjZhMDYwOTkiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZW1haWwtcHJvdG9jb2wuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZDNhMjFjNmQwYjM4NjZkNTBkNzE1NzU1YWYzMTkyYjViOTM5OThhYmM2NzdhNDE2N2RkYzNjZDRhMTdkMThkMyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvbm9kZS9jb25uZWN0aW9uLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI1Nzg1M2Q3YjdlNTFkNmEzNDYxNGMyZWFhNzQ5ZGVjMWE0MDJiNmRiODU4YzAzYTk3ZGE2ODJhYTI4NjEwYWJiIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2VuY3J5cHRpb24va2V5LXByb3ZpZGVyLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiY2FlZWFlZTg4Y2Q3YjE2Mjk3Nzk0OGM1NGNhNzNiOTMxY2RmODNmMDA5ZjFiN2UwZTNiNjYzYTYxMjAyY2FjOCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3F1ZXVlLnNwZWMuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjExNTViN2MxN2FkZjUyZGNkMWI5YmI3ZTYwMDNiOWVjZjIzOGE3OTNjMjgyYTFkYmM5OTEyMTQyZjUwNjEyMjEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9nZW5lcmF0ZS13b3Jrc3BhY2UtaWQuc3BlYy5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImJkZWE2N2FjZWNhMjc0ZWI0YTQ1ZjE0ODYyZmEzMzE3MTQyYTdmMzYxZWNlOWEwNTJmNGQ4OGY1NzY4NjMxYzUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9yZXBlYXQuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJhN2NhNjAzNGI5NTdmZTI4NWY3NmYxY2RjNDUyMDU5NDhkYmY5YTczMDExOGMzMjkyNjBmYWQzODQ5NTdmZTg2IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvamFlZ2VyLWNsaWVudC10eXBlcy5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJlZmEyMzIwYTQ1ZDA2ZDBlYjUwMzhlMzhkZmJjYjg5ZmI0MzBlMWUwNmNmNDFlN2QzMjdkNjU2M2YyZjJjNmM4IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2VuY3J5cHRpb24vZW5jcnlwdGlvbi1zZXJ2aWNlLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZjI1OTA4NDJkZDc2N2VmOTA5NTc2YmJhYjgxMTA1ZjUwNDU5NGI0NmVjYmE5MmQ2YmZmZGRhMGU2NmYwZTEwNyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvY29ubmVjdGlvbi1lcnJvci1oYW5kbGVyLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjA0YzRiNTI2ZWE2NWUwMGE1NjllMTU1ODdjNmRlY2IwYTdhY2NlNTE3MDYyNWQxYTlmNzkwOTBjYjUwM2QzOGEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC90aW1ldXRpbC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2NDk2YjA4NDhiYWJkNmFiNjllMGMwNjRkNDFmZjJlMGI1MzAwZGVjMjc1NWE2MDYxZTQ4NzhkZTBiOGFjNWVlIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvbG9nZ2luZy5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI3MTc4NWM0MTYwMzhjMmY3MmQxOTcxOTI5OTM5NDkxODJkZjY5ZGZjZGIyYjA2ZDY0MTg4YjcxYTg0NTNlZTA3IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL21lc3NhZ2luZy9jbGllbnQtY2FsbC1tZXRyaWNzLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMDY0OGU2MjUyMzgwMzRkYmJhMjQyZTliYjliYjliMDYyMzJkNzdjMzhhNTE3ZmJmZWI4NzczYzJkMGJmMjc3MyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9wbGFucy5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIwNmQ2NGVlZDcwZDM3Nzg5OGM4YmY4ZjQxZmQzOGFmODNjOTg3YzgwNDU5NjgyMDI4NTZhMjBjNDVlMTJjNWIwIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2dpdHBvZC1maWxlLXBhcnNlci5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjkzMTE5ODI0MDQ3ZmEzNjliMmI4Y2U2MGFiYjMxZjVkZjYxZDc4MDgxNDU4ODU1YmY0ODM4MzZhYjRkZmEwZDciCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvaW5kZXguZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI4MjUwODA5OGZkYmY5ZmU5NzRiZDE2ZjVlNGVlOWQxNDcxYjYwOGVjYzZjODM2MTQzN2I3NzViZGIwNzRjMDBhIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvcGFyc2Utd29ya3NwYWNlLWlkLnNwZWMuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiY2RhOTVhYjBkMmJmMjRkNzQ0NmZhNTM4YjExZDI5ZDQ5ZDA5NTkwOWMxOTgxZWYyNzhlYjZjNzNhNTE2OGNhNyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dhcmJhZ2UtY29sbGVjdGVkLWNhY2hlLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJiNDM0NGVlYTQ3NGZlOTc5OTg3YzliZmVmOTUxZmEzODhkYzUyZGRlNWUxNWVmY2NmYTIyMDZjMTc3M2YxMGQ2IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2VuY3J5cHRpb24vZW5jcnlwdGlvbi1lbmdpbmUuc3BlYy5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImZiNzBkYjg1OGRlNTc0NjMwZmI1NTgwMWUzNDAzMjE5NTEzYTMwOTRhM2VmMGNkOTMwODQ5MzgzMWNlMzRkNmYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbGljZW5zZS1wcm90b2NvbC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJmNGVhZjA5ZTI1Y2RiNDYwMzljZmQwNmY2Y2ExMWY5M2FmMDdjYmZmYjZjM2Y2ZmY5YTk1NDg5NjVhY2UwNDYyIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3dvcmtzcGFjZS1pbnN0YW5jZS5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI1MGE2NDNlMGIyMzY3YTQ5Y2E1NTQxMGI4ZDQzMTlhZTIxZTdmZGZmZmQ0ODk5NDliZmExMjllNjg2MGU2NmVlIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvc2FmZS1wcm9taXNlLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMGFlOWUxOGNhZDU0NjRkMjA5MTkyYzMyMGQ3ODBjN2MyOGZlYjc0MThjZjc5NzY5NzJkM2UyOGZmODM4ODJkZSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvY2xpZW50LWNhbGwtbWV0cmljcy5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2OGRlYmRkYzIyMWQ2M2EyMjkxMzMwMWMzNGQ1ODliNGRhMjU3MGIxNmE0YWUxOWYxMDNjZjg0MDRjNGNkNDZhIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvdHJhY2luZy5zcGVjLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNWQ0MGE1NGJhZDIzOGE2MjczOGFhMDRmZTQ4NjdjYzBjODEzZDljMWFhYjIwYTFlMjhhYTk4ZWI2YjA1MTEwZiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi93b3Jrc3BhY2UtY2x1c3Rlci5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI5NmQ1MWNiMWQ1MWRlODkzYWVkOTRkMTU2ODBjYzc5NThmNzYwODk4ZTUzZWE0ZTg2NjE4OTY5ZjlhZWUxM2MxIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2NvbnRleHQtdXJsLnNwZWMuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjhlNWU2MWE3MTNlYTBmODNkMzljZTZlODcxMjVlMzQ1Mzk5MDJiNDUxOTZlMzBmY2JhYWNjZDI1NTdlODVhZGUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvb3NzLWFsbG93bGlzdC5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOTEwMDJhZTM0ZGYyMTMxZjYwM2RlYzJmYzEzMzk2ODk3OTVhMTBiN2FhYTRlZjY3NGViMjhkZWU3ZTFiM2QxYiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9wYXltZW50LXByb3RvY29sLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI3NWNiZDgwMzZhMmE3YjZjNzdkZWM1OWMxOTc4ZmFhYTY5NTdjYjlmZTU4ZDU1YjQ5MDFiMzdlNmRlN2EzYjRmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL21lc3NhZ2luZy9oYW5kbGVyLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIxNDM3MzBkMTc3MGNiNjRjMzM2MzE0M2ZiODg2NzgzMmVlODg3YTQwMWI4ZmI1MDMwMzQ2MmM0OTE2Y2JlOTEyIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL29zcy1hbGxvd2xpc3QuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJiZDJjNzUxYWU3YTE4MWVhZjNmZGUzOWQ4M2I1ZDZlZjFhOTE1OWIyMDA0ZDA1MzM5ZDM3ZTU5MDdiMzYxNjFlIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2Vudi5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJkMWI1ZDU5YjRmN2FkZmU3ZjhjMTcxZDZhYTg3ZGVlMTBhMGM5ZWI1NjEzMjY0N2VlMzEzYmRmNTE5NjZlOTgzIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2VuY3J5cHRpb24vZW5jcnlwdGlvbi1lbmdpbmUuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMjQxY2ZhYTIwNjNlZTBjOWZmY2JkYWI3MDUzMmNmN2UzYzJkNmY0YTFlYzJiNjZhZDIwZjBkOTVlZTI0YTE5NCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3dvcmtzcGFjZS1wb3J0LWF1dGhlbnRpY2F0aW9uLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOGUyYzBkZmRlOTcwMmEyYjg1OTczODczZThjYjYwM2RhYzJiZDYwMjg3NTQ4MjYzYjBjMzM2Mjk2NmRkMDBjNCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9zbmFwc2hvdC11cmwuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYmE0NGEyNjVjZTYxZDZhOWQ4ODc3MzI3Y2YwMzE0MDExOTZlM2YyYTU3OTlmNTU1NjU3NjYwNmM4MGZkMmQ4YyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9hY2NvdW50aW5nLXByb3RvY29sLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjI4Yjg5ZTlkZmJhMGUzN2U0ZTg1MjM1NmEzYjhiMzcyOWFhZWYyZTliM2M1OTBhODIwMzFhZTE3N2E3ZmZlYmQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvYW5hbHl0aWNzLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjAyMDJlYjBhMzJjMDJlODhiM2NiOWUzYzI3NjA1NjQ4NDk5ZGNiODBkMTRjMDE1ZDQwZDQwMjQ3MTAxN2U0YTAiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9naXRwb2QtY29va2llLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjg1ODJjMTkxYzQzNjI0MDRlNzg3NTNmYTAxNTVhYWYzMjlhMzg2MmIwMzg4M2EwMjk0NzdiNGU2ZjYwOWRkMDUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvcGVybWlzc2lvbi5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMTE2MzJlYjAwMmQ5YjJiZmFlODRiMmY3MWNkYjA4OTA0Yzk0N2UyYmI1NDZiZDUwNjJlMWQ3OTM5YTI5MjU4NiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3RyYWNpbmcuc3BlYy5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJiYzQ0MGU0OTM2ZDFjYzM3Zjg1Y2E3ODNhMjQ2ZDc3YjY4OWM1NDA1ODJlYWI5MWQ3ZTQxNmQxYjQ3ZTk4ZjFhIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3NuYXBzaG90LXVybC5zcGVjLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImMyZjU2ZWUwYzc1MzljMzlmNjk3MWVlOWZhODFjMDQ1MGRmZjQ0YWEzZjAxZDY2NmM4YWQ2MjI5YmRmMzM0NjUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZW1haWwtcHJvdG9jb2wuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI3MjYyYzc0MjYyMThjOTY3MDlhMmNjNjY4ZjEyN2UzYzg0ODEwMTRlNTA1OWQwNWFlMjkwN2M1ZTYxYmE2NjQ4IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3R5cGluZ3MvZ2xvYmFscy5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjE4Njk3MWM0OGE2ZDE0NjNkOGM4NWFiMWQ4NzZmZDQzN2QwNzIxODg3NjgzMTY2NzU5NDVlOTkzMzY0N2VmZjAiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9wYXJzZS13b3Jrc3BhY2UtaWQuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNGJjMjVjYmQzMGI0MzJhYzk2MDJjYTA5M2E1YTM3NmU0YjA1Mjc2MTdjZmE1NTNhOGM1ZTUyOGZkM2ViYTZkNyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2FzeW5jLWl0ZXJhdG9yLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjI2OTNjYTEyMjI4Yzg2NTJhYjVlYzBiYTJlYzU3MzcxMmE1OTU2N2Y1NjkwNDlmZWZmY2I5NGI1YzJmYmI1NmIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZ2l0cG9kLWZpbGUtcGFyc2VyLnNwZWMuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNjQyYzJjYmQxY2MzYjBjNWZkMDBjODE4ODczMjFlYjc5M2U0YzE2YTYzMGU2OGMyMmRjZDBjMWY2ZDYzYmRhNyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvYnJvd3Nlci9jb25uZWN0aW9uLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImJkNTUxZGViODQyNGM0NWU5M2E5MWQ4YWVhZmIyNGY0NDY1ODcyM2NmOTYyZjgxNmI3ODgxYjhlZWIxNTZkNWUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9nZW5lcmF0ZS13b3Jrc3BhY2UtaWQuc3BlYy5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIwMDY3ZGM4MzBiMmE1ZGUwZDUyZTc0ZTMyMzgxMjdlNjc5YTkzNmUwYTc3MGFhY2JjZTY2MTYyYjIyMDAzMTRiIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvbG9nZ2luZy5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZTVjY2NiODgyN2Q3YTkwZDViY2NiZDkwNTYwODY5MmFhMDUzZjJjMDQzODZkZmNlNWRlZmQwYTNiYjE2MzdkNyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2NhbmNlbGFibGUuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZjNiYWNiNjgyYzkwY2Y4MGVlYTIyZWViODc0MjkwOTkxMDMzNTBjYjNlNmVlOWFkYzM5ZmMxMDU5ODUzOGE5YiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9pZGUtZnJvbnRlbmQtc2VydmljZS5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYWFhZDNmMThmYjA0OWY5YTUxM2MwYzg4MmRiNGEzYjFhOTQ4M2JlM2NlNmY0MjEzYzgwYjAxMWI1MWYyNmQzNSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dhcmJhZ2UtY29sbGVjdGVkLWNhY2hlLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOTk1OTBhYzM1YWQ0MTM5YjM0Yjk0ZjJlNTRhZjczODBjM2E4M2I0MTA5YTEzOTFkYzk5YjA4ZmZiY2Q1NTEwNiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvZXJyb3IuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMzIyMjI4OWQwOWJiMTQyYjdmYjQ5Njg3MDg4M2QwN2E3Zjk2NDFkMmZiYzE1OWU2ZGZjMDA4MWZkZTMyZjIxMSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3RyYWNpbmcuc3BlYy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI1YTRjN2UxODUxODllNDEwZWFmMDY4OWY5NmRhMTNiZTg5NjUwNWNjNjQxZmYyY2M4ODg0MDNlMDkzYzcxNjZjIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvc2tpcC1pZi5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMGNiZjYyMDIyYjY1NjE2YzVhMWVjMGQ1OWJlYzgxMTY4NWZlYWJlMjFiMDM4NGM4YjllYWY1ZTc0MWFiMjNmZSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3F1ZXVlLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZDliYWJjNWI0OTM2MDM5NzVkODhkYWZkZWM0ZWI5MTVmNTUxNGQ4ZjBhMjZiZjRkZjBiNjhiMDUwZTJiMzU2MyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dlbmVyYXRlLXdvcmtzcGFjZS1pZC5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI3ZjVmYzQyZmM5YmI1ZmFkMTgyOGM0MmU3YTdhN2QxZGFjMzQxY2ExOWY3MTAzODNmNmMxMmU2NDc2N2M1OWJkIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2xpY2Vuc2UtcHJvdG9jb2wuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjMwMjRiNGM1MTUyNTFlMmExOTc3ZDQ3ZTE5M2Q5ZDI0ZmFlNTAxZmUwNmJjZTFmOTljNTU3YzhkMWE0YzU1NzciCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvcGVybWlzc2lvbi5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI3MjBhOWRmNzZmZTA0ODQyYjE0ZDliN2I1ODNlYmQ3YzA0NGVkMDJmNzgzMWU1MTkwMjllNTU5OWM2YTMxY2EyIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3RlYW1zLXByb2plY3RzLXByb3RvY29sLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIxZWY2MDA5MjZlMWRiMzBmNDExYWY2MjZmNjRmMTc5M2I0YTZlNzk1ZTk1MWIxNmE2OGUwYzAwZDMzZmQwYzg4IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL29zcy1hbGxvd2xpc3QuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNjc3ZTkzZDNjZmU0MDM4MjRiZTkxYjU0YTEwMjEwZGYzZDYxOTVhZGM0MmZlMGQwY2VkNjlmZWE4NTYxOTFhZCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbmNyeXB0aW9uL2NvbnRhaW5lci1tb2R1bGUuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYzkyMzQyMDdjYzM4MzY1ZTdhYTU4ZjlmZjVkNzdkZTA4NjgzN2Y4ZDBkZmMzNDlkYTM2MDM4NjZiMWQ3M2UzOSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2RhdGUtdGltZS5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjZhNDJhZWI1NzNhMTZjNGFkZmUwMzNiY2E5MWU2YTJkMjJlNjUzNGNiYTBkOGUxYzFjNDc0ZmM4NjZiN2FjZDgiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC90aW1ldXRpbC5zcGVjLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjQwODE1YzhlYzE3NTBhODZkYWY5ZTA5NDNlZDNkMzMxYjA5MTI5YTFkMmU3ZmZmZjU5MmM5OTg1MjI4YjY1ZDYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZW5jcnlwdGlvbi9rZXktcHJvdmlkZXIuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjg3N2U3YjZjYjNiZWVhMDFhZTRkMzc1YWQ0OTNhZjY3YTQxYjMzMzg3MjcwZjk1NDFkM2M4NTNmMjJmNjY3ZTAiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9kaXNwb3NhYmxlLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImQyZTk0MDRjMjBiYWI0YTgxZWU4MzRlMDhhOGU0ODc1ZmIzMWMwZDYxYWYxOTk1MWQ1ODQ4YWNhOGVjODk1Y2UiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9xdWV1ZS5zcGVjLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZjRiYWQyNDg2OTUzZWRhMWQ1NmI1YTZjZWM5ZGExZTMyYmVhYzU0YTA0ZTFhMGMzNDM0MTYxYzRhNzYwMDU5NCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dhcmJhZ2UtY29sbGVjdGVkLWNhY2hlLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjUwZGRmMWIzYzUyYzNmN2VjY2ZkYjI2ZGVkYzgxOTBkOTAxMmFkODgyYmM5MzNiOGNlNWNmNmMzNjI5YTA0MWEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9zZW1hcGhvcmUuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNjY0ZTc4NDQ2M2EwZWYwMWQxYjliYzE5MWI3Y2UyMTEzYzEzZjkyZTgyYmEwMTQzZTJhYjJjMDU0MWJhZjI1YSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9pZGUtcHJvdG9jb2wuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOTc3N2ZiZWY4Nzc0MjA2ZTc1MzM2ZjFmOGY2ZmY5ZmRmMjkxYjUzMTEwNTVlYjUyNmFhZmFjMmI1Y2VlMjNhZCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dlbmVyYXRlLXdvcmtzcGFjZS1pZC5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMjI4MjQ5MmZlMTFiNzVmMzU2OWY5ZGQ5MzI3MWYzNDA2OTM1OTFlNDNmMGU4NzA2OWZhYzM4NWZiY2IwZWUzMSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3NhZmUtcHJvbWlzZS5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIwNjM4NDIyMGUzODI0OWQzNGM5ZTA5YzY5MWRjZTM4MWU2Mjg2Mzg4NzdiYmVkODU3MDhhNzYwNGYxZjlhMWE4IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3NuYXBzaG90LXVybC5zcGVjLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjhiYzg0ZjUxNTEzYjQ1MTE3NTllMjc4NDU2MzQwMWNjYzk3NjI5NWU5NzU0YzhjZjUwNGRjODUwODcyMDYxYjIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdHlwaW5ncy9nbG9iYWxzLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjRjNzJlMzcyM2RiZDlkZjUyY2ZmZTY4Y2NiOGU5N2QzNjllZjdkYjFhMjNiNWU1ZTE2Y2Q5YzViNzA0MzM4ZjgiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvcGF5bWVudC1wcm90b2NvbC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI4NTRlYjNlYzU1YmM4ZDc5ZThjNmU5MzNhYzQ0MTU3YmRiZWQzOGI2NmFkNzNiM2E0ZmRjYTRhYjQ2OTJlY2EwIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2VuY3J5cHRpb24vZW5jcnlwdGlvbi1lbmdpbmUuc3BlYy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIxZDkwMWIzYmUwZDA4ZGM5M2IyYTliYzdjYmFjOWZmYzRjNzMzNGFjM2YzYmZkNDYyNDc0MzZhNzI4YmQ2N2M1IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2lkZS1mcm9udGVuZC1zZXJ2aWNlLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjI3MDliMmNkNDA3ZDczNDA0ZTViYjc1N2YzNGE1MjExZTkzOTg3OGI0NGRhMmRmOTQyMmZlYWE4NjVhZWFiNTgiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdGVhbS1zdWJzY3JpcHRpb24tcHJvdG9jb2wuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjU1N2FhYTNjYTJiNzQ4NGMxYjVlYjJkZDFlMWZlZGUyMGU1MjRjNzA2Y2UxMTZlYmZiNDRjNGE3NDgzMjU4YjUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZ2l0cG9kLWZpbGUtcGFyc2VyLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjlhZGMwYmI3MTYwMWU4MWU0YmYzZGRjYWI3NGMzYTA4YzQ3ZDQ0ZTIyOTI1YzljOTFlMGVhYjhlOTdiMWNhYmMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvcGxhbnMuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJkYWIyYmJlNWI1MjE4ZDI2MGI4MWRkOWI1NDk3MGZiMGM5NTlkYjIwNjMxZjhiZTg5ZjU5MDIxYTg0MDJhNTM2IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL21lc3NhZ2luZy9lcnJvci5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIzNDVkMGU3OTg0N2IwNTEzM2YyYzY3ODRkODFiNGY4NWFhNmM0N2EyZjk1YWE0ODdkZmU4N2VjY2ZhNjJiNjI0IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL21lc3NhZ2luZy9oYW5kbGVyLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNmE3NGE4ODFhOTliNjI3MTlhOWRhMWMxYjNiMjZlZWUyM2U0OWU2MmE3ZTg3YzY3NTU5MGRhMDM5NTZlMDkzYiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi93b3Jrc3BhY2UtY2x1c3Rlci5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiY2I2Zjk2YTZmNDEwZjM1NDEyMDQzMTA4ZTVlNmQ2NGQ4Yjk5MjViNWU3NmEyODI0OWQwMDlkZDZjMjBlZTM3OCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3BhcnNlLXdvcmtzcGFjZS1pZC5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZTUyMzU3NmM5NDU5Y2Y4NWQ2NmE3ZWE2YzYyODM3NmQ3NjBiYjI4NWFhMTY3NjE0Zjg4ZWY0YTFhOGE4YzNiMiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvaGFuZGxlci5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI4OWEwNjZlNzlkNGVmOGZhZDQ3ZWI2OWVmOTExZWY5MDAzOWM3MmVkMTY4ODhjOGQ0MWMwNGZhMjZhMWRiNjk1IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL21lc3NhZ2luZy9icm93c2VyL3dpbmRvdy1jb25uZWN0aW9uLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjIwOTU3NzJiNWNjOGVlZmU1YzQzYTlhZDZhNTQ5NmMxZWMyYTExNzVjMmJmOGQ2Mzg1MzZkOTNhNGRiMjU2MDgiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZW5jcnlwdGlvbi9lbmNyeXB0aW9uLWVuZ2luZS5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOTFhM2FhMjk4YzI3NjY0OGM3YWMyNGE4NDExNWJmNWM4ZDczNzVmMWJmYzM1NzI4MmYxY2I0MzhjNTg5ODQ4MCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvY29ubmVjdGlvbi1lcnJvci1oYW5kbGVyLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMzIzNThjZDY4ZDgxMzU2NzM5NDhlMTFlNjc4NGQ5NDk5MDQ3ZmIzZTMyNzAzYmIxMmFkZjc3ODA0YmRlOWY3YSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2xvZ2dpbmcuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJiYTlmZGQ2ODEyY2Y0NDUxNDkyYmM0MmQzMjAzY2YxYTIzNGJlZjVhNTY3NjJkZGQzMzA3MWU5ZjYwYzlhMDdhIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ2l0cG9kLWhvc3QtdXJsLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJmY2FhZjBmNGZlMDk5Nzk4MWNjZjQzMDM5Y2YwZTVhN2EzOTU1MzFjNDA5MTY3OWRiYmRmNWZiNTNhZTg0ZWEzIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3NuYXBzaG90LXVybC5zcGVjLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI1YzY5ZDM5YmUxMTMwOTQyOWExNmIzMWMxNjBkM2M0MDMwMmY3MTNjNjAzNGFlMTI2YWFjMmJlNDVkMzhkY2JmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3dvcmtzcGFjZS1pbnN0YW5jZS5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZTY2NTQ3ZWQ2YTk5NjM1MGQ5NmRmNWRiZjA3MTMyN2ViM2M5MDUyMmI4NzU5Njg3OWMxNTdmNzA5ZDE3NjEyMSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9hdXRoLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIyODg5MjExNmMyMjYyMDYyYjllOWMzMjQwMGQ3YzhhYWViNzZkNjI3ZTg3OTQ5Zjg1NTRhZjhlZjBmN2ZlY2RjIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3Byb3RvY29sLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJlY2Y4YzM1ODhlOGI2YWZkZmFiYjU5ODRiYWViNDNiOGMzYjAzMTY2NDU3YzE0OWZmN2QzYzhkZjg3OWZjNmUwIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvYW5hbHl0aWNzLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjhiMDY2MzBiMTU1YjllN2U1MDZhMWY0ZTk1YjMzNTE2MjkwOTU2MDRmNWRlNmYzY2FmNzc2MTI3YjZjMDRiNGMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvcGxhbnMuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNjAwNTRjOWFhOTRkOWIzNjZmNjFmZWZjMGM5OGNlNDE0NTI3NzI4ZmUwNDJjZjM1OGRlNzAxMzc1MzU2ZTI0NyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3F1ZXVlLnNwZWMuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMWIxOWJhNWY2ZDk5M2ZjY2Q0N2VjNmE2Nzg4MDU1MzM2YTQyZTY5MjJmYTRjYmU4OWMyYjQ3NjVmMzIyMWIwYiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbmNyeXB0aW9uL2NvbnRhaW5lci1tb2R1bGUuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImUyZTJjYzE4NWQ4NGQyZThiMjk4M2M0YjZhZTk4MTRiM2JhMjE0OGUwNDJlMDk1ZDZlMzZmMjQyZGFlMWY3N2YiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvaGVhZGxlc3Mtd29ya3NwYWNlLWxvZy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI3Y2JhYzk2MTNlZDQwMDIzMWExNmNjYmU5ZDg5MWUyZDZhYmU4Mjc0Yjc3MGI1YjZkMjBhMzQ2MDA2NGM1OTk2IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2VuY3J5cHRpb24vY29udGFpbmVyLW1vZHVsZS5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjM4YTY5N2I0ZGJkYjVmMWFhODU4OTZjMTU3ZDI0Y2UwZDVkMTE1Yzc0ZjRhZDhhZjcxMjhkNDNiMGQ1NmE1NzgiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9wYXJzZS13b3Jrc3BhY2UtaWQuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIxMjY1ZjY4MzMzZWI0Mjg3MmYyYTI0NjRlMDE2NGRlNWJmOGZmYzQ0NjFkYTNlYzFhMTlkYTQ1NDllNDcyMjZhIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ2l0cG9kLWhvc3QtdXJsLnNwZWMuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZGU2NTIwOGZlN2QwZDMwM2QyMmZmMjc2ODNiYzY0NGEwYTRmOTUwYTMwZGY3NDk4N2NjNWQyZjY0YzNkOTBlYSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbmNyeXB0aW9uL2VuY3J5cHRpb24tc2VydmljZS5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI3MjkwNTYyMWE0Y2U1NmRmYTFkNWRlMWY2ODU0MTA5Y2M0YjkwNWUxYTRjZGUyYzA1MzNhNjI1YjlmNjQ0NzEyIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3RoZWlhLXBsdWdpbnMuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMjEwMWFkYWJiMjI1NGY1MTY4MmNiM2RhMDNmOWI0YTY0YzVhM2U2ODIwYjMzMDdkODg3M2RjMTZkMTBkMTQ2YyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi93b3Jrc3BhY2UtaW5zdGFuY2UuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNWYxMTc5NzcwNDg1NzY3YjRkZDhmMmY1YjFjYzIyZDlhYjZhZTMzOTBlNzBiMmM4NzJhN2I2MWZlYjc1OWI3NSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL21ha2UtbGluay5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIxOTk5OWY0ZTZmYWYwYWY3YzM0ZmU0OWFkNDQ0NDJlOTA5ZjYxNWMyZGExNWZhOTUwZGYxZDUzZmEzYzZiMDI3IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvc2FmZS1wcm9taXNlLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJkMDU4OTU2OWMyMTJlZTEzM2MxZGZiYmQ0NjY0ZGRiMmI2MWFjNzgzMzI0ZTk3YzllMGNmOTM2YjViNWE4YTM3IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2NvbnRleHQtdXJsLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjllNjk0ZDEzNjJlNGE3ZWVlZTZiNmQzNWRmODY0N2Q3MTk5ODMyYTkwOWNmNjc1MjdjZjQ1Yjg5ZDcwY2Y4MWEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvd3NyZWFkeS5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjgwZGVmNDAwM2VjMDNkOWM0M2QzZmFkNGFlZmJhZjkxODIzZDVlYzAwZTZmM2I5NDJjNjJlOGE3NmE0MTk0YTIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9zZW1hcGhvcmUuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiM2IxZDlhNTZiZTlhYzNlMzY2YjdjZTJlZWNlZDQzYzkwMzZkM2RjOGI5ZWEyMTIxZDc2ODJiMTMxZjI1M2JiNSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3F1ZXVlLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIyMTMwMzllNWZlYTE5MDI5MTA2MDVhMzZjYjJmNWQzYWYwNGUwZTdlNTAzMzY5MmUzZDFkOWVmYTU3MzVlY2YzIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZXZlbnQuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYTdhMjczMWQzNWJjNjNiYzlkMzNlODdmY2NhMzU3ZjY3M2RjYzMwYTAwMWNjNDUxZGQ4YTBkMDdhNmU5MTk5YyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dpdHBvZC1ob3N0LXVybC5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImRlMmVhMDk4OGJkMDk2ZTY4ZGI0YTNkZmYyZjA2YzM5ZWQ1OTZhMzJlMTAzYWNhYjc0Y2Q2MWE0M2E5ZjAzMzgiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC90cmFjaW5nLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI5NmRhMDQ0ZjUzMjAzM2VlYTA1ODI4ZDZkOGZiYjg3MDE5OGYzZjExZjliNDQ0NDk0MmE0MmMxNWVkYjM4ZjBkIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvdGltZXV0aWwuc3BlYy5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJhMDk5Nzk2OWFhYTQ3NTA2Mjg1YzE4MmRmYzU4OTgwOWRlYmVjNzUxZWE1Mjc2MzM1NjZhYmZmZmI3ZWJlNDMwIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2dpdHBvZC1zZXJ2aWNlLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjFjMTgyZDgxM2Y5MDFiNmIwZTg4YzUwZjNjNDcxNmNlY2Q0YzVkZGM4ZjhmMDc1ZDQ5YzE5MzJhMDc2Mzk5MzQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9zZW1hcGhvcmUuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjllYjk5ZWNiYTUxYmY2MjgzZGU0ZjRhODkwNDBkMTZkM2YwZjJmOWIyZjI3OTNjZGQxN2FmZGJjN2U1MDljOTQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9nZW5lcmF0ZS13b3Jrc3BhY2UtaWQuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMDI0ZTQyNDhjYTQwYzRiZWFjYTJkOWIxNWUzYzc3NjkyZjlkMThkYTI5ZTcyZDZjNDM5NzBmZTMxYjEwOTNiNSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3BhcnNlLXdvcmtzcGFjZS1pZC5zcGVjLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJlYmNiNWEyMTVjN2NlMTczOTA0OWJhNGU3MTRmNTdhZjk3ODM5ZGQ5NTlkNDI3ZjU3Y2I0Zjk3MDBjOThjYmRiIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2VuY3J5cHRpb24vZW5jcnlwdGlvbi1lbmdpbmUuc3BlYy5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYjcxM2MwMzQyZTZmYWI4ZTIzZmE1MjAwMWI2YTQ1N2VjYzM3N2YxZTJmM2EyM2I2MDk0N2Y0YmNlNTBhYmYyZiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2phZWdlci1jbGllbnQtdHlwZXMuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI5MDFmYmY4MjdkMGIwZTgzNmI3NmVmYzc5M2FlNDU4MzlmZGIxZThhNjUyNmEzZjI3MDE2ZDU3NWU0ZjM4N2U1IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3R5cGluZ3MvZ2xvYmFscy5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJmMjdhZjFmMzU1NmRiYWQ3MzU4ZWQyNWNkY2FlNjVmMTJiNTM5OGM2M2I1YWY5YjMzOWI0NGFmNzhkM2FlZjIxIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2NvbnRleHQtdXJsLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI0MzQyMzQ0NWFmYjdmZGQ4YzM2MWE0YjU0NWI4MzhhN2JjYTU0ODgzN2E4MDM4ZWQ1N2ExZTg4YzM3YWFiYWY1IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvc2tpcC1pZi5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIwYjdhZjkzMDNlMjRjMzI1ZmM5OTZmODM1ZWVmZDczNjE5ODg3ZDlhZjllZjdjMTYyYzRmYjk3OTFlMDNmMzE2IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL21lc3NhZ2luZy9oYW5kbGVyLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjQ5MjFmODliNzRjNjJmY2JlMWM3ZGYwMDhhOTI4YmUzZmJlOWJmYjM4OWMwOWUzZDU0Njg4MjI4MTg1MTRkNjIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdGVhbS1zdWJzY3JpcHRpb24tcHJvdG9jb2wuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMTNiYjFlNTUwYmQwYTNlOWY4MzEzMDRkNzQwY2ZlYTdjY2RkNzBlZDRhMDNmMDBhMGMwMTljNjMyMjBjMjRhMiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9naXRwb2Qtc2VydmljZS5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMTM5Y2E0MzM3ZGE0ZmQ3ZTI0YzYxMTc2MTZhYTEzMTMyMGUzMDI4YjNlNWYxOWRkNjkzNTE1ZGE1NmQ0OTI3OCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2RlZXAtcGFydGlhbC5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjk2NGEyOTMxYzE3OTNkZGVhNWE4NmYyNTc2Y2ZiZTQzYjMyYWUwMjBmNmRhOTU4YWU0ZjY5MDVmOWY1MWYyMTAiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvaWRlLXByb3RvY29sLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZTRjODE0OWYxYTg0NzNkNTM1MTFiZGQ1ZTE2ODBiOTkwYjk0MWFmMmIyNzRhYzcxMTg3NDM0YTI5ODVkNmYyMSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2RhdGUtdGltZS5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIxNTQ0YzQ2NmRiOTU5ZTcxOTk0Y2M2NTE2NjZhYzFmMTViZjBlNzE1NmRhMDEzNzM1MWZkOTBlOTk0MmYwMzFkIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL29zcy1hbGxvd2xpc3QuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNzIyZjMzYTc0Nzc1NDAxODVhNjFlYWU2ODdmMjlmMWQzY2FhY2ZhNDQyYzhhNGRkMTNiNmVmNzQ1ZTBmZjhhYSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9hY2NvdW50aW5nLXByb3RvY29sLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMTUzMmIzZmRlNWE4Yzk3NDA1ZDA3OWY4NmFhM2JhZTFlYWVmZGJjNGM3ZmIwZGNhZWNjMmU1NWNhOTdlMDM5MSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9naXRwb2Qtc2VydmljZS5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI1NmI4M2U1MTc3MTk0YjYyYTQ2NDEzNzNkNzJmMzAyMDgxYzg4OTUzNzFjYjkwMTE1MzcyNWZkOGM3OTFmY2MwIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3RoZWlhLXBsdWdpbnMuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjIxMWExNWMzNDU1ZWNhNzMzZTg3N2VmMTc5MWQyOTY0OTI2ZDJhMzE1NDdkNTRjOGY5YzBjMDYyMjZlMjNlNjciCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9hc3luYy1pdGVyYXRvci5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI0MjFjZmMyMmY0YTExNmJiZmM3YWU4MGJkZGFlYmRiYjg5YTliY2YzOWFjZjI5NWI5ODQ3ODYzOTgzZmI0NjMzIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZGVlcC1wYXJ0aWFsLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjU2ZDlkOGQyYWY4OGNhMTcyMjY0ZWQ5MGE5NWRkZmIzNmRlNzFmZDcxNTFhMTQ0YmM2NDYzZTA2ZTVmNmMxMjQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZW5jcnlwdGlvbi9lbmNyeXB0aW9uLXNlcnZpY2UuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjhjZjAwNzI4MGI2MzFlN2E0MjU4YWJhMTcwNjBkMmNiN2JhOGZjZTcwMzJhMDhiZjAxN2NlNWVjM2RlNDYyM2MiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvY29udGV4dC11cmwuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIwZmRkNzdjYjM4ZGI5ZjkxNzFjNDQxOTdmNmE3ZWRjMjY2ODQ4YjNlYWYwMmJmNTk4YmQ3MGFhNGU4YmQ5YzI1IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2VuY3J5cHRpb24vZW5jcnlwdGlvbi1lbmdpbmUuc3BlYy5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJkN2IyMWQ5Y2YyM2FmNTRkNGQ1MTI2MTJmMTIxMTNlYzI5NjA4MzlmM2QyZmNiZjlkMTU3ZDk5NTNiMGE0ZDhjIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2luZGV4LmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjg0OWI5MGVmOTJmYjg3ZTM1MjA1ZDBiYzIyOTdjMmIzNDQ4YzBmM2IzZjIyMDk2ZWI1YmE0YWIzYmNhMmM2ZTAiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9qYWVnZXItY2xpZW50LXR5cGVzLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI5ZDg3NWEzYzZmNDk3ZWQxZjllM2I5ODAwMTk0NWY4YmQxOTdiMTk5OWZiNmFkODdlMTc5ZDQ3N2QyMmZkNzgxIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvY2FuY2VsYWJsZS5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIyYWE4NjllZDM5ODBiNmEwZjdjYzk3MjA3Y2U5MWYyOWY3Y2RjMmUzNzcyNmIzYjU3MTdkMGY2MmMyZTEwNTE4IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3dzcmVhZHkuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMjMwNjUzNWM1MjdjZTY3OTJjNDYwMzVjZjlhN2QyOGFmZjFkZmM1ODU4ZDgwYzg0YWFlNzM0ZDM1YzljMjcxMiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi90ZWFtLXN1YnNjcmlwdGlvbi1wcm90b2NvbC5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJhMGQ5ZmM3MGQwNDRjZTAwMWJlZGY5NTUyNDU5ZjI1YWNiZmViODY5NjRkY2NiMWM3NTNhNTY0ZmFiNDMzMjJkIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvc2FmZS1wcm9taXNlLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImEyM2UwMTI3MTE0OWIzMTlmNjEyYzUxNWYzZTYzNThkNDRkNmE5MjVhZjQ0ZTQ1NzY4YTM0NjJlNWNmMDUzZmUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL25vZGUvY29ubmVjdGlvbi5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI4YzYxZDdkZGVmZTg1MzRkNGZmZjBiNzc4MmU2YTRhM2U0Njc2N2Q3MWY2OGEzMDU1ODQyOGZjOWZkOWFlOTU4IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvdHJhY2luZy5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJiYmZiMjJlZWVlOWNmNzkxYWMzZjA0MTQzNGMwMGQ4OTI2M2IwNzVhNTEyMTg0MDdhMTA3ODQ5OGZhM2I3YmE5IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL21lc3NhZ2luZy9wcm94eS1mYWN0b3J5LmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNDMzOGEzOTAwNjQ1OTAwNGY5NDc5YmE4MGJmMGI2M2EyMDcxNDcxZDM0MDAyMjYyZjRjODM3NzQzZGE5NDZmNiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dpdHBvZC1jb29raWUuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMTdmY2UwNGQyYzgwYWRiYjZiYmZhN2ZmMWI5ODM5ODIwNTYyYWM0MjM3YzM5ODJmZjYyNmQ3MWMwNmJkMWUxNiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2phZWdlci1jbGllbnQtdHlwZXMuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZGQ3MWIyYzJiODI4NGYyMGU4OGM3MjI3MDk3OWI2OGU1Zjg5OThkZjgzNmU4N2M3M2MzZGM4MjdhZTZlNzA4MCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3NlbWFwaG9yZS5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImU1MGNlZTcwYzMxY2FlNDM2NzIyYjE0OTdhOTUxZTAzYjJkMWY0ZjNmMjc5ZGZlY2YwYzhmYzBlOTBlYjgzODQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZW52LmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNzQwNWZmOTk4YWJmOThkNDAxYjFlNTRlZThjNTdiZTA1MjdkNjNlNWJlMjIyZDA2ZmE1ODQ5NjQwM2E0NTU5YSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9oZWFkbGVzcy13b3Jrc3BhY2UtbG9nLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImJkZjJmMWZiOWEwNjg2NjlmMzJmMzU4ODAwNzM4MGI4NWFjNTc5YWI0YTJhYzAwNzY0YjZmMDg4OWE5YjZmN2UiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9kZWZlcnJlZC5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMDE2MjIxYzZhZTk4YjZiMmQ4ZDNiMTQ4NGUyYzU0Mjc5NWViNzljNTdkMzNhZjA2ZWQ1OWMxYzljZjdiY2QwOSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dpdHBvZC1ob3N0LXVybC5zcGVjLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMjRmYTdhMDY4NjljNzg5ZDI3NDZkOTllYmNkY2RhMjg4MWI1NzBlMjk5NTI5NzdlNmI3ZTRiYTdjNTRiNTVlNSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2RlZXAtcGFydGlhbC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIwNWU2ODExMzgyNzA1MWNkZDkxOTU3ZDI5YWU2M2E4MWVkMGU4NDdiYTg5MTljN2JmOGY5N2U5YmY2OWEwZDRhIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvd29ya3NwYWNlLXBvcnQtYXV0aGVudGljYXRpb24uanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImYyOTgyY2QwYmIwZjgxNWVkY2JjYzMxZWY3ZGU0YWFkMzExM2UwNjYyMmNlOTZmOWE4MDZlM2E1NTc0MTNmMmEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9nYXJiYWdlLWNvbGxlY3RlZC1jYWNoZS5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIzYzgyODA2ZGNkZTFmYTljODk4NzY2Mjg2NzViZjA3NTJiMmQxZWE1ZDJkM2RhYTgyYzFjZDllNjhmMDE1ZDQ0IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2FkbWluLXByb3RvY29sLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMmQ0OGM5YTc1NDg5OTkzNGUwZmMwYTQxZWM5ZmZiY2YxZDhiYzM4ZDU2ZTQ4MjkyN2EyYjcyMzdlNDMxNjAzNSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9naXRwb2QtZmlsZS1wYXJzZXIuc3BlYy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJkZDllOTI2OTQ2ZjJhZTc5Y2IwMDQ0NzYxYjBlNzk0MzM0Mzg4YWI5M2QyZGI3MDVhNjJkODk3NThlMDUyYTUxIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3R5cGluZ3MvZ2xvYmFscy5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiM2Q2NzE5MjA3YmY5YTg5NjQ0OTdjY2Y4NDVmNGI5OTVmNzEyMTZmMmU3Nzg0ZTk2MDJlYmY1ZjM0OWU2NGJkMCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi90aGVpYS1wbHVnaW5zLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjE4MGI3NDZjNDViMzBhNTViODg2Y2QwNTU0ZWU3MzI0YjViOGEyOGJiOGYzMDkwODAxOTYwMTdmZDBjNDFlNWYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvaGVhZGxlc3Mtd29ya3NwYWNlLWxvZy5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImY4ZGM1NmI1MGUxZGE2MzhkYThmZGYxZjc3YTMxOGIxNTFkMzhiNzNkOTY2NjBjNTg5YjAzNzdiNjM0MmYyYWIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvY29udGV4dC11cmwuc3BlYy5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJhMDVkMzY3Mzg1OGFjZDNiODBhMjA4NDJhY2I4NDgyMWY5Y2Y4Zjg4ZjFkZGMyYWM5ZTZjN2NhZjJkNWU0ODE1IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3NuYXBzaG90LXVybC5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNWFiOGQwOGEzN2I0NjI3NjgwYjkyNjZhY2IxOWE1NjhlZGUzODI2YWU0M2ZmZTEyNjQ4NGI2OWY3OGU2NzU3ZiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dycGMuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjQ0MWYwYzNhNzZhZGJkZDYxYjhiMjliZTQyNTNkMWQ4ZDUzMGQ4OTgwOTQ3NGJhODdhNjZiNmIzZWU3OTA1ODkiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL2Jyb3dzZXIvY29ubmVjdGlvbi5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI1NGZmN2M0MzA2MzEzNDY1OTcxNzJhYjFiMWUxZjIwY2FjZjBiM2Q3NWJiY2QyZmQ1YTc4MDczNmNiMWRmOGFhIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvYW5hbHl0aWNzLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJiY2FlNWY0MTY1MzYyYzcxMTU0NTI0MmVjNDc1MzYwYTg5YjZiMDIyNTJiMjVjZjg1NTIyMGIwNzQ2NDhiZTVjIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ3JwYy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIxZTZlZjJjMTEwMjA0N2ZmZmJhZDJjYTAzNTI0ZWU4ZjQwZWQ1NTlmZDc3NDBmMTJhMDg2ZWU0Y2JjNTU1MTU3IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2Vudi5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOWQwMDgzOWFkYjFmMmNmYzFkMTFhZjQ1YWZmMzRlODQxMjNiZjYwZmRmMzEyZTNmNTE2N2VlMTU3ZjU4Y2E1OSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dlbmVyYXRlLXdvcmtzcGFjZS1pZC5zcGVjLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjMyN2Y4NjJjNTRlNzljZDZlODMzNjcyOGU2YmZhZmQ5YzcwNWU3OTEzYThkOWI0M2M3Yzk1OTM5ZTNiNzc5ZDIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZ2l0cG9kLWZpbGUtcGFyc2VyLnNwZWMuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJjNjhhZTEyMDA1OTgxOWUwZWM2ZmYzYTQ4N2Y4NDgzOGE5NmJmYzcxZTc5MGNlZGZkYzdlMmU5MjM3ZDk1NmNmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZGlzcG9zYWJsZS5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI4MGY2ZDYyMzY5ZmFlMzZmZWI4NjZmMWQwOTE4OWExOWQ2MGQ5OWEzOWYzODllZDc4NWZmNDRiNTc3OTE1NGFhIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvdGltZXV0aWwuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNzYyYjEwNjVjZDk1MmM5YjczZmI3NmUzNGM1MTkzYzEwMTY2ZjM5OWEzNzlhMjUwMjkzZmY4YzY5MTAyZjI1NyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9zbmFwc2hvdC11cmwuc3BlYy5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjQwNTM0ZDU1ODllNWZiNzg1N2U4NDU0ZTI2MzY3OTY0Y2Y4MDEzODZkMWZiOGZjMDUxNWNlMmU0MWIxMDllOGUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL25vZGUvY29ubmVjdGlvbi5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIzNThhZWVhNjVmZWRlNDEwZmI5YjcwNTY1OGYzZDk0MjAwOThhMjRhMTU1OTc3OWUyODBhNWNiMjRkNjM0NTQ3IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ2l0cG9kLWNvb2tpZS5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNjU4MjhjMjA4MzExMjdmNTVlNDdkZmQ3OGI1Y2M3NTkwMjYwNGQwNGU5MzJiM2RjYTVhYTkzOTg1MTljMzJjYSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi90ZWFtcy1wcm9qZWN0cy1wcm90b2NvbC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIyOTM5MDAyYWRhZDc0MjM5NDMyNGY5MmIwNjY5MmNiYWQ3MmU3NjhhNjdjNzcyMDM5MWIxNmE1MWEyOGM2MDlkIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2VuY3J5cHRpb24vZW5jcnlwdGlvbi1zZXJ2aWNlLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImRiZTk5NzA1NzViZjMwMDk2ZmUyNTVhZTVlMjllMmNlZjY5MjM4Mjg1NjE2ZjBjZTQxZmZiYjRjNjdjMzA1NmIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9jYW5jZWxhYmxlLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZWRmNWJjNTM5MGJkMzlmNGZhMjRjMWRjOGU1NmM2NWE1NWIxYzUzYWQ4N2NhYmMwNTZlZjJhNGQwY2ZkYzI2OCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi93c3JlYWR5LmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2ZTg4N2ZhMzY5ZjhkNjg1NTVjM2E1ZjJlYmU2ODEyMGNhN2QzNTJkMzNhZTc2ZGFhNmM5Yjg5MTAwZjIwMmYyIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3Byb3RvY29sLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjUyNWUyYzRhMjgyNjJkMTY3YjA1MjFjZjk5ZmZmNTJlOTViYTY5YjZkZDNjZTQxM2YyY2JmZGQxNDlkOTQ5MWYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL2Jyb3dzZXIvd2luZG93LWNvbm5lY3Rpb24uanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYmVkYTVkMWMyYTcwN2FlZjRiYTVjM2UxYTQyMzNmN2Q5ZTRhNTBlMzFhYWJmM2RiYjk5Yzg4NDYyZTk4NmZlOSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3RpbWV1dGlsLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI1ZTg1MjRhYWM0NDBhYjZmZTMzOTYxMjZhN2M3NzZlZGMzOTc1YTUzM2I4MmVjYjgxOGI5ODI2YzIyOTA4YTZlIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ2l0cG9kLWhvc3QtdXJsLnNwZWMuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImM1ODdkNDg0ZTA2NTdhMDgwM2FlZmFiZTUwNzI3Y2VjODAzZmJlMzQ5YzUxYzkwNTdlMzQwYzBlZTRhZDhiMDAiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC93b3Jrc3BhY2UtcG9ydC1hdXRoZW50aWNhdGlvbi5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI1OWVjYjIwMjlkZjFjNWIyYjc3ZTA1ZTA0NDViYzA1MWQ1ZjZiNDZmMjAyNTUxYzYyYjc2MmY3YTYwYzg3OTE2IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvdHJhY2luZy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI3ZGVlNzUwZTI4OTBkYjg4MDAxMjUxMTk4NzJmM2IyYTE1MzUxYjJmNWVlNGM2NjJmNTMzYjE2NDBlNjFkN2MyIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZGVmZXJyZWQuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYTg4ZThlZWJmZDM4OTA5OTA4ZTMwOGM2MDg2YmUzNGMxZGM5YWM1MzhiYTM4Zjg1NWU5MDMwMWI3NDc4NDkxYSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9hdXRoLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImMyZGQ2NzA1NjRjMDQyZWUwM2ZhODAyYjBhN2UzZGIzNmEzODAxYjM3ZGFmM2MwODUxMjgwYjM1YjcxODkyY2EiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9za2lwLWlmLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImIzNDk5YTQ3MThiNzFlNWYxODc1OGM2NDg4YTJkM2E1ZmZkZGIxNzg3ZDM3YWJkOWQxYjdiNzQ2Y2UwYTA3Y2EiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL3Byb3h5LWZhY3RvcnkuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNTU4Y2E0MDExMjAzODkwZGFkMTFhOTA0NmZhYWMzNDFiNTQyYzM2ZDRmM2I1ODY2ZjQ1ZTQ0NjY0ZjY4MGQ4NSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi90ZWFtcy1wcm9qZWN0cy1wcm90b2NvbC5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJmZjU2ZWVmMWQ2ZTU4MTNmZGE1ODBhMmI5YmJjODRlNzk2OTJkYTNlNDAxMjEyMDY5Y2JhYmIwMGRjYTc0ZGRmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2lkZS1wcm90b2NvbC5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNjVkYmE3YmUxOGQwMWU4ZjRlN2Y3YzZiYjAxNTcyNDdiMWVkZDY4YWQ2N2MwNzIyYTU4YzBlNWRlYzkxN2M1ZiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvY2xpZW50LWNhbGwtbWV0cmljcy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJhMjEwMjBhY2IxOTZlYmFjOGM0OTU3MDU2NGM0NGFmN2QzNjE2Y2M3MzFlYmQyYTZiMWQ1M2ViOGNiOWRmYTIxIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZGF0ZS10aW1lLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJhODQwZTI1NWJlMDcxMjlhNDAwYjc5Y2NkZjFmZGM4MzM0ODU3ZjAzYzQzZGZiY2NkMWZjYTE1MmJjOGY0ZmE1IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2NvbnRleHQtdXJsLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjVjNDAzNjA1NzZlYmI5YzI3MjI3ZDlhMDFlOGI3ZWY3MjE2NGFmYmJkMjQ5OGIzNDM0YzQ2MDBmMDI3NTAyNGEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9wYXJzZS13b3Jrc3BhY2UtaWQuc3BlYy5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjM4NmY0MGI4N2Y4ZGJhYjA1OGY1NWFmYTI1MjVmY2UyNzk1N2UyNWM4NDQyYjEwNzk0ZmU2ZDU2MGVhYTk1YTgiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9yZXBlYXQuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjE2Mzk2NTFmZWYwOGE2MWM2N2RkMGI5MGQ0N2E1ZDE0MDE0OWMzNGEyNTYzZWE1ZGIwZTVlY2Y1NzAyNWJhMTQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvYW5hbHl0aWNzLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjBjYzAyNWFiOWM2Yzk1OTMwOTdmYjYyYzJmZTFkOGJlZjg1YmVhODRkODdhMGZhMDhlMmYyNmFjYmFmMGIwMGQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbGljZW5zZS1wcm90b2NvbC5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJlY2E4YTA4Y2MyZjJiYWEyMGRlMTk3NWM3ZmU2NmExN2JjZTcxYzUyOTY4MzNmZmQzNzI4MzVlYjI4ZWNmMjhlIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2VuY3J5cHRpb24va2V5LXByb3ZpZGVyLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImQzOGFkOGE5ZjY0ZTViODczMTE4OWI2MDUwNGJiYmEzNTNiMDcyY2NmYzNlZGU4OGFjZGM0NGE4ZTlkNjZlZWYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC90aW1ldXRpbC5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjU3YzcyZWZkMTVjZWU4OTliNGY0NjI4NzM5NDhjZTdkODlhYzIzZGQ0M2FkY2NlYzM5ZGEwZTcwNzkxMjM1MmIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZ2l0cG9kLWZpbGUtcGFyc2VyLnNwZWMuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjdmZmVlNzc1NjZkZjNhNzljOGMwODhhZmE4NGM4NWU0ZDg0MDg0MDM4ODFlMzIzMmYyNGExMTY4YjAzNjRlYTgiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9hc3luYy1pdGVyYXRvci5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjdhMDU2NGUwNTMzNjViZjFkMmNlYjFjNjdiM2RjYTU0NTYzNjExOWIzY2U1NWNmMjc4Yjc1ZDllMGZlMWRiMDciCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdGVhbXMtcHJvamVjdHMtcHJvdG9jb2wuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIzMGU4MTMyNGJkZTJlZmY1ZDQ0YWQzOGJkMTQzZWQxNDY2OWYxNzFhY2IyZTNmMDAzYTIxYTU5YWRjZDE0NDRiIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3NuYXBzaG90LXVybC5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImNiYjhiNjBlNmY1YTdjYmE1ZWY1YjU3NTNhMzZmZGM2OGFhMzJjZmQyZTllYzI1OTkwYzNjZjY4NWQ0MTA4NDkiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZW5jcnlwdGlvbi9lbmNyeXB0aW9uLWVuZ2luZS5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjBjNmFkMjU1YzdjY2Q5YzQ1ZmU0MWIzNTc5MzdiZmEzNjQ2NTAwYjYwYTE1NmJkMmViZTZjNDI1NmMwMzhhNzEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvYWNjb3VudGluZy1wcm90b2NvbC5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYzdhMjcxMTM0NzMwMGVhZTM1ZGJmZjg5MjJkNjk0ZjA5MTdlNzZkZDkzMWMxOTc2MDU1NjE2MDZmZjgyMWUxMSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi90ZWFtLXN1YnNjcmlwdGlvbi1wcm90b2NvbC5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjBmMjFkZDZjZmIyZjE0Zjg5ODQxYzFiYTc1ZDUxZTgwNmQ1ZDA2OWM1MmJlN2FjNzhhMjRlYjU0OWQyMzY1MjYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvaWRlLXByb3RvY29sLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjljZTk0NTM1MDcxNDRiNTgyOGNkNDVjZmUxMjFhNzAwMjNhYmVmYTUwYjgzNDk2NjdmOTU5YWZjZjAyMDNhOTMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL2Jyb3dzZXIvd2luZG93LWNvbm5lY3Rpb24uZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJkZmEzNWI5OWEyYjk2ZWU3YzJiNDhjZjA5MDM5NTNlNjAyOTEzZTE4OTkyZWFiMTZjYTFiODcyYzQwMjE3NjViIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ3JwYy5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjM5MjUwYjE0YTE1MmE3ZjQyN2ZlYTM4NWM3Y2VjZTVlMzZkYjhhNmUzMTBiMTIzOWM2ZWIxODgxZGU5NTUxOTkiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9tYWtlLWxpbmsuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2YThiYmY4ZGNlOWNmNTIyNzY5MWEwNmE0YmU3ZWI3NTZmODFkMTg0NWUxYTE4ZTU4MDljNjIzODllODQ4YjM5IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3BsYW5zLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI5MDdlNjkwNjk0ZGQyZDM4MWZhZDI3MmNjODU3NDdmNWM2ODRkNzkwZWZhNWQ0YjRiZjBjMWZmMDRmNzA2OGQ1IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2FkbWluLXByb3RvY29sLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjA5YWZkZTA5MDRkZWUzMTE2NGMwNmQwNGI2N2VjN2NmNDk4NmNkZDAzZGJmNmQ0ZGI2YTFhNmJhMTY4ZGY3NzAiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL2Nvbm5lY3Rpb24tZXJyb3ItaGFuZGxlci5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJhODQxYzhkODk1ZDFiMzczMjA5NWQyYTBmZDIxNzViNWVhZTFiYTIwZDVlYmQ5Y2YyZjRhNzliZDFjMDczZGQ4IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvcGFyc2Utd29ya3NwYWNlLWlkLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImI5MDU5YWRjMzlmY2I1NDIxMTNkMmNjYjI4NzUyZDg2MmI1YjYzY2U1YmFlMWQ2ZTg1OTM4NTA0M2I5YTRlOTciCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9xdWV1ZS5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJkODRjYWY3OWVmYzc5OTI0ZDRkYjVmZGZkNjBmYzk5Y2ExZmM3MGYyM2VmYjE4NjY1MzFiMWJiZDRhYzE3OWYxIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2VuY3J5cHRpb24vY29udGFpbmVyLW1vZHVsZS5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIxNDYzZWMyZjA5MTlkZTAyMTJmNzFmMDRmMzRjMWE3ZjcyNzc4MWE0MzU1ZWE4NGM5Mjg0MzU0Njg5YTE1MjVhIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvc2tpcC1pZi5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjgwNDUwZWM0YjBlMTFmMTBhNjg3NzhkMTdkZTE5Mzg0OWMwMWZmNDkzZGE4YTUzYjQwNTAzNTU2NjBiYjE2ODgiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL25vZGUvY29ubmVjdGlvbi5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImNkNDE4OTlhYzI5ZTdmYjdlN2NhNzExOWIzZDJiN2UwZDE1MzUxMDY2YzE1YWMzOWQwYmM2OTZmOWY4ZWQ2ZDgiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL2Vycm9yLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNDAwZTViYzU2N2NhNTY0NGU2MWMzMWNlNzgzYTUzZmFiY2YyM2FmZjljNGZlZWY3ZWJkMGJkNDIyMzJiMThhOSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2xvZ2dpbmcuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNTgxMWFhNzUzZjFlOTVlN2I4NTk0YjQxNjgyYzNjZDE0YjZjNDRiOTVjYWJjYTNhMjlkZmEzOTJiOWRlYmJmOSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3RyYWNpbmcuc3BlYy5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZmI2MjA0MjRkNzBlMzg4MGIzMjQ5ZmM3Yjc4ZmFmOTk5NGNkYjVkNTQ2OTg5NDA0N2E5ZmYxMmFlOWMwNDQxZSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi93b3Jrc3BhY2UtY2x1c3Rlci5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImQzZGY5ZjBmZjk1MmQ1YWYyNmVlMjMxYjRlOWU0OGY2ZWUxNWFhMjk4MWNlZGNlZWJlYmE1MDEyN2Q5MzVmNWMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZW5jcnlwdGlvbi9rZXktcHJvdmlkZXIuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiM2U0MjRiMTYzMDM2Y2E1MmU4ZmU2NzgzZTNlMmJjNzExYzE5MWNlMzBlNjYzMTVkMWM1YzU2ZDdhN2QwNTVlYyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3F1ZXVlLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjg2ZGM3Nzk1MTEwNzE4ZDZlYTdiMTllMWIwMzE3Yzc2MGYzZGRmNjcyYzExOWQ3Nzc4YzlmMjJiOWE4YTBmNjQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9kZWVwLXBhcnRpYWwuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImQxZTAxMmE3MWJmMmZkZjBiOGVkNWJjMDRhNDRkYTkyOTZlODhhMzdhMDM5YWI0NzljZDhlYjZkMzMyOThmNjciCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9kZWZlcnJlZC5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjYwYTJkNjI2ODAxNTkyY2JiYjNkMzEzMTAzNzI2MWI2YjUxYjVjZmMyYzI5NTRlMjNjNTJlZDFkMzBkYjQ2MjEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9ldmVudC5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiN2QzNzk0YmI2NDkxYTkxYmNkMTQwMDc0NWViN2Y3NDA4ODNhYjE0NTRhOWU5ZTM4OTYxMjUxMGMzMDgxYTVlZSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9hdXRoLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNWIzOThkZTQ5Y2I0ZGQyNWVkMjM3MzY4MzMxZDdjNDI1ZGI1MGNiOGU2YWRiZDgyOGVlM2YxZjBjMDEzZWM0OSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9jb250ZXh0LXVybC5zcGVjLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMTlmNmJjNTZkYmYxZDY4MjU4M2U5MjY5ODM0MjJhYjdkNjNmNmRmYTk2OWFjZDY5ZjE4YTJkNjYwMDBjY2QwNyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9naXRwb2Qtc2VydmljZS5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImQyZjVlZDJiNGE1NzU5MmI2Mzk3MDEyNTMwYzI2M2U0Zjk2ODE3NmE2NDE4ZmQ4NWYxNjBhMzYyOTIxZGE2ODUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9nZW5lcmF0ZS13b3Jrc3BhY2UtaWQuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJkZGI1ZmJlODQzNTQ1Y2MyMjVhMjUyZTQ0YjQwZTJjNjVlZDdhZGE5ZDBmNmZlNGIwYThkZDBhYjhjZjJhYmEyIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2FkbWluLXByb3RvY29sLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjU2ZWNkMzI2NDk0M2U2ZTM3ZDdiODAyN2MxNzU3NjU2MTMxMjc0NDMyNzZiZmM5ZDIyNjY0MzJmYzE0OWE1NmQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvd29ya3NwYWNlLWluc3RhbmNlLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYzI2ZDNlMjA0YTA3YjQ3MGY0NzQyNzI4NzBjNDYyZGE3MmFlOGIyMDA1YzFlMzY2YTM4MzljYTgxMWY4ZDNiNSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9hdXRoLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjFmOGI0NzQ5ODI2MzZjNTgxOTgxZTU2NGFjZDg2MjhiNmVmMzRmYThkMTNjMTdmMTExODdjZWIzODIyNWFjMjUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvd29ya3NwYWNlLWNsdXN0ZXIuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYmZkYmMwN2EzMWI3YTk4ZTJmNDJiMTQ0ZmQ4ZGE5NWNhNjQ1OGQxNWRiOWEyZjdiNzEwMTdjMTBjZjIyZDIwMSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbWFpbC1wcm90b2NvbC5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMmRiMTNlNTE1ZTJjYjE4YWZmOGQ1NmIxNzgxYzNjMzk0YjZmMmU2YjE5OTJhYTA2NGZlYWQ2ODI0NjZkYjliYSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9saWNlbnNlLXByb3RvY29sLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMTRiNWVmYjg4YjZiYWNhYTAzMTE2NDQ1MDJjODdlZmU1MDQ0OGZlNzM2ZWMyMmM0NDc2ZDYxYzYxNjFkOWNkZSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2FzeW5jLWl0ZXJhdG9yLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJmM2NhNGJkMGU5MGFkMDc0NzgwY2M2NjlhZmFhZjEwOTQ2ZTZlZDU1N2U1NDc2M2M5YWQ5N2VhNDlkZTdlY2MwIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ2VuZXJhdGUtd29ya3NwYWNlLWlkLnNwZWMuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImIyYWI2ZjcxMTg3MmNmMzViYzA0YTY3MjkxZjdkYzMyMGJmM2NhNDRkOWI0ZWY1MjBkOWFlMDExNjdkZjYxM2IiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvYWNjb3VudGluZy1wcm90b2NvbC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJkNDYyMDFkOWEyZDVhNDdkMjc5ZTA4YTllYmM0MTQ4MTQ5MmU2YmRlMTcyNmY1ODdhMzgyNjZlYWQ2NmU1ODc1IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2lkZS1mcm9udGVuZC1zZXJ2aWNlLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiODA3MTZkODI2ODFmOTg3ZWIzZTU0YjdkYWQyMTkwNmNiYjg4ZmRmMTRlY2IyNzg1ZTQ3ZTc2YjU5MjEwOTdhMCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2FuYWx5dGljcy5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjc0NDI0NzlmYTUzMTZlZmY2MDk2OTU2OTc3NmM3ZjE3N2VhYmE3MDAwNzA4ZTFhOGViY2VjMGI0YzFmOWZkNTEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvaWRlLWZyb250ZW5kLXNlcnZpY2UuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiM2E0NWUyNWE1ZDFjZWQwOWVmMWI1OGU0YThkOGE5ZTIyMGJlNjRmNDVhZWJjMzEyOGI1NTRkYTRjNDMwODhmMSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9wcm90b2NvbC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2N2FiNGRjYTQ3OGI3NzYzOWI3NGZiZDQ2Yzc0ZTFiMzdkMTA1MzY1YmU4NWMzMzU0YTk4NDA1YWZmMjYyNmI0IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3Blcm1pc3Npb24uZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJkNDUyYzFmM2U0ZDdjZGI2ZTA1ZGI1NTEzM2FmNjI4Y2Q4Zjc4NWExOGM3YTkxNDY2MWM3OTBlYzIyMTk1ZmI3IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3Byb3RvY29sLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMzIxYTRmNzc1MmJmNjAyZTcwMGQyZmQxYjMyZTAyMTdlOGNjNWQ1Y2QwYTY3NGFlYTFkZDQ0NTM2ZDEyZGNkNiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvcHJveHktZmFjdG9yeS5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOTJiNjhjNWZkNTlmOWUzYmFmYzAxYWM4Njg1ZmIwNjlmYTEyNTkxMTAyNjg0N2E2N2FlMWQwZGQ3Y2ExZDhkMCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvYnJvd3Nlci9jb25uZWN0aW9uLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMmM0MDg5YzkwZTcyNDNhNTQyNzY5OTJlMTAyNDEwNDc5ODhjZDAxMTlhMThhNjU1MWRhZjMxMTU1NTc5OTQ4NiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9jb250ZXh0LXVybC5zcGVjLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImI1NDliNTRiMDU1YTE4YzI1MTlkNTY2YTIwMzg5MjJlNTA4NzVjNTNmM2VmOWEyNGY4ZjBmODUxOWM2NDVjMmEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvYWRtaW4tcHJvdG9jb2wuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImRmM2FlMzMzZjlmMmVkOTg4MGVlNWYwOTE1MGMxMWRmMzJjNWEyNjg3NmFlMmM3ZDUxYWZkOWFhMDMzYWU4MjciCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9ncnBjLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjAxMzY0NWY3ZTQ4MzRlM2ZlNjEzNjVkNWQyNWNiZWUxNTE0NTQ3YWI2ODMzNjJjMDFmNTdhODllNWRiNmU4ZDMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi95YXJuLmxvY2siLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZTY3ZTMyNTRhYzAwNzAzOWFkYTQwNWZlZmQwMzNjMmNkMWRlYTA1ODUxYmQyNzI0YzhjZmQ4OGZmODkxZTM5YiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvcHJveHktZmFjdG9yeS5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJlZWY4NmZkNTMwMDhmNDQ4ZWFkM2Y5MDQwYzE4ZTcwOTVmN2JiYjI5NTgyMTVjNzc2ZjJjOWYzYjRmM2QyYWRhIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZGlzcG9zYWJsZS5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMWIyNmJjMGQ4N2UzOGYyZDBlYzYzOGEyNGJlMGYwNjkwYTYxYmEzMTFlOGUyN2NkYmNiMDU4MGVmZjQyOWM0NSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2Rpc3Bvc2FibGUuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJkODA4ZmQyNzgxMGRjYTZmOWIwNjQ1NmJmMTMwZWUwZWIxZTI3MjYyZjZjYTBiNjM0ZjJkNTJhNTY3NmViNzZiIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2FuYWx5dGljcy5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMjlhMWY1MGZjMWZjZjM2NmMwMzExMjFiNjVlZjYyMjk1ZGNjOWRiMjljOTk2ZmNkMjBmN2U4NjMxNGYzZGY1NSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2RlZmVycmVkLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjk0M2RlMTU1MjAxMTE1OTE3MmRiZDUxZDRiOWJkMzYwY2Q1M2VlYTYwY2QxYWQwNTEyZTA0MGQxZTRkNTJmOWIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL2Jyb3dzZXIvY29ubmVjdGlvbi5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZWQwNGUzYzlkMTFmMThkN2FjZjNmYWQwNzE5ZmJlZDQxY2UzZTNlOGU5OGMyZTE3NWRiYTkzNjZkMDc1MzVlZCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9wYXltZW50LXByb3RvY29sLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImRjNzc0MWRkMzk4NDk5NzJjOTVlOWQxYTc5ZjU1ZWM4OTY5NmRlYzdhNDc2OWUxY2Q2N2E0NTE0NWM2OTEwYWUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9tYWtlLWxpbmsuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMDU0MGVjNzhlOTUwY2I3MzdmMmI2M2M4ODJhODZkOTM5ODEyYzY2MTJlZTRmMmUzYWM3N2EyNjVmOTMzMjc2MSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dpdHBvZC1ob3N0LXVybC5zcGVjLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjdjMmYyNTk2N2Y4NWFkNzYzYjEwZGU5ZTE2NDY3ZjY3YWM3MzY5ZjA5MTg0NjNiODg2NTI3NTM2Y2M1NmRlOTgiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9ldmVudC5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjk5MTU3MjRjODg0NDRmNzg0MDlmYjhkOGJmM2Y5ODhmNTZhY2I3YzRiZTI3NWZmOGMzMTJiMWQyNzg2YTBlMjMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvaGVhZGxlc3Mtd29ya3NwYWNlLWxvZy5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZDBlNDA2YWNhYjU2NTVhNjhkMTU1YjNhN2Q0MGFkZjk5ZGQ4NTVmZDYyOTFlNTZkMjYzNjM4ZTY0ZDEyY2I2MiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbWFpbC1wcm90b2NvbC5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI0ZmE2NDlhOWVjNGZjN2RhZDE1OWM1OGI4MDdkZDcyZTJhMzViY2U5ZGU2NTdmZTViZGVkNTQ3NzE3MGNjMjM1IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvYW5hbHl0aWNzLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjgxZTk5MzAwYmVhZWU2ZjM3ZjA2MGM5Njk1ODU3ZjM4MTM0ODIzM2FmYmRhNTc2Mzk2ZTEzOGJkNjgxNWQ3OTAiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL2Jyb3dzZXIvd2luZG93LWNvbm5lY3Rpb24uanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjM0MzFkN2EwNjhkZGVhNzUxODUyOTQ3MjQ4MzhhZmJlMWU0OWEzN2RiOWY0MTkwNzgyYWQ3NGZmNDhlODE5NzQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZ2l0cG9kLWZpbGUtcGFyc2VyLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImEzZWU1M2EzYmZhNjNjZTk1MmI3MTFjMjVkYjAwNjBkMmM5MjYxNDVmNjg5ZTk0MTM4MDQ3MjgzMWYyYjMxNDMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvYW5hbHl0aWNzLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMzNmNjZkYTkzYzE0MDE1MDVjMWE4NjgwY2E0MGQ3ODlhMjhkODA4NGE3NDgyNTMwOWZhYzU1MzQ3MTlkMTg3MSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9pbmRleC5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJlYjlmZWI3OWVhN2E0M2JlNTBlZTJhMTg4MmY1YzEwMTdjZmY1ZTNhYTY5MGVlN2ZmNjBjYTdhNjliNGE0NGI1IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvdGltZXV0aWwuc3BlYy5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjc5N2Y4ZTk0NDZhODJlMzM1YTQzZmYyMWY0NDEwZTU2ZjU1NDg2OTAzYjFhOGVjNjE0YjA1YTFiZDdhNTM4MTQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC93b3Jrc3BhY2UtcG9ydC1hdXRoZW50aWNhdGlvbi5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2ZjgzNmFkZjEyNTYzMjQ4OTlmNDEwYzdkNWY4ZTQzMDJkZDBkZjdhMWY1MDA4YTFkNjdmYjliZTQ1NzY5OGM1IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2VuY3J5cHRpb24vZW5jcnlwdGlvbi1lbmdpbmUuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMWI1ZTdkYzUwOWZkMjNiZDM0MTIzMjE4ODExZTAwNWE4MzE4M2JkMzQ4NDhlYjFjOTVmZjM2ZWVjODY0YWI1ZCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3JlcGVhdC5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJkOTkwNTkxNWNjYTk1YTE5ZjU0ZmRmZWRmNzdlZGIyMTI2NWU2MDRmZThiYjY1NGZmZmU4N2IzMjMwZWE3ODcyIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2Vudi5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIwNWE2ZWRkNmQzMWFjNzdkNGZjN2RhOTU3MzEyNzU1MzRkMTliMmFmYjIxZDExODU5YTI3NWY0NjcwYmY3NDc1IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3NuYXBzaG90LXVybC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI5OGNkZTU3NWRkN2YxODExNDAzNDliMjE1MTk3MTlkY2UzZmRiMTFiNjFjMjQ4OTY3MTExODMwZDQ5YWIxNjNhIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3BheW1lbnQtcHJvdG9jb2wuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI1YzhhMzkwNzNmNmRlZjlmZjI5ZjIwZTBmOWMxZDY0Y2MzZjExODVhNTE3ZjZiMDM2ZjY0YmUxOGNlNzc1ZDM0IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvcmVwZWF0LmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjg3MDJmNDg5MjBlOTFhMjFlY2VhZjkzM2U3MzE1M2RhNTExMGZjMjdhNjkzZWVhNTAyYWQ2Yjg5MjFmMGRhOWIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvaW5kZXguanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjA4N2Y3OTU0ZTVlNzNmNDkyMjRmMDBmOTlkYzA3YmVmNDFjYjA5Yzc1ZjU2N2JkMWE1OTk1YWQxNzgxYzQ4NmUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvcGVybWlzc2lvbi5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIwMjY0YTk3NDI5ZDYyNTk0MTIzMzRlNDE0YWMyMDNhMDdmYzQ5NWEwZTM2ZmM3NDhmZTk1OGM0MjFiYzk4MGJiIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3RoZWlhLXBsdWdpbnMuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI0YzUzNDA3ZmJkNWRmOGY4YzJiY2Y5NDI0Mzg3MzgzYzU2MzkxMjNhY2M1MmJmMTM4ZWQ4OTY3MTA5MTVhZmY5IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvY2FuY2VsYWJsZS5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZDY3NzZlZTIyZmZjNDBjMGY5MDViZTBkNmUxMjkzOGM0YTlmNzY3ZjAzMzdjNGU2NmMxMTViZTkxMzQ5ZTg2YyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9naXRwb2QtZmlsZS1wYXJzZXIuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImE2MTE0NzMzN2E1YmY2ZWVkODQyZTZhNGNiMDBkY2M1OGEzYzUzNWUxNTQ1NDQ4ODVkYWJkOWI2MmUwMWY2ZDQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC90cmFjaW5nLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZTM4N2FlNzc3ZGJkODk3YTMxMDg1MTQyMWIyMmIyZjZhMzJjM2NkNmY4ZTExN2Y5M2VlM2M1OGVjYzFjYzE1ZCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dpdHBvZC1ob3N0LXVybC5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJhN2ZiMjRlZDhmYjdmMjk0ZWNmZDk3MmZkM2JjYjdhOTdmYTc5ODNhODc5NjRiZWVkMzBiMzMxMDQ3M2NiMzM4IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZXZlbnQuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYzQ1MjNkNTlhMzVhZDU5Y2ExZTY5ZGVmMTlhOGYxYzAwYjA3YzJiZDQxYjE4ZWQ4NWMxMWYyYTVkNTgzYzQ4NCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL21ha2UtbGluay5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNWUzYTdjZWJiNGIwOGYyODU0N2Y4OWJmYzRlNmFjMzY2Zjg2NWIyOTM2NGZhYTVlNWZiZjQ5ZTViZWNmYTFkNSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvZXJyb3IuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImVmMGY0Nzk3YTgxNTE0Nzc5MzY3MTMxMjRhM2I3YWEwMDNiYzcyYzZiMjljNTNiYmM4ZWVkNTk3ZTBhNzNhNGMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9naXRwb2QtaG9zdC11cmwuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYjlmZmEzZjRjOGU3YjMzYjViMmZhZTM0ZjEzYTg1N2VlYzk3NjBmYzk4Nzc0ZGM5M2ZiNDFmZTA4NzI1MThhMyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3F1ZXVlLnNwZWMuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMzI1NWZhMGQ3Nzg4ZjQzNWNkMDg1Mjk1MjllYjk5ZTNmNWEzZDFmYTUyNTI4YWY1NjQ3YzBlY2Q4MWNkZDk0YiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3RpbWV1dGlsLnNwZWMuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImJjMWM3ZDM5N2ZjZmJlYjYxNjk2ZjY3MmExNjZjYjU0ZWUxNDhkYTVkNTU1Y2M1Mzc3NzU1ZGQ4NjBiYjNhNGYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9kYXRlLXRpbWUuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNjg3OGJlYjBmN2NlZjJmYTg5MjY2NTVlNWM1OTkwYzA5YTZiOWM4MGMwNDE2NjEwMjRiYjBiMGJmMjJjOGExOSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvY29ubmVjdGlvbi1lcnJvci1oYW5kbGVyLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIyYTE2ODJmYjBlNmIwNTc1OGNmMWU5YjJkOTBjYWQ5MjIwMDhmNDVhOGQzOWZhMzg1NzQwMDJlZDgzMzc3YmVhIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ2l0cG9kLWNvb2tpZS5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjU0MWUyMzYxMDM3M2NlZGVhZWZhYTNjMmYwNDc0OWFhNTVjYTc4YTNjNWViZDk1ODhhZmIyODkwODViNTVkZmYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL2NsaWVudC1jYWxsLW1ldHJpY3MuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImU2MjU0MTY2NTg1MTAwMmY0ODUzMmE1Y2I4ODE5OWNiZDk2OWNlZTE1ODA1MWU1NDY1OGIwM2ZjZWNiYmM4ODEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9wYXJzZS13b3Jrc3BhY2UtaWQuc3BlYy5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJmZTVjYjMyNzYzMzQ3YjkyNzEwMzY4MmNiYWQwNDY4ZWIwZmIxZTkzODY3OWM0NDY0NTYwOTdmNWRkZTA3NjlhIgogICAgICB9CiAgICB9CiAgXSwKICAicHJlZGljYXRlIjogewogICAgImJ1aWxkZXIiOiB7CiAgICAgICJpZCI6ICJnaXRodWIuY29tL2dpdHBvZC1pby9sZWV3YXk6MC4yLjE2LWI3ZDJiNTRAc2hhMjU2Ojk1MTJhZjFhYTRhY2MwOTYwZGQ1ZTk3YzUwYjdjZjFhNjY3MTNhODFhMDlmODI0NWFkOTUxMThlZTEwNzBmYmMiCiAgICB9LAogICAgInJlY2lwZSI6IHsKICAgICAgInR5cGUiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dpdHBvZC1pby9sZWV3YXkvYnVpbGRAeWFybjo3IiwKICAgICAgImRlZmluZWRJbk1hdGVyaWFsIjogODEsCiAgICAgICJlbnRyeVBvaW50IjogImNvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sOmxpYiIsCiAgICAgICJhcmd1bWVudHMiOiBbCiAgICAgICAgImxlZXdheSIsCiAgICAgICAgImJ1aWxkIiwKICAgICAgICAiLS1kb2NrZXItYnVpbGQtb3B0aW9ucyIsCiAgICAgICAgIm5ldHdvcms9aG9zdCIsCiAgICAgICAgIi0td2VyZnQ9dHJ1ZSIsCiAgICAgICAgIi1jIiwKICAgICAgICAicmVtb3RlIiwKICAgICAgICAiLS1kb250LXJldGFnIiwKICAgICAgICAiLS1jb3ZlcmFnZS1vdXRwdXQtcGF0aD0vdG1wL3RtcC5ZMTZHQmlrSU5WIiwKICAgICAgICAiLUR2ZXJzaW9uPXNqZS1pbnN0YWxsZXItbWlncmF0aW9uLWNtZC4wIiwKICAgICAgICAiLURyZW1vdmVTb3VyY2VzPWZhbHNlIiwKICAgICAgICAiLURpbWFnZVJlcG9CYXNlPWV1Lmdjci5pby9naXRwb2QtY29yZS1kZXYvYnVpbGQiLAogICAgICAgICItRGxvY2FsQXBwVmVyc2lvbj11bmtub3duIiwKICAgICAgICAiLURTRUdNRU5UX0lPX1RPS0VOPVgzYk5hdFlQdWRJSmNDejZrRmxUbjU0cHJ1bVFBcUdoIiwKICAgICAgICAiLURucG1QdWJsaXNoVHJpZ2dlcj1mYWxzZSIKICAgICAgXSwKICAgICAgImVudmlyb25tZW50IjogewogICAgICAgICJtYW5pZmVzdCI6IHsKICAgICAgICAgICJhcmNoIjogImFtZDY0IiwKICAgICAgICAgICJnbyI6ICJnbyB2ZXJzaW9uIGdvMS4xNy4zIGxpbnV4L2FtZDY0IiwKICAgICAgICAgICJub2RlIjogInYxNi4xMy4wIiwKICAgICAgICAgICJvcyI6ICJsaW51eCIsCiAgICAgICAgICAieWFybiI6ICIxLjIyLjE3IgogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJtZXRhZGF0YSI6IHsKICAgICAgImJ1aWxkU3RhcnRlZE9uIjogIjIwMjItMDEtMTdUMTU6MzI6MzEuMDgwMDc0MjE1WiIsCiAgICAgICJidWlsZEZpbmlzaGVkT24iOiAiMjAyMi0wMS0xN1QxNTozMjo1NC41MTg0NTExMTJaIiwKICAgICAgImNvbXBsZXRlbmVzcyI6IHsKICAgICAgICAiYXJndW1lbnRzIjogdHJ1ZSwKICAgICAgICAiZW52aXJvbm1lbnQiOiBmYWxzZSwKICAgICAgICAibWF0ZXJpYWxzIjogdHJ1ZQogICAgICB9LAogICAgICAicmVwcm9kdWNpYmxlIjogZmFsc2UKICAgIH0sCiAgICAibWF0ZXJpYWxzIjogWwogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL2NvbnRleHQtdXJsLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICI1MTk4NDJjMWMyNGVjOTZiZGZkODQzYWE0ZTlhYmM3YWQzYWZkZDg2NWQyNTQ0Y2I1MTljYzhiMzYwNDY3ZmNmIgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy91dGlsL2dlbmVyYXRlLXdvcmtzcGFjZS1pZC50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiNGZjMmU2YzRlODY2MDk1YjBkNzIyMTIxMmRhZWMyZThhYWQ1OGM4YjM2NTRkOWNhYWRlMGY5Zjc2ZDVkM2E2OCIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvd29ya3NwYWNlLWluc3RhbmNlLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICI0M2EzMmQyOGEwYzUzNWM5ZGIyMTIwOTlmNWU4MzVkZmMyY2Y5MjM1ZjMzZTZlZGIxZmMyNzEzZGRkNTc1YjFhIgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy91dGlsL2FuYWx5dGljcy50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiNDAwMjA4ZmM1ZTBhZDk5MWFkOGM4NjViMmE0M2ZmZjU0ZWZjMDAxYmUyZmJjYzhmMzc3MTlhNTliZTMxYjhmNSIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvdGVhbS1zdWJzY3JpcHRpb24tcHJvdG9jb2wudHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogImJmM2E4ZDI1MzMyYmU2OWM4YmJkMTFlMWNjNGNhYzJmMTAzZDhkOTVlMjdhNDZiMjZkYjY1NDc3ZDE2MmUyMDciCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL3V0aWwvZ2FyYmFnZS1jb2xsZWN0ZWQtY2FjaGUudHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogImQzMzUxZjQ1ODViZjlkOGEyZWI2ZWQ2ZTRkOWQ4MjhlZGNlZTZhMTUyODcyMjcyODU0ZmFhNTkwYzMxNTVkMzQiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL3V0aWwvd29ya3NwYWNlLXBvcnQtYXV0aGVudGljYXRpb24udHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogImQ3NDk3Zjg5MzEyN2ZhOGE2ZjY0MDJiNDIzMGE1ZjEzNjAwOWFlNmQwMzk1NGVmNWFjYmVhY2I1NDM2ZmE4YTUiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL2FkbWluLXByb3RvY29sLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICIyNGNlZDdkZTI4NjhlNDI4NjEwMjE2M2EwYTJmZDk3M2UzOWM2NWI2OGMyZDQ4ZDY4MWY4NTg5MjA2YzAzZDE4IgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy91dGlsL3BhcnNlLXdvcmtzcGFjZS1pZC50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiNDU1Yzc2OGQ1MTAzYTA1NjMxNmJlNDk2MzBmOTkzMzk4OTIyYjM2NzNmY2QxYzQzYzE3ZTU0NDE1ZDA5NGY2OSIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvcHJvdG9jb2wudHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogImM4NWViNzQxZDBjNjYwOTMzNGM5YzcwZGUyZDA0MjZmY2VmMDQzZjhmNDhlOTg4YWIwYmE1OTZjN2Q5ZjQ0ZDkiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL3dzcmVhZHkudHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogImE2MTE2YmNiZDE1MTcyZWM3ZDkyZDBmNjE2Yzk2ZGVkN2JlN2QyMzAyZDI2YTc3OTgwODNmMzdhZDQ4ZTMyMjUiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL3V0aWwvZ2l0cG9kLWNvb2tpZS50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiMzRmYmUzMmE1NDViN2Y2M2JiNThiZDZmZmJiYTFjZGQ5OWRhMWVjZGNlZGI0NGQ0ZDk1MTE0NDE4YzMxYTljMyIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvZW5jcnlwdGlvbi9jb250YWluZXItbW9kdWxlLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICJlMDUwNmJmYTczYjM5ZWI1N2EzODA2MzZmOGE2Y2IyMDM2MzQ4MTYzODIyNGNiYzI4MGJiYWQwZGIwMDk2ZTE0IgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy9wYXltZW50LXByb3RvY29sLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICIyYWM5NmE3ZjA3OWFkNGEyOWY3Yzk0NDNiNmY2MzljNGE5N2I2YWIzNTc5MzVhMzI4ZGE2YjQ5NDY3OGNjN2EwIgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3Rlc3QvZml4dHVyZXMvZW5jcnlwdGlvbi90ZXN0a2V5IiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICI4ZGYwYTBhYmViZmY1YTlmODg3ZDc3MzM5NWRjODlkMWYzYmNlOGU0MjFmYjhjYzE2ZDc4ZWExMDdjZDFhNTQ1IgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy9pbmRleC50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiMTA4ZGVjZWM5ZDRhYjZkYjZlZDM1YmM5NWQzOTc3MWVmOTAxMTc4YzJkOGJiYmU4YWQ1Njc4ZjIyODBmMmRmNCIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvbWVzc2FnaW5nL25vZGUvY29ubmVjdGlvbi50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiYWIwYjE2NTRhNTkwOTYxOWNlMTM5YmJhMGNhYmY1Y2I1YWU4YjBmMTVhYjgyMWNjMDc1MzkzM2EyMTg4Y2QwNyIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvaWRlLWZyb250ZW5kLXNlcnZpY2UudHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogIjRjMDkyZWViNjU2NDk4MjFhZjZiN2JiZmY4NGQwZjAzZjdhYmI1MjJhNzViZjE3ZGY3YjVjMDA2MmIxNDg1NjYiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvdHNjb25maWcuanNvbiIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiMzg5NTQzNDcxZDgzMzhlYmNhNzBkNzk4NzI2ZjkxOTdlNDIzZWI0MmJlM2ViY2UyOGQ0MTkxYzVmYTMzOWJkOSIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvZW5jcnlwdGlvbi9lbmNyeXB0aW9uLWVuZ2luZS5zcGVjLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICI4NWQxZTZkNmVmNjYyOTQwZDZiZWU3MWIzNzYyZGIxYTZkYTUwMjk2MWM2ZmRkMDc3Mjk3Zjk4YWNmMmNiODIyIgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy9lbWFpbC1wcm90b2NvbC50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiZmY3Zjk1ZmY0MzM3ZDQ3MTA0YmZjZWVkNWU4ZDUyNjlkZWFmOWY3Y2I0Njg5YWU5ZGQwZmMxNWUzYmI2ZjU5YiIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvZ2l0cG9kLXNlcnZpY2UudHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogIjJkMWE3MmVkZGIxYmM1YTVmM2ZkYmJlNjRmN2UwMWM1MDAwZTYyYzBhNDUwNzRkZjhmMmZkMDZlYmZhYWNkZDEiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL2FuYWx5dGljcy50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiZTdiNTRkZjA0OWEzMDY5MTFlOTIzMWQxM2M3ZGFjMWVjMDlkYmJmM2VkYzExYmM3YjdjMjA2MzFjMGE1NGVhOSIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvZ2l0cG9kLWZpbGUtcGFyc2VyLnNwZWMudHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogIjBhNjliYzRiMzNkODBiMjAxNTFmMjBkYjEyZWM5Y2Y4MDgwOTIxN2M5OWNlODg1MGJmNDI5MmQ4NTMwYmRhNDEiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL3R5cGluZ3MvZ2xvYmFscy50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiNjI3ODdjYjIyZTU1OWUwYjBkYWVkNzkwYTY5YzM1ZmJjZDZiMzdmNGI5MmEzN2ZiOWVkMzM2YWJmODYwZDFkMiIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvdXRpbC9naXRwb2QtaG9zdC11cmwuc3BlYy50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiNzZkNWM5MTM1NWRiMTU1YmFlMzIxNzUzZGYyNDk5NjRiMzZkYTcxNWQxZjQ2MjFkZmY5ZWI0NzY1ZDI2NzU5ZiIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvdXRpbC9xdWV1ZS50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiYmQ1ZTMxYjc5NDNlNmUxODVhMGY1NDgwMjhjYTM4NTBlNWQwNDAxNGIyMTExOGIxYmJkMGFkNWVjZTI0MzAyMCIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvZW5jcnlwdGlvbi9rZXktcHJvdmlkZXIudHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogIjUxODM0MTViMzIzY2I3ZmNlNGE3MzMxOGJhZmI1MWU1NDM1MWQ4NTc2NTE3YWE4OWZmOGY2NzEyM2Q3MmMxMDUiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL2xpY2Vuc2UtcHJvdG9jb2wudHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogIjkyYmI0Yzk4NDk4NjFmZDQzZGViZmVmYTUzOGM5Y2I5ZGVkMDlmYzFjYmQ0NzYyNjEyMGQyMzk4YTEyN2M0OGUiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvbW9jaGEub3B0cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiZGQ1ZDNlMjEzN2U5ZGI4NTkzMmI5ZGI2YWMyN2QyNDNmNzU2NDkwNGI4MjA5ODVlMWE5NTI3YzU4ZmFkZTE2YSIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvZW52LnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICI0NjUyMzdkZGRlNTFjN2VmOGIwZTdmZjJjM2M2Mzc1ODY4NWM2MDdhMzk5YzIyZWM3M2VjNGQwNzA1ZWJjMzMzIgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy9tZXNzYWdpbmcvcHJveHktZmFjdG9yeS50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiYTk3NTNmZDQwOTM1OWY5MzNjMjIyYjNiODgzOTFkMmQ3OGU2OTQ4NGFlMDVkOTJlODVlZjE1ZTk3NjM2N2M2NyIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvdXRpbC90aW1ldXRpbC5zcGVjLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICI5N2U4YzBiZDMxN2U5YjVmZDhmMDZiMTAxYWM5MjBlNzMyMzBhNjA0OWZiYWVhNTdmMjY4MmI2NWUyMGMxNDdjIgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy91dGlsL2phZWdlci1jbGllbnQtdHlwZXMudHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogImRiNzhjYzFhYThmMTNjZjlkNTNmMjUxNWE4ZTMwNzE2ZjcyNjdhZjk3ZTU5N2E0NzFjNTQ0YzQ1NDdiZDgwZWMiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL3V0aWwvbG9nZ2luZy50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiNDQyNzgyOTNhMWMxNmUwZTc3OGNkM2U3NjUxNzJkZTI1ZTU4ZDE2YTQzMjNiMTk0Y2RkMTlhZmQ4YzVlMGI2NiIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvdGhlaWEtcGx1Z2lucy50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiYzljNmVjM2ExMmE5Yjk3MzhhMTRmMjk0NzUxYzYxODdkZjEyOTRhNzU5ZTIzNTgzZTE2Zjg5ZWU3YzJiMzU2YyIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvbWVzc2FnaW5nL2hhbmRsZXIudHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogIjVkNDNlZjdmZDJhM2UwOGM1NTBjMGIwZmFmMDlhYTJmNjJiYmZhNjE1ODc5NjAwYWM2Y2Q4NjUzMjgyMTEyNWIiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL3V0aWwvdHJhY2luZy5zcGVjLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICIwZjgzNGNlOTEwODU3MDU5MDZhOWE1MWI3ZTQ4ZDY2ZTQ5ZDk3M2YzZjkxOWZiM2EyYWU2NjE3YzU2ZThmZjI0IgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy9lbmNyeXB0aW9uL2VuY3J5cHRpb24tZW5naW5lLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICIwYjg2MDI1NGI4MGVmOTE3N2Y4ZTI2NmQwM2MwMzU3NmRlOTBkOTc5Mjk2MTc4MTUwOGIxODBlNGY2YjM0YTJkIgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy90ZWFtcy1wcm9qZWN0cy1wcm90b2NvbC50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiMGE2NmZlNTFlMzA4ZTY5Mjc5YzBlZWY5ODY2OWViZDM2ZTA3NGM1NTMzYjE5YmIyZWM3OWRkM2M0YTE4YWUxNCIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9kYXRhL2J1aWx0aW4tdGhlaWEtcGx1Z2lucy5qc29uIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICJjNDg5Zjc0ZTcxYTdjNzM1YWM3MjZkMDBmMzZlNDA1MzkzYWFkYzljMGM4MmE5NTFlOWU5Y2QwZDBjNDZkZGY0IgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL3lhcm4ubG9jayIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiYzhjNWYyMGRiMjg5YzQxNzYzMjkwMDMyMzFmYTQ3ODlhYTVlZGIzM2YyMjU5OTgzNmQ3MjgyYzlkZThiOTEzYyIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvYXV0aC50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiODg3ZTdhNzFmYzgxOTg0NTk0OTJlODZlYTY3YzEzNDM2N2FmYmJmZWVkOGYyMjQyNjJlZjdlZjI2MDc0MDQ4OSIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvbWVzc2FnaW5nL2Nvbm5lY3Rpb24tZXJyb3ItaGFuZGxlci50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiYTdiMjQ2NDQ0NDBkZTU2YTk4NWIyMjNiODliYTNlZTBiZmY4ZDM2NjE4Mjg4YTIwMTRmN2ZjOGZjYjRiZTk1NCIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvdXRpbC9zZW1hcGhvcmUudHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogIjNkYWMyN2RlZTJlMmY3YjA5NGJhNDc5NGNhYWJlNWEzYjg0MjIxMDAzYzEwODg5MTc1NmFlMmJiZDMxNmU4YTYiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL3V0aWwvcGFyc2Utd29ya3NwYWNlLWlkLnNwZWMudHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogIjVmNTFhYzIyMTk3MTg5Y2YzNzFkNTk3NGI4YmQ4OTZlMzQzN2I5ODQxNWE3ZDUwNTFjYTgyNWNhMzE0Nzg4NGUiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL3V0aWwvc2tpcC1pZi50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiZDMyYzBhOTYyNDRhMjIzNWY0YmNmYTNiNDIyZmI4OTJhZGMxNTE1Y2YzZDM1MzY4MjFmMDljYWU3MmM0ZjE4OCIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvbWVzc2FnaW5nL2Vycm9yLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICJlYzRmYjhjMDBiNTY0MmI5NjljMzFlMDUwNjQyNTY1ZWZkZTc1YWY0NmY5ZDBmYzNhYzcwYzJmMDNkZDc5YWE5IgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy91dGlsL2V2ZW50LnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICI3OTU3MDA5MTMxNGUwNjUwNjU0ZGIwMjQ1YmU5NzA5ZjgwZmI3YTRiYTVhZjdjN2FlN2Q1ZmI4YTA2OGIwOWE4IgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy91dGlsL2FzeW5jLWl0ZXJhdG9yLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICIxOTg3MmFhZGQ1ZWM0NzY3YTg2MzVhNGMyMzQ1YWU1Mzc3NWVkMjNkZjkxZGFhNGVlMDcyMWFjN2I2ZDAwNjI1IgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3BhY2thZ2UuanNvbiIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiOTE5MjE2NGFhY2M2NTdjZjMwNmQ3OThhZjcxYjlmNjBkZGI2NDZhYTg5MjZlODE1ZjU0NWZlYmJiODlkOTIzNSIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9kYXRhL2dpdHBvZC1zY2hlbWEuanNvbiIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiYzVlZjdhOWM4Y2YyYjg3YTg4ZDhlZTFhMGM1MDk0ZmNkNmQyY2ZhMDAyOTIwZWVhMmMxZDdmMWQ2NjI0Zjk0MCIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvc25hcHNob3QtdXJsLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICJhYjEzYmJkOGQ3MWYyNThkOGZhYzExYWFhY2ZiN2YzNGJjOWMzYmQ3NGM2NWRhMmYwYzAzODQzYmM1MjY0YmU5IgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy91dGlsL2RhdGUtdGltZS50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiODRkNjY0ZGU4YWU0NGMwOGVkZThhM2Q2NWQ3NDRmYjM4MGRhMjQ5YjE0ODYxN2YwYTViNmJlMGEwMjJjNjEwOSIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvdXRpbC90aW1ldXRpbC50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiYjljNTRlM2I4NGVjMzE5YjM0MjVjMWZiZGE5NjhlNjcxZGRjNjZmNDJiMmYxOTNkNzI2NmI1MTMyNDU3NTI0ZSIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvdXRpbC9tYWtlLWxpbmsudHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogImY1ZDQ2ODQzYzlmZTRkYmU4NDdlZmRkMWUyNzAwYTQ2NmE1MjQxMjkyOTJlMTAwOWU5NWZkMTNmNmI0OTY3ODMiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL3V0aWwvZ3JwYy50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiMWFhNTA0YzRmMWY3N2FlYTkwYjY4NTEyNzkwM2JmZDMxYmI1YjhiYjhkYjhlNGIwMzk0MzA1MzRiZGIyNmE5YSIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvbWVzc2FnaW5nL2Jyb3dzZXIvd2luZG93LWNvbm5lY3Rpb24udHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogIjI3Yzg3YzgwM2I4NDJkOTgxY2UyYzM1ZDlmNDlmZmU0OWFlZmY2YWYyMDMyODkwM2UyNGU5Y2Q4ZmEwZjdjNWQiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL2lkZS1wcm90b2NvbC50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiOWZjODMyOTE4OTQxY2Y0MThlYjA1NTRhOWQ4ZjhjODc2ZmFhY2FiMWU5OWYyYzM1NGY0Y2FhZDg2ZGFjNjU1ZCIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvdXRpbC9kZWVwLXBhcnRpYWwudHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogIjlkYTIzMmQxNDlhNzUwNGIwN2Q0MzZmZDFiOTg5NmZhNjI2MzNlMjc0ZDZmYzk4NzY4N2FkZDljMWZmN2E5NGQiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL2dpdHBvZC1maWxlLXBhcnNlci50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiNDVkMzNmOTliZjgyMjdhYWM1YzdiODgwODFjNTRlMjU0Njg4Yzg5NTQ3OTFiNWZlYzNlOGY1NjRlMjI1MGNlMSIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvdXRpbC9nZW5lcmF0ZS13b3Jrc3BhY2UtaWQuc3BlYy50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiMjBhZGRhZjVmZjUyMDQ0ZDc2YTc5NzVjNDUxYTM0MWFjOTYxY2U5MzEzYjE2NGQ1NDIxNTY3OGRmN2IxN2FjOSIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvd29ya3NwYWNlLWNsdXN0ZXIudHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogIjFmNGM1MThiNDkzMjc0NzFjY2U4NzBlMjZkMWQxN2QyOTczZjYwMDhkZTE4ZTNjODY3MjZkNWVkZjEyNWI5OTkiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL3Blcm1pc3Npb24udHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogImNkYjYxMjQzMGFmNTc0OWIzMGMyNDlkZGM2OTg4ZGE0NWNjOWRmNTBiNGJiNGI5NmFlYWQ1ZjJmMjM3NTEzMzAiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL21lc3NhZ2luZy9icm93c2VyL2Nvbm5lY3Rpb24udHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogIjVmMWRkZjc1MzNjYzI3YzgyZDcyYzljZDJhYmExOGU1MDhmOTRkYWRkYjY0ZDlkNmFiMGI3M2U0YTg2MThjYzIiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL2FjY291bnRpbmctcHJvdG9jb2wudHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogIjgyNGVhNjJkMjg4OGYyMTYxNDU4ZDJhMzRlODNiZDI0NzUxYWE3Y2EyOWNmNzNlYzJkODI2ZTA3M2UzZjNhZmYiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL3V0aWwvcmVwZWF0LnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICJhMTUyZWY5Y2ZlNTkzZWU4Y2IzZGVkMzM1MzVkYjBkNWIzNGM2ZTkxY2I0NzFhN2Q2YTIxMTAzYjM2MTUxNTc4IgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy91dGlsL3NhZmUtcHJvbWlzZS50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiY2U0MTVkMTY3NzRlYzI1OGNjZDQwNGJlNjYyZTJkYTc3YjNhYmE3YmI0MmZmYjBiN2RiYjZlYTI2ZmEzNDQyYyIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvdXRpbC9xdWV1ZS5zcGVjLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICI3NjhkZjg2ZDRmZGFkYmU2NDNkMzk3YWY1MWM0ZDJjYjI3NTU0YTFmM2Y2YzgxNzBlZDI2ZjMzMmJlNTNjNDg1IgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy91dGlsL2RlZmVycmVkLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICJkNTg1OTJjOTQ2N2ExYzdlMmQzYTcyMDg3NmI2OGM3YzFjYzJjYzFlMWUzMTNhMjYwMzMxYzViMjhkMjNhZmQ4IgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy9zbmFwc2hvdC11cmwuc3BlYy50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiMTA1YTFhZTk5MmRhYjBmOTM1MDUyNGYzNjYwNDNlYzllYzI1OGQ0MDY5ZWFlNzk5ODJlMWVlNDcxOGI2YzkyNSIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvaGVhZGxlc3Mtd29ya3NwYWNlLWxvZy50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiNDQ1NzU0ZjM2NjBiYjJjYzQ2YmM5MWE4ZWI3Nzc0NTIwOTNlYzhhM2Y0MDZjZGYwODY4MDBjYjY0Yjk1MDdjZSIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvY29udGV4dC11cmwuc3BlYy50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiM2YwN2FlYTExODFkNDU4NzhlMTU0NTcxNmY0Y2YxNzc5MTcxMDkxZTE5YWU4YTAxYTA2YTA1ZjY5M2FlOTNhYiIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvb3NzLWFsbG93bGlzdC50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiYjliMzJjNjg5ZmRlZWFlYmQ1OTgzYjI2ZTU4NjM2NTBhMzc3ZGNlMzQxOTg4OWMyN2Y1YjY0OTVjMDVmY2I0YiIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvdXRpbC90cmFjaW5nLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICJmYTJkZDlmMWY4NmU4Njg3ZjRlMjU0YmQ4ODNmN2U1NDkzYTg2Mjc4NGU2MzU1N2M2MDgwZGFjMWIyZDQ3NDBmIgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy91dGlsL2Rpc3Bvc2FibGUudHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogImRkYzMxN2Q5YmI1YTc2ZjM4NTQ4ZDE4MmE4ZGQ2NmVhYjk3OWVkNGZiNWM2MDg2MzJkNzE4YmVjNjYyODA3NjEiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL3V0aWwvY2FuY2VsYWJsZS50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiYTdlYmM5YjZhYjc5OWNjMDY2OWExZWM5NWI2OGIzOTgxZDUyNjU2MGNhY2Q0ZWUxNWQ2YWQxODAzNDEyMzg5MyIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvZW5jcnlwdGlvbi9lbmNyeXB0aW9uLXNlcnZpY2UudHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogIjFkN2U0Y2M0MWRlOThkNjI1NmYzMmRlY2FiMDE4YzliODkzMTE1NzNjMTE1Y2Q3OTBlNGE1MjIxNTFiZWZhMWEiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL3BsYW5zLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICJhNzk2ZjQ1ZjFmMTdjOGEzNDZhY2YyMDM5NDA1OGNkZWZkNGFhNzBkMzY3YzU4YjMwMjBiN2Y3ZWU1YzU2MzdiIgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy9tZXNzYWdpbmcvY2xpZW50LWNhbGwtbWV0cmljcy50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiMDU0MTI0YTczOWQ2MTU4N2ZiMjllYWMyN2E1OWQwNWJlYmY2YTBjZmI2M2ZmOGEwNmM0ZDQ3YmJjYTJlMmU4MCIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvdXRpbC9naXRwb2QtaG9zdC11cmwudHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogIjYwNmRlMDg1MzFjZTAwZTBkYzNkZTU0NzQ0MGQzNDhiMzIzOTg3Mjk5ODE0YmQxNmE5ZmYxOTcyM2UzYTMxODYiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvQlVJTEQueWFtbCIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiYzdlMmU5ZTk3NTRhYzBiNDkyMmJjZDgxOWEwNjg5NzE3N2FlYjk2NWYzNDE3YjQ4YzA5YmI4NmY0NGVlNTA4YSIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9XT1JLU1BBQ0UueWFtbCIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiNjQ4ODUzZWVhY2E2MzQ1Y2VkZGVmY2UxMzY1YjEwYWQyOTNkZjk2Mzg1MDY2M2ZjYzY3MWQ2ODU4MzNhNWJlMSIKICAgICAgICB9CiAgICAgIH0KICAgIF0KICB9Cn0=","signatures":null}
|
|
2
|
+
|
package/src/gitpod-service.ts
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
import {
|
|
8
8
|
User, WorkspaceInfo, WorkspaceCreationResult, WorkspaceInstanceUser,
|
|
9
|
-
WhitelistedRepository, WorkspaceImageBuild, AuthProviderInfo,
|
|
9
|
+
WhitelistedRepository, WorkspaceImageBuild, AuthProviderInfo, CreateWorkspaceMode,
|
|
10
10
|
Token, UserEnvVarValue, ResolvePluginsParams, PreparePluginUploadParams, Terms,
|
|
11
11
|
ResolvedPlugins, Configuration, InstallPluginsParams, UninstallPluginParams, UserInfo, GitpodTokenType,
|
|
12
12
|
GitpodToken, AuthProviderEntry, GuessGitTokenScopesParams, GuessedGitTokenScopes
|
|
@@ -55,7 +55,6 @@ export interface GitpodServer extends JsonRpcServer<GitpodClient>, AdminServer,
|
|
|
55
55
|
getOwnAuthProviders(): Promise<AuthProviderEntry[]>;
|
|
56
56
|
updateOwnAuthProvider(params: GitpodServer.UpdateOwnAuthProviderParams): Promise<AuthProviderEntry>;
|
|
57
57
|
deleteOwnAuthProvider(params: GitpodServer.DeleteOwnAuthProviderParams): Promise<void>;
|
|
58
|
-
getBranding(): Promise<Branding>;
|
|
59
58
|
getConfiguration(): Promise<Configuration>;
|
|
60
59
|
getToken(query: GitpodServer.GetTokenSearchOptions): Promise<Token | undefined>;
|
|
61
60
|
getGitpodTokenScopes(tokenHash: string): Promise<string[]>;
|
|
@@ -271,7 +270,7 @@ export interface ProviderRepository {
|
|
|
271
270
|
installationId?: number;
|
|
272
271
|
installationUpdatedAt?: string;
|
|
273
272
|
|
|
274
|
-
inUse?:
|
|
273
|
+
inUse?: { userName: string };
|
|
275
274
|
}
|
|
276
275
|
|
|
277
276
|
export interface ClientHeaderFields {
|
|
@@ -384,10 +383,12 @@ export class GitpodCompositeClient<Client extends GitpodClient> implements Gitpo
|
|
|
384
383
|
|
|
385
384
|
public registerClient(client: Partial<Client>): Disposable {
|
|
386
385
|
this.clients.push(client);
|
|
387
|
-
const index = this.clients.length;
|
|
388
386
|
return {
|
|
389
387
|
dispose: () => {
|
|
390
|
-
this.clients.
|
|
388
|
+
const index = this.clients.indexOf(client);
|
|
389
|
+
if (index > -1) {
|
|
390
|
+
this.clients.splice(index, 1);
|
|
391
|
+
}
|
|
391
392
|
}
|
|
392
393
|
}
|
|
393
394
|
}
|
|
@@ -577,7 +578,7 @@ export class WorkspaceInstanceUpdateListener {
|
|
|
577
578
|
}
|
|
578
579
|
|
|
579
580
|
export interface GitpodServiceOptions {
|
|
580
|
-
onReconnect?: () => (void |
|
|
581
|
+
onReconnect?: () => (void | Promise<void>)
|
|
581
582
|
}
|
|
582
583
|
|
|
583
584
|
export class GitpodServiceImpl<Client extends GitpodClient, Server extends GitpodServer> {
|
|
@@ -6,37 +6,34 @@
|
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
import * as ws from "ws";
|
|
9
|
-
import * as http from "http";
|
|
10
|
-
import * as net from "net";
|
|
11
9
|
import { IWebSocket } from "vscode-ws-jsonrpc";
|
|
12
|
-
import { log } from '../../util/logging';
|
|
13
10
|
|
|
14
|
-
export
|
|
15
|
-
(webSocket: ws, request: http.IncomingMessage, socket: net.Socket, head: Buffer): void;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
export function toIWebSocket(webSocket: ws) {
|
|
19
|
-
let sendsAfterOpen = 0;
|
|
11
|
+
export function toIWebSocket(ws: ws) {
|
|
20
12
|
return <IWebSocket>{
|
|
21
13
|
send: content => {
|
|
22
|
-
if (
|
|
23
|
-
|
|
24
|
-
//log.debug(`Repeated try to send on closed web socket (readyState was ${webSocket.readyState})`, { ws });
|
|
25
|
-
}
|
|
14
|
+
if (ws.readyState >= ws.CLOSING) {
|
|
15
|
+
// ws is already CLOSING/CLOSED, send() would just return an error.
|
|
26
16
|
return;
|
|
27
17
|
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
18
|
+
|
|
19
|
+
// in general send-errors should trigger an 'error' event already, we just make sure it actually happens.
|
|
20
|
+
try {
|
|
21
|
+
ws.send(content, err => {
|
|
22
|
+
if (!err) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
ws.emit('error', err);
|
|
26
|
+
});
|
|
27
|
+
} catch (err) {
|
|
28
|
+
ws.emit('error', err);
|
|
29
|
+
}
|
|
33
30
|
},
|
|
34
|
-
onMessage: cb =>
|
|
35
|
-
onError: cb =>
|
|
36
|
-
onClose: cb =>
|
|
31
|
+
onMessage: cb => ws.on('message', cb),
|
|
32
|
+
onError: cb => ws.on('error', cb),
|
|
33
|
+
onClose: cb => ws.on('close', cb),
|
|
37
34
|
dispose: () => {
|
|
38
|
-
if (
|
|
39
|
-
|
|
35
|
+
if (ws.readyState < ws.CLOSING) {
|
|
36
|
+
ws.close();
|
|
40
37
|
}
|
|
41
38
|
}
|
|
42
39
|
};
|