@gitpod/gitpod-protocol 0.1.5-server-vscode-oauth2.11 → 0.1.5-server-vscode-oauth2.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (319) hide show
  1. package/data/gitpod-schema.json +49 -4
  2. package/lib/accounting-protocol.d.ts +10 -11
  3. package/lib/accounting-protocol.d.ts.map +1 -1
  4. package/lib/accounting-protocol.js +26 -36
  5. package/lib/accounting-protocol.js.map +1 -1
  6. package/lib/admin-protocol.d.ts +12 -0
  7. package/lib/admin-protocol.d.ts.map +1 -1
  8. package/lib/admin-protocol.js.map +1 -1
  9. package/lib/analytics.d.ts +4 -4
  10. package/lib/analytics.d.ts.map +1 -1
  11. package/lib/analytics.js.map +1 -1
  12. package/lib/auth.d.ts.map +1 -1
  13. package/lib/context-url.d.ts +18 -5
  14. package/lib/context-url.d.ts.map +1 -1
  15. package/lib/context-url.js +59 -6
  16. package/lib/context-url.js.map +1 -1
  17. package/lib/context-url.spec.d.ts +2 -0
  18. package/lib/context-url.spec.d.ts.map +1 -1
  19. package/lib/context-url.spec.js +40 -4
  20. package/lib/context-url.spec.js.map +1 -1
  21. package/lib/email-protocol.d.ts +1 -1
  22. package/lib/email-protocol.d.ts.map +1 -1
  23. package/lib/email-protocol.js +2 -2
  24. package/lib/email-protocol.js.map +1 -1
  25. package/lib/encryption/container-module.d.ts.map +1 -1
  26. package/lib/encryption/container-module.js +1 -1
  27. package/lib/encryption/container-module.js.map +1 -1
  28. package/lib/encryption/encryption-engine.d.ts.map +1 -1
  29. package/lib/encryption/encryption-engine.js +8 -8
  30. package/lib/encryption/encryption-engine.js.map +1 -1
  31. package/lib/encryption/encryption-engine.spec.d.ts.map +1 -1
  32. package/lib/encryption/encryption-engine.spec.js +2 -3
  33. package/lib/encryption/encryption-engine.spec.js.map +1 -1
  34. package/lib/encryption/encryption-service.d.ts.map +1 -1
  35. package/lib/encryption/encryption-service.js +4 -4
  36. package/lib/encryption/encryption-service.js.map +1 -1
  37. package/lib/encryption/key-provider.d.ts.map +1 -1
  38. package/lib/encryption/key-provider.js +9 -11
  39. package/lib/encryption/key-provider.js.map +1 -1
  40. package/lib/env.d.ts +1 -1
  41. package/lib/env.d.ts.map +1 -1
  42. package/lib/env.js +6 -6
  43. package/lib/env.js.map +1 -1
  44. package/lib/gitpod-file-parser.d.ts.map +1 -1
  45. package/lib/gitpod-file-parser.js +7 -7
  46. package/lib/gitpod-file-parser.js.map +1 -1
  47. package/lib/gitpod-file-parser.spec.js +42 -39
  48. package/lib/gitpod-file-parser.spec.js.map +1 -1
  49. package/lib/gitpod-service.d.ts +57 -31
  50. package/lib/gitpod-service.d.ts.map +1 -1
  51. package/lib/gitpod-service.js +26 -27
  52. package/lib/gitpod-service.js.map +1 -1
  53. package/lib/headless-workspace-log.d.ts +1 -0
  54. package/lib/headless-workspace-log.d.ts.map +1 -1
  55. package/lib/headless-workspace-log.js +2 -1
  56. package/lib/headless-workspace-log.js.map +1 -1
  57. package/lib/ide-frontend-service.d.ts +1 -1
  58. package/lib/ide-protocol.d.ts +105 -0
  59. package/lib/ide-protocol.d.ts.map +1 -0
  60. package/lib/ide-protocol.js +8 -0
  61. package/lib/ide-protocol.js.map +1 -0
  62. package/lib/index.d.ts +16 -13
  63. package/lib/index.d.ts.map +1 -1
  64. package/lib/index.js +3 -0
  65. package/lib/index.js.map +1 -1
  66. package/lib/installation-admin-protocol.d.ts +27 -0
  67. package/lib/installation-admin-protocol.d.ts.map +1 -0
  68. package/lib/installation-admin-protocol.js +30 -0
  69. package/lib/installation-admin-protocol.js.map +1 -0
  70. package/lib/license-protocol.d.ts.map +1 -1
  71. package/lib/license-protocol.js.map +1 -1
  72. package/lib/messaging/browser/connection.d.ts +1 -1
  73. package/lib/messaging/browser/connection.d.ts.map +1 -1
  74. package/lib/messaging/browser/connection.js +21 -21
  75. package/lib/messaging/browser/connection.js.map +1 -1
  76. package/lib/messaging/browser/window-connection.d.ts +4 -4
  77. package/lib/messaging/browser/window-connection.d.ts.map +1 -1
  78. package/lib/messaging/browser/window-connection.js +10 -7
  79. package/lib/messaging/browser/window-connection.js.map +1 -1
  80. package/lib/messaging/client-call-metrics.d.ts +2 -2
  81. package/lib/messaging/client-call-metrics.d.ts.map +1 -1
  82. package/lib/messaging/client-call-metrics.js +21 -21
  83. package/lib/messaging/client-call-metrics.js.map +1 -1
  84. package/lib/messaging/error.d.ts +2 -1
  85. package/lib/messaging/error.d.ts.map +1 -1
  86. package/lib/messaging/error.js +4 -2
  87. package/lib/messaging/error.js.map +1 -1
  88. package/lib/messaging/handler.d.ts.map +1 -1
  89. package/lib/messaging/handler.js +1 -1
  90. package/lib/messaging/node/connection.d.ts +1 -17
  91. package/lib/messaging/node/connection.d.ts.map +1 -1
  92. package/lib/messaging/node/connection.js +23 -59
  93. package/lib/messaging/node/connection.js.map +1 -1
  94. package/lib/messaging/proxy-factory.d.ts +1 -1
  95. package/lib/messaging/proxy-factory.d.ts.map +1 -1
  96. package/lib/messaging/proxy-factory.js +7 -9
  97. package/lib/messaging/proxy-factory.js.map +1 -1
  98. package/lib/oss-allowlist.d.ts +14 -0
  99. package/lib/oss-allowlist.d.ts.map +1 -0
  100. package/lib/oss-allowlist.js +8 -0
  101. package/lib/oss-allowlist.js.map +1 -0
  102. package/lib/payment-protocol.d.ts.map +1 -1
  103. package/lib/payment-protocol.js +1 -1
  104. package/lib/payment-protocol.js.map +1 -1
  105. package/lib/permission.d.ts +9 -3
  106. package/lib/permission.d.ts.map +1 -1
  107. package/lib/permission.js +34 -25
  108. package/lib/permission.js.map +1 -1
  109. package/lib/plans.d.ts +4 -4
  110. package/lib/plans.d.ts.map +1 -1
  111. package/lib/plans.js +206 -171
  112. package/lib/plans.js.map +1 -1
  113. package/lib/protocol.d.ts +83 -78
  114. package/lib/protocol.d.ts.map +1 -1
  115. package/lib/protocol.js +96 -85
  116. package/lib/protocol.js.map +1 -1
  117. package/lib/snapshot-url.d.ts +14 -0
  118. package/lib/snapshot-url.d.ts.map +1 -0
  119. package/lib/snapshot-url.js +26 -0
  120. package/lib/snapshot-url.js.map +1 -0
  121. package/{src/theia-plugins.ts → lib/snapshot-url.spec.d.ts} +2 -6
  122. package/lib/snapshot-url.spec.d.ts.map +1 -0
  123. package/lib/snapshot-url.spec.js +41 -0
  124. package/lib/snapshot-url.spec.js.map +1 -0
  125. package/lib/team-subscription-protocol.d.ts +5 -3
  126. package/lib/team-subscription-protocol.d.ts.map +1 -1
  127. package/lib/team-subscription-protocol.js +7 -7
  128. package/lib/team-subscription-protocol.js.map +1 -1
  129. package/lib/teams-projects-protocol.d.ts +13 -2
  130. package/lib/teams-projects-protocol.d.ts.map +1 -1
  131. package/lib/teams-projects-protocol.js +10 -3
  132. package/lib/teams-projects-protocol.js.map +1 -1
  133. package/lib/typings/globals.d.ts +2 -2
  134. package/lib/typings/globals.d.ts.map +1 -1
  135. package/lib/util/analytics.d.ts.map +1 -1
  136. package/lib/util/analytics.js +12 -3
  137. package/lib/util/analytics.js.map +1 -1
  138. package/lib/util/async-iterator.d.ts.map +1 -1
  139. package/lib/util/async-iterator.js +3 -3
  140. package/lib/util/async-iterator.js.map +1 -1
  141. package/lib/util/cancelable.js.map +1 -1
  142. package/lib/util/date-time.js +6 -6
  143. package/lib/util/date-time.js.map +1 -1
  144. package/lib/util/deferred.js.map +1 -1
  145. package/lib/util/disposable.d.ts.map +1 -1
  146. package/lib/util/disposable.js +2 -2
  147. package/lib/util/disposable.js.map +1 -1
  148. package/lib/util/event.d.ts.map +1 -1
  149. package/lib/util/event.js +5 -3
  150. package/lib/util/event.js.map +1 -1
  151. package/lib/util/garbage-collected-cache.d.ts +1 -0
  152. package/lib/util/garbage-collected-cache.d.ts.map +1 -1
  153. package/lib/util/garbage-collected-cache.js +6 -2
  154. package/lib/util/garbage-collected-cache.js.map +1 -1
  155. package/lib/util/generate-workspace-id.d.ts +1 -1
  156. package/lib/util/generate-workspace-id.d.ts.map +1 -1
  157. package/lib/util/generate-workspace-id.js +452 -435
  158. package/lib/util/generate-workspace-id.js.map +1 -1
  159. package/lib/util/generate-workspace-id.spec.js +29 -1
  160. package/lib/util/generate-workspace-id.spec.js.map +1 -1
  161. package/lib/util/gitpod-cookie.d.ts +1 -1
  162. package/lib/util/gitpod-cookie.d.ts.map +1 -1
  163. package/lib/util/gitpod-cookie.js +1 -4
  164. package/lib/util/gitpod-cookie.js.map +1 -1
  165. package/lib/util/gitpod-host-url.d.ts +1 -1
  166. package/lib/util/gitpod-host-url.d.ts.map +1 -1
  167. package/lib/util/gitpod-host-url.js +35 -33
  168. package/lib/util/gitpod-host-url.js.map +1 -1
  169. package/lib/util/gitpod-host-url.spec.d.ts.map +1 -1
  170. package/lib/util/gitpod-host-url.spec.js +15 -5
  171. package/lib/util/gitpod-host-url.spec.js.map +1 -1
  172. package/lib/util/grpc.d.ts.map +1 -1
  173. package/lib/util/grpc.js.map +1 -1
  174. package/lib/util/jaeger-client-types.d.ts +68 -0
  175. package/lib/util/jaeger-client-types.d.ts.map +1 -0
  176. package/lib/{theia-plugins.js → util/jaeger-client-types.js} +1 -1
  177. package/lib/util/jaeger-client-types.js.map +1 -0
  178. package/lib/util/logging.d.ts +33 -33
  179. package/lib/util/logging.d.ts.map +1 -1
  180. package/lib/util/logging.js +22 -23
  181. package/lib/util/logging.js.map +1 -1
  182. package/lib/util/make-link.js +5 -5
  183. package/lib/util/make-link.js.map +1 -1
  184. package/lib/util/parse-workspace-id.d.ts.map +1 -1
  185. package/lib/util/parse-workspace-id.js +2 -3
  186. package/lib/util/parse-workspace-id.js.map +1 -1
  187. package/lib/util/parse-workspace-id.spec.d.ts.map +1 -1
  188. package/lib/util/parse-workspace-id.spec.js +12 -12
  189. package/lib/util/parse-workspace-id.spec.js.map +1 -1
  190. package/lib/util/queue.spec.js +13 -10
  191. package/lib/util/queue.spec.js.map +1 -1
  192. package/lib/util/repeat.d.ts +15 -0
  193. package/lib/util/repeat.d.ts.map +1 -0
  194. package/lib/util/repeat.js +55 -0
  195. package/lib/util/repeat.js.map +1 -0
  196. package/lib/util/semaphore.d.ts.map +1 -1
  197. package/lib/util/semaphore.js.map +1 -1
  198. package/lib/util/skip-if.d.ts.map +1 -1
  199. package/lib/util/skip-if.js.map +1 -1
  200. package/lib/util/timeutil.d.ts.map +1 -1
  201. package/lib/util/timeutil.js +8 -8
  202. package/lib/util/timeutil.js.map +1 -1
  203. package/lib/util/timeutil.spec.d.ts.map +1 -1
  204. package/lib/util/timeutil.spec.js +2 -2
  205. package/lib/util/timeutil.spec.js.map +1 -1
  206. package/lib/util/tracing.d.ts +52 -6
  207. package/lib/util/tracing.d.ts.map +1 -1
  208. package/lib/util/tracing.js +161 -22
  209. package/lib/util/tracing.js.map +1 -1
  210. package/lib/util/tracing.spec.d.ts +7 -0
  211. package/lib/util/tracing.spec.d.ts.map +1 -0
  212. package/lib/util/tracing.spec.js +121 -0
  213. package/lib/util/tracing.spec.js.map +1 -0
  214. package/lib/util/workspace-port-authentication.d.ts +7 -7
  215. package/lib/util/workspace-port-authentication.d.ts.map +1 -1
  216. package/lib/util/workspace-port-authentication.js +8 -11
  217. package/lib/util/workspace-port-authentication.js.map +1 -1
  218. package/lib/workspace-cluster.d.ts +10 -8
  219. package/lib/workspace-cluster.d.ts.map +1 -1
  220. package/lib/workspace-cluster.js +17 -2
  221. package/lib/workspace-cluster.js.map +1 -1
  222. package/lib/workspace-instance.d.ts +23 -4
  223. package/lib/workspace-instance.d.ts.map +1 -1
  224. package/lib/wsready.d.ts +1 -1
  225. package/lib/wsready.d.ts.map +1 -1
  226. package/lib/wsready.js +2 -2
  227. package/package.json +21 -14
  228. package/pkg-yarn.lock +12 -8
  229. package/provenance-bundle.jsonl +2 -0
  230. package/src/accounting-protocol.ts +53 -53
  231. package/src/admin-protocol.ts +35 -18
  232. package/src/analytics.ts +27 -27
  233. package/src/auth.ts +2 -2
  234. package/src/context-url.spec.ts +37 -9
  235. package/src/context-url.ts +94 -36
  236. package/src/email-protocol.ts +5 -6
  237. package/src/encryption/container-module.ts +2 -3
  238. package/src/encryption/encryption-engine.spec.ts +9 -8
  239. package/src/encryption/encryption-engine.ts +14 -14
  240. package/src/encryption/encryption-service.ts +4 -5
  241. package/src/encryption/key-provider.ts +16 -19
  242. package/src/env.ts +9 -9
  243. package/src/gitpod-file-parser.spec.ts +55 -61
  244. package/src/gitpod-file-parser.ts +16 -17
  245. package/src/gitpod-service.ts +167 -113
  246. package/src/headless-workspace-log.ts +6 -4
  247. package/src/ide-frontend-service.ts +2 -2
  248. package/src/ide-protocol.ts +119 -0
  249. package/src/index.ts +16 -13
  250. package/src/installation-admin-protocol.ts +42 -0
  251. package/src/license-protocol.ts +5 -6
  252. package/src/messaging/browser/connection.ts +45 -47
  253. package/src/messaging/browser/window-connection.ts +39 -29
  254. package/src/messaging/client-call-metrics.ts +70 -71
  255. package/src/messaging/error.ts +6 -5
  256. package/src/messaging/handler.ts +6 -6
  257. package/src/messaging/node/connection.ts +23 -70
  258. package/src/messaging/proxy-factory.ts +23 -30
  259. package/src/oss-allowlist.ts +15 -0
  260. package/src/payment-protocol.ts +2 -2
  261. package/src/permission.ts +40 -32
  262. package/src/plans.ts +236 -189
  263. package/src/protocol.ts +280 -277
  264. package/src/snapshot-url.spec.ts +27 -0
  265. package/src/snapshot-url.ts +27 -0
  266. package/src/team-subscription-protocol.ts +33 -23
  267. package/src/teams-projects-protocol.ts +24 -8
  268. package/src/typings/globals.ts +4 -4
  269. package/src/util/analytics.ts +46 -24
  270. package/src/util/async-iterator.ts +4 -5
  271. package/src/util/cancelable.ts +3 -3
  272. package/src/util/date-time.ts +8 -8
  273. package/src/util/deferred.ts +6 -6
  274. package/src/util/disposable.ts +3 -6
  275. package/src/util/event.ts +9 -11
  276. package/src/util/garbage-collected-cache.ts +9 -6
  277. package/src/util/generate-workspace-id.spec.ts +26 -6
  278. package/src/util/generate-workspace-id.ts +458 -440
  279. package/src/util/gitpod-cookie.ts +8 -9
  280. package/src/util/gitpod-host-url.spec.ts +40 -13
  281. package/src/util/gitpod-host-url.ts +41 -38
  282. package/src/util/grpc.ts +1 -1
  283. package/src/util/jaeger-client-types.ts +102 -0
  284. package/src/util/logging.ts +81 -71
  285. package/src/util/make-link.ts +6 -7
  286. package/src/util/parse-workspace-id.spec.ts +17 -8
  287. package/src/util/parse-workspace-id.ts +6 -7
  288. package/src/util/queue.spec.ts +27 -25
  289. package/src/util/repeat.ts +45 -0
  290. package/src/util/semaphore.ts +4 -6
  291. package/src/util/skip-if.ts +9 -6
  292. package/src/util/timeutil.spec.ts +14 -15
  293. package/src/util/timeutil.ts +15 -11
  294. package/src/util/tracing.spec.ts +88 -0
  295. package/src/util/tracing.ts +202 -31
  296. package/src/util/workspace-port-authentication.ts +10 -13
  297. package/src/workspace-cluster.ts +26 -15
  298. package/src/workspace-instance.ts +48 -24
  299. package/src/wsready.ts +3 -3
  300. package/data/builtin-theia-plugins.json +0 -372
  301. package/lib/messaging/connection-error-handler.d.ts +0 -27
  302. package/lib/messaging/connection-error-handler.d.ts.map +0 -1
  303. package/lib/messaging/connection-error-handler.js +0 -34
  304. package/lib/messaging/connection-error-handler.js.map +0 -1
  305. package/lib/theia-plugins.d.ts +0 -11
  306. package/lib/theia-plugins.d.ts.map +0 -1
  307. package/lib/theia-plugins.js.map +0 -1
  308. package/lib/util/repeater.d.ts +0 -22
  309. package/lib/util/repeater.d.ts.map +0 -1
  310. package/lib/util/repeater.js +0 -65
  311. package/lib/util/repeater.js.map +0 -1
  312. package/lib/util/safe-promise.d.ts +0 -11
  313. package/lib/util/safe-promise.d.ts.map +0 -1
  314. package/lib/util/safe-promise.js +0 -31
  315. package/lib/util/safe-promise.js.map +0 -1
  316. package/src/messaging/connection-error-handler.ts +0 -62
  317. package/src/util/jaeger-client.d.ts +0 -105
  318. package/src/util/repeater.ts +0 -49
  319. package/src/util/safe-promise.ts +0 -26
