@gitpod/gitpod-protocol 0.1.5-sh-ace-test.0 → 0.1.5-siddhant-k-code-allow-github-prebuilds-10358.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/data/gitpod-schema.json +163 -74
- package/lib/accounting-protocol.d.ts +163 -0
- package/lib/accounting-protocol.d.ts.map +1 -0
- package/lib/accounting-protocol.js +111 -0
- package/lib/accounting-protocol.js.map +1 -0
- package/lib/admin-protocol.d.ts +51 -6
- package/lib/admin-protocol.d.ts.map +1 -1
- package/lib/admin-protocol.js +17 -2
- package/lib/admin-protocol.js.map +1 -1
- package/lib/analytics.d.ts +44 -0
- package/lib/analytics.d.ts.map +1 -0
- package/lib/analytics.js +10 -0
- package/lib/analytics.js.map +1 -0
- package/lib/attribution.d.ts +24 -0
- package/lib/attribution.d.ts.map +1 -0
- package/lib/attribution.js +54 -0
- package/lib/attribution.js.map +1 -0
- package/lib/auth.d.ts +25 -0
- package/lib/auth.d.ts.map +1 -0
- package/lib/auth.js +16 -0
- package/lib/auth.js.map +1 -0
- package/lib/billing-mode.d.ts +45 -0
- package/lib/billing-mode.d.ts.map +1 -0
- package/lib/billing-mode.js +44 -0
- package/lib/billing-mode.js.map +1 -0
- package/lib/blocked-repositories-protocol.d.ts +13 -0
- package/lib/blocked-repositories-protocol.d.ts.map +1 -0
- package/lib/blocked-repositories-protocol.js +8 -0
- package/lib/blocked-repositories-protocol.js.map +1 -0
- package/lib/context-url.d.ts +30 -0
- package/lib/context-url.d.ts.map +1 -0
- package/lib/context-url.js +100 -0
- package/lib/context-url.js.map +1 -0
- package/lib/context-url.spec.d.ts +12 -0
- package/lib/context-url.spec.d.ts.map +1 -0
- package/lib/context-url.spec.js +81 -0
- package/lib/context-url.spec.js.map +1 -0
- package/lib/encryption/container-module.d.ts +2 -2
- package/lib/encryption/container-module.d.ts.map +1 -1
- package/lib/encryption/container-module.js +8 -6
- package/lib/encryption/container-module.js.map +1 -1
- package/lib/encryption/encryption-engine.d.ts +2 -2
- package/lib/encryption/encryption-engine.d.ts.map +1 -1
- package/lib/encryption/encryption-engine.js +28 -28
- package/lib/encryption/encryption-engine.js.map +1 -1
- package/lib/encryption/encryption-engine.spec.d.ts +3 -3
- package/lib/encryption/encryption-engine.spec.d.ts.map +1 -1
- package/lib/encryption/encryption-engine.spec.js +32 -39
- package/lib/encryption/encryption-engine.spec.js.map +1 -1
- package/lib/encryption/encryption-service.d.ts +2 -2
- package/lib/encryption/encryption-service.d.ts.map +1 -1
- package/lib/encryption/encryption-service.js +33 -46
- package/lib/encryption/encryption-service.js.map +1 -1
- package/lib/encryption/key-provider.d.ts +3 -3
- package/lib/encryption/key-provider.d.ts.map +1 -1
- package/lib/encryption/key-provider.js +34 -40
- package/lib/encryption/key-provider.js.map +1 -1
- package/lib/env.d.ts +2 -8
- package/lib/env.d.ts.map +1 -1
- package/lib/env.js +10 -29
- package/lib/env.js.map +1 -1
- package/lib/experiments/always-default.d.ts +8 -0
- package/lib/experiments/always-default.d.ts.map +1 -0
- package/lib/experiments/always-default.js +20 -0
- package/lib/experiments/always-default.js.map +1 -0
- package/lib/experiments/configcat-server.d.ts +10 -0
- package/lib/experiments/configcat-server.d.ts.map +1 -0
- package/lib/experiments/configcat-server.js +37 -0
- package/lib/experiments/configcat-server.js.map +1 -0
- package/lib/experiments/configcat.d.ts +21 -0
- package/lib/experiments/configcat.d.ts.map +1 -0
- package/lib/experiments/configcat.js +51 -0
- package/lib/experiments/configcat.js.map +1 -0
- package/lib/experiments/types.d.ts +22 -0
- package/lib/experiments/types.d.ts.map +1 -0
- package/lib/experiments/types.js +10 -0
- package/lib/experiments/types.js.map +1 -0
- package/lib/frontend-dashboard-service.d.ts +90 -0
- package/lib/frontend-dashboard-service.d.ts.map +1 -0
- package/lib/frontend-dashboard-service.js +49 -0
- package/lib/frontend-dashboard-service.js.map +1 -0
- package/lib/gitpod-file-parser.d.ts +2 -2
- package/lib/gitpod-file-parser.d.ts.map +1 -1
- package/lib/gitpod-file-parser.js +29 -44
- package/lib/gitpod-file-parser.js.map +1 -1
- package/lib/gitpod-file-parser.spec.d.ts +2 -2
- package/lib/gitpod-file-parser.spec.js +147 -144
- package/lib/gitpod-file-parser.spec.js.map +1 -1
- package/lib/gitpod-service.d.ts +241 -50
- package/lib/gitpod-service.d.ts.map +1 -1
- package/lib/gitpod-service.js +275 -123
- package/lib/gitpod-service.js.map +1 -1
- package/lib/headless-workspace-log.d.ts +11 -13
- package/lib/headless-workspace-log.d.ts.map +1 -1
- package/lib/headless-workspace-log.js +8 -9
- package/lib/headless-workspace-log.js.map +1 -1
- package/lib/ide-frontend-service.d.ts +26 -0
- package/lib/ide-frontend-service.d.ts.map +1 -0
- package/lib/ide-frontend-service.js +8 -0
- package/lib/ide-frontend-service.js.map +1 -0
- package/lib/ide-protocol.d.ts +126 -0
- package/lib/ide-protocol.d.ts.map +1 -0
- package/lib/ide-protocol.js +18 -0
- package/lib/ide-protocol.js.map +1 -0
- package/lib/index.d.ts +18 -12
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +28 -13
- package/lib/index.js.map +1 -1
- package/lib/installation-admin-protocol.d.ts +30 -0
- package/lib/installation-admin-protocol.d.ts.map +1 -0
- package/lib/installation-admin-protocol.js +31 -0
- package/lib/installation-admin-protocol.js.map +1 -0
- package/lib/license-protocol.d.ts +9 -2
- package/lib/license-protocol.d.ts.map +1 -1
- package/lib/license-protocol.js +3 -2
- package/lib/license-protocol.js.map +1 -1
- package/lib/messaging/browser/connection.d.ts +6 -4
- package/lib/messaging/browser/connection.d.ts.map +1 -1
- package/lib/messaging/browser/connection.js +188 -48
- package/lib/messaging/browser/connection.js.map +1 -1
- package/lib/messaging/browser/window-connection.d.ts +9 -4
- package/lib/messaging/browser/window-connection.d.ts.map +1 -1
- package/lib/messaging/browser/window-connection.js +48 -59
- package/lib/messaging/browser/window-connection.js.map +1 -1
- package/lib/messaging/client-call-metrics.d.ts +21 -0
- package/lib/messaging/client-call-metrics.d.ts.map +1 -0
- package/lib/messaging/client-call-metrics.js +95 -0
- package/lib/messaging/client-call-metrics.js.map +1 -0
- package/lib/messaging/error.d.ts +17 -4
- package/lib/messaging/error.d.ts.map +1 -1
- package/lib/messaging/error.js +34 -7
- package/lib/messaging/error.js.map +1 -1
- package/lib/messaging/handler.d.ts +10 -0
- package/lib/messaging/handler.d.ts.map +1 -1
- package/lib/messaging/handler.js +2 -1
- package/lib/messaging/handler.js.map +1 -1
- package/lib/messaging/node/connection.d.ts +1 -17
- package/lib/messaging/node/connection.d.ts.map +1 -1
- package/lib/messaging/node/connection.js +24 -59
- package/lib/messaging/node/connection.js.map +1 -1
- package/lib/messaging/proxy-factory.d.ts +3 -1
- package/lib/messaging/proxy-factory.d.ts.map +1 -1
- package/lib/messaging/proxy-factory.js +76 -162
- package/lib/messaging/proxy-factory.js.map +1 -1
- package/lib/oss-allowlist.d.ts +14 -0
- package/lib/oss-allowlist.d.ts.map +1 -0
- package/lib/oss-allowlist.js +8 -0
- package/lib/oss-allowlist.js.map +1 -0
- package/lib/payment-protocol.d.ts +18 -0
- package/lib/payment-protocol.d.ts.map +1 -0
- package/lib/payment-protocol.js +13 -0
- package/lib/payment-protocol.js.map +1 -0
- package/lib/permission.d.ts +26 -15
- package/lib/permission.d.ts.map +1 -1
- package/lib/permission.js +50 -36
- package/lib/permission.js.map +1 -1
- package/lib/plans.d.ts +211 -0
- package/lib/plans.d.ts.map +1 -0
- package/lib/plans.js +609 -0
- package/lib/plans.js.map +1 -0
- package/lib/protocol.d.ts +300 -112
- package/lib/protocol.d.ts.map +1 -1
- package/lib/protocol.js +393 -201
- package/lib/protocol.js.map +1 -1
- package/lib/protocol.spec.d.ts +7 -0
- package/lib/protocol.spec.d.ts.map +1 -0
- package/lib/protocol.spec.js +127 -0
- package/lib/protocol.spec.js.map +1 -0
- package/lib/snapshot-url.d.ts +14 -0
- package/lib/snapshot-url.d.ts.map +1 -0
- package/lib/snapshot-url.js +26 -0
- package/lib/snapshot-url.js.map +1 -0
- package/lib/snapshot-url.spec.d.ts +7 -0
- package/lib/snapshot-url.spec.d.ts.map +1 -0
- package/lib/snapshot-url.spec.js +41 -0
- package/lib/snapshot-url.spec.js.map +1 -0
- package/lib/team-subscription-protocol.d.ts +92 -0
- package/lib/team-subscription-protocol.d.ts.map +1 -0
- package/lib/team-subscription-protocol.js +78 -0
- package/lib/team-subscription-protocol.js.map +1 -0
- package/lib/teams-projects-protocol.d.ts +136 -0
- package/lib/teams-projects-protocol.d.ts.map +1 -0
- package/lib/teams-projects-protocol.js +37 -0
- package/lib/teams-projects-protocol.js.map +1 -0
- package/lib/typings/globals.d.ts +4 -3
- package/lib/typings/globals.d.ts.map +1 -1
- package/lib/typings/globals.js +2 -2
- package/lib/usage.d.ts +73 -0
- package/lib/usage.d.ts.map +1 -0
- package/lib/usage.js +20 -0
- package/lib/usage.js.map +1 -0
- package/lib/util/analytics.d.ts +8 -0
- package/lib/util/analytics.d.ts.map +1 -0
- package/lib/util/analytics.js +88 -0
- package/lib/util/analytics.js.map +1 -0
- package/lib/util/async-iterator.d.ts +2 -2
- package/lib/util/async-iterator.d.ts.map +1 -1
- package/lib/util/async-iterator.js +60 -137
- package/lib/util/async-iterator.js.map +1 -1
- package/lib/util/cancelable.d.ts +2 -2
- package/lib/util/cancelable.js +20 -61
- package/lib/util/cancelable.js.map +1 -1
- package/lib/util/date-time.d.ts +2 -2
- package/lib/util/date-time.js +14 -13
- package/lib/util/date-time.js.map +1 -1
- package/lib/util/debug-app.d.ts +25 -0
- package/lib/util/debug-app.d.ts.map +1 -0
- package/lib/util/debug-app.js +100 -0
- package/lib/util/debug-app.js.map +1 -0
- package/lib/util/deep-partial.d.ts +2 -2
- package/lib/util/deep-partial.js +2 -2
- package/lib/util/deferred.d.ts +2 -2
- package/lib/util/deferred.js +13 -14
- package/lib/util/deferred.js.map +1 -1
- package/lib/util/disposable.d.ts +2 -2
- package/lib/util/disposable.d.ts.map +1 -1
- package/lib/util/disposable.js +28 -40
- package/lib/util/disposable.js.map +1 -1
- package/lib/util/event.d.ts +1 -1
- package/lib/util/event.d.ts.map +1 -1
- package/lib/util/event.js +64 -77
- package/lib/util/event.js.map +1 -1
- package/lib/util/garbage-collected-cache.d.ts +3 -2
- package/lib/util/garbage-collected-cache.d.ts.map +1 -1
- package/lib/util/garbage-collected-cache.js +35 -49
- package/lib/util/garbage-collected-cache.js.map +1 -1
- package/lib/util/generate-workspace-id.d.ts +9 -0
- package/lib/util/generate-workspace-id.d.ts.map +1 -0
- package/lib/util/generate-workspace-id.js +491 -0
- package/lib/util/generate-workspace-id.js.map +1 -0
- package/lib/util/generate-workspace-id.spec.d.ts +7 -0
- package/lib/util/generate-workspace-id.spec.d.ts.map +1 -0
- package/lib/util/generate-workspace-id.spec.js +98 -0
- package/lib/util/generate-workspace-id.spec.js.map +1 -0
- package/lib/util/gitpod-cookie.d.ts +20 -0
- package/lib/util/gitpod-cookie.d.ts.map +1 -0
- package/lib/util/gitpod-cookie.js +41 -0
- package/lib/util/gitpod-cookie.js.map +1 -0
- package/lib/util/gitpod-host-url.d.ts +20 -7
- package/lib/util/gitpod-host-url.d.ts.map +1 -1
- package/lib/util/gitpod-host-url.js +146 -85
- package/lib/util/gitpod-host-url.js.map +1 -1
- package/lib/util/gitpod-host-url.spec.d.ts +16 -0
- package/lib/util/gitpod-host-url.spec.d.ts.map +1 -0
- package/lib/util/gitpod-host-url.spec.js +134 -0
- package/lib/util/gitpod-host-url.spec.js.map +1 -0
- package/lib/util/grpc.d.ts +35 -0
- package/lib/util/grpc.d.ts.map +1 -0
- package/lib/util/grpc.js +90 -0
- package/lib/util/grpc.js.map +1 -0
- package/lib/util/jaeger-client-types.d.ts +68 -0
- package/lib/util/jaeger-client-types.d.ts.map +1 -0
- package/lib/util/jaeger-client-types.js +8 -0
- package/lib/util/jaeger-client-types.js.map +1 -0
- package/lib/util/logging.d.ts +58 -35
- package/lib/util/logging.d.ts.map +1 -1
- package/lib/util/logging.js +144 -129
- package/lib/util/logging.js.map +1 -1
- package/lib/util/logging.spec.d.ts +7 -0
- package/lib/util/logging.spec.d.ts.map +1 -0
- package/lib/util/logging.spec.js +52 -0
- package/lib/util/logging.spec.js.map +1 -0
- package/lib/util/make-link.d.ts +2 -2
- package/lib/util/make-link.js +8 -7
- package/lib/util/make-link.js.map +1 -1
- package/lib/util/nice-grpc.d.ts +9 -0
- package/lib/util/nice-grpc.d.ts.map +1 -0
- package/lib/util/nice-grpc.js +121 -0
- package/lib/util/nice-grpc.js.map +1 -0
- package/lib/util/parse-workspace-id.d.ts +15 -5
- package/lib/util/parse-workspace-id.d.ts.map +1 -1
- package/lib/util/parse-workspace-id.js +39 -9
- package/lib/util/parse-workspace-id.js.map +1 -1
- package/lib/util/parse-workspace-id.spec.d.ts +10 -2
- package/lib/util/parse-workspace-id.spec.d.ts.map +1 -1
- package/lib/util/parse-workspace-id.spec.js +130 -49
- package/lib/util/parse-workspace-id.spec.js.map +1 -1
- package/lib/util/queue.d.ts +2 -2
- package/lib/util/queue.js +19 -57
- package/lib/util/queue.js.map +1 -1
- package/lib/util/queue.spec.d.ts +2 -2
- package/lib/util/queue.spec.js +149 -288
- package/lib/util/queue.spec.js.map +1 -1
- package/lib/util/repeat.d.ts +15 -0
- package/lib/util/repeat.d.ts.map +1 -0
- package/lib/util/repeat.js +55 -0
- package/lib/util/repeat.js.map +1 -0
- package/lib/util/semaphore.d.ts +2 -2
- package/lib/util/semaphore.d.ts.map +1 -1
- package/lib/util/semaphore.js +18 -48
- package/lib/util/semaphore.js.map +1 -1
- package/lib/util/skip-if.d.ts +2 -2
- package/lib/util/skip-if.d.ts.map +1 -1
- package/lib/util/skip-if.js +9 -8
- package/lib/util/skip-if.js.map +1 -1
- package/lib/util/timeutil.d.ts +4 -2
- package/lib/util/timeutil.d.ts.map +1 -1
- package/lib/util/timeutil.js +43 -18
- package/lib/util/timeutil.js.map +1 -1
- package/lib/util/timeutil.spec.d.ts +4 -2
- package/lib/util/timeutil.spec.d.ts.map +1 -1
- package/lib/util/timeutil.spec.js +57 -25
- package/lib/util/timeutil.spec.js.map +1 -1
- package/lib/util/tracing.d.ts +54 -8
- package/lib/util/tracing.d.ts.map +1 -1
- package/lib/util/tracing.js +200 -66
- package/lib/util/tracing.js.map +1 -1
- package/lib/util/tracing.spec.d.ts +7 -0
- package/lib/util/tracing.spec.d.ts.map +1 -0
- package/lib/util/tracing.spec.js +121 -0
- package/lib/util/tracing.spec.js.map +1 -0
- package/lib/util/workspace-port-authentication.d.ts +9 -9
- package/lib/util/workspace-port-authentication.d.ts.map +1 -1
- package/lib/util/workspace-port-authentication.js +13 -14
- package/lib/util/workspace-port-authentication.js.map +1 -1
- package/lib/webhook-event.d.ts +44 -0
- package/lib/webhook-event.d.ts.map +1 -0
- package/lib/webhook-event.js +8 -0
- package/lib/webhook-event.js.map +1 -0
- package/lib/workspace-class.d.ts +14 -0
- package/lib/workspace-class.d.ts.map +1 -0
- package/lib/workspace-class.js +8 -0
- package/lib/workspace-class.js.map +1 -0
- package/lib/workspace-cluster.d.ts +75 -0
- package/lib/workspace-cluster.d.ts.map +1 -0
- package/lib/workspace-cluster.js +31 -0
- package/lib/workspace-cluster.js.map +1 -0
- package/lib/workspace-instance.d.ts +51 -8
- package/lib/workspace-instance.d.ts.map +1 -1
- package/lib/workspace-instance.js +2 -2
- package/lib/wsready.d.ts +8 -2
- package/lib/wsready.d.ts.map +1 -1
- package/lib/wsready.js +4 -3
- package/lib/wsready.js.map +1 -1
- package/package.json +42 -18
- package/pkg-yarn.lock +24 -10
- package/provenance-bundle.jsonl +2 -0
- package/src/accounting-protocol.ts +244 -0
- package/src/admin-protocol.ts +96 -21
- package/src/analytics.ts +52 -0
- package/src/attribution.ts +63 -0
- package/src/auth.ts +27 -0
- package/src/billing-mode.ts +84 -0
- package/src/blocked-repositories-protocol.ts +13 -0
- package/src/context-url.spec.ts +49 -0
- package/src/context-url.ts +107 -0
- package/src/encryption/container-module.ts +4 -5
- package/src/encryption/encryption-engine.spec.ts +11 -10
- package/src/encryption/encryption-engine.ts +22 -18
- package/src/encryption/encryption-service.ts +6 -7
- package/src/encryption/key-provider.ts +18 -21
- package/src/env.ts +3 -26
- package/src/experiments/always-default.ts +24 -0
- package/src/experiments/configcat-server.ts +42 -0
- package/src/experiments/configcat.ts +56 -0
- package/src/experiments/types.ts +34 -0
- package/src/frontend-dashboard-service.ts +125 -0
- package/src/gitpod-file-parser.spec.ts +57 -63
- package/src/gitpod-file-parser.ts +18 -19
- package/src/gitpod-service.ts +534 -99
- package/src/headless-workspace-log.ts +14 -16
- package/src/ide-frontend-service.ts +28 -0
- package/src/ide-protocol.ts +147 -0
- package/src/index.ts +18 -12
- package/src/installation-admin-protocol.ts +45 -0
- package/src/license-protocol.ts +14 -8
- package/src/messaging/browser/connection.ts +202 -26
- package/src/messaging/browser/window-connection.ts +45 -29
- package/src/messaging/client-call-metrics.ts +94 -0
- package/src/messaging/error.ts +47 -10
- package/src/messaging/handler.ts +13 -1
- package/src/messaging/node/connection.ts +23 -70
- package/src/messaging/proxy-factory.ts +35 -34
- package/src/oss-allowlist.ts +15 -0
- package/src/payment-protocol.ts +20 -0
- package/src/permission.ts +53 -40
- package/src/plans.ts +683 -0
- package/src/protocol.spec.ts +97 -0
- package/src/protocol.ts +706 -299
- package/src/snapshot-url.spec.ts +27 -0
- package/src/snapshot-url.ts +27 -0
- package/src/team-subscription-protocol.ts +150 -0
- package/src/teams-projects-protocol.ts +177 -0
- package/src/typings/globals.ts +7 -5
- package/src/usage.ts +85 -0
- package/src/util/analytics.ts +109 -0
- package/src/util/async-iterator.ts +6 -7
- package/src/util/cancelable.ts +5 -5
- package/src/util/date-time.ts +10 -10
- package/src/util/debug-app.ts +81 -0
- package/src/util/deep-partial.ts +2 -2
- package/src/util/deferred.ts +8 -8
- package/src/util/disposable.ts +3 -6
- package/src/util/event.ts +9 -11
- package/src/util/garbage-collected-cache.ts +18 -10
- package/src/util/generate-workspace-id.spec.ts +58 -0
- package/src/util/generate-workspace-id.ts +481 -0
- package/src/util/gitpod-cookie.ts +38 -0
- package/src/util/gitpod-host-url.spec.ts +76 -0
- package/src/util/gitpod-host-url.ts +121 -38
- package/src/util/grpc.ts +107 -0
- package/src/util/jaeger-client-types.ts +102 -0
- package/src/util/logging.spec.ts +23 -0
- package/src/util/logging.ts +163 -73
- package/src/util/make-link.ts +8 -9
- package/src/util/nice-grpc.ts +96 -0
- package/src/util/parse-workspace-id.spec.ts +62 -12
- package/src/util/parse-workspace-id.ts +40 -10
- package/src/util/queue.spec.ts +30 -28
- package/src/util/queue.ts +2 -2
- package/src/util/repeat.ts +45 -0
- package/src/util/semaphore.ts +8 -10
- package/src/util/skip-if.ts +12 -9
- package/src/util/timeutil.spec.ts +42 -16
- package/src/util/timeutil.ts +33 -17
- package/src/util/tracing.spec.ts +88 -0
- package/src/util/tracing.ts +202 -33
- package/src/util/workspace-port-authentication.ts +12 -15
- package/src/webhook-event.ts +55 -0
- package/src/workspace-class.ts +14 -0
- package/src/workspace-cluster.ts +110 -0
- package/src/workspace-instance.ts +119 -35
- package/src/wsready.ts +11 -4
- package/data/builtin-theia-plugins.json +0 -362
- package/lib/email-protocol.d.ts +0 -49
- package/lib/email-protocol.d.ts.map +0 -1
- package/lib/email-protocol.js +0 -27
- package/lib/email-protocol.js.map +0 -1
- package/lib/messaging/connection-error-handler.d.ts +0 -27
- package/lib/messaging/connection-error-handler.d.ts.map +0 -1
- package/lib/messaging/connection-error-handler.js +0 -45
- package/lib/messaging/connection-error-handler.js.map +0 -1
- package/lib/theia-plugins.d.ts +0 -11
- package/lib/theia-plugins.d.ts.map +0 -1
- package/lib/theia-plugins.js +0 -8
- package/lib/theia-plugins.js.map +0 -1
- package/lib/util/repeater.d.ts +0 -22
- package/lib/util/repeater.d.ts.map +0 -1
- package/lib/util/repeater.js +0 -117
- package/lib/util/repeater.js.map +0 -1
- package/lib/util/safe-promise.d.ts +0 -11
- package/lib/util/safe-promise.d.ts.map +0 -1
- package/lib/util/safe-promise.js +0 -33
- package/lib/util/safe-promise.js.map +0 -1
- package/lib/util/without.d.ts +0 -7
- package/lib/util/without.d.ts.map +0 -1
- package/lib/util/without.js +0 -8
- package/lib/util/without.js.map +0 -1
- package/src/email-protocol.ts +0 -67
- package/src/messaging/connection-error-handler.ts +0 -62
- package/src/theia-plugins.ts +0 -11
- package/src/util/jaeger-client.d.ts +0 -105
- package/src/util/repeater.ts +0 -49
- package/src/util/safe-promise.ts +0 -26
- package/src/util/without.ts +0 -8
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace-class.js","sourceRoot":"","sources":["../src/workspace-class.ts"],"names":[],"mappings":";AAAA;;;;GAIG"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2020 Gitpod GmbH. All rights reserved.
|
|
3
|
+
* Licensed under the GNU Affero General Public License (AGPL).
|
|
4
|
+
* See License.AGPL.txt in the project root for license information.
|
|
5
|
+
*/
|
|
6
|
+
import { DeepPartial } from "./util/deep-partial";
|
|
7
|
+
import { PermissionName } from "./permission";
|
|
8
|
+
export interface WorkspaceCluster {
|
|
9
|
+
name: string;
|
|
10
|
+
applicationCluster: string;
|
|
11
|
+
url: string;
|
|
12
|
+
tls?: TLSConfig;
|
|
13
|
+
state: WorkspaceClusterState;
|
|
14
|
+
maxScore: number;
|
|
15
|
+
score: number;
|
|
16
|
+
govern: boolean;
|
|
17
|
+
admissionConstraints?: AdmissionConstraint[];
|
|
18
|
+
}
|
|
19
|
+
export declare type WorkspaceClusterState = "available" | "cordoned" | "draining";
|
|
20
|
+
export interface TLSConfig {
|
|
21
|
+
ca: string;
|
|
22
|
+
key: string;
|
|
23
|
+
crt: string;
|
|
24
|
+
}
|
|
25
|
+
export declare namespace TLSConfig {
|
|
26
|
+
const loadFromBase64File: (path: string) => string;
|
|
27
|
+
}
|
|
28
|
+
export declare type WorkspaceClusterWoTLS = Omit<WorkspaceCluster, "tls">;
|
|
29
|
+
export declare type WorkspaceManagerConnectionInfo = Pick<WorkspaceCluster, "name" | "url" | "tls">;
|
|
30
|
+
export declare type AdmissionConstraint = AdmissionConstraintFeaturePreview | AdmissionConstraintHasPermission | AdmissionConstraintHasClass;
|
|
31
|
+
export declare type AdmissionConstraintFeaturePreview = {
|
|
32
|
+
type: "has-feature-preview";
|
|
33
|
+
};
|
|
34
|
+
export declare type AdmissionConstraintHasPermission = {
|
|
35
|
+
type: "has-permission";
|
|
36
|
+
permission: PermissionName;
|
|
37
|
+
};
|
|
38
|
+
export declare type AdmissionConstraintHasClass = {
|
|
39
|
+
type: "has-class";
|
|
40
|
+
id: string;
|
|
41
|
+
displayName: string;
|
|
42
|
+
};
|
|
43
|
+
export declare namespace AdmissionConstraint {
|
|
44
|
+
function is(o: any): o is AdmissionConstraint;
|
|
45
|
+
function isHasPermissionConstraint(o: any): o is AdmissionConstraintHasPermission;
|
|
46
|
+
function hasPermission(ac: AdmissionConstraint, permission: PermissionName): boolean;
|
|
47
|
+
}
|
|
48
|
+
export declare const WorkspaceClusterDB: unique symbol;
|
|
49
|
+
export interface WorkspaceClusterDB {
|
|
50
|
+
/**
|
|
51
|
+
* Stores the given WorkspaceCluster to the cluster-local DB in a consistent manner.
|
|
52
|
+
* If there already is an entry with the same name it's merged and updated with the given state.
|
|
53
|
+
* @param cluster
|
|
54
|
+
*/
|
|
55
|
+
save(cluster: WorkspaceCluster): Promise<void>;
|
|
56
|
+
/**
|
|
57
|
+
* Deletes the cluster identified by this name, if any.
|
|
58
|
+
* @param name
|
|
59
|
+
*/
|
|
60
|
+
deleteByName(name: string, applicationCluster: string): Promise<void>;
|
|
61
|
+
/**
|
|
62
|
+
* Finds a WorkspaceCluster with the given name. If there is none, `undefined` is returned.
|
|
63
|
+
* @param name
|
|
64
|
+
*/
|
|
65
|
+
findByName(name: string, applicationCluster: string): Promise<WorkspaceCluster | undefined>;
|
|
66
|
+
/**
|
|
67
|
+
* Lists all WorkspaceClusterWoTls for which the given predicate is true (does not return TLS for size/speed concerns)
|
|
68
|
+
* @param predicate
|
|
69
|
+
*/
|
|
70
|
+
findFiltered(predicate: WorkspaceClusterFilter): Promise<WorkspaceClusterWoTLS[]>;
|
|
71
|
+
}
|
|
72
|
+
export declare type WorkspaceClusterFilter = Pick<WorkspaceCluster, "applicationCluster"> & DeepPartial<Pick<WorkspaceCluster, "name" | "state" | "govern" | "url">> & Partial<{
|
|
73
|
+
minScore: number;
|
|
74
|
+
}>;
|
|
75
|
+
//# sourceMappingURL=workspace-cluster.d.ts.map
|
|
@@ -0,0 +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;IAIb,kBAAkB,EAAE,MAAM,CAAC;IAG3B,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,2BAA2B,CAAC;AAClC,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,2BAA2B,GAAG;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjG,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,EAAE,kBAAkB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtE;;;OAGG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAAC;IAE5F;;;OAGG;IACH,YAAY,CAAC,SAAS,EAAE,sBAAsB,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC;CACrF;AAED,oBAAY,sBAAsB,GAAG,IAAI,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,GAC7E,WAAW,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC,CAAC,GACxE,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Copyright (c) 2020 Gitpod GmbH. All rights reserved.
|
|
4
|
+
* Licensed under the GNU Affero General Public License (AGPL).
|
|
5
|
+
* See License.AGPL.txt in the project root for license information.
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.WorkspaceClusterDB = exports.AdmissionConstraint = exports.TLSConfig = void 0;
|
|
9
|
+
const fs = require("fs");
|
|
10
|
+
const env_1 = require("./env");
|
|
11
|
+
var TLSConfig;
|
|
12
|
+
(function (TLSConfig) {
|
|
13
|
+
TLSConfig.loadFromBase64File = (path) => fs.readFileSync((0, env_1.filePathTelepresenceAware)(path)).toString("base64");
|
|
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 = {}));
|
|
30
|
+
exports.WorkspaceClusterDB = Symbol("WorkspaceClusterDB");
|
|
31
|
+
//# sourceMappingURL=workspace-cluster.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace-cluster.js","sourceRoot":"","sources":["../src/workspace-cluster.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,yBAAyB;AACzB,+BAAkD;AA6ClD,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;AAYD,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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c) 2020
|
|
2
|
+
* Copyright (c) 2020 Gitpod GmbH. All rights reserved.
|
|
3
3
|
* Licensed under the GNU Affero General Public License (AGPL).
|
|
4
|
-
* See License
|
|
4
|
+
* See License.AGPL.txt in the project root for license information.
|
|
5
5
|
*/
|
|
6
6
|
import { NamedWorkspaceFeatureFlag } from "./protocol";
|
|
7
7
|
export interface WorkspaceInstance {
|
|
@@ -10,6 +10,7 @@ export interface WorkspaceInstance {
|
|
|
10
10
|
creationTime: string;
|
|
11
11
|
deployedTime?: string;
|
|
12
12
|
startedTime?: string;
|
|
13
|
+
stoppingTime?: string;
|
|
13
14
|
stoppedTime?: string;
|
|
14
15
|
ideUrl: string;
|
|
15
16
|
region: string;
|
|
@@ -17,8 +18,23 @@ export interface WorkspaceInstance {
|
|
|
17
18
|
status: WorkspaceInstanceStatus;
|
|
18
19
|
configuration?: WorkspaceInstanceConfiguration;
|
|
19
20
|
readonly deleted?: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Contains information about the image build, if there was any
|
|
23
|
+
*/
|
|
24
|
+
imageBuildInfo?: ImageBuildInfo;
|
|
25
|
+
/**
|
|
26
|
+
* workspace class, also known as workspace size, determines the type of
|
|
27
|
+
* resources that are provided to the workspace.
|
|
28
|
+
*/
|
|
29
|
+
workspaceClass?: string;
|
|
30
|
+
/**
|
|
31
|
+
* Identifies the team or user to which this instance's runtime should be attributed to
|
|
32
|
+
* (e.g. for usage analytics or billing purposes).
|
|
33
|
+
*/
|
|
34
|
+
usageAttributionId?: string;
|
|
20
35
|
}
|
|
21
36
|
export interface WorkspaceInstanceStatus {
|
|
37
|
+
version?: number;
|
|
22
38
|
phase: WorkspaceInstancePhase;
|
|
23
39
|
conditions: WorkspaceInstanceConditions;
|
|
24
40
|
message?: string;
|
|
@@ -26,23 +42,25 @@ export interface WorkspaceInstanceStatus {
|
|
|
26
42
|
repo?: WorkspaceInstanceRepoStatus;
|
|
27
43
|
timeout?: string;
|
|
28
44
|
nodeName?: string;
|
|
45
|
+
podName?: string;
|
|
46
|
+
nodeIp?: string;
|
|
29
47
|
ownerToken?: string;
|
|
30
48
|
}
|
|
31
|
-
export declare type WorkspaceInstancePhase = "unknown" | "preparing" | "pending" | "creating" | "initializing" | "running" | "interrupted" | "stopping" | "stopped";
|
|
49
|
+
export declare type WorkspaceInstancePhase = "unknown" | "preparing" | "building" | "pending" | "creating" | "initializing" | "running" | "interrupted" | "stopping" | "stopped";
|
|
32
50
|
export interface WorkspaceInstanceConditions {
|
|
33
51
|
failed?: string;
|
|
34
52
|
timeout?: string;
|
|
35
53
|
pullingImages?: boolean;
|
|
36
|
-
serviceExists?: boolean;
|
|
37
54
|
deployed?: boolean;
|
|
38
55
|
neededImageBuild?: boolean;
|
|
39
56
|
firstUserActivity?: string;
|
|
57
|
+
headlessTaskFailed?: string;
|
|
58
|
+
stoppedByRequest?: boolean;
|
|
40
59
|
}
|
|
41
|
-
export declare type AdmissionLevel =
|
|
42
|
-
export declare type PortVisibility =
|
|
60
|
+
export declare type AdmissionLevel = "owner_only" | "everyone";
|
|
61
|
+
export declare type PortVisibility = "public" | "private";
|
|
43
62
|
export interface WorkspaceInstancePort {
|
|
44
63
|
port: number;
|
|
45
|
-
targetPort?: number;
|
|
46
64
|
visibility?: PortVisibility;
|
|
47
65
|
url?: string;
|
|
48
66
|
}
|
|
@@ -56,8 +74,33 @@ export interface WorkspaceInstanceRepoStatus {
|
|
|
56
74
|
unpushedCommits?: string[];
|
|
57
75
|
totalUnpushedCommits?: number;
|
|
58
76
|
}
|
|
77
|
+
export interface ConfigurationIdeConfig {
|
|
78
|
+
useLatest?: boolean;
|
|
79
|
+
desktopIdeAlias?: string;
|
|
80
|
+
}
|
|
59
81
|
export interface WorkspaceInstanceConfiguration {
|
|
60
|
-
theiaVersion
|
|
82
|
+
theiaVersion?: string;
|
|
61
83
|
featureFlags?: NamedWorkspaceFeatureFlag[];
|
|
84
|
+
ideImage: string;
|
|
85
|
+
ideImageLayers?: string[];
|
|
86
|
+
desktopIdeImage?: string;
|
|
87
|
+
desktopIdePluginImage?: string;
|
|
88
|
+
supervisorImage?: string;
|
|
89
|
+
ideConfig?: ConfigurationIdeConfig;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Holds information about the image build (if there was one) for this WorkspaceInstance
|
|
93
|
+
*/
|
|
94
|
+
export interface ImageBuildInfo {
|
|
95
|
+
log?: ImageBuildLogInfo;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Holds information about how to access logs for this an image build
|
|
99
|
+
*/
|
|
100
|
+
export interface ImageBuildLogInfo {
|
|
101
|
+
url: string;
|
|
102
|
+
headers: {
|
|
103
|
+
[key: string]: string;
|
|
104
|
+
};
|
|
62
105
|
}
|
|
63
106
|
//# 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,WAAW,CAAC,EAAE,MAAM,CAAC;
|
|
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;IAEhC;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAGD,MAAM,WAAW,uBAAuB;IAIpC,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,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,GAIX,UAAU,GAKV,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,sBAAsB;IACnC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B;AAGD,MAAM,WAAW,8BAA8B;IAG3C,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,YAAY,CAAC,EAAE,yBAAyB,EAAE,CAAC;IAG3C,QAAQ,EAAE,MAAM,CAAC;IAIjB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAI1B,eAAe,CAAC,EAAE,MAAM,CAAC;IAIzB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAG/B,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,SAAS,CAAC,EAAE,sBAAsB,CAAC;CACtC;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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* Copyright (c) 2020
|
|
3
|
+
* Copyright (c) 2020 Gitpod GmbH. All rights reserved.
|
|
4
4
|
* Licensed under the GNU Affero General Public License (AGPL).
|
|
5
|
-
* See License
|
|
5
|
+
* See License.AGPL.txt in the project root for license information.
|
|
6
6
|
*/
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
8
|
//# sourceMappingURL=workspace-instance.js.map
|
package/lib/wsready.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) 2022 Gitpod GmbH. All rights reserved.
|
|
3
3
|
* Licensed under the GNU Affero General Public License (AGPL).
|
|
4
|
-
* See License
|
|
4
|
+
* See License.AGPL.txt in the project root for license information.
|
|
5
5
|
*/
|
|
6
6
|
export declare enum WorkspaceInitSource {
|
|
7
7
|
WorkspaceInitFromBackup = "from-backup",
|
|
@@ -10,5 +10,11 @@ export declare enum WorkspaceInitSource {
|
|
|
10
10
|
}
|
|
11
11
|
export interface WorkspaceReadyMessage {
|
|
12
12
|
source: WorkspaceInitSource;
|
|
13
|
+
metrics: InitializerMetric[];
|
|
14
|
+
}
|
|
15
|
+
export interface InitializerMetric {
|
|
16
|
+
type: string;
|
|
17
|
+
duration: number;
|
|
18
|
+
size: number;
|
|
13
19
|
}
|
|
14
20
|
//# sourceMappingURL=wsready.d.ts.map
|
package/lib/wsready.d.ts.map
CHANGED
|
@@ -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,
|
|
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;IAC5B,OAAO,EAAE,iBAAiB,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CAChB"}
|
package/lib/wsready.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* Copyright (c)
|
|
3
|
+
* Copyright (c) 2022 Gitpod GmbH. All rights reserved.
|
|
4
4
|
* Licensed under the GNU Affero General Public License (AGPL).
|
|
5
|
-
* See License
|
|
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 2022-11-25 13:39:08.995865257 +0000 UTC m=+0.015035221
|
|
9
10
|
// DO NOT MODIFY
|
|
10
11
|
var WorkspaceInitSource;
|
|
11
12
|
(function (WorkspaceInitSource) {
|
package/lib/wsready.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wsready.js","sourceRoot":"","sources":["../src/wsready.ts"],"names":[],"mappings":";AAAA;;;;GAIG
|
|
1
|
+
{"version":3,"file":"wsready.js","sourceRoot":"","sources":["../src/wsready.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,oGAAoG;AACpG,gBAAgB;AAEhB,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC3B,8DAAuC,CAAA;IACvC,kEAA2C,CAAA;IAC3C,4DAAqC,CAAA;AACzC,CAAC,EAJW,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAI9B"}
|
package/package.json
CHANGED
|
@@ -1,38 +1,62 @@
|
|
|
1
1
|
{
|
|
2
2
|
"dependencies": {
|
|
3
|
+
"@types/react": "17.0.32",
|
|
4
|
+
"abort-controller-x": "^0.4.0",
|
|
3
5
|
"ajv": "^6.5.4",
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
+
"analytics-node": "^6.0.0",
|
|
7
|
+
"configcat-node": "^8.0.0",
|
|
8
|
+
"cookie": "^0.4.2",
|
|
9
|
+
"express": "^4.17.3",
|
|
10
|
+
"google-protobuf": "^3.19.1",
|
|
11
|
+
"inversify": "^5.1.1",
|
|
12
|
+
"jaeger-client": "^3.18.1",
|
|
6
13
|
"js-yaml": "^3.10.0",
|
|
7
|
-
"
|
|
8
|
-
"
|
|
9
|
-
"
|
|
10
|
-
"
|
|
11
|
-
"
|
|
12
|
-
"
|
|
14
|
+
"nice-grpc-common": "^2.0.0",
|
|
15
|
+
"opentracing": "^0.14.5",
|
|
16
|
+
"prom-client": "^13.2.0",
|
|
17
|
+
"random-number-csprng": "^1.0.2",
|
|
18
|
+
"react": "17.0.2",
|
|
19
|
+
"react-dom": "17.0.2",
|
|
20
|
+
"reconnecting-websocket": "^4.4.0",
|
|
21
|
+
"reflect-metadata": "^0.1.13",
|
|
22
|
+
"uuid": "^8.3.2",
|
|
23
|
+
"vscode-jsonrpc": "^5.0.1",
|
|
24
|
+
"vscode-languageserver-protocol": "3.17.0",
|
|
25
|
+
"vscode-languageserver-types": "3.17.0",
|
|
26
|
+
"vscode-uri": "^3.0.3",
|
|
13
27
|
"vscode-ws-jsonrpc": "^0.2.0",
|
|
14
|
-
"ws": "^
|
|
28
|
+
"ws": "^7.4.6"
|
|
15
29
|
},
|
|
16
30
|
"devDependencies": {
|
|
17
|
-
"@
|
|
31
|
+
"@grpc/grpc-js": "^1.3.7",
|
|
32
|
+
"@types/analytics-node": "^3.1.9",
|
|
33
|
+
"@types/chai-subset": "^1.3.3",
|
|
34
|
+
"@types/cookie": "^0.4.1",
|
|
35
|
+
"@types/express": "^4.17.13",
|
|
36
|
+
"@types/google-protobuf": "^3.15.5",
|
|
37
|
+
"@types/jaeger-client": "^3.18.3",
|
|
18
38
|
"@types/js-yaml": "^3.10.1",
|
|
19
|
-
"@types/
|
|
39
|
+
"@types/mocha": "^5.2.7",
|
|
40
|
+
"@types/node": "^16.11.6",
|
|
41
|
+
"@types/random-number-csprng": "^1.0.0",
|
|
42
|
+
"@types/uuid": "^8.3.1",
|
|
20
43
|
"@types/ws": "^5.1.2",
|
|
21
|
-
"chai": "^4.
|
|
44
|
+
"chai": "^4.3.4",
|
|
22
45
|
"chai-subset": "^1.6.0",
|
|
23
46
|
"mocha": "^5.0.0",
|
|
24
47
|
"mocha-typescript": "^1.1.11",
|
|
25
48
|
"rimraf": "^2.6.2",
|
|
26
49
|
"ts-node": "^9.0.0",
|
|
27
|
-
"typescript": "
|
|
28
|
-
"typescript-json-schema": "^0.
|
|
50
|
+
"typescript": "~4.4.2",
|
|
51
|
+
"typescript-json-schema": "^0.50.1",
|
|
29
52
|
"typescript-parser": "^2.6.1"
|
|
30
53
|
},
|
|
31
54
|
"files": [
|
|
32
55
|
"lib",
|
|
33
56
|
"data/*.json",
|
|
34
57
|
"src",
|
|
35
|
-
"pkg-yarn.lock"
|
|
58
|
+
"pkg-yarn.lock",
|
|
59
|
+
"provenance-bundle.jsonl"
|
|
36
60
|
],
|
|
37
61
|
"license": "UNLICENSED",
|
|
38
62
|
"main": "./lib/index.js",
|
|
@@ -41,9 +65,9 @@
|
|
|
41
65
|
"build": "tsc",
|
|
42
66
|
"clean": "rimraf lib",
|
|
43
67
|
"prepare": "yarn run clean && yarn run build",
|
|
44
|
-
"test": "mocha --opts mocha.opts '
|
|
68
|
+
"test": "mocha --opts mocha.opts './**/*.spec.ts' --exclude './node_modules/**'",
|
|
45
69
|
"watch": "leeway exec --package .:lib --transitive-dependencies --filter-type yarn --components --parallel -- tsc -w --preserveWatchOutput"
|
|
46
70
|
},
|
|
47
71
|
"types": "./lib/index.d.ts",
|
|
48
|
-
"version": "0.1.5-
|
|
49
|
-
}
|
|
72
|
+
"version": "0.1.5-siddhant-k-code-allow-github-prebuilds-10358.2"
|
|
73
|
+
}
|
package/pkg-yarn.lock
CHANGED
|
@@ -4,18 +4,32 @@
|
|
|
4
4
|
|
|
5
5
|
"@gitpod/gitpod-protocol@0.1.5":
|
|
6
6
|
version "0.1.5"
|
|
7
|
-
resolved "file:///tmp/cache/
|
|
7
|
+
resolved "file:///var/tmp/cache/f4f7ea35d63dc12dc2de991452665dc839404602.tar.gz"
|
|
8
8
|
dependencies:
|
|
9
|
+
"@types/react" "17.0.32"
|
|
10
|
+
abort-controller-x "^0.4.0"
|
|
9
11
|
ajv "^6.5.4"
|
|
10
|
-
|
|
11
|
-
|
|
12
|
+
analytics-node "^6.0.0"
|
|
13
|
+
configcat-node "^8.0.0"
|
|
14
|
+
cookie "^0.4.2"
|
|
15
|
+
express "^4.17.3"
|
|
16
|
+
google-protobuf "^3.19.1"
|
|
17
|
+
inversify "^5.1.1"
|
|
18
|
+
jaeger-client "^3.18.1"
|
|
12
19
|
js-yaml "^3.10.0"
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
20
|
+
nice-grpc-common "^2.0.0"
|
|
21
|
+
opentracing "^0.14.5"
|
|
22
|
+
prom-client "^13.2.0"
|
|
23
|
+
random-number-csprng "^1.0.2"
|
|
24
|
+
react "17.0.2"
|
|
25
|
+
react-dom "17.0.2"
|
|
26
|
+
reconnecting-websocket "^4.4.0"
|
|
27
|
+
reflect-metadata "^0.1.13"
|
|
28
|
+
uuid "^8.3.2"
|
|
29
|
+
vscode-jsonrpc "^5.0.1"
|
|
30
|
+
vscode-languageserver-protocol "3.17.0"
|
|
31
|
+
vscode-languageserver-types "3.17.0"
|
|
32
|
+
vscode-uri "^3.0.3"
|
|
19
33
|
vscode-ws-jsonrpc "^0.2.0"
|
|
20
|
-
ws "^
|
|
34
|
+
ws "^7.4.6"
|
|
21
35
|
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
{"payloadType":"application/vnd.in-toto+json","payload":"ewogICJfdHlwZSI6ICJodHRwczovL2luLXRvdG8uaW8vU3RhdGVtZW50L3YwLjEiLAogICJwcmVkaWNhdGVUeXBlIjogImh0dHBzOi8vc2xzYS5kZXYvcHJvdmVuYW5jZS92MC4xIiwKICAic3ViamVjdCI6IFsKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2xvZ2dpbmcuc3BlYy5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjYzYzY5MDNkNzM3ZTczYjc3ZWEzMjM4MWVmNmY1ZjIwMGMwYzkyM2FhYzgyOTNhMTdjMDY3Y2Y0NzE2NGVjZmIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvcGxhbnMuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOTVhNGVkYTI0ZWEwOTZlNzhiM2ViNTcyYjhjNjg2Y2Q2NTc3MjQ1NjRhZGYwNzg0NTQ3MWNlNzk4YTJlZDc1NSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9jb250ZXh0LXVybC5zcGVjLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjY2MmVkM2IyZDhjOTI4MDExNjI5MWQ5ZWIyODVlYjJiZTBhMWVjMzE0ZGM3NGY3YTc3OGZmNWQ0MzM3NzJlNDUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9jYW5jZWxhYmxlLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjNiMzdhYWU4YWEwYTUyZjdiNmMwN2Q1YjkyNDMyNTA4YzY2M2I3ZDI1N2MzMzA3OGI4NGQ5Y2I2Yzg1NzFmZGEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZ2l0cG9kLWZpbGUtcGFyc2VyLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiODUxMjIxODVhZTEzYmE1ODI3NDIwOTc0NWNhMDFkZjc2ZTAyNzkzM2I2YzExOGFjYzJiYTQ3MTFjNTAzNGRjMSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi93b3Jrc3BhY2UtaW5zdGFuY2UuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJlNDk1N2NjODA0NDgwZTE2MmYxZWRhYzg3Njg0MzM0NjkwMmNlNGM4MjE4OWM3YTlmMjk0YzIwMDgyNTdkYWY2IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2VuY3J5cHRpb24va2V5LXByb3ZpZGVyLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiODBmYTc5MDA4ODE2ODE1OTBlNjVhNDUzNGNkNWRmZjY1NjZjZTljMTk2MDhkZjQ3ZDY1ZjA2NTZkODQ5YWIyNiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvYnJvd3Nlci9jb25uZWN0aW9uLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjZmNDgyNjY4MTI2MWRhZjAxMGZkMzE5OGRjMzE0NGI4NmEzZGNhZjM2MTQ4NTU0NWJjZjU1ZWJjOTlhYmU3ODEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZW5jcnlwdGlvbi9lbmNyeXB0aW9uLWVuZ2luZS5zcGVjLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjYxODk4ZmU1MDM5YTA5NmI4ZDkxODczZWM3ZGVjM2Q1YjIwMzRlNjkxOGEyOTg1NTY0MzNkMThjZjAyNGRhOGQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC93b3Jrc3BhY2UtcG9ydC1hdXRoZW50aWNhdGlvbi5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJkNTYwNmRhMmNmMTkwMTdhN2Q4ZWY4MjY2OWE4YWIwMTE5ODY4NmU5MTMwMTM1MGFiZTlkYWEyZDg5MzZiNjA1IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2V4cGVyaW1lbnRzL3R5cGVzLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjVkNGZiMzVhYTJiMGQ2ODZiMjgzOTViNWU0MzUxZDBhMDNhMGIxYzNkOGFiMTZlYjFkNmVjZjkzZGYxNzQzZDgiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvaGVhZGxlc3Mtd29ya3NwYWNlLWxvZy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI1ZjUwN2QyNGNjMzEyZDJlMGNkZDY1YWZkMzBkYTk4ZWIyZjM1Y2VkNTE5N2I3MWMxNmFlZmUyODc3N2ExNWU2IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3Byb3RvY29sLnNwZWMuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNzQzNjEzZWQ5Y2Y1YzMyMzhkZGEyNDFjY2I5Njc5YTgxODVmZTlmYzNlNWVmZjYzOTE1NTE5ODM2ZmJhNzI3ZSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9wcm90b2NvbC5zcGVjLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI1MzE2OTI2MTRiYmE2YmI0MmZiZDFlN2UwNzljOWIwYzEwOTk4NjZmNzhkYmViMzMwNjY1NTdmZGNlY2JiZmI5IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvdHJhY2luZy5zcGVjLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiODEwZjI3MjE1YjZkNGVlMmVhZGU2MjU1NDg1NWJlYWQzMmJhYjExN2JiYzM0NTgzOGZlODA3MDY0MDA3MDVkNyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9vc3MtYWxsb3dsaXN0LmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjcyMmYzM2E3NDc3NTQwMTg1YTYxZWFlNjg3ZjI5ZjFkM2NhYWNmYTQ0MmM4YTRkZDEzYjZlZjc0NWUwZmY4YWEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZXhwZXJpbWVudHMvY29uZmlnY2F0LXNlcnZlci5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI4MDZiNTlhMzI1ZjAzMWVmODgyNTM1NzMyNDVhMjljNzliM2IyZjQ0MzMzYWMxNWM1YWYwOTdhZGU2NzM0ODU5IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2luc3RhbGxhdGlvbi1hZG1pbi1wcm90b2NvbC5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiY2MwNmE4MjA1YjNiN2JjNDFjYjI0NjQ1MDc1MTllMGM2ZjJiYjMyZjhkN2NkN2VlOTIxOWI0Y2RlNjljMTZhOSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9wYXltZW50LXByb3RvY29sLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2OGI0NmI3ZTg5ZmJkY2VjZWI3YmNmMzlkMDRjMDFiMjRjZTNmMDExM2EwMTZlYWE4ZmMyMDA1NTc0MDZiZTVkIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvc2VtYXBob3JlLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJhYjllYTViMDljYTc5ZWIyYTZmZmJkM2U0MzNiOGZiOTM0NDU0MDEwNmUzMTBjOGE4NjkyNTM3YWVhMTE5NTcyIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZGF0ZS10aW1lLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjY4NzhiZWIwZjdjZWYyZmE4OTI2NjU1ZTVjNTk5MGMwOWE2YjljODBjMDQxNjYxMDI0YmIwYjBiZjIyYzhhMTkiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvYmxvY2tlZC1yZXBvc2l0b3JpZXMtcHJvdG9jb2wuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYWFkNjBmZDBlMmM1Nzc2MmQ3ZGZhM2ZhMmQyY2M0MWVjMjcwYjY5NzQzNzg5NDEwOGNkMTM3ZGM5ODc5MmM4MiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9leHBlcmltZW50cy9jb25maWdjYXQuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImNkZDc1MTcxM2QyYzNkYjk0YzUxZDliZWIyYTZiYWJkMzlmY2EyNTgzZmE3ZWMwYTVjYWU0ZTA0MDQ1Y2E1MDEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvYWRtaW4tcHJvdG9jb2wuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNzRkZWNkZDYyMWQ3M2RlYWFmYTY5ZjFhNzUwOTdlNjNkYTUyM2YyMzBlNDE0NDVlMDVlYTY4MGM4NzVkODBmNiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2NhbmNlbGFibGUuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIyZTVjMzVmMzliOWViMTIxOTE2OTc3MzhlMDc3N2U4ZDIxOTJjYjQwMjU3Yjc1ZThkYWJmNmI4NThiOGMxYTU0IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZGlzcG9zYWJsZS5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImQ4MDhmZDI3ODEwZGNhNmY5YjA2NDU2YmYxMzBlZTBlYjFlMjcyNjJmNmNhMGI2MzRmMmQ1MmE1Njc2ZWI3NmIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9ldmVudC5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI4ZmIwYmUwYzJkZDYzMWRjYzI5ZWQ3MmQwZWY4ODExOTg0MDA0YmNjZDExOWZlNmEyNDVkYTQ5NDA1NTBhNzUzIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3VzYWdlLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjgwMzFkNThkYzE4NjM2ZTk2YmEwNWIxN2ZlZDYxNzhlNDVkMzE3YjVkMDUyZmU0ODcwYjJhOGJlYzk4Mzk3OTgiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9nYXJiYWdlLWNvbGxlY3RlZC1jYWNoZS5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2ZTg5ZTlkZDZlZjMzMDBjMzBhYjU1MTQ2NmNjY2E2MDE2ZTQyZDQ3YmRhNTUyNDM3MzAzZTA1MWFiNDI3NTAxIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2FjY291bnRpbmctcHJvdG9jb2wuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImZhNzczNjcxMDU4NmIwOTI5NmRiZmM5NjZhYTY2ZTAwMjU5YTRlODMzYTExMGE4NjVkMWVmYTI4ZTg5OWQxZGYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvYXV0aC5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI3YjI4ZjEyNzlmZDdlZjAxMDc3ODZiY2QzNzAxOGIwZGYzZmNlY2RkYzNlOTBmMTk2MWM0YzUwZWEwMmQ2YjU3IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvd29ya3NwYWNlLXBvcnQtYXV0aGVudGljYXRpb24uZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZWIzMzhhYjA2YmI0M2RhYzE4NjY0NmQ5ODJiNjhiNWIxZWJmNGM4NDgzOGU5YWVjZDM2NWZiN2UyZDZkYzdmMyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9naXRwb2QtZmlsZS1wYXJzZXIuc3BlYy5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2NDJjMmNiZDFjYzNiMGM1ZmQwMGM4MTg4NzMyMWViNzkzZTRjMTZhNjMwZTY4YzIyZGNkMGMxZjZkNjNiZGE3IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ2FyYmFnZS1jb2xsZWN0ZWQtY2FjaGUuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZDYyZTI3OGE3NDM2Y2NhZDhjM2QyZTRkM2NlMGNiZDQ5MmZlMTJmN2Q2M2I5OWFkYjgzODNjZWQ5M2RhZDllNiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbnYuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYmIzY2RhMTc3OTg1NGNjN2NkYzllYjg1Y2U2YmVhNWQxZTdiZGUxMTRkY2Y2MWJiMmE0M2FmMTRkYWZmN2YxZiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9zbmFwc2hvdC11cmwuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjVhYjhkMDhhMzdiNDYyNzY4MGI5MjY2YWNiMTlhNTY4ZWRlMzgyNmFlNDNmZmUxMjY0ODRiNjlmNzhlNjc1N2YiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9nZW5lcmF0ZS13b3Jrc3BhY2UtaWQuc3BlYy5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIwMDY3ZGM4MzBiMmE1ZGUwZDUyZTc0ZTMyMzgxMjdlNjc5YTkzNmUwYTc3MGFhY2JjZTY2MTYyYjIyMDAzMTRiIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3NuYXBzaG90LXVybC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIzNmUwZDNhYzFiMjJkYjMxY2JjY2U0MTk5MTU4MzE4ZWY5YjQwMmVlOTY5YWVmNGM4ZTRkNjVhNjhiMDM3MTJhIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2JpbGxpbmctbW9kZS5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJiMzcwYjQwYWI4YjYzMTU4YzQxNTNkYTBjMGJhYzNhMWU0MGNmNDliNjQwMTcyYTUwNmRiZjY5NzFjNDVhZWVkIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2VuY3J5cHRpb24vZW5jcnlwdGlvbi1zZXJ2aWNlLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIwYjUxMjkxOGQ2MGFkMjFkMTZkZDFjNzdkNzhkNWY0OWZjNGViYzAyYzQwYzJhMzM5MWE0Y2ViODQ0ODkyZWVmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvc2tpcC1pZi5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImI3N2JiNTMyZjhhZDJjMmJmZmVkN2ZlMWM1MzI1MjA5YThkNTViN2EzNjRjNjE0YzZkNDRjYTM3MzllN2MwYmMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZW5jcnlwdGlvbi9jb250YWluZXItbW9kdWxlLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJhNGZkMTFmMTczMjA2YTZjMTliNzY1ZDhmNDhkMTQzYzUwNWE4Y2Q3M2IwYzNkMDk1NjgwYjg0ZDdmOGY3NzFjIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL21lc3NhZ2luZy9icm93c2VyL2Nvbm5lY3Rpb24uanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImVkY2Q0NjVhYzgzZDEyMGI3ZTE2MWY3ZGNiYzhmNmRlM2Y3MWM4YWVhYjBiNjQ3MzNhZjM5MWNiMWE5ODFhMWMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZW5jcnlwdGlvbi9rZXktcHJvdmlkZXIuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjY3MjllM2E4MzM4MGM2ZDIyMTIyMjRhMmNlNWYzMDFjZjAwNWQ5ZjFlMTM0ZTBiODNhNDIyMWJlYmIwOTM4ZjYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvc25hcHNob3QtdXJsLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiN2ViZDc1NmU1MDNmMDIxZTM0ODA4MzQ3YWM0OTdmMWI2ZDBmMzExMzBiY2EwOTM3NDhiZGM5OGZlMjI0YjIzNiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3NraXAtaWYuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYThmZjRjMWQ1NGVjNjhiYjk4ZGJjNjE5YmYwM2ExN2MzZjI4MGMxYWI5NTQ0YmM0NTJiMzMwNzU5MWFkYmJkYyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2RlZmVycmVkLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImE4OGU4ZWViZmQzODkwOTkwOGUzMDhjNjA4NmJlMzRjMWRjOWFjNTM4YmEzOGY4NTVlOTAzMDFiNzQ3ODQ5MWEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvd29ya3NwYWNlLWluc3RhbmNlLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJlNjY1NDdlZDZhOTk2MzUwZDk2ZGY1ZGJmMDcxMzI3ZWIzYzkwNTIyYjg3NTk2ODc5YzE1N2Y3MDlkMTc2MTIxIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvbG9nZ2luZy5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjM1Yjk3ZWQ2ZDMzYjJhYzVkZjNkZmM0NzU2ODEzMmQzMmU1MTAxZWFmMjgzYzRkMTM1MzgxN2U0NTQ3NjUzZTQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvY29udGV4dC11cmwuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOTljYjAwMzc1ZTdhZmZlNjQ4NTkzYzk5YTliOTRlZTc4YWM5MzEzNWUyYzYxYWM3NGYyMzc0YWE0ZTBmM2I0MyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9wbGFucy5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImVmZDgwNjcyYjIwYmI3NGE0YWY2NzQ2YzU4MDdlMDY5OWNiMjRjYTNjM2RhMjZjZWFiNzY4ODY1MDY4OWM5NzYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL2hhbmRsZXIuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2YTc0YTg4MWE5OWI2MjcxOWE5ZGExYzFiM2IyNmVlZTIzZTQ5ZTYyYTdlODdjNjc1NTkwZGEwMzk1NmUwOTNiIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3Byb3RvY29sLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjRjNTY3YmMwZTMzNmIzYWIzMjJlNzMxNzg3ZDBmMzA1YmMxYzZlNjYzMzNmNjNhY2MzNjY3NmEyNmZiMzViMjkiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9tYWtlLWxpbmsuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjQzZmY0NjNhZmU5NzVkMDVlYzFmMzIzN2VlMzBlZWEzNTBiMjU1NTlmY2MxMzRjMjRlZmExZTYzZjViN2E5ZDEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvd2ViaG9vay1ldmVudC5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImUxYmFlYzM2NDRlNDgyMzc1MWRkNTI2YjVkY2MwYmQ5YzY1YjY3YWVjNzY4ODdhMDcxOGI4NTMzYzAyZGM0YmEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvYW5hbHl0aWNzLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYTBlMTAxYmRmMmMyN2U0YzgyY2YwYTlhZjQyMjY5ZTRlMjE5MzY3ZGU4ODI0N2VmZGM0NzUwZjY5NTM0OTA3ZCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9oZWFkbGVzcy13b3Jrc3BhY2UtbG9nLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiY2I4MjdiN2NhNTc3ODA5NzZjN2EyZTY0Nzg5YmMyMzE3ZDJiZThlYjMwMjkyOTE1MDYwYzljM2JhMWZiYWUxMiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi90ZWFtcy1wcm9qZWN0cy1wcm90b2NvbC5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJjNWVkN2U5YmJkOWNhODM1ODkyZDhjN2Q5Zjk1OTdmOWM3Zjc0NDJlYTA0OTRjMjEzZDllMGFkY2VlOWFiNjk4IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3RlYW1zLXByb2plY3RzLXByb3RvY29sLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImMyODY1MGI5M2Q5NThjZmQwMWU5MzIwNzkzZjhlNDlmMTAzMDNmZWUxNTBjYjdhZDNlNDQ1NTNjZWMwY2I3MTQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL3Byb3h5LWZhY3RvcnkuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImI4NjJhNjYyNWJiNjAxZDE4YjY1MjVmYWQ4YmY3ODMyNjU1MjIyYmMxOTU4ZWZjNTljNWIxYTVhMGFkODYxODMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9ncnBjLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjczMmM2ZWQ1ZmNkYzBhNzhmMWUzYTU4ZWY4ZTcwMDZhMjRlODI4MDhjOTg2YmNhMjc4YmVjYmY1OTQxYTY3NTYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9uaWNlLWdycGMuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOGI3YmQ2ZGNiN2M3MGIwNGEwZTk1ZTA3MmI3NTRhOTEzN2FiY2UwZWIzNmM4Yzk1YzRkMDkwMmEwYmJmNjk4ZSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi93b3Jrc3BhY2UtaW5zdGFuY2UuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYTRkODE3OTU0M2Q3YzQ4YTc4MjRkMzk2ZDI1MDJhZGM3MjcyMmIwNzNlYTljY2IxYWIyNTcwZmU1NmJiNmMwNCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvZXJyb3IuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2ODIxYTY5MTNhNDE4Yjc2YTJmZjY4MjM0N2FiYjg1Yjg2MzMxNzVjNWFkYjA1MDE0Y2FmOWJiNDU3MjRiNzVhIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2luc3RhbGxhdGlvbi1hZG1pbi1wcm90b2NvbC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI5NTkzOWZiMWZhYzE3MWVmMmM0YTIxYTE3MjBlYzU0ZTM2NmY0MGFkMGJiMmJiZmNkMDY3ZjdhMDJkMDI4MmY4IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZGVidWctYXBwLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJhZDViMWUzNzg1ZmQ0N2I0OWQ1YThmYTA5M2Q3ODg2YmFiNjI4OTdlODg2YjMyZmNlZWQwMjczMTc4ZTJkOGUzIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ2l0cG9kLWhvc3QtdXJsLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImRhNTU5MWM5YWU2YmVmMDE3Nzc2MjhiMjExMzMwYmM1ZjRiNWYxMjhkMWRjZWM1OGNhZjYzYWQ0Yjk4MDFjMDYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL2NsaWVudC1jYWxsLW1ldHJpY3MuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJmM2MyYzgyZjk0YmYwZWI4YjQwMmY4OTJhMzA5Zjk4NDk0ZjQ3OWYyODNhM2NkMDBkYjdiZGY5ZWJjMjEzN2I5IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZGF0ZS10aW1lLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjI1ZTg3ZTY2NTJjZjkwNjM1NWYyYjczZGQwYmEyYmE3Y2I1ZTdmZmQxNTM1ZTdmNzE0MDA1NjQ5MGExNTMyNmYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvY29udGV4dC11cmwuc3BlYy5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMjA5NzM3ZWI0ZjI0ODQ3ZWZlZTZlNmNiMzFjNGI3MzBmZWI1NjE3MDBlNDEyODBmY2FmNTlhNDEzZTk0OTU3YiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbmNyeXB0aW9uL2VuY3J5cHRpb24tZW5naW5lLnNwZWMuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIwNTQ5OGFkZGI3YzlhZWVkYTUyOTE4YmM1ZjBmMmY2YTQxNjU1ODIzNmE2OGFjMGI0ZDI4N2ZhZTAyM2Q5NjU2IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3dzcmVhZHkuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjZlODg3ZmEzNjlmOGQ2ODU1NWMzYTVmMmViZTY4MTIwY2E3ZDM1MmQzM2FlNzZkYWE2YzliODkxMDBmMjAyZjIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9tYWtlLWxpbmsuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI5YTMzY2NlNWM4NDQzOGM0YThmNTYwMDBkYmRmNDkxY2FlYmU2NTM2YjM4ZTM1NGYwODBhMGU0NzhjM2Q0ZTA0IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3NuYXBzaG90LXVybC5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJiYTQ0YTI2NWNlNjFkNmE5ZDg4NzczMjdjZjAzMTQwMTE5NmUzZjJhNTc5OWY1NTU2NTc2NjA2YzgwZmQyZDhjIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvcXVldWUuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOTYzNGViZmRkNDJhZjJmYWY2NTNkODNmYjk2M2Q5OTM1YzAwMjcyYjNlMzgxNDc4MWExYjU4YzMxNDljOTlhYSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi93ZWJob29rLWV2ZW50LmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImI3NjdlMzE0NGJjMGFkZTllOGY3NjY4ZGE0M2Y0MzFjY2MxMTI1NWY1YmFlNTZiOTIwZjQ1NWMyOTg2NDdhZTEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9naXRwb2QtaG9zdC11cmwuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjQ0NmQ5OWZiMWY5NDBhNjUyNTYwOTliNDIzZDc3MmY3ZmM0ZGUxMzkxNWU0NjZjNWJmMzYzZWYxNWU3ODg0MmYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL2Jyb3dzZXIvd2luZG93LWNvbm5lY3Rpb24uanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNmY4ZTQyNzk0OTFmZDgwYjZmMjMxMDk2ODVjMmQyMjVkOTczOWY5OTcxNTFmZTYzNTE5N2FlY2E1YWFmY2VlMyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9mcm9udGVuZC1kYXNoYm9hcmQtc2VydmljZS5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI3MWFhZjEwNTY2MTg0N2ZlMzk3ZGZjZjgwYTU4MzA2ZGVhMjYxODU4NjQ2MjgzYTUyM2I0M2M0MmRhZmU4YzIzIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ2VuZXJhdGUtd29ya3NwYWNlLWlkLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI1YjA3Y2QyOGJjZDZjYjU0ODY3MWYzMmQyNTQ5YTZjNDYxMmNiYzRiMzM4YzhmYjlkZjc0MDMwNzM4ZGMyMjczIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL21lc3NhZ2luZy9ub2RlL2Nvbm5lY3Rpb24uanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImMzZWRmMWViZTA1ZDNlMGIzMDNlNzAxMDM3OGJlYWFlN2RmN2MxNTAyODFmOTlkOTg0YWI3OWIzYTI2YTdhY2EiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvd3NyZWFkeS5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI5MGFlZWE0Y2I2NzIyYmEyMDNlYTQ3MGI4ZDIzZGE4MzhiM2UzNTQyZjE3MzljODQwMzgwMjVkZTBlYzVhZTMyIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3VzYWdlLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMzE5ZGZmMjk5MWYwMDYyYjllMTlkYzAxNTY3OTFhMzY2ZmQzZTYxZGMzYzhkMjhhMjAyNDJiNzA3NDZiODU5YiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2xvZ2dpbmcuc3BlYy5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI5Zjk0ODVhODBlYzQzMmI1MjEzMzQ4NWNlNzhjMTZlMmUzYzVmZGRmMDkxY2I4ODhlMDVkNDNlOGVhNDhjM2RmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3dlYmhvb2stZXZlbnQuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZDU5ZmYwNmE5N2Q1YjYxZTNlNmRmMmUyNDEzYjBhMjI4ODYyNDUwZmQzZjY3OGYzMDUyZDk1YWMzMjNjYjM2YiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2FzeW5jLWl0ZXJhdG9yLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjcxNzJhZWE5ODk4ZmQ3NzE2MThkZDM4M2IxZDA2MzhjZWVhNmY4YTczNmIyMGFhYmFjNGVlNTllN2E3NmFjZmEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvYWNjb3VudGluZy1wcm90b2NvbC5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIwNzEzODI5ODYyYmRlN2EwMGQ4ZmJlZTQxN2Y4NzI0YTg3MDJjZTA1OTczYjI0ZDFkY2I3ODJlZjk1ZDhkZTI3IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ2l0cG9kLWhvc3QtdXJsLnNwZWMuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJiN2JkOTZkMDA0MjViOGYzYTkzZDA0ODE1YjhkMTE4YWM2MWRmYzBkZjcyN2I0YmZiN2JhM2IzYTdjZWIzZmMzIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2Jsb2NrZWQtcmVwb3NpdG9yaWVzLXByb3RvY29sLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOGJkNzhkOTBjNDljMDQwNDEwY2Y1ZTg3YjVhZmUwNGM5NzY4MThmMjk1MmIyNmY2YzFlZDJjODk1MDAwNTczOCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3JlcGVhdC5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjJmMTRiNDhmMTQ5YjUzYWNkNjU4ZjY5MDVjMmEwZDdlZjc1MzM0YWQ2OTIzMmIyN2E5NzM5MGRhN2FiZTc4YzIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9hc3luYy1pdGVyYXRvci5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMTc2NjUzYzQwYjAwMWZkZTU4YTU5ZDJiMjkyYTRkY2FkNWQxMWRkYzQwZjMyN2RjN2UzMGVhZGZjYjhjODhlMyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvcHJveHktZmFjdG9yeS5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjZkMThhYmEwMzcwMTVjNzc3YThhZDk2N2NiMWQxZjc5YTA4OTJhOTRkMTYwZGE2N2RlMzI3MDRjNmZlMjEzZmIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9xdWV1ZS5zcGVjLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJlMmI0MjhjYzZhN2U5YjI1NjVjMTIzYzhjNzQ1ZDA5NGUzMDUyYTQzNjQyZWNmOWIyOTc0NDRiMGJkYmMxNTQ2IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ2FyYmFnZS1jb2xsZWN0ZWQtY2FjaGUuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJlZmNjMDlhODZmZTRhYzc4M2U5YzZjZGYwMmVlOTllYTM0NjNmOTIzOWFlOGJlODJiNTA0YmM3YTllNTQ5NDMxIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3dvcmtzcGFjZS1jbGFzcy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJhNTNhNTQyY2NkOWNkN2RhZjI2NTljYWIyZWRkN2ExZjI1YmM0YTQzODc4ZWNiYzE5ODExNGExMGRlNGEwMzU4IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3RlYW1zLXByb2plY3RzLXByb3RvY29sLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJjNmVhZDYzMzBiNjBlZWY2NmY1NDdiMDVlMWFjMTIwOTdlNzczYTQ2NDUzNDI3ZWVlNWNlN2U5Yjg1MTMxMDRjIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2xpY2Vuc2UtcHJvdG9jb2wuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIzZTc1NDU2NTM3MGI4OWVkNDdjZmQ2NjQyZjgyNzE2OGRiMzJlMGZiNTJkNjI5MGNmN2VkMzNmOTQ3Mzg1ODRkIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2FuYWx5dGljcy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2YTNmMDNmZTgwNjgwMWI2N2I1ZDE2NTE3YWExOTUxYjhiNDk2ZGE4MzVhOTAxNmEyNjM5NzI2Y2NiYWM3NmNmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvdHJhY2luZy5zcGVjLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImJjNDQwZTQ5MzZkMWNjMzdmODVjYTc4M2EyNDZkNzdiNjg5YzU0MDU4MmVhYjkxZDdlNDE2ZDFiNDdlOThmMWEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9kZWJ1Zy1hcHAuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYjdhZWUxMDIyY2ZlZWNhYjY5YmEwYzViMDkxNTZiNzBhZjMwODMzNjc0OTc4NmQ1M2NlY2RkYzAzOTM5YWE0YSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9naXRwb2QtZmlsZS1wYXJzZXIuc3BlYy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJmZTNiNTAzZmE5NDQ4NGU3YTgxYTZiZTczYWI0ZDY0Y2Y1YTdlM2QyZWYzYWUyZDMzYzRiMWM1ODkyNzFhNWMwIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2luZGV4LmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImQ0M2RjYzdiNDMyNDc3ODM1NWQxZjMzOWNhYmFhZDg2YjZhZDEzZGM2ZjI2ZTM4ODlkOGU0YTkzYTE4MDdkNjMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvcHJvdG9jb2wuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjVlZjA3OGFlZGRhOTZkYmU1ZjAwYzM5YjAwYjIwZWM2NWNmMDFjZWUyYmU0ZGRiNTRkOWRhZGI2MDgzOTkyMGIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvb3NzLWFsbG93bGlzdC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJkZWRlNjQ5MzZlOThjNGU1MGE1OWNjNDM0ZGI4MGE5NWM5YTc0MWMzNzE3YmQ4MWRhOTJjYTVjZjEwZmI1ZGZiIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ3JwYy5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNTUwMWQyYzJiYjE5YzlhZDAzMWIwNzFkMTA0YjMyYjViNjZjYzRiNjYzZGFiYzU0ZmU1ZjYzMmNlYTQwNzI1NiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9pZGUtcHJvdG9jb2wuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjU2MGIxZThiYzZhMGZiYjA1YjA0ODBhNDU1ZmU5MDViZmVhYWFmZTgyNjQ4NGVkYTkyMDEzMThjMzljNGU1ZTkiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9hc3luYy1pdGVyYXRvci5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjY1MGNjNWJjZGRhNmQ2MmFhZDk0Nzc2OTM0NTgxZDVmMTJjOTBjZjgxYThhOTdkNmJlYzIxYTdiYzVkNjBlZmQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC90cmFjaW5nLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjA0MDEyNzc5Y2QzZWMyMDBlZGYzYjM2ODZmNTI2YTk5MTAyM2IwOWYzMWNkM2I3NDYwZDhlNmQxNGM4ZjFlYmIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC90cmFjaW5nLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI0MjFiYjE2NGUyYWRlYzYyZjAwY2VjYTQyODUxODAyZDc0ODQ2MWM4YzA2MTgyNTQ3OTJjYjgwODg3MzQ3YjAzIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ3JwYy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI0ZDBhNzUwMzZhNmNhMzgyNjAyZTZiN2RjYjU1ZTAzYjc5NWU5YWUxOWNlNTAzNmFjNGY4ZDY3NjkxNDBhOWIxIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZGlzcG9zYWJsZS5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIyODVmODVlOTk0ODdkNGZkOGFlZDk2NmZiMjMxNzk5ZTJhOWU5ZmY0OGU5NGNiZWZjZjZjM2VlYjc3Y2I5MGQ1IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvcGFyc2Utd29ya3NwYWNlLWlkLnNwZWMuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI1NWU3MWNhZDIyYzA2MDI2NTFlY2IwN2M1ZjhlODQwZjgyNjJmYjVjZTM1NGQ1OTkyN2JhNTg4OTJhYWJlNWVkIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2F0dHJpYnV0aW9uLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImZhNDAxMDM5NjEyOTEyZTc4ODQ0ODFmNDIyYzlhM2E1ZWYwYzZkNjA4NWU5NTJjMjQyYzBlY2E0NDc1ZTU1NmUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL2Jyb3dzZXIvd2luZG93LWNvbm5lY3Rpb24uZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMGViYTJjNTYwNmE5NTU5NmZkMDIxNGQ4NTMyMzNkYmZiN2E0ZTQzNWNlMGNjZjg2ZTViZDYwOGNhN2Q0NDIxMSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9pbnN0YWxsYXRpb24tYWRtaW4tcHJvdG9jb2wuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJhNThlNTVlMmY4NmMxYjIwMTc2N2JiOTI5YjU5MWJjOWEyYjcxNjQ2MjRjZjI0YTk1NTA4YTYwNjE5MDVhZmFkIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvbWFrZS1saW5rLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImI5MjIwODkxNWYwNjUwYjI4MmQxYmRmNGZhMDNkOWM4MjAzNTJhZWJlODcwYmEzNTlkYjMwOGUxZDgzZTZjMDIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9qYWVnZXItY2xpZW50LXR5cGVzLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYzFkMzhiOGRiMjM1ODkyMDYwNjQxODk3ZDZjZDM5MGQyMzhhODhjMTdiN2MwZjY2ZjAxNzg1MmUwOTY4MTEyMiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3RpbWV1dGlsLnNwZWMuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMzFjNWRmOWQ5OTQ5MmZjYWI5NDM3Njk5Njc1MmYxMTc1OTNkNjM1MWYwNmVlYTAxZjc3ZGUxZjFhN2MyNTg0MCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3F1ZXVlLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjg2ZGM3Nzk1MTEwNzE4ZDZlYTdiMTllMWIwMzE3Yzc2MGYzZGRmNjcyYzExOWQ3Nzc4YzlmMjJiOWE4YTBmNjQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC90cmFjaW5nLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjM1NzA3OGVlMGUzMTM5MDE5ZDMyYTNhMDg4ZDliZWNjMDA1ODMxYzUyMDQyOWNmMjY2YTdiYzU4MWVkYjM1MDIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvaWRlLWZyb250ZW5kLXNlcnZpY2UuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOGNhYTgwODc1OGFkMWEzOGZmZmU4NmViM2JkYTdiZWRmMWZmNzI0Mjc5NTk3ODMzZjM3NmMwNTg0NWM0YTMyMSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9hdXRoLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIyODg5MjExNmMyMjYyMDYyYjllOWMzMjQwMGQ3YzhhYWViNzZkNjI3ZTg3OTQ5Zjg1NTRhZjhlZjBmN2ZlY2RjIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3dvcmtzcGFjZS1jbGFzcy5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiODVjNjZlM2Y0NThmYTRiNWM2MTE1M2ZiYjhmNGU4MGZkNGU1ZGU1MjBhZTg4NGFhMTU2NTc1NDI0NjI1Y2YwOSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbmNyeXB0aW9uL2VuY3J5cHRpb24tZW5naW5lLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImM0MTdmMDhmMGZhODljODRmYTY5ZDhiMDE2ZTljMzMzMTAyMzkzNWI5YjczYTI3YmQ4MzNiNTAyYzM2ZjM2NDMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9nZW5lcmF0ZS13b3Jrc3BhY2UtaWQuc3BlYy5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImU2Yzg2ZmM1ZTVmMDEyZTJkYzcyNWQ5ZmU2NmQ1YjkwODRmZTExYjEwNDFiOGU3YTQzYzUyYzhiMjJhNTJjOWMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvYWNjb3VudGluZy1wcm90b2NvbC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJlNTI0ZDIxMjFiYTNjMWIzMmZhYzI3NjRmMmQwZTZhMDVmZmFiYWU5NmU1ODgxNjMzMjVhN2I0YTQ1NDQzNTYzIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZGVlcC1wYXJ0aWFsLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJkMWUwMTJhNzFiZjJmZGYwYjhlZDViYzA0YTQ0ZGE5Mjk2ZTg4YTM3YTAzOWFiNDc5Y2Q4ZWI2ZDMzMjk4ZjY3IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvdGltZXV0aWwuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZmRkMTI0M2MzNWJlNDg1ZTIyMjk0YmYwNDYwZDBhNTM0NmJjYzFkODZiOTlmYzlmNDQ0NDUwOWYwZmMzMzQwYyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dycGMuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJmZDM3MzYyZWVhMjhlYzFhNDQ5ODE5MDgyNWRmMzFhMGNlZWFlMzg3YTdiYmRmYmQyYTA5ZDNhM2QyYzA2MzYxIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2V4cGVyaW1lbnRzL2NvbmZpZ2NhdC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIxMGQ1ZjgzOTdmY2U2NTBhZjI4NTVkMTZmZDFiNWRiM2RmZTc5MWY1ZjkwNGE3NDliZDVmOTIzMjU1MzMzMjA2IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvcmVwZWF0LmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImNhODMwYWQ0MzljZDI4NzcwNGYxMGY5Y2MyMjQyYzRhYzA1YzFlOTFhZjMxZDU1MDkwNjQ0OGI2ZjkyNTIzM2YiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbGljZW5zZS1wcm90b2NvbC5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI1MzRjNTJmZmNjODFiODQ5NzU3NTEzM2I2YzU1YWQzOGFmZTVjZjAwYzRlMWQ5ZTkxMTA3MzczZGM0OWQ4OTYwIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2F0dHJpYnV0aW9uLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjhjOGZhODMwNzAwZjMxZTFiYzAzMGRmMWJiNDhkNTY2MTIxMTkwODVlNGE2MzQ1YjgyMGJmOTNkMmI5NzBiMjciCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdGVhbS1zdWJzY3JpcHRpb24tcHJvdG9jb2wuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImI2OTE2NGVkZDI2MTdhYzYwOTNmMjQ3NTkzMTlkMWFiOGZlMGEwYWExN2VmNzI5MGRkNWQ4YmFhZTk3OWQ4YWQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL25vZGUvY29ubmVjdGlvbi5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImNkNDE4OTlhYzI5ZTdmYjdlN2NhNzExOWIzZDJiN2UwZDE1MzUxMDY2YzE1YWMzOWQwYmM2OTZmOWY4ZWQ2ZDgiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvcGVybWlzc2lvbi5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImIzNWQ1NzkwZjQxNmI5ZTY0ODc0NTA3N2ViYWJmYWYyOTM5YjkwMTE2MTA4MWZlMDlmMTdmY2MyMTg2MGI1ZGEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvd29ya3NwYWNlLWNsdXN0ZXIuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjVmZTQxZDZiYWRkZWE5NTkyNTdiMzY0OGU0ZTE5ODQ3ZGNlMGI2ZTZmMzM3YTc5ZDNhNGFjMjllZmRmZmVjZTMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9tYWtlLWxpbmsuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMTk5OTlmNGU2ZmFmMGFmN2MzNGZlNDlhZDQ0NDQyZTkwOWY2MTVjMmRhMTVmYTk1MGRmMWQ1M2ZhM2M2YjAyNyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dpdHBvZC1jb29raWUuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYjY2NGFiODVmNWZlMjc0YzA2MzdkNTJlYTRiMDIyY2VjMDcwMGNjN2ZmNGZkY2EyZDA5NDZiMTdlZTBjZDQ0NiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi90ZWFtLXN1YnNjcmlwdGlvbi1wcm90b2NvbC5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjMyYjI1ZmZkZTk2NzQzNTdlNmRjMThmNTgxZTk3MWY1OWM0MTEwMjcxZDk0MjllZmI2Y2NkOTlkNGNhNDAwNWUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvaWRlLWZyb250ZW5kLXNlcnZpY2UuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIxNTcwOWIzNDE3MzVjODYzNzdjMjFjNmJhZjM5ZjJmNDNmY2JkZTM4NDlkNzc0OGQwZjMzNmIyZDZjMWEyYzA3IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3NuYXBzaG90LXVybC5zcGVjLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI0ODY4ZWEyOWJmOWM2YWM5YWY0MTliYTRlNWUxODhmOThlZTdhMjc2MTQyMzM4NTczMmMwNmFjMTJhMDFhN2MwIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvbmljZS1ncnBjLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZjZiZjc0OThhMmYzZWQ1MjU0MzUyM2I5ODY5MTc2NzhmMTc3NzRmNTczNmYzYTUzYzYwMGE0M2E3MDU4ZDhiYyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2FuYWx5dGljcy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI0MzBlMTE4ZWRhZmExYjk4NjYzNDU4NmVkODZmODFjMjYzYWQyNzZjYWJlYmFjNzIzNzBlY2YyNDk4ZDdkMjQzIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3NuYXBzaG90LXVybC5zcGVjLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZTQyMGFhZDQyZDc3YmMxYjVjOGM1ZWFmNzcxNDk2MjRiN2RiMmFlYmZiMjE4NmIyZjkyYjA1NjA3YjJjNWIxZSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9wbGFucy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI1NDg3MDIxYWM5ZDFhMDBjOTlkOWJiMjUwNjUwOGM2YjMwNDRiMzEzNDZhNmVkNDU5YWRkNGZiZDNjMzk2M2YyIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3dlYmhvb2stZXZlbnQuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImMxZTg5OWQyYzYxNmVkYmJmOGI3MTRmMGU3NmQ1OTk4MmJiYTAzZTg0YmM3N2FjOWYzMmFhOGRlM2M2YmQ3ZjYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZW52LmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjYyYWRkY2JhNzcwMzk1MGIxMTU2ZDczNTZiOTI3YmFlMzgyOTlkYjk1N2ExN2ZkMTg0NjI2NDE0NTk2ZTA1MzYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvY29udGV4dC11cmwuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNmRmZThjM2Q1OThmMDE1MTQ2NDMyNzZmZDFkNWQ1ZThhNTJjMzY3YmRhZDk5ZGY3ODAxOTVhMWFlMGE3OWY2ZSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9naXRwb2Qtc2VydmljZS5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIzZDFkMjc2NWZlMDI2YTEyZTc3NmM4OTBhMTkyMjcwZmE0MzVlMTZiNGYyOWUyOWViM2JiMDE0MDg0OTZmMWYyIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2Zyb250ZW5kLWRhc2hib2FyZC1zZXJ2aWNlLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNGM0YjhlNDdjY2Y0Y2U4MWQ3ZmM3NTFmMDhmMjk4ZDRhNWFlYWM4ZTQyODQwNDkzZTg1ZGVkYTBhMjUzZjY3ZCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbmNyeXB0aW9uL2VuY3J5cHRpb24tZW5naW5lLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNzkzODYzYzk2MjA5OWUxN2YzYjQwY2FmOWVlMjYwOGU5OGZlOTRmYTVhYmIzOWM0Y2ZjNTVhZmNkYTE4MTMyNiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3NraXAtaWYuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNjc1MzY1YjQyOTNjNzc0M2NhNTRmYTQ4NGIwNmRlYjY3N2I1ZmRiNWRjYzRiOGNkNjhkZWExNjY2YTZjMzIxYSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2V2ZW50LmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjNhNmJjNDI2NTNiMzAyNzRmOTU0OWQ4NWIwMWQ2ZjlkMTNmNzhhNmQ2MjllZWRkNzg1OTNjYTRjNTNjNzM1YTEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbGljZW5zZS1wcm90b2NvbC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIzYzNkYTg1OTZiMWExOTk2OWM0ZWE1MTQyNjZkMTlkNTA3YzM2OWE3ZTk5ZmQ2YjQ5MzQwZmM0ZjJiNzllMWY3IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL29zcy1hbGxvd2xpc3QuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJhNGZlZDJkOTM1OTBiMjAxODY3MDkwZDhiOGY1ZWIzNzk3OGVkYWZiNzU0YzkxZmFkN2Q3YTRiNmVmZmU2ZGFkIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ2VuZXJhdGUtd29ya3NwYWNlLWlkLnNwZWMuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjQ4MWQ4MDEwNzIzZDg0MjIwYWVjYThlYzQyNGYyNjBlMjAxZTQyZDA4NmRkMGE3NzQ2MGY5MWI4ZTExMjdhZDMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZW52LmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJhNmE1YzBmNDk4YzVkNTE5Nzc2Y2JkNDM1YjZjZDhmZDI4MzRmZmRmZWFmZmIwZDg1Yjg1OTU0MGMxYWRjYTZkIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3Byb3RvY29sLnNwZWMuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiM2YzYzYzZTU2N2NlMjBlOWU4MmIyZmExOTA4YWFlZmYyN2EwZGQwZDhkMWE4MWNhNjI3NTc5NzQ1MzYyNDU4NiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dpdHBvZC1ob3N0LXVybC5zcGVjLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjUzYTI0NzBjMDZkZTYyMDExMjE2NTdmN2U0NjA3YWE4MTc1NGQ2YTg1YjlmMGQ5N2E3YWE3OGUyNmQ1NWVkOGUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvcGVybWlzc2lvbi5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIyOGFjMTQ4OTBkY2U2ZWJjYmIxMjFjNWZiNTdlZDJmMmEwYzI1YTY2MDg3Mzg3YWI2NzU2ODQxMTQ4ZDNmNjE1IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvbG9nZ2luZy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI0MDk5NzUxM2IyMDFmZDdhNjViNjMwMjA4MDk3N2QzYjdkMWVhYTYzZDU0M2RiM2U4OWVjNjczYjU5NmE2MTY1IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3VzYWdlLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjEyNDMyMGM5OGJlZTkzOTc4OGU0Mjg2YmYzOGRkOTNlMGNkOWNiMTkzOTJkODhhNzZjNjc0YTNiZGU2M2FlMmYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9sb2dnaW5nLnNwZWMuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImIwNTExODJhODAwMmFhMmZiYjk3OWJhZjRhOWMzNmJkMThjMGZjYzE3YmU1NDBkOWNjOTk0NzYyYzIwMzUyN2UiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvYmxvY2tlZC1yZXBvc2l0b3JpZXMtcHJvdG9jb2wuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImM5ZDc5NDFmMDlmMzgxOWQwZGM2YWVhNzMzZDU1MzJkMTY1Njc0ZTc5YzQwOTk5YWYwNWRiZDY5NjliMjFjZWMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9zZW1hcGhvcmUuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJiNmY4MDRiYmFhMDIwMDBkOTQ1ZTVmMjhhYjQzODI5ZjJhNzUyMzI5YzAwMmY1OTIyMmMzOThiOWMyODhlZDBlIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2V4cGVyaW1lbnRzL3R5cGVzLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZGI5ZWUzOWQ0ZDg1NzEyOTQ1MmJhMGU5MGM5NTg4MTQ1NzIzNDQ2NTBjMDQ4YWU3MmUyZGRlNmQ0NmUxZTZhZSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2FzeW5jLWl0ZXJhdG9yLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImE4YzYwMjM1Y2ExMzBlOWQyMDY4YjVhOThkOTcxYTg4NjY2NDA4YjdjZDE2MDM0N2QxYzJhNTBlZTE0ZWI0MWUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvcHJvdG9jb2wuc3BlYy5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjA4MGIxMjRmYTZhYzcxMjc0NmY0YjNjYmZiYWUwMGJjNGE4M2VmNGZhOTQzOTdkNWE1MGJkZWViODlhNzg5MmIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvb3NzLWFsbG93bGlzdC5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOTEwMDJhZTM0ZGYyMTMxZjYwM2RlYzJmYzEzMzk2ODk3OTVhMTBiN2FhYTRlZjY3NGViMjhkZWU3ZTFiM2QxYiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3RpbWV1dGlsLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImE5NzNkMWU0MDFhYWMzZjA4M2M2NTA4NmQzMWFiNTEwZGY1YTM5MzkxMzc1MjUwZDc4ZThjMDY5YTMwNWU5YjkiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZXhwZXJpbWVudHMvdHlwZXMuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjgwZGQyNmFjMDk5ZmY4MjQ5Mzc1Nzg2OTEwZmZjMmZkNWE0NGE3MTU0ZDZkZjA2YTdhMzMzODYzZjVlNDcxNWYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvaW5kZXguanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjM5YThlNTliYzZiNDA1MGM3NWNlODM2Mjk1MmNiOTdjOTY5NTQ5NjY5MTE1M2ZiY2ExMTc5NjdhODg2YTg5NjEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvd3NyZWFkeS5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjFiYTA0Mjc1MGVjZGJhYjRkNTFjYWI4YjNlMzdiZGRiZTE4MTg1NGE2ZDNlZWI3OTRkNThhMjkxYWIxMzkwOTMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9kZWZlcnJlZC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI4NjZmYzc5YWExMzM2MDEwNWQ0MzEzM2JkOWE0ODBlMGM1Y2QzNGM3Y2Q3YmQyMWUxODVlNGI4NWMzM2VlMmYzIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvc2VtYXBob3JlLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImE0ZjZkOWY3MWE5Nzk5Yzc5NzE4NTdkYWRhOWM2ZDgzZjU4NGU3NDA4OTRlMDU4OWY2Y2I2ZTk2YmNmMTgxZjkiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9nZW5lcmF0ZS13b3Jrc3BhY2UtaWQuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNGY4ZDQxMTYxMWIwYjIxNDRiOWQ5MTEyYjFhZGQ5YjQwMzIzOWZjNDg5YzQzOTIzMGJjYTYyYzgwNjVlZTQzZSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvcHJveHktZmFjdG9yeS5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI3OThmMGQzMGM5MGE5YzA1NjJjZGQ5ZmQzOTdkOTdmMDU4NTFmNjA4OGFmN2RmODAyY2Y3NmRhYjdjOGMyYjhmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvYW5hbHl0aWNzLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjBiYTViZDYxNDkzNDlmNzUxMTVlMjc0OGM1OTlmZDBmZmQ1NmExNWM5OGY4NTY5YTY2YzQ2ZDk4Y2I1N2RlYWIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9hbmFseXRpY3MuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjJhOTFhYjUyNDgwNTFkNWRjNDEyZDVjZmQ2OTVlNzQ2YjZjNzQ0MDZiMmVkNDFhOGZkODUwNjU0MjczODlmYWQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9naXRwb2QtY29va2llLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjI0NzFmZjE1NGY1Y2I5MWUzYTU5OGZmZDVhYzM2MWExNzE2ZmM3MGM4YmZkOTAxMmQ1ZDE5MjRjNTJjMzQ5ZDQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvd29ya3NwYWNlLWNsdXN0ZXIuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNWY4OTcwNDFhYTZlZjc3MGIxYTkzZmY3ZTgxY2NhMjM2MzZlMTc5ZWFjOThiYjBlZDBlZmIyZGY3NGVmMzcxMyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9wYXltZW50LXByb3RvY29sLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiODBmYjhlMWZiMGI0OWZmYWI4ZjU0YzE3Y2E4ZTY4OGQyMjliMTBkYjM4ZmZiZmRhMjk4ZjhhY2MwYmU3M2MzYSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9leHBlcmltZW50cy9jb25maWdjYXQtc2VydmVyLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI1YThkOTNkMjUwYzg2MzVmNDM1Y2EwNmUwYjI5ZmM0MmFkZTQ0ODg5MTU5ZmJiOTNlZjE5YzU3NWNhNmQ5YzVkIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2FkbWluLXByb3RvY29sLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZmI4YjcyYWYwZTU2MTk0OWYzMDM4NDFlNWE3OGFkMTQ4Y2IzMWRkMjlhZGMwZGY1NDJmNGYyM2YzZTViNWM3YyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbmNyeXB0aW9uL2NvbnRhaW5lci1tb2R1bGUuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiM2UzODc3ZmE0Mjc4ZDhlMzJmNGJiZjAyM2NmMmU5MmUzNDhiZTZmZmQ2ZDk1ZWVmMDNiNTBjOWRiYjY1MzM5MiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2V2ZW50LmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJhNTg1ZDIwYTQ3YTJiZjA5OGI0ZGNhMjVmNDBmNmVlODk1ZTEyZGU2MzNjYzI0ZjgxYTI5OWI1MmVmMTViZmMxIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ2VuZXJhdGUtd29ya3NwYWNlLWlkLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImJiOTVlYzZlMzNhNWY3MmFiNmM1NTIxYjE0NGYyNmVhNTgwZDFmMDQwMmNlMTIwOTIzYjg3YmI4YzdiNDZmZTkiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvcGF5bWVudC1wcm90b2NvbC5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI3ZjJkNDY3MzhiOTE3M2QzYjQzZmMzMmUzMjBhYWYxN2JkZmVkMjVkZDk5NjRjZjE3NDA5MjUyMWNkZGJiMjlmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvcXVldWUuc3BlYy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIwMDg2ZDA3YWEwNjMxZGQ4MTE2MDA3YTg1NzAxZjM3OTMwYjI0ZWNkMjY5NTAyYjE0MzU4NjlmMTgzMDA2YzdjIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2VuY3J5cHRpb24vZW5jcnlwdGlvbi1zZXJ2aWNlLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjg1ZWIzOGMyMWYwYTdiOWZjM2ZiZDcxN2Y3YWFhZTlhZjg2MGU3ZTYwODIwZWQwNWZkNjgzMjc1MmEyNzNkMGYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZW5jcnlwdGlvbi9lbmNyeXB0aW9uLWVuZ2luZS5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiM2U4ZTI0NjYyNjk3OTc0YzQ4MjNmNjJlZmYxZDE5YzA5OWI0ZWRkZTM2YjFlNTg4OGUzNzFlYmJlZGM0MDVkYSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9iaWxsaW5nLW1vZGUuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJiZTEzYWEzZWViZDgyNWMzZTA4ZGE1ODNkZjA2OTc5MDcwOWRhNzI2NTBlODQwMjRiMThkNTUyYTRiODNmYjkxIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZGVlcC1wYXJ0aWFsLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjU2ZDlkOGQyYWY4OGNhMTcyMjY0ZWQ5MGE5NWRkZmIzNmRlNzFmZDcxNTFhMTQ0YmM2NDYzZTA2ZTVmNmMxMjQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL2Vycm9yLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImUxNWJjNTY5YzQ2ZmYzNDA5MmVlMDgzNWNlNzVmOGM4ZDNhNGIzNzJjMWZlZjZjN2NiNWZhZGQzNmY0YzI3M2YiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9kaXNwb3NhYmxlLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImFlOTkxNGY3YjJkMmMxZjg0YjliMDk4ODVhYTEzNzFiMDg3YzE2YjE3N2Q4NGY0ZDFjNjA0ZjJhNWE0YzgwOWYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL2NsaWVudC1jYWxsLW1ldHJpY3MuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImU1YWJjZGZiYmNhZDM2ZjM5YmE1OTI3YzBiMTkwZjAwMmE2OTc0ODljMTU0N2NhZTVlM2UwMjFhYzVmYzMwM2UiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdGVhbS1zdWJzY3JpcHRpb24tcHJvdG9jb2wuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiY2Q5ODRmOTUxMmZhZGU4YWZhMmEyNzYyYzE3YmU3NzQyNmJhODYzOGE0OGU1MTAwMThiZDY1ZWEyYzM1YmI2NyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9hbmFseXRpY3MuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjQ0ZmFkNzNkNTlkODU0MmJjNTkwZGMzZWRjNDYwMjdkYmIxMjhmZWYzYTNhOTg2Y2QyMWFmOWNmZmQwNWU0MGYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZ2l0cG9kLXNlcnZpY2UuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZGMyMzExNGQ2YTI0NTNhYTExNGE1YmNlNzQxMmNiZDc3YjA0ZmExYTM5M2VkMTY0YWI4MTlkMjFlOTU1NzI0OSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9pbmRleC5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImRlNjgxNWMzYjZhODk5ZDZhMWRkOWI5NjAyODMwMDFlN2I1MWQyNDk0ZWMyNzJlNTliYzcwYjZkNDQyZmI5ZjciCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC90cmFjaW5nLnNwZWMuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZGM1NzcyMmVhOTVkNzBiZDI2MzdmOWExZjAxOWQzODlmNzkxZDRjYWI0MGQ1YjVmZDdkMzViYmU4ZGUyOWQyZSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9wZXJtaXNzaW9uLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2ZmEyNDg4M2U1MDhjZjM4YmM4ZTY1M2EyMjQzZTMyYTFmNDI5YWE5NGE1ZjZhMmUwNzQxOTA3N2JjMTVmMmQxIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvcXVldWUuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjIxMzAzOWU1ZmVhMTkwMjkxMDYwNWEzNmNiMmY1ZDNhZjA0ZTBlN2U1MDMzNjkyZTNkMWQ5ZWZhNTczNWVjZjMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9za2lwLWlmLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJhMDM5MWRkYzk2OTFlOTliZTM1Y2VkZDUwN2NmYjczN2ZlNTE2YjJlMGFlMDk3NGFkYjczMjM3NDllZmU4ZDRmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2V4cGVyaW1lbnRzL2NvbmZpZ2NhdC5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjk3OGY2ZWUwMzE3MjlhNDZlOTY2NTgwZDQ2N2E1MmZkZjM0NTMxNDc0NjIwYjdiYzhjYTZiMjc1NTVlYTNjOTMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvcGxhbnMuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjQ2YzdkMTZhN2RjZTI4MWY0NzFiOGE3MWRkOWMyMTkzZGJmNGVlMzU5NjE3ODMxYjYxNzNkNDEwN2M4ZWI3MGIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC93b3Jrc3BhY2UtcG9ydC1hdXRoZW50aWNhdGlvbi5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjYzOWVmNDhkN2UwYTM4ZmRjNmM4YmNlZDJlMmQ4MWQ0MWIyOTRkYmU5YTk5ZDI3ZjVhYjQzNzNlM2YwMGRhNzkiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvY29udGV4dC11cmwuc3BlYy5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI5ZjdhN2JlNzg1MGFiZGVhYjQ5MGM2MTY4NTBhN2EyYjhhYTM1Yjk2ZjQ5MzRkNDM3YjRlZGVlMDMwYmRmMmUwIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZGVidWctYXBwLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjQyMWFmMTY1N2M3ODkyMDQ3YzFhOGJkZTRkYjhkMjdjNzMxYjg4YWYyNWU4ZWRiMTdmOWQ1MzBmM2M5YTg2NjQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9wYXJzZS13b3Jrc3BhY2UtaWQuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjI3ZWVjMjBiMWJhYjIwMmI2NWY2MjA5MWI5ZDVjYzdlNTk1MWZjNzI0M2U1ZDczNGQxMzdlZjBlZDkzZDhiYzciCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvaWRlLWZyb250ZW5kLXNlcnZpY2UuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiM2E0NWUyNWE1ZDFjZWQwOWVmMWI1OGU0YThkOGE5ZTIyMGJlNjRmNDVhZWJjMzEyOGI1NTRkYTRjNDMwODhmMSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbmNyeXB0aW9uL2tleS1wcm92aWRlci5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI0NGMyMGE5YjgzN2JhM2M1YWM4MmI5YzE5ZTNkOGFhYTU3MDkwMmJhYzFmOGVhYzNhZDhhNTI0ZDBjOGRjYjI5IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2dpdHBvZC1maWxlLXBhcnNlci5zcGVjLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIxNWI4YTE4MzZmYWMwNGZjN2EzODYwOGYyNDQ0YmI4NmYzMGU0MmNlMmJkOGIyOGY3YzE1ZWFlYjQ1YzI3Y2IyIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvdHJhY2luZy5zcGVjLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJhN2ZkMDI5M2Q1MmExYTI5MGZkNzcyYTJiNzdlZDZjN2I4ZTJmZjRiN2NmNTUwNGEzMTQxMDNhMTFlMDBmYzk2IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL21lc3NhZ2luZy9icm93c2VyL2Nvbm5lY3Rpb24uZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMDFmYWY3YTcwOWE5YTgyYjg1YWZiYzYwNzQ0YWViZGI1YzVjOTJkOWY5ZTA4NDk2YmM0NmUwNWE1N2U5NGMyZiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvYnJvd3Nlci9jb25uZWN0aW9uLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYTc1MGQ2ZTBkOWZmZWJmNDllODAyMGQwMDNjYzM1YjNkYTQ5MTVlNzY5MWU4ZjU1M2RhMDZkYTYyZjU1Y2UzYyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2RlZXAtcGFydGlhbC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI5YzA5NGEyYjUzYjVkMDk2Yjc3NmIxN2FkMWRjZGQ2ZjlmZDdlMmQ4Mjg0YTVhNjEwNGMyYTJmNjUyMmJiZTBhIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvbmljZS1ncnBjLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI1M2Y1MDcyODAzMzFlZjdhYTU1ZTJhZDA2MmRjNjJmYWRiM2ZkYjQxNWE2ZDBhMzZiYWNlZjczNGQwOTcxYWQwIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL21lc3NhZ2luZy9icm93c2VyL3dpbmRvdy1jb25uZWN0aW9uLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI3ZmQ1MjFiNzBiNzczZmI4NDhkMTI2OWRjNzU1YWE0YTY2OTNkYTJiMTgzYTg2ODE0NjNlNTRhYWQwODIzMGY1IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2lkZS1wcm90b2NvbC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI1MDY0NGRiMWI3Y2Q3MjNmN2U0NDQ5ZDE3MTE2ZmM2YzIzMmU2NDRiYTkzNzk5MThlMDM5YTY5MGFhZTE1MzVkIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2Zyb250ZW5kLWRhc2hib2FyZC1zZXJ2aWNlLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjczOGZiZmQwM2YzNTVhYWE1MTYyOTVjNDQxMmVhZTZmZDhmOTAwZTJlYTNhNDZmZTYyOTk4Mjc0ZGI2ZGVkZGIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvd3NyZWFkeS5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI4Y2M4ODBkNDlkNWMyYjE2YzY1ZWY1MGNlNmNjNGFmMGU4MDMzOGZjZjc0Mzg3NTc3YWQxOWI5Y2M3ODMzYjIyIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3R5cGluZ3MvZ2xvYmFscy5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImM0OTliNDkzN2E4ZjUxYTc2YTFkYzE3MDQzNTZlYTk4YjhlYTJjZmMwMTA3MDY3OTRjY2E5MWNkNTVmYjU5MWYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9kZWZlcnJlZC5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNTIyYzRmMTczNjc5NWMwMDM2MDRhNWViZmU0MjQ1YWY0NWEyNzc3YmQ1YmI5Njk1MWRkMzA5NjBkOGEzNzQ1ZCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3BhcnNlLXdvcmtzcGFjZS1pZC5zcGVjLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjYzODVmMjFiNWIyZTM4YWE1N2JkN2U0ZGU5ZTFiMDRjNDM4OTI2ODhmZDljMGRlYjdlZGYzNTNkOGY1ZGJhNjEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9wYXJzZS13b3Jrc3BhY2UtaWQuc3BlYy5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYWRkYjk4YjZmYTE2NTg3M2NkMDNhMDY3ZTA0OTlhMmQxYTlkNGJmY2I2YWRjNDhmZGY0OTIxNjIwMzgyMDE1NCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9oZWFkbGVzcy13b3Jrc3BhY2UtbG9nLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI0NWI3YTAzODg3YTBjNGRkNGY1NGNjMTQ4NzZjYmRmZDUwOTU4ZGZkNTQwYjE4Y2Y3ZDY4YWFiY2Q3ZWY2NDIyIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2NvbnRleHQtdXJsLnNwZWMuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIxYjc0ZDk0NjMyYzM2MDViZDlhYWRiZTlkNGEwYTE1YTNlMDQ5YjVlNDgzNjA0NDFmZjUzNTdjMmM4N2EwMWE1IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvcGFyc2Utd29ya3NwYWNlLWlkLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZmNlYjJiODBlY2I2MjFkMDE0OTUyYzczYzFmMzUxMjY0OWRkMjY0YmUwYTQ2N2I4NDIxMDFlYzYyNzZmZGRlYSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3BhcnNlLXdvcmtzcGFjZS1pZC5zcGVjLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjEzODY3ZGNlNmRkNGY5N2EyOWY0ZjhmZmM3NDg1ZTdmYzlkYTNhODg3YmI4NzlmNmE0YzhhNTg3YzUwNTdmYTciCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZ2l0cG9kLWZpbGUtcGFyc2VyLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI0YmRjNmE3OThhNWZjZTNlNzQwMWFiYWEzZTYwZTgwNjdlNTc4MWU5NjY3ZjdlYWI4NmM0NjBjYzE0MDNlNGJkIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3NuYXBzaG90LXVybC5zcGVjLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImMyZjU2ZWUwYzc1MzljMzlmNjk3MWVlOWZhODFjMDQ1MGRmZjQ0YWEzZjAxZDY2NmM4YWQ2MjI5YmRmMzM0NjUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC90aW1ldXRpbC5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjU4MmE3MDRjMDdhMTUzYzZjMjI1M2IwN2MxMWUyNTY1MTQ2MDliN2QwZjQ1NDA5NzVmNWM4OWMxYTJhOWRhMmMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL2Vycm9yLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImRlYzE4YmJiYTNmMGJiNDliOGZiYWRjNTE5NTZlZmQ5M2E0NzdhMjdkODQ4NGQ3ZmZlZDc1OWVmNDZlMzk1MWQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9jYW5jZWxhYmxlLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIwNTNiMDcyY2RiZDkyMjM5NTRkZDVmZGE5MmQ5MmM5OWY4MDk5ZDhlYWU1MGNmYTZjNGJmMmRhYWRkMDYxYTBhIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvbmljZS1ncnBjLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjNmMGY5ZjQ0YTU1Y2EyNzk1Y2VhOTg5ZjQ3MzgzOTlhNTVjZWU5OTU1YmUxYmY1YzM2YTViNmZhOWU1YWQyYjciCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9naXRwb2QtaG9zdC11cmwuc3BlYy5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIyMTIxNzY0ZjBhMWU2NTAyNzA2MTc3MjhhMDI1MmZlODQ0Y2NkZjRjNmNkOTM5MTlmZTg4N2ZiN2NiYWEzNzhlIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZGlzcG9zYWJsZS5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZGYwZDc5NzRkYWYzMjUxYTQ1MDY2NjU3NTk5YTA2NDE5ZWIwZGU1NmU3MDE5MWU0ZDM1YTU0MDFiYjU1ZDY2NCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbmNyeXB0aW9uL2VuY3J5cHRpb24tc2VydmljZS5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImU3ZDBkMTNlNWExZWEyNDM4OWRkN2ZkMjIwYzViYTcwNWFjOTE5YzYwYjAyNzExZmY1NWYyMzg2NzkyMTVhMTUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvd29ya3NwYWNlLWNsdXN0ZXIuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJhOGRkNGQ0NmZlODVjZTY5M2M3YzU0MzFlYTAxMTlmMWE5YTVmNTU3YTNmZDgyNzE3NDU2Y2E4ZGRlOGU2NjljIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvamFlZ2VyLWNsaWVudC10eXBlcy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJmNGIyNWJkNDcxMzAxMjkxMzNmMTM4ZGY5MGM2YjdhYjQwYzIzNmVkY2VhZTRhZGIzODJmZmY0Y2ZhMjc3YWQwIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvbG9nZ2luZy5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZGFhN2I1MmNhNmJlMTQxMmUyMGU3MmE5ZmJjODM4MzRkNWFmMTE1MDY4MjEzYmE0ZDY3NjhhMzk0ZTM1YTRhZCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3RpbWV1dGlsLnNwZWMuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYzRkYjY4MzAwZWU0NDI3MzVhNmVlYzMzODBjNjUwZTZmMzVmMDNmMTNhNjE4YTM4ZGE4MjFlNTdmMjcxNzg1MSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbmNyeXB0aW9uL2tleS1wcm92aWRlci5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIyODY2MWI2NTU1MmY3YmMyZGViYmU1NTMwYzE4ODEzMTlkZjM5OGFkOTIwY2YyOGRkYWRlMmMwNTQyMmMwNmM5IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2F0dHJpYnV0aW9uLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMzQzOGZkNjNhNzVjMzBlNDliOGZmMDZjZWZkNzE5ODAyODk3MGQ1NTIwNzhlZjA5MDcyYjYyOWJlM2JiODQ4YiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9naXRwb2Qtc2VydmljZS5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiY2RjNWM5NGFlNmU5MzE1MDAxMjRhZmNjZTI0ODkyZjllYThjOGFjMTY1ZGYwMzlmMWI4YWYyYjBmOTg1MWQ3MiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3RpbWV1dGlsLnNwZWMuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjcwYzVlNTIzMzg0ZTc1YjQzOGM1ZGE5N2I5ZTkyNTkzZWM5ZDNkYjZiMzc5NzdjNDZhNDk4MWY3NGQ2MzBkMjIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZW5jcnlwdGlvbi9lbmNyeXB0aW9uLWVuZ2luZS5zcGVjLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJmNWU2ODQyN2JhZmVlN2VhYTg1MTY5ZGMzNWExYjVlN2RiZmU2YTYzZjU0ZjliMjdjYmQwYjYzMzE4NGMyYjVlIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvcGFyc2Utd29ya3NwYWNlLWlkLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImM5MThlZDA0MjliNDNhOWJkNjE1MjRmNmFjNGNmZjkwMzdiZWFhNTY0M2E1NTEyOGU2OWEwMGU0MDg5YmZkN2MiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9qYWVnZXItY2xpZW50LXR5cGVzLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImY2ZmQxNDkxMDU3NjM1NDZkYzM2YTk4NjdlMzQ3MzE5MDM4ZWVmZTQyMjk5NmY2NWNhYzdmMWMxYmZmZWJmZGYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvYXV0aC5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjY2NWU2OTdjZjBkZjEwOTY0ZDIwMmJmZmE5YWU0MWJhY2IzNmUyOWUxZDY3NTA4ZDYwODIxMzEzMzQyNjVjNDYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9zZW1hcGhvcmUuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZjQ3ZTZjNTQ2Zjc2YWIwY2I2MTMyMGYxOGIzMjRlMDFhMWY0NTU0MmUzNDc5N2U5OGVhYmI1YmU2YjJlMjBiZiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9leHBlcmltZW50cy9hbHdheXMtZGVmYXVsdC5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjc4YjdhMWM0NDJmMTI0Y2ZiYzI4MmUyOWMyZDNjOTZiMzM0NTljZGZiNzhiN2Y1ODQwZGUxNDYxNzk2NGFjYWIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9nZW5lcmF0ZS13b3Jrc3BhY2UtaWQuc3BlYy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIzMzFlZWMyMjk4ZjZhNWExMjU5YzNhOGFmNWIzY2NjNjM0NWMxYmVkMzhlZWZmMWQxOWVlMTQ2MTI4YzQ4YWIyIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2VuY3J5cHRpb24vY29udGFpbmVyLW1vZHVsZS5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImU0NmNkZTI1YWVlYzNmMmMyNTczYzA3NTgwYzQwMTkwZjEwZDgyZGYyMjYyNzRiNmNkMjcwNjdkY2M2MGYxMTgiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvc25hcHNob3QtdXJsLnNwZWMuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMDZmOWUyZjQ0MzVkYzgxYTRhN2Q4YzNiNmRjOWRmNzYyZGZkMTlkMzQxZWQ4ZjFlNDNmMmU2NjJkMmY2NjBkYiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9pZGUtcHJvdG9jb2wuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZTNkYzBiYTQ5OTYwYjVmOGJiMmM1ODkzZjUyNTllMDg3YTU0ZWQyMTc0OGNhMmUzYzVjM2ZmMmExMWY2MGZjMiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9pZGUtZnJvbnRlbmQtc2VydmljZS5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYWFhZDNmMThmYjA0OWY5YTUxM2MwYzg4MmRiNGEzYjFhOTQ4M2JlM2NlNmY0MjEzYzgwYjAxMWI1MWYyNmQzNSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2RlZmVycmVkLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZDEwMmI5YWRmZDQxNzhmODkzMmM2NWEzOWJmZjYzODdkMWJkNTgwMTU3NWM1ZGIzNzE1YzQ4MDNjMTcyNTk5MiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9naXRwb2QtZmlsZS1wYXJzZXIuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZjgzZWMzZmIwN2FmMTY4YmIwNDdkNGIyY2VlMWFlNmEzYjQ1OGM1MzE4YWI3ZTAyZjQxMWNhNzJiMmRlZWEyYyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3RpbWV1dGlsLnNwZWMuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJlMWZkMTE1NDczZjFkOWVlNzBiNjY4YTNiZWFkYTliZjZkZmRhYzNiNGEwNzlmM2U0ODMwNDcyMWJjMjFhNzRkIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3RlYW1zLXByb2plY3RzLXByb3RvY29sLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNDgyYmFmNmRmYmQxYjI4NjJhYjk3NTE3OGNhNGU3NzkyMDZmYTIxMDNiZTViOTBlNjliOTlhZTk1YjYwNzE4OSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9hdHRyaWJ1dGlvbi5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYmM3NDc4Y2E2NmI2ZWM1MGY3ZmNmYmE0MjA5NDI5YzZjYTcyODcyNGNhNDA2ZGYwZmE2NWY1ZDkwMGNmNzVhMSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3dvcmtzcGFjZS1wb3J0LWF1dGhlbnRpY2F0aW9uLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2YWI4OTIzYTQxZDU1ZWQ2NjIwZmM3YTIzYzQxOTlkYzViMzg5OTkwODI0ZmY0MjczNjYyODZlODdlYTc5OGZjIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2dpdHBvZC1maWxlLXBhcnNlci5zcGVjLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZmViYjdkOGRjZmI4NzBhMzA3ZDNhYzc4YTk4ZjE1NzE3MzFlOTI4NjU2MTRhMzAzMmUzM2I0NGM5OGY1NmNlMCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9wcm90b2NvbC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJhZGZhZjRmOGExMWMyNjkwOTVjZWQzZWU1MmZjOWUzMjAwODcyM2ViNTcyMTM5NWQyMzY0ODE0NGE4ZTRmNzFiIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZGF0ZS10aW1lLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMmMwYmViOGVmNTA3ZTAwNjJiZTYwOTRmN2JjY2FjNDMwZDFkZGIxMjQyZjhhMjNmMWZlYTljMGI0NWEwNGZmNCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2xvZ2dpbmcuc3BlYy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI4ZjIzMjcwZTRkODZmNGFjOWEwZjAzNmEyMDYyYWI4MzBkMTk3MDY3YmMxZTg4ODkyNmU5ZWY5OTE1ZDFmOTcyIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ2l0cG9kLWNvb2tpZS5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYWJiNWFlNTk5ODhlMzUzMDljM2U0ZGJiYTI3ZmZjOGMyMzBmOWI5ZGQxM2EyYWM5ZGZlNWUyY2YxZWRiZjAzOCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9jb250ZXh0LXVybC5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNzNiYjc0MTI1NWJiNzg0ZWFhNzJlMTY2N2JiNTQ2ZjNiZGM0YWM3MGRkZDVlODcwOWE3M2U1OTI4NGZkMzRiMCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dlbmVyYXRlLXdvcmtzcGFjZS1pZC5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjc1MmQyZWU4NDE0ODc2MGYzMmM2OGYwNTdkNmE4YjlhNDA4ZjM4ZDcwMjllN2IwNTMwMjBhMDQyNWQ5ZGIxOTciCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvYmlsbGluZy1tb2RlLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2OGJkNGI5MTJlNTViZTVlZGYwYTllOGQwMzg1MjYzYmYwZDZlZTU1MzNlNWVkMjdkYzkwMjhhNWEwMzljYTg1IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ2l0cG9kLWNvb2tpZS5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImMyZmRmYTY0NjZhM2Q0MDQ5MzFjNzVmNDE0ODg1NzcwOGRmNjYyZDFiY2IzNzg2YmRhOGExYWJhNDUzN2FjMzkiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvcGVybWlzc2lvbi5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJkMzY2ZDVhNzFiMjNhNzMyMWZkMWI4YWQ1MzljZmMzNWQ2OTc2NDExYmJiZmFkNjllNmM2MTcyY2FjYTNlNjk0IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvcXVldWUuc3BlYy5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImI4MjZkNTkwZWVmM2JiNTU0OGQ1MzE2NDI3MWQ3ODFlMmQzODIxNjUxYmMzNWE2ZmI0YzBjMmUzZGFkNTJjMWMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9naXRwb2QtaG9zdC11cmwuc3BlYy5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMThkZDU2YzIzNWQwNTQ2NWFkZmRiMDk3NGRmZTg5M2NmNTQwZDQ5NzQ5OWVmNDc3OGMyOTc3MDFhMDM3NGNkNSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9leHBlcmltZW50cy9jb25maWdjYXQtc2VydmVyLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMDZkMWY5YTQwZDJmMzI5MTRlZDA1ODg1YjhhZGU0NTZkNzQ1NjJlNDQ2ZGUzYmFlMGQzZDA1YTUyZjQ4MGU5YSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9oZWFkbGVzcy13b3Jrc3BhY2UtbG9nLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjdjNGFiMTY3OWVhY2ZjMjg2ZTlmNGI0NDExMzYyYzYxZWVkMmIxOTBkOTliYWRjYmZkMGU1MjVkNGRhMmIzYmUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZW5jcnlwdGlvbi9lbmNyeXB0aW9uLXNlcnZpY2UuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMWYwZDFlM2Q4NGJiNDQzNDA3N2QzYjYwNjZjOTYzYTg5NjQ5YTRiNzRkMTFhYjg1YmVjNWNkOGEyZWI0ZDA1OCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvaGFuZGxlci5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI3YTk3N2UwNTkzMzhmNzE1ZGY3MTU3MGRlYWZlOWMyNzlmNzg0MDAwZWZlOGVkOTQxMzNmMWM2NzhkMWJhZGM3IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3VzYWdlLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJkZjg1MDhkNWFmNmU2Zjc3MWQwMjc5OTFjYzIzYWQwNzJhYTU3YjczNWYyOWQ3M2ZmZDEwNDg4NzMzYTVmNzBlIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL21lc3NhZ2luZy9jbGllbnQtY2FsbC1tZXRyaWNzLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImFhYjY1ODgzYWNjOTRkOTdmMTgyNzkzOWZlYWIyM2VmMGNhOTdjOGVkYzcwYzBkN2Q0NDZhZWMwOWQ4ZGZiYzUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvYWRtaW4tcHJvdG9jb2wuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMGRjZDIzYjEyMjM0ZDM0Y2VmYjQyNmYxYzI1Yzc4OWUzOTc3MDY2NzczMDkwZmNjMTY1OWU5NjRiMzFjODNhNyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvZXJyb3IuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjhlNzdlMTUwYmVkZjUxNTcyMzkwMTA3M2ZhM2Y0OGI5NzE3MGEwZDZkZTk1NzY4M2NkZjg1ZWVlNjU5MDNmNzAiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvcHJvdG9jb2wuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIxNGMyODExY2M1MjA0ZjA2ZjQxYTFkN2JiYTdhMzkyMDcyOTA1NzE4MDRlNmQ1MjczZTM1N2M1YWFhZDExZDlhIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3R5cGluZ3MvZ2xvYmFscy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI3Y2Q4NDk1ZGVkNDgwMDc5MjA3ODU4MWQzMjMwNTk2ZjlkYjQ0MTYxNTg0N2MwNTYwNDZiYjU2MTFlNTVkZGUwIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZGVidWctYXBwLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMmZjZWZiYzEwZjFmNDZiYTlhNzcwMDdhOTgyYmNmYmQwNTJjNWRmNTU1ZDg2YzI5Y2VjZWM5N2RmZDIyZTAyYSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9naXRwb2Qtc2VydmljZS5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjA2Y2ZmNjFhZTBiNmEyYTViMjM0MWYwY2I4ZDUwMWYzZDljNjRmMDM5YjhhY2QwYTZlYTk5ZmEzZjNlN2ZiYzEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvYWRtaW4tcHJvdG9jb2wuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjdhZThlNWM2YWM2MmM5ZDVmZTJiYzY2YjNmZGUxYTdjZGZiYWIzODU0Zjk2YmNhZTIyNmJkYWE5NDI5YjI3MjYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC90aW1ldXRpbC5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOTk0MjIzNTg2Y2E1OGIzM2FjNTNhMTU4NmQ3ODU0YWNiMzcyNjYzOWFjM2VhNjNlZDRmYmQxMjE5OTU1YzdjYiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvY2xpZW50LWNhbGwtbWV0cmljcy5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIwM2FhM2M1OTBmYzdkZGI2YzI1ODljZTkwYmUwZjhkYzYyNDk1NDRiMDkwOWRiZmJlOTQ1Y2M5MTcyYTNjODdmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2lkZS1wcm90b2NvbC5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImFkN2ExZWIwMTc2NmFiOTUwNjliOTQwNTk4MjJhNzAzN2JiZGNhMDBmZjBiNGE4MzVmZjM2ZjgwODJkMTE0YmYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvd29ya3NwYWNlLWluc3RhbmNlLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImRiOTI5NzE2NzdiNWIyMjlmYmY2NzFhODUyMjAzNmQxYmM4NDJkOTg2ZTdlMmMwMmQ3YzMyY2M0MDg0Mzk2NTIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9yZXBlYXQuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjE2Mzk2NTFmZWYwOGE2MWM2N2RkMGI5MGQ0N2E1ZDE0MDE0OWMzNGEyNTYzZWE1ZGIwZTVlY2Y1NzAyNWJhMTQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvY29udGV4dC11cmwuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJmOGUyOTAxMTBiYzdiNmRiZjAyY2U5NjMzNmQ1ZTZhN2Q4Njk2MmNlYTI5OWRmOTIyZWEzYzU2OTU3Y2ZmNjAxIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3dvcmtzcGFjZS1jbGFzcy5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImE3M2NhMDgyMTU5NzUzZmZjNzIzNGMzNDhjODZkODVjMjkxNDdmNzI3MDE5ZjQ0ODEzNDFhZGU3MjNlZWQ3ZDEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZW52LmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZTBlNzFkMDE5MjA5NWUwYTdmYzMyMGRmZDRkYjUyNjE0OWRkOGM4MTkwOGQ3ZDRhNTBkZmZhOWM3MjE0YjZiMCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3F1ZXVlLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMzRhZjAwMzRjNDE3NmM0MGM3YmJlMGE3NTViOWU1MThjYmI0OGFhOTUwNmM4NDFjNzk5ZGRlZTk5M2Y1YThjMiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvbm9kZS9jb25uZWN0aW9uLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImZmYmQ3OGQzZjFlYmZhNTZmYzg5OGRiNWE3MjM4ZTIyMzhiMTY3NmUzMWNmZDQzOGE4ZmU1ZjA1YjA5ZjI2ZmMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZXhwZXJpbWVudHMvY29uZmlnY2F0LXNlcnZlci5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJiODQ5MGZjOTFlZmNhMzZhNzQxMDk3YjBlYjYyYWRkZTYzMjM3ZGRkMTBiNWVmMWMzYWRmOWU3Mjk0M2Q5Y2JiIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvdHJhY2luZy5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjhhM2YxNTQ4NDZmZDY4MTExZTA3ZGIwNTNiM2ZjZGY0OGY0N2JjY2NmYWE5MGZmMDQ5OTU0OGU0ZWZjNzZlZDkiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZXhwZXJpbWVudHMvY29uZmlnY2F0LmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjI0NDc4YmEwNTA3NjIzOWY0MDVlMGYzMjc0YjgwMjc2ODQ0YmZjYTAxYTU3ZjMzNjk3MzI0YmIxN2ViMmIxNzgiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvd29ya3NwYWNlLWNsYXNzLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjY1MmMxZGY1YzJjMTUwN2UyOWQ0NjllMjQ5MTdmNDQ5YmEwZTVjOWI3YTU3NjAzNTlmNjM5MDkxYjBhZGQwN2IiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvcGF5bWVudC1wcm90b2NvbC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJlZTI4YTBhYzYzOGEzMWExMGRkM2E3NDMxM2UyOTAxNGEzZTFkYWEzYjNlMDY0MmZiYTZjZTcyODliOWRmNGExIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvbG9nZ2luZy5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI5NWYyM2U2ZmU4YzUzMDRhODU1NTgxZjRkM2ZkNmEyNDE3YmNhYzgwMGNmMDY4ZjJhYmE5M2FiMDgxMDUzNTE5IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ2l0cG9kLWhvc3QtdXJsLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjdmZjM1ZDA2Y2NjMjczMTVjYzc3NmMzZmU5YWE2ZmJkM2VhMzdmMzVhYjYyMDc4OTUxZjQ1NWVjNGRlMTBmMWEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZW5jcnlwdGlvbi9lbmNyeXB0aW9uLWVuZ2luZS5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJjMjBiN2U2MWQ1N2YxZjIxY2ZlMWYxMWEyYjI1ZTVlMzgwYTBkNjBkNjlhYmJjNjI5OWUzYWVhOGJiNjdiYWQ2IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2Zyb250ZW5kLWRhc2hib2FyZC1zZXJ2aWNlLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI1NWQ2M2MzYTE2ZDUwOTVmYmY0ZDgzMzA0Mzk0ZWY4ZGUzYjJmYjk2NDlkYjI4NDc4NDhkNDc2ZDIyNTU2NWIzIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2FjY291bnRpbmctcHJvdG9jb2wuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI3YzBiMGYxOGUwOTM2NjJhZDk4NTE3OGI3Mzc0MWZlODZlN2MxMDM3OTk0YjQ0ZWFmOGM0MzhkYjY3YjY4ZDdhIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2V4cGVyaW1lbnRzL2Fsd2F5cy1kZWZhdWx0LmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIxNDdmNmY3NzM3ODZiMDc2MGFjZTMzNzc5ZmQ2MWFhOGNlZTMyMGY2NzkxNjU4YTI3NmEzNDRjM2Q2YzMyOWVlIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3R5cGluZ3MvZ2xvYmFscy5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiM2Q2NzE5MjA3YmY5YTg5NjQ0OTdjY2Y4NDVmNGI5OTVmNzEyMTZmMmU3Nzg0ZTk2MDJlYmY1ZjM0OWU2NGJkMCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9naXRwb2QtZmlsZS1wYXJzZXIuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYjk2MWQzMDUwMzJlMTU3YWI2ZTNiYmUzN2I0MWFjNGYxZDQzMGVjNTIxMzY3ZjBhOGYyMjhlYTNlOTdjMDIzNyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi93b3Jrc3BhY2UtY2x1c3Rlci5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI3ZTQ0MWFhNzNiMjRhYjk2MTRhNGEyMWI0ZTU1YmJkOTllMjA4N2NiOWMxMjcyMjZlNjBjM2EwYzQ0NmUxY2RjIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2xpY2Vuc2UtcHJvdG9jb2wuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImE1ZjFhNjVkODMzNzZlMDAzMzI4MjRlM2EzZDg4M2E2MTk5N2Y1MTc4MDljNTNhNTFkNDk1Nzc2YjFkNTMxMzIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9nYXJiYWdlLWNvbGxlY3RlZC1jYWNoZS5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYjRkNzZlMjU5ZDA0N2ZkYjE0NDkxNThiYjRkZWE3YTU2ZTJiMzI1MDhhNTE4MWE1NzY4N2Q4ZTI5NjI5MzQ4ZSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbmNyeXB0aW9uL2NvbnRhaW5lci1tb2R1bGUuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZWM3YWUzYTA1MGY5ZWM4MzY0NDhlZDc3ZTk0YmZkMmExNDUzMjcwZmZhNTA5NmFhZTVkNjg2ZDg1NDlmYjdlNyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9pbmRleC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJlMzA1YmI5NDY4MWE3MWYxNmNjODA3NTg2NjMxYWJjOGEwMWRkMTE3YTFjNzgwNTNlYzQ4ZWNiNmI0NGJkMmNmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3RlYW0tc3Vic2NyaXB0aW9uLXByb3RvY29sLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjUzM2NlNjY1OTQxOWMxM2RlZjM2YzVmYjZmMGNlNTAxYjEwOGJlYWVlYTJmMWZlNjQ0YTc3OWJiOWZiYTcxYWQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZXhwZXJpbWVudHMvYWx3YXlzLWRlZmF1bHQuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMTU0NTM1NTFkNzBiMjY3M2QwYjUzMGI5NzFjMTMzZDQ5ZmQ1MWVlMWVhMzFlMDZmMDMzYjRjMzI0MmUyMTdhMiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvaGFuZGxlci5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMTQzNzMwZDE3NzBjYjY0YzMzNjMxNDNmYjg4Njc4MzJlZTg4N2E0MDFiOGZiNTAzMDM0NjJjNDkxNmNiZTkxMiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2NhbmNlbGFibGUuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZjNiYWNiNjgyYzkwY2Y4MGVlYTIyZWViODc0MjkwOTkxMDMzNTBjYjNlNmVlOWFkYzM5ZmMxMDU5ODUzOGE5YiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9hdXRoLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjBmYTNhNDdhNjIzZmY2ZGI1OWY0ZTQ3NDI3NDI4OGVkMTM4MzdjYjk5NzQ0NWZkYTU0M2Q1ZWI4MmY0NGNiOGIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdHlwaW5ncy9nbG9iYWxzLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjU2YTgwZjA2NGZiMTA2YTA0NDNiNGViNWQwY2FhZGRlNDhhZjhiMGQzYjUwMWM5MjUwODk1NGI2NTg2Y2I2MjAiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9naXRwb2QtaG9zdC11cmwuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2NDc2ZTI5YjcyMWQwZjk4ZDkyYjE4OTIzZWFiYzU4MTZjM2NmZjY5Y2JiZWYzODM5MjlmNDliMDE5OTFmOTEwIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvcGFyc2Utd29ya3NwYWNlLWlkLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjFmMzM4NjA0ZDJiN2MwYzk5NzZkYzk1OGE1MDM5YTYxODk0NjEyMDQxYzVjY2U2NDM4MzE1ODI4Yjk5NTU5ZGIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9hbmFseXRpY3MuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI3ZTI0ZDAyYmUwYzZlMzA1MmY1ZDhhODgxMDI5Y2ExOGE2Njk3OGNjMDk3OTZlNGM5ZjQzMTdhN2ZkNGMwODJhIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2JpbGxpbmctbW9kZS5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJkNjlhZWRlNDIzNzRlZWFkZTZlMWY0MmI1OTM0N2YyODViNDExMzU2MDlmMTc2NTRjMmMwNjFjOGE2ZmEwZWU4IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvcmVwZWF0LmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImQ5OTA1OTE1Y2NhOTVhMTlmNTRmZGZlZGY3N2VkYjIxMjY1ZTYwNGZlOGJiNjU0ZmZmZTg3YjMyMzBlYTc4NzIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL3Byb3h5LWZhY3RvcnkuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZmZjN2I2YWJjYTA2M2VjMjVhMGJiNjIxOTdlZDJlOTQwMWUwZDhkMmI0NzFlODUwYjYxZmMyYTdjNjcwYWJlOSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3F1ZXVlLnNwZWMuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMWIxOWJhNWY2ZDk5M2ZjY2Q0N2VjNmE2Nzg4MDU1MzM2YTQyZTY5MjJmYTRjYmU4OWMyYjQ3NjVmMzIyMWIwYiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9leHBlcmltZW50cy90eXBlcy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIwNmJlYjY4YmY1MDMxZDk5MWU1YjE4YTJiMmU4N2M4NzU1YTI4OTZmNjY4MmY5MmJhZjJlYTU3OGQ2NDBkMTA4IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL21lc3NhZ2luZy9icm93c2VyL3dpbmRvdy1jb25uZWN0aW9uLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMzkyNjdlMjIyNzVkZTM1OTA3YTRlOTI4YTQ1NTdjNTQwMDM4MTUwNTM2ZDZkZDc2YjRjYzA5NGI4OTIxZDk2NCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2RhdGUtdGltZS5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMGIyZDNiZmRlOTk0NTgyNzkyY2JkZDczZDI0ZTkzZGE5YTNiNzNhMTFlZjhmNTM1Njc1ZDQzOTYwYWE2MGZiYyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9leHBlcmltZW50cy9hbHdheXMtZGVmYXVsdC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIxYTkyYjFmMWYzNjhiNWUzODQ5MTEyODIwMmViMzE3MzgwNWVjYmY4YjY0OGIzODkwMDkxZmFmM2M3ZTUwNjY4IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2Jsb2NrZWQtcmVwb3NpdG9yaWVzLXByb3RvY29sLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjBiOTA4OGM4ODkyMzQ1NzJmYjg0YTFkNzk3YmMzMjM3ZjBiZTAxZWY2MWY5ZWMzN2Q5YWQwYTc5OTcyNDgyZTciCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL2hhbmRsZXIuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNzI4N2M0ZTBhNDAxN2U5MDhjYjY2MDg4ZWFlNDNiZTJlZGVlM2JlMWIwMTBhZGIwMjM3NzM4NDMxMTk1MmJhZiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2RlZXAtcGFydGlhbC5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImI4YWRmYmNlYWU4ODQzMzkxY2IwY2Y2Y2Y2NjM3ZjNlMzdhMDAwZTY3ODcyYTE4MDllZDEyMDI5OTMyY2I4ZjEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9qYWVnZXItY2xpZW50LXR5cGVzLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI5ZDg3NWEzYzZmNDk3ZWQxZjllM2I5ODAwMTk0NWY4YmQxOTdiMTk5OWZiNmFkODdlMTc5ZDQ3N2QyMmZkNzgxIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL21lc3NhZ2luZy9ub2RlL2Nvbm5lY3Rpb24uZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMzU4YWVlYTY1ZmVkZTQxMGZiOWI3MDU2NThmM2Q5NDIwMDk4YTI0YTE1NTk3NzllMjgwYTVjYjI0ZDYzNDU0NyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9pbnN0YWxsYXRpb24tYWRtaW4tcHJvdG9jb2wuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYmE4MTI5MzBjMGEyMTQxM2I4ZGVhMjgzODliZmY5NmNjNTFmYWQ3MzQ5ZmVjMzQxODNmODUxNjBiNGI2ZjUyOCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2V2ZW50LmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOTkxNTcyNGM4ODQ0NGY3ODQwOWZiOGQ4YmYzZjk4OGY1NmFjYjdjNGJlMjc1ZmY4YzMxMmIxZDI3ODZhMGUyMyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9hbmFseXRpY3MuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZTlmNTI0YjM4ZTkzNTc0M2UxYWE3NzQ1MGRiYzJjMzZiMWExY2VkZDA2NDVlYWI4ZWY2YWM3N2YyOGI0ODM1OSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbmNyeXB0aW9uL2VuY3J5cHRpb24tZW5naW5lLnNwZWMuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNjAxMDM5ZGRiYjc2ZjJiNjliYTI0OWMxMjUyMWFiMjllNDdhYTk5MmM4ZWIwNWViMGUxNzczMTU3ZTlmODk4NyIKICAgICAgfQogICAgfQogIF0sCiAgInByZWRpY2F0ZSI6IHsKICAgICJidWlsZGVyIjogewogICAgICAiaWQiOiAiZ2l0aHViLmNvbS9naXRwb2QtaW8vbGVld2F5OjAuNy4zLTg1MzlkOTJAc2hhMjU2OjVmZjYwOGQwYWM0OWFlMzM2MDIxNGQ1NmExYjNlYjE1NjEzMDljYzMxZDNlNjJhNTdhMjgyZjRmZjVjMDE1ODgiCiAgICB9LAogICAgInJlY2lwZSI6IHsKICAgICAgInR5cGUiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dpdHBvZC1pby9sZWV3YXkvYnVpbGRAeWFybjo3IiwKICAgICAgImRlZmluZWRJbk1hdGVyaWFsIjogMCwKICAgICAgImVudHJ5UG9pbnQiOiAiY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2w6bGliIiwKICAgICAgImFyZ3VtZW50cyI6IFsKICAgICAgICAibGVld2F5IiwKICAgICAgICAiYnVpbGQiLAogICAgICAgICItLWRvY2tlci1idWlsZC1vcHRpb25zIiwKICAgICAgICAibmV0d29yaz1ob3N0IiwKICAgICAgICAiLS13ZXJmdD10cnVlIiwKICAgICAgICAiLWMiLAogICAgICAgICJyZW1vdGUiLAogICAgICAgICItLWNvdmVyYWdlLW91dHB1dC1wYXRoPS90bXAvdG1wLldSNlg1c05UcHoiLAogICAgICAgICItRHZlcnNpb249c2lkZGhhbnQtay1jb2RlLWFsbG93LWdpdGh1Yi1wcmVidWlsZHMtMTAzNTguMiIsCiAgICAgICAgIi1EcmVtb3ZlU291cmNlcz1mYWxzZSIsCiAgICAgICAgIi1EaW1hZ2VSZXBvQmFzZT1ldS5nY3IuaW8vZ2l0cG9kLWNvcmUtZGV2L2J1aWxkIiwKICAgICAgICAiLURsb2NhbEFwcFZlcnNpb249dW5rbm93biIsCiAgICAgICAgIi1EU0VHTUVOVF9JT19UT0tFTj1YM2JOYXRZUHVkSUpjQ3o2a0ZsVG41NHBydW1RQXFHaCIsCiAgICAgICAgIi1EUkVQTElDQVRFRF9BUElfVE9LRU49ZGVhMTBjOGZiNTg3NTVmZDUxYWI5OTZjY2JhYWI4OTYyZjVlOTA2YWI0NDEyYWU2Nzc5OTZlYTc0ZTg1YWUzNSIsCiAgICAgICAgIi1EUkVQTElDQVRFRF9BUFA9Z2l0cG9kIiwKICAgICAgICAiLURucG1QdWJsaXNoVHJpZ2dlcj1mYWxzZSIKICAgICAgXSwKICAgICAgImVudmlyb25tZW50IjogewogICAgICAgICJtYW5pZmVzdCI6IHsKICAgICAgICAgICJhcmNoIjogImFtZDY0IiwKICAgICAgICAgICJnbyI6ICJnbyB2ZXJzaW9uIGdvMS4xOS4yIGxpbnV4L2FtZDY0IiwKICAgICAgICAgICJub2RlIjogInYxNi4xOC4xIiwKICAgICAgICAgICJvcyI6ICJsaW51eCIsCiAgICAgICAgICAieWFybiI6ICIxLjIyLjE5IgogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJtZXRhZGF0YSI6IHsKICAgICAgImJ1aWxkU3RhcnRlZE9uIjogIjIwMjMtMDEtMjBUMTc6NDI6MzEuMzk4MjgxOTU3WiIsCiAgICAgICJidWlsZEZpbmlzaGVkT24iOiAiMjAyMy0wMS0yMFQxNzo0Mzo1NC43NTQ0OTYyMzVaIiwKICAgICAgImNvbXBsZXRlbmVzcyI6IHsKICAgICAgICAiYXJndW1lbnRzIjogdHJ1ZSwKICAgICAgICAiZW52aXJvbm1lbnQiOiBmYWxzZSwKICAgICAgICAibWF0ZXJpYWxzIjogdHJ1ZQogICAgICB9LAogICAgICAicmVwcm9kdWNpYmxlIjogZmFsc2UKICAgIH0sCiAgICAibWF0ZXJpYWxzIjogWwogICAgICB7CiAgICAgICAgInVyaSI6ICJnaXQraHR0cHM6Ly9naXRodWIuY29tL2dpdHBvZC1pby9naXRwb2QuZ2l0IiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICIyNDMyNjlhNWIxNzMyMTNmYmNjODJhMmM0Y2YzOTlkNTEyMWM5NzFhIgogICAgICAgIH0KICAgICAgfQogICAgXQogIH0KfQ==","signatures":null}
|
|
2
|
+
|