@@ -4,7 +4,7 @@
4
4
  * See License-AGPL.txt in the project root for license information.
5
5
  */
6
6
  import { DeepPartial } from "./util/deep-partial";
7
- import { PermissionName } from './permission';
7
+ import { PermissionName } from "./permission";
8
8
  export interface WorkspaceCluster {
9
9
  name: string;
10
10
  url: string;
@@ -14,7 +14,6 @@ export interface WorkspaceCluster {
14
14
  score: number;
15
15
  govern: boolean;
16
16
  admissionConstraints?: AdmissionConstraint[];
17
- admissionPreferences?: AdmissionPreference[];
18
17
  }
19
18
  export declare type WorkspaceClusterState = "available" | "cordoned" | "draining";
20
19
  export interface TLSConfig {
@@ -27,11 +26,11 @@ export declare namespace TLSConfig {
27
26
  }
28
27
  export declare type WorkspaceClusterWoTLS = Omit<WorkspaceCluster, "tls">;
29
28
  export declare type WorkspaceManagerConnectionInfo = Pick<WorkspaceCluster, "name" | "url" | "tls">;
30
- export declare type AdmissionConstraint = AdmissionConstraintFeaturePreview | AdmissionConstraintHasRole | AdmissionConstraintHasUserLevel;
29
+ export declare type AdmissionConstraint = AdmissionConstraintFeaturePreview | AdmissionConstraintHasPermission | AdmissionConstraintHasUserLevel | AdmissionConstraintHasMoreResources;
31
30
  export declare type AdmissionConstraintFeaturePreview = {
32
31
  type: "has-feature-preview";
33
32
  };
34
- export declare type AdmissionConstraintHasRole = {
33
+ export declare type AdmissionConstraintHasPermission = {
35
34
  type: "has-permission";
36
35
  permission: PermissionName;
37
36
  };
@@ -39,11 +38,14 @@ export declare type AdmissionConstraintHasUserLevel = {
39
38
  type: "has-user-level";
40
39
  level: string;
41
40
  };
42
- export declare type AdmissionPreference = AdmissionPreferenceUserLevel;
43
- export declare type AdmissionPreferenceUserLevel = {
44
- type: 'user-level';
45
- level: string;
41
+ export declare type AdmissionConstraintHasMoreResources = {
42
+ type: "has-more-resources";
46
43
  };
44
+ export declare namespace AdmissionConstraint {
45
+ function is(o: any): o is AdmissionConstraint;
46
+ function isHasPermissionConstraint(o: any): o is AdmissionConstraintHasPermission;
47
+ function hasPermission(ac: AdmissionConstraint, permission: PermissionName): boolean;
48
+ }
47
49
  export declare const WorkspaceClusterDB: unique symbol;
48
50
  export interface WorkspaceClusterDB {
49
51
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-cluster.d.ts","sourceRoot":"","sources":["../src/workspace-cluster.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,MAAM,WAAW,gBAAgB;IAI7B,IAAI,EAAE,MAAM,CAAC;IAGb,GAAG,EAAE,MAAM,CAAC;IAGZ,GAAG,CAAC,EAAE,SAAS,CAAC;IAGhB,KAAK,EAAE,qBAAqB,CAAC;IAG7B,QAAQ,EAAE,MAAM,CAAC;IAGjB,KAAK,EAAE,MAAM,CAAC;IAGd,MAAM,EAAE,OAAO,CAAC;IAGhB,oBAAoB,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAG7C,oBAAoB,CAAC,EAAE,mBAAmB,EAAE,CAAC;CAChD;AAED,oBAAY,qBAAqB,GAAG,WAAW,GAAG,UAAU,GAAG,UAAU,CAAC;AAC1E,MAAM,WAAW,SAAS;IAEtB,EAAE,EAAE,MAAM,CAAC;IAEX,GAAG,EAAE,MAAM,CAAC;IAEZ,GAAG,EAAE,MAAM,CAAC;CACf;AACD,yBAAiB,SAAS,CAAC;IAChB,MAAM,kBAAkB,SAAU,MAAM,KAAG,MAA6E,CAAC;CACnI;AACD,oBAAY,qBAAqB,GAAG,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;AAClE,oBAAY,8BAA8B,GAAG,IAAI,CAAC,gBAAgB,EAAE,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC,CAAC;AAE5F,oBAAY,mBAAmB,GAAG,iCAAiC,GAAG,0BAA0B,GAAG,+BAA+B,CAAC;AACnI,oBAAY,iCAAiC,GAAG;IAAE,IAAI,EAAE,qBAAqB,CAAA;CAAE,CAAC;AAChF,oBAAY,0BAA0B,GAAG;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,UAAU,EAAE,cAAc,CAAA;CAAE,CAAC;AAChG,oBAAY,+BAA+B,GAAG;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAExF,oBAAY,mBAAmB,GAAG,4BAA4B,CAAC;AAC/D,oBAAY,4BAA4B,GAAG;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAGjF,eAAO,MAAM,kBAAkB,eAA+B,CAAC;AAC/D,MAAM,WAAW,kBAAkB;IAC/B;;;;OAIG;IACH,IAAI,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/C;;;OAGG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1C;;;OAGG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAAC;IAEhE;;;OAGG;IACH,YAAY,CAAC,SAAS,EAAE,WAAW,CAAC,sBAAsB,CAAC,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC;CAClG;AACD,MAAM,WAAW,sBAAuB,SAAQ,IAAI,CAAC,gBAAgB,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IAC9F,QAAQ,EAAE,MAAM,CAAC;CACpB"}
1
+ {"version":3,"file":"workspace-cluster.d.ts","sourceRoot":"","sources":["../src/workspace-cluster.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,MAAM,WAAW,gBAAgB;IAI7B,IAAI,EAAE,MAAM,CAAC;IAGb,GAAG,EAAE,MAAM,CAAC;IAGZ,GAAG,CAAC,EAAE,SAAS,CAAC;IAGhB,KAAK,EAAE,qBAAqB,CAAC;IAG7B,QAAQ,EAAE,MAAM,CAAC;IAGjB,KAAK,EAAE,MAAM,CAAC;IAGd,MAAM,EAAE,OAAO,CAAC;IAGhB,oBAAoB,CAAC,EAAE,mBAAmB,EAAE,CAAC;CAChD;AAED,oBAAY,qBAAqB,GAAG,WAAW,GAAG,UAAU,GAAG,UAAU,CAAC;AAC1E,MAAM,WAAW,SAAS;IAEtB,EAAE,EAAE,MAAM,CAAC;IAEX,GAAG,EAAE,MAAM,CAAC;IAEZ,GAAG,EAAE,MAAM,CAAC;CACf;AACD,yBAAiB,SAAS,CAAC;IAChB,MAAM,kBAAkB,SAAU,MAAM,KAAG,MACqB,CAAC;CAC3E;AACD,oBAAY,qBAAqB,GAAG,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;AAClE,oBAAY,8BAA8B,GAAG,IAAI,CAAC,gBAAgB,EAAE,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC,CAAC;AAE5F,oBAAY,mBAAmB,GACzB,iCAAiC,GACjC,gCAAgC,GAChC,+BAA+B,GAC/B,mCAAmC,CAAC;AAC1C,oBAAY,iCAAiC,GAAG;IAAE,IAAI,EAAE,qBAAqB,CAAA;CAAE,CAAC;AAChF,oBAAY,gCAAgC,GAAG;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,UAAU,EAAE,cAAc,CAAA;CAAE,CAAC;AACtG,oBAAY,+BAA+B,GAAG;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AACxF,oBAAY,mCAAmC,GAAG;IAAE,IAAI,EAAE,oBAAoB,CAAA;CAAE,CAAC;AAEjF,yBAAiB,mBAAmB,CAAC;IACjC,SAAgB,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,mBAAmB,CAEnD;IACD,SAAgB,yBAAyB,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,gCAAgC,CAEvF;IACD,SAAgB,aAAa,CAAC,EAAE,EAAE,mBAAmB,EAAE,UAAU,EAAE,cAAc,GAAG,OAAO,CAE1F;CACJ;AAED,eAAO,MAAM,kBAAkB,eAA+B,CAAC;AAC/D,MAAM,WAAW,kBAAkB;IAC/B;;;;OAIG;IACH,IAAI,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/C;;;OAGG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1C;;;OAGG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAAC;IAEhE;;;OAGG;IACH,YAAY,CAAC,SAAS,EAAE,WAAW,CAAC,sBAAsB,CAAC,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC;CAClG;AACD,MAAM,WAAW,sBAAuB,SAAQ,IAAI,CAAC,gBAAgB,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IAC9F,QAAQ,EAAE,MAAM,CAAC;CACpB"}
@@ -5,12 +5,27 @@
5
5
  * See License-AGPL.txt in the project root for license information.
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.WorkspaceClusterDB = exports.TLSConfig = void 0;
8
+ exports.WorkspaceClusterDB = exports.AdmissionConstraint = exports.TLSConfig = void 0;
9
9
  const fs = require("fs");
10
10
  const env_1 = require("./env");
11
11
  var TLSConfig;
12
12
  (function (TLSConfig) {
13
- TLSConfig.loadFromBase64File = (path) => fs.readFileSync(env_1.filePathTelepresenceAware(path)).toString("base64");
13
+ TLSConfig.loadFromBase64File = (path) => fs.readFileSync((0, env_1.filePathTelepresenceAware)(path)).toString("base64");
14
14
  })(TLSConfig = exports.TLSConfig || (exports.TLSConfig = {}));
15
+ var AdmissionConstraint;
16
+ (function (AdmissionConstraint) {
17
+ function is(o) {
18
+ return !!o && "type" in o;
19
+ }
20
+ AdmissionConstraint.is = is;
21
+ function isHasPermissionConstraint(o) {
22
+ return is(o) && o.type === "has-permission";
23
+ }
24
+ AdmissionConstraint.isHasPermissionConstraint = isHasPermissionConstraint;
25
+ function hasPermission(ac, permission) {
26
+ return isHasPermissionConstraint(ac) && ac.permission === permission;
27
+ }
28
+ AdmissionConstraint.hasPermission = hasPermission;
29
+ })(AdmissionConstraint = exports.AdmissionConstraint || (exports.AdmissionConstraint = {}));
15
30
  exports.WorkspaceClusterDB = Symbol("WorkspaceClusterDB");
16
31
  //# sourceMappingURL=workspace-cluster.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-cluster.js","sourceRoot":"","sources":["../src/workspace-cluster.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,yBAAyB;AACzB,+BAAkD;AA4ClD,IAAiB,SAAS,CAEzB;AAFD,WAAiB,SAAS;IACT,4BAAkB,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,+BAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACpI,CAAC,EAFgB,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAEzB;AAaY,QAAA,kBAAkB,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC"}
1
+ {"version":3,"file":"workspace-cluster.js","sourceRoot":"","sources":["../src/workspace-cluster.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,yBAAyB;AACzB,+BAAkD;AAyClD,IAAiB,SAAS,CAGzB;AAHD,WAAiB,SAAS;IACT,4BAAkB,GAAG,CAAC,IAAY,EAAU,EAAE,CACvD,EAAE,CAAC,YAAY,CAAC,IAAA,+BAAyB,EAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC5E,CAAC,EAHgB,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAGzB;AAcD,IAAiB,mBAAmB,CAUnC;AAVD,WAAiB,mBAAmB;IAChC,SAAgB,EAAE,CAAC,CAAM;QACrB,OAAO,CAAC,CAAC,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC;IAC9B,CAAC;IAFe,sBAAE,KAEjB,CAAA;IACD,SAAgB,yBAAyB,CAAC,CAAM;QAC5C,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,gBAAgB,CAAC;IAChD,CAAC;IAFe,6CAAyB,4BAExC,CAAA;IACD,SAAgB,aAAa,CAAC,EAAuB,EAAE,UAA0B;QAC7E,OAAO,yBAAyB,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,UAAU,KAAK,UAAU,CAAC;IACzE,CAAC;IAFe,iCAAa,gBAE5B,CAAA;AACL,CAAC,EAVgB,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAUnC;AAEY,QAAA,kBAAkB,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC"}
@@ -18,6 +18,10 @@ export interface WorkspaceInstance {
18
18
  status: WorkspaceInstanceStatus;
19
19
  configuration?: WorkspaceInstanceConfiguration;
20
20
  readonly deleted?: boolean;
21
+ /**
22
+ * Contains information about the image build, if there was any
23
+ */
24
+ imageBuildInfo?: ImageBuildInfo;
21
25
  }
22
26
  export interface WorkspaceInstanceStatus {
23
27
  phase: WorkspaceInstancePhase;
@@ -36,18 +40,16 @@ export interface WorkspaceInstanceConditions {
36
40
  failed?: string;
37
41
  timeout?: string;
38
42
  pullingImages?: boolean;
39
- serviceExists?: boolean;
40
43
  deployed?: boolean;
41
44
  neededImageBuild?: boolean;
42
45
  firstUserActivity?: string;
43
46
  headlessTaskFailed?: string;
44
47
  stoppedByRequest?: boolean;
45
48
  }
46
- export declare type AdmissionLevel = 'owner_only' | 'everyone';
47
- export declare type PortVisibility = 'public' | 'private';
49
+ export declare type AdmissionLevel = "owner_only" | "everyone";
50
+ export declare type PortVisibility = "public" | "private";
48
51
  export interface WorkspaceInstancePort {
49
52
  port: number;
50
- targetPort?: number;
51
53
  visibility?: PortVisibility;
52
54
  url?: string;
53
55
  }
@@ -65,5 +67,22 @@ export interface WorkspaceInstanceConfiguration {
65
67
  theiaVersion?: string;
66
68
  featureFlags?: NamedWorkspaceFeatureFlag[];
67
69
  ideImage: string;
70
+ desktopIdeImage?: string;
71
+ supervisorImage?: string;
72
+ }
73
+ /**
74
+ * Holds information about the image build (if there was one) for this WorkspaceInstance
75
+ */
76
+ export interface ImageBuildInfo {
77
+ log?: ImageBuildLogInfo;
78
+ }
79
+ /**
80
+ * Holds information about how to access logs for this an image build
81
+ */
82
+ export interface ImageBuildLogInfo {
83
+ url: string;
84
+ headers: {
85
+ [key: string]: string;
86
+ };
68
87
  }
69
88
  //# sourceMappingURL=workspace-instance.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-instance.d.ts","sourceRoot":"","sources":["../src/workspace-instance.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAGvD,MAAM,WAAW,iBAAiB;IAE9B,EAAE,EAAE,MAAM,CAAC;IAGX,WAAW,EAAE,MAAM,CAAC;IAGpB,YAAY,EAAE,MAAM,CAAC;IAGrB,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,WAAW,CAAC,EAAE,MAAM,CAAC;IAIrB,MAAM,EAAE,MAAM,CAAC;IAIf,MAAM,EAAE,MAAM,CAAC;IAIf,cAAc,EAAE,MAAM,CAAC;IAGvB,MAAM,EAAE,uBAAuB,CAAC;IAKhC,aAAa,CAAC,EAAE,8BAA8B,CAAC;IAG/C,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC9B;AAGD,MAAM,WAAW,uBAAuB;IAEpC,KAAK,EAAE,sBAAsB,CAAC;IAG9B,UAAU,EAAE,2BAA2B,CAAC;IAGxC,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,YAAY,CAAC,EAAE,qBAAqB,EAAE,CAAC;IAGvC,IAAI,CAAC,EAAE,2BAA2B,CAAC;IAGnC,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAGlB,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAGhB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAGD,oBAAY,sBAAsB,GAG9B,SAAS,GAIT,WAAW,GAKX,SAAS,GAKT,UAAU,GAIV,cAAc,GAId,SAAS,GAIT,aAAa,GAGb,UAAU,GAGV,SAAS,CAAC;AAEd,MAAM,WAAW,2BAA2B;IAExC,MAAM,CAAC,EAAE,MAAM,CAAA;IAGf,OAAO,CAAC,EAAE,MAAM,CAAA;IAGhB,aAAa,CAAC,EAAE,OAAO,CAAA;IAGvB,aAAa,CAAC,EAAE,OAAO,CAAA;IAGvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAGnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAG3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAG3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAG5B,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAGD,oBAAY,cAAc,GAAG,YAAY,GAAG,UAAU,CAAC;AAGvD,oBAAY,cAAc,GAAG,QAAQ,GAAG,SAAS,CAAC;AAGlD,MAAM,WAAW,qBAAqB;IAElC,IAAI,EAAE,MAAM,CAAC;IAGb,UAAU,CAAC,EAAE,MAAM,CAAC;IAGpB,UAAU,CAAC,EAAE,cAAc,CAAC;IAG5B,GAAG,CAAC,EAAE,MAAM,CAAC;CAChB;AAGD,MAAM,WAAW,2BAA2B;IAExC,MAAM,CAAC,EAAE,MAAM,CAAC;IAGhB,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAG3B,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAG7B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAG1B,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAG5B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAG3B,oBAAoB,CAAC,EAAE,MAAM,CAAA;CAChC;AAGD,MAAM,WAAW,8BAA8B;IAG3C,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,YAAY,CAAC,EAAE,yBAAyB,EAAE,CAAC;IAG3C,QAAQ,EAAE,MAAM,CAAC;CACpB"}
1
+ {"version":3,"file":"workspace-instance.d.ts","sourceRoot":"","sources":["../src/workspace-instance.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAGvD,MAAM,WAAW,iBAAiB;IAE9B,EAAE,EAAE,MAAM,CAAC;IAGX,WAAW,EAAE,MAAM,CAAC;IAGpB,YAAY,EAAE,MAAM,CAAC;IAGrB,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,WAAW,CAAC,EAAE,MAAM,CAAC;IAIrB,MAAM,EAAE,MAAM,CAAC;IAIf,MAAM,EAAE,MAAM,CAAC;IAIf,cAAc,EAAE,MAAM,CAAC;IAGvB,MAAM,EAAE,uBAAuB,CAAC;IAKhC,aAAa,CAAC,EAAE,8BAA8B,CAAC;IAG/C,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAE3B;;OAEG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;CACnC;AAGD,MAAM,WAAW,uBAAuB;IAEpC,KAAK,EAAE,sBAAsB,CAAC;IAG9B,UAAU,EAAE,2BAA2B,CAAC;IAGxC,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,YAAY,CAAC,EAAE,qBAAqB,EAAE,CAAC;IAGvC,IAAI,CAAC,EAAE,2BAA2B,CAAC;IAGnC,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAGlB,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAGhB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAGD,oBAAY,sBAAsB,GAG5B,SAAS,GAIT,WAAW,GAKX,SAAS,GAKT,UAAU,GAIV,cAAc,GAId,SAAS,GAIT,aAAa,GAGb,UAAU,GAGV,SAAS,CAAC;AAEhB,MAAM,WAAW,2BAA2B;IAGxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAGhB,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,aAAa,CAAC,EAAE,OAAO,CAAC;IAGxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAGnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAG3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAM3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAG5B,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAGD,oBAAY,cAAc,GAAG,YAAY,GAAG,UAAU,CAAC;AAGvD,oBAAY,cAAc,GAAG,QAAQ,GAAG,SAAS,CAAC;AAGlD,MAAM,WAAW,qBAAqB;IAElC,IAAI,EAAE,MAAM,CAAC;IAGb,UAAU,CAAC,EAAE,cAAc,CAAC;IAG5B,GAAG,CAAC,EAAE,MAAM,CAAC;CAChB;AAGD,MAAM,WAAW,2BAA2B;IAExC,MAAM,CAAC,EAAE,MAAM,CAAC;IAGhB,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAG3B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAG9B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAG1B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAG7B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAG3B,oBAAoB,CAAC,EAAE,MAAM,CAAC;CACjC;AAGD,MAAM,WAAW,8BAA8B;IAG3C,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,YAAY,CAAC,EAAE,yBAAyB,EAAE,CAAC;IAG3C,QAAQ,EAAE,MAAM,CAAC;IAGjB,eAAe,CAAC,EAAE,MAAM,CAAC;IAGzB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,GAAG,CAAC,EAAE,iBAAiB,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CACtC"}
package/lib/wsready.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2021 Gitpod GmbH. All rights reserved.
2
+ * Copyright (c) 2022 Gitpod GmbH. All rights reserved.
3
3
  * Licensed under the GNU Affero General Public License (AGPL).
4
4
  * See License-AGPL.txt in the project root for license information.
5
5
  */
@@ -1 +1 @@
1
- {"version":3,"file":"wsready.d.ts","sourceRoot":"","sources":["../src/wsready.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,oBAAY,mBAAmB;IAC3B,uBAAuB,gBAAgB;IACvC,yBAAyB,kBAAkB;IAC3C,sBAAsB,eAAe;CACxC;AACD,MAAM,WAAW,qBAAqB;IAClC,MAAM,EAAE,mBAAmB,CAAA;CAC9B"}
1
+ {"version":3,"file":"wsready.d.ts","sourceRoot":"","sources":["../src/wsready.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,oBAAY,mBAAmB;IAC3B,uBAAuB,gBAAgB;IACvC,yBAAyB,kBAAkB;IAC3C,sBAAsB,eAAe;CACxC;AACD,MAAM,WAAW,qBAAqB;IAClC,MAAM,EAAE,mBAAmB,CAAC;CAC/B"}
package/lib/wsready.js CHANGED
@@ -1,12 +1,12 @@
1
1
  "use strict";
2
2
  /**
3
- * Copyright (c) 2021 Gitpod GmbH. All rights reserved.
3
+ * Copyright (c) 2022 Gitpod GmbH. All rights reserved.
4
4
  * Licensed under the GNU Affero General Public License (AGPL).
5
5
  * See License-AGPL.txt in the project root for license information.
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
8
  exports.WorkspaceInitSource = void 0;
9
- // generated using github.com/32leaves/bel on 2021-08-03 10:42:32.582603295 +0000 UTC m=+0.005734479
9
+ // generated using github.com/32leaves/bel on 2022-02-15 11:53:18.380158212 +0000 UTC m=+0.011913675
10
10
  // DO NOT MODIFY
11
11
  var WorkspaceInitSource;
12
12
  (function (WorkspaceInitSource) {
package/package.json CHANGED
@@ -1,39 +1,45 @@
1
1
  {
2
2
  "dependencies": {
3
+ "@types/react": "17.0.32",
3
4
  "ajv": "^6.5.4",
4
5
  "analytics-node": "^4.0.1",
5
- "cookie": "^0.4.1",
6
- "inversify": "^5.0.1",
7
- "jaeger-client": "3.17.2",
6
+ "cookie": "^0.4.2",
7
+ "inversify": "^5.1.1",
8
+ "jaeger-client": "^3.18.1",
8
9
  "js-yaml": "^3.10.0",
9
- "opentracing": "^0.14.4",
10
+ "opentracing": "^0.14.5",
10
11
  "prom-client": "^13.2.0",
11
12
  "random-number-csprng": "^1.0.2",
13
+ "react": "17.0.2",
14
+ "react-dom": "17.0.2",
12
15
  "reconnecting-websocket": "^4.4.0",
13
- "reflect-metadata": "^0.1.10",
14
- "uuid": "^3.3.3",
16
+ "reflect-metadata": "^0.1.13",
17
+ "uuid": "^8.3.2",
15
18
  "vscode-jsonrpc": "^5.0.1",
16
- "vscode-languageserver-protocol": "3.15.3",
19
+ "vscode-languageserver-protocol": "3.16.0",
20
+ "vscode-languageserver-types": "3.16.0",
17
21
  "vscode-uri": "^1.0.1",
18
22
  "vscode-ws-jsonrpc": "^0.2.0",
19
23
  "ws": "^7.4.6"
20
24
  },
21
25
  "devDependencies": {
22
- "@types/analytics-node": "^3.1.4",
23
- "@types/chai-subset": "^1.3.1",
26
+ "@types/analytics-node": "^3.1.5",
27
+ "@types/chai-subset": "^1.3.3",
24
28
  "@types/cookie": "^0.4.1",
29
+ "@types/jaeger-client": "^3.18.3",
25
30
  "@types/js-yaml": "^3.10.1",
26
31
  "@types/mocha": "^5.2.7",
32
+ "@types/node": "^16.11.6",
27
33
  "@types/random-number-csprng": "^1.0.0",
28
- "@types/uuid": "^3.4.5",
34
+ "@types/uuid": "^8.3.1",
29
35
  "@types/ws": "^5.1.2",
30
- "chai": "^4.1.2",
36
+ "chai": "^4.3.4",
31
37
  "chai-subset": "^1.6.0",
32
38
  "mocha": "^5.0.0",
33
39
  "mocha-typescript": "^1.1.11",
34
40
  "rimraf": "^2.6.2",
35
41
  "ts-node": "^9.0.0",
36
- "typescript": "~4.1.2",
42
+ "typescript": "~4.4.2",
37
43
  "typescript-json-schema": "^0.50.1",
38
44
  "typescript-parser": "^2.6.1"
39
45
  },
@@ -41,7 +47,8 @@
41
47
  "lib",
42
48
  "data/*.json",
43
49
  "src",
44
- "pkg-yarn.lock"
50
+ "pkg-yarn.lock",
51
+ "provenance-bundle.jsonl"
45
52
  ],
46
53
  "license": "UNLICENSED",
47
54
  "main": "./lib/index.js",
@@ -54,5 +61,5 @@
54
61
  "watch": "leeway exec --package .:lib --transitive-dependencies --filter-type yarn --components --parallel -- tsc -w --preserveWatchOutput"
55
62
  },
56
63
  "types": "./lib/index.d.ts",
57
- "version": "0.1.5-server-vscode-oauth2.11"
64
+ "version": "0.1.5-server-vscode-oauth2.25"
58
65
  }
package/pkg-yarn.lock CHANGED
@@ -4,22 +4,26 @@
4
4
 
5
5
  "@gitpod/gitpod-protocol@0.1.5":
6
6
  version "0.1.5"
7
- resolved "file:///tmp/cache/e6ff35b3336fea858846625b6cfeaf6534895151.tar.gz"
7
+ resolved "file:///tmp/cache/1c13de6a9a6793df9af31ecfbdd512d58bebf995.tar.gz"
8
8
  dependencies:
9
+ "@types/react" "17.0.32"
9
10
  ajv "^6.5.4"
10
11
  analytics-node "^4.0.1"
11
- cookie "^0.4.1"
12
- inversify "^5.0.1"
13
- jaeger-client "3.17.2"
12
+ cookie "^0.4.2"
13
+ inversify "^5.1.1"
14
+ jaeger-client "^3.18.1"
14
15
  js-yaml "^3.10.0"
15
- opentracing "^0.14.4"
16
+ opentracing "^0.14.5"
16
17
  prom-client "^13.2.0"
17
18
  random-number-csprng "^1.0.2"
19
+ react "17.0.2"
20
+ react-dom "17.0.2"
18
21
  reconnecting-websocket "^4.4.0"
19
- reflect-metadata "^0.1.10"
20
- uuid "^3.3.3"
22
+ reflect-metadata "^0.1.13"
23
+ uuid "^8.3.2"
21
24
  vscode-jsonrpc "^5.0.1"
22
- vscode-languageserver-protocol "3.15.3"
25
+ vscode-languageserver-protocol "3.16.0"
26
+ vscode-languageserver-types "3.16.0"
23
27
  vscode-uri "^1.0.1"
24
28
  vscode-ws-jsonrpc "^0.2.0"
25
29
  ws "^7.4.6"
@@ -0,0 +1,2 @@
1
+ {"payloadType":"application/vnd.in-toto+json","payload":"ewogICJfdHlwZSI6ICJodHRwczovL2luLXRvdG8uaW8vU3RhdGVtZW50L3YwLjEiLAogICJwcmVkaWNhdGVUeXBlIjogImh0dHBzOi8vc2xzYS5kZXYvcHJvdmVuYW5jZS92MC4xIiwKICAic3ViamVjdCI6IFsKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi90ZWFtcy1wcm9qZWN0cy1wcm90b2NvbC5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiODgyOGZmYjQ5MWIyMDFmZTNhY2I2YmEzMDc5Y2Q4MDZmZjQ5N2UyOGU4MDcxZDliMjFiNmU2MzNlZjhlZjM5NiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3F1ZXVlLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImQ4NGNhZjc5ZWZjNzk5MjRkNGRiNWZkZmQ2MGZjOTljYTFmYzcwZjIzZWZiMTg2NjUzMWIxYmJkNGFjMTc5ZjEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvYXV0aC5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI3YjI4ZjEyNzlmZDdlZjAxMDc3ODZiY2QzNzAxOGIwZGYzZmNlY2RkYzNlOTBmMTk2MWM0YzUwZWEwMmQ2YjU3IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3Blcm1pc3Npb24uZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJlOGY5NTAwMGE5NGUzOTY5ODEwZmIwMDRlYTk1NGU2M2VmNTEwMDM4MTQxYzRkYWUwZGExNDY0OWYyY2IyMTU0IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ2VuZXJhdGUtd29ya3NwYWNlLWlkLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJlNGU1NzJkZWY2Y2VkOTNjYWI3MGZkY2VkYjE2ZTE1NGExYmQ1NDczMjM3M2QyZDJmZGU4ZTEzNzRkNmVmNDM3IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvamFlZ2VyLWNsaWVudC10eXBlcy5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjkwMWZiZjgyN2QwYjBlODM2Yjc2ZWZjNzkzYWU0NTgzOWZkYjFlOGE2NTI2YTNmMjcwMTZkNTc1ZTRmMzg3ZTUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9kZWVwLXBhcnRpYWwuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI5NjRhMjkzMWMxNzkzZGRlYTVhODZmMjU3NmNmYmU0M2IzMmFlMDIwZjZkYTk1OGFlNGY2OTA1ZjlmNTFmMjEwIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvamFlZ2VyLWNsaWVudC10eXBlcy5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOWQ4NzVhM2M2ZjQ5N2VkMWY5ZTNiOTgwMDE5NDVmOGJkMTk3YjE5OTlmYjZhZDg3ZTE3OWQ0NzdkMjJmZDc4MSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dycGMuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMWU2ZWYyYzExMDIwNDdmZmZiYWQyY2EwMzUyNGVlOGY0MGVkNTU5ZmQ3NzQwZjEyYTA4NmVlNGNiYzU1NTE1NyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dpdHBvZC1ob3N0LXVybC5zcGVjLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjIxMjE3NjRmMGExZTY1MDI3MDYxNzcyOGEwMjUyZmU4NDRjY2RmNGM2Y2Q5MzkxOWZlODg3ZmI3Y2JhYTM3OGUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdHlwaW5ncy9nbG9iYWxzLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImYzNTQ1MjBlMTM0NmQ4Njc0Y2NmODUxMDY5NTQ1Nzk5ZTA0YmNkMzI1MzY5ODRkMDQyNDA0ZjgyMjIxNDIyZjgiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvcGVybWlzc2lvbi5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIzMGY2MGUyNDQ3ZjU4M2E2YWI4ZjQ5M2ZlY2ZhOGU5OWY4M2ExMmMzZTM4OWRmZGE1ZGM3YjQzMDE4ZTBkYmU1IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2luZGV4LmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNjUyZWZhZGY1NmE1ZWRkN2ZjODJlZWI5ODM0MmFkMmZiMDZmZjFjNjhlYThjZTMyMWIxNThiMzFjYjkyZGZkMSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvZXJyb3IuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI0YmJiY2RiZDE5NTRiMTQ0NDdkMTI2NDczYmM0MWJiMDNjMTJlZmU5ZTI2MTAxYzI1NGE4NjE3YTU4MWM5Y2VlIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2VuY3J5cHRpb24vZW5jcnlwdGlvbi1lbmdpbmUuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjFkNjNlMDFhNDRjOTZmYWFkOTUxYTQ0ZTdmM2QwMzMyMTU2NjM3MTQ2ODc2M2ZlY2M4NmFkOGM1ODI4ZDdlNzQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9ldmVudC5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI4ZmIwYmUwYzJkZDYzMWRjYzI5ZWQ3MmQwZWY4ODExOTg0MDA0YmNjZDExOWZlNmEyNDVkYTQ5NDA1NTBhNzUzIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL21lc3NhZ2luZy9wcm94eS1mYWN0b3J5LmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjc5OGYwZDMwYzkwYTljMDU2MmNkZDlmZDM5N2Q5N2YwNTg1MWY2MDg4YWY3ZGY4MDJjZjc2ZGFiN2M4YzJiOGYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZW1haWwtcHJvdG9jb2wuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImFjNWEyYmMxNTI0YWMxZTk2OTM4ZjI0NWQ4ZjcwZjkyZmUzMGFmY2YyYWUyYmJhODYzZTM0MGVlOTU5MDRkMjUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvd29ya3NwYWNlLWNsdXN0ZXIuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZGNkMTNjMTgzODU4NzRjZmRiZjgyNWMxM2NiZDIzNmIyNzM3ZWFhMDM4OGZlMWEzYWNkODA5MTM2NmJjNGRhNiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi93b3Jrc3BhY2UtaW5zdGFuY2UuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNTBhNjQzZTBiMjM2N2E0OWNhNTU0MTBiOGQ0MzE5YWUyMWU3ZmRmZmZkNDg5OTQ5YmZhMTI5ZTY4NjBlNjZlZSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbmNyeXB0aW9uL2tleS1wcm92aWRlci5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJlYjUyMWU0Yzc2ZjY1Y2Y0MWRkODk5M2VlNjQzYzI0YTk2YjcwMzAzNmUzNzcwMDc2OWEwNmMzMzIwOWQ2NzQ3IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvcmVwZWF0LmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIxNjM5NjUxZmVmMDhhNjFjNjdkZDBiOTBkNDdhNWQxNDAxNDljMzRhMjU2M2VhNWRiMGU1ZWNmNTcwMjViYTE0IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3R5cGluZ3MvZ2xvYmFscy5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiM2Q2NzE5MjA3YmY5YTg5NjQ0OTdjY2Y4NDVmNGI5OTVmNzEyMTZmMmU3Nzg0ZTk2MDJlYmY1ZjM0OWU2NGJkMCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvYnJvd3Nlci9jb25uZWN0aW9uLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjAxZmFmN2E3MDlhOWE4MmI4NWFmYmM2MDc0NGFlYmRiNWM1YzkyZDlmOWUwODQ5NmJjNDZlMDVhNTdlOTRjMmYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZW1haWwtcHJvdG9jb2wuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZDNhMjFjNmQwYjM4NjZkNTBkNzE1NzU1YWYzMTkyYjViOTM5OThhYmM2NzdhNDE2N2RkYzNjZDRhMTdkMThkMyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3RpbWV1dGlsLnNwZWMuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOTYzNWQ0OTk3ZjE0OTFiN2NmMzk4YmUxZmRkMmZkMTMxNDY3YWJlMjUxYWY1ZWZhZGZhMDQyZGM4MTkzYTU1YSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvY2xpZW50LWNhbGwtbWV0cmljcy5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJlNDUxMzA5NjM3ZTNkNzAxZGIwOGZjOGI1OWQ4YWZmYWY5OWZhYjFjNGU2YzMwZTVkZmFiNzA1MGMzZTEwMzhjIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3RlYW1zLXByb2plY3RzLXByb3RvY29sLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiM2ExMDM5NDgzMDJiMjYyYWVlMTRiNWMwMmJhOThjOThhNWRiYmExMGY2MjNkZDNhNTZkZTc0YzVhNmQ4OTQ2NyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2NhbmNlbGFibGUuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJlZGY1YmM1MzkwYmQzOWY0ZmEyNGMxZGM4ZTU2YzY1YTU1YjFjNTNhZDg3Y2FiYzA1NmVmMmE0ZDBjZmRjMjY4IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvcGFyc2Utd29ya3NwYWNlLWlkLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIyN2VlYzIwYjFiYWIyMDJiNjVmNjIwOTFiOWQ1Y2M3ZTU5NTFmYzcyNDNlNWQ3MzRkMTM3ZWYwZWQ5M2Q4YmM3IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2luc3RhbGxhdGlvbi1hZG1pbi1wcm90b2NvbC5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJmNmJjMjNiYjA1OGU3ODkzY2I5NGQ5NWJhNDc0ODQ3MjBkZWM5NDg3YWRmNjFjN2QwODc0NGMwZjQzOGIwNThkIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL21lc3NhZ2luZy9jbGllbnQtY2FsbC1tZXRyaWNzLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImViOTA0ZTEyMjkxZGYwODVmZDhjYzk2MjA3MmYwZTIwZjc1NDNmODBhZmEyZjU4ZGZhMjc0MDJlOGE1Njg3N2QiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvcGF5bWVudC1wcm90b2NvbC5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjVjOGEzOTA3M2Y2ZGVmOWZmMjlmMjBlMGY5YzFkNjRjYzNmMTE4NWE1MTdmNmIwMzZmNjRiZTE4Y2U3NzVkMzQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvcGxhbnMuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImY3YTBmODk1YjM1OWJmYmFkMDk2MDI0NzA5NGFlNGI2ZjE2ZTlmYTgzYzIwZWYzYjc3Mjk3YzAxZWY5NzUzNmQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdHlwaW5ncy9nbG9iYWxzLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZjQ3MWVhZGQ1NzMwZTZhYjFhYmQ3YzVkYmM2NmRlYTE0YzMwM2JjMTEyMGIwYjA5Y2NhMDZhNDc0NGE1NDkwNSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi93b3Jrc3BhY2UtaW5zdGFuY2UuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImU2NjU0N2VkNmE5OTYzNTBkOTZkZjVkYmYwNzEzMjdlYjNjOTA1MjJiODc1OTY4NzljMTU3ZjcwOWQxNzYxMjEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvYWNjb3VudGluZy1wcm90b2NvbC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIxM2U5MDdhMzgzYzFjMzk4NzY3MDIxZWZiNWJmMWMzNzgxNzQwMjQ0ZTcyMmNmYjg2MzFhNWY1YWRiNTFhNzFhIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvYXN5bmMtaXRlcmF0b3IuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYThjNjAyMzVjYTEzMGU5ZDIwNjhiNWE5OGQ5NzFhODg2NjY0MDhiN2NkMTYwMzQ3ZDFjMmE1MGVlMTRlYjQxZSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3JlcGVhdC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI4NzAyZjQ4OTIwZTkxYTIxZWNlYWY5MzNlNzMxNTNkYTUxMTBmYzI3YTY5M2VlYTUwMmFkNmI4OTIxZjBkYTliIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ2l0cG9kLWhvc3QtdXJsLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZGUyZWEwOTg4YmQwOTZlNjhkYjRhM2RmZjJmMDZjMzllZDU5NmEzMmUxMDNhY2FiNzRjZDYxYTQzYTlmMDMzOCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3F1ZXVlLnNwZWMuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImUyYjQyOGNjNmE3ZTliMjU2NWMxMjNjOGM3NDVkMDk0ZTMwNTJhNDM2NDJlY2Y5YjI5NzQ0NGIwYmRiYzE1NDYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9jYW5jZWxhYmxlLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIwNTNiMDcyY2RiZDkyMjM5NTRkZDVmZGE5MmQ5MmM5OWY4MDk5ZDhlYWU1MGNmYTZjNGJmMmRhYWRkMDYxYTBhIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3RlYW1zLXByb2plY3RzLXByb3RvY29sLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjUzYmY2M2JjZWY3M2ViZmQ2OTUwNjFkNjg0YmM3Y2EzODAwNDY4YWU5ZTYwNDY2ODVlYjRjYWI3ODBiOGU0YjYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZ2l0cG9kLWZpbGUtcGFyc2VyLnNwZWMuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjE1YjhhMTgzNmZhYzA0ZmM3YTM4NjA4ZjI0NDRiYjg2ZjMwZTQyY2UyYmQ4YjI4ZjdjMTVlYWViNDVjMjdjYjIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL2NsaWVudC1jYWxsLW1ldHJpY3MuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJjMDY3MTc2OTM0NjNlMWEzYjY4YmQ3M2U2YTY4NzgyMDMxYzlhZjU3YWQyNmUwOGIzMWYwYjYxZjc5ZTkyZWY0IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL21lc3NhZ2luZy9icm93c2VyL2Nvbm5lY3Rpb24uanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImVkY2Q0NjVhYzgzZDEyMGI3ZTE2MWY3ZGNiYzhmNmRlM2Y3MWM4YWVhYjBiNjQ3MzNhZjM5MWNiMWE5ODFhMWMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL2hhbmRsZXIuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjE0MzczMGQxNzcwY2I2NGMzMzYzMTQzZmI4ODY3ODMyZWU4ODdhNDAxYjhmYjUwMzAzNDYyYzQ5MTZjYmU5MTIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvaW5zdGFsbGF0aW9uLWFkbWluLXByb3RvY29sLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjc3ODhmMjMxMDYwMzhjNWYzOTdkYmY0YzNmY2Y2OWE1M2ViYzE5M2EzNmM4ZDg3MTc0YzM3YTVmNGUyNWQ0MWMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL2NsaWVudC1jYWxsLW1ldHJpY3MuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImMyZTEyMTIyZWQ2ZDg0MDg4MWEwODI1ZTczYmY1ZGM2MTlmNGUyNWQ4NmUzZDE0MjExNTY4MzUxZTNiMWI3YjUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC90cmFjaW5nLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMGRhNWMxMmI0ZjdkMGZjN2QyOGIyYTBhNjA3ZDQyNGM5NjRhNTJlNzk2NGY5MmQyOTc5NTdkOWU1YjU0NmMxMSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvYnJvd3Nlci93aW5kb3ctY29ubmVjdGlvbi5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI5YWJmM2I1N2JjODM0NjI3MmUxNGU0MmEyMmFmZmUyMDlkYzYzY2JlOTVjOTIwMjdhNjRjNjI0ZGEwMDVmNzY0IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZXZlbnQuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiM2E2YmM0MjY1M2IzMDI3NGY5NTQ5ZDg1YjAxZDZmOWQxM2Y3OGE2ZDYyOWVlZGQ3ODU5M2NhNGM1M2M3MzVhMSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi93c3JlYWR5LmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjRiMTk1Mzk1NWVkMTY3NTlmMDI2MWIwZTgyZGEzZjNmMmI2ZWFhYzA2MmY1NDhhYmM5ZDc5MWEyYTUyZWM0MjkiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvc25hcHNob3QtdXJsLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjk4Y2RlNTc1ZGQ3ZjE4MTE0MDM0OWIyMTUxOTcxOWRjZTNmZGIxMWI2MWMyNDg5NjcxMTE4MzBkNDlhYjE2M2EiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC90aW1ldXRpbC5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjU3YzcyZWZkMTVjZWU4OTliNGY0NjI4NzM5NDhjZTdkODlhYzIzZGQ0M2FkY2NlYzM5ZGEwZTcwNzkxMjM1MmIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9nYXJiYWdlLWNvbGxlY3RlZC1jYWNoZS5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNzliMzM3NTBiZjY2ZTcwNzk2MDc0N2IyOTEyODE4NzJlNmVlOTZiZTQ3MzY3ZWRlMjMxZjQzYjUzNzg0ZGQ0NiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3NlbWFwaG9yZS5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2NjRlNzg0NDYzYTBlZjAxZDFiOWJjMTkxYjdjZTIxMTNjMTNmOTJlODJiYTAxNDNlMmFiMmMwNTQxYmFmMjVhIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvbWFrZS1saW5rLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI0M2ZmNDYzYWZlOTc1ZDA1ZWMxZjMyMzdlZTMwZWVhMzUwYjI1NTU5ZmNjMTM0YzI0ZWZhMWU2M2Y1YjdhOWQxIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2dpdHBvZC1maWxlLXBhcnNlci5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIzMDg0Y2UzM2IwY2M3YWYwZmMxYjRkNWQzZGNkNjY2MjdjYzVlMDJjZTI3YTRkZGZhMGUwOTg1MTNlMjMyNTVkIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2lkZS1mcm9udGVuZC1zZXJ2aWNlLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjNhNDVlMjVhNWQxY2VkMDllZjFiNThlNGE4ZDhhOWUyMjBiZTY0ZjQ1YWViYzMxMjhiNTU0ZGE0YzQzMDg4ZjEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9zZW1hcGhvcmUuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYTRmNmQ5ZjcxYTk3OTljNzk3MTg1N2RhZGE5YzZkODNmNTg0ZTc0MDg5NGUwNTg5ZjZjYjZlOTZiY2YxODFmOSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbmNyeXB0aW9uL2VuY3J5cHRpb24tc2VydmljZS5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImYyNTkwODQyZGQ3NjdlZjkwOTU3NmJiYWI4MTEwNWY1MDQ1OTRiNDZlY2JhOTJkNmJmZmRkYTBlNjZmMGUxMDciCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZW1haWwtcHJvdG9jb2wuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNTQ4OWQ0MDVkODc2ZWEzZGU0MzQ1NWJkMTMyNGM4MjEwZTc5OTQ4Y2MzMmVlODllYTY1NTg1ZTA1ZGNhOTZmZSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2phZWdlci1jbGllbnQtdHlwZXMuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZGQ3MWIyYzJiODI4NGYyMGU4OGM3MjI3MDk3OWI2OGU1Zjg5OThkZjgzNmU4N2M3M2MzZGM4MjdhZTZlNzA4MCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3dvcmtzcGFjZS1wb3J0LWF1dGhlbnRpY2F0aW9uLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2YWI4OTIzYTQxZDU1ZWQ2NjIwZmM3YTIzYzQxOTlkYzViMzg5OTkwODI0ZmY0MjczNjYyODZlODdlYTc5OGZjIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvcmVwZWF0LmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYTdjYTYwMzRiOTU3ZmUyODVmNzZmMWNkYzQ1MjA1OTQ4ZGJmOWE3MzAxMThjMzI5MjYwZmFkMzg0OTU3ZmU4NiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3RpbWV1dGlsLnNwZWMuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImZhM2ViOTE3ZWEzMmVlMDgwOTRjYjY1Mjk5NTNkMzYzYWZhMDU2ODU4M2I5NzM1MTdmMjlkYTM1ZDZmNGE0NDAiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9wYXJzZS13b3Jrc3BhY2UtaWQuc3BlYy5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIxMzg2N2RjZTZkZDRmOTdhMjlmNGY4ZmZjNzQ4NWU3ZmM5ZGEzYTg4N2JiODc5ZjZhNGM4YTU4N2M1MDU3ZmE3IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ3JwYy5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjM5MjUwYjE0YTE1MmE3ZjQyN2ZlYTM4NWM3Y2VjZTVlMzZkYjhhNmUzMTBiMTIzOWM2ZWIxODgxZGU5NTUxOTkiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvcHJvdG9jb2wuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjk1ZjZmNmFhMzU5NGQ0MDY3ZjExYTY1OWU5ZTQ2YjFmOTkzMmQ5NzM1YjkzYWExYjgxNWFlOGNmZTc3MGUyMDEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL2Jyb3dzZXIvd2luZG93LWNvbm5lY3Rpb24uZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI3ODY3ODhkYzhkYzljMDJkNGQ0NDI3YTZmNjJmNGM3MTg5NjI1YTA3MWE0YjBjOTUyYzhjM2JlZTA4YjU4NjE4IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ2l0cG9kLWNvb2tpZS5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYWJiNWFlNTk5ODhlMzUzMDljM2U0ZGJiYTI3ZmZjOGMyMzBmOWI5ZGQxM2EyYWM5ZGZlNWUyY2YxZWRiZjAzOCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbmNyeXB0aW9uL2VuY3J5cHRpb24tc2VydmljZS5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJkMmVkMDBiODk4MjY5MTU4MmViZTg5OWVhMWE4NmMzOGNmYTljYjNmM2E1OWUxYWFjMjM4OTQ0NDZmOWJmZWM4IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvcXVldWUuc3BlYy5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImY0YmFkMjQ4Njk1M2VkYTFkNTZiNWE2Y2VjOWRhMWUzMmJlYWM1NGEwNGUxYTBjMzQzNDE2MWM0YTc2MDA1OTQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvY29udGV4dC11cmwuc3BlYy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI1Y2M5MDlhNTJhNTkzMjA2YzAzZDZhYzE1ZmQ5NjgyZDA1NzgxNGM3NGYzYjlmYTllNWIxYTg2MGU1YTM1YWI0IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvcXVldWUuc3BlYy5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIxYjE5YmE1ZjZkOTkzZmNjZDQ3ZWM2YTY3ODgwNTUzMzZhNDJlNjkyMmZhNGNiZTg5YzJiNDc2NWYzMjIxYjBiIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ2l0cG9kLWhvc3QtdXJsLnNwZWMuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNzU1MTQ5ZmU4MzEzYjA2YjQxMjFmMmNmZDIwMDkyZGYxOTAxZDY1N2FiOTBlYzgyZDY5OTA2ZjQ5MjA1OWJiOSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9pZGUtZnJvbnRlbmQtc2VydmljZS5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYWFhZDNmMThmYjA0OWY5YTUxM2MwYzg4MmRiNGEzYjFhOTQ4M2JlM2NlNmY0MjEzYzgwYjAxMWI1MWYyNmQzNSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2FuYWx5dGljcy5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIwYmE1YmQ2MTQ5MzQ5Zjc1MTE1ZTI3NDhjNTk5ZmQwZmZkNTZhMTVjOThmODU2OWE2NmM0NmQ5OGNiNTdkZWFiIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ2VuZXJhdGUtd29ya3NwYWNlLWlkLnNwZWMuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNzVmOTUzNjJhMGExZWE5NDM1YTg1NzA4ODNiODJhYTFiZWUwZjI2ZTgyMWFkY2JlZDIzZTEzNjQ3MzdkOTgyYiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi93c3JlYWR5LmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2ZTg4N2ZhMzY5ZjhkNjg1NTVjM2E1ZjJlYmU2ODEyMGNhN2QzNTJkMzNhZTc2ZGFhNmM5Yjg5MTAwZjIwMmYyIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL29zcy1hbGxvd2xpc3QuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNjc3ZTkzZDNjZmU0MDM4MjRiZTkxYjU0YTEwMjEwZGYzZDYxOTVhZGM0MmZlMGQwY2VkNjlmZWE4NTYxOTFhZCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbmNyeXB0aW9uL2VuY3J5cHRpb24tZW5naW5lLnNwZWMuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJmYjcwZGI4NThkZTU3NDYzMGZiNTU4MDFlMzQwMzIxOTUxM2EzMDk0YTNlZjBjZDkzMDg0OTM4MzFjZTM0ZDZmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2hlYWRsZXNzLXdvcmtzcGFjZS1sb2cuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIwYTFiYWJiZGUxMDljZjIwNWRhZjgwNDQ5ZDE1NGFlNWNmNTRlNmVhMTY1OTE0ZDY2ZjBkNmM2NDVjNmZhODZkIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2xpY2Vuc2UtcHJvdG9jb2wuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZjRlYWYwOWUyNWNkYjQ2MDM5Y2ZkMDZmNmNhMTFmOTNhZjA3Y2JmZmI2YzNmNmZmOWE5NTQ4OTY1YWNlMDQ2MiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9pZGUtZnJvbnRlbmQtc2VydmljZS5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIyNzA5YjJjZDQwN2Q3MzQwNGU1YmI3NTdmMzRhNTIxMWU5Mzk4NzhiNDRkYTJkZjk0MjJmZWFhODY1YWVhYjU4IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2VuY3J5cHRpb24vY29udGFpbmVyLW1vZHVsZS5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIzZTM4NzdmYTQyNzhkOGUzMmY0YmJmMDIzY2YyZTkyZTM0OGJlNmZmZDZkOTVlZWYwM2I1MGM5ZGJiNjUzMzkyIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2VuY3J5cHRpb24vY29udGFpbmVyLW1vZHVsZS5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJiZGVjMjI4ODRmY2JlMTJlZTQ4M2Q5M2NlZDIyZTJiOThiZTYxM2E1ZjA5Zjc2MjVmNzYxMzE3NTFlMjMyOTU4IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ2l0cG9kLWNvb2tpZS5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjFhMDdkODFlZjEyNGI5MDExNjIzMDMwOWEwMGRmM2M3YWRmZjM0ZjQ1ZGY1MGE3MzI1MTg4NzdhZDAwMDQwNWQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdGVhbS1zdWJzY3JpcHRpb24tcHJvdG9jb2wuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZDMzMWJhMjBlYjMzMjRkMDc0MjAxZmYyMjE4YWJjMGUzY2QxNGY5MmU0NWIyMzVhZTMyZjQxNDlhOGE0MzQzNiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3BhcnNlLXdvcmtzcGFjZS1pZC5zcGVjLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMzg2ZjQwYjg3ZjhkYmFiMDU4ZjU1YWZhMjUyNWZjZTI3OTU3ZTI1Yzg0NDJiMTA3OTRmZTZkNTYwZWFhOTVhOCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9wcm90b2NvbC5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI5M2Q1Mjc4YTc0OWFlOGUwOWVhYWVlY2UwMmE1MzhhMjA3OTE4ZTgwN2Y4NmI3YjJiNmYyMjYzNTg2NDdiZTgxIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2NvbnRleHQtdXJsLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjA2MTFiZjM1M2FkMGZiMzFjMmJiNDc4NDU0NzlhZTlhZGVjYWQyOTRmNzVkMjc3MTc1MDMyYTdmMTExNGU0NjUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdGVhbS1zdWJzY3JpcHRpb24tcHJvdG9jb2wuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYjA2NDg3ZjAzNDJhMGE1YTM3NTlmODM5YWVhMzQ5Yzc3MWNkNzgzNWViMmRkNGFiOTEwODU5ZDgxYTdiMjYyNiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2RlZXAtcGFydGlhbC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIwNWU2ODExMzgyNzA1MWNkZDkxOTU3ZDI5YWU2M2E4MWVkMGU4NDdiYTg5MTljN2JmOGY5N2U5YmY2OWEwZDRhIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3RlYW0tc3Vic2NyaXB0aW9uLXByb3RvY29sLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIzZDdiYzcxZDIxYmViYTkzZTQ1OWI3MjY5ZWU1NDJiYmViNDY3Mzc3YTc0Yjk3ZGJkOTFkMTQ0ZjRiNzg2ZWE4IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ2VuZXJhdGUtd29ya3NwYWNlLWlkLnNwZWMuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMDA2N2RjODMwYjJhNWRlMGQ1MmU3NGUzMjM4MTI3ZTY3OWE5MzZlMGE3NzBhYWNiY2U2NjE2MmIyMjAwMzE0YiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dpdHBvZC1ob3N0LXVybC5zcGVjLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMjRmYTdhMDY4NjljNzg5ZDI3NDZkOTllYmNkY2RhMjg4MWI1NzBlMjk5NTI5NzdlNmI3ZTRiYTdjNTRiNTVlNSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dlbmVyYXRlLXdvcmtzcGFjZS1pZC5zcGVjLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI4OGFkNWVlNGM0MzAwMWUxNDk0MWNiZGQwMzQzMjc2NzFhOTc2N2JmNThlNWY1YWJiOWQzOTNkMzYxMTJiMGE1IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2VuY3J5cHRpb24va2V5LXByb3ZpZGVyLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiY2FlZWFlZTg4Y2Q3YjE2Mjk3Nzk0OGM1NGNhNzNiOTMxY2RmODNmMDA5ZjFiN2UwZTNiNjYzYTYxMjAyY2FjOCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9hY2NvdW50aW5nLXByb3RvY29sLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMDdjYzk3ZWVjY2E3YWM0MWViYTdkNTNhZTM4ZjgyOGU2Mzc1MTUzMjBjODY0ZTNhY2E3NjgzMTBjYmM4NTJjNCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9naXRwb2QtZmlsZS1wYXJzZXIuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI5MzExOTgyNDA0N2ZhMzY5YjJiOGNlNjBhYmIzMWY1ZGY2MWQ3ODA4MTQ1ODg1NWJmNDgzODM2YWI0ZGZhMGQ3IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2VuY3J5cHRpb24vZW5jcnlwdGlvbi1zZXJ2aWNlLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIwYjUxMjkxOGQ2MGFkMjFkMTZkZDFjNzdkNzhkNWY0OWZjNGViYzAyYzQwYzJhMzM5MWE0Y2ViODQ0ODkyZWVmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2FuYWx5dGljcy5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjJhNmQwMmY2MmEwZGI3MDU5MDMwZGFjNzc0ZTEwZjU3NzM1ZDgzZGM3MDIxZTk3N2U1ODU0ZDAwYWZjYjIzNzMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC90cmFjaW5nLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImY1MTE1OWYyMmE4YjY2YjJmMWM1ZTY1MWUzOGFhMWY1N2JlNGU2N2I1MjMzMGQwMTZiZDM2ZDE0Zjg1Y2U3NmUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvaW5zdGFsbGF0aW9uLWFkbWluLXByb3RvY29sLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMzBiZWE1YzQ1ZWNiMTBhZmZjZDhiMjEwNzdhZDZmYzVmNGU1YjUyYjYwZThjNDBlYTBkMzI1ZjM2YTczNDcxZiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dhcmJhZ2UtY29sbGVjdGVkLWNhY2hlLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOTk1OTBhYzM1YWQ0MTM5YjM0Yjk0ZjJlNTRhZjczODBjM2E4M2I0MTA5YTEzOTFkYzk5YjA4ZmZiY2Q1NTEwNiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9wYXltZW50LXByb3RvY29sLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2OGI0NmI3ZTg5ZmJkY2VjZWI3YmNmMzlkMDRjMDFiMjRjZTNmMDExM2EwMTZlYWE4ZmMyMDA1NTc0MDZiZTVkIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL29zcy1hbGxvd2xpc3QuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNzIyZjMzYTc0Nzc1NDAxODVhNjFlYWU2ODdmMjlmMWQzY2FhY2ZhNDQyYzhhNGRkMTNiNmVmNzQ1ZTBmZjhhYSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3NraXAtaWYuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI4MDQ1MGVjNGIwZTExZjEwYTY4Nzc4ZDE3ZGUxOTM4NDljMDFmZjQ5M2RhOGE1M2I0MDUwMzU1NjYwYmIxNjg4IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2xpY2Vuc2UtcHJvdG9jb2wuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMzlkMjkyZGRiNDdmNmY3MDc0ZjY2ODJhODU2MTMxOGU5ZWMyNWMzZjU1NGJlOGFmYjU0ODA2MzhjNzY5ZjhhYSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dlbmVyYXRlLXdvcmtzcGFjZS1pZC5zcGVjLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYmRlYTY3YWNlY2EyNzRlYjRhNDVmMTQ4NjJmYTMzMTcxNDJhN2YzNjFlY2U5YTA1MmY0ZDg4ZjU3Njg2MzFjNSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2RhdGUtdGltZS5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIyMWRmNjYyYzgzMWMyNWRlZWQzNjJjZWU4ODNkNWFkNjUzNTZmOTE1NGU1MzM3ZTM1NzIyMDFmNzU2NWJiZmVmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvdHJhY2luZy5zcGVjLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJhN2ZkMDI5M2Q1MmExYTI5MGZkNzcyYTJiNzdlZDZjN2I4ZTJmZjRiN2NmNTUwNGEzMTQxMDNhMTFlMDBmYzk2IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvdGltZXV0aWwuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjIxODQ4NzkwYmIzZWMxNTg5MjA5Yjk4MzZlMzI5NmY3NzMzOGE1OTg3OWYwYWZmZWRiMjg5Mzc4Y2Y5YjI4MDkiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvaWRlLXByb3RvY29sLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2NWRiYTdiZTE4ZDAxZThmNGU3ZjdjNmJiMDE1NzI0N2IxZWRkNjhhZDY3YzA3MjJhNThjMGU1ZGVjOTE3YzVmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvcGFyc2Utd29ya3NwYWNlLWlkLnNwZWMuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImFkZGI5OGI2ZmExNjU4NzNjZDAzYTA2N2UwNDk5YTJkMWE5ZDRiZmNiNmFkYzQ4ZmRmNDkyMTYyMDM4MjAxNTQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9sb2dnaW5nLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjdlOTg4YzczMzM3NmEzOTJiZjRlZWFmYTBhYzc3OTc1Yzk3YTIxMjdiZjI3ZTJiM2E1NWY5MzQ5MWFiYzk3NzYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9naXRwb2QtaG9zdC11cmwuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMTNhZDkwM2Y5ODllOTg5ODhlZjdjNTVmMGFiNDgzNWQ4YTg4MTBlMzNkZDVlODE2YWFiNTQxMjEyNTI0OTE4NyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL21ha2UtbGluay5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIxOTk5OWY0ZTZmYWYwYWY3YzM0ZmU0OWFkNDQ0NDJlOTA5ZjYxNWMyZGExNWZhOTUwZGYxZDUzZmEzYzZiMDI3IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2FjY291bnRpbmctcHJvdG9jb2wuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNmFjOGQ0N2VmNmQ0NjcyMmU5ZGFkY2Y2YThhNzY1NTBiM2VhZjE2NDlkZDQ5ZjE1Yzg2YTljNTVmYmE1MjNjNCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbmNyeXB0aW9uL2VuY3J5cHRpb24tZW5naW5lLnNwZWMuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjYxNzRhYjZjMDg2ZWI4YjU3ZTM2NGI5MTUzYjdmZGVhZTlmZWEzMDE5YjBiZGI2MjE5ZDkwNjI1YTYxMjU5MDYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZ2l0cG9kLXNlcnZpY2UuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImZhZGI5Yjk2YjhmOTI0M2E2MTIwOTNhZGQwNjQ3NThjYWMyZDA4NTYwODhhMzFlMzJhN2Y2YzYyN2JhNzhkOTYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9hc3luYy1pdGVyYXRvci5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIxMTNiMGU2NTk1YjRjMGY5NWM1MzhiMTVmNTVjNTIyZjQxODQyZjYxYTQ4ZWZmODg1ZDRjODA5ZGJhOTcwODgyIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvYW5hbHl0aWNzLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImJkMGRlNjY4ODVhMDAyODRjOWQxMDA0ZGRkYTBlYzhhZDVmMmM4YmU4ZDE5MDJkZjJjMjIwNjU1MDAxNTBkN2EiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9za2lwLWlmLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjY3NTM2NWI0MjkzYzc3NDNjYTU0ZmE0ODRiMDZkZWI2NzdiNWZkYjVkY2M0YjhjZDY4ZGVhMTY2NmE2YzMyMWEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZ2l0cG9kLWZpbGUtcGFyc2VyLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImI5NjFkMzA1MDMyZTE1N2FiNmUzYmJlMzdiNDFhYzRmMWQ0MzBlYzUyMTM2N2YwYThmMjI4ZWEzZTk3YzAyMzciCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvc25hcHNob3QtdXJsLnNwZWMuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYzJmNTZlZTBjNzUzOWMzOWY2OTcxZWU5ZmE4MWMwNDUwZGZmNDRhYTNmMDFkNjY2YzhhZDYyMjliZGYzMzQ2NSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9wZXJtaXNzaW9uLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI0OTM5NDBlZGVkY2NiZmM0YTM0ZjgzYTM5MGM2ZWEwNGUwNDY5MWM5NTk5YmMzMjBiMTU3YTI3ZGMxOTJlMjZmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3NuYXBzaG90LXVybC5zcGVjLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI0ODY4ZWEyOWJmOWM2YWM5YWY0MTliYTRlNWUxODhmOThlZTdhMjc2MTQyMzM4NTczMmMwNmFjMTJhMDFhN2MwIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvc2VtYXBob3JlLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZTUwY2VlNzBjMzFjYWU0MzY3MjJiMTQ5N2E5NTFlMDNiMmQxZjRmM2YyNzlkZmVjZjBjOGZjMGU5MGViODM4NCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dhcmJhZ2UtY29sbGVjdGVkLWNhY2hlLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjM0ZWFjOGVhMjBhYTU1NjQ3MjkxNGI3ZGFiYjFmNWFkMTcxYjQzMmYxODk5NTk0ODNiOTRmYzI2NjRkMTUxNmUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9hbmFseXRpY3MuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjJhOTFhYjUyNDgwNTFkNWRjNDEyZDVjZmQ2OTVlNzQ2YjZjNzQ0MDZiMmVkNDFhOGZkODUwNjU0MjczODlmYWQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvcGF5bWVudC1wcm90b2NvbC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIyNzdjM2FmZTM0ZWJlZGFjMzI1NDljNDExZGFlMDAxMmNjODhiMjNjYmY2OTgxZTM0MTE2NTAwMjY3NzJmZWJlIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIveWFybi5sb2NrIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjUzYzI4OWQzNjQ2MWIwYTRiMTNkZDdlMjA0NjFjYmZlMGNlMTE0OGRkNjMzZWVhZjczNGRhY2EyMzdiNGNhODMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdGVhbXMtcHJvamVjdHMtcHJvdG9jb2wuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZGY5MjExNGQ3ZGVlNjFlNTZmNGZkYWJkOTJiZTI4YjQ2OWQ3YTEwY2U4MWU2NDJkM2NlNGY1MjU1MmM4ZjYyZiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2V2ZW50LmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOTkxNTcyNGM4ODQ0NGY3ODQwOWZiOGQ4YmYzZjk4OGY1NmFjYjdjNGJlMjc1ZmY4YzMxMmIxZDI3ODZhMGUyMyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2RlZmVycmVkLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNjBhMmQ2MjY4MDE1OTJjYmJiM2QzMTMxMDM3MjYxYjZiNTFiNWNmYzJjMjk1NGUyM2M1MmVkMWQzMGRiNDYyMSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL21ha2UtbGluay5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjZhOGJiZjhkY2U5Y2Y1MjI3NjkxYTA2YTRiZTdlYjc1NmY4MWQxODQ1ZTFhMThlNTgwOWM2MjM4OWU4NDhiMzkiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL25vZGUvY29ubmVjdGlvbi5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImNkNDE4OTlhYzI5ZTdmYjdlN2NhNzExOWIzZDJiN2UwZDE1MzUxMDY2YzE1YWMzOWQwYmM2OTZmOWY4ZWQ2ZDgiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9ncnBjLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI4ZjQxZmRkYjI5ZjU0YmRlZjY2MTFmMWQyZDE5NmEzNGQ4YmIwZGZiNGMxOGQ1MWQ0OTEwYzlkOTcwOGUxYjcwIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvYXN5bmMtaXRlcmF0b3IuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI3YTA1NjRlMDUzMzY1YmYxZDJjZWIxYzY3YjNkY2E1NDU2MzYxMTliM2NlNTVjZjI3OGI3NWQ5ZTBmZTFkYjA3IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ2l0cG9kLWNvb2tpZS5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIzNmI2ZTkyZWE1ODVjMThmY2E5ZTQ1MjJlNWZlYjZkNTI1ZDUxNDQ4ZjY5N2MxMTc4YWI1ZmI2ZjU3MGIyZmVlIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZGF0ZS10aW1lLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjY4NzhiZWIwZjdjZWYyZmE4OTI2NjU1ZTVjNTk5MGMwOWE2YjljODBjMDQxNjYxMDI0YmIwYjBiZjIyYzhhMTkiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvaGVhZGxlc3Mtd29ya3NwYWNlLWxvZy5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI3YzRhYjE2NzllYWNmYzI4NmU5ZjRiNDQxMTM2MmM2MWVlZDJiMTkwZDk5YmFkY2JmZDBlNTI1ZDRkYTJiM2JlIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL29zcy1hbGxvd2xpc3QuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJiZDJjNzUxYWU3YTE4MWVhZjNmZGUzOWQ4M2I1ZDZlZjFhOTE1OWIyMDA0ZDA1MzM5ZDM3ZTU5MDdiMzYxNjFlIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvdHJhY2luZy5zcGVjLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImJjNDQwZTQ5MzZkMWNjMzdmODVjYTc4M2EyNDZkNzdiNjg5YzU0MDU4MmVhYjkxZDdlNDE2ZDFiNDdlOThmMWEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC90cmFjaW5nLnNwZWMuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiY2FhZTdjMTc5N2VjYmYzYWQ1NTM2YTMxODEyOTI0ZjI1MDNmMjg0NGNmZGMwZTRjYTQ3NTQyNGQ1ZTc2NmMxMCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3BhcnNlLXdvcmtzcGFjZS1pZC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIwMmI1MmQ4NWRhZDFlZjhlOTAxMjNmNzlhOTdhM2RjNWJiN2ZjMmE2YmUyYjM3NTNlNTJkYTM4YjZlZTQwYjdkIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvY2FuY2VsYWJsZS5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJmM2JhY2I2ODJjOTBjZjgwZWVhMjJlZWI4NzQyOTA5OTEwMzM1MGNiM2U2ZWU5YWRjMzlmYzEwNTk4NTM4YTliIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2luZGV4LmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImZjZTIwZTczZWQ5Zjc1YzkyNzZkZGM4YTA0NGM0YjExMDdkNDgwMzY1OTJkM2ZmNDJjMjFiOGYzMzc5MzViYzMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvY29udGV4dC11cmwuc3BlYy5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI1NDkyNmNmM2QwOTg3ZjQzY2I0NzQzZjFiZDEzMTRlYjU5MmQ0OGNlMTM0OGQ2YmYyODIzNTNjNzAxYmJhZWEwIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2lkZS1wcm90b2NvbC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI5Nzc3ZmJlZjg3NzQyMDZlNzUzMzZmMWY4ZjZmZjlmZGYyOTFiNTMxMTA1NWViNTI2YWFmYWMyYjVjZWUyM2FkIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvcGFyc2Utd29ya3NwYWNlLWlkLnNwZWMuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiY2RhOTVhYjBkMmJmMjRkNzQ0NmZhNTM4YjExZDI5ZDQ5ZDA5NTkwOWMxOTgxZWYyNzhlYjZjNzNhNTE2OGNhNyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3NlbWFwaG9yZS5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYWI5ZWE1YjA5Y2E3OWViMmE2ZmZiZDNlNDMzYjhmYjkzNDQ1NDAxMDZlMzEwYzhhODY5MjUzN2FlYTExOTU3MiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3RpbWV1dGlsLnNwZWMuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNDA4MTVjOGVjMTc1MGE4NmRhZjllMDk0M2VkM2QzMzFiMDkxMjlhMWQyZTdmZmZmNTkyYzk5ODUyMjhiNjVkNiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvaGFuZGxlci5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI3Mjg3YzRlMGE0MDE3ZTkwOGNiNjYwODhlYWU0M2JlMmVkZWUzYmUxYjAxMGFkYjAyMzc3Mzg0MzExOTUyYmFmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2FuYWx5dGljcy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIwMjAyZWIwYTMyYzAyZTg4YjNjYjllM2MyNzYwNTY0ODQ5OWRjYjgwZDE0YzAxNWQ0MGQ0MDI0NzEwMTdlNGEwIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2dpdHBvZC1maWxlLXBhcnNlci5zcGVjLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjg1OWU5ZGRiZGY0NTg3OGFkM2UyYzFmYTE4MWMwMGY1N2YyZTk5OGUxYWQxMmE1NDQ0YTU5MTRjZGIzZTJiMzAiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvd3NyZWFkeS5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJjMWVmNDFjY2FjMzkxZGI5YzZkYjQxMDU2MWVmMDJhYzE1YzI4NDU4YzJlMTY2MTA0MDRhOWI0OThiZjA2ZWViIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZGVlcC1wYXJ0aWFsLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJkMWUwMTJhNzFiZjJmZGYwYjhlZDViYzA0YTQ0ZGE5Mjk2ZTg4YTM3YTAzOWFiNDc5Y2Q4ZWI2ZDMzMjk4ZjY3IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2xpY2Vuc2UtcHJvdG9jb2wuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIxNGI1ZWZiODhiNmJhY2FhMDMxMTY0NDUwMmM4N2VmZTUwNDQ4ZmU3MzZlYzIyYzQ0NzZkNjFjNjE2MWQ5Y2RlIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2F1dGguanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjI4ODkyMTE2YzIyNjIwNjJiOWU5YzMyNDAwZDdjOGFhZWI3NmQ2MjdlODc5NDlmODU1NGFmOGVmMGY3ZmVjZGMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZW5jcnlwdGlvbi9lbmNyeXB0aW9uLWVuZ2luZS5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIxNmQ1MmMxMjc0MWJjZTM2ODhiYzEwM2M3NmVhYTFjYjczZWE3YWNiNmUzNDkzZjZlZTNjOGNlYzc2MDU2NzA3IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL21lc3NhZ2luZy9lcnJvci5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJlYTg0OGE4YzRjYjI5ZDM3YWFhOWM5ODZmNTE0ZGFmMDZiZGVmNjQ0Mzc1MDhiYTY4YTk0YzQxODExODc2NGU2IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2luZGV4LmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI4OGNiNTU5Zjc3NjBhOTk2NzE5YTkyMmIwMmEzZGI1YzE0ZDlkN2I0OWVhZTNkNzhmYzk2M2JmNmI5ODRhNWIxIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2FkbWluLXByb3RvY29sLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjBhYWNhNzA5Y2QzN2QxMDhlNWJjMDU2YmJmNTQ5M2ZhNzhiMjIzOTJhODI0ZDhlMmYxZTgyMDM1MWNhMzQxZWQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvaWRlLXByb3RvY29sLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNDAyYjUxNTE3NzU5ZmY5MjI4MTNjNmNhMzFhNjRmMWYyNzNmNTk1NGI0YjMzNTBmOWFkMTc3MWJiOTlmYzgzZCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvZXJyb3IuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjI2M2UyZWQyMDk2NWE4NzgwZTAyMmFiMDIxNjI3MjIzMmMyZjNjMDc1ZTdmNGVmYTUyMTg1ODFjYzIxNzYwMzEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9xdWV1ZS5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImQ5YmFiYzViNDkzNjAzOTc1ZDg4ZGFmZGVjNGViOTE1ZjU1MTRkOGYwYTI2YmY0ZGYwYjY4YjA1MGUyYjM1NjMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvc25hcHNob3QtdXJsLnNwZWMuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOGJjODRmNTE1MTNiNDUxMTc1OWUyNzg0NTYzNDAxY2NjOTc2Mjk1ZTk3NTRjOGNmNTA0ZGM4NTA4NzIwNjFiMiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9wZXJtaXNzaW9uLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjJiZTkyOTJkZDc2NDQ2MWE1ZGVkMmUyNzNjMTJiYzcwZDllY2RhYjZmZTBlYjFlODE2NDY5ZjdkZjYwNWZlMzQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC90cmFjaW5nLnNwZWMuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI1ZDQwYTU0YmFkMjM4YTYyNzM4YWEwNGZlNDg2N2NjMGM4MTNkOWMxYWFiMjBhMWUyOGFhOThlYjZiMDUxMTBmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3dvcmtzcGFjZS1pbnN0YW5jZS5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjEzMWQ3NjkyMzJhNGI0MGRiYTg3Y2I4ODgxYTc3MWYzYmYxZWFkMDk5NjM5OTQxMDExNzFiOTcxYjgzMWJmNmIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvd29ya3NwYWNlLWNsdXN0ZXIuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2N2QxYmY3OWM3ZmFkNTUzMTI0YzY0MmEyMjI4Mjk3OTA3MDY0NmEwNzMwMzVjM2RkODEyYzQxYWUzMWY5MzZjIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2lkZS1wcm90b2NvbC5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJjMTVlYWU5MThjMmY2NWVjOWQ4YjBhM2MxMDVmZDQ0NjVlNzJmOTc0ZTM4NzA4ODQ1MTc3MzZiMGU4NmM5MTc2IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2dpdHBvZC1maWxlLXBhcnNlci5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNGJkYzZhNzk4YTVmY2UzZTc0MDFhYmFhM2U2MGU4MDY3ZTU3ODFlOTY2N2Y3ZWFiODZjNDYwY2MxNDAzZTRiZCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9pbnN0YWxsYXRpb24tYWRtaW4tcHJvdG9jb2wuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImVlNGE4OTI2MjdlY2E5MGIxNGE3OTM1NWIxNWNkYjQ0MWFmMDg3MjZlYzllNjczZjU5NjQyNGI1Mzc2ZjIyZjYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9hbmFseXRpY3MuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI3NDQyNDc5ZmE1MzE2ZWZmNjA5Njk1Njk3NzZjN2YxNzdlYWJhNzAwMDcwOGUxYThlYmNlYzBiNGMxZjlmZDUxIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvd29ya3NwYWNlLXBvcnQtYXV0aGVudGljYXRpb24uZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJiNTY5YzZkNzVhYTQ4MzViMjkyMDdiZmViNWUyYzM5M2RjMmE1ZGM1M2RmMTRkNWM1ZWEwMzk0ODhmYjYwMjRjIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL21lc3NhZ2luZy9ub2RlL2Nvbm5lY3Rpb24uanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImMzZWRmMWViZTA1ZDNlMGIzMDNlNzAxMDM3OGJlYWFlN2RmN2MxNTAyODFmOTlkOTg0YWI3OWIzYTI2YTdhY2EiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9yZXBlYXQuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZDk5MDU5MTVjY2E5NWExOWY1NGZkZmVkZjc3ZWRiMjEyNjVlNjA0ZmU4YmI2NTRmZmZlODdiMzIzMGVhNzg3MiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvYnJvd3Nlci9jb25uZWN0aW9uLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjZmNDgyNjY4MTI2MWRhZjAxMGZkMzE5OGRjMzE0NGI4NmEzZGNhZjM2MTQ4NTU0NWJjZjU1ZWJjOTlhYmU3ODEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvYWRtaW4tcHJvdG9jb2wuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjE3Mjg4NTRjNmI1NjcxZjZiMjFlYjJkNDNkMzBjNmQzNDU4YWU3M2I1MTgxNmY3ZDgzYzM2ZGQ3YzcxMmIxYmEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZW52LmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjFmYjYxMjY4OTI2MGU2OGU3MzRjNmRjZGFiZjg4YTcyY2UxNGM5NjQ1MDUwNGM4NWRkYzMyOWRkMjAzMzhjOGYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL3Byb3h5LWZhY3RvcnkuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImI4NjJhNjYyNWJiNjAxZDE4YjY1MjVmYWQ4YmY3ODMyNjU1MjIyYmMxOTU4ZWZjNTljNWIxYTVhMGFkODYxODMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvc25hcHNob3QtdXJsLnNwZWMuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI0MDUzNGQ1NTg5ZTVmYjc4NTdlODQ1NGUyNjM2Nzk2NGNmODAxMzg2ZDFmYjhmYzA1MTVjZTJlNDFiMTA5ZThlIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2FkbWluLXByb3RvY29sLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNWI4N2Q3Mjg2YTQ3MGQ4NGNhNjRjZjM3YjE0NWVjOTk5M2Q5YmFjNmM2ODUwMTIwMTA3MzU5MGFjZGYwOTNmOSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9jb250ZXh0LXVybC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJkN2EzYWFkNGY5YTJjMTVjODEyNDZjMDFjMDY5MWU1OTMzYTliY2JjNjcxYmY1ODg2NDA1NjRkODI0NWNiZWQyIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvYXN5bmMtaXRlcmF0b3IuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjE3NjY1M2M0MGIwMDFmZGU1OGE1OWQyYjI5MmE0ZGNhZDVkMTFkZGM0MGYzMjdkYzdlMzBlYWRmY2I4Yzg4ZTMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvYWNjb3VudGluZy1wcm90b2NvbC5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMTVjM2JkZTdmOWI1OWIyOGQ1MzY4OTBmNTFjMDQwNWFmM2I2ZTY5ZWQxZDhjMmQ5MmE4YjJmOWE2NzBjNTRlMSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9pbmRleC5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2YTlhYjlkNzZmZjRhODg5NzgyNjcxYzdmMmNkOWQwZThjMDIxOTVlMzc2YTYxN2I0ZTY5MDM1NDE3MzdhNDI4IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ3JwYy5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJkMGRhNzYzYTQxZTE4ZDUwNTNlNjg4NWRiYjIxOTI1MWQ2NjQ1NmQ3ZGMxZTliNWIzMjdmNTNiNjkwYjY5YTI5IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3NuYXBzaG90LXVybC5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJiYTQ0YTI2NWNlNjFkNmE5ZDg4NzczMjdjZjAzMTQwMTE5NmUzZjJhNTc5OWY1NTU2NTc2NjA2YzgwZmQyZDhjIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvdHJhY2luZy5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMTg2OTJmMzZhZDNhMTEwOTM4Y2IwZGFlNjc3NDk2MTdkZGMyYWQ1N2RmM2UzZjc4MTVkM2U2MTliZTEyZTYyZSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9wcm90b2NvbC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJiMmI1NWQyNjZkNDNjY2VkZGI5MDU1YmY4M2UwNDkwNTliNmNjOTg4YzM3ZTE0ZmQ3ZTRmNjBjNjZjNWI0YzBiIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2NvbnRleHQtdXJsLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZjdjYzBhNjgyNWYzOTY0YzcwODA5ZTljNjkyYjIyNTVmYjMzYjZkYjUwZDU1MDE1ODZiYjdkOTIxMDM4MmM3NiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbmNyeXB0aW9uL2VuY3J5cHRpb24tZW5naW5lLnNwZWMuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNjAxMDM5ZGRiYjc2ZjJiNjliYTI0OWMxMjUyMWFiMjllNDdhYTk5MmM4ZWIwNWViMGUxNzczMTU3ZTlmODk4NyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbmNyeXB0aW9uL2NvbnRhaW5lci1tb2R1bGUuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImE0ZmQxMWYxNzMyMDZhNmMxOWI3NjVkOGY0OGQxNDNjNTA1YThjZDczYjBjM2QwOTU2ODBiODRkN2Y4Zjc3MWMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZ2l0cG9kLXNlcnZpY2UuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMjI0OThhZGQyMjJkMTIwNmMwOGU1NmM0OWZjYWJmZjQyZThhODc1YzgyZTViMDJkOGNhN2I0MjQyNTQ4ODdhOSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbmNyeXB0aW9uL2tleS1wcm92aWRlci5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIyODY2MWI2NTU1MmY3YmMyZGViYmU1NTMwYzE4ODEzMTlkZjM5OGFkOTIwY2YyOGRkYWRlMmMwNTQyMmMwNmM5IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2dpdHBvZC1maWxlLXBhcnNlci5zcGVjLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYzY4YWUxMjAwNTk4MTllMGVjNmZmM2E0ODdmODQ4MzhhOTZiZmM3MWU3OTBjZWRmZGM3ZTJlOTIzN2Q5NTZjZiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9wYXltZW50LXByb3RvY29sLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjdmMmQ0NjczOGI5MTczZDNiNDNmYzMyZTMyMGFhZjE3YmRmZWQyNWRkOTk2NGNmMTc0MDkyNTIxY2RkYmIyOWYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9kZWZlcnJlZC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI5NDNkZTE1NTIwMTExNTkxNzJkYmQ1MWQ0YjliZDM2MGNkNTNlZWE2MGNkMWFkMDUxMmUwNDBkMWU0ZDUyZjliIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ2l0cG9kLWNvb2tpZS5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIyNDcxZmYxNTRmNWNiOTFlM2E1OThmZmQ1YWMzNjFhMTcxNmZjNzBjOGJmZDkwMTJkNWQxOTI0YzUyYzM0OWQ0IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZGF0ZS10aW1lLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIwYjJkM2JmZGU5OTQ1ODI3OTJjYmRkNzNkMjRlOTNkYTlhM2I3M2ExMWVmOGY1MzU2NzVkNDM5NjBhYTYwZmJjIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2hlYWRsZXNzLXdvcmtzcGFjZS1sb2cuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNzA5NzQwN2IzODdiNDIzYTkxODllMGZjZTc0Mjk5NzY5MDAyYmI1YjdkMzVkY2E0ZGM2YzNjNWIxZTc3MTYyZiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9jb250ZXh0LXVybC5zcGVjLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZTFjNGY3MmRhYzY3YzRjZWY4NTI0Mjc4MWM5MThkM2RmNDMyMGNlYTIwNmFlZDcxOGYxZTZjMWQ0ZjBlNjAyMSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2xvZ2dpbmcuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjBkNDc3OWJlYmFiOGZmY2RjODk2YmJmODgzMGQ0MDhkNGUxMjkwYmY4ZTY1MTUzNWZhYTRjMGJmYjkzOTQ1OTAiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZW5jcnlwdGlvbi9lbmNyeXB0aW9uLXNlcnZpY2UuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiODVlYjM4YzIxZjBhN2I5ZmMzZmJkNzE3ZjdhYWFlOWFmODYwZTdlNjA4MjBlZDA1ZmQ2ODMyNzUyYTI3M2QwZiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dpdHBvZC1ob3N0LXVybC5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIwYzNiNjNkY2UyZGZiOWFjYzkyODcwMDE5MzA0ZDA2ZDcxOWM1ZWNjNTc3ZDZlZGNjM2ZiZGNhY2E3N2Y1ZGY3IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2FkbWluLXByb3RvY29sLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjA5YWZkZTA5MDRkZWUzMTE2NGMwNmQwNGI2N2VjN2NmNDk4NmNkZDAzZGJmNmQ0ZGI2YTFhNmJhMTY4ZGY3NzAiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9xdWV1ZS5zcGVjLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjQzZTZmYzIxNDE4MzJlZmJkZTFiMDlhODY3NDg3Njc1NWMxODI0MjhjNTlmNWM0ZDBmNDM0NTMxNDQ0NTlmNmMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZW5jcnlwdGlvbi9lbmNyeXB0aW9uLWVuZ2luZS5zcGVjLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImE5NzlmN2Y1MzcxODU4NjFmOTBmZWU4ZDMzZjI5Y2FmYjZkOWMzMDBhOTc4NDJjYWY5NTAzZDA4ZjczZjNmNWMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbGljZW5zZS1wcm90b2NvbC5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOWE5ZGIzNjM1NmRmOTkxMzJlMjVmYjZmYWVkYzRhN2QzODc3ODExM2NhZTAzNDdlZjEyYzJkNWVjNzRkYWNiMyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9naXRwb2QtZmlsZS1wYXJzZXIuc3BlYy5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2NDJjMmNiZDFjYzNiMGM1ZmQwMGM4MTg4NzMyMWViNzkzZTRjMTZhNjMwZTY4YzIyZGNkMGMxZjZkNjNiZGE3IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2lkZS1mcm9udGVuZC1zZXJ2aWNlLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYjgyZjI2OGExZjZiZGM2MjhiYzYyOTE2OTNlNDE2ZTY2ODA1ZGIzNjc0M2YwOGU2MWQ0MjYwYmRjMDVjNjMwOCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9zbmFwc2hvdC11cmwuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJjYmI4YjYwZTZmNWE3Y2JhNWVmNWI1NzUzYTM2ZmRjNjhhYTMyY2ZkMmU5ZWMyNTk5MGMzY2Y2ODVkNDEwODQ5IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvdGltZXV0aWwuc3BlYy5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjc5N2Y4ZTk0NDZhODJlMzM1YTQzZmYyMWY0NDEwZTU2ZjU1NDg2OTAzYjFhOGVjNjE0YjA1YTFiZDdhNTM4MTQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9sb2dnaW5nLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMzlhZDRkODk5Y2U1ODhhMGVhNWE0MWNjYjE2OTQ4NDU1YTgzZjA0NTlhZmY3NGI1MjZjZmZkNDQ0NGEzNjVjMCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9jb250ZXh0LXVybC5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMGI5YmJkYmNlNDdjNGRiMzIzNGM0YjA3YWUzNGRhNzdmZjY5MmE0MTgyNzU5M2Q5OTU1OTYxNDAxZDYwZWI2ZSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3dvcmtzcGFjZS1wb3J0LWF1dGhlbnRpY2F0aW9uLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImViMzM4YWIwNmJiNDNkYWMxODY2NDZkOTgyYjY4YjViMWViZjRjODQ4MzhlOWFlY2QzNjVmYjdlMmQ2ZGM3ZjMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9kaXNwb3NhYmxlLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjI4NWY4NWU5OTQ4N2Q0ZmQ4YWVkOTY2ZmIyMzE3OTllMmE5ZTlmZjQ4ZTk0Y2JlZmNmNmMzZWViNzdjYjkwZDUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvc25hcHNob3QtdXJsLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI1YWI4ZDA4YTM3YjQ2Mjc2ODBiOTI2NmFjYjE5YTU2OGVkZTM4MjZhZTQzZmZlMTI2NDg0YjY5Zjc4ZTY3NTdmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ2VuZXJhdGUtd29ya3NwYWNlLWlkLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjU3N2IzMTAxZjYzN2M4M2RmZmJjNDM1ZGNlNTU3MzFiNTA3MTk0NWZlZTQyMDE3NzgyZmM0NmZmY2Y2OGRiMjEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZ2l0cG9kLXNlcnZpY2UuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMDMzMDBjYzUxOTJmMzZhZDQ3Zjc1NzYyYjRlOGExZDg0OWFmYTU3ZjU5MWJmMWQ4ZWQ0NmJhYmU5MTExYmIxZSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbmNyeXB0aW9uL2VuY3J5cHRpb24tZW5naW5lLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMGM2YWQyNTVjN2NjZDljNDVmZTQxYjM1NzkzN2JmYTM2NDY1MDBiNjBhMTU2YmQyZWJlNmM0MjU2YzAzOGE3MSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2Rpc3Bvc2FibGUuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJkODA4ZmQyNzgxMGRjYTZmOWIwNjQ1NmJmMTMwZWUwZWIxZTI3MjYyZjZjYTBiNjM0ZjJkNTJhNTY3NmViNzZiIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3dvcmtzcGFjZS1pbnN0YW5jZS5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJhNTQwZmU1MjhmOGI4YmVjOGY2NjY3NDY2MzI1ODUwYmE5YzBiMDhiNzA0NmI2MjgyMjEyZDBiMmQxN2UxY2FmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvbG9nZ2luZy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2NjZlZTBhMDM5YWM1ODM4YTI1OWQ4MzU0NDAwOTE5Y2QwNGUwZWE4MjFhZTk0MGZjM2EyYzZkOWMwMGQxZGY3IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ2VuZXJhdGUtd29ya3NwYWNlLWlkLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZGRiNWZiZTg0MzU0NWNjMjI1YTI1MmU0NGI0MGUyYzY1ZWQ3YWRhOWQwZjZmZTRiMGE4ZGQwYWI4Y2YyYWJhMiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2RlZmVycmVkLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI1MjJjNGYxNzM2Nzk1YzAwMzYwNGE1ZWJmZTQyNDVhZjQ1YTI3NzdiZDViYjk2OTUxZGQzMDk2MGQ4YTM3NDVkIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZGVmZXJyZWQuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYTg4ZThlZWJmZDM4OTA5OTA4ZTMwOGM2MDg2YmUzNGMxZGM5YWM1MzhiYTM4Zjg1NWU5MDMwMWI3NDc4NDkxYSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3dvcmtzcGFjZS1wb3J0LWF1dGhlbnRpY2F0aW9uLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImJhZjA4NzEwNTc4MTAwNjBiN2VkNzVkNjAzYjQ0ZTExMmZmZGYxYTQ0NDY1ZTVhYTIwZTI3MjNkMjVhZDAyNjMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL2hhbmRsZXIuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiN2E5NzdlMDU5MzM4ZjcxNWRmNzE1NzBkZWFmZTljMjc5Zjc4NDAwMGVmZThlZDk0MTMzZjFjNjc4ZDFiYWRjNyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9wbGFucy5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjE5MDAyZDhlZDcyMWRkZTYyNWVkZGJjNDliZWEzN2VmNDg2MGZhNDdlNDllOTRjYzA5OGVmMWJiNzkxMzVmZGMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvY29udGV4dC11cmwuc3BlYy5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYmE3NjE1YWFhN2M3ZmE0MzQ2ZWNjNzY5OWQyYTBjZjA4MzQ2Y2RmOWM2ZTFhODM4MmVlZmZhNDJkMTk2NzM5OSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbnYuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOWNmMTM2MDZiZjQ1OGI4MmQ1YWM5YjA3Y2JkYWFlM2QxNDk4OWNkMjU5MjUzNDNjYmM2MjY4Y2U4ZWZiNWEyNCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi93b3Jrc3BhY2UtY2x1c3Rlci5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNjViZjNjMmJiMDZmMjllYTliZDg4MjExODcwZTE3NzJjNTA1ZWVmODI2Njk2ZjJlNjZjY2EwZjNjMjQzYTgxOSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2V2ZW50LmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJhNTg1ZDIwYTQ3YTJiZjA5OGI0ZGNhMjVmNDBmNmVlODk1ZTEyZGU2MzNjYzI0ZjgxYTI5OWI1MmVmMTViZmMxIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvcGFyc2Utd29ya3NwYWNlLWlkLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImM5MThlZDA0MjliNDNhOWJkNjE1MjRmNmFjNGNmZjkwMzdiZWFhNTY0M2E1NTEyOGU2OWEwMGU0MDg5YmZkN2MiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvcGxhbnMuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOGRkYzA3NGFhZThlNDdjYzUyNmY3MTdiYTY4MjRlN2RlNDUzNzlhNzU0OThjNjBlOGNkMWIwODRmYmZhNjJmYyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvbm9kZS9jb25uZWN0aW9uLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjM1OGFlZWE2NWZlZGU0MTBmYjliNzA1NjU4ZjNkOTQyMDA5OGEyNGExNTU5Nzc5ZTI4MGE1Y2IyNGQ2MzQ1NDciCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL25vZGUvY29ubmVjdGlvbi5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJmZmJkNzhkM2YxZWJmYTU2ZmM4OThkYjVhNzIzOGUyMjM4YjE2NzZlMzFjZmQ0MzhhOGZlNWYwNWIwOWYyNmZjIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2hlYWRsZXNzLXdvcmtzcGFjZS1sb2cuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjQ1YjdhMDM4ODdhMGM0ZGQ0ZjU0Y2MxNDg3NmNiZGZkNTA5NThkZmQ1NDBiMThjZjdkNjhhYWJjZDdlZjY0MjIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZ2l0cG9kLXNlcnZpY2UuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI5MWQyM2EwM2EwODRjNGE2YjgwNmY1OGYxMjgzZDcwYWM1ZTA3YTRlNzY5ZDJiMmM5NzYyMTc1MjQzZmU2MjAzIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL21lc3NhZ2luZy9lcnJvci5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJkNDMzMmIyZWM1YzQ2YzdkZmNmMjViMjcyNzIwYjUxYTIxZWUwZDRmODNkZDE3YWQxMzRlYzdmOGM5NjVjMGQ1IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZGVlcC1wYXJ0aWFsLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjU2ZDlkOGQyYWY4OGNhMTcyMjY0ZWQ5MGE5NWRkZmIzNmRlNzFmZDcxNTFhMTQ0YmM2NDYzZTA2ZTVmNmMxMjQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9wYXJzZS13b3Jrc3BhY2UtaWQuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIxMjY1ZjY4MzMzZWI0Mjg3MmYyYTI0NjRlMDE2NGRlNWJmOGZmYzQ0NjFkYTNlYzFhMTlkYTQ1NDllNDcyMjZhIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL21lc3NhZ2luZy9icm93c2VyL3dpbmRvdy1jb25uZWN0aW9uLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjBlYmEyYzU2MDZhOTU1OTZmZDAyMTRkODUzMjMzZGJmYjdhNGU0MzVjZTBjY2Y4NmU1YmQ2MDhjYTdkNDQyMTEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9kaXNwb3NhYmxlLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImFlOTkxNGY3YjJkMmMxZjg0YjliMDk4ODVhYTEzNzFiMDg3YzE2YjE3N2Q4NGY0ZDFjNjA0ZjJhNWE0YzgwOWYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9jYW5jZWxhYmxlLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjJhYTg2OWVkMzk4MGI2YTBmN2NjOTcyMDdjZTkxZjI5ZjdjZGMyZTM3NzI2YjNiNTcxN2QwZjYyYzJlMTA1MTgiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvd29ya3NwYWNlLWNsdXN0ZXIuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNmQ0ZTkzZDEwYTRkZjRmOWM0YTU2OGJkY2I1NmUxYmMzMTExZjIyZjU3Y2E4MzlmZjgwZjMxMzdjN2QxNmZlOCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9hdXRoLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImMyZGQ2NzA1NjRjMDQyZWUwM2ZhODAyYjBhN2UzZGIzNmEzODAxYjM3ZGFmM2MwODUxMjgwYjM1YjcxODkyY2EiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZW5jcnlwdGlvbi9jb250YWluZXItbW9kdWxlLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMzhhNjk3YjRkYmRiNWYxYWE4NTg5NmMxNTdkMjRjZTBkNWQxMTVjNzRmNGFkOGFmNzEyOGQ0M2IwZDU2YTU3OCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbmNyeXB0aW9uL2tleS1wcm92aWRlci5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNWIyYTQ5MjhlNDA0NzBlZDBhYTdhNTRjNjBhMWRiOGU4OWFkYzUzMzA0ODIwZjIyY2FmNGM5Y2NkZDE5NjY0YSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3NraXAtaWYuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYjM0OTlhNDcxOGI3MWU1ZjE4NzU4YzY0ODhhMmQzYTVmZmRkYjE3ODdkMzdhYmQ5ZDFiN2I3NDZjZTBhMDdjYSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3RyYWNpbmcuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZGQ4MGZiOWMzODBjN2Q5MTcxMzdiYzE4MTlhMWRiMjVjNGNlMmQwYTA4ZTRjOTE3ZWU4ZTNlYWE4OWUwZTAyNiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9hbmFseXRpY3MuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZTlmNTI0YjM4ZTkzNTc0M2UxYWE3NzQ1MGRiYzJjMzZiMWExY2VkZDA2NDVlYWI4ZWY2YWM3N2YyOGI0ODM1OSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3F1ZXVlLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjg2ZGM3Nzk1MTEwNzE4ZDZlYTdiMTllMWIwMzE3Yzc2MGYzZGRmNjcyYzExOWQ3Nzc4YzlmMjJiOWE4YTBmNjQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9kYXRlLXRpbWUuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2YTQyYWViNTczYTE2YzRhZGZlMDMzYmNhOTFlNmEyZDIyZTY1MzRjYmEwZDhlMWMxYzQ3NGZjODY2YjdhY2Q4IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3RlYW0tc3Vic2NyaXB0aW9uLXByb3RvY29sLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZmFmM2Y3YzZiMDU1YzFlNzhiMzZmMjRhZWNhMzAzNWNlMzNhOTExYWEzYTI2OTI1N2YwMWUyNzNiYjdlMjVmNyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi93c3JlYWR5LmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiODMyMDcyYTkwNThkZjQxMjNhMWNmYzJmMjZlZTc2ODA2NDdmMzQ1ZTU3OGNhZTkzZGQzNWI4MTNjOTRlZGU5ZCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9wcm90b2NvbC5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImI0NDhkOWEyNTdiNzQyNWE3ODRjMjRlM2RkM2YwNDY0NmZkZmU4MmY2MmI3YzhlMTVlOWJiZTVlN2U4ZjM0MWEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvYXV0aC5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjViMzk4ZGU0OWNiNGRkMjVlZDIzNzM2ODMzMWQ3YzQyNWRiNTBjYjhlNmFkYmQ4MjhlZTNmMWYwYzAxM2VjNDkiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9kaXNwb3NhYmxlLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJkZjBkNzk3NGRhZjMyNTFhNDUwNjY2NTc1OTlhMDY0MTllYjBkZTU2ZTcwMTkxZTRkMzVhNTQwMWJiNTVkNjY0IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvcXVldWUuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjIxMzAzOWU1ZmVhMTkwMjkxMDYwNWEzNmNiMmY1ZDNhZjA0ZTBlN2U1MDMzNjkyZTNkMWQ5ZWZhNTczNWVjZjMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9za2lwLWlmLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJhMDM5MWRkYzk2OTFlOTliZTM1Y2VkZDUwN2NmYjczN2ZlNTE2YjJlMGFlMDk3NGFkYjczMjM3NDllZmU4ZDRmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvamFlZ2VyLWNsaWVudC10eXBlcy5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJmNmZkMTQ5MTA1NzYzNTQ2ZGMzNmE5ODY3ZTM0NzMxOTAzOGVlZmU0MjI5OTZmNjVjYWM3ZjFjMWJmZmViZmRmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL21lc3NhZ2luZy9icm93c2VyL2Nvbm5lY3Rpb24uZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJhNzUwZDZlMGQ5ZmZlYmY0OWU4MDIwZDAwM2NjMzViM2RhNDkxNWU3NjkxZThmNTUzZGEwNmRhNjJmNTVjZTNjIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvdGltZXV0aWwuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMjQ4ODVjNDI3NmRlMTVhN2QzMmZmZGNmMzQ0ZTZhMjQxM2I5OTFkNDAzOWQ0YTNjODdmYmQ4OTk3Y2ExMmRmYiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvcHJveHktZmFjdG9yeS5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjZkMThhYmEwMzcwMTVjNzc3YThhZDk2N2NiMWQxZjc5YTA4OTJhOTRkMTYwZGE2N2RlMzI3MDRjNmZlMjEzZmIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9nZW5lcmF0ZS13b3Jrc3BhY2UtaWQuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYWMzZjFhOWNlMmI1OWZiZjFiZTRjNjA5Y2QzYTg5YThlZTdmNWVmOTdjYzFkMDgzZDYwN2FlOWNjYjk3MDVjYyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvcHJveHktZmFjdG9yeS5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJmZmM3YjZhYmNhMDYzZWMyNWEwYmI2MjE5N2VkMmU5NDAxZTBkOGQyYjQ3MWU4NTBiNjFmYzJhN2M2NzBhYmU5IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ2l0cG9kLWhvc3QtdXJsLnNwZWMuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjE4ZGQ1NmMyMzVkMDU0NjVhZGZkYjA5NzRkZmU4OTNjZjU0MGQ0OTc0OTllZjQ3NzhjMjk3NzAxYTAzNzRjZDUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL2hhbmRsZXIuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2YTc0YTg4MWE5OWI2MjcxOWE5ZGExYzFiM2IyNmVlZTIzZTQ5ZTYyYTdlODdjNjc1NTkwZGEwMzk1NmUwOTNiIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL21lc3NhZ2luZy9icm93c2VyL3dpbmRvdy1jb25uZWN0aW9uLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI3ZmQ1MjFiNzBiNzczZmI4NDhkMTI2OWRjNzU1YWE0YTY2OTNkYTJiMTgzYTg2ODE0NjNlNTRhYWQwODIzMGY1IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2VtYWlsLXByb3RvY29sLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiM2MyN2M4OWE4MTg0MDBlMDJhMjU1ZjI5N2YxN2FiMzBkZWRmZGE2MzIxNjAxYTM5NDUyZTgyNmY1ZDk3NjNjNiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL21ha2UtbGluay5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJiODY2ZWQ3ZjEwYjY2MmRlYmY3OTM2NjQwMDEyY2YyYTAyNDZmNzlmNTU4MTA4ZjNjYzQ3N2E0ODM0Mzc1OTFjIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2VuY3J5cHRpb24vZW5jcnlwdGlvbi1lbmdpbmUuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYmEzOTY0YjMzMTc3NzFjMGExOTkwZmM1N2FmOWZiZmYzYmYyZDY2OTU3ODI0OTUyMTZiNDFlMzA5MjhhYWU1NiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9hbmFseXRpY3MuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjQ0ZmFkNzNkNTlkODU0MmJjNTkwZGMzZWRjNDYwMjdkYmIxMjhmZWYzYTNhOTg2Y2QyMWFmOWNmZmQwNWU0MGYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvcGxhbnMuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOGU4ZDhjMWE0ZmQ3Y2UyOWQwOWQxZDAzZjE5ZWQzYmE0MDNiODc0YWYwZTFhNmIxOGNmYTFiZWY1MWNiZmQ5OCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dpdHBvZC1ob3N0LXVybC5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZGRkNzYyY2JjNGI1MTBiMWVlODQ4NWJjMjg4ODdiOTc2MGRkZmU4OTRhNWMzZTM4ZDdlODdkZDBmYTJiODM5NyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dhcmJhZ2UtY29sbGVjdGVkLWNhY2hlLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImZkZjUyMjVhODZkZGVhYmM1NWQ0NjVhZWVlMmVjNGMyMzM4MTVhYTIxZDNkNmUxNWI3ZDU2Yjc4ZWJhODY5NDIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZW52LmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNjIyZjQ5NjQxNGFkYzAyOTg1ODE2MWIwMWM1OTJmMjAxOWZlNDc2ZjcxOTQ4NjI0MjI0M2ZkNzY1NGU2ODUyOCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbnYuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjgwNGM0YWM0NWE1MzZjNDRmNWE2NjY0ZmI5NTQxZTk1MmQ3MjAwYTgwZDYyN2E4ZmRjNmQ4YzZkZjM4MzBkMGIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdHlwaW5ncy9nbG9iYWxzLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjRjNzJlMzcyM2RiZDlkZjUyY2ZmZTY4Y2NiOGU5N2QzNjllZjdkYjFhMjNiNWU1ZTE2Y2Q5YzViNzA0MzM4ZjgiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvb3NzLWFsbG93bGlzdC5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOTEwMDJhZTM0ZGYyMTMxZjYwM2RlYzJmYzEzMzk2ODk3OTVhMTBiN2FhYTRlZjY3NGViMjhkZWU3ZTFiM2QxYiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3RpbWV1dGlsLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjI4MGMwMzI2MjhjNmI4MDY0YzFkYTA5N2NkZTAxNmI0MGM0ODFhMGNhMDVhM2E2N2VhZGI4MjBmYWZmZjZjMzIiCiAgICAgIH0KICAgIH0KICBdLAogICJwcmVkaWNhdGUiOiB7CiAgICAiYnVpbGRlciI6IHsKICAgICAgImlkIjogImdpdGh1Yi5jb20vZ2l0cG9kLWlvL2xlZXdheTowLjIuMTctM2ViZmIyYUBzaGEyNTY6Yjk2MjllMmQwNDMyYWRlYTFiZTdkZGRiMzYwM2UzNmQ5ZjY5YjA5ZDg5ODVmNzI1MjU3YWRhYWRlNTFkNGE0MCIKICAgIH0sCiAgICAicmVjaXBlIjogewogICAgICAidHlwZSI6ICJodHRwczovL2dpdGh1Yi5jb20vZ2l0cG9kLWlvL2xlZXdheS9idWlsZEB5YXJuOjciLAogICAgICAiZGVmaW5lZEluTWF0ZXJpYWwiOiAwLAogICAgICAiZW50cnlQb2ludCI6ICJjb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbDpsaWIiLAogICAgICAiYXJndW1lbnRzIjogWwogICAgICAgICJsZWV3YXkiLAogICAgICAgICJidWlsZCIsCiAgICAgICAgIi0tZG9ja2VyLWJ1aWxkLW9wdGlvbnMiLAogICAgICAgICJuZXR3b3JrPWhvc3QiLAogICAgICAgICItLXdlcmZ0PXRydWUiLAogICAgICAgICItYyIsCiAgICAgICAgInJlbW90ZSIsCiAgICAgICAgIi0tZG9udC1yZXRhZyIsCiAgICAgICAgIi0tY292ZXJhZ2Utb3V0cHV0LXBhdGg9L3RtcC90bXAuR2dHYkkyRFAxdiIsCiAgICAgICAgIi1EdmVyc2lvbj1zZXJ2ZXItdnNjb2RlLW9hdXRoMi4yNSIsCiAgICAgICAgIi1EcmVtb3ZlU291cmNlcz1mYWxzZSIsCiAgICAgICAgIi1EaW1hZ2VSZXBvQmFzZT1ldS5nY3IuaW8vZ2l0cG9kLWNvcmUtZGV2L2J1aWxkIiwKICAgICAgICAiLURsb2NhbEFwcFZlcnNpb249dW5rbm93biIsCiAgICAgICAgIi1EU0VHTUVOVF9JT19UT0tFTj1YM2JOYXRZUHVkSUpjQ3o2a0ZsVG41NHBydW1RQXFHaCIsCiAgICAgICAgIi1EUkVQTElDQVRFRF9BUElfVE9LRU49ZGVhMTBjOGZiNTg3NTVmZDUxYWI5OTZjY2JhYWI4OTYyZjVlOTA2YWI0NDEyYWU2Nzc5OTZlYTc0ZTg1YWUzNSIsCiAgICAgICAgIi1EUkVQTElDQVRFRF9BUFA9Z2l0cG9kIiwKICAgICAgICAiLURucG1QdWJsaXNoVHJpZ2dlcj1mYWxzZSIsCiAgICAgICAgIi1EamJNYXJrZXRwbGFjZVB1Ymxpc2hUcmlnZ2VyPWZhbHNlIgogICAgICBdLAogICAgICAiZW52aXJvbm1lbnQiOiB7CiAgICAgICAgIm1hbmlmZXN0IjogewogICAgICAgICAgImFyY2giOiAiYW1kNjQiLAogICAgICAgICAgImdvIjogImdvIHZlcnNpb24gZ28xLjE3LjUgbGludXgvYW1kNjQiLAogICAgICAgICAgIm5vZGUiOiAidjE2LjE0LjAiLAogICAgICAgICAgIm9zIjogImxpbnV4IiwKICAgICAgICAgICJ5YXJuIjogIjEuMjIuMTgiCiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgIm1ldGFkYXRhIjogewogICAgICAiYnVpbGRTdGFydGVkT24iOiAiMjAyMi0wNC0xMVQxODoyMDozNi4zNDM4NjU0NjNaIiwKICAgICAgImJ1aWxkRmluaXNoZWRPbiI6ICIyMDIyLTA0LTExVDE4OjIxOjAyLjg1OTAwODk5N1oiLAogICAgICAiY29tcGxldGVuZXNzIjogewogICAgICAgICJhcmd1bWVudHMiOiB0cnVlLAogICAgICAgICJlbnZpcm9ubWVudCI6IGZhbHNlLAogICAgICAgICJtYXRlcmlhbHMiOiB0cnVlCiAgICAgIH0sCiAgICAgICJyZXByb2R1Y2libGUiOiBmYWxzZQogICAgfSwKICAgICJtYXRlcmlhbHMiOiBbCiAgICAgIHsKICAgICAgICAidXJpIjogImdpdCtodHRwczovL2dpdGh1Yi5jb20vZ2l0cG9kLWlvL2dpdHBvZC5naXQiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogIjVhMjk4OWE3MWM4MzI0Nzc4NWM1NjY5NzgzNDk5ZGRmNjA5ZmE1YmUiCiAgICAgICAgfQogICAgICB9CiAgICBdCiAgfQp9","signatures":null}
2
